潘澤鍇,覃貴禮,羅云芳(廣西職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)與電子信息工程系,南寧 530226)
?
基于流式接口驅(qū)動(dòng)的USB無(wú)線網(wǎng)卡①
潘澤鍇,覃貴禮,羅云芳
(廣西職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)與電子信息工程系,南寧 530226)
摘 要:對(duì)比Windows CE系統(tǒng)驅(qū)動(dòng)開發(fā)方式,提出以流式接口驅(qū)動(dòng)模式的USB無(wú)線網(wǎng)卡的設(shè)計(jì)與開發(fā),詳細(xì)闡述了流式接口驅(qū)動(dòng)的體系結(jié)構(gòu)與實(shí)現(xiàn)流程,面向ARM11處理器的嵌入式平臺(tái)以流式結(jié)構(gòu)為框架實(shí)現(xiàn)USB無(wú)線網(wǎng)卡驅(qū)動(dòng)開發(fā),通過(guò)現(xiàn)場(chǎng)測(cè)試結(jié)果表明系統(tǒng)驅(qū)動(dòng)實(shí)現(xiàn)方式切實(shí)可行,系統(tǒng)運(yùn)行穩(wěn)定、可靠,基本滿足系統(tǒng)設(shè)計(jì)的目標(biāo)要求.
關(guān)鍵詞:流式接口; 嵌入式系統(tǒng); USB; 無(wú)線網(wǎng)卡
設(shè)備驅(qū)動(dòng)程序時(shí)操作系統(tǒng)與硬件交互的方式,是連接硬件和操作系統(tǒng)的橋梁.它的功能主要是初始化并驅(qū)動(dòng)內(nèi)部和外圍的硬件設(shè)備,或者為它們提供接口,以將操作系統(tǒng)和硬件設(shè)備連接起來(lái),使其能夠識(shí)別指定的設(shè)備并為相應(yīng)的應(yīng)用程序提供設(shè)備服務(wù),與操作系統(tǒng)實(shí)現(xiàn)無(wú)縫連接[1].
Windows CE是微軟推出功能強(qiáng)大、高效、可裁剪32位嵌入式開發(fā)系統(tǒng),其運(yùn)行機(jī)制與應(yīng)用于普通PC機(jī)的操作系統(tǒng)類似,但是其驅(qū)動(dòng)程序開發(fā)工具和開發(fā)方法存在較大區(qū)別.所以,一般熟悉Windows環(huán)境的程序員在Windows CE環(huán)境下進(jìn)行程序開發(fā)時(shí),往往難以很快適應(yīng)[2,3].相對(duì)于同樣是流行的Linux嵌入式系統(tǒng),USB設(shè)備在邏輯上分為設(shè)備、配置、接口和端口4個(gè)層次,層次多勢(shì)必造成開發(fā)和調(diào)試的難度增大,這就對(duì)初學(xué)者提出較高的要求; 而Windows CE平臺(tái)流式接口驅(qū)動(dòng)可以簡(jiǎn)化成模式設(shè)備和平臺(tái)相關(guān)驅(qū)動(dòng)兩個(gè)層次,模式設(shè)備驅(qū)動(dòng)相對(duì)固定,可以和別的驅(qū)動(dòng)開發(fā)共用,對(duì)比兩個(gè)開發(fā)模式,流式接口驅(qū)動(dòng)開發(fā)相對(duì)簡(jiǎn)單易行[4].從硬件上考慮,相對(duì)其他開發(fā)模式,USB無(wú)線網(wǎng)卡流接口驅(qū)動(dòng)開發(fā)的硬件可以要求硬件的復(fù)雜度較低,外圍電路相對(duì)較少,硬件亦可以整體的方式給出,從而降低開發(fā)難度[5].
為此,本文就Windows CE 下的驅(qū)動(dòng)工作原理與程序運(yùn)行機(jī)制進(jìn)行了分析,設(shè)計(jì)了一個(gè)以三星ARM11處理器S3C6410嵌入式平臺(tái)為核心的USB無(wú)線網(wǎng)卡驅(qū)動(dòng)系統(tǒng),詳細(xì)闡述平臺(tái)流接口驅(qū)動(dòng)設(shè)計(jì)以及USB無(wú)線網(wǎng)卡驅(qū)動(dòng)的實(shí)現(xiàn)方法,其他類型更為復(fù)雜的接口程序亦可按此方式進(jìn)行設(shè)計(jì)和開發(fā)[6].
2.1Windows CE驅(qū)動(dòng)對(duì)比分析
在Windows CE系統(tǒng)中,驅(qū)動(dòng)程序分為流接口驅(qū)動(dòng)程序和本機(jī)設(shè)備驅(qū)動(dòng)程序.本機(jī)設(shè)備驅(qū)動(dòng)程序主要是和系統(tǒng)本身自帶的設(shè)備相關(guān),而流接口驅(qū)動(dòng)程序則針對(duì)系統(tǒng)中所有外接的設(shè)備.而在本系統(tǒng)開發(fā)中,USB無(wú)線網(wǎng)卡作為一個(gè)系統(tǒng)外設(shè)加入整個(gè)系統(tǒng),有鑒于此,采用流式接口驅(qū)動(dòng)開發(fā)切實(shí)易行.
流接口驅(qū)動(dòng)程序的主要任務(wù)是把對(duì)外設(shè)相應(yīng)的操作傳遞給設(shè)備管理器應(yīng)用程序,這是通過(guò)把設(shè)備表示成文件系統(tǒng)的一個(gè)特殊的文件來(lái)完成的.在此結(jié)構(gòu)下,把所有的硬件設(shè)備都看成文件,和設(shè)備的交互其實(shí)就是讀寫文件,也就是數(shù)據(jù)流動(dòng).這樣開發(fā)驅(qū)動(dòng)不僅簡(jiǎn)單實(shí)用,并且用戶也用一致的接口訪問(wèn)硬件,大大降低了開發(fā)的難度.與流驅(qū)動(dòng)相反,本地驅(qū)動(dòng)主要是人機(jī)界面相關(guān)的驅(qū)動(dòng),它們由GWES管理,在系統(tǒng)啟動(dòng)時(shí)加載.本地驅(qū)動(dòng)由操作系統(tǒng)調(diào)用; 本地驅(qū)動(dòng)提供給操作系統(tǒng)的不是標(biāo)準(zhǔn)的流接口,而是事先約定好的特定接口,不同的設(shè)備,接口也不一樣,應(yīng)用程序不能訪問(wèn),對(duì)于這類驅(qū)動(dòng),驅(qū)動(dòng)調(diào)試助手是無(wú)能為力的,對(duì)于開發(fā)者來(lái)說(shuō)編譯、下載、驗(yàn)證都較為困難.對(duì)比兩者的特點(diǎn),在進(jìn)行USB無(wú)線網(wǎng)卡驅(qū)動(dòng)開發(fā)中,選用流式接口驅(qū)動(dòng)簡(jiǎn)單易行,同時(shí)增加驅(qū)動(dòng)可移植性和可靠性.
2.2流接口驅(qū)動(dòng)程序工作體系結(jié)構(gòu)
流接口驅(qū)動(dòng)程序表現(xiàn)為一個(gè)動(dòng)態(tài)鏈接庫(kù),由設(shè)備管理器統(tǒng)一加載、管理和卸載,達(dá)到應(yīng)用程序訪問(wèn)驅(qū)動(dòng)程序、操作硬件的目的.流接口驅(qū)動(dòng)程序通過(guò)編譯后,生成DLL 文件,即動(dòng)態(tài)鏈接庫(kù)文件.操作系統(tǒng)可在運(yùn)行時(shí)動(dòng)態(tài)地加載需要的DLL文件,這樣可以輕松實(shí)現(xiàn)外設(shè)的即插即用[1,7].
流接口驅(qū)動(dòng)程序具有固定的入口點(diǎn)函數(shù),它把設(shè)備抽象為文件進(jìn)行操作,Windows CE 的文件系統(tǒng)通過(guò)這些入口點(diǎn)函數(shù)與流接口驅(qū)動(dòng)進(jìn)行通信,而應(yīng)用程序則使用操作系統(tǒng)提供的文件API對(duì)外設(shè)進(jìn)行訪問(wèn).為此,設(shè)計(jì)流式驅(qū)動(dòng)程序的體系結(jié)構(gòu)如圖1所示.
其中,應(yīng)用層模塊和流式就扣驅(qū)動(dòng)模塊由用戶自己設(shè)計(jì),文件管理模塊FileSys.exe和設(shè)備管理器模塊Device.exe模塊由Windows CE操作系統(tǒng)提供,用戶不能修改.
圖1 流式驅(qū)動(dòng)程序體系結(jié)構(gòu)
首先,應(yīng)用層接收到操作界面發(fā)來(lái)的執(zhí)行命令,調(diào)用API文件向操作系統(tǒng)的文件管理器FileSys.exe加入進(jìn)程,然后文件管理器模塊把執(zhí)行權(quán)交給設(shè)備管理器,由它根據(jù)具體的請(qǐng)求,調(diào)用不同流式接口函數(shù)與硬件之間進(jìn)行交互,最終完成硬件的具體操作.在整個(gè)流接口驅(qū)動(dòng)結(jié)構(gòu)中,每個(gè)流接口驅(qū)動(dòng)必須實(shí)現(xiàn)一組標(biāo)準(zhǔn)的函數(shù),用來(lái)完成標(biāo)準(zhǔn)的文件I/O函數(shù)和電源管理函數(shù),這些函數(shù)提供給Windows CE操作系統(tǒng)的內(nèi)核使用.不管流接口驅(qū)動(dòng)控制什么樣的設(shè)備,它都向其它模塊提供同樣的流接口DLL函數(shù),任何一個(gè)邏輯上可以看作數(shù)據(jù)源的設(shè)備都可以為其實(shí)現(xiàn)一個(gè)流接口驅(qū)動(dòng)程序[7].
2.3流式接口驅(qū)動(dòng)實(shí)現(xiàn)流程
流接口驅(qū)動(dòng)程序是以動(dòng)態(tài)鏈接庫(kù)形式存在的,由設(shè)備管理器統(tǒng)一加載、管理和卸載,它接受來(lái)自設(shè)備管理器和應(yīng)用程序(通過(guò)操作系統(tǒng)的文件系統(tǒng))的命令.在這個(gè)過(guò)程中匯涉及很多實(shí)體,這里僅保留硬件、流式接口程序、系統(tǒng)注冊(cè)表、設(shè)備管理器與應(yīng)用程序五個(gè)實(shí)體管理模塊.整體流式接口驅(qū)動(dòng)工作原理流程圖如圖2所示.
由圖可以清晰的看出流式驅(qū)動(dòng)程序工作整個(gè)過(guò)程.在流程之初,設(shè)備管理器Device.exe從注冊(cè)表DLL鍵值中獲取所在DLL文件名加載驅(qū)動(dòng)程序,調(diào)用LoadDriver()函數(shù)把DLL文件進(jìn)程加載到虛擬內(nèi)存空間中; 然后設(shè)備管理器調(diào)用程序中xxx_Init函數(shù)對(duì)硬件進(jìn)行一些最基本初始化操作; 至此,流式接口驅(qū)動(dòng)已成功被加載[1,7].
圖2 流式驅(qū)動(dòng)工作原理流程圖
接下來(lái)是應(yīng)用程序使用設(shè)備文件管理器FileSys.exe調(diào)用CreatFile()打開設(shè)備,使用xxx_Open函數(shù)對(duì)硬件進(jìn)行一些額外初始化工作,使硬件進(jìn)入工作狀態(tài),并且返回結(jié)果給設(shè)備管理器進(jìn)行下一步操作.最后,文件管理器根據(jù)CreatFile()返回的句柄,通過(guò)Device.exe調(diào)用ReadFile()函數(shù)讀取設(shè)備數(shù)據(jù)信息,調(diào)用xxx_Read函數(shù)與硬件交互,從硬件中讀取操作信息.當(dāng)應(yīng)用程序不再使用該設(shè)備時(shí),系統(tǒng)調(diào)用CloseHandl()將設(shè)備關(guān)閉,流式接口驅(qū)動(dòng)程序的完整生命周期至此結(jié)束.
驅(qū)動(dòng)本身會(huì)把這些接受到的命令轉(zhuǎn)化為外部設(shè)備相應(yīng)動(dòng)作.此外,該系統(tǒng)設(shè)計(jì)的流式接口驅(qū)動(dòng)程序時(shí)放在用戶態(tài)而不是核心態(tài)來(lái)實(shí)現(xiàn),也增強(qiáng)了系統(tǒng)穩(wěn)定性,為驅(qū)動(dòng)人員提供了便利.而在嵌入式系統(tǒng)中,以流驅(qū)動(dòng)模式為策略的框架下USB無(wú)線網(wǎng)卡的設(shè)計(jì)與開發(fā)靈活并且簡(jiǎn)單易行,下面以USB無(wú)線網(wǎng)卡驅(qū)動(dòng)實(shí)現(xiàn)方法說(shuō)明流接口優(yōu)點(diǎn).
流接口驅(qū)動(dòng)程序調(diào)用設(shè)備管理器與系統(tǒng)內(nèi)核或外圍設(shè)備打交道,給操作系統(tǒng)和驅(qū)動(dòng)程序帶來(lái)很大靈活性.根據(jù)流式驅(qū)動(dòng)工作原理,設(shè)計(jì)的USB無(wú)線網(wǎng)卡驅(qū)動(dòng)程序是以支持S3C6410處理器的Windows CE驅(qū)動(dòng)程序框架為基礎(chǔ),根據(jù)S3C6410處理器的USB接口單元以及USB無(wú)線網(wǎng)卡的特性和原理而設(shè)計(jì)的.與上述的流式程序體系結(jié)構(gòu)相對(duì)應(yīng),整個(gè)系統(tǒng)的核心控制簡(jiǎn)化三個(gè)層面: 設(shè)備驅(qū)動(dòng)層、實(shí)時(shí)操作系統(tǒng)、應(yīng)用層[8].
3.1驅(qū)動(dòng)整體構(gòu)架設(shè)計(jì)
本系統(tǒng)的USB無(wú)線網(wǎng)卡驅(qū)動(dòng)采用Windows CE的流接口驅(qū)動(dòng)方式,系統(tǒng)驅(qū)動(dòng)整體框架結(jié)構(gòu)如圖3所示.
圖3 系統(tǒng)驅(qū)動(dòng)整體框架結(jié)構(gòu)圖
設(shè)計(jì)的整個(gè)系統(tǒng)通過(guò)Windows CE內(nèi)核操作系統(tǒng)進(jìn)行控制,USB網(wǎng)卡驅(qū)動(dòng)包括實(shí)現(xiàn) USB總線協(xié)議棧調(diào)用三個(gè)入口函數(shù)和實(shí)現(xiàn)設(shè)備控制的流接口函數(shù)[9].USB無(wú)線網(wǎng)卡的驅(qū)動(dòng)首先調(diào)用USBDeviceAttach()、USBInstallDriver()、USBUninstallDriver()這三個(gè)入口,再在內(nèi)核總編譯其他流接口函數(shù),在內(nèi)核系統(tǒng)中成功被編譯USB.dll動(dòng)態(tài)連接庫(kù)的形式,通過(guò)設(shè)備管理器Device.exe識(shí)別枚舉程序中以USB前綴的函數(shù)并加載,流接口函數(shù)可以實(shí)現(xiàn)電源控制、I/O管理、中斷控制,應(yīng)用程序通過(guò)文件系統(tǒng)API命令調(diào)用驅(qū)動(dòng)程序流接口函數(shù)發(fā)送控制命令[10].
3.2系統(tǒng)驅(qū)動(dòng)入口函數(shù)實(shí)現(xiàn)
在Windows CE下,USB設(shè)備驅(qū)動(dòng)編寫使用USBD提供的函數(shù)操作USB設(shè)備,以動(dòng)態(tài)鏈接庫(kù)DLL提供的入口點(diǎn)與USBD模塊進(jìn)行交互,函數(shù)調(diào)用流程如圖4.
圖4 USBD模塊函數(shù)調(diào)用流程圖
從USBD模塊函數(shù)調(diào)用流程圖可以看出,USBD模塊函數(shù)調(diào)用過(guò)程主要由USBDeviceAttach()、USBInstallDriver()、USBUninstallDriver()三個(gè)函數(shù)串連起來(lái),USB驅(qū)動(dòng)傳輸通道基本配置也主要由三個(gè)基本函數(shù)完成[11].
(1)USBDeviceAttach()函數(shù).當(dāng)USB無(wú)線網(wǎng)卡連接到計(jì)算機(jī)上時(shí),它是驅(qū)動(dòng)程序的入口函數(shù),USBD模塊調(diào)用此函數(shù),這個(gè)函數(shù)主要用于初始化無(wú)線網(wǎng)卡模塊,取得無(wú)線網(wǎng)卡設(shè)備信息,配置無(wú)線網(wǎng)卡設(shè)備,并且申請(qǐng)必需的資源.它依次調(diào)用下面三個(gè)函數(shù): RegisterClientDriverID、RegisterClientSetings、和GetSetKeyValue和完成注冊(cè)表的配置.
(2)USBInstallDriver()函數(shù).首先實(shí)現(xiàn)主控制器相關(guān)寄存器的初始化,在獲取網(wǎng)卡信息的情況下,指定網(wǎng)卡總線的類型和設(shè)備中斷ID號(hào),然后為片內(nèi)存儲(chǔ)器分配內(nèi)存,綁定虛擬地址.另外,主要用于創(chuàng)建一個(gè)驅(qū)動(dòng)程序加載所需的注冊(cè)表信息,例如網(wǎng)卡讀寫超時(shí),設(shè)備名稱等,同時(shí)為包括網(wǎng)卡控制流程信息提供進(jìn)程.
(3)USBUninstallDriver()函數(shù).主要用于釋放驅(qū)動(dòng)程序所占用的資源,釋放其他進(jìn)程所占用的內(nèi)存空間,以及刪除USBInstallDriver()函數(shù)創(chuàng)建的注冊(cè)表等.這個(gè)過(guò)程與USBInstallDriver()函數(shù)操作順序相反.解除注冊(cè)信息,可以使空函數(shù).
3.2系統(tǒng)流接口驅(qū)動(dòng)函數(shù)實(shí)現(xiàn)
USB無(wú)線網(wǎng)卡驅(qū)動(dòng)程序?qū)崿F(xiàn)流接口形式驅(qū)動(dòng)以后,文件系統(tǒng)的API接口通過(guò)訪問(wèn)特殊文件來(lái)實(shí)現(xiàn)與設(shè)備信息的交換,流接口函數(shù)直接調(diào)用與硬件設(shè)備相關(guān)的處理函數(shù),省去層與層之間調(diào)用和信息傳遞,有利于提高驅(qū)動(dòng)實(shí)現(xiàn)的實(shí)時(shí)性.在系統(tǒng)軟件整體框架的基礎(chǔ)上,設(shè)計(jì)系統(tǒng)流接口驅(qū)動(dòng)函數(shù)實(shí)現(xiàn)流程如圖5所示[11,12].
在軟件實(shí)現(xiàn)前,系統(tǒng)首先檢測(cè)USB無(wú)線網(wǎng)卡硬件是否連接,如果找到相應(yīng)的硬件設(shè)備,打開設(shè)備管理器Device.exe,連接I/O控制,查詢到設(shè)備后加載驅(qū)動(dòng)配置傳輸模式,根據(jù)獲取的加載流驅(qū)動(dòng)程序是否成功調(diào)用API命令決定是否再加載,直至成功加載,關(guān)閉設(shè)備.USB無(wú)線網(wǎng)卡流接口驅(qū)動(dòng)是通過(guò)初始化函數(shù)USB_Init、打開設(shè)備管理函數(shù)USB_Open、I/O控制函數(shù)USB_ IOControl、從系統(tǒng)總線讀取圖像信息函數(shù)USB_ Read、向系統(tǒng)總線寫入控制命令函數(shù)USB_Write、設(shè)備卸載函數(shù)USB_Deinit等9個(gè)基本功能函數(shù)來(lái)實(shí)現(xiàn)[13].
圖5 軟件實(shí)現(xiàn)流程圖
系統(tǒng)通過(guò)驅(qū)動(dòng)程序提供的入口函數(shù)和上述接口函數(shù)實(shí)現(xiàn),在USB無(wú)線網(wǎng)卡實(shí)現(xiàn)過(guò)程中完成了硬件的初始化、時(shí)序同步、信息流控制等功能,起到設(shè)備的控制中樞作用.在流式驅(qū)動(dòng)開發(fā)完成后,通過(guò)編寫應(yīng)用程序在嵌入式終端的觸摸屏上顯示出來(lái).流接口函數(shù)直接調(diào)用與硬件設(shè)備相關(guān)的處理函數(shù),省去層與層之間調(diào)用和信息傳遞,有利于提高系統(tǒng)工作過(guò)程控制的實(shí)時(shí)性.
完成基于流式接口驅(qū)動(dòng)的USB無(wú)線網(wǎng)卡驅(qū)動(dòng)開發(fā)以后,需要對(duì)系統(tǒng)的性能和一些參數(shù)進(jìn)行現(xiàn)場(chǎng)調(diào)試.和其他接口不一樣,USB無(wú)線網(wǎng)卡模塊可以輕松實(shí)現(xiàn)熱插拔,嵌入式系統(tǒng)會(huì)自動(dòng)識(shí)別到接口有硬件載入,并調(diào)用內(nèi)核無(wú)線網(wǎng)卡驅(qū)動(dòng)程序?qū)崿F(xiàn)它們之間數(shù)據(jù)的交互,USB無(wú)線網(wǎng)卡模塊驅(qū)動(dòng)程序初始化包括注冊(cè)表的寫入,函數(shù)的加載啟動(dòng)信息反饋到調(diào)試軟件上,無(wú)線模塊在加載驅(qū)動(dòng)時(shí)的啟動(dòng)信息如圖6所示.
圖6 USB無(wú)線網(wǎng)卡驅(qū)動(dòng)加載信息
調(diào)試中已經(jīng)配好無(wú)線通信網(wǎng)絡(luò),從系統(tǒng)的無(wú)線網(wǎng)卡窗口會(huì)搜索到相關(guān)的無(wú)線信息,如圖7所示.在調(diào)試中使用無(wú)線寬帶路由器,系統(tǒng)會(huì)自動(dòng)搜索到,設(shè)置好安全選項(xiàng)之后連接即可.
圖7 USB無(wú)線網(wǎng)卡連接
從USB無(wú)線網(wǎng)卡現(xiàn)場(chǎng)測(cè)試環(huán)境和結(jié)果看來(lái),設(shè)計(jì)基于流式接口驅(qū)動(dòng)的USB無(wú)線系統(tǒng)具有體積小、功耗低、運(yùn)行速度快、連接方便等特點(diǎn),設(shè)計(jì)具有友好的人機(jī)交互界面,具有很好的實(shí)用推廣價(jià)值.
Windows CE系統(tǒng)流接口設(shè)備驅(qū)動(dòng)程序是一種結(jié)構(gòu)比較簡(jiǎn)潔的驅(qū)動(dòng)程序,在Windows CE驅(qū)動(dòng)中占有重要的位置.本文在透徹了解了驅(qū)動(dòng)開發(fā)的機(jī)理后,以USB無(wú)線網(wǎng)卡驅(qū)動(dòng)開發(fā)為例詳細(xì)闡述平臺(tái)流接口驅(qū)動(dòng)整體流程設(shè)計(jì)與驅(qū)動(dòng)函數(shù)實(shí)現(xiàn)方式,表明系統(tǒng)運(yùn)行穩(wěn)定、可靠,基本滿足系統(tǒng)設(shè)計(jì)的目標(biāo)要求.在此基礎(chǔ)上,還可以向驅(qū)動(dòng)程序中添加自己需要實(shí)現(xiàn)的其它功能,甚至應(yīng)用程序的一部份功能也可以在加載驅(qū)動(dòng)時(shí)實(shí)現(xiàn),為其他類似驅(qū)動(dòng)開發(fā)提供參考,同時(shí)也為后期有特殊需要的應(yīng)用程序開發(fā)奠定基礎(chǔ).
參考文獻(xiàn)
1張冬泉,譚南林,王雪梅等.Windows CE 實(shí)用開發(fā)技術(shù).北京: 電子工業(yè)出版社,2006.
2陳凱,鄧明,張啟東等.大地電磁儀的Windows CE啟動(dòng)程序設(shè)計(jì).計(jì)算機(jī)工程,2008,34(13):277–279.
3賈銀潔,許鵬飛.USB無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的設(shè)計(jì).廣東電腦與電訊,2007(10):13–14.
4葉學(xué)程,鄭霖.嵌入式Linux的USB—Chirp無(wú)線網(wǎng)卡驅(qū)動(dòng)設(shè)計(jì).單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(7):53–56.
5侯戰(zhàn)勝,姚放吾.基于i.MX21的AdHoc網(wǎng)絡(luò)終端的設(shè)計(jì)與實(shí)現(xiàn).微機(jī)發(fā)展,2010(1).5–8.
6鄭秀杰.基于嵌入式WinCE 6.0的脈沖/數(shù)據(jù)發(fā)生器軟件設(shè)計(jì).現(xiàn)代電子技術(shù),2013,12:83–85.
7何宗鍵.Windows CE嵌入式系統(tǒng).北京:北京航空航天大學(xué)出版社,2006.
8龔小林,段建紅.基于Windows CE.Net嵌入式系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用.現(xiàn)代電子技術(shù),2013,32(20):71–74.
9辛華峰,于楓,譚健,王文麗.嵌入式 USB 主從機(jī)應(yīng)用模塊.吉林大學(xué)學(xué)報(bào)(工學(xué)版),2005,35(2):18–21.
10劉全利,宋健軍,王偉.基于USB總線的多功能車輛總線網(wǎng)卡設(shè)計(jì)與實(shí)現(xiàn).上海交通大學(xué)學(xué)報(bào),2011,45(8):1207–1210.
11胡彬彬,郭淑琴.支持WPA加密的無(wú)線網(wǎng)卡驅(qū)動(dòng)分析與功能實(shí)現(xiàn).電聲技術(shù),2014,38:82–85.
12Purcell,A.Quickly and easily automate test systems with USB.Electronic Design,2002,50 (23):67–70.
13汪兵.Windows CE嵌入式高級(jí)編程及其實(shí)例詳解.北京:中國(guó)水利水電出版社,2008.
USB Wireless Network Card Based on Stream Interface-driven
PAN Ze-Kai,QIN Gui-Li,LUO Yun-Fang
(Department of Computer and Electronic Information Engineering,Guangxi Polytechnic,Nanning 530226,China)
Abstract:Aimed at Windows CE system-driven development,the development and design of USB wireless network adapter under the frame of streaming interface drive mode strategy is proposed.The overall process design of the platform streaming interface drive and the function implementation mode of USB wireless network adapter are elaborated.Field testing results show that the system is stable and reliable in operation and can basically satisfy the service objects of the system design.
Key words:stream interface; embedded systems; USB; wireless network card
基金項(xiàng)目:① 廣西區(qū)教育廳自然科學(xué)基金(YB2014488,KY2015YB384);廣西職業(yè)技術(shù)學(xué)院自然科學(xué)資金(121208)
收稿時(shí)間:2015-08-14;收到修改稿時(shí)間:2015-09-28