1.4.2 CAN和CAN FD
CAN是控制器局域网Controller Area Network的简称,最早由德国BOSCH公司提出,用于汽车内部测量与执行部件之间的数据通信,其总线规范现已被ISO国际标准组织制定为国际标准,得到了Motorola、Intel、Philips、Siemens、NEC等公司的支持,已广泛应用在离散控制领域。
CAN协议也是建立在国际标准组织的开放系统互连模型基础上的,不过,其模型结构只有3层,只取OSI的物理层、数据链路层和应用层。其信号传输介质为双绞线,在40m的距离时,通信速率最高可达1Mbit/s;在通信速率为5kbit/s时,直接传输距离最远可达10km,可挂接设备最多可达110个。
CAN的信号传输采用短帧结构,每一帧的有效字节数为8个,因而传输时间短,受干扰的概率低。当节点严重错误时,具有自动关闭的功能以切断该节点与总线的联系,使总线上的其他节点及其通信不受影响,具有较强的抗干扰能力。
CAN支持多主方式工作,网络上任何节点均可在任意时刻主动向其他节点发送信息,支持点对点、一点对多点和全局广播方式接收/发送数据。它采用总线仲裁技术,当出现几个节点同时在网络上传输信息时,优先级高的节点可继续传输数据,而优先级低的节点则主动停止发送,从而避免了总线冲突。
已有多家公司开发生产了符合CAN协议的通信控制器,如NXP公司的SJA1000、Mirochip公司的MCP2515、内嵌CAN通信控制器的ARM和DSP等。还有插在PC上的CAN总线适配器,具有接口简单、编程方便、开发系统价格便宜等优点。
在汽车领域,随着人们对数据传输带宽要求的增加,传统的CAN总线由于带宽的限制难以满足这种增加的需求。
当今社会,汽车已经成为生活中不可缺少的一部分,人们希望汽车不仅仅是一种代步工具,更希望汽车是生活及工作范围的一种延伸。在汽车上就像待在自己的办公室和家里一样,可以打电话、上网、娱乐和工作。
因此,汽车制造商为了提高产品竞争力,将越来越多的功能集成到了汽车上。ECU(电子控制单元)的大量增加使总线负载率急剧增大,传统的CAN总线越来越显得力不从心。
此外为了缩小CAN网络(最大1Mbit/s)与FlexRay(最大10Mbit/s)网络的带宽差距,BOSCH公司2011年推出了CAN FD(CAN with Flexible Data-Rate)方案。