引 言
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来实现。
[page]
2 驱动程序设计
2.1 中断过程调用
当FIFO数据缓存器读取的数据达到半满/全满时,其相应半满/全满信号线会走低,该信号线与PCI9030芯片的外部触发中断输入管脚相连,从而触发中断,主模块通过PXI总线接口芯片读取FIFO中的数据,其中断服务例程如下:
2.2 中断延迟过程调用
中断服务例程的处理时间应当尽可能短,并且由于中断服务例程在DIRQL级别上运行,很多函数不能调用,所以通常是在延迟过程调用例程中做大部分的中断处理工作。本系统延迟例程调用相关程序如下:
[page]
2.3 读取数据
对于数据的读取,主要是在SerialRead()例程中实现的,其主要程序语句如下:
2.4 SerialWrite()例程
数据采集卡硬件系统的初始化和肩动工作主要在Se-rialWrite例程中实现,其相关部分程序如下:
3 应用程序设计
编写驱动程序本身不是最终目的,最终目的是调用驱动程序管理资源,并为用户应用程序使用。这里采用的是cONsole控制台应用程序,其基本框架也可以由DriverSTuio自动生成,只需在现有的框架里面插入相应的代码就可粤耍渲骱齧ain()的相应代码如下:
4 结束语
DriverWorks是一款功能强大、使用方便的驱动程序开发工具,利用它可以方便快捷地构造PCI设备的驱动程序框架,大大加快了开发周期,提高了开发效率。控制台应用程序的优点是开发起来方便、快捷,但在数据的图形化显示方面却有所不足,如果将驱动程序与VC或者LabVIEW等图形化应用程序编程环境相结合,就可以编制出界面更加友好、功能更为强大的数据采集系统软件平台。
关键字:PXI总线 数据采集卡 WDM驱动
引用地址:
基于PXI总线的数据采集卡的WDM驱动程序设计
推荐阅读最新更新时间:2024-05-02 21:56
PXI总线实现高精度恒流源
在航天设备测试中,陀螺和加速度计测试是不可缺少的重要组成部分。随着陀螺与加速度计精度水平的提高,测试过程中对其激励源-恒流源的精度要求越来越高。本文给出了一种基于PXI总线的高精度恒流源设计,并已成功应用于很多航天型号的陀螺和加速度计测试中。 1 系统设计 图1 系统框图 如图1所示,系统通过PXI总线与上位机进行通信,本地总线与PXI总线通过PXI接口电路连接。PXI接口电路将PXI总线指令翻译成本地局部总线传给 FPGA ,通过FPGA将PXI总线传输给D/A进行转换,D/A转换后的电压经V/I转换为高精度电流输出给用户。 2 系统电路设计 2.1 PXI接口电路 面向仪器系统的PCI扩展PXI
[电源管理]
MB90F462在智能家居监控系统数据采集卡中的应用
随着人们对居住环境的舒适度、便捷性和安全性需求的日益提高,智能家居系统应运而生。智能家居系统的核心功能是实现家用设备运行状况的实时监测和传输,主要包括:安全防盗报警;火警、水电、煤气泄漏等实时监测和自动报警;室内温度、湿度、灯光自动调节和遥控等 。因此采集和传输各种设备的运行信息是保证智能家居系统正常运行的关键。MB90F462是Fujitsu公司生产的一款通用16位单片机,最小指令周期仅为62.5ns,适用于工业控制和高速实时数据处理等场合;同时,该芯片具有多功能定时器和多脉冲发生器,适用于交流感应电机和直流无刷电机的控制。本文利用MB90F462丰富的片内资源设计了一款智能家居系统的低速数据采集卡。 1 系统结构及功能概
[工业控制]
一种高精度中频信号数据采集卡的硬件设计
0 引言 传统数据采集卡的主要功能是完成对模拟信号的基带数字化。由于数字化是在基带进行,其下变频、滤波全部采用模拟方式,因此,对于不同频段、不同调制方式的通信系统,应当对应专门的硬件结构,但这样的系统缺乏灵活性,且随着系统采样率和采样精度的提高,对数据实时性传输也带来了很大的困难。 软件无线电(software radio)是近年来随着微电子及计算机技术应运而生的一种新的无线电技术,理想的软件无线电系统强调体系结构的开放性和可编程性,专注于减少灵活性差的硬件电路,并把数字化处理(A/D)尽量靠近天线,力求通过软件的更新来改变硬件的配置结构,以求解决传统数据采集卡存在的问题。 结合软件无线电思想,可将AD采样后得到的数据
[测试测量]
用于MF-TDMA卫星通信系统的数据采集卡设计
1 引言 目前,MF-TDMA多址方式被广泛地应用于卫星通信体制中,主要用来承载IP通信的业务。在MF-TDMA卫星通信系统中,下变频后的中频模拟信号的数字化采集是对其进行后端数字信号处理的基础。目前,大部分数据采集传输多采取基于PCI总线协议的高速数据传输方式,而基于母板加背板的系统,其模块化程度、灵活性更高。例如,采用一块用作数据处理的母板加一块数据采集的AD板和一块DA变换的DA板,就可以构成一套完整的TDMA卫星信号还原系统。 PCI Mezzanine Card(PMC)标准基于PCI协议。PMC背板的物理接口由4个64管脚的接插件组成,分别是PN1,PN2,PN3和PN4。采用PMC背板,是获得高速数据传输和扩展母
[工业控制]
基于PXI总线的某装备自动测试系统设计与实现
1 引言 本文针对国产某系列型号装备的测试任务,设计了一套基于PXI平台的自动测试系统。PXI作为一种专为工业数据采集与自动化应用度身定制的模块化仪器平台,具备优良的机械、电气特性,拥有良好的软件规范,当前在工业领域应用已经比较广泛。为了达到自动、高效、可靠的目标,该系统的软件和硬件结构均采用模块化设计原则,同时保证了系统的可扩展性,便于被测对象型号的扩充以及系统集成。硬件系统采用了三层结构设计,便于利用一套PXI平台能够测试更多的被测对象型号。软件系统利用虚拟仪器技术,分层设计,通过插件式管理,完成多型号对象间的快速切换测量和人机交互管理。 2 系统硬件方案 由于被测对象型号比较多,为了使测
[嵌入式]
基于LABVIEW的虚拟示波器
这个程序来自于不知名前辈公开的" 虚拟示波器 2003"程序.我修改了他的驱动部分,使它能用于我们的USB 数据采集卡 (12位,MSP-010501).修改后效果相当好,很佩服当初编写这个程序的前辈,程序很实用,这就意味着以后我们的USB数据采集卡就有虚拟示波器的软件支持了!这样它将有更大的用途! 回头我再编写一些实用的软件,争取让更多的朋友能用上虚拟仪器! 下载完成后文件名改为 part1.rar 下载完成后文件名改为 part2.rar 下载完成后文件名改为 part3.rar
[测试测量]