USB系統(tǒng)結(jié)構(gòu)與應(yīng)用設(shè)計
畢業(yè)論文網(wǎng) 2009/7/16
(接上頁),主要用于讀取設(shè)備配置信息及設(shè)備狀態(tài)、設(shè)置設(shè)備地址,設(shè)置設(shè)備屬性、發(fā)送控制命令等功能。全速設(shè)備每次控制傳輸?shù)淖畲笥行ж摵煽蔀?4個字節(jié),而低速設(shè)備每次控制傳輸?shù)淖畲笥行ж摵蓛H為8個字節(jié)。
(2)同步傳輸(isochronous transfer)
同步傳輸僅適用于全速/高速設(shè)備。同步傳輸每ms進行一次傳輸,有較大的帶寬,常用于語音設(shè)備。同步傳輸每次傳輸?shù)淖畲笥行ж摵煽蔀?023個字節(jié)。
(3)中斷傳輸(interrupt transfer)
中斷傳輸用于支持數(shù)據(jù)量少的周期性傳輸需求。全速設(shè)備的中斷傳輸周期可為1~255ms,而低速設(shè)備的中斷傳輸周期為10~255ms。全速設(shè)備每次中斷傳輸?shù)淖畲笥行ж摵煽蔀?4個字節(jié),而低速設(shè)備每次中斷傳輸?shù)淖畲笥行ж摵蓛H為8個字節(jié)。
(4)塊數(shù)據(jù)傳輸(bulk transfer)
塊數(shù)據(jù)傳輸是非周期性的數(shù)據(jù)傳輸,僅全速/高速設(shè)備支持塊數(shù)據(jù)傳輸,同時,當且僅當總線帶寬有效時才進行塊數(shù)據(jù)傳輸。塊數(shù)據(jù)傳輸每次數(shù)據(jù)傳輸?shù)淖畲笥行ж摵煽蔀?4個字節(jié)。
五、典型
USB系統(tǒng)的典型應(yīng)用如圖3所示。
在圖3所示系統(tǒng)中,顯示器、Audio、Modem皆為全速設(shè)備,鍵盤、鼠標為低速設(shè)備。其數(shù)據(jù)傳輸為:
◇ USB HOST通過控制傳輸更改顯示器屬性。
◇ USB HOST通過塊數(shù)據(jù)傳輸將要顯示的數(shù)據(jù)送給顯示器。
◇ USB HOST通過控制傳輸更改鍵盤、鼠標屬性。
◇ USB HOST通過中斷傳輸要求鍵盤、鼠標輸入讀入系統(tǒng)。
◇ USB HOST通過控制傳輸更改Audio屬性。
◇ USB HOST通過同步傳輸與Audio設(shè)備傳輸數(shù)據(jù)。
◇ USB HOST通過控制傳輸更改Modem屬性。
◇ USB HOST通過塊數(shù)據(jù)傳輸與Modem設(shè)備傳輸數(shù)據(jù)
六、一個USB HOST接口的軟硬件設(shè)計
市場上現(xiàn)已有很多公司提供的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實現(xiàn)嵌入式USB HOST的例子。
1.SL11HT特點
◇ 遵從USB1.1標準;
◇ 支持全速/低速傳輸;
◇ 支持主機/設(shè)備端兩種模式;
◇ 3.3/5.0V供電;
◇ 片內(nèi)包含256個字節(jié)的SRAM;
◇ 48MHz晶振輸入。
當SL11HT被用作USB HOST接口時,對系統(tǒng)有以下要求:
◇ 由系統(tǒng)維護SOF幀數(shù)目;
◇ 由系統(tǒng)生成CRC5效驗碼;
◇ 要求系統(tǒng)中斷潛伏期小于1.5μs。
2.SL11HT接口硬件框圖
圖4簡單地給出了使用SL11HT擴展USB接口的框圖,更詳細的硬件連線圖請見2,3。
3.USB HOST端軟件結(jié)構(gòu)
USB HOST端軟件結(jié)構(gòu)如圖5所示。
(1)USB接口驅(qū)動程序
USB接口驅(qū)動程序需實現(xiàn)以下功能:
◇ USB接口器件的初始化;
◇ 上層數(shù)據(jù)包的效驗和,發(fā)送上層的數(shù)據(jù)包;
◇ 發(fā)送SOF幀;
◇ 接收從USB接口傳送來的數(shù)據(jù),并檢查數(shù)據(jù)的有效性;
◇ 將接收到的數(shù)據(jù)送往上層。
(2)USB協(xié)議棧驅(qū)動程序
USB協(xié)議棧驅(qū)動程序需實現(xiàn)以下功能:
◇ 提供與設(shè)備驅(qū)動程序的接口;
◇ 讀取并解析USB設(shè)備描述符,配置描述符;
◇ 為USB設(shè)備分配唯一的地址;
◇ 使用默認的配置來配置設(shè)備;
◇ 支持基本的USB命令請求;
◇ 連接設(shè)備與相應(yīng)的驅(qū)動程序;
◇ 轉(zhuǎn)發(fā)設(shè)備驅(qū)動程序的數(shù)據(jù)包。
(3)設(shè)備驅(qū)動程序
設(shè)備驅(qū)動程序需實現(xiàn)以下功能:
◇ 提供與應(yīng)用程序的接口;
◇ 讀取并解析USB設(shè)備特有的描述符,獲得設(shè)備提供的傳輸通道;
◇ 發(fā)送設(shè)備特有的和基本的USB命令請求(未完,下一頁)
|