CAN总线研究及应用
——
关键词:现场总线;CAN;网络
一、引言
在计算机数据传输领域内,长期以来使用RS-232和CCITTV.24通信标准,尽管它们被广泛地使用,但却是一种低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模的应用(如工业现场或生产自动化领域)中需采用传统星型拓扑结构,那么安装成本和介质造价都将非常高昂;采用流行的LAN组件及环型或总线型拓扑结构,虽然可以减少电缆长度,但是增加的LAN介质及相关硬件和软件又使其系统造价与星型系统相差无几。所以在最低层次上的确需要设计出一种造价低廉而又能经受工业现场环境的通信系统,现场总线(Field bus)就是在这种背景下产生的。
二、CAN总线
控制器局部网(CAN-Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络。CAN的应用范围遍及从高速网络到低成本的多线路网络。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电气系统中,例如,灯光聚束电气窗口等等以代替所需要的硬件连接。
CAN总线采用双线串行通信方式,检错能力强,可在高噪声干扰环境中合作。CAN具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络。其可靠性和实时性远高于普通的通信技术。
三、CAN控件的硬件构成
由于CAN总线具有通讯速率高,可靠性高,连接方便和性能价格比高等诸多特点,推动其应用开发的迅速发展,其产品正逐步形成系列。下面以PHILIPS82C200为例说明。82C200分为控制寄存器、命令寄存器、状态寄存器、中断寄存器、验收码寄存器、验收屏蔽寄存器、总线定时寄存器、输出控制寄存器、测试寄存器、发送缓存器、接收缓存器和时钟分频寄存器,十三种寄存器。
四、CAN控制器的初始化
在初始化之前,应设置输出控制寄存器的复位请求位为高,再设置其它寄存器。控制寄存器设定中断,命令寄存器控制缓存器的接发状态,中断寄存器查询82C200的工作状态,接收码寄存器设定工作地址,接收屏蔽寄存器设定工作形式,总线定时寄存器设定工作频率、采样频率,输出控制寄存器一般为正常输出方式,最后应使复位请求位从高变低,使CAN控制器进入正常工作状态。
五、CAN的通信协议
CAN控制器支持四种不同的CAN协议类型:数据帧、远程帧、出错帧和超载帧。具体可参见CAN技术规范2.0a或2.0b以及CAN国际标准ISO11898。这里只介绍一下数据帧。
CAN中的总线数值为两种互补逻辑数值:显性(表示逻辑“0”)或隐性(表示逻辑“1”)。
数据帧从一个发送节点传送数据以一个或多个接收节点,一个数据帧由七个不同的位场组成如图1所示:帧起始、仲裁场、控制场、循环冗余校验(CRC)场、应答场、帧结束。
图1 数据帧的结构示意图
六、CAN协议的分层结构
CAN协议是一种串行数据通信协议,它可以非常有效地构成分布式实时监测/控制系统。CAN总线规范规定了任意两个CAN节点之间的兼容性,包括电气特性及数据解释协议,它采用了ISO-OSI中的三层网络结构——物理层、数据链路层和应用层。其中应用层可能包含了除物理层和数据链路层外其余四层中的某些功能。它具有简化的网络结构。CAN总线体系结构模式如图2所示。
图2 CAN总线体系结构
七、结束语
带有CAN通信接口的工业控制产品可通过双绞线接入CAN,这使得CAN的组网和扩展变得容易。目前CAN总线应用研究还在不断深入,随着CAN总线的国际标准化,具有优先权和仲裁权功能,通信速率高,可靠性和实时性高,连接方便和性能价格比高等优点CAN网络将会得到迅速的发展和应用。
评论