USB系統(tǒng)的典型應(yīng)用如圖3所示。
在圖3所示系統(tǒng)中,顯示器、Audio、Modem皆為全速設(shè)備,鍵盤、鼠標(biāo)為低速設(shè)備。其數(shù)據(jù)傳輸為:
◇USBHOST通過(guò)控制傳輸更改顯示器屬性。
◇USBHOST通過(guò)塊數(shù)據(jù)傳輸將要顯示的數(shù)據(jù)送給顯示器。
◇USBHOST通過(guò)控制傳輸更改鍵盤、鼠標(biāo)屬性。
◇USBHOST通過(guò)中斷傳輸要求鍵盤、鼠標(biāo)輸入讀入系統(tǒng)。
◇USBHOST通過(guò)控制傳輸更改Audio屬性。
◇USBHOST通過(guò)同步傳輸與Audio設(shè)備傳輸數(shù)據(jù)。
◇USBHOST通過(guò)控制傳輸更改Modem屬性。
◇USBHOST通過(guò)塊數(shù)據(jù)傳輸與Modem設(shè)備傳輸數(shù)據(jù)六、一個(gè)USBHOST接口的軟硬件設(shè)計(jì)
市場(chǎng)上現(xiàn)已有很多公司提供的USB接口器件,如PHILIPS的PDIUSBD11PDIUSBD12,OKI的MSM60581,NATIONAL的USBN9602,LUCENT的USS-820USS-620,SCANLOGIC的SL11,等等。
同時(shí)也有很多帶USB接口的處理器,如CYPRESS的EZ-USB,AMD的AM186CC,ATMEL的AT43320,MOTOROLA的PPC823PPC850,等等。下面給出用SCANLOGIC的USB接口器件SL11HT實(shí)現(xiàn)嵌入式USBHOST的例子。
1.SL11HT特點(diǎn)
◇遵從USB1.1標(biāo)準(zhǔn);◇支持全速低速傳輸;◇支持主機(jī)設(shè)備端兩種模式;◇3.35.0V供電;◇片內(nèi)包含256個(gè)字節(jié)的SRAM;◇48MHz晶振輸入。
當(dāng)SL11HT被用作USBHOST接口時(shí),對(duì)系統(tǒng)有以下要求:
◇由系統(tǒng)維護(hù)SOF幀數(shù)目;◇由系統(tǒng)生成CRC5效驗(yàn)碼;◇要求系統(tǒng)中斷潛伏期小于1.5μs.
2.SL11HT接口硬件框圖
3.USBHOST端軟件結(jié)構(gòu)
(1)USB接口驅(qū)動(dòng)程序
USB接口驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:
◇USB接口器件的初始化;◇計(jì)算上層數(shù)據(jù)包的效驗(yàn)和,發(fā)送上層的數(shù)據(jù)包;◇發(fā)送SOF幀;◇接收從USB接口傳送來(lái)的數(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)的配置來(lái)配置設(shè)備;◇支持基本的USB命令請(qǐng)求;◇連接設(shè)備與相應(yīng)的驅(qū)動(dòng)程序;◇轉(zhuǎn)發(fā)設(shè)備驅(qū)動(dòng)程序的數(shù)據(jù)包。
(3)設(shè)備驅(qū)動(dòng)程序
設(shè)備驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:
◇提供與應(yīng)用程序的接口;◇讀取并解析USB設(shè)備特有的描述符,獲得設(shè)備提供的傳輸通道;◇發(fā)送設(shè)備特有的和基本的USB命令請(qǐng)求;◇通過(guò)設(shè)備提供的傳輸通道與設(shè)備進(jìn)行數(shù)據(jù)傳輸;◇通過(guò)USB命令請(qǐng)求重新配置設(shè)備。
延伸閱讀:USB 系統(tǒng) 結(jié)構(gòu)
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com