USB及其設備開(kāi)發(fā)
5 USB典型應用
理論上講,USB技術(shù)由3部分組成:具備USB接口的Pc系統、能夠支持USB的系統軟件和使用UsB接口的設備。USB需要主機硬件、操作系統和外設3個(gè)方面的支持才能工作。目前主板一般都采用支持USB功能的控制芯片組,而且也安裝了USB接口插槽。Windows 98及以上版本的操作系統都內置了對USB接口的支持(但WindowsNT不支持USB)。在操作系統擁有了對USB設備的支持后,安裝USB設備以及相應的驅動(dòng)程序。目前,USB已經(jīng)在Pc機的多種多卜設上得到應用,從最初的打印機、掃描儀,發(fā)展到攝像頭、數碼相機、鼠標、鍵盤(pán)、硬盤(pán)、Modem、U盤(pán)、手機等。板載接口也從早期的2個(gè)增加至4個(gè)接El,板上一般還有兩個(gè)擴展針接口,同期出現了前置接口和USB Hub。USB系統的典型應用如圖2所示。
在圖2所示系統中,顯示器、Audio,Modem皆為全速設備,鍵盤(pán)、鼠標為低速設備。
6 USB端口軟件結構
USB端口軟件結構如圖3所示。
(1)USB接El驅動(dòng)程序
USB接口驅動(dòng)程序需實(shí)現以下功能:
①USB接El器件的初始化。
②計算上層數據包的校驗和,發(fā)送上層的數據包。
③發(fā)送SOF幀。
④接收從USB接口傳送來(lái)的數據,并檢查數據的有
效性。
⑤將接收到的數據送往上層。
(2)USB協(xié)議棧驅動(dòng)程序
USB協(xié)議棧驅動(dòng)程序需實(shí)現以下功能:
①提供與設備驅動(dòng)程序的接El。
②讀取并解析USB設備描述符,配置描述符。
③為USB設備分配惟一的地址。
④使用默認的配置來(lái)配置設備。
⑤支持基本的USB命令請求。
⑥連接設備與相應的驅動(dòng)程序。
⑦轉發(fā)設備驅動(dòng)程序的數據包。
(3)設備驅動(dòng)程序
設備驅動(dòng)程序需實(shí)現以下功能:
①提供與應用程序的接口。
②讀取并解析USB設備特有的描述符,獲得設備提供的傳輸通道。
③發(fā)送設備特有的和基本的USB命令請求。
④通過(guò)設備提供的傳輸通道與設備進(jìn)行數據傳輸。
⑤通過(guò)USB命令請求重新配置設備。
7 USB設備的開(kāi)發(fā)
(1)需要一臺支持USB PC如果要開(kāi)發(fā)WDM驅動(dòng)程序則需要一臺有以下配置的PC:
(2)編寫(xiě)USB Device的規格書(shū)。
(3)購買(mǎi)相應的評估板和評估軟件,并找到盡可能多的實(shí)例源程序代碼,然后需要有MCU的程序編譯器。
(4)購買(mǎi)其他在開(kāi)發(fā)中要用到的設備,如總線(xiàn)分析儀USB Hubs,競爭者的相應USB設備,以及USB鼠標、USB鍵盤(pán)等。
(5)編寫(xiě)或改寫(xiě)USB驅動(dòng)程序MCU,固件程序和客戶(hù)程序代碼。
(6)參加USB遵從試驗在不同的系統與配置驗iiEUSB設備。
8 驅動(dòng)程序編寫(xiě)
USB的驅動(dòng)程序和以往直接跟硬件打交道的Windows 95的VXD方式驅動(dòng)程序不同,他是WDM類(lèi)型的Windows下的USB軟件,USB軟件總體框圖如圖4所示。
9 結 語(yǔ)
觀(guān)USB技術(shù)的整個(gè)發(fā)展過(guò)程,從誕生到成為絕大多數PC外設的標準接口,在提高速度后應用到幾乎所有PC外設領(lǐng)域,USB為接E1種類(lèi)繁多的存儲媒介與主機之間提供了方便可靠的連接。USB應用與開(kāi)發(fā)也將不斷發(fā)展,不斷完善。
評論