基于PXI總線(xiàn)的數據采集卡的WDM驅動(dòng)程序設計

發(fā)布時(shí)間:2010-7-24 17:04    發(fā)布者:conniede
0 引 言

Windows驅動(dòng)程序模型(Windows driver model,WDM)是Microsoft公司力推的全新驅動(dòng)程序模式,與以前的驅動(dòng)程序模型比較,它支持即插即用(plug and play,PnP)、電源管理和Windows管理診斷WMI等技術(shù)。在Windows操作平臺上,WDM已成為主流的驅動(dòng)模型,但這也給WDM驅動(dòng)程序的開(kāi)發(fā)人員提出了許多新的挑戰,即便是開(kāi)發(fā)和測試最簡(jiǎn)單的設備驅動(dòng)程序也變得比以前任何時(shí)候都復雜。DriverWorks由NuMega公司開(kāi)發(fā),主要為開(kāi)發(fā)Windows98、Windows 2000和Windows NT的WDM設備驅動(dòng)程序提供了一個(gè)自動(dòng)化的方法,使驅動(dòng)程序的開(kāi)發(fā)相對于使用Microsoft公司提供的設備驅動(dòng)程序開(kāi)發(fā)包(device driverskit,DDK)工具更加容易;并且它可以集成到VC++6.0開(kāi)發(fā)環(huán)境中(后面要介紹的功能實(shí)現都是在用VC++6.0集成環(huán)境生成的驅動(dòng)程序框架中編寫(xiě)的),可以引導完成設備驅動(dòng)程序開(kāi)發(fā)的全過(guò)程,這樣就可以像生成其他工程一樣根據硬件種類(lèi)自動(dòng)生成設備驅動(dòng)程序框架,省去了大量編寫(xiě)代碼的時(shí)間。本文就是利用DriverWorks開(kāi)發(fā)工具開(kāi)發(fā)基于PXI總線(xiàn)的數據采集卡的WDM驅動(dòng)程序。

1 PXI總線(xiàn)數據采集卡的硬件框圖

該數據采集系統的硬件結構框圖如圖1所示,該系統包括數據采集模塊、F先進(jìn)先出數據緩存模塊、接口電路模塊和CPLD系統控制器模塊4個(gè)部分。待采樣的模擬信號經(jīng)由數據采集模塊進(jìn)行數據采集,采樣后經(jīng)過(guò)轉換得到的數字信號先被送入先進(jìn)先出存儲器進(jìn)行緩存,當緩存器所存儲的數據達到半滿(mǎn)/全滿(mǎn)時(shí),將發(fā)送一個(gè)半滿(mǎn)/全滿(mǎn)標志信號,觸發(fā)中斷,由系統控制器通過(guò)PXI總線(xiàn)讀取數據。整個(gè)系統的工作邏輯時(shí)序控制由1片CPLD控制芯片來(lái)編程實(shí)現,接口邏輯采用通用的PXI總線(xiàn)接口邏輯芯片PCI9030來(lái)實(shí)現。


2 驅動(dòng)程序設計

2.1 中斷過(guò)程調用

當FIFO數據緩存器讀取的數據達到半滿(mǎn)/全滿(mǎn)時(shí),其相應半滿(mǎn)/全滿(mǎn)信號線(xiàn)會(huì )走低,該信號線(xiàn)與PCI9030芯片的外部觸發(fā)中斷輸入管腳相連,從而觸發(fā)中斷,主模塊通過(guò)PXI總線(xiàn)接口芯片讀取FIFO中的數據,其中斷服務(wù)例程如下:


2.2 中斷延遲過(guò)程調用

中斷服務(wù)例程的處理時(shí)間應當盡可能短,并且由于中斷服務(wù)例程在DIRQL級別上運行,很多函數不能調用,所以通常是在延遲過(guò)程調用例程中做大部分的中斷處理工作。本系統延遲例程調用相關(guān)程序如下:


2.3 讀取數據

對于數據的讀取,主要是在SerialRead()例程中實(shí)現的,其主要程序語(yǔ)句如下:


2.4 SerialWrite()例程

數據采集卡硬件系統的初始化和肩動(dòng)工作主要在Se-rialWrite例程中實(shí)現,其相關(guān)部分程序
如下:


3 應用程序設計

編寫(xiě)驅動(dòng)程序本身不是最終目的,最終目的是調用驅動(dòng)程序管理資源,并為用戶(hù)應用程序使用。這里采用的是console控制臺應用程序,其基本框架也可以由Driverstuio自動(dòng)生成,只需在現有的框架里面插入相應的代碼就可粵耍?渲骱?齧ain()的相應代碼如下:


4 結束語(yǔ)

DriverWorks是一款功能強大、使用方便的驅動(dòng)程序開(kāi)發(fā)工具,利用它可以方便快捷地構造PCI設備的驅動(dòng)程序框架,大大加快了開(kāi)發(fā)周期,提高了開(kāi)發(fā)效率?刂婆_應用程序的優(yōu)點(diǎn)是開(kāi)發(fā)起來(lái)方便、快捷,但在數據的圖形化顯示方面卻有所不足,如果將驅動(dòng)程序與VC或者LabVIEW等圖形化應用程序編程環(huán)境相結合,就可以編制出界面更加友好、功能更為強大的數據采集系統軟件平臺。
本文地址:http://selenalain.com/thread-16651-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页