您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁体中文

VxWorks下数据采集卡驱动程序开发

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设备。


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj