整车CAN网络了解

CAN是控制器局域网络(Controller Area Network, CAN)的简称。目前普遍运用在汽车网络.

概述

先了解一个概念,何为智能硬件, 就是包含智能控制单元的硬件, 比如发动机, 发动机上有一块儿专门负责控制发动机进气量, 喷油量, 排气量的控制单元, 这块单元相当于发动机的大脑. 他具有信号发送, 信号接收, 参数存储等基本功能, 这个控制单元就是ECU.

​ ECU(Electronic ControlUnit)电子控制单元,是汽车专用微机控制器, 一个ECU一般负责1个或多个智能硬件设备.

​ 随着汽车的发展, 车上的智能设备越来越多, 也就是说车上的ECU也越来越多, 如何用一个网络把这些智能设备的ECU全部连接起来并整体协调控制?

​ 这就是CAN网络。

CAN网络的优势

  • 开放的标准

  • 低成本

  • 高速实时传递, 数据传递更安全可靠

  • 适用于各种汽车

CAN网络-早期基本结构图

早期的整车CAN网络主要是围绕BCM(车身控制器)为控制中心, 早期的汽车, 智能硬件较少, 车身零部件(雨刮/大灯/车窗…)倒是一堆, 所以早期的正常CAN网络把所有其他的ECU全部放在Other ECU里边.

image

随着智能硬件的越来越多, 且考虑到成本与安全, BCM已经不够完成如此庞大的网络管理了, 网关应运而生, 网关管理了5条CAN总线的各类ECU, 并对这5条CAN总线的波特率及信号优先级做了区分. 之前管理一堆车身零部件(雨刮/大灯/车窗…)的BCM也成了BCAN的一个节点!

CAN网络-当今主流结构图

现如今的燃油车整车CAN网络主要以网关为控制中心,

本篇主要介绍这种类型的CAN网络.

image

CAN网络基本构成单元1_ECU节点

就是车上的智能硬件设备里ECU控制单元.

比如ABS(防抱死系统)这个ECU是专门用于车辆制动过程中防止车轮被抱死的一套智能设备.

当今汽车越豪华,ECU就越多,智能控制硬件就越多,相对价格就越贵.一般的,一辆车普通的家用 轿车都有25个左右ECU.

如下图, 车上某个智能硬件上的ECU(智能电子控制单元)

image

由于车上ECU太多, 每种ECU作用各不相同, 信号传输速率(波特率)也不一致.

为了更加方便管理这些ECU, 我们把以上各类ECU按其功能/波特率分别布置在5条CAN总线上.

CAN网络基本构成单元2_CAN总线

也叫CAN BUS, 为了方便测试人员理解, 可以理解成CAN支线(可理解成一个路由器上的5条分口引出来的分支网线).

一般地, 分成5条CAN总线:

PCAN (PowerTrain CAN ) ☞ 动力总成CAN总线

这条CAN总线主要负责车辆动力及最高安全级.

这条CAN总线上一般有以下ECU:

ECM ( Engine Control Module ) 发动机控制模块

SRS ( SupplementalRestraintSystem) 电子安全气囊

BMS ( Battery Management System ) 电池管理系统

…….

PCAN上是整车CAN网络信号优先级及信号传输速率最高的一条CAN总线.

CCAN (Chassis CAN) ☞ 底盘控制CAN总线

这条CAN总线主要负责汽车底盘及4个轮子的制动/稳定/转向

这条CAN总线上一般有以下ECU:

ABS ( Antilock Brake System ) 防抱死制动系统

ESP(Electronic Stability Program)车身电子稳定系统

EPS(Electric Power Steering)电子转向助力

……

CCAN由于涉及整车制动/助力转向等, 所以其网络信号优先级也是较高的.

BCAN ( Body CAN )☞ 车身控制总线

这条CAN总线主要车身上的一些提高舒适性/安全性的智能硬件的管理与控制

这条CAN总线上一般有以下ECU:

AC ( Air Condition ) 空调

AVM(Around View Monitor) 360环视

BCM(Body Control Module) 天窗, 车窗, 雾灯, 转向灯, 雨刮…

IMMO(Immobilizer) 发动机防盗系统

TPMS(Tire Pressure Monitoring System) 胎压监控系统

……

BCAN其网络信号优先级也是较低, 因为以上设备都是辅助设备.

ECAN ( Entertainment CAN ) ☞ 娱乐系统总线

这条CAN总线主要车身上的一些提高娱乐性的智能硬件的管理与控制

这条CAN总线上一般有以下ECU:

VAES( Video Audio Entertainment System) 车载娱乐系统(中控)

IPK(Instrument Pack) 组合仪表, 当今的数字仪表, 基本有音乐, 地图, 通话等娱乐功能.

……..

ECAN, 也是辅助可选设备, 所以优先级也是较低的.

DCAN ( Diagnose CAN )☞ 诊断控制总线

这条CAN总线主要提供远程诊断功能

这条CAN总线上只有一个ECU:

Tbox(Telematics BOX) 远程控制模块

…….

每条CAN总线都是由2根线组成的双绞线构成,

一根can_high, 一根can_low, 分别代表高电平, 低电平.

