background image

识符;全局验收滤波器识别所有 CAN 总线的 11 bit 和 29 bit Rx 标识符;允许 11 bit 和 29 
bit CAN 标识符的明确定义和分组定义;验收滤波器可以为选择的标准标识符提供
FullCAN-style 自动接收。
 高速 CAN 收发器 MPC2551 是一个可容错的高速 CAN 器件,可作为 CAN 协议控制器
和物理总线接口。MCP2551 可为 CAN 协议控制器提供差分收发能力,它完全符合 ISO-
11898 标准,包括能满足 24 V 电压要求。其工作速率高达 1 Mb/s。典型情况下,CAN 系统
上的每个节点都必须有一个器件,把 CAN 控制器生成的数字信号转化为适合总线传输
(差分输出)的信号。它也为 CAN 控制器和 CAN 总线上的高压尖峰信号之间加入了缓冲器,
这些高压尖峰信号可能是由外部器件产生(EMI、ESD 和电气瞬态等)。
 本系统设计的电路中,2 个二极管 D3 与 D4 可有效地抑制传输介质的浪涌干扰,由于
电梯群控系统中存在多个 CAN 通信节点,因此本电路中加入了终端电阻跳线 JP3,由用
户灵活地选择是否在该节点处加入终端通信电阻,本系统设计的 CAN 通信电路连接如图
1。

2.2 通信协议及通信软件设计
2.2.1 CAN 总线帧种类

 

  CAN 总线上传输的信息称为报文,报文传输按照帧结构的不同,通常可表示为如下 5
种不同类型的帧:
(1)数据帧:用于发送单元向接收单元传送数据的帧;
(2)遥控帧:用于接收单元向具有相同 ID 的发送单元请求数据的帧;
(3)错误帧:用于当检测出错误时向其他单元通知错误的帧;
(4)过载帧:用于接收单元通知其尚未做好接收准备的帧;
(5)帧间隔:用于将数据帧及遥控帧与前面的帧分离开来的帧。2.2.2 CAN 报文格式
在总线中传送的报文,每帧由 7 部分组成,CAN 协议支持 2 种报文格式,其唯一的不同是
标识符(ID)长度不同,标准格式为 11 bit,扩展格式为 29 bit[4]。标准格式帧的组成如图 2 所示 

在标准格式中,报文的起始位称为帧起始(SOF),然后是由 11 bit 标识符和远程发送请求位
(RTR)组成的仲裁段。RTR 位标明是数据帧还是请求帧,在请求帧中没有数据字节。

 

  控制段包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括 1 个保留位 
(ro),为将来扩展使用。它的最后 4 个字节用来指明数据段中数据的长度(DLC)。数据段范围
为 0~8 个字节,其后有一个检测数据错误的循环冗余检查 CRC 段。
 ACK 段用来确认是否正常接收,由 ACK 槽(ACK Slot)和 ACK 界定符 2 个位构成。发送
站发送的这两位均为隐性电平(逻辑 1),这时正确接收报文的接收站发送主控电平(逻辑 0)
覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。

 

  报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进
行总线存取,总线将处于空闲状态。
2.2.3 通信协议设计

 

  由于在 CAN 总线中,标识符(ID)的大小规定了各节点发送消息的优先级,ID 号越小,
发送优先级越高,本系统中规定群控主控制器优先级最高,因此设为 0x01,其他电梯主控
制器次之,设为 0x11,依次类推。