基于USB接口1553B總線(xiàn)設備檢測系統設計
通過(guò)DriveStudio初步建立一個(gè)驅動(dòng)程序框架后,我們只要修改TESTFIRMDevice.h和TESTFIRMDevice.cpp就可以了,修改完畢后,可以發(fā)現使用DriveStudio向導生成的USB設備驅動(dòng)程序,不僅不需要對底層的硬件進(jìn)行編程,甚至可以忽略與硬件控制緊密相關(guān)的復雜的Windows數據結構(如,URB、IPR)、API函數(DriveEntry()、IoCreateDevice()、AddDevice())的使用。
用DriveWizard創(chuàng )建USB框架程序自動(dòng)生成的兩個(gè)工程(Project)文件:TESTFIRM驅動(dòng)程序工程和Test_TESTFIRM應用程序工程,將光標定位在其中一個(gè)工程上之后,單擊右鍵,選擇“set as Acnve Pmiect”即可設置該工程為當前活動(dòng)工程。對于驅動(dòng)程序編譯,不用進(jìn)行任何設置,單擊Build圖標即可生成USB驅動(dòng)程序TESTFIRM.sys文件。
3.3 通信程序
因為DriveStudio已經(jīng)替我們把核心驅動(dòng)程序基本開(kāi)發(fā)完了,在本設計中,只要掌握WriteFile和ReadFile兩個(gè)函數的使用就可以進(jìn)行簡(jiǎn)單的USB通信了。由于DriveStudio所用的類(lèi)庫是對DDK函數一定程度的封裝,必須在 VB、VC++等軟件開(kāi)發(fā)環(huán)境中編譯,創(chuàng )建自己的庫文件,所以很容易為程序增加了圖形界面,使用戶(hù)操作更加方便。本設計測試軟件流程如圖3所示。
圖3 測試軟件主流程圖
當USB設備與PC通信時(shí),USB設備是從設備,PC是主設備。PC機通過(guò)檢測USB總線(xiàn)數據端電平判斷是否接入或拔出USB設備。PC檢測到USB設備后,調用USB設備函數。如果設備被正確打開(kāi),軟件開(kāi)啟監聽(tīng)USB設備線(xiàn)程,以20ms周期輪詢(xún)USB接收數據接口。一旦接收到數據,數據就被分析并且回顯到界面上,直到線(xiàn)程被中斷。
4 結論
1553B總線(xiàn)是當前飛機系統中廣泛應用的總線(xiàn)類(lèi)型,將它與USB總線(xiàn)融合起來(lái)具十分重要的實(shí)際意義。在開(kāi)發(fā)過(guò)程中,利用DriveStudio與DDK配合進(jìn)行開(kāi)發(fā)USB驅動(dòng)程序,大大提高了開(kāi)發(fā)的效率。本設計在實(shí)際設備測試中,板卡可以穩定工作,測試軟件工作正常,滿(mǎn)足項目設計要求。
評論