USB底層協(xié)議
USB它是串行總線,所以數(shù)據(jù)在總線上是一位一位傳輸?shù)模葌鬏斪畹臀粩?shù)據(jù),最后傳輸最高位數(shù)據(jù)。對(duì)于多個(gè)字節(jié)的數(shù)據(jù)傳輸呢,采用的是小端格式,即先傳輸?shù)妥止?jié)數(shù)據(jù),最后傳輸高字節(jié)數(shù)據(jù)。
在USB中,數(shù)據(jù)是以包為單位進(jìn)行傳輸?shù)模械陌急仨氁許YNC字段開(kāi)始,以EOP(End-of-Packet)結(jié)尾。在SYNC字段之后,緊跟著的是包標(biāo)識(shí)符(PID),PID為一個(gè)字節(jié),其中4位用于定義包的類型,另外4位是用來(lái)校驗(yàn)PID的,PID格式如下:

在USB中,定義了四種類型的包,令牌包、數(shù)據(jù)包、握手包和特殊包,包類型詳細(xì)定義如下:

在令牌包的PID字段之后,還包含地址域,地址就包括設(shè)備地址和端點(diǎn)地址,設(shè)備地址共7位,總共可尋址128個(gè)地址,但是地址0是作為默認(rèn)設(shè)備地址的,所以說(shuō),USB系統(tǒng)中,最多只能同時(shí)連接127個(gè)設(shè)備。端點(diǎn)地址共4位,可尋址16個(gè)端點(diǎn)。
在USB包最后,還包含5位的CRC檢驗(yàn)碼,CRC校驗(yàn)碼只對(duì)PID后面的數(shù)據(jù)進(jìn)行校驗(yàn),不對(duì)PID進(jìn)行校驗(yàn),因?yàn)镻ID本身就包含4位校驗(yàn)碼。
包格式
令牌包格式
令牌包格式定義如下:

這里的令牌特指IN、OUT、SETUP令牌,而SOF包格式定義如下:

令牌包實(shí)例如下:


數(shù)據(jù)包格式
數(shù)據(jù)包包含包標(biāo)識(shí)符(PID)和0到多個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)包類型總共四種,DATA0、DATA1、DATA2和MDATA。數(shù)據(jù)包格式定義如下:

數(shù)據(jù)包實(shí)例如下:

上圖為SETUP請(qǐng)求數(shù)據(jù)包,用于讀取設(shè)備的設(shè)備描述符。
握手包格式
握手包有三種ACK、NAK和STALL,其中ACK表示數(shù)據(jù)傳輸完成并且無(wú)錯(cuò)誤,NAK表示設(shè)備不能接收數(shù)據(jù)或者沒(méi)有數(shù)據(jù)上傳,STALL表示設(shè)備不能進(jìn)行數(shù)據(jù)傳輸。而NYET和ERR握手包只針對(duì)高速設(shè)備,表示設(shè)備沒(méi)有準(zhǔn)備好或者出錯(cuò)。握手包格式定義如下:

ACK握手包實(shí)例如下:

-
usb
+關(guān)注
關(guān)注
60文章
8440瀏覽量
284521 -
信號(hào)處理
+關(guān)注
關(guān)注
49文章
1143瀏覽量
105100 -
串行總線
+關(guān)注
關(guān)注
1文章
187瀏覽量
31603
原文標(biāo)題:不用再為USB底層協(xié)議犯難了
文章出處:【微信號(hào):eet-china,微信公眾號(hào):電子工程專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
詳解芯片制造中的金屬中間層鍵合技術(shù)
是德示波器DSOX1202A與電腦的四種連接方式及操作步驟詳解
WTK6900FC鼾聲識(shí)別芯片在四種助眠場(chǎng)景中的應(yīng)用
一圖看懂綠電直連的四種玩法
從入門到精通:基于開(kāi)源代碼的BLE四種模式開(kāi)發(fā)詳解
全網(wǎng)最全CSA3412,BCT4340,VL162,MCU/ USB3.1 正反插10G bps四種解決方案
單模光纖線有幾種類型
SC、LC、FC和ST四種類型中哪類價(jià)格最貴
芯片制造的四大工藝介紹
這4個(gè)高速風(fēng)筒方案,哪個(gè)容易被淘汰?
HarmonyOS基礎(chǔ)組件:Button三種類型的使用
RDMA簡(jiǎn)介3之四種子協(xié)議對(duì)比
藍(lán)牙廣播包
變頻器主要支持哪四種模式?有什么區(qū)別?
芯片封裝中的四種鍵合方式:技術(shù)演進(jìn)與產(chǎn)業(yè)應(yīng)用
在USB中,定義了這四種類型包
評(píng)論