當前位置:學問君>學習教育>畢業論文>

USB系統結構與應用設計

學問君 人氣:5.1K
USB系統結構與應用設計
摘 要:通用串行總線(USB)是一種簡單的計算機外圍接口標準。它具有即插即用、擴展方便等優點,已成爲必備的一個接口。本文簡要介紹USB總線的功能、拓樸結構及其數據傳輸過程,並舉例說明USB接口的實際應用。

關鍵詞:通用串行總線 USB接口 外圍接口標準

一、USB接口背景

  在早期的計算機系統上常用串口或並口連接外圍設備。每個接口都需要佔用計算機的系統資源(如中斷,I/O地址,DMA通道等)。無論是串口還是並口都是點對點的連接,一個接口僅支援一個設備。因此每添加一個新的設備,就需要添加一個ISA/EISA 或PCI卡來支援,同時系統需要重新啓動才能驅動新的設備。

  USB總線是INTEL、DEC、MICROSOFT、IBM等公司聯合提出的一種新的串行總線標準,主要用於PC機與外圍設備的互聯。USB總線具有低、使用簡單、支援即插即用、易於擴展等特點,已被廣泛地用在PC機及嵌入式系統上。

二、USB總線優缺點

1.優 點

  (1)使用簡單

  所用USB系統的接口一致,連線簡單。系統可對設備進行自動檢測和配置,支援熱插拔。新添加設備系統不需要重新啓動。

  (2)應用範圍廣

  USB系統數據報文附加資訊少,帶寬利用率高,可同時支援同步傳輸和異步傳輸兩種傳輸方式。一個USB系統最多可支援127個設備。USB設備的帶寬可從幾Kbps 到幾Mbps (在USB2.0版本,最高可達幾百Mbps)。一個USB系統可同時支援不同速率的設備,如低速的鍵盤、鼠標,全速的ISDN、語音,高速的磁盤、圖像等(僅USB2.0版本支援高速設備)。

  (3)較強的糾錯能力

  USB系統可實時地設備插拔。在USB協議中包含了傳輸錯誤管理、錯誤恢復等功能,同時根據不同的'傳輸類型來處理傳輸錯誤。

  (4)總線供電

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

  (5)低成本

  USB接口電路簡單,易於實現,特別是低速設備。USB系統接口/電纜也比較簡單,成本比串口/並口低。

2.缺 點

  USB技術還不是很成熟,特別是高速設備。上現有的USB設備價格都比較昂貴,但隨着USB技術的日益成熟,設備的不斷增加和廣泛應用,其價格將會有所降低。

三、USB系統拓撲結構

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





  (1)USB HOST

  在一個USB系統中,當且僅當有一個USB HOST時,USB HOST有以下功能:

  ◇ 管理USB系統;
  ◇ 每毫秒產生一幀數據;
  ◇ 發送配置請求對USB設備進行配置操作;
  ◇ 對總線上的錯誤進行管理和恢復。

  (2)USB DEVICE

  在一個USB系統中,USB DEVICE和USB HUB總數不能超過127個。USB DEVICE接收USB總線上的所有數據包,透過數據包的地址域來判斷是不是發給自己的數據包:若地址不符,則簡單地丟棄該數據包;若地址相符,則透過響應USB HOST的數據包與USB HOST進行數據傳輸。

  (3)USB HUB

  USB HUB用於設備擴展連接,所有USB DEVICE都連接在USB HUB的端口上。一個USB HOST總與一個根HUB (USB ROOT HUB)相連。USB HUB爲其每個端口提供100mA電流供設備使用。同時,USB HUB可以透過端口的電氣變化診斷出設備的插拔操作,並透過響應USB HOST的數據包把端口狀態彙報給USB HOST。一般來說,USB設備與USB HUB間的連線長度不超過5m,USB系統的級聯不能超過5級(包括ROOT HUB)。

