通用線陣CCD采集系統(tǒng)設(shè)計
2.3 軟件設(shè)計
軟件設(shè)計主要包括3方面工作:USB驅(qū)動程序設(shè)計、動態(tài)鏈接庫設(shè)計以及應(yīng)用處理軟件設(shè)計。
2.3.1 USB驅(qū)動程序設(shè)計
EZ-USB提供的FPD(通用設(shè)備驅(qū)動程序)是一個通用的設(shè)備驅(qū)動程序。利用Microsoft WDM DDK和Visiual C++5.0以上版本就可以修改和編譯驅(qū)動程序,生成文件ezusb.sys。具體操作如下:①修改驅(qū)動程序的PID。在工程里EzUsbDevice.cpp文件中修改PID.VID延用0x0547不變,PID自行設(shè)定。②利用hex2c.exe將USB固件Intel HEX記錄格式的代碼文件轉(zhuǎn)換為C文件,打開該C文件,用其中的firmware[]數(shù)組代替在工程里zUsbFirmware.cpp文件中提供的數(shù)組。③編譯生成ezusb.sys文件并編寫相應(yīng)的INF文件。
2.3.2 動態(tài)鏈接庫設(shè)計
動態(tài)鏈接庫主要是通過I/O控制調(diào)用來訪問EZ-USBGPD。通過調(diào)用CreateFile()來取得訪問設(shè)備驅(qū)動程序的句柄,然后使用DeviceIoControl()提交不同I/O控制碼,從而完成USB的控制和輸入/輸出操作。
2.3.3 應(yīng)用處理軟件設(shè)計
應(yīng)用軟件通過訪問動態(tài)鏈接庫(DLL)獲取采集譜線數(shù)據(jù),其主要功能有顯示、設(shè)置積分時間、定格譜線、保存、捕捉、局部放大、添加譜線。
3 測試結(jié)果
采用通用CCD采集系統(tǒng)分別對3款CCD進(jìn)行驅(qū)動和采集。這3種CCD的參數(shù)如表2所示。使用應(yīng)用軟件EMSpectro采集上述CCD譜線,采集效果如圖4所示。
4 結(jié)束語
采用該系統(tǒng)對3種不同型號CCD成功驅(qū)動并采集,測試結(jié)果達(dá)到了預(yù)期的效果。系統(tǒng)體積小、功耗低、兼容性好、可擴(kuò)展性高。該系統(tǒng)已成功應(yīng)用于實驗室開發(fā)CCD相關(guān)項目中。
評論