怎样通过汽车can总线提高汽车性能?,

从小白到自动驾驶系统工程师2——CAN网络

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由德国BOSCH公司开发的,并最终成为国际标准(ISO 11898)。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。

CAN网络具有:传输速度高、成本低、可靠性高、集成度高、效率高、节点增减灵活等优势,是国际上应用最广泛的现场总线之一。

一个标准的CAN网络通常由ECU节点、CAN总线、CAN网关三部分组成。

ECU节点

ECU节点就是车上的智能硬件设备里的ECU控制单元。比如发动机ECU、悬架系统ECU、BMS、ABS等。汽车越豪华,ECU就越多。智能控制硬件越多,相对价格就越贵。一般的,一辆车普通的家用轿车都有20个以上的ECU。

下图就是博世赛车运动发动机ECU(控制单元)。

带有CAN接口的ECU设计是总线开发的核心与关键,其中ECU的CAN总线模块主要由CAN控制器和CAN收发器组成。

CAN收发器作为CAN控制器与物理总线之间的接口,它实现CAN控制器与总线之间逻辑电平与信号电平的转换。即从CAN核心模块输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。

CAN控制器执行完整的CAN协议,完成通讯功能,包括信息缓冲和接收滤波。CAN控制器和收发器完成CAN物理层和逻辑电路层的所有功能。

CAN总线

CAN总线也叫CAN BUS,每条CAN总线一般都是由2根线组成的双绞线构成,一根CAN_high,一根CAN_low,分别代表高电平和低电平。各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,选用120Ω的电阻可以模拟无限远的传输线。

CAN_high电压为2.5~3.5V、CAN_low电压为1.5~2.5V。当没有数据发送时,两条线的电平一样都为2.5V,称为静电平,也就是隐性电平。

CAN_high与CAN_low的电压差小于0.5V的时候为隐性的,逻辑信号表现为“逻辑1"(高电平)。

CAN_high与CAN_low的电压差大于0.9V的时候为显性的,逻辑信号表现为"逻辑0"(低电平)。

一般汽车的CAN网络可以分成动力总成总线、底盘控制总线、车身控制总线、娱乐系统总线、诊断控制总线共计五条CAN总线。

动力总成CAN总线 (PowerTrain CAN P-CAN ),主要负责车辆动力,是整车CAN网络信号优先级、安全等级及信号传输速率最高的一条CAN总线,这条CAN总线上一般有以下ECU: ECM ( Engine Control Module ) 发动机控制模块、SRS ( SupplementalRestraintSystem) 电子安全气囊 、BMS ( Battery Management System ) 电池管理系统 、EPB Electronic Park Brake 电子驻车系统等。

底盘控制CAN总线Chassis CAN C-CAN ),主要负责汽车底盘及4个轮子的制动、稳定、转向,由于涉及整车制动/助力转向等, 所以其网络信号优先级也是比较高的。C-CAN总线上一般有以下ECU: ABS ( Antilock Brake System ) 防抱死制动系统 、ESP(Electronic Stability Program)车身电子稳定系统 、EPS(Electric Power Steering)电子转向助力等。

车身控制CAN总线(Body CAN B-CAN),上面主要都是辅助设备,因而其网络信号优先级比较低。B-CAN总线上一般有以下ECU:AC ( Air Condition ) 空调 、AVM(Around View Monitor) 360环视 、BCM(Body Control Module) 天窗, 车窗, 雾灯, 转向灯, 雨刮等、IMMO(Immobilizer) 发动机防盗系统 、TPMS(Tire Pressure Monitoring System) 胎压监控系统等。

娱乐系统CAN总线 (Infomercial CAN I-CAN),是辅助可选设备, 所以优先级也是较低的,主要负责车身上的一些提高娱乐性的智能硬件的管理与控制。I-CAN 总线上一般有以下ECU: VAES( Video Audio Entertainment System) 车载娱乐系统(中控屏) 、IPK(Instrument Pack) 组合仪表。

诊断控制总线(Diagnose CAN D-CAN):D-CAN总线主要提供远程诊断功能,只有一个ECU: Tbox(Telematics BOX) 远程控制模块。

CAN网关

CAN网关或叫汽车网关,因为网关不仅处理CAN网络,还要处理LIN网络、车载以太网等网络的信号。

CAN网关通常有几十个接线pin脚,有的网关甚至100多个接线pin脚。每个接线pin脚都有严格的定义,要匹配规定好的CAN总线、LIN总线、车载以太网、电源接口、开关设备、电源管理方面的接线口、钥匙开关(或无钥匙启动系统)的接口、油门、制动踏板的接线口、档位开关的接线pin脚等等。

一些汽车厂商可能有更多新的硬件开关设备,电压电阻开关设备、CAN网络电阻匹配等也都有对应的接线pin脚。为了做通用化,还会预留一些pin脚以备用。

CAN网关是整个CAN网络的核心,控制着整车所有CAN总线的各类信号转发与处理。基本功能包括:

连接不同波特率(传输速度)的CAN总线/LIN总线,以实现CAN网络的网关中继功能。

②诊断报文/非诊断报文转发。

③诊断防火墙的管理。

④节点在线监控。

⑤巡航控制器开关检测。

⑥脚踏板位置检测。

⑦网关休眠与唤醒管理。

⑧ECU升级/网关升级。

⑨电压管理。

CAN网关可以接收任何CAN总线(LIN总线)传来的不同传输速率的网络信号,把这些信号按一定的标准处理后,广播到整车网络去,如果有ECU订阅(接收)了这个信号, 则ECU将解析信号并做相应的处理。

