其实准确的说不能叫CAN网关, 应该叫网关或者汽车网关, 因为网关不仅处理CAN网络, 还处理LIN网络。
主要是为了配合本系列教程及区分于以太网网关, 所以才取名叫CAN网关。
大概外形如上, 偶有差异, 大小如香烟烟盒, 有60,70多个PIN脚组成。
每个接线pin脚都有严格的定义, 严格定义了要接can总线或者开关设备等。..
从以上拓扑图可以看出:
CAN网关除了10个can接线pin脚(5条双绞线/5条CAN总线),2个电源线接线pin脚,还应包括定速巡航设备的8个接线pin脚,电源管理方面的3个接线pin脚,钥匙开关(或无钥匙启动系统)的5个接线pin脚,脚踏板的3个接线pin脚,5个LIN接线pin脚, 档位开关的4个接线pin脚等等。..。
某些汽车厂商可能有更多新的硬件开关设备,电压电阻开关设备等也都有对应的接线pin脚, 且可能预留一些PIN脚以备用。
CAN网关是整个CAN网络的核心, 控制着整车5条CAN总线的各类信号转发与处理。
CAN网关的基本功能包括:
简单点说:
CAN网关可以接收任何CAN总线(还有LIN总线)传来的不同传输速率网络信号,
CAN网关把这些信号按一定的标准处理后, 广播到整车网络去,
如果有ECU订阅(接收)了这个信号, 则ECU将解析信号并做相应的处理。
没理解不了, 请看下方实例!
CAN网关的CAN信号转发机制
实例一: 仪表显示发动机转速
发动机的转速信号, 先从PCAN的ECM(发动机引擎控制模块)节点发出, CAN网关收到后,
网关处理后广播以GW_开头的ECM信号到其他4条CAN总线上去。
用Vehicle Spy 3 CAN工具查看可以看到以下的信号内容:
ECAN上的仪表(IPK)节点订阅(接收)了发动机转速信号,
则会将这个转速信号解析, 并显示到仪表盘去。
由于以上信号发送频率太快, 比如上图的9.94ms/次, 则你就会看到仪表盘上的转速
指针一直在不停地偏动。
简略发送图如下:
实例二: 安全带未扣紧, 仪表端报警
安全带未扣紧需要两个条件:
1. 车速大于5
2. 安全带扣未扣 ( 即无电压信号 )
车速一般是PCAN上的ECM(发动机引擎控制模块)节点负责信号管理的。
安全带扣这个设备是BCAN上的BCM(负责天窗, 车窗, 安全带扣, 雨刮等车身零部件设备。..) 节点负责信号管理的。
即网关收到PCAN上的ECM节点发出来的车速信号, 并收到了BCAN上的BCM发出来的安全带扣电压值为异常值(比如0), CAN网关统一处理后转发并广播以GW_开头的信号帧,
ECAN上的仪表(IPK)节点订阅(接收)了GW_开头的相关安全带未扣信号帧
则会解析报警并显示到仪表盘去。
如果安全带扣一直未扣紧, 则CAN网关将一直发送GW_开头的相关安全带信号帧,
其信号值是安全带未扣紧
所以车主会听到一直报警。
直到安全带扣上, CAN网关继续发送安全带相关的信号,
只是这个时候的信号值是安全带已扣紧
报警将立马消失。
简略发送图如下:
总结:
以上只是两个简易的案例, 实际上, 整车所有ECU基本是以毫秒级或者微妙级的速度在源源不断的发送并接收信号, 所以网关需要处理并转发广播的信号是非常多的且必须要很快处理完的.
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !