网关为实现不同网络的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 |
以上参数为默认参数配置,可能会测试或标定时作适配。