首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 汽车电子 > CAN通信卡的Linux设备驱动程序设计实现

CAN通信卡的Linux设备驱动程序设计实现

资料介绍
CAN通信卡的Linux设备驱动程序设计实现

CAN通信卡的Linux设备驱动程序设计实现

目前,许多工业现场如电力系统、化工系统等大量使用控制器局部网(CAN——Controll
er Area
Network)现场总线网络,CAN通信卡作为计算机的外设将计算机接入CAN网络。市场上有不
少CAN通信卡,但基本上都不带Linux驱动程序,当需要在Linux下使用CAN通信卡设备时,需
自己开发Linux的驱动程序。开发Linux驱动程序不但要求程序员要非常熟悉Linux系统,
而且要熟悉Linux驱动程序开发的规范。本文将详细介绍CAN通信卡的Linux驱动设备程序
的设计和实现。

1 CAN通信卡的Linux设备驱动程序结构

Linux系统内核通过设备驱动程序与外围设备进行交互,设备驱动程序是Linux内核的一部
分,它是一组数据结构和函数,这些数据结构和函数通过定义的接口控制一个或多个设备
。对用户程序而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供一致的接
口,一般来说是把设备映射为一个特殊的设备文件,用户程序可以象对普通文件一样对此
设备文件进行操作。

Linux将每个设备看作一个文件,即可以像对待文件那样使用read、write等系统调用进行
读写。Linux的设备文件分为两类:一是字符设备,只能对该类设备进行顺序读写,对外提
供字节流方式的操作;二是块设备,可以对该类设备进行随机访问,一般是磁盘设备等大容
量存储设备。CAN通信卡设备属于字符型设备。

对设备的访问是由设备驱动程序提供的。Linux的设备驱动程序可以用模块的方式加载入
内核,设备驱动程序与Linux系统的关系如图1所示。
[pic]

1.1 CAN通信卡设备的特点

控制器局部网(CAN)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串
行通信网络。由于其性能优异、价格低廉,很快被推广到
CAN通信卡的Linux设备驱动程序设计实现
本地下载

评论