引 言CAN(ControllerAreaNetWork)总线技术是一种有效支持分布式控制和实时控制的串行通信网络,广泛应用于工业控制
其硬件连接简单,可靠性好,实时性和性价比高,能够很好地满足计算机联锁系统通信网络对实时性和可靠性的要求
AVR单片机是由 Atmel公司研发的增强型内置 Flash的 RISC高速8位单片机
本设计使用的是 AVR系列新型单片机 AT90CAN128,它自带 CAN控制器,使得通信部分的硬件电路设计大大简化,因此增强了系统可靠性
1CAN总线技术简介CAN总线是德国 Bosch公司20世纪80年代初为解决现代汽车中众多的控制与 测试仪器之间的数据交换而开发的一种串行数据通信协议
它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维
通信速率可达1Mbps
CAN总线通信接口中集成了 CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等工作
CAN总线具有以下技术特性:①废除了传统的站地址编码,改为对通信数据块进行编码
采用这种方法的优点是,可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块;这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用
②数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性
CAN协议采用 CRC校验并可提供相应的错误处理功能,保证了数据通信的可靠性
③CAN采用非破坏总线仲裁技术
当多个节点同时向总线发送信息出现冲突时,优先级较低的节点会主动退出发送,而优先级最高的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间
即使在网络负载很重