微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 我学习USB设计的历程

我学习USB设计的历程

时间:12-14 来源:互联网 点击:
封装,处处可以看到DDK的影子,掌握DriverStudio其实也同样需要对DDK有较多的理解。我选择了Windows DDK作为驱动设计工具,虽然我还没有计划做一个专业级的驱动程序设计者,但是在这方面多做一些深入的理解决没有坏处。DDK有很多驱动程序的例子,其中有一个bulkusb的例子,仔细看过之后,其实把它修改一下就可以变成自己设备的驱动,这也正是Microsoft推荐驱动设计者开发设备驱动程序的方法。DDK确实过于博大精深,我想,能够达到自己的设备驱动可以正常工作这个目的就可以了,没有必要搞清楚驱动程序设计中的每一个细节。当时我也曾经花了很大的力气才终于达到这个目的,其中的艰难到读者自己去经历的时候就能够体会了(你可能会把Microsoft号称非常稳定的Win2K整的死去活来:))。好,现在是最后一个阶段了:设计应用程序。这个应该是整个设计中最轻松的阶段了,通过驱动程序控制硬件设备,VC++是很好的工具,当然这个并不是每个人都必然的选择。当写完最后一句代码,运行程序,看到设备在鼠标键盘点动之间随心所欲受你的控制的时候,那种令人飘然的成就感真的是难以形容。

现在,带USB接口的器件很多了,而且有很多已经是USB2.0 High speed设备了。我有幸见识了许多USB器件的应用,感觉不论是USB full speed还是High speed,也不管这个器件到底只是一个USB控制器还是复杂的SOC,USB通讯部分其实大家都是大同小异的。现在USB OTG技术经过几年有些沉默的发展之后终于柳暗花明,开发USB OTG设备应该是USB通讯技术下一阶段的热点。其间还曾出现了一类USB Host器件,算是弥补USB1.1和USB OTG之间暂时的空白吧。

也许我悟性太差,学习USB的历程真的是非常艰难,还有许多朋友也许会有和我一样的痛苦,我把自己的USB学习经历写出来,希望能够给后来者一些有益的启示,同时也希望能够给大家一些鼓舞:再大的困难,只要肯努力,也是能够克服的;USB通讯完全不同RS232,要能够硬着头皮看E文,要有懂USB的朋友指点,要有很好的参考代码,要自己肯动脑筋去思考,要有强烈的兴趣和恒心,这样的话,即使时间稍长一点,最终你也是能掌握USB的。

我不希望我的经历让想学习USB的朋友感到恐怖,在你学习USB之前,先要给自己定一个将要达到的标准:如果你希望自己能够完全掌握USB通讯技术,达到能够设计USB physical和SIE部分的水平,那麽这就是USB硬件设计的至高境界了,不过只有IC设计公司集中若干人力花费若干年时间投入若干经费才能够做得了的。如果你想掌握硬固件编程、驱动程序设计,那么你需要准备吃点苦;如果你不需要关心USB通讯的具体过程,只是固件应用中和底层简单的进行数据交换,或者是PC应用程序设计,呵呵,恭喜了,你会发现USB通讯其实很简单。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top