打印本文 打印本文  关闭窗口 关闭窗口  
VxWorks下数据采集卡驱动程序开发来源于瑞达科技网
作者:佚名  文章来源:不详  点击数  更新时间:2011/12/29   文章录入:瑞达  责任编辑:瑞达科技

1引言随着嵌入式技术的发展,数据采集广泛应用于现场设备中。本文根据实际项目需求,开发了数据采集卡在VxWorks操作系统下的驱动程序,以方便应用程序开发。本文采用的数据采集卡为盛博协同公司基于PC/104总线的ADT700采集卡,他通过总线与PC/104嵌入式系统构成一个高性能的数据采集与控制系统。ADT700具有如下特点:模拟输入16单端/8差分输入;12位分辨率;100kHz最大A/D采样率;0~+10V,-5~+5V,-10~+10V双极性或单极性输

1 引 言

随着嵌入式技术的发展,数据采集广泛应用于现场设备中。本文根据实际项目需求,开发了数据采集卡在VxWorks操作系统下的驱动程序,以方便应用程序开发。

本文采用的数据采集卡为盛博协同公司基于PC/104总线的ADT700采集卡,他通过总线与PC/104嵌入式系统构成一个高性能的数据采集与控制系统。ADT700具有如下特点:

模拟输入16单端/8差分输入;12位分辨率;100kHz最大A/D采样率;0~+10 V,-5~+5 V,-10~+10 V双极性或单极性输入量程;1,2,4,8倍可编程增益;DMA实现数据的高速传输。

模拟输出 4通道输出;-5~+5 V,-10~+10 V,0~5 V,0~10 V量程可选;通道单独置数或4通道同时置数。

数字量I/O 可编程外围接口,24通道TTL/CMOS兼容;I/O接口上拉或下拉限流电阻

定时/计数器6个16位、10 MHz(最大)定时/计

2 VxWorks及其字符设备驱动

VxWorks是一个基于抢占式的实时操作系统,他以其高度的可靠性、优秀的实时性、灵活的可裁性广泛应用到许多行业中。在VxWorks中,I/O系统提供了与设备无关的用户接口,应用程序可以通过标准的接口函数如:create(),remove(),open(),close(),read(),write(),ioctl()等来访问设备驱动程序,而不用关心驱动程序是如何实现的。ADT700属于字符型设备,他的驱动程序需要支持以上接口函数。

下面以字符设备中open()操作为例,说明字符设备驱动程序结构。

如图1所示,当应用程序调用fd=open("/xx0",ORDONLY,0)时,I/O系统根据文件名"/xx0"在设备列表中查找设备(设备是以文件形式存在的,文件名即设备名)(如①所示);查找到相应设备后根据驱动号定位到驱动表中(如②所示);I/O系统在文件描述表中预留一个表项fd=3(如③所示);然后I/O系统调用驱动程序中的xxoOpen()函数,返回需要保留的值,即设备描述指针(如④所示);I/O系统将驱动号和驱动返回值填到文件描述符表中(如⑤所示);最后,I/O系统返回新opeh()的文件在文件描述符表中的索引,应用程序得到文件描述符fd=3(如⑥所示)。用户可以通过操作文件来访问I/O设备。

打印本文 打印本文  关闭窗口 关闭窗口