我學(xué)習(xí)usb設(shè)計(jì)的歷程

我學(xué)習(xí)usb設(shè)計(jì)的歷程

ID:12456277

大?。?6.50 KB

頁數(shù):6頁

時(shí)間:2018-07-17

我學(xué)習(xí)usb設(shè)計(jì)的歷程_第1頁
我學(xué)習(xí)usb設(shè)計(jì)的歷程_第2頁
我學(xué)習(xí)usb設(shè)計(jì)的歷程_第3頁
我學(xué)習(xí)usb設(shè)計(jì)的歷程_第4頁
我學(xué)習(xí)usb設(shè)計(jì)的歷程_第5頁
資源描述:

《我學(xué)習(xí)usb設(shè)計(jì)的歷程》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、[zz]我學(xué)習(xí)USB設(shè)計(jì)的歷程-獻(xiàn)給即將學(xué)習(xí)USB和對此感興趣的朋友作者:duoduohttp://www.ifelec.com???最初想學(xué)習(xí)USB的原因在于當(dāng)時(shí)非常非常想有一臺通用編程器,商用的編程器雖然功能好,但是價(jià)格昂貴,僅僅為了編程幾種芯片就去買一個(gè)似乎很可惜(我現(xiàn)在已經(jīng)買了編程器了:))。于是想自己做一個(gè)很簡單的,用串口?并口?一想到要加個(gè)又大又笨的外置電源就不喜歡,用USB,不錯(cuò),有總線供電,這點(diǎn)很吸引人,就是當(dāng)時(shí)我對USB一竅不通,那就找資料看看吧。???當(dāng)時(shí)USB技術(shù)剛剛興起,USB器件在電子市場上還是很少見,在網(wǎng)上逛了很多天,最后決定用Phi

2、lips公司的PDIUSBD12作為USB控制器,主要原因是Philips提供的技術(shù)文檔比較詳細(xì)??戳薖hilips公司的相關(guān)資料,似乎硬件電路并不難,于是自己畫了原理圖,檢查了N遍,應(yīng)該沒問題了,然后制PCB,初步硬件調(diào)試,一切都很順利。接下來就是考慮軟件怎么寫。一提到軟件,這下頭大了??戳藥滋霵DIUSBD12的數(shù)據(jù)手冊,天啊,這么多稀奇古怪的寄存器都是些什么呀,見鬼。看來不了解USB的協(xié)議根本就無法去對PDIUSBD12進(jìn)行程序設(shè)計(jì)。于是只好去翻USB1.1規(guī)范,那可是200多頁的英文哪,又不是74系列的手冊那樣幾個(gè)參數(shù)一看就OK了,好在我的專業(yè)英語還不算

3、太差,硬著頭皮看吧。當(dāng)時(shí)看了近一個(gè)月,簡直象進(jìn)了迷宮一樣,根本搞不清東西南北。當(dāng)時(shí)書店關(guān)于USB的書只有一本國防科大的USB總線接口開發(fā)指南,買回來回來仔細(xì)一看,天,簡直是英文USB1.1規(guī)范的中文簡化版,有些英文的術(shù)語一翻譯過來怎么著看都不舒服,而且省略了很多部分,一樣看的不得其門而入,于是扔掉了書(冤枉國防科大的這本書了,后來講USB的書滿天飛,我都翻過,不敢說它們都是垃圾,但是我認(rèn)為國大的書的編者言語之間對USB確實(shí)還是了解很深的,其他大多數(shù)書的編者/譯者,有的竟然能把pullupresistorofcollector翻譯成“向上電阻收集器”,嘿嘿,我就不

4、多說了),繼續(xù)研究E文。當(dāng)時(shí)另外一個(gè)朋友在我的極力鼓吹下也跟我一起沒日沒夜熱情高漲地研究了很多天,可惜后來沒有修成正果:)。當(dāng)時(shí)身邊雖然博士教授們一大堆,可是沒有人研究過USB,只好裝上獵狗的鼻子,去網(wǎng)上四處搜索,倒是有一些線索,可是沒有很有用的。???這時(shí)一個(gè)網(wǎng)友給了我一份傳說是Philips的C51固件代碼,我大喜過望,興沖沖編譯一下,天,無數(shù)的Error。硬著頭皮去改,發(fā)現(xiàn)源文件殘缺不全,注釋也非常的少,一點(diǎn)點(diǎn)地自己摸索著把代碼補(bǔ)上來,這期間我把代碼和USB規(guī)范結(jié)合著看,模模糊糊有些明白了,就這樣磕磕絆絆地又搞了一個(gè)月,熬了無數(shù)通宵,程序終于編譯通過了。當(dāng)

