×

基于COMEDI的数据采集卡Linux驱动开发

消耗积分:3 | 格式:rar | 大小:190 | 2009-08-22

分享资料个

与传统开发linux 设备驱动程序的方法相比,依托comedi 自由软件开发数据采集
设备的驱动程序可以使程序员集中精力编写驱动核心代码,省去了内存管理、错误处理等许多繁冗而不可或缺的基础性工作。简要介绍了comedi 各个组件之间的关系;重点研究了comedi 的两种实现机制——命令机制和指令机制,分析了二者的差异性和适用性;并依托指令机制,以典型的模拟输出设备PCM-3712 数据采集板卡的linux 驱动开发为例,介绍了驱动开发过程中用到的数据结构和编写的与板卡相关的函数。
关键词: 驱动程序;数据采集;comedi;linux;pcm-3712
当前,数据采集工作在工程开发和工业应用中担负着重要的作用,相应的各种数据采集
板卡也层出不穷。采用一般的设备驱动开发方法[1][2][3]不仅要解决许多诸如内存管理、中断处理、I/O 端口、错误处理和/proc 接口等基础而不可或缺的问题,而且这种重复性开发不能很好地进行技术积累,费时费力。
Comedi 自由软件工程致力于数据采集设备接口的统一,主要开发各种数据采集(如读写
模拟信号、数字I/O、脉冲频率计算和读编码器等)设备的驱动、函数库和工具集[4]。它由三部分组成:(1)一个统一的、设备无关的API 库,在linux 核心中表现为comedi.o 模块;(2)一个收集了许多数据采集设备的低级驱动模块的集合,允许更多的板卡执行上述API;(3)一个linux 用户空间库comedilib.o,面向开发者,提供一个可编程接口,允许用户自行配制和使用板卡。此外,comedi 还提供了一个linux 内核模块kcomedilib.o,它具有类似于comedilib 的接口,适合实时任务,可与RTLinux 或RTAI 实时操作系统配合使用,扩展了comedi 的应用范围。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !