<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > USB系統(tǒng)結(jié)構(gòu)與應(yīng)用設(shè)計(jì)

          USB系統(tǒng)結(jié)構(gòu)與應(yīng)用設(shè)計(jì)

          作者: 時(shí)間:2017-06-04 來源:網(wǎng)絡(luò) 收藏

            摘 要:通用串行總線()是一種簡(jiǎn)單的計(jì)算機(jī)外圍接口標(biāo)準(zhǔn)。它具有即插即用、擴(kuò)展方便等優(yōu)點(diǎn),已成為計(jì)算機(jī)必備的一個(gè)接口。本文簡(jiǎn)要介紹總線的功能、拓樸結(jié)構(gòu)及其數(shù)據(jù)傳輸過程,并舉例說明接口的實(shí)際應(yīng)用。

            關(guān)鍵詞:通用串行總線 USB接口 外圍接口標(biāo)準(zhǔn)

          一、USB接口背景

            在早期的計(jì)算機(jī)系統(tǒng)上常用串口或并口連接外圍設(shè)備。每個(gè)接口都需要占用計(jì)算機(jī)的系統(tǒng)資源(如中斷,I/O地址,DMA通道等)。無論是串口還是并口都是點(diǎn)對(duì)點(diǎn)的連接,一個(gè)接口僅支持一個(gè)設(shè)備。因此每添加一個(gè)新的設(shè)備,就需要添加一個(gè)ISA/EISA 或PCI卡來支持,同時(shí)系統(tǒng)需要重新啟動(dòng)才能驅(qū)動(dòng)新的設(shè)備。

            USB總線是INTEL、DEC、MICROSOFT、IBM等公司聯(lián)合提出的一種新的串行總線標(biāo)準(zhǔn),主要用于PC機(jī)與外圍設(shè)備的互聯(lián)。USB總線具有低成本、使用簡(jiǎn)單、支持即插即用、易于擴(kuò)展等特點(diǎn),已被廣泛地用在PC機(jī)及嵌入式系統(tǒng)上。

          二、USB總線優(yōu)缺點(diǎn)

          1.優(yōu) 點(diǎn)

           ?。?)使用簡(jiǎn)單

            所用USB系統(tǒng)的接口一致,連線簡(jiǎn)單。系統(tǒng)可對(duì)設(shè)備進(jìn)行自動(dòng)檢測(cè)和配置,支持熱插拔。新添加設(shè)備系統(tǒng)不需要重新啟動(dòng)。

           ?。?)應(yīng)用范圍廣

            USB系統(tǒng)數(shù)據(jù)報(bào)文附加信息少,帶寬利用率高,可同時(shí)支持同步傳輸和異步傳輸兩種傳輸方式。一個(gè)USB系統(tǒng)最多可支持127個(gè)物理設(shè)備。USB設(shè)備的帶寬可從幾Kbps 到幾Mbps (在USB2.0版本,最高可達(dá)幾百M(fèi)bps)。一個(gè)USB系統(tǒng)可同時(shí)支持不同速率的設(shè)備,如低速的鍵盤、鼠標(biāo),全速的ISDN、語音,高速的磁盤、圖像等(僅USB2.0版本支持高速設(shè)備)。

           ?。?)較強(qiáng)的糾錯(cuò)能力

            USB系統(tǒng)可實(shí)時(shí)地管理設(shè)備插拔。在USB協(xié)議中包含了傳輸錯(cuò)誤管理、錯(cuò)誤恢復(fù)等功能,同時(shí)根據(jù)不同的傳輸類型來處理傳輸錯(cuò)誤。

           ?。?)總線供電

            USB總線可為連接在其上的設(shè)備提供5V電壓/100mA電流的供電,最大可提供500mA的電流。USB設(shè)備也可采用自供電方式。

           ?。?)低成本

            USB接口電路簡(jiǎn)單,易于實(shí)現(xiàn),特別是低速設(shè)備。USB系統(tǒng)接口/電纜也比較簡(jiǎn)單,成本比串口/并口低。

          2.缺 點(diǎn)

            USB技術(shù)還不是很成熟,特別是高速設(shè)備。市場(chǎng)上現(xiàn)有的USB設(shè)備價(jià)格都比較昂貴,但隨著USB技術(shù)的日益成熟,設(shè)備的不斷增加和廣泛應(yīng)用,其價(jià)格將會(huì)有所降低。

          三、USB系統(tǒng)拓?fù)浣Y(jié)構(gòu)

            一個(gè)USB系統(tǒng)包含三類硬件設(shè)備: USB主機(jī)(USB HOST)、 USB設(shè)備(USB DEVICE)、USB集線器(USB HUB),如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/201706/348619.htm


           ?。?)USB HOST

            在一個(gè)USB系統(tǒng)中,當(dāng)且僅當(dāng)有一個(gè)USB HOST時(shí),USB HOST有以下功能:

            ◇ 管理USB系統(tǒng);
            ◇ 每毫秒產(chǎn)生一幀數(shù)據(jù);
            ◇ 發(fā)送配置請(qǐng)求對(duì)USB設(shè)備進(jìn)行配置操作;
            ◇ 對(duì)總線上的錯(cuò)誤進(jìn)行管理和恢復(fù)。

           ?。?)USB DEVICE

            在一個(gè)USB系統(tǒng)中,USB DEVICE和USB HUB總數(shù)不能超過127個(gè)。USB DEVICE接收USB總線上的所有數(shù)據(jù)包,通過數(shù)據(jù)包的地址域來判斷是不是發(fā)給自己的數(shù)據(jù)包:若地址不符,則簡(jiǎn)單地丟棄該數(shù)據(jù)包;若地址相符,則通過響應(yīng)USB HOST的數(shù)據(jù)包與USB HOST進(jìn)行數(shù)據(jù)傳輸。

           ?。?)USB HUB

            USB HUB用于設(shè)備擴(kuò)展連接,所有USB DEVICE都連接在USB HUB的端口上。一個(gè)USB HOST總與一個(gè)根HUB (USB ROOT HUB)相連。USB HUB為其每個(gè)端口提供100mA電流供設(shè)備使用。同時(shí),USB HUB可以通過端口的電氣變化診斷出設(shè)備的插拔操作,并通過響應(yīng)USB HOST的數(shù)據(jù)包把端口狀態(tài)匯報(bào)給USB HOST。一般來說,USB設(shè)備與USB HUB間的連線長(zhǎng)度不超過5m,USB系統(tǒng)的級(jí)聯(lián)不能超過5級(jí)(包括ROOT HUB)。

          四、USB總線數(shù)據(jù)傳輸

            USB總線上數(shù)據(jù)傳輸?shù)慕Y(jié)構(gòu)如圖2所示。



            從物理結(jié)構(gòu)上,USB系統(tǒng)是一個(gè)星形結(jié)構(gòu);但在邏輯結(jié)構(gòu)上,每個(gè)USB邏輯設(shè)備都是直接與USB HOST相連進(jìn)行數(shù)據(jù)傳輸?shù)?。在USB總線上,每ms傳輸1幀數(shù)據(jù)。每幀數(shù)據(jù)可由多個(gè)數(shù)據(jù)包的傳輸過程組成。USB設(shè)備可根據(jù)數(shù)據(jù)包中的地址信息來判斷是否響應(yīng)該數(shù)據(jù)傳輸。在USB標(biāo)準(zhǔn)1.1版本中,規(guī)定了4種傳輸方式以適應(yīng)不同的傳輸需求:

           ?。?)控制傳輸(control transfer)

            控制傳輸發(fā)送設(shè)備請(qǐng)求信息,主要用于讀取設(shè)備配置信息及設(shè)備狀態(tài)、設(shè)置設(shè)備地址,設(shè)置設(shè)備屬性、發(fā)送控制命令等功能。全速設(shè)備每次控制傳輸?shù)淖畲笥行ж?fù)荷可為64個(gè)字節(jié),而低速設(shè)備每次控制傳輸?shù)淖畲笥行ж?fù)荷僅為8個(gè)字節(jié)。

           ?。?)同步傳輸(isochronous transfer)

            同步傳輸僅適用于全速/高速設(shè)備。同步傳輸每ms進(jìn)行一次傳輸,有較大的帶寬,常用于語音設(shè)備。同步傳輸每次傳輸?shù)淖畲笥行ж?fù)荷可為1023個(gè)字節(jié)。

           ?。?)中斷傳輸(interrupt transfer)

            中斷傳輸用于支持?jǐn)?shù)據(jù)量少的周期性傳輸需求。全速設(shè)備的中斷傳輸周期可為1~255ms,而低速設(shè)備的中斷傳輸周期為10~255ms。全速設(shè)備每次中斷傳輸?shù)淖畲笥行ж?fù)荷可為64個(gè)字節(jié),而低速設(shè)備每次中斷傳輸?shù)淖畲笥行ж?fù)荷僅為8個(gè)字節(jié)。

           ?。?)塊數(shù)據(jù)傳輸(bulk transfer)

            塊數(shù)據(jù)傳輸是非周期性的數(shù)據(jù)傳輸,僅全速/高速設(shè)備支持塊數(shù)據(jù)傳輸,同時(shí),當(dāng)且僅當(dāng)總線帶寬有效時(shí)才進(jìn)行塊數(shù)據(jù)傳輸。塊數(shù)據(jù)傳輸每次數(shù)據(jù)傳輸?shù)淖畲笥行ж?fù)荷可為64個(gè)字節(jié)。

          五、典型應(yīng)用

            USB系統(tǒng)的典型應(yīng)用如圖3所示。

          在圖3所示系統(tǒng)中,顯示器、Audio、Modem皆為全速設(shè)備,鍵盤、鼠標(biāo)為低速設(shè)備。其數(shù)據(jù)傳輸為:

          ◇ USB HOST通過控制傳輸更改顯示器屬性。
          ◇ USB HOST通過塊數(shù)據(jù)傳輸將要顯示的數(shù)據(jù)送給顯示器。
          ◇ USB HOST通過控制傳輸更改鍵盤、鼠標(biāo)屬性。
          ◇ USB HOST通過中斷傳輸要求鍵盤、鼠標(biāo)輸入讀入系統(tǒng)。
          ◇ USB HOST通過控制傳輸更改Audio屬性。
          ◇ USB HOST通過同步傳輸與Audio設(shè)備傳輸數(shù)據(jù)。
          ◇ USB HOST通過控制傳輸更改Modem屬性。
          ◇ USB HOST通過塊數(shù)據(jù)傳輸與Modem設(shè)備傳輸數(shù)據(jù)。
           

          六、一個(gè)USB HOST接口的軟硬件設(shè)計(jì)

            市場(chǎng)上現(xiàn)已有很多公司提供的USB接口器件,如PHILIPS的PDIUSBD11/PDIUSBD12,OKI的MSM60581,NATIONAL的USBN9602,LUCENT的USS-820/USS-620,SCANLOGIC的SL11,等等。

            同時(shí)也有很多帶USB接口的處理器,如CYPRESS的EZ-USB,AMD的AM186CC,ATMEL的AT43320,MOTOROLA的PPC823/PPC850,等等。下面給出用SCANLOGIC的USB接口器件SL11HT實(shí)現(xiàn)嵌入式USB HOST的例子。

          1.SL11HT特點(diǎn)

            ◇ 遵從USB1.1標(biāo)準(zhǔn);
            ◇ 支持全速/低速傳輸;
            ◇ 支持主機(jī)/設(shè)備端兩種模式;
            ◇ 3.3/5.0V供電;
            ◇ 片內(nèi)包含256個(gè)字節(jié)的SRAM;
            ◇ 48MHz晶振輸入。

            當(dāng)SL11HT被用作USB HOST接口時(shí),對(duì)系統(tǒng)有以下要求:

            ◇ 由系統(tǒng)維護(hù)SOF幀數(shù)目;
            ◇ 由系統(tǒng)生成CRC5效驗(yàn)碼;
            ◇ 要求系統(tǒng)中斷潛伏期小于1.5μs。

          2.SL11HT接口硬件框圖

            圖4簡(jiǎn)單地給出了使用SL11HT擴(kuò)展USB接口的框圖,更詳細(xì)的硬件連線圖請(qǐng)見參考文獻(xiàn)2,3。



          3.USB HOST端軟件結(jié)構(gòu)

            USB HOST端軟件結(jié)構(gòu)如圖5所示。



           ?。?)USB接口驅(qū)動(dòng)程序

            USB接口驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:

            ◇ USB接口器件的初始化;
            ◇ 計(jì)算上層數(shù)據(jù)包的效驗(yàn)和,發(fā)送上層的數(shù)據(jù)包;
            ◇ 發(fā)送SOF幀;
            ◇ 接收從USB接口傳送來的數(shù)據(jù),并檢查數(shù)據(jù)的有效性;
            ◇ 將接收到的數(shù)據(jù)送往上層。

           ?。?)USB協(xié)議棧驅(qū)動(dòng)程序

            USB協(xié)議棧驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:

            ◇ 提供與設(shè)備驅(qū)動(dòng)程序的接口;
            ◇ 讀取并解析USB設(shè)備描述符,配置描述符;
            ◇ 為USB設(shè)備分配唯一的地址;
            ◇ 使用默認(rèn)的配置來配置設(shè)備;
            ◇ 支持基本的USB命令請(qǐng)求;
            ◇ 連接設(shè)備與相應(yīng)的驅(qū)動(dòng)程序;
            ◇ 轉(zhuǎn)發(fā)設(shè)備驅(qū)動(dòng)程序的數(shù)據(jù)包。

           ?。?)設(shè)備驅(qū)動(dòng)程序

            設(shè)備驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:

            ◇ 提供與應(yīng)用程序的接口;
            ◇ 讀取并解析USB設(shè)備特有的描述符,獲得設(shè)備提供的傳輸通道;
            ◇ 發(fā)送設(shè)備特有的和基本的USB命令請(qǐng)求;
            ◇ 通過設(shè)備提供的傳輸通道與設(shè)備進(jìn)行數(shù)據(jù)傳輸;
            ◇ 通過USB命令請(qǐng)求重新配置設(shè)備。

          參考文獻(xiàn)

          1 Universal Serial Bus Specification Revision 1.1 http://www.usb.org
          2 SL11H/T USB Host/Slave Controllers Technical Reference. http://www.scanlogic.com
          3 SL11H Application Notes. http://www.scanlogic.com



          關(guān)鍵詞: USB

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();