汽车电子设备的不断增多,对汽车上的线束分布以及信息共享与交流提出了更高的要求。传统的电气系统往往采用单一连接的方式通信,这必将带来线束的冗余以及维修的成本的提高。
单一布线连接
传统的单一通信的对接方式,已经不能满足现代汽车电子发展的需求,采用更为先进的总线技术势在必行。总线技术可以实现信息的实时共享、解决了传统布线方式中线束多、布线难、成本高等问题,从而提高整车通信的质量与品质。
CAN总线(ControllerAreaNetwork,控制器局域网络)由德国博世公司于上世纪80年代提出,近20年来,随着CAN总线在工业测控与汽车领域的普及,CAN网络技术不断优化,取得了长足发展。如今CAN总线已经成为了汽车上不可或缺的重要环节,ECU内部的CAN总线开发也占到了ECU开发中的很大分量。在汽车中为了满足车载系统的不同要求,主要采用高速CAN和低速CAN。这两者以不同的总线速率工作以获得最佳的性价比,在两条总线之间采用CAN网关进行连接。
(1)高速CAN(动力总线)
高速CAN总线的传输速率范围在125kbit/s-1Mbit/s之间,主要用于传动系数传输的实时性要求(如发动机控制、自动变速箱控制、行驶稳定系统、组合仪表等)。
(2)低速CAN(舒适总线)
低速CAN总线的传输速率范围在5kbit/s-125kbit/s之间。主要用于舒适系统和车身系统的数据传输的实时性要求(如空调控制、座椅调节、车窗升降等)。
整车CAN网络示意图
CAN总线特点
CAN总线是一种串行数据通讯协议,其中包含了CAN协议的物理层以及数据链路层。可以完成对数据的位填充,数据块编码,循环冗余效验,帧优先级的判别等工作。其主要特点如下:
(1)多主机方式工作,网络上任意一个节点(未脱离总线)均可以随时向总线网络上发布报文帧。
(2)节点发送的报文帧可以分为不同的优先级,满足不同实时要求。
(3)采用载波侦听多路访问/冲突检测(CSMA/CD)技术,当两个节点同时发布信息时,高优先级报文可不受影响地传输数据。
(4)节点总数实际可达110个。
(5)采用短帧结构,每一帧最多有8个有效字节。
(6)当某个节点错误严重时,具有自动关闭功能,切断与总线的联系,致使总线上的其他操作不受影响。
CAN总线物理层
(1)总线结构
CAN总线采用双线传输,两根导线分别作为CAN_H、CAN_L,并在终端配备有120Ω的电阻。收到总线信号时,CAN收发器将信号电平转化为逻辑状态,即CAN_H与CAN_L电平相减后,得到一个插值电平。各种干扰(如点火系统)在两根导线上的作用相同,相减后得到的插值电平可以滤过这些干扰。
(2)总线电平
CAN总线有两种逻辑电平状态,即显性与隐性。显性电平代表“0”,隐性电平代表“1”。采用非归零码编码,即在两个相同电平之间并不强制插入一个零状态电平。
高速CAN在传输隐性位时,CAN_H与CAN_L上的电平位均为2.5V;在传输显性位时分别为3.5V与1.5V。
低速CAN在传输隐性状态位时,CAN_H上的电平为0V,CAN_L上的电平位5V。在传输显性状态位时,CAN_H上的电平位3.6V,CAN_L的位1.4V。
★1Mbit/s总线长度为40m(规范)。
★500kbit/s总线长度最大值为100m(建议值)。
★250kbit/s总线长度最大值为250m。
★125kbit/s总线长度最大值为500m。
★40kbit/s总线长度最大值为1000m。
CAN总线硬件设备
(1)CAN通信线缆,实现节点的互联,是传输数据的通道。主要有:普通双绞线,同轴电缆,光纤。
(2)CAN驱动/接收器,将信息封装为帧后发送,接收到的帧将其还原为信息、标定并报告节点状态。
CAN报文帧结构
在CAN总线上,报文是以“帧”来发送的,每一帧都包含以下几个部分:
(1)帧起始
在总线空闲时,总线为隐性状态。帧起始由单个显性位构成,标志着报文的开始,并在总线上起着同步作用。
(2)仲裁段
仲裁的主要是定义了报文的标识符,也俗称ID。在CAN2.0A规范中,标识符为11位,而在CAN2.0B中变为了29位。这意味着在2.0B中可以存在更多不同类型的报文,但是也降低了总线的利用率。
(3)控制段
主要定义了数据域字节的长度。通过数据长度码,接收节点可以判断报文数据是否完整。
(4)数据域
包含有0~8个字节数据。
(5)CRC域
CRC又称循环冗余码效验(CyclicalRedundancyCheck),是数据通信中常见的查错方法。
(6)ACK域
用于接收节点的反馈应答。
(7)帧结束
由一串7个隐性位组成,表示报文帧的结束。
仲裁机制
CAN总线的仲裁机制
如上图,ECU单元1和ECU单元2同时开始向总线发送数据,开始部分他们的数据格式是一样的,故无法区分优先级,直到T时刻,单元1输出隐性电平,而单元2输出显性电平,此时单元1仲裁失利,立刻转入接收状态工作,不再与单元2竞争,而单元2则顺利获得总线使用权,继续发送自己的数据。
CAN报文帧种类
CAN总线报文传输有以下4种不同的格式:
(1)数据帧:由发送节点发出,包含0-8个数据字节。
(2)远程帧:发送远程帧向网络节点请求发送某一标识符的数据帧。
(3)错误帧:总线节点发现错误时,以错误帧的方式通知网络上的其他节点。
(4)过载帧:发送过载帧,表示当前节点不能处理后续的报文(如帧延迟等)。
Ps:为了保持总线的利用率,在车载总线上数据帧的报文一般均为8字节。