网关为实现不同网络的CAN消息间的交互;
网关路由的方式分为两种:
a:报文路由:将完整报文从源网段路由到目标网段;
b:信号路由:将源网段报文中的信号重新组合之后路由到目标网段。
CAN网络拓扑结构如下图所示:
VCM需要路由的CAN消息信息如下表:
message name |
ID |
routing type |
source segment |
source cycle |
target segment |
target cycle |
||||||
ABS1 |
0x200 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
ABS2 |
0x208 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
ESP1 |
0x153 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
APB1 |
0X163 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
BMS1 |
0x360 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
BMS2 |
0x361 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
BMS5 |
0x364 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
BMS7 |
0x26E |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
DCDC1 |
0x148 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
EPS2 |
0x365 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
MCU1 |
0x140 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
MCU3 |
0x240 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
MCU4 |
0x241 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
OBC1 |
0x268 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
SRS1 |
0x31C |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
SAS1 |
0x300 |
直接报文路由 |
EV+PT CAN |
- |
Body CAN |
- |
||||||
BCM1 |
0x180 |
直接报文路由 |
Body CAN |
- |
EV+PT CAN |
- |
||||||
IC1 |
0x149 |
直接报文路由 |
Body CAN |
- |
EV+PT CAN |
- |
||||||
AC1 |
0X190 |
直接报文路由 |
Body CAN |
- |
EV+PT CAN |
- |
||||||
PEPS1 |
0x170 |
直接报文路由 |
Body CAN |
- |
EV+PT CAN |
- |
路由机制
VCM需要路由的报文均属于直接报文路由类型,则只要接收到源网段相应ID的CAN消息则直接转发到目标网段,路由过程中CAN消息的格式均不变(ID,DLC,信号值,信号位置),路由过程中必须确保在CAN网络正常时延时不能超过5ms,若源网段CAN消息为周期型,则必须确保路由到目标网段消息的周期偏差小于20%;
VCM路由过程中,使用中断方式接收需要被路由的CAN消息,在中断处理中执行CAN消息的转发,即:FIFO方式;
路由异常处理
VCM对路由表中的CAN消息接收超时处理策略请参考网络管理功能;
当VCM的发送端发生错误,进入busoff时,必须执行busoff恢复策略,节点上所有控制器一端发生错误必须不能影响另一端的通信;其中busoff处理处理策略为:
若检测到busoff,则进入快速恢复过程;连续执行5次快速恢复后,若仍然存在busoff故障,则进入慢速恢复过程,直到busoff故障消失或VCM节点关闭为止:
- 快速恢复过程:重新初始化CAN芯片,50ms内暂停CAN发送,然后恢复CAN的收发;
- 慢速恢复过程:重新初始化CAN芯片,200ms内暂停CAN发送,然后恢复CAN的收发;
路由数量
VCM网关最大转发报文量 = 64 – Max(EV+PT-CAN非网关收发报文, B-CAN非网关收发报文)。即,一路CAN上VCM处理总报文数(收和发)不超过64个。
VCM网络管理包含两种类型:直接式网络管理、间接式网络管理。
间接式网络管理以周期消息监控的方式,进行VCM与其他节点通信丢失的诊断。
整车CAN网络拓扑结构如下图所示:
VCM通过间接式网络管理对节点丢失进行诊断的节点有:
MCU,BMS,SRS,ABS,ESP,IC,EAC,BCM,PEPS。
与VCM组建直接式OSEK网络管理的节点有:
EV+PT-CAN: DCDC,OBC。
Body-CAN: AC, BCM, IC, PEPS、ICE、T-BOX
EV +PT CAN参与直接式OSEK网络管理节点使用的CAN信号如下表所示:
信号描述 |
CAN ID |
位 (bit) |
类型 |
备注 |
|
OBC_NMDestinationAddress |
0x612 |
Rx |
|||
OBC_NMSleepAck |
Rx |
||||
OBC_NMSleepIndication |
Rx |
||||
OBC_NMLimphome |
Rx |
||||
OBC_NMRing |
Rx |
||||
OBC_NMAlive |
Rx |
||||
OBC_DataField |
Rx |
||||
DCDC_NMDestinationAddress |
0x614 |
Rx |
|||
DCDC_NMSleepAck |
Rx |
||||
DCDC_NMSleepIndication |
Rx |
||||
DCDC_NMLimphome |
Rx |
||||
DCDC_NMRing |
Rx |
||||
DCDC_NMAlive |
Rx |
||||
DCDC_DataField |
Rx |
||||
VCM_NMDestinationAddress |
0x610 |
Tx |
|||
VCM_NMSleepAck |
Tx |
||||
VCM_NMSleepIndication |
Tx |
||||
VCM_NMLimphome |
Tx |
||||
VCM_NMRing |
Tx |
||||
VCM_NMAlive |
Tx |
||||
VCM_DataField |
Tx |
Body CAN参与直接式OSEK网络管理节点使用的CAN信号如下表所示:
信号描述 |
CAN ID |
位 (bit) |
类型 |
备注 |
|
AC_NMDestinationAddress |
0x616 |
Rx |
|||
AC _NMSleepAck |
Rx |
||||
AC _NMSleepIndication |
Rx |
||||
AC _NMLimphome |
Rx |
||||
AC _NMRing |
Rx |
||||
AC _NMAlive |
Rx |
||||
AC _DataField |
Rx |
||||
BCM_NMDestinationAddress |
0x618 |
Rx |
|||
BCM _NMSleepAck |
Rx |
||||
BCM _NMSleepIndication |
Rx |
||||
BCM _NMLimphome |
Rx |
||||
BCM _NMRing |
Rx |
||||
BCM _NMAlive |
Rx |
||||
BCM _DataField |
Rx |
||||
VCM2_NMDestinationAddress |
0x620 |
Tx |
|||
VCM2_NMSleepAck |
Tx |
||||
VCM2_NMSleepIndication |
Tx |
||||
VCM2_NMLimphome |
Tx |
||||
VCM2_NMRing |
Tx |
||||
VCM2_NMAlive |
Tx |
||||
VCM2_DataField |
Tx |
||||
IC_NMDestinationAddress |
0x640 |
Rx |
|||
IC _NMSleepAck |
Rx |
||||
IC _NMSleepIndication |
Rx |
||||
IC _NMLimphome |
Rx |
||||
IC _NMRing |
Rx |
||||
IC_NMAlive |
Rx |
||||
IC _DataField |
Rx |
||||
PEPS_NMDestinationAddress |
0x680 |
Tx |
|||
PEPS _NMSleepAck |
Tx |
||||
PEPS _NMSleepIndication |
Tx |
||||
PEPS _NMLimphome |
Tx |
||||
PEPS _NMRing |
Tx |
||||
PEPS _NMAlive |
Tx |
||||
PEPS _DataField |
Tx |
||||
TBOX_NMDestinationAddress |
0x660 |
||||
TBOX_NMSleepAck |
|||||
TBOX_NMSleepIndication |
|||||
TBOX_NMLimphome |
|||||
TBOX_NMRing |
|||||
TBOX_NMAlive |
|||||
TBOX_DataField |
VCM通过间接式网络管理监控的节点CAN消息如下表所示:
节点 |
消息名称 |
CAN ID |
周期(ms) |
备注 |
MCU |
MCU4 |
0x241 |
10 |
|
BMS |
BMS1 |
0x360 |
100 |
|
SRS |
SRS1 |
0x31C |
500 |
|
ESP |
ESP4 |
0x209 |
10 |
|
IC |
IC1 |
0x149 |
10 |
(TBD) |
AC |
AC1 |
0x190 |
100 |
(TBD) |
BCM |
BCM1 |
0x180 |
100 |
(TBD) |
PEPS |
PEPS1 |
0x170 |
100 |
(TBD) |
DCDC |
DCDC1 |
0x148 |
100 |
(TBD) |
OBC |
OBC1 |
0x268 |
100 |
(TBD) |
直接式网络管理按照柳汽标准:《东风柳州汽车有限公司乘用车车载通讯平台CAN网络管理规范V1.0》执行。
间接式网络管理以消息环的方式进行网络的唤醒、休眠和节点监控。
说明:
计数值在 0 ~ Threshold范围内变化。计数减时,只能减到0;计数加时,只能加到Threshold。
消息接收超时的判断条件为被监测CAN消息的1个收发周期 + 2个VCM调度周期,VCM是否接收到对应的CAN消息;
计数值大于0且小于Threshold时,对于被监测CAN消息中的信号,VCM使用最近一次正常接收的值,当达到Threshold时,VCM使用信号的默认值;
上电后节点状态默认为诊断结果不可信。当执行足够多的次数后将确认当前驾驶循环的诊断结果(在线Present或丢失Absent)。
节点通信丢失诊断在以下条件下不起作用:
当前条件下节点不工作或处于休眠状态时,例如MCU在IGN处于非Ready状态时,不对MCU作节点丢失诊断。
当前低压供电电池电压不在指定工作电压范围(9 ~ 16V以外)时,不监控
当总线发生故障(CAN Bus-off)时,不监控
当通过诊断设置,对相应的DTC Setting设置为OFF时,不监控
对于直接式网络管理,为了提高节点故障识别的实时性而增加间接式监控的节点,在VCM未处于NMNormal状态时,不监控
节点丢失诊断参数配置如下表所示:
Threshold |
DeltaInc |
DeltaDec |
50 |
5 |
3 |
以上参数为默认参数配置,可能会测试或标定时作适配。