5、我顫抖著手把我的板插上USB電纜的時(shí)候,奇跡竟然出現(xiàn)了,硬盤一陣狂響之后,Windows赫然蹦出一個(gè)發(fā)現(xiàn)新硬件的對話筐。MyGod!我成功了也!!歡喜還沒過去,裝上Philips的驅(qū)動程序,想看看我的板上的開關(guān)呀、燈呀的動一動,這才發(fā)現(xiàn)我的硬件和Philips的不完全一樣,所以和Philips的應(yīng)用程序不能完全兼容,雖然驅(qū)動裝上了,板子上的燈啊、開關(guān)呀卻無法控制。看來得改改程序了。???這一改程序才知道自己現(xiàn)在對USB協(xié)議不過僅僅是略懂了一些皮毛,當(dāng)按照自己的理解去做了修改以后,PC根本就不能正確識別出我的設(shè)備。然后我明白,沒有真正理解USB協(xié)議,就不會真正地寫

6、出自己的程序,更談不上開發(fā)USB接口產(chǎn)品。好在這一段時(shí)間的摸索得到了一些經(jīng)驗(yàn),對USB也有了一些基本正確的認(rèn)識,精神上受到了一些鼓舞,于是我繼續(xù)研究USBE文規(guī)范。一個(gè)月過去了,又一個(gè)月過去了,我感覺雖然理解了很多了,但是有些關(guān)鍵的地方仍然沒有真正透徹理解,似乎只差薄薄的一層半透明的紙了,只要稍稍有人點(diǎn)撥一下就能頓悟了,可惜仙人沒有出現(xiàn),因此我的程序始終存在問題,此時(shí)我真的有些絕望了,USB開發(fā)暫時(shí)擱置。???不久我到一家公司從事USB方面的工作,接觸到了一種SOC的USB程序設(shè)計(jì)。生存的壓力使我不得不努力去克服對USB通訊的心理恐懼,仔細(xì)研讀USB協(xié)議,此時(shí)U

7、SB的相關(guān)資料也漸漸豐富了,并且現(xiàn)在手邊有了邏輯分析儀、高檔示波器等設(shè)備,我甚至用邏輯分析儀仔細(xì)捕捉過USB通訊的協(xié)議實(shí)現(xiàn)的物理過程,也用VerilogHDL寫過USBhost的行為仿真模型提供給FPGA系統(tǒng)模擬。兩個(gè)月以后,我終于對USB的理解有了質(zhì)的飛躍,對USB傳輸數(shù)據(jù)流過程已經(jīng)很熟悉,對那片SOC,我可以僅用不到600字節(jié)的代碼使PC發(fā)現(xiàn)新硬件。???后來我撿起從前的那塊PDIUSBD12USB板,按照自己對USB的理解完全重新做了程序設(shè)計(jì),這次非常順利,完成PC主機(jī)對USB設(shè)備的枚舉過程已經(jīng)是輕松的事情了。但是要完全完成一個(gè)USB設(shè)備的設(shè)計(jì),這只是走過

8、了第一個(gè)階段,下一個(gè)艱苦

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。