USB通用串行總線_第1頁
USB通用串行總線_第2頁
USB通用串行總線_第3頁
USB通用串行總線_第4頁
USB通用串行總線_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、-. z第7章USB通用串行總線7.1概述7.1.1 USB開展過程通用串行總線USBUniversal Serial Bus由paq、IBM 、Intel、Microsoft、NEC等公司于1994年聯(lián)合提出。1996年發(fā)布USB1.0標(biāo)準(zhǔn)1998年發(fā)布USB1.1標(biāo)準(zhǔn)兩種傳輸速度:1.5Mdbs低速、12Mdbs全速熱拔插和即插即用最多可同時連接127臺設(shè)備1999年發(fā)布USB2.0標(biāo)準(zhǔn)1最高傳輸速度達(dá)480Mdbs高速,是USB1.1的40倍 2向下兼容USU1.17.1.2 USB的設(shè)計目標(biāo)及特點設(shè)計準(zhǔn)則:1易于擴(kuò)大2協(xié)議靈活3支持音頻/視頻等實時數(shù)據(jù)的傳輸4提供價格低廉的標(biāo)準(zhǔn)接口US

2、B的特點:1速度快2設(shè)備安裝和配置容易3易于擴(kuò)展4使用靈活5可總線供電6本錢低7.1.3 USB的接口特性 1.USB的輸出. 差分驅(qū)動,支持半雙工方式. 電纜阻抗圍: 76.5 103.5. 驅(qū)動器輸出阻抗匹配電阻:28 44. 所有USB設(shè)備的上游端口,按設(shè)備的最高速定義。 2.USB的接收. 差分接收7.1.4 USB信號的定義包開場數(shù)據(jù)線從閑置狀態(tài)跳變到K態(tài)包完畢SE0態(tài)保持2位的傳輸時間后之后,保持1位傳輸時間的J態(tài)。SE0態(tài)保持2位的傳輸時間后之后,保持1位傳輸時間的J態(tài)。斷開SE0 保持SE0態(tài)持續(xù)2.5us以上SE0 保持SE0態(tài)持續(xù)2.5us以上連接閑置狀態(tài)持續(xù)時間2ms閑置

3、狀態(tài)持續(xù)時間2.5us復(fù)位D+和D-2.8v的持續(xù)時間 10msD+和D-0.3v的持續(xù)時間 2.5us7.1.5 數(shù)據(jù)的編碼與解碼NRZI的編碼方法不需獨立的時鐘信號和數(shù)據(jù)一起發(fā)送,電平跳變代表0,沒有電平跳變代表1。在數(shù)據(jù)被編碼前,在數(shù)據(jù)流中每6個連續(xù)的1后插入1個0,從而強(qiáng)迫NRZI碼發(fā)生變化,接收端必須去掉這個插入的0。 位填充和NRZI編碼如果接收端連續(xù)接收到7個邏輯1,則認(rèn)為發(fā)生了位填充錯誤。7.2USB系統(tǒng)構(gòu)造7.2.1 USB總線的拓?fù)錁?gòu)造. 階梯式星型拓?fù)錁?gòu)造HD DDDDHOST層1層2層3層4USB的物理連接 USB的邏輯連接 . 管道:HOST軟件與USB設(shè)備端口間的數(shù)

4、據(jù)傳輸通道。. 一個USB設(shè)備可有多個管道;設(shè)備的一個端口可建立一個輸入管道和一個輸出管道。. 各管道之間相互獨立。7.2.2 USB主機(jī)一個USB系統(tǒng)只有一個主機(jī),主機(jī)的USB接口稱為USB控制器。USB控制器無論對主機(jī)還是USB設(shè)備,都必須具備如下的主要功能:1. 幀產(chǎn)生USB系統(tǒng)采用幀同步傳輸。. 控制器將總線時間化分為幀,每幀持續(xù)時間:1ms. 每1ms都以SOFStart Of-Frame令牌開場,標(biāo)識新的一幀開場。在SOF之后,總線處于工作狀態(tài),主機(jī)與USB設(shè)備開場傳輸數(shù)據(jù),傳輸完成,進(jìn)入幀完畢間隔區(qū)EOF,總線處于空閑狀態(tài)。等待下一幀的開場。. SOF以播送的方式,發(fā)到所有的全速

5、設(shè)備,每隔1ms發(fā)送一次。. 在幀完畢間隔區(qū)EOF間,所有的傳輸都被制止或暫停。. 高速微幀的持續(xù)時間為125us,每1ms可產(chǎn)生8個微幀SOF令牌。 EOF間隔 SOF SOF SOF 幀N-1 幀 N 幀 N+1 1ms 1ms 125us2. 傳輸過失控制. 超時錯。目標(biāo)端口沒有反響。. 協(xié)議錯。位插入錯出現(xiàn)連續(xù)7個1,無效握手包,錯誤的包標(biāo)志等。. 數(shù)據(jù)喪失錯或無效傳輸錯。傳輸時間超過EOF1ms、CRC校驗等對于批傳輸、命令傳輸和中斷傳輸,上述各類型的錯誤出現(xiàn)3次后,終止傳輸。同步傳輸則不受此限制。3. 狀態(tài)處理控制器負(fù)責(zé)管理和報告USB系統(tǒng)的各種狀態(tài),狀態(tài)處理器負(fù)責(zé)對狀態(tài)信息做處理

6、,使主機(jī)控制器與設(shè)備之間的狀態(tài)保持一致。4. 串行化與反串行化. 輸出數(shù)據(jù)。主機(jī)控制器將協(xié)議信息與原始數(shù)據(jù)信息轉(zhuǎn)換為串行數(shù)據(jù)流。. 輸入數(shù)據(jù)。主機(jī)控制器將串行數(shù)據(jù)流復(fù)原為協(xié)議信息與原始數(shù)據(jù)信息。. 串行接口引擎STE負(fù)責(zé)傳輸過程中的串行化與反串行化工作。5. 數(shù)據(jù)處理. 主機(jī)控制器負(fù)責(zé)處理主機(jī)輸入/輸出數(shù)據(jù)的請求。. 數(shù)據(jù)傳輸?shù)母袷饺Q于系統(tǒng)的具體實現(xiàn),并符合USB協(xié)議的要求。 站在用戶的角度,主機(jī)控制器具有的功能:. 檢測USB設(shè)備的插入和拔出。. 管理主機(jī)與設(shè)備的數(shù)據(jù)流。. 對設(shè)備進(jìn)展必要的控制。. 收集/處理各種狀態(tài)信息。. 給設(shè)備供電。7.2.3 USB設(shè)備USB設(shè)備分為兩類:USB集

7、線器HUB、USB設(shè)備1. USB集線器. 上游端口. 下游端口. USB 集線器由控制器和中繼器組成。 . 控制器負(fù)責(zé)與主機(jī)接口,接收主機(jī)發(fā)來的命令和數(shù)據(jù)。 . 中繼器負(fù)責(zé)上游端口與下游端口之間的聯(lián)接狀態(tài)??捎捎布a(chǎn)生復(fù)位、休眠和恢復(fù)信號。2. USB功能設(shè)備. 具備*一特定應(yīng)用功能的設(shè)備,通過USB接口連接USB主機(jī)并收/發(fā)數(shù)據(jù)和控制信息。. 每一設(shè)備都必須由自己的配置信息對設(shè)備功能的描述、設(shè)備的屬性、資源要求等,主機(jī)根據(jù)設(shè)備提供的配置信息對設(shè)備進(jìn)展配置和定位驅(qū)動軟件。. 端點。USB主機(jī)與USB設(shè)備的邏輯連接點。. 接口。一組相關(guān)的端點組成一個接口。. 配置。一種配置,可以包含多個接口。

8、而一個功能設(shè)備可以有多種配置。. 設(shè)備插入時,USB主機(jī)通過默認(rèn)端口讀取設(shè)備的描述符,選取一種配置枚舉。7.2.4 USB的通信模型USB設(shè)備. USB 總線接口層底層物理接口,通過電纜與USB主機(jī)相連,是USB設(shè)備收/發(fā)數(shù)據(jù)的接口。. USB 設(shè)備層是USB協(xié)議棧的主體。它處理總線接口與不同端點之間的數(shù)據(jù)。實現(xiàn)USB的各種根本行為。. 功能層實現(xiàn)USB設(shè)備的特定功能。USB主機(jī). USB主控制器與根集線器集成在PC機(jī)的主板上,是USB主機(jī)與USB設(shè)備之間的物理連接點,實現(xiàn)USB主機(jī)與USB設(shè)備之間的數(shù)據(jù)收/發(fā)。主控制器負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)換、存儲和傳輸。根HUB提供USB的接口,其下游端口可直接與U

9、SB設(shè)備相連。根集線器控制USB端口的電源,激活和制止端口,識別與端口相連的設(shè)備,設(shè)置和報告與每個端口相連的狀態(tài)事件. USB系統(tǒng)軟件主要由USB核心驅(qū)動程序USBD與USB主控制器驅(qū)動程序HCD組成。USBD被捆綁在操作系統(tǒng)之中,負(fù)責(zé)解釋來自用戶軟件USB設(shè)備類驅(qū)動程序的命令,并將其分解為一系列的USB事務(wù)后。發(fā)送給與USB主控制器。HCD負(fù)責(zé)最底層的驅(qū)動任務(wù),控制和管理硬件,負(fù)責(zé)將核心驅(qū)動程序傳送來的USB事務(wù)傳給主控制器芯片。. 客戶軟件與USB設(shè)備類驅(qū)動程序USB設(shè)備類驅(qū)動程序USB用戶驅(qū)動軟件,將用戶的USB命令發(fā)送給USB系統(tǒng)軟件,同時初始化存緩沖區(qū),用于存儲所有USB通信中的數(shù)據(jù)

10、??蛻糗浖怯脩襞cUSB系統(tǒng)之間的一個界面,主要完成用戶對USB的控制,以及實時地進(jìn)展一些數(shù)據(jù)交換。對于USB系統(tǒng)而言,客戶軟件不是必需的。7.3USB的數(shù)據(jù)模型7.3.1 端點EndPoint. 端點在USB設(shè)備中唯一可尋址的局部。在USB系統(tǒng)中,每個端點都有唯一的地址由設(shè)備地址和端點號確定。. 在硬件上,端點是一個有一定深度的FIFO數(shù)據(jù)緩沖區(qū)。. 一個USB設(shè)備有一組相互獨立的端點,主機(jī)通過端點與USB設(shè)備進(jìn)行通信。. 端點的根本特性:端點號、通信方向、帶寬和端點支持的包的大小等。. 端點0用于控制傳輸系統(tǒng)默認(rèn),其他端點必須經(jīng)系統(tǒng)配置后,才能使用。7.3.2 管道Pipe. 系統(tǒng)配置后,

11、主機(jī)與端點之間的數(shù)據(jù)傳輸通道成為稱為管道。. 管道表達(dá)了主機(jī)與設(shè)備端點之間的數(shù)據(jù)傳輸能力。數(shù)據(jù)流管道. 通過流管道的數(shù)據(jù)USB沒有定義格式。按先進(jìn)先出的原則單向流經(jīng)管道。. 流管道支持同步傳輸、中斷傳輸和批傳輸。消息管道. 消息管道要求通過它的信息具有規(guī)定的格式。. 消息管道可以是單向的,業(yè)可以是雙向的控制管道。7.3.3 USB的通信數(shù)據(jù)流IRPUSB格式 幀格式拆幀7.4 USB協(xié)議層 USB總線傳輸以包為根本單位,每個USB包由多個字段域組成。所有數(shù)據(jù)發(fā)送時都從低位開場向高位發(fā)送7.4.1 包字段格式1. 同步字段8位 8位 7位 4位 5位SYNC PID ADDRENDP CRC.

12、不同類型的USB包都以同步字段開場。. 同步字段編碼10000000b,按照發(fā)送規(guī)則實際發(fā)送順序為00000001b2標(biāo)識字段. PID指明包的類型。 LSB MSBPID0PID1PID2PID3PID0*PID1*PID2*PID3* PID PID的反碼3地址字段 8位 8位 7位 4位 5位SYNC PID ADDRENDP CRCADDR0ADDR1ADDR2ADDR3ADDR4ADDR5ADDR6Endp0Endp1Endp2Endp3. 端口字段只對IN、OUT、SETUP令牌PID有效。. 功能設(shè)備除端口0外,其他端口的多少由設(shè)備決定。. 低速設(shè)備最多允許由3個端口,高速設(shè)備最

13、多允許有16個端口。4幀號字段 8位 8位 11位 5位SYNC PIDFRAME NUMBERCRC. 幀號計數(shù)到達(dá)7FFH時清05數(shù)據(jù)字段 LSB MSBD7D0D1D2D3D4D5D6D7D06CRC校驗字段. 對令牌包和數(shù)據(jù)包中非PID字段進(jìn)展校驗。. 令牌包的CRC校驗字為5位. 數(shù)據(jù)包的CRC校驗字為16位7.4.2 包格式包的一般格式: 8位 8位 n位 5位或16位SYNCPID包特定信息CRCSYNC:同步序列,數(shù)據(jù)為00000001。PID: 包標(biāo)識,發(fā)送從低位到高位。1令牌包 8位 8位 7位 4位 5位SYNC PID ADDRENDP CRC2幀開場包SOF 8位 8

14、位 11位 5位SYNC PIDSOFFRAME NUMBERCRC3數(shù)據(jù)包 8位 8位 01023位 16位 SYNC PID DATA CRC USB1.1數(shù)據(jù)包格式 8位 8位 08192位 16位 SYNC PID DATA CRCUSB2.0數(shù)據(jù)包格式4握手包8位 8位 SYNC PID 握手包的格式確認(rèn)包ACK. PID被正確接收. 沒有發(fā)生數(shù)據(jù)位錯誤. 沒有發(fā)生數(shù)據(jù)字段的CRC校驗錯誤等。ACK一般由接收數(shù)據(jù)的一方發(fā)出。無效包NAK. 主機(jī)發(fā)出OUT命令后,設(shè)備無法接收數(shù)據(jù). 接到主機(jī)IN命令后,設(shè)備沒有數(shù)據(jù)發(fā)給主機(jī)NAK只能由設(shè)備發(fā)出。錯誤包STALL. 設(shè)備無法發(fā)送數(shù)據(jù). 設(shè)

15、備無法接收數(shù)據(jù). 不支持*一控制管道的命令。STALL只能由設(shè)備發(fā)出。7.4.3 事務(wù)與傳輸類型USB的傳輸Transfer,是USB面向用戶的、最高級的數(shù)據(jù)構(gòu)造。USB定義了四種數(shù)據(jù)傳輸?shù)念愋停嚎刂苽鬏?、中斷傳輸、塊批量傳輸和同步傳輸。1事務(wù)與傳輸類型Transaction每個傳輸由多個事務(wù)組成。每個事務(wù)又由多個包組成。事務(wù)分為3種類型:IN、OUT和SETUP,任何一種傳輸均由這3種類型的事務(wù)組成。事務(wù)事務(wù)事務(wù)令牌包數(shù)據(jù)包握手包SYNC PID 附加信息 CRC傳輸傳輸傳輸控制傳輸控制傳輸由三個階段組成,其中每一階段都包含由一筆事務(wù):. 設(shè)置階段空閑SETUPDATA0 ACK令牌數(shù)據(jù)握手

16、空閑DATA0包為一特定構(gòu)造的數(shù)據(jù),8個字節(jié)長度,包含主機(jī)發(fā)給設(shè)備的各種命令,如果命令需要設(shè)備讀寫數(shù)據(jù)則在數(shù)據(jù)階段換數(shù)據(jù)。否則不進(jìn)入下一階段。. 可選數(shù)據(jù)階段空閑 INDATA1/DATA0NAKSTALLACK OUTDATA1/DATA0ACKNAKSTALL令牌數(shù)據(jù)空閑空閑數(shù)據(jù)錯誤數(shù)據(jù)錯誤握手. 狀態(tài)階段控制傳輸?shù)奶攸c:. 使用系統(tǒng)默認(rèn)的管道端點0. 雙向傳輸。. 數(shù)據(jù)包的有效負(fù)載:低速設(shè)備為8字節(jié),全速設(shè)備8,16,32和64個字節(jié)可選。. USB在每一幀的時間,都分配10%的帶寬給控制傳輸。塊傳輸. 單向傳輸。. 全速設(shè)備才能使用塊批量傳輸方式。. 數(shù)據(jù)包的有效負(fù)載:8,16,32和

17、64個字節(jié)可選。. 當(dāng)數(shù)據(jù)事務(wù)的數(shù)據(jù)包小于有效負(fù)載時,認(rèn)為該包為最后一個數(shù)據(jù)事務(wù)。. 帶寬分配是逢空插入,系統(tǒng)不會為塊批量傳輸預(yù)留帶寬。 INDATA0/DATA1NAKSTALLACK OUTDATA0/DATA1ACKNAKSTALL令牌數(shù)據(jù)空閑空閑數(shù)據(jù)錯誤數(shù)據(jù)錯誤空閑握手 喪失ACK的處理 00 1 0 1 11 00 0 10 1 11 0 0DATA0DATA0DATA1ACKACKACK7.4.6 中斷傳輸. 單向傳輸。. 主機(jī)對按中斷傳輸配置的端口,進(jìn)展周期性的輪詢。. 按中斷傳輸方式配置的端口,要指定輪詢周期的大小和有效數(shù)據(jù)負(fù)載。. 全速設(shè)備:周期在1 255ms,有效數(shù)據(jù)負(fù)載

18、在8,16,32和64個字節(jié)可選。 低速設(shè)備:周期在10 255ms,有效數(shù)據(jù)負(fù)載8個字節(jié)。. 帶寬不大于總帶寬的90%。. 傳輸構(gòu)造與塊傳輸一樣。7.4.7 同步傳輸. 單向傳輸。. 對數(shù)據(jù)的準(zhǔn)確性不要求,且數(shù)據(jù)量大。. 沒有握手階段,不存在錯誤重傳。. 最大有效數(shù)據(jù)負(fù)載為11023個字節(jié)。. 低速設(shè)備不支持。 OUTDATA0 IN令牌數(shù)據(jù)空閑DATA0空閑7.5USB傳輸管理7.5.1 USB信息轉(zhuǎn)換過程客戶軟件USB驅(qū)動器主機(jī)控制器 驅(qū)動器 事務(wù)表事務(wù)i .事務(wù)i+n主機(jī)控制器USBUSBD界面HCD界面IRP傳輸事務(wù)包1客戶軟件. 客戶將自己的I/O傳輸請求IRP通過OS指定的界面發(fā)

19、給USB驅(qū)動器接口。. 如果客戶提交的IRP完成,應(yīng)用層軟件就可在數(shù)據(jù)緩沖區(qū)中取得所要的數(shù)據(jù)。2USB驅(qū)動器USBD. USBD確認(rèn)OS的設(shè)備設(shè)置請求,并為該請求建立一個相應(yīng)類型的通道。. 將IRP分割成假設(shè)干的事務(wù)。 3主機(jī)控制驅(qū)動器HCD. 跟蹤IRP,確保USB的帶寬和幀的最大時間不突破。. HCD將事務(wù)參加事務(wù)表4事務(wù)表. 只能被HCD和HC5主機(jī)控制器HC. 事務(wù)表,按幀組織數(shù)據(jù)打包并通過SIE傳輸數(shù)據(jù)。. 控制與管理事務(wù)的狀態(tài),并以報告的形式傳遞給HCD。7.5.2事務(wù)的跟蹤. HC對包進(jìn)展跟蹤。. IRP對事務(wù)進(jìn)展跟蹤。. HC可以自由選擇如何傳輸事務(wù)。事務(wù)0事務(wù)1事務(wù)2事務(wù)0事

20、務(wù)1事務(wù)2IRP1IRP2幀1幀2令牌 1-0令牌2-0令牌(2-1)令牌(1-1)7.5.3低速事務(wù). 所有傳輸?shù)降退僭O(shè)備的下行包都需要前同步信號PRE開場。. 低速下行包的SYNC和PRE以全速發(fā)送。. PRE只對HUB有效。. 主機(jī)在PID之后,在低速數(shù)據(jù)包傳輸之前要延遲4個全速位時間。在此時間,HUB為低速傳輸做好準(zhǔn)備。. 低速HUB的端口緩沖區(qū)在下行低速包完畢時EOP關(guān)閉,直到下一個PRE出現(xiàn)后,再次翻開。 令牌:SYNCPIDPREHUB setupSYNCPIDADDRENDPEOP 數(shù)據(jù):SYNCPIDPREHUB setupSYNCPIDDATAEOP 握手:SYNCPIDPREHUB setupSYNCP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論