0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析關(guān)于PXI總線的數(shù)據(jù)采集卡的WDM驅(qū)動程序設(shè)計(jì)

電子工程師 ? 來源:國外電子測量技術(shù) ? 作者:王朋 李智 ? 2021-04-06 15:43 ? 次閱讀

“本文給出了一種基于PXI總線的數(shù)據(jù)采集系統(tǒng)的硬件原理框圖。針對該硬件系統(tǒng),采用DriverWorks驅(qū)動程序開發(fā)工具開發(fā)了相應(yīng)的WDM驅(qū)動程序和控制臺應(yīng)用程序?!?/p>

0 引 言

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ū)動程序也變得比以前任何時候都復(fù)雜。

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)境中(后面要介紹的功能實(shí)現(xiàn)都是在用VC++6.0集成環(huán)境生成的驅(qū)動程序框架中編寫的),可以引導(dǎo)完成設(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先進(jìn)先出數(shù)據(jù)緩存模塊、接口電路模塊和CPLD系統(tǒng)控制器模塊4個部分。待采樣的模擬信號經(jīng)由數(shù)據(jù)采集模塊進(jìn)行數(shù)據(jù)采集,采樣后經(jīng)過轉(zhuǎn)換得到的數(shù)字信號先被送入先進(jìn)先出存儲器進(jìn)行緩存,當(dāng)緩存器所存儲的數(shù)據(jù)達(dá)到半滿/全滿時,將發(fā)送一個半滿/全滿標(biāo)志信號,觸發(fā)中斷,由系統(tǒng)控制器通過PXI總線讀取數(shù)據(jù)。整個系統(tǒng)的工作邏輯時序控制由1片CPLD控制芯片編程實(shí)現(xiàn),接口邏輯采用通用的PXI總線接口邏輯芯片PCI9030來實(shí)現(xiàn)。

o4YBAGBsD_WAAHuQAACla_jMr9E783.png

2 驅(qū)動程序設(shè)計(jì)

2.1 中斷過程調(diào)用

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

pIYBAGBsEFqAXz5WAACySPOPIUA774.png

2.2 中斷延遲過程調(diào)用

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

o4YBAGBsEGeACT8nAADXjRmmPqk923.png

2.3 讀取數(shù)據(jù)

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

pIYBAGBsEByAO9_iAADXCFGKtWY371.png

2.4 SerialWrite()例程

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

o4YBAGBsD7-ATqEZAAHsmqMNqbk471.png

3 應(yīng)用程序設(shè)計(jì)

編寫驅(qū)動程序本身不是最終目的,最終目的是調(diào)用驅(qū)動程序管理資源,并為用戶應(yīng)用程序使用。這里采用的是console控制臺應(yīng)用程序,其基本框架也可以由Driverstuio自動生成,只需在現(xiàn)有的框架里面插入相應(yīng)的代碼就可以了,其主函數(shù)main()的相應(yīng)代碼如下:

o4YBAGBsD6mANRcJAAFu5JhUjEM438.png

4 結(jié)束語

DriverWorks是一款功能強(qiáng)大、使用方便的驅(qū)動程序開發(fā)工具,利用它可以方便快捷地構(gòu)造PCI設(shè)備的驅(qū)動程序框架,大大加快了開發(fā)周期,提高了開發(fā)效率??刂婆_應(yīng)用程序的優(yōu)點(diǎn)是開發(fā)起來方便、快捷,但在數(shù)據(jù)的圖形化顯示方面卻有所不足,如果將驅(qū)動程序與VC或者LabVIEW等圖形化應(yīng)用程序編程環(huán)境相結(jié)合,就可以編制出界面更加友好、功能更為強(qiáng)大的數(shù)據(jù)采集系統(tǒng)軟件平臺。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    38

    文章

    5697

    瀏覽量

    113318
  • DWDM
    +關(guān)注

    關(guān)注

    0

    文章

    116

    瀏覽量

    36357
  • PXI總線
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    11210
收藏 人收藏

    評論

    相關(guān)推薦

    圖像采集卡:增強(qiáng)視覺數(shù)據(jù)采集

    圖像采集卡介紹:在視覺數(shù)據(jù)采集領(lǐng)域,圖像采集卡在捕獲和處理來自各種來源的圖像或視頻方面發(fā)揮著關(guān)鍵作用。在本文中,我們將深入探討圖像采集卡的世界、其功能、應(yīng)用以及它們在視覺
    的頭像 發(fā)表于 09-24 11:06 ?197次閱讀
    圖像<b class='flag-5'>采集卡</b>:增強(qiáng)視覺<b class='flag-5'>數(shù)據(jù)采集</b>

    EPSON差分振蕩器賦能數(shù)據(jù)采集卡,讓數(shù)據(jù)更精準(zhǔn)

    什么是數(shù)據(jù)采集卡?數(shù)據(jù)采集是指對設(shè)備被測的模擬或數(shù)字信號,自動采集并送到上位機(jī)中進(jìn)行分析、處理。數(shù)據(jù)采集卡,即實(shí)現(xiàn)數(shù)據(jù)采集功能的計(jì)算機(jī)擴(kuò)展
    的頭像 發(fā)表于 07-22 14:36 ?220次閱讀
    EPSON差分振蕩器賦能<b class='flag-5'>數(shù)據(jù)采集卡</b>,讓<b class='flag-5'>數(shù)據(jù)</b>更精準(zhǔn)

    YXC差分振蕩器賦能數(shù)據(jù)采集卡,讓數(shù)據(jù)更精準(zhǔn)!

    數(shù)據(jù)采集是指對設(shè)備被測的模擬或數(shù)字信號,自動采集并送到上位機(jī)中進(jìn)行分析、處理。數(shù)據(jù)采集卡,即實(shí)現(xiàn)數(shù)據(jù)采集功能的計(jì)算機(jī)擴(kuò)展,可以通過USB、
    的頭像 發(fā)表于 07-19 16:14 ?202次閱讀

    多通道數(shù)據(jù)采集卡各通道不獨(dú)立的原因

    多通道數(shù)據(jù)采集卡(Multi-channel Data Acquisition Card,簡稱MDA)是一種用于采集、存儲和處理多路信號的電子設(shè)備。它廣泛應(yīng)用于工業(yè)自動化、科研、醫(yī)療、通信等領(lǐng)域
    的頭像 發(fā)表于 07-02 09:12 ?477次閱讀

    簡單易用的以太網(wǎng)數(shù)據(jù)采集卡應(yīng)用開發(fā)之C#

    C#語言以太網(wǎng)數(shù)據(jù)采集卡的開發(fā)。
    的頭像 發(fā)表于 05-17 14:25 ?605次閱讀
    簡單易用的以太網(wǎng)<b class='flag-5'>數(shù)據(jù)采集卡</b>應(yīng)用開發(fā)之C#

    ni數(shù)據(jù)采集卡的工作原理解析

    數(shù)據(jù)采集卡(Data Acquisition Card)是一種用于將外部信號轉(zhuǎn)換為數(shù)字信號并傳輸給計(jì)算機(jī)的硬件設(shè)備。它通常由模數(shù)轉(zhuǎn)換器(ADC)、數(shù)字信號處理器(DSP)、輸入輸出接口等組成,其
    的頭像 發(fā)表于 05-13 11:02 ?1131次閱讀

    數(shù)據(jù)采集卡怎么選?】數(shù)據(jù)采集卡選型指南#數(shù)據(jù)采集卡 #plc #機(jī)械制造 #pcb

    plc數(shù)據(jù)采集卡
    西安阿爾泰電子科技發(fā)展有限公司
    發(fā)布于 :2024年02月27日 17:15:36

    三分鐘搞懂!數(shù)據(jù)采集卡分類及功能講解!#數(shù)據(jù)采集卡 #儀器儀表 #國產(chǎn) #電工 #plc #

    plc數(shù)據(jù)采集卡
    西安阿爾泰電子科技發(fā)展有限公司
    發(fā)布于 :2024年02月23日 16:37:37

    高速視頻采集卡設(shè)計(jì)方案:620-基于PCIe的高速視頻采集卡

    實(shí)驗(yàn)室數(shù)據(jù)采集 , FPGA邏輯視頻采集 , 高速視頻采集卡 , PCIe視頻采集卡 , 視頻程序開發(fā)
    的頭像 發(fā)表于 01-05 09:44 ?704次閱讀
    高速視頻<b class='flag-5'>采集卡</b>設(shè)計(jì)方案:620-基于PCIe的高速視頻<b class='flag-5'>采集卡</b>

    AD采集卡設(shè)計(jì)方案:630-基于PCIe的高速模擬AD采集卡

    AD采集卡 , 高速數(shù)據(jù)采集系統(tǒng) , 實(shí)驗(yàn)室數(shù)據(jù)采集 , 高速模擬AD采集卡
    的頭像 發(fā)表于 12-25 10:21 ?704次閱讀
    AD<b class='flag-5'>采集卡</b>設(shè)計(jì)方案:630-基于PCIe的高速模擬AD<b class='flag-5'>采集卡</b>

    數(shù)據(jù)采集卡怎么用 數(shù)據(jù)采集卡怎么讀取數(shù)據(jù)

    數(shù)據(jù)采集卡怎么用 數(shù)據(jù)采集卡怎么讀取數(shù)據(jù)? 數(shù)據(jù)采集卡(Data Acquisition Card)是一種用于采集和轉(zhuǎn)換各種輸入信號的硬件設(shè)
    的頭像 發(fā)表于 12-15 09:50 ?1544次閱讀

    數(shù)據(jù)采集卡的基本原理、應(yīng)用領(lǐng)域、特點(diǎn)以及選購注意事項(xiàng)

    數(shù)據(jù)采集卡是一種用于將各種外部信號轉(zhuǎn)換成數(shù)字信號并傳輸?shù)接?jì)算機(jī)的設(shè)備,廣泛應(yīng)用于工業(yè)自動化、儀器儀表、醫(yī)療設(shè)備、通信設(shè)備等領(lǐng)域。數(shù)據(jù)采集卡的作用是將模擬信號轉(zhuǎn)換成數(shù)字信號,使得計(jì)算機(jī)可以對其進(jìn)行處理
    的頭像 發(fā)表于 11-10 17:33 ?1637次閱讀
    <b class='flag-5'>數(shù)據(jù)采集卡</b>的基本原理、應(yīng)用領(lǐng)域、特點(diǎn)以及選購注意事項(xiàng)

    電壓/電流 一“測”搞定!PXI5760隔離模擬量同步采集卡,輕松突破測試瓶頸!#PXIe #數(shù)據(jù)采集卡

    電流數(shù)據(jù)采集卡
    西安阿爾泰電子科技發(fā)展有限公司
    發(fā)布于 :2023年11月02日 11:03:14

    如何運(yùn)用數(shù)據(jù)采集卡的技術(shù)參數(shù)進(jìn)行選型

    數(shù)據(jù)采集卡(Data Acquisition Card,簡稱 DAQ )是一種將模擬信號轉(zhuǎn)換為數(shù)字信號的電子設(shè)備,用于將各種物理量的信號采集、量化、編碼和存儲,并通過與計(jì)算機(jī)的接口實(shí)現(xiàn)數(shù)據(jù)
    的頭像 發(fā)表于 10-27 10:36 ?698次閱讀
    如何運(yùn)用<b class='flag-5'>數(shù)據(jù)采集卡</b>的技術(shù)參數(shù)進(jìn)行選型

    基于VxWorks的PCI總線多功能數(shù)據(jù)采集卡驅(qū)動開發(fā)

    電子發(fā)燒友網(wǎng)站提供《基于VxWorks的PCI總線多功能數(shù)據(jù)采集卡驅(qū)動開發(fā).pdf》資料免費(fèi)下載
    發(fā)表于 10-24 09:23 ?3次下載
    基于VxWorks的PCI<b class='flag-5'>總線</b>多功能<b class='flag-5'>數(shù)據(jù)采集卡</b><b class='flag-5'>驅(qū)動</b>開發(fā)