基于PXI图像采集卡的WDM驱动程序设计
0、引言
Compact PCI是一种基于标准PCI总线的小巧而坚固的高性能总线技术。1994年PICMG (PCI工业计算机制造商联盟)提出了Compact PCI技术,它定义了更加坚固耐用的PCI版本。在电气、逻辑和软件方面,它与PCI标准完全兼容。卡安装在支架上,并使用标准的Eurocard外型。
PXI总线即外围部件互联总线,是一种高性能的32位/64位地址数据复用的局部总线。32位模式下可实现高达132MB/s的传输速率,目前已成为面向工业及相关领域的标准总线。
在Windows操作系统中,为了保护系统的安全性和稳定性,在应用级层面上对PCI设备的直接操作作了诸多的限制,如果要实现对硬件的直接访问,就必须在内核模式下,通过驱动程序调用硬件抽象层(HAL)提供的函数接口调用PCI Bios汇编指令才可以真正直接对PCI设备操作。驱动程序需要与操作系统的底层进行交互,因此不同的底层操作系统对应不同的驱动程序模型。而WDM驱动程序模型正是当前流行的Windows下驱动开发工具,也是微软力推的驱动开发工具。当然还有第三方提供的开发工具:NuMega公司的DriverStudio和Jungo公司的WinDriver,这些都是在DDK的基础上为方便用户进行开发的工具。在使用中虽然利用DDK开发驱动程序难度较大,但是代码非常简洁,结构清晰,效率也高。利用第三方开发工具使用简单,开发速度较快,但对于驱动程序的理解和深入开发不如DDK。
1、PCI高速图像采集卡的硬件结构:
本采集系统要求完成红外图像串行数据的实时采集,串行数据以LVDS的差分方式输入图像信息量为:25Mb/s。然后进入FPGA经过串并转换后存入FIFO中,对于高速海量的数据传输,一般需要将数据进行本地缓存,然后再传给上位机完成数据的存储和分析,因此选择兆级的大容量FIFO作为本地数据缓存,使得外部传输与PCI总线传输速度匹配,防止数据丢失。PCI总线协议比较复杂,出于开发效率的考虑,选用PCI接口芯片来处理复杂的协议。
本图像采集卡采用PLX公司的PCI9054作为PCI总线接口芯片,它性价比较高,具有主控功能;内部有6种可编程FIFO,以实现零等待突发传输;提供两个独立的DMA控制;本地总线频率高达50MHz;具有3个物理总线接口:PCI总线接口、本地总线接口和一个可选的EEPROM串行存储器接口;因此,当传输速度不高时,可作为请求传输的PCI总线目标;当需要高速传输时,又可作为PCI总线和LOCAL总线的主控者进行DMA传输。
图1 系统硬件框图
2、WDM驱动程序开发:
本驱动程序的开发采用微软提供的DDK开发工具包,编译环境为VC++6.0。在VC下实现对驱动程序的编译必须进行相关的设置,具体的设置方法现在比较通用,这里不再详述。遵照标准的WDM程序模型,列写如下几个比较重要例程:
相关文章
- 2024-06-07电流变液减振器在抑制深孔切削颤振上的研究
- 2024-08-02基于干涉原理的高精度直线度误差测量
- 2022-05-24基于现场总线监测系统的PLC控制制造系统
- 2024-04-10极紫外望远镜各通道夹角的测量
- 2024-03-20寄生虚反射对外差干涉椭偏测量的影响



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。