3 PCI接口卡驱动程序及软件设计
在Windows系统中,为避免因不当的硬件操作而导致系统崩溃,应用程序不再具有直接的硬件访问权,如果要操作硬件,必须借助设备驱动程序。驱动程序主要功能是完成对硬件板卡的内存映像地址、I/O地址的存取,并正确处理来自板卡的硬件中断。
Microsoft为设备驱动程序的编写提供了“Windows De-vice Drivers Kit”(简称DDK)工具,它包含了驱动开发所需的各种类型的定义和内核函数库。用DDK编制的驱动程序有很高的运行效率,但是开发难度大,测试流程繁琐。为减轻驱动开发者的负担,很多第三方厂商提供了简化驱动开发的软件。如Numega公司的DriverStudio软件,J ungo公司的WinDriver/KernelDriver软件等。尤其是WinDriver/KernelDriver不要求开发者非常熟悉操作系统平台,掌握核心开发、调试知识,即可在几分钟之内开发出相应的驱动程序。但WinDriver的运行效率较低,因此,在对运行效率较高的场合,可使用KernelDriver进行开发,以提高运行效率。
由于本采集卡的数据吞吐量不高,因此采用WinDri-ver6.21进行驱动程序的开发,其开发过程如下:
(1)运行Windriver程序,选择"Create a new driver pro-ject”;
(2)在弹出的“Select Your Device”窗口中,从列表中选择自己的硬件设备。由于CH365的默认厂商标识(Vendor-ID)为4348H,设备标识(DeviceID)为5049H,因此选中“PCI:VendorID 4348 DeviceID5049”的PCI设备(如图1)。
(3)单击“Generate.INF file”按钮,产生采集卡的驱动安装信息文件。注意:需选中“Automatically Install the INFfile”复选框,以便可以在(4)步中测试采集卡(如图2)。