0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析关于PXI总线的数据采集卡的WDM驱动程序设计

电子工程师 来源:国外电子测量技术 作者:王朋 李智 2021-04-06 15:43 次阅读

“本文给出了一种基于PXI总线的数据采集系统的硬件原理框图。针对该硬件系统,采用DriverWorks驱动程序开发工具开发了相应的WDM驱动程序和控制台应用程序。”

0 引 言

Windows驱动程序模型(Windows driver model,WDM)是Microsoft公司力推的全新驱动程序模式,与以前的驱动程序模型比较,它支持即插即用(plug and play,PnP)、电源管理和Windows管理诊断WMI等技术。在Windows操作平台上,WDM已成为主流的驱动模型,但这也给WDM驱动程序的开发人员提出了许多新的挑战,即便是开发和测试最简单的设备驱动程序也变得比以前任何时候都复杂。

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来实现。

o4YBAGBsD_WAAHuQAACla_jMr9E783.png

2 驱动程序设计

2.1 中断过程调用

当FIFO数据缓存器读取的数据达到半满/全满时,其相应半满/全满信号线会走低,该信号线与PCI9030芯片的外部触发中断输入管脚相连,从而触发中断,主模块通过PXI总线接口芯片读取FIFO中的数据,其中断服务例程如下:

pIYBAGBsEFqAXz5WAACySPOPIUA774.png

2.2 中断延迟过程调用

中断服务例程的处理时间应当尽可能短,并且由于中断服务例程在DIRQL级别上运行,很多函数不能调用,所以通常是在延迟过程调用例程中做大部分的中断处理工作。本系统延迟例程调用相关程序如下:

o4YBAGBsEGeACT8nAADXjRmmPqk923.png

2.3 读取数据

对于数据的读取,主要是在SerialRead()例程中实现的,其主要程序语句如下:

pIYBAGBsEByAO9_iAADXCFGKtWY371.png

2.4 SerialWrite()例程

数据采集卡硬件系统的初始化和肩动工作主要在Se-rialWrite例程中实现,其相关部分程序如下:

o4YBAGBsD7-ATqEZAAHsmqMNqbk471.png

3 应用程序设计

编写驱动程序本身不是最终目的,最终目的是调用驱动程序管理资源,并为用户应用程序使用。这里采用的是console控制台应用程序,其基本框架也可以由Driverstuio自动生成,只需在现有的框架里面插入相应的代码就可以了,其主函数main()的相应代码如下:

o4YBAGBsD6mANRcJAAFu5JhUjEM438.png

4 结束语

DriverWorks是一款功能强大、使用方便的驱动程序开发工具,利用它可以方便快捷地构造PCI设备的驱动程序框架,大大加快了开发周期,提高了开发效率。控制台应用程序的优点是开发起来方便、快捷,但在数据的图形化显示方面却有所不足,如果将驱动程序与VC或者LabVIEW等图形化应用程序编程环境相结合,就可以编制出界面更加友好、功能更为强大的数据采集系统软件平台。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据采集
    +关注

    关注

    38

    文章

    5787

    浏览量

    113392
  • DWDM
    +关注

    关注

    0

    文章

    116

    浏览量

    36367
  • PXI总线
    +关注

    关注

    1

    文章

    30

    浏览量

    11214
