當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式云IOT技術(shù)圈
[導(dǎo)讀]眾所周知,USB別看就只有四條線,但只是對(duì)于眼睛看到的來(lái)講,確實(shí)它的構(gòu)造就很簡(jiǎn)單。 ? ? 但是USB協(xié)議本身就是很復(fù)雜的一樣?xùn)|西,但其實(shí)把關(guān)系搞明白了也不復(fù)雜,畢竟工作不可能全部都用的得到,所以,只要關(guān)心我們需要知道的那部分就行了。 ? ? ?學(xué)習(xí)可參考

眾所周知,USB別看就只有四條線,但只是對(duì)于眼睛看到的來(lái)講,確實(shí)它的構(gòu)造就很簡(jiǎn)單。


    但是USB協(xié)議本身就是很復(fù)雜的一樣?xùn)|西,但其實(shí)把關(guān)系搞明白了也不復(fù)雜,畢竟工作不可能全部都用的得到,所以,只要關(guān)心我們需要知道的那部分就行了。

     學(xué)習(xí)可參考的書籍<<圈圈帶你玩USB>>,<<USB系統(tǒng)原理及主從機(jī)設(shè)計(jì)>>。

     這兩本書,第一本比較基礎(chǔ),看看就行了,但很多概念寫得不是很全面,也有錯(cuò)誤理解的地方。第二本,寫得很好,很多概念詳細(xì)解釋,比如說(shuō)學(xué)習(xí)重點(diǎn)的部分:傳輸、事務(wù)、包、域、描述符都講得很詳細(xì)。

     USB的6種狀態(tài):接入態(tài)、電源態(tài)(供電態(tài))、缺省態(tài)、地址態(tài)、配置態(tài)、掛起態(tài)。

     USB的6種狀態(tài)其實(shí)是一種暫態(tài),那它們分別是怎樣的,來(lái)解釋下:

     (1)接入態(tài):

     主機(jī)通過(guò)上拉電阻接在D+或者D-上來(lái)判定該設(shè)備是否是全速或者低速設(shè)備。因?yàn)橹鳈C(jī)端在沒(méi)有任何外設(shè)接進(jìn)來(lái)的時(shí)候,D+和D-分別接了兩個(gè)15K歐的下拉電阻,當(dāng)有設(shè)備接上來(lái)的時(shí)候,也就是有上拉電阻過(guò)來(lái)了,這時(shí)候,主機(jī)端通過(guò)識(shí)別上拉電阻在D+和D-來(lái)取決它是否為低速設(shè)備,在這個(gè)過(guò)程中,會(huì)進(jìn)行分壓,使傳輸線有驅(qū)動(dòng)能力。

    

     (2)電源態(tài)(供電態(tài))

     就是給設(shè)備供電,分為設(shè)備接入時(shí)的默認(rèn)供電值,配置階段后的供電值(按數(shù)據(jù)中要求的最大值,可通過(guò)編程設(shè)置),在配置描述符中可以配置最大電流。

     (3)缺省態(tài)

      USB在被配置之前,通過(guò)地址0與主機(jī)進(jìn)行通信。例如:

    

     (4)地址態(tài)

     經(jīng)過(guò)了配置,USB設(shè)備復(fù)位后,就可以按主機(jī)分配給它的唯一地址來(lái)與主機(jī)通信,這種狀態(tài)就是地址態(tài);例如:

    

    (5)配置態(tài)

    通過(guò)各種標(biāo)準(zhǔn)的USB請(qǐng)求命令來(lái)獲取設(shè)備的各種信息,并對(duì)設(shè)備的某此信息進(jìn)行改變或設(shè)置。例如:

    

    (6)掛起態(tài)

    總線供電設(shè)備在3ms內(nèi)沒(méi)有總線動(dòng)作,即USB總線處于空閑狀態(tài)的話,該設(shè)備就要自動(dòng)進(jìn)入掛起狀態(tài),在進(jìn)入掛起狀態(tài)后,總的電流功耗不超過(guò)280UA。

     USB協(xié)議涉及到的概念主要有:傳輸、事務(wù)、包、域,它們的關(guān)系又是怎么樣的?

     USB的傳輸主有四種:控制傳輸(目前工作用到),同步傳輸,中斷傳輸(目前工作用到),批量傳輸。傳輸是USB中最大的單位,每種傳輸都有不同的事務(wù)來(lái)組成.

     USB的事務(wù)主要有三種:輸入事務(wù)(IN)、輸出事務(wù)(OUT)、設(shè)置事務(wù)(SETUP),每種事務(wù)又是由各種各樣的包來(lái)組成。

     USB的包(宏觀上來(lái)說(shuō))有四種:令牌包、數(shù)據(jù)包、握手包、特殊包。包是USB傳輸數(shù)據(jù)的基本單位。每種類型的包都會(huì)有不同的域來(lái)構(gòu)成。

     USB的域是USB傳輸中最小的單位,域主要分為7類,分別是:同步域(SYNC)、標(biāo)識(shí)域(PID)、地址域(ADDR)、端點(diǎn)域(ENDP)、幀起始域(SOF)、數(shù)據(jù)域(DATA)、CRC校驗(yàn)域(CRC)。

     來(lái)看一張我畫的圖,再怎么覺(jué)得難的東西,也許你看完這張圖以后,也就知道自己該怎么去學(xué)習(xí)了,這張圖是我使用USB邏輯分析勾出來(lái)的圖,然后加上自己學(xué)習(xí)的總結(jié),這就是一個(gè)USB中傳輸?shù)倪^(guò)程,相信你已經(jīng)明白了USB中傳輸、事務(wù)、包、域之間的關(guān)系了吧?是不是很簡(jiǎn)單?



說(shuō)了這么多,那USB又是怎么來(lái)識(shí)別設(shè)備的呢?通過(guò)枚舉。   

   

     枚舉將是整個(gè)USB學(xué)習(xí)的重中之重,枚舉就是主機(jī)從設(shè)備讀取各種描述符信息,這樣主機(jī)就可以根據(jù)這些信息加載合適的的驅(qū)動(dòng)程序,從而知道是什么類型的設(shè)備,如何進(jìn)行通信等等。而主機(jī)要獲取設(shè)備相關(guān)的信息就必須要發(fā)起請(qǐng)求,請(qǐng)求主要有:USB標(biāo)準(zhǔn)請(qǐng)求(有一定的格式組成)、HID類請(qǐng)求等。




     說(shuō)到描述符,USB有標(biāo)準(zhǔn)描述符,分別是:設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符、字符串描述符

(可選),每個(gè)設(shè)備都必須要支持標(biāo)準(zhǔn)描述符,還有HID描述符,報(bào)告描述符,物理描述符等。

     

    






   下面就是鼠標(biāo)的枚舉過(guò)程,使用Bus Hound捕獲,具體怎么使用怎么看數(shù)據(jù)就不說(shuō)了。

      

     以上標(biāo)紅字的部分是分析USB協(xié)議的基礎(chǔ)知識(shí),可以說(shuō),沒(méi)了這些知識(shí),別談分析了,壓根你就看不懂。

     OK了,以后學(xué)習(xí)我再分享分享我的學(xué)習(xí)過(guò)程和學(xué)習(xí)想法。

     本人菜雞一枚,有說(shuō)錯(cuò)的理解錯(cuò)的望各位大佬指教。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