基于PXI總線的數(shù)據(jù)采集卡的WDM驅(qū)動程序設(shè)計
引 言
Windows驅(qū)動程序模型(Windows driver model,WDM)是Microsoft公司力推的全新驅(qū)動程序模式,與以前的驅(qū)動程序模型比較,它支持即插即用(plug and play,PnP)、電源管理和Windows管理診斷WMI等技術(shù)。在Windows操作平臺上,WDM已成為主流的驅(qū)動模型,但這也給WDM驅(qū)動程序的開發(fā)人員提出了許多新的挑戰(zhàn),即便是開發(fā)和測試最簡單的設(shè)備驅(qū)動程序也變得比以前任何時候都復雜。DriverWorks由NuMega公司開發(fā),主要為開發(fā)Windows98、Windows 2000和Windows NT的WDM設(shè)備驅(qū)動程序提供了一個自動化的方法,使驅(qū)動程序的開發(fā)相對于使用Microsoft公司提供的設(shè)備驅(qū)動程序開發(fā)包(device driverskit,DDK)工具更加容易;并且它可以集成到VC++6.0開發(fā)環(huán)境中(后面要介紹的功能實現(xiàn)都是在用VC++6.0集成環(huán)境生成的驅(qū)動程序框架中編寫的),可以引導完成設(shè)備驅(qū)動程序開發(fā)的全過程,這樣就可以像生成其他工程一樣根據(jù)硬件種類自動生成設(shè)備驅(qū)動程序框架,省去了大量編寫代碼的時間。本文就是利用DriverWorks開發(fā)工具開發(fā)基于PXI總線的數(shù)據(jù)采集卡的WDM驅(qū)動程序。
1 PXI總線數(shù)據(jù)采集卡的硬件框圖
該數(shù)據(jù)采集系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示,該系統(tǒng)包括數(shù)據(jù)采集模塊、F先進先出數(shù)據(jù)緩存模塊、接口電路模塊和CPLD系統(tǒng)控制器模塊4個部分。待采樣的模擬信號經(jīng)由數(shù)據(jù)采集模塊進行數(shù)據(jù)采集,采樣后經(jīng)過轉(zhuǎn)換得到的數(shù)字信號先被送入先進先出存儲器進行緩存,當緩存器所存儲的數(shù)據(jù)達到半滿/全滿時,將發(fā)送一個半滿/全滿標志信號,觸發(fā)中斷,由系統(tǒng)控制器通過PXI總線讀取數(shù)據(jù)。整個系統(tǒng)的工作邏輯時序控制由1片CPLD控制芯片來編程實現(xiàn),接口邏輯采用通用的PXI總線接口邏輯芯片PCI9030來實現(xiàn)。
評論