发表于:2008-05-24 19:42:32
楼主
CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN 仍可提供高达50Kbit/s的数据传输速率。
CAN能够使用多种物理介质,例如双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是2.5V左右,此时状态表示为逻辑“1”,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H = 3.5V 和CAN_L = 1.5V 。
CAN控制器支持四种不同的CAN协议类型:数据帧、远程帧、出错帧和超载帧。具体可参见CAN技术规范2.0a或2.0b以及CAN国际标准ISO11898。这里只介绍一下数据帧。
CAN中的总线数值为两种互补逻辑数值:显性(表示逻辑“0”)或隐性(表示逻辑“1”)。
数据帧从一个发送节点传送数据以一个或多个接收节点,一个数据帧由七个不同的位场组成:帧起始、仲裁场、控制场、循环冗余校验(CRC)场、应答场、帧结束。
CAN协议是一种串行数据通信协议,它可以非常有效地构成分布式实时监测/控制系统。CAN总线规范规定了任意两个CAN节点之间的兼容性,包括电气特性及数据解释协议,它采用了ISO-OSI中的三层网络结构——物理层、数据链路层和应用层。其中应用层可能包含了除物理层和数据链路层外其余四层中的某些功能。它具有简化的网络结构。
使用三线:CAN_High,CAN_Low,CAN_Ground。
多主站系统。采用CSMA/CA访问方式。
CANopen将消息分为四类
l 管理信息(如NMT和LMT)
l Service data(SDO)
l Process data(PDO)
l 预定义消息(synchronization, time stamp, emergency)
NMT:控制和检测设备的通讯状态。
SDO:传送大容量数据,低优先级。
PDO:传送过程数据,高优先级。能用于同步或者异步传输。他们能广播且不需接受方确认。PDO的内容由用户通过SDO定义(mapping)。PDO的通讯既能通过有关事件触发也能定时触发。若需实现主从站之间的点对点通讯,则需要预先设定标识符。