四、USB總線數據傳輸

  USB總線上數據傳輸的結構如圖2所示。



  從物理結構上,USB系統是一個星形結構;但在結構上,每個USB邏輯設備都是直接與USB HOST相連進行數據傳輸的。在USB總線上,每ms傳輸1幀數據。每幀數據可由多個數據包的傳輸過程組成。USB設備可根據數據包中的地址資訊來判斷是否響應該數據傳輸。在USB標準1.1版本中,規定了4種傳輸方式以適應不同的傳輸需求:

  (1)控制傳輸(control transfer)

  控制傳輸發送設備請求資訊,主要用於讀取設備配置資訊及設備狀態、設定設備地址,設定設備屬性、發送控制命令等功能。全速設備每次控制傳輸的最大有效負荷可爲64個字節,而低速設備每次控制傳輸的最大有效負荷僅爲8個字節。

  (2)同步傳輸(isochronous transfer)

  同步傳輸僅適用於全速/高速設備。同步傳輸每ms進行一次傳輸,有較大的帶寬,常用於語音設備。同步傳輸每次傳輸的最大有效負荷可爲1023個字節。

  (3)中斷傳輸(interrupt transfer)

  中斷傳輸用於支援數據量少的週期性傳輸需求。全速設備的中斷傳輸週期可爲1~255ms,而低速設備的中斷傳輸週期爲10~255ms。全速設備每次中斷傳輸的最大有效負荷可爲64個字節,而低速設備每次中斷傳輸的最大有效負荷僅爲8個字節。



  (4)塊數據傳輸(bulk transfer)

  塊數據傳輸是非週期性的數據傳輸,僅全速/高速設備支援塊數據傳輸,同時,當且僅當總線帶寬有效時才進行塊數據傳輸。塊數據傳輸每次數據傳輸的最大有效負荷可爲64個字節。

五、典型應用

  USB系統的典型應用如圖3所示。



在圖3所示系統中,顯示器、Audio、Modem皆爲全速設備,鍵盤、鼠標爲低速設備。其數據傳輸爲:

◇ USB HOST透過控制傳輸更改顯示器屬性。
◇ USB HOST透過塊數據傳輸將要顯示的數據送給顯示器。
◇ USB HOST透過控制傳輸更改鍵盤、鼠標屬性。
◇ USB HOST透過中斷傳輸要求鍵盤、鼠標輸入讀入系統。
◇ USB HOST透過控制傳輸更改Audio屬性。
◇ USB HOST透過同步傳輸與Audio設備傳輸數據。
◇ USB HOST透過控制傳輸更改Modem屬性。
◇ USB HOST透過塊數據傳輸與Modem設備傳輸數據
六、一個USB HOST接口的軟硬件設計

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

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

11HT特點

  ◇ 遵從USB1.1標準;
  ◇ 支援全速/低速傳輸;
  ◇ 支援主機/設備端兩種模式;
  ◇ 3.3/5.0V供電;
  ◇ 片內包含256個字節的SRAM;
  ◇ 48MHz晶振輸入。

  當SL11HT被用作USB HOST接口時,對系統有以下要求:

  ◇ 由系統維護SOF幀數目;
  ◇ 由系統生成CRC5效驗碼;
  ◇ 要求系統中斷潛伏期小於1.5μs。

11HT接口硬件框圖

  圖4簡單地給出了使用SL11HT擴展USB接口的框圖,更詳細的硬件連線圖請見參考文獻2,3。



 HOST端軟件結構

  USB HOST端軟件結構如圖5所示。



  (1)USB接口驅動程序

  USB接口驅動程序需實現以下功能: 

  ◇ USB接口器件的初始化;
  ◇ 計算上層數據包的效驗和,發送上層的數據包;
  ◇ 發送SOF幀;
  ◇ 接收從USB接口傳送來的數據,並檢查數據的有效性;
  ◇ 將接收到的數據送往上層。

  (2)USB協議棧驅動程序

  USB協議棧驅動程序需實現以下功能: 

  ◇ 提供與設備驅動程序的接口;
  ◇ 讀取並解析USB設備描述符,配置描述符;
  ◇ 爲USB設備分配唯一的地址;
  ◇ 使用默認的配置來配置設備;
  ◇ 支援基本的USB命令請求;
  ◇ 連接設備與相應的驅動程序;
  ◇ 轉發設備驅動程序的數據包。

  (3)設備驅動程序

  設備驅動程序需實現以下功能: 

  ◇ 提供與應用程序的接口;
  ◇ 讀取並解析USB設備特有的描述符,獲得設備提供的傳輸通道;
  ◇ 發送設備特有的和基本的USB命令請求;
  ◇ 透過設備提供的傳輸通道與設備進行數據傳輸;
  ◇ 透過USB命令請求重新配置設備。