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