以下是某条CAN总线的模型图, 一条CAN总线上连着4个ECU控制单元.

image

CAN网关

网关是整个CAN网络的核心, 控制着整车5条CAN总线的信号转发与处理.

其实准确的说不能叫CAN网关, 应该叫网关或者汽车网关, 因为网关不仅处理CAN网络, 还处理LIN网络.

CAN网关的功能

CAN网关或叫汽车网关,因为网关不仅处理CAN网络,还处理LIN网络.

实际can网关大概有六七十个接线pin脚,每个接线pin脚都有严格的定义, 要匹配规定好的can总线或者开关设备, 除了刚才涉及的10个can线接线口(5条双绞线),2个电源线接线口,还应包括定速巡航设备的8个接线口,电源管理方面的3个接线口,钥匙开关(或无钥匙启动系统)的5个接口,脚踏板的3个接线口,5个LIN接线pin脚,档位开关的4个接线pin脚等等。

某些汽车厂商可能有更多新的硬件开关设备,电压电阻开关设备等也都有对应的接线pin脚,
且可能预留一些PIN脚以备用.

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

  1. 连接不同波特率(传输速度)的CAN总线/LIN总线,以实现CAN网络的网关中继功能。
  2. 诊断报文/非诊断报文转发。
  3. 诊断防火墙管理。
  4. 节点在线监控。
  5. 巡航控制器开关检测。
  6. 脚踏板位置检测。
  7. 网关休眠与唤醒管理。
  8. ECU升级/网关升级。
  9. 电压管理。

CAN网关可以接收任何CAN总线(还有LIN总线)传来的不同传输速率网络信号,把这些信号按一定的标准处理后,广播到整车网络去,如果有ECU订阅(接收)了这个信号, 则ECU将解析信号并做相应的处理。
整车所有ECU基本是以毫秒级或者微妙级的速度在源源不断的发送并接收信号,所以网关需要处理并转发广播的信号是非常多的且必须要很快处理完的。

车机娱乐系统

基本来说, 当今的智能车机基本有以下几个特点:

基于智能操作系统:Android,Linux等。
基本都是虚拟按键,较少用实体按键。
具备外网连接功能,即搭载了Tbox盒子。
有配套的车联网App,可以当手机钥匙及远程车控等功能。
具备控制:空调,数字液晶仪表,360度环视摄像头,其他车身设备(天窗, 车窗,大灯)的应用程序。

需要说明的是:

  • 车机娱乐系统是Info CAN上的一个节点, 节点名称为VAES (Video Audio Entertainment System)

  • 空调是Body CAN上的一个节点, 节点名称AC。

  • 仪表是Info CAN上的节点,节点名称IPK,也叫ICU。

  • 360智能环视摄像头是Body CAN上的节点,节点名称AVM。

  • 其他车身设备(天窗, 车窗, 大灯)等设备是Body CAN上的BCM节点统一管理的。

车机节点是车机上的一块MCU,专门负责车机主机对整车CAN网络的CAN信号转换的,业界一般用IPCL协议进行CAN信号到字符串信号(程序员能识别的信号)的转换,以上字符串信号经过Carservice或App的解析后,转成文字或者图像的界面供用户选择和使用,这样就把原始CAN信号转成用户能够看得懂的文字或图像。
因此

  • VAES(车机)节点订阅消息(接收): 车机就是一台显示器。

  • VAES(车机)节点发送消息: 车机就是一台远程控制器。

TBOX

Tbox是汽车上的一个盒子,其实是一个Android操作系统的带通讯功能的盒子,内含一张SIM卡,一般是中国联通SIM卡,与这个盒子配套硬件还有GPS天线,4G天线等。车机要联网必须有Tbox设备才能实现。

image

TBOX的功能如下:

  • Tbox可以给车机提供外网连接功能。
    如何提供外网, 原理很简单, 可以简单的把它当做是USB上网卡。

  • Tbox可以提供GPS定位服务。
    Tbox有GPS天线接入,车机通过USB数据输出接口实时获取GPS定位信息。
    (Tbox的USB接口,除了提供外网数据, 提供GPS数据外,开发人员还可以通过这个USB线进行Tbox开发及adb debug等。)

  • Tbox是Diag CAN(诊断CAN)上的一个节点, 该节点可提供本地诊断和远程诊断等功能。

智能车机娱乐系统有配套的车联网手机App,通过App可远程查看车机状态,远程开启座椅加热,远程开启空调,远程获取车机状态信息等。

当然,车联网手机App状态查询/远程控制功能的实现,全部依托Tbox节点,Tbox节点可以接收远程4G信号,之后由Tbox在诊断CAN上发起CAN诊断及控制命令,Tbox还实时获取相关CAN信号并上传云平台,云平台返回数据到车联网手机App。最终达到远程诊断(远程获取车辆状态, 远程读取故障码等…) 和远程控制(控制车上某些智能硬件的作用, 比如空调, 座椅加热等…)。

Tbox上的SIM一般只给车主用户提供网络服务, 虽然这张电话可以打电话, 但是由于车机系统的功能接口限定(软件界面上的功能限定),限定了其只可以拨打道路救援电话,厂商客服电话,110等紧急电话,不可拨打普通手机号码或电话号码等。