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