METTLER 405-60-SC-P-PA
DriverWorks由NuMega公司開發,主要為開發Windows98、Windows 2000和Windows NT的WDM設備驅動程序提供了一個自動化的方法,使驅動程序的開發相對于使用Microsoft公司提供的設備驅動程序開發包(device driverskit,DDK)工具更加容易;并且它可以集成到VC++6.0開發環境中(后面要介紹的功能實現都是在用VC++6.0集成環境生成的驅動程序框架中編寫的),可以引導完成設備驅動程序開發的全過程,這樣就可以像生成其他工程一樣根據硬件種類自動生成設備驅動程序框架,省去了大量編寫代碼的時間。本文就是利用DriverWorks開發工具開發基于PXI總線的數據采集卡的WDM驅動程序。
1 PXI總線數據采集卡的硬件框圖
該數據采集系統的硬件結構框圖如圖1所示,該系統包括數據采集模塊、F先進先出數據緩存模塊、接口電路模塊和CPLD系統控制器模塊4個部分。待采樣的模擬信號經由數據采集模塊進行數據采集,采樣后經過轉換得到的數字信號先被送入先進先出存儲器進行緩存,當緩存器所存儲的數據達到半滿/全滿時,將發送一個半滿/全滿標志信號,觸發中斷,由系統控制器通過PXI總線讀取數據。整個系統的工作邏輯時序控制由1片CPLD控制芯片來編程實現,接口邏輯采用通用的PXI總線接口邏輯芯片PCI9030來實現。
2 驅動程序設計
2.1 中斷過程調用
當FIFO數據緩存器讀取的數據達到半滿/全滿時,其相應半滿/全滿信號線會走低,該信號線與PCI9030芯片的外部觸發中斷輸入管腳相連,從而觸發中斷,主模塊通過PXI總線接口芯片讀取FIFO中的數據,其中斷服務例程如下:
2.2 中斷延遲過程調用
中斷服務例程的處理時間應當盡可能短,并且由于中斷服務例程在DIRQL級別上運行,很多函數不能調用,所以通常是在延遲過程調用例程中做大部分的中斷處理工作。本系統延遲例程調用相關程序