收藏 人收藏

    评论

    相关推荐

    数据采集卡VS传统仪表#数据采集卡 #仪器仪表 #电子技术

    数据采集卡
    西安阿尔泰电子科技发展有限公司
    发布于 :2024年11月05日 09:46:26

    图像采集卡:增强视觉数据采集

    图像采集卡介绍:在视觉数据采集领域,图像采集卡在捕获和处理来自各种来源的图像或视频方面发挥着关键作用。在本文中,我们将深入探讨图像采集卡的世界、其功能、应用以及它们在视觉
    的头像 发表于 09-24 11:06 236次阅读
    图像<b class='flag-5'>采集卡</b>:增强视觉<b class='flag-5'>数据采集</b>

    EPSON差分振荡器赋能数据采集卡,让数据更精准

    什么是数据采集卡数据采集是指对设备被测的模拟或数字信号,自动采集并送到上位机中进行分析、处理。数据采集卡,即实现数据采集功能的计算机扩展
    的头像 发表于 07-22 14:36 241次阅读
    EPSON差分振荡器赋能<b class='flag-5'>数据采集卡</b>,让<b class='flag-5'>数据</b>更精准

    YXC差分振荡器赋能数据采集卡,让数据更精准!

    数据采集是指对设备被测的模拟或数字信号,自动采集并送到上位机中进行分析、处理。数据采集卡,即实现数据采集功能的计算机扩展,可以通过USB、
    的头像 发表于 07-19 16:14 224次阅读

    多通道数据采集卡各通道不独立的原因

    多通道数据采集卡(Multi-channel Data Acquisition Card,简称MDA)是一种用于采集、存储和处理多路信号的电子设备。它广泛应用于工业自动化、科研、医疗、通信等领域
    的头像 发表于 07-02 09:12 537次阅读

    简单易用的以太网数据采集卡应用开发之C#

    C#语言以太网数据采集卡的开发。
    的头像 发表于 05-17 14:25 630次阅读
    简单易用的以太网<b class='flag-5'>数据采集卡</b>应用开发之C#

    ni数据采集卡的工作原理解析

    数据采集卡(Data Acquisition Card)是一种用于将外部信号转换为数字信号并传输给计算机的硬件设备。它通常由模数转换器(ADC)、数字信号处理器(DSP)、输入输出接口等组成,其
    的头像 发表于 05-13 11:02 1245次阅读

    数据采集卡怎么选?】数据采集卡选型指南#数据采集卡 #plc #机械制造 #pcb

    plc数据采集卡
    西安阿尔泰电子科技发展有限公司
    发布于 :2024年02月27日 17:15:36

    三分钟搞懂!数据采集卡分类及功能讲解!#数据采集卡 #仪器仪表 #国产 #电工 #plc #

    plc数据采集卡
    西安阿尔泰电子科技发展有限公司
    发布于 :2024年02月23日 16:37:37

    plc数据采集模块的缺点 plc数据采集模块与数据采集卡的区别

    在某些方面具有优势。本文将详细探讨PLC数据采集模块的缺点以及与数据采集卡的区别。 首先,我们来看看PLC数据采集模块的一些主要缺点。 有限的扩展能力:PLC数据采集模块通常有固定的输
    的头像 发表于 01-19 14:20 1511次阅读

    高速视频采集卡设计方案:620-基于PCIe的高速视频采集卡

    实验室数据采集 , FPGA逻辑视频采集 , 高速视频采集卡 , PCIe视频采集卡 , 视频程序开发
    的头像 发表于 01-05 09:44 742次阅读
    高速视频<b class='flag-5'>采集卡</b>设计方案:620-基于PCIe的高速视频<b class='flag-5'>采集卡</b>

    AD采集卡设计方案:630-基于PCIe的高速模拟AD采集卡

    AD采集卡 , 高速数据采集系统 , 实验室数据采集 , 高速模拟AD采集卡
    的头像 发表于 12-25 10:21 731次阅读
    AD<b class='flag-5'>采集卡</b>设计方案:630-基于PCIe的高速模拟AD<b class='flag-5'>采集卡</b>

    数据采集卡怎么用 数据采集卡怎么读取数据

    数据采集卡怎么用 数据采集卡怎么读取数据  数据采集卡(Data Acquisition Card)是一种用于采集和转换各种输入信号的硬件设
    的头像 发表于 12-15 09:50 1622次阅读

    数据采集卡模拟输出功率放大,放大器如何选型?

    我用数据采集卡生成了一个幅值1V、频率范围1Hz-25kHz的交流电压信号,想要驱动一个50Ω左右的电阻,但数据采集卡模拟输出的输出驱动电流太小,只有2mA,想要用放大器放大功率来
    发表于 11-14 07:37

    数据采集卡的基本原理、应用领域、特点以及选购注意事项

    数据采集卡是一种用于将各种外部信号转换成数字信号并传输到计算机的设备,广泛应用于工业自动化、仪器仪表、医疗设备、通信设备等领域。数据采集卡的作用是将模拟信号转换成数字信号,使得计算机可以对其进行处理
    的头像 发表于 11-10 17:33 1875次阅读
    <b class='flag-5'>数据采集卡</b>的基本原理、应用领域、特点以及选购注意事项