文档详情

XPC环境下PCI 数据采集卡驱动编写研究.doc

发布:2017-03-26约6.1千字共4页下载文档
文本预览下载声明
xPC环境下PCI-1711数据采集卡驱动编写方法研究 蔡君 (东南大学 自动化学院 南京210096) 摘要:利用实时仿真开发平台xPC Target进行实时控制系统开发,具有周期短、费用低、效率高的特点,但是很多数据采集板卡不被xPC环境支持,需要自己编写驱动程序。本文以PCI-1711数据采集卡为例,论述了在xPC环境下采用C MEX S函数编写数据采集卡驱动程序的方法和要点。该方法同样适用于其他不被xPC支持的板卡驱动的开发。 关键词:xPC Target;C MEX S函数;设备驱动程序;PCI-1711 中图分类号: TP311. 1  文献标识码:A Research on Writing PCI-1711 Data Acquisition Board Driver Under xPC Target Cai Jun (Southeast University, School of Automation, Nanjing, 210096) Abstract: xPC target, as a real-time simulation development environment, has the advantages of short period, low cost and high efficiency when used to develop real-time control systems, but it does not support many kinds of Data Acquisition Boards (DAQ). Their drivers must be developed by users. This paper discusses the methods and techniques of writing PCI-1711 DAQ driver by C MEX S Function under xPC Target. These methods can be applied to write the driver programs of other DAQ which are not supported under xPC Target. Keywords: xPC Target; C MEX S Function; device driver program; PCI-1711 1、引言 MATLAB是功能强大的数值计算和图形处理软件,RTW实时开发环境提供了从系统设计到硬件实现的直接途径。xPC Target作为一个基于RTW的低端实时仿真和开发平台,xPC Target提供了支持超过150种标准I/O板的I/O驱动设备库,然而在实际的工程应用中,xPC Target不支持板卡的情况,这就需要为板卡自行编制驱动程序,然而目前这方面的研究还比较少。本文以研华PCI-1711为例,介绍在xPC环境下编写数据采集卡驱动程序的方法和要点。 2、研华 PCI-1711驱动的设计与实现 我们以Feedback公司提供的Maglev 33-006系统为基础,构建了磁悬浮球实验平台。该平台采用了研华公司的PCI-1711数据采集卡。该卡是12位的低损耗多功能采集卡,具有独特的电路设计和完善的数据采集与控制功能,支持即插即用,具有FIFO的高速缓存,可灵活设定输入类型和范围。由于该板卡不被xPC环境支持,因此开发该板卡设备驱动成了首要的事情。 2.1 驱动编写方法及要点 要在xPC环境下编写设备驱动程序,用户必须熟悉Simulink C-MEX S函数格式、应用程序接口(API),以及板卡寄存器编程信息。编写设备驱动程序的步骤如下: ① 编写C格式的S函数的驱动源代码。 ② 通过MATLAB的mex实用程序将C代码编译成可执行的MEX函数。 ③ 使用目标语言编译器(Target Language Compiler)内嵌化S函数(可选)。 ④ 对设备驱动模块进行封装,以生成自定义的用户界面。 在以S函数的形式编写设备驱动程序之前,必须首先了解以下要点: ⑴要了解板卡的访问方式。 PCI接口的板卡有两种访问方式:一种是通过板卡的厂商ID和设备ID,另一种是通过板卡的插槽号[2]。由于第一种方式更为方便,我们在编写PCI-1711驱动中采用第一种方法。例如使用: PCIDeviceInfo pciinfo; rl32eGetPCIInfo(0x13fe,0x1711,pciinfo); 可以得到研华PCI-1711卡包括基地址在内的板卡信息。 ⑵要清楚板卡的地址映像方式,是I/O映像还是内存映像。 以下是能够在S函数设备驱动中需要调用的头文件: io_xpcimport.h (用于I/O端口和
显示全部
相似文档