整车所有ECU基本是以毫秒级或者微妙级的速度在源源不断的发送并接收信号,所以网关需要处理并转发广播的信号是非常多的,且必须要很快处理完。

常见CAN总线故障问题及解决方案

1.总线分支过多、过长的问题

当总线支线过长,上升沿和下降沿产生台阶现象,当台阶正好处于0.5V逻辑识别阈值附近时,容易导致位宽度失调,从而使接收节点接收错误。

1.1 使用标准的“手牵手”的接口与布线规则,让分支长度最小,为了保证阻抗连续,收发器应靠近接口摆放,以减少分支残段的长度,收发器到接口距离控制在10cm以内。

1.2 根据不同波特率,制定最长分支距离的规范。 ISO11898-1/2中对高速CAN的分支长

度规定值是1Mbps下最长0.3米。其他波特率的最长分支一般由应用厂商自定义。原则是:

分支长度总和+主干长度<总线传输极限长度(注意极限长度一般要*0.7使用);

分支总和一般不超过总长度的30%

1.3 采用收发器前置、TTL分支的方法,彻底解决分支问题与节点扩展问题。

2 总线电容过大问题

CAN节点的电容会影响整个网络的电容,电容越大边沿越缓,导致位采样错误。


CAN收发器为了实现CAN的仲裁与错误处理,只能采用单向驱动的结构,导致CAN波形的上升沿有驱动,而下降沿是通过整条总线与终端电阻放电产生的,所以总线的终端电阻的第一作用是“放电”。

2.1 减小终端电阻值,总线加快放电速度,以“牺牲幅值”的方法改善下降沿。注意,总并联的终端电阻不得小于24欧,在线缆较细(导线衰减较大)时,总并联电阻要适当提高,才能保证差分幅值不小于0.9V的最低限度。

2.2 更换低电容、低直流电阻的导线。CAN的90%电容过大问题,都是导线引起的,所以控制导线的电容是最重要的,保证导线电容在40-70PF/m的范围内,为性价比比较高的方案。

2.3 使用CANBridge等中继器,进行波形整形。

3 传输报文数据不够用

因为每个CAN报文只有8字节,应用时,很容易不够用,所以要传输大于8字节,就要进行分包传输。CAN帧只有8字节,导致的烦扰有:

①传输大于8字节的内容时,必须进行分包,导致每次发送8字节,都要重复发送ID、CRC、帧结尾等“无效”数据,浪费了总线带宽,比如扩展帧进行满负载传输时,有效数据负载不到带宽的60%,远不如RS485;

②CAN控制器与CPU之间的总线没有校验,导致出错风险,而每个CAN帧只有8字节,加上1个校验字节,就只有7个字节有效负载,更加恶化了数据传输;

③分包传输时,容易被其他优先级较高的报文插入,或者因为干扰等错误引起报文丢失或者延迟到达,导致接收节点的软件判断困难,增加了软件复杂程度。

3.1 把CAN ID中的某些位当做数据来用。如图所示,扩展帧的ID中,可以挤出3个字节。

3.2 升级到CAN FD,支持最长64字节。

3.3 通过多路CAN转以太网,实现高速CAN节点的大数量传输。

4 总线被干扰

4.1 保证每个节点都是电气隔离的。可以有效减小地回流的干扰。

4.2 共CAN收发器的信号地,CAN使用三线制信号传输。可以有效抑制共模干扰。注意图中屏蔽层为近距离外壳等电势的情况下的接线方法。

4.3 屏蔽层单点接干净的外壳,节点信号地阻容接自身外壳、屏蔽层分段屏蔽的方法。可以解决外壳电势差导致的屏蔽层电流干扰问题。

4.4 加强线绞程度,提高抗干扰能力。通用线缆为33绞/米,强抗干扰要到45-55绞/米。还可以加磁环、共模电感。甚至要和强干扰线缆拉开0.5米以上。

4.5 增加信号保护器,提高抗浪涌群脉冲等EMC能力(注意,由于电容较大,一条总线最多增加2-3个保护器)。

4.6 增加CAN转光纤转换器。解决超强干扰(比如远程激光与电磁脉冲发射装置)与雷击问题。

5 CAN总线系统产生故障的主要原因

  5.1 汽车电源系统引起的故障:乘用车电控模块的工作电压为12V,实际值通常在10.5-15.0V之间,如果汽车电源系统提供的工作电压异常,就会使得一些电控模块可能出现短暂的工作异常,这会引起整个汽车CAN总线系统出现通信故障。

  5.2 汽车CAN总线系统的链路故障:当CAN网络通信线路出现短路断路或线路物理性质变化引起信号衰减或失真,都会导致一个或多个电控单元工作异常,进而使CAN总线系统无法工作。

  5.3 汽车CAN总线系统单个节点的故障:节点是汽车CAN总线系统中的ECU控制单元,因此节点故障就是ECU控制单元的故障。它通常包括软件故障和硬件故障,软件故障即传输协议或软件程序有缺陷或冲突,从而使汽车CAN总线系统通信出现混乱或无法整车工作,这种故障一般会成批出现。硬件故障一般是ECU控制单元芯片、CAN控制器、CAN收发器或集成电路故障,造成汽车CAN总线系统无法正常工作。通常的处理措施是:将所有节点都拔掉,一个一个往上接。接到系统出错时,即找到最后一个插入节点为故障节点。

2024-01-03

2024-01-03