0
点赞
收藏
分享

微信扫一扫

华为拆分零部件业务,长安入股,赛力斯接洽中

JakietYu 2023-12-01 阅读 44

车载通信架构 —— 传统车内通信网络CAN(可靠性为王)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

文章大体有如下内容:

1、CAN 总线简介

2、CAN 总线结构

3、CAN 总线竞争与仲裁机制

4、CAN 总线通信方式

5、CAN FD & CAN XL

正文如下:

一、CAN 总线简介

CAN(Controller Area Network/控制器局域网络总线)是德国博世(BOSCH)公司在1986年开发的一种串行数据通信协议, 用于解决汽车中控制与测试之间的数据交换问题。CAN总线支持分布式控制和实时控制,通过拓扑方式连接控制单元形成一个完整系统,在应用中主要用于解决不同系统之间的通信问题,依据传输速度不同可以分为动力/高速 CAN(1Mbps, ISO11898)和舒适/低速CAN(125kbps,ISO11519)。

该总线类型用于解决汽车中众多控制器之间的通信问题。随着汽车智能化和自动化程度的提高,车载CAN总线已经成为了汽车电子控制系统中的重要组成部分。

车载CAN总线可以实现多个控制器之间的高速、可靠、实时的数据交换,支持多节点连接,具有低成本、灵活性强等特点。它使得汽车内部的各个部件能够相互连接,进行信息的共享和协同工作,从而提高了整个汽车系统的响应速度和控制精度。

二、CAN 总线结构

ECU需要CAN接口才能参与CAN通信,CAN接口由CAN控制器和CAN收发器组成。CAN控制器执行CAN协议规定的通信功能, 可以大大减轻主机负担;CAN收发器负责将CAN控制器连接到物理传输介质即双绞线上。

image

CAN 网络及节点结构

CAN总线的架构主要包括CAN控制器、CAN收发器、数据传输线和终端电阻。其中,CAN控制器负责解析来自CAN收发器送来的数据,也将控制器中的数据传送到CAN收发器并发送出去。CAN收发器接收CAN控制器传来的数据转化为电信号并通过传输线发送,同时接受传输线上的数据给CAN控制器。数据传输线通常采用两条铜导线形成的双绞线结构,分为CAN高位数据线和CAN低位数据线,具备有效的抗电磁干扰功能。为了避免CAN总线线路上出现回流现象,总线线路两端采用两个电阻阻值为120欧姆的电阻器进行端接。

三、CAN 总线竞争与仲裁机制

CAN报文数据帧包括帧起始、仲裁段、控制段、数据段、校验段、应达段和帧结束段七个部分,完成信息识别、仲裁到校验、应答的完整传递过程。当多个节点竞争CAN总线的使用权时,通过仲裁段确定信息传递的先后与优先级。仲裁采用“线与”机制即 1&0=0:只要总线上有一个节点将总线拉到低电平(逻辑 0)即显性状态,总线就为低电平(逻辑0)即显性状态。而只有所有节点都为高(隐性),总线才为高,即隐性。 即报文的ID值越小,优先级越高,仲裁失败的报文进入“只听”模式。

image

总而言之:

CAN总线的竞争与仲裁机制是其核心特性之一。当多个节点同时尝试在CAN总线上发送数据时,会出现竞争。为了解决这个问题,CAN总线采用了一种仲裁机制。

CAN总线的仲裁机制是基于标识符的。当两个或更多的节点开始发送消息时,它们首先发送各自的标识符。每个标识符对应一个优先级,标识符数值较低的节点具有更高的优先级。在仲裁过程中,各位按照从高位到低位的顺序发送,首先发送的是最高有效位。

仲裁过程是这样的:所有想发送数据的节点同时发送数据,如果有一位存在不同则根据线的“线与”特性确定该位的值。线上所有设备都检测这条线上的电平,如果至少有一个设备发送的是隐性位而其他设备发送的都是显性位,那么总线上的该位最终就会是隐性位。通过这种方法,优先级最高的节点(也就是首先发送出最低位为0的节点)胜出,可以继续发送数据,而其他节点则停止发送并转为接收节点。

image

四、CAN 总线通信方式

CAN采用多主通信方式,数据以广播形式发送。 所有节点都可以自主发送和接收其他节点的信息, CAN控制器大多具有根据ID过滤报文的功能。但因此CAN总线负载率需控制在70%以下,否则低优先级ID的报文发送会产生严重的延时。因此虽然理论上CAN总线最多可以连接110个节点,实际应用中远远达不到这个数量。

CAN总线是一种广播类型的总线,所有节点都将始终接收所有通信。它不是以时钟信号来进行同步的,而是通过差分信号的形式进行通信。

CAN总线采用两条通信线(双绞线),这两条线共同构成一组差分信号线,通过电压差来传输数据。CAN总线使用半双工通信方式,即节点在发送数据的同时不能接收其他节点发送的数据。

在CAN总线的物理层结构中,有闭环总线和开线总线两种形式。闭环总线适合于高速通讯,其总线最大长度为40米,通信速度最高位1Mbps。开环总线网络是遵循ISO11519-2标准的低速、远距离网络,其最大传输距离为1km,通信速率为10k~125kbps。

此外,CAN总线的每个节点都有自己的地址,通过在数据帧中编写节点地址来实现寻址功能。在接收数据时,每个节点都会将自己的地址与数据帧中的地址进行比较,如果匹配则接收该数据帧,否则忽略该数据帧。

五、CAN FD & CAN XL

2011年Bosch发布了CAN FD(Flexible Data-rate)的方案以应对车辆控制器数量和通信数据激增产升的新需求。CAN FD优化了通信带宽和有效数据长度,使得CAN FD的通信速率可达到5Mbps。 主要原理为:

-> 1、增加报文中有效数据占比,将数据域从 8比特提升至最大64比特,使得报文中有效数据占比显著提升;

-> 2、增加总线传输速率。 报文起始时采用 500Kbps,数据区间采用2Mbps。 而CAN XL数据段支持最大2048字节的数据段,数据段传输速度可高达10Mbps,使得传输速率进一步大幅提升。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

举报

相关推荐

0 条评论