基于CPCI和光纖接口的數(shù)據(jù)采集卡設(shè)計(jì)與實(shí)現(xiàn)
3 CPCI驅(qū)動(dòng)的開發(fā)
開發(fā)基于PCI的數(shù)據(jù)采集卡的驅(qū)動(dòng)程序,主要有三個(gè)方面的問(wèn)題:硬件訪問(wèn)、中斷處理和DMA傳輸。
結(jié)合實(shí)際要求,從開發(fā)效率和驅(qū)動(dòng)程序的執(zhí)行效率兩方面考慮,這里選擇使用DriverStudio進(jìn)行驅(qū)動(dòng)程序的開發(fā)。DriverStudio是一整套開發(fā)、調(diào)試和檢測(cè)Windows平臺(tái)下設(shè)備驅(qū)動(dòng)程序的工具軟件包。它提供了一套完整的調(diào)試和性能測(cè)試工具,例如Driver Works,Drivet Monitor和SoftICE等。DriverWorks把微軟的DDK用類的形式進(jìn)行封裝,簡(jiǎn)化了WDM驅(qū)動(dòng)程序的開發(fā),使用非常方便;SoftICE用來(lái)調(diào)試內(nèi)核模式的驅(qū)動(dòng)程序;DriverMonitor可以很方便地觀察驅(qū)動(dòng)程序的調(diào)試信息。DriverStudio所具備的高性能工具和對(duì)現(xiàn)代軟件工程的實(shí)踐,很大程度上方便了設(shè)備驅(qū)動(dòng)程序的編寫。所以選擇DriverStudio開發(fā)設(shè)備驅(qū)動(dòng)程序。
下面以DMA傳輸為例,介紹CPCI驅(qū)動(dòng)程序的開發(fā):
編寫WDM驅(qū)動(dòng)程序的DMA傳輸有特定的機(jī)制。DriverStudio中DMA整體的流程大致如下:當(dāng)應(yīng)用程序發(fā)出IRP_M J_READ的Irp后,驅(qū)動(dòng)程序調(diào)用Irp的處理函數(shù)Handler,在這個(gè)Handler中初始化KDMATransfer,初始化完畢就調(diào)用DMAReady()函數(shù),在DMAReady()函數(shù)中啟動(dòng)首次DMA傳輸即StartDMA,傳輸完后發(fā)生中斷,在中斷里調(diào)用Continue()啟動(dòng)下次傳輸,直到全部數(shù)據(jù)完成。DMA過(guò)程的流程圖如圖8所示。本文引用地址:http://www.ex-cimer.com/article/193717.htm
4 結(jié)語(yǔ)
文中設(shè)計(jì)的基于CPCI總線的通用雷達(dá)接收機(jī)測(cè)試系統(tǒng),采用了光纖作為雷達(dá)數(shù)據(jù)傳輸?shù)耐ǖ溃哂休^好的數(shù)據(jù)處理能力。實(shí)驗(yàn)證明該系統(tǒng)的軟硬件設(shè)計(jì)是成功的,可對(duì)多型雷達(dá)的性能進(jìn)行快速的測(cè)試。該設(shè)計(jì)對(duì)于數(shù)據(jù)處理要求高、實(shí)時(shí)性強(qiáng)、數(shù)據(jù)量大、處理算法復(fù)雜多變的雷達(dá)信號(hào)處理系統(tǒng),有著重要的實(shí)際意義,具有廣闊的應(yīng)用前景。
評(píng)論