CAN(Controller Area Network)总线是一种广泛应用于汽车和工业控制领域的串行通信协议。它是一种高可靠性、高效率的总线系统,能够支持多种不同的网络结构。CAN总线最初是由罗伯特·博丁和菲利普·康,于1983年在德国Bosch公司设计出来的,被广泛地应用于汽车领域。
CAN总线有着多种优点,例如支持多节点连接、高速通讯、实时性强、数据可靠性高等。因此,现在几乎所有的汽车系统都使用CAN总线来进行数据通讯,包括发动机控制、车身电子等多个领域。
CAN总线使用的是一种基于事件触发的通讯协议,它采用主从式的方式,即总线上有多个节点设备,但只有一个节点设备扮演主节点的角色,而其他节点设备则是从节点。主节点设备可以向从节点设备发送指令,从节点设备收到指令之后就会进行相应的操作或者回复相应的数据。
CAN总线使用的是一种异步串行通讯技术,通讯帧分为标准帧和扩展帧两种,标准帧由11位组成,扩展帧则由29位组成。CAN总线的数据传输速率可以达到1Mbps,这样的速率在汽车领域已经足够使用,而且能够保证数据的实时性。
CAN总线协议栈一般由应用层、传输层、收发层和物理层四个部分组成。应用层提供了高级的数据通讯接口,传输层处理数据的分组和组装,收发层负责CAN总线数据库的读写以及总线访问权限的分配,物理层则负责实现总线的物理连接和信号处理。
其中收发层是CAN总线协议栈的核心部分,它将CAN总线按照不同的要求分成了多个逻辑通道,每个逻辑通道由消息ID、数据长度和数据内容组成,这些逻辑通道可以被不同的从节点使用。另外,收发层还包括了消息过滤机制、网络管理和错误处理等功能。
CAN总线使用的是国际电子委员会(IEC)制定的标准,目前有两个主要版本:CAN2.0A和CAN2.0B。CAN2.0A和CAN2.0B的区别在于标识符的长度,CAN2.0A支持11位标识符,而CAN2.0B则支持29位标识符,这样能够提高CAN总线的容量和可靠性。
此外,针对汽车领域的数据通讯需求,国际标准组织还制定出了两个特定的CAN总线标准,它们分别是J1850和ISO 15765-4。其中J1850是一种由美国制造商设计出来的协议,主要用于检测车辆的发动机和传动系统。而ISO 15765-4则是由国际标准化组织(ISO)制定的标准,它主要用于汽车领域的网络通讯,包括车身电控、车载娱乐等多个领域。