预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PCI数据采集卡WDM驱动程序设计与实时性分析 周国良,赵洪,卢迪 (哈尔滨理工大学电气与电子工程学院,黑龙江省哈尔滨市,150040) 摘要:介绍了WDM驱动程序的基本原理,结合在线式塑料薄膜制品杂质测量仪中PCI总线数据采集卡的应用,对驱动程序设计过程中的关键技术如硬件访问、中断处理和DMA传输等作了讨论,给出了基于DriverStudio和VisualC++6.0开发的程序实例。实验结果表明,运用中断结合DMA传输方式,本地速率可达42.5MB/s,实时响应速度有了显著提高。 关键词:PCI;WDM;驱动程序;数据采集; 中图分类号:TP274文献标识码:A DesignofWDMDriverforPCIDataSampleCardandAnalysisofReal-TimeCharacteristic ZHOUGuo-liang,ZHAOHong,LUDi (CollegeofElectricalandElectronicEngineering,HarbinUniversityofScienceandTechnologyHarbin150040,China) Abstract:TheprincipleoftheWDMdriverisilluminatedinthispaper.TakingPCIbussamplecardapplicationintheonlineimpuritymeasuringapparatusofplasticsfilmproductswithelectroniccamcorderasareference,somekeytechniquesinprogrammingtheWDMdriversuchasaccessingtodevice,therequestingforinterruptanddatatransferringinDMAmethodarediscussed.AnexampledriverdevelopedunderDriverStudioandVisualC++6.0isgiven.ThetestdatashowsthattheinterrupttechnologyintegratedwithDMAtransmissionmode,localratecanreach42.5MB/s,andthereal-timeresponsespeedisimproved. KeyWords:PCI;WDM;driver;dataacquisition; 三辊压膜器 挤出模具 电机 CCD镜头 滤光器 卤灯 计算机 收取器 数据 采集 在基于Windows平台的“在线式塑料薄膜制品杂质测量仪”项目中,我们用基于PCI总线的数据采集卡对高速线阵CCD图像传感器进行数据采集,然后通过DMA写入主机内存,仪器结构如图1。该过程不但需要访问数据采集卡的板上资源和分配物理地址连续的内存,而且要求传输每段2KB有效数据的中断响应时间与数据传输时间之和不超过60微秒,从而达到准实时在线测量的目的。 图1在线式杂质测量仪结构 系统选用阿尔泰公司的12位高速采集卡PCI8001,以5MS/s的采样速率进行采样。该卡具有4个独立的A/D采样通道,每通道提供512K字的缓存,可以手动设定缓存级别,采用PLX公司的PCI9054作为PCI总线接口芯片。利用该卡附带驱动程序进行测量时,2KB数据响应传输时间平均为95us,无法达到本系统实时性要求,因而一个高质量的PCI数据采集卡驱动程序是整个系统不可或缺的一部分。 1WDM驱动程序模型 在目前主流的XP操作系统中,是采用WDM驱动程序模型。WDM模型是一个分层的驱动程序,使用了如图2的层次结构。为了适应即插即用系统,WDM重新定义了驱动程序 分层,至少包括总线驱动程序和功能驱动程序,根据具体需要还可选择过滤驱动程序。WDM还引入了功能设备对象(FDO)与物理设备对象(PDO)来描述硬件。一个PDO对应一个真实硬件,一个硬件只允许有一个PDO,却可以有多个FDO,在驱动程序中直接操作的不是硬件而是相应的PDO与FDO。在应用程序与WDM驱动程序通信方面,系统为每一个用户请求打包形成一个I/O请求包(IRP)结构,将其发送到驱动程序,并通过识别IRP中的PDO来区别是发送给哪一个设备的。内核通常通过发送IRP来运行驱动程序中的代码。在实际开发中一般无需分很多层,只需要开发一个功能驱动程序即可。功能驱动程序直接与总线驱动程序打交道,进行硬件操作以实现PCI设备功能[1]。 在PCI设备的WDM驱动程序中,一般是编写功能驱动程序。PCI总线驱动程序由操作系统实现,过滤驱动程序一般在特殊的情况下才需要编写。因此本文主要进行PCI数据采集卡功能驱动程序的设计。由于