CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11898),是国际上应用最广泛的现 场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网 的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
CAN总线的特点
(1)多主机方式工作:网络上任意节点可在任意时刻其他节点发送数据,通信方式灵活;
(2)网络上每个节点都有不同的优先级,可以满足实时性的要求;
(3)采用非破坏性仲裁总线结构,当两个节点同时向网络上传送信息时,优先级高的优先传送;
(4)传送方式有点对点、点对多点、点对全局广播三种;
(5)通信距离可达6km;通信速率可达1MB/s;节点数可达110个;
(6)采用的是短帧结构,每帧有8个有效字节;
(7)具有可靠的检错机制,使得数据的出错率极低;
(8)当发送的信息遭到破坏后,可自动重发;
(9)节点在严重错误时,会自动切断与总线联系,以免影响总线上其他操作。
CAN总线原理
CAN总线以广播的方式从一个节点向另一个节点发送数据,当一个节点发送数据时,该节点的CPU 把将要发送的数据和标识符发送给本节点的CAN芯片,并使其进入准备状态;一旦该CAN芯片收到总 线分配,就变为发送报文状态,该CAN芯片将要发送的数据组成规定的报文格式发出。此时,网络 中其他的节点都处于接收状态,所有节点都要先对其进行接收,通过检测来判断该报文是否是发给自 己的。
由于CAN总线是面向内容的编址方案,因此容易构建控制系统对其灵活地进行配置,使其可以在不修改软硬