CAN总线协议入门

http://www.shenyang2car.com 2022年12月25日

一、CAN总线介绍

CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式(即在同一时刻网络上所有节点侦测的数据是一致的)的串行通信总线。



一个控制单元发送其数据,将其输入网络,而其他控制单元“共同收听”该数据。其中一部分控制单元对此数据感兴趣,因此他们使用它。另一部分控制单元可能对该特定数据不感兴趣,将其丢弃,等待下一条数据消息。

ECU(Electronic Control Unit)电子控制器单元,又称为汽车的“行车电脑”,它们的用途就是控制汽车的行驶状态以及实现其各种功能。主要是利用各种传感器、总线的数据采集与交换,来判断车辆状态以及司机的意图并通过执行器来操控汽车。

CAN总线是用于各个ECU之间互相通信的网络以及协议。

二、CAN总线特征

总线网络特征,就是一个信号可以被所有连接在总线上的节点所接收。 对于车载CAN网络来说:

  • 所有连接在总线上的ECU可以接收任何一个ECU发来的信号

  • CAN总线不存在主从关系,所有的ECU都可以进行收发信息的工作

三、基于内容的总线网络

CAN网络不同于以太网或者IP网络,其各个节点没有网络地址,不了解数据包是由哪个ECU发出来的,而是通过各个CAN封包中的CANID来识别内容。

根据OSI模型,CAN属于链路层协议,包含了运载控制信息的报头,以及运载具体数据的报文。

报头中,有标识消息内容的CANID,ECU可以通过CANID来判断消息的内容种类。比如,0x4E0 可以表达车速,0x100可以是刹车指令等等。

CANID 一般又被分为车辆控制和诊断信息2种。

通常,车辆控制的CANID分布在0x000~0x6FF之间。而诊断信息分布在0x700~0x7FF之间。

由于多条消息可能同时出现在总线上,CAN根据 ID 大小制定了优先级,ID越小,优先级越高 。从而保障了重要信息,如车辆控制信号的优先传输。

四、一般燃油车CAN网络分类



五、CAN网关

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

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

主要功能包含:

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

  2. 诊断报文/非诊断报文转发。

  3. 诊断防火墙管理。

  4. 节点在线监控。

  5. 巡航控制器开关检测。

  6. 脚踏板位置检测。

  7. 网关休眠与唤醒管理。

  8. ECU升级/网关升级。

  9. 电压管理。


案例:仪表显示发动机转速

发动机的转速信号,先从PCAN的ECM(发动机引擎控制模块)节点发出,CAN网关接收并处理后广播以GW_开头的ECM信号到其他4条CAN总线上去。
简略发送图如下:

[上一个其他]:CAN协议分层网络
阅读技巧:键盘方向键 ←左 右→ 翻页
[下一个其他]:汽车ECU是什么?ECU是如何...
Copyright @ 沈阳二手车网      电子邮件:
沈阳二手车网   电话:13390118160