新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CCD信號采集系統(tǒng)的USB接口設(shè)計(jì)

CCD信號采集系統(tǒng)的USB接口設(shè)計(jì)

作者: 時(shí)間:2011-04-07 來源:網(wǎng)絡(luò) 收藏


(1)Windows DDK(Device Driver Kits),DDK基于匯編語言的編程方式和內(nèi)核模式的調(diào)用,對沒有深厚的操作原理和編程水平的人員來說,任務(wù)相當(dāng)艱巨。

(2)NuMega公司的Driverstudio工具開發(fā)包,其中的DriverWorks實(shí)際上實(shí)現(xiàn)了對DDK類的封裝,可以提供給用戶驅(qū)動程序的開發(fā)框架,只需用戶在相應(yīng)的代碼段中加入自己的控制代碼即可,不必了解內(nèi)核機(jī)制,大大加速了外設(shè)的開發(fā)速度。本就是使用DriverWorks來開發(fā)設(shè)備驅(qū)動程序的。生成的應(yīng)用函數(shù)在VC中調(diào)用,大大降低了主機(jī)軟件的難度。

3.3 用戶應(yīng)用程序

應(yīng)用程序?qū)崿F(xiàn)的功能有:啟動/關(guān)閉設(shè)備,設(shè)置USB數(shù)據(jù)傳輸管道/端口,數(shù)據(jù),顯示數(shù)據(jù)等。這里,采用VisualC++6.0作為程序的開發(fā)環(huán)境,并且充分運(yùn)用了多線程的編程思想。從而實(shí)現(xiàn)同時(shí)進(jìn)行數(shù)據(jù)與實(shí)時(shí)顯示。

為了實(shí)現(xiàn)與驅(qū)動程序的通信,應(yīng)用程序首先創(chuàng)建一個(gè)事件和一個(gè)線程,再將事件句柄傳遞給WDM,用這一線程來等待WDM發(fā)送的事件消息,接收到事件消息后,就讀取驅(qū)動程序的數(shù)據(jù),顯示數(shù)據(jù)。

在Windows中,Win32應(yīng)用程序調(diào)用的APl函數(shù)有5個(gè);CreateFile(),ReadFile(),WriteFi|e(),DeviceloControl()和CloseHandle()。
應(yīng)用程序?yàn)榇蜷_一個(gè)WDM設(shè)備驅(qū)動程序,使用CreateFile()函數(shù)。他的第一個(gè)參數(shù)是一個(gè)符號鏈接名。如果用DriverWorks創(chuàng)建一個(gè)WDM驅(qū)動程序,通常會用類KUnitizedName生成一個(gè)設(shè)備符號鏈接名。這名字的后面有一個(gè)數(shù)字,一般是一個(gè)o。例如,若符號鏈接名為USBDevice,則傳遞給CreateFile()的是\\\\.\\USBDevice0。

一旦應(yīng)用程序獲得設(shè)備的有效句柄,他就能夠調(diào)用Win32函數(shù),這將產(chǎn)生對應(yīng)于此設(shè)備對象的相應(yīng)IRP,發(fā)送給驅(qū)動程序,完成相應(yīng)功能。這種關(guān)系如表1所示。

本文引用地址:http://2s4d.com/article/150883.htm

4 結(jié) 語

系統(tǒng)利用USB技術(shù)實(shí)現(xiàn)與計(jì)算機(jī)通信,有眾多的優(yōu)點(diǎn):
①安裝方便,支持即插即用。
②供電方便,可直接由主機(jī)通過USB提供5V的電壓。
⑧性價(jià)比高,遠(yuǎn)優(yōu)于并行口和串行口的圖像采集系統(tǒng)。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