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