資源描述:
《usb協(xié)議架構(gòu)及驅(qū)動架構(gòu)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、1.USB協(xié)議1.1USB主機系統(tǒng)??????在USB主機系統(tǒng)中,通過根集線器與外部USB從機設(shè)備相連的處理芯片,稱為USB主機控制器。USB主機控制器包含硬件、軟件和固件一部分。1.2USB設(shè)備系統(tǒng)???????USB設(shè)備按功能分為兩部分:集線器(Hub)和功能部件。從下圖可知,主機通過根集線器連接到各種外圍設(shè)備(集線器和功能部件)。1.3主機和設(shè)備之間通信模型???????????????????????????????????????????????主機與設(shè)備之間的通信模型???????上圖展示了USB主機和USB設(shè)備之間的數(shù)據(jù)傳輸過程。在設(shè)備端,USB設(shè)備將非USB格式的數(shù)據(jù)進行打包
2、處理,轉(zhuǎn)換成USB格式的數(shù)據(jù)包,然后傳遞到鏈路層,經(jīng)過硬件處理、傳遞到物理層,由物理層通過PHY以數(shù)據(jù)流的形式傳輸?shù)街鳈C。???????USB主機在USB設(shè)備和USB主機之間發(fā)起的傳輸過程,穩(wěn)為事務(wù)。每次事務(wù)以2到3個數(shù)據(jù)包的形式進行USB總線傳輸。每個數(shù)據(jù)包包含2到3個步驟:??????1)USB主機控制器向USB設(shè)備發(fā)出命令??????2)USB控制器和USB設(shè)備之間傳遞讀寫請求,其方向取決于第一部分的命令是讀還是寫??????3)握手信號。???????????USB主機控制器向USB設(shè)備發(fā)送事務(wù)類型請求,通過分組標(biāo)識符來進行識別。?1.4USB分組標(biāo)識???????主機和設(shè)備之間進行
3、操作,通過分組標(biāo)識(PID)來進行傳輸。數(shù)據(jù)包傳輸格式一般由:PID、數(shù)據(jù)/控制信息、CRC校驗碼組成。???????常見的PID主要包括令牌、數(shù)據(jù)、握手等類型組成。PID碼以特定的方式組成,如下表所示:?????PID分組碼是數(shù)據(jù)傳輸流程中的重要元素。無論硬件還是軟件,都要對PID分組碼進行分析,從而做出正確響應(yīng)。USB主機和設(shè)備嚴(yán)格按照PID分組碼信息進行信息交互。1.5數(shù)據(jù)包傳輸模式?????當(dāng)USB設(shè)備連接到集線器,集線器狀態(tài)將發(fā)生相應(yīng)的變化,并將狀態(tài)變化信息傳遞給USB主機。USB主機通過根集線器向USB設(shè)備發(fā)送命令,獲取USB設(shè)備的各種信息,包含USB設(shè)備傳輸類型、ID號、Pro
4、duct、USB速度等信息。?????USB主機和USB設(shè)備之間的數(shù)據(jù)傳輸共有四種類型:控制傳輸、批量傳輸、中斷傳輸和同頻傳輸。與之對應(yīng),USB主機和USB設(shè)備之間有四種事務(wù):控制事務(wù)、批量事務(wù)、中斷事務(wù)和同步事務(wù)。1.5.1批量(Bulk)傳輸???作用:主要用于非實時性傳輸,數(shù)據(jù)包較大而延時要求較低。???特點:數(shù)據(jù)傳輸準(zhǔn)備即可,采用批量傳輸模式的USB從機設(shè)備,如U盤???數(shù)據(jù)傳輸分三個階段:???a)?令牌階段:主機發(fā)送請求,USB設(shè)備依據(jù)請求PID來判斷IN或OUT傳輸???b)?數(shù)據(jù)傳輸階段:依據(jù)令牌階段的IN或OUT傳輸,來決定數(shù)據(jù)傳輸為DATA0或DATA1來進行數(shù)據(jù)傳輸??
5、?c)?握手階段:接收信息的一方發(fā)送ACK信號以表示接收成功;若為NAK,表示發(fā)送失敗;STALL表示不可預(yù)知的錯誤?1.5.2控制(Control)傳輸??????作用:USB傳輸過程必須支持的傳輸模式。USB主機為了獲取設(shè)備描述符、ID、Product等信息,向USB設(shè)備發(fā)送相應(yīng)的PID命令。??????特點:唯一可以進行IN/OUT傳輸?shù)膫鬏斈J?。?shù)據(jù)寬度:控制傳輸方式可以以8、16、32或64字節(jié)的數(shù)據(jù)進行傳輸,這取決于設(shè)備的傳輸速度。??????USB主機和設(shè)備之間必須支持控制傳輸,通過端點0進行數(shù)據(jù)傳輸??刂苽鬏敺譃榱钆?、數(shù)據(jù)傳輸和握手階段。?1.5.3中斷傳輸事務(wù)作用:按照一定
6、時刻輪詢設(shè)備是否有中斷傳輸請求特點:查詢頻率取決于端點的模式結(jié)構(gòu),從1到255ms不等中斷傳輸主要用于實時性要求非常高的從機設(shè)備,如鍵盤操縱桿和Mouse等傳輸過程也分為令牌階段、數(shù)據(jù)傳輸和握手階段?1.6USB描述符??USB協(xié)議中共定義了以下四種描述符:??1)設(shè)備描述符??2)配置描述符??3)接口描述符??4)端點描述符??其關(guān)系如下圖所示:1.6.1設(shè)備描述符?????每個USB設(shè)備都有一個唯一的設(shè)備描述符,如下表所示:1.6.2配置描述符??每個USB設(shè)備都有默認的配置描述符,支持至少一個接口,每個配置描述符如下表:?1.6.3接口描述符??設(shè)備應(yīng)至少支持一個接口,如:塊傳輸數(shù)據(jù)
7、接口,部分設(shè)備可能支持其它的接口。復(fù)合設(shè)備可以支持額外接口,以支持音頻和視頻功能。標(biāo)準(zhǔn)中并沒有定義此類接口。接口可能有多個可選設(shè)置,主機將會檢查每個可選的設(shè)置。1.6.4端點描述符??每個設(shè)備至少支持控制端點0。USB設(shè)備應(yīng)該支持三類端點:控制端點、輸入端點和輸出端點。?2.OTG協(xié)議???????OTG設(shè)備采用Mini-AB插座,相對于傳統(tǒng)的USB數(shù)據(jù)線,Mini-AB接口多了一根數(shù)據(jù)線ID,ID線是否接入