CAN/LIN总线通信在车身电子产品中已经广泛应用,随着车辆系统的复杂化,功能安全也迅速的在汽车电子行业普及,这使得通信的保护机制被更多的使用。

什么是E2E保护

E2E保护是在AUTOSAR中提出的,用于通信过程的端到端保护,通过识别出端到端的通信故障来保护安全相关信号。

通信的故障模式有哪些

eea3.0架构详细介绍(资深嵌入式开发工程师科普贴)(1)

故障模式

E2E保护机制有哪些

eea3.0架构详细介绍(资深嵌入式开发工程师科普贴)(2)

E2E保护机制

CAN通信E2E保护应用示例

CAN message举例:

eea3.0架构详细介绍(资深嵌入式开发工程师科普贴)(3)

该示例中采用了Alive Counter与CRC机制。

Alive Counter:Data[0]用于实现Alive Counter,值为0→1→2→...F→0形式按照固定周期进行发送,初始值为0;利用Alive Counter机制目的是检测是否存在重复消息、是否有丢失消息、是否出现消息顺序错误等。

CRC:Data[7]用于实现CRC,利用了CAN ID、DLC以及Data[0]……Data[6]进行计算,最终保存在Data[7];利用CRC机制目的是检测是否有消息顺坏。

这里给出的仅仅是一个简单的示例,实际制品会根据厂商对网络与安全的设计,采用不同的保护机制并定义不同的数据格式。

E2E保护机制的验证原理

eea3.0架构详细介绍(资深嵌入式开发工程师科普贴)(4)

Target:含有E2E保护机制的消息节点

Tester:验证E2E保护机制的消息节点

Tester要实现的功能:

1 接收到Target发送的消息验证

1.1 单个消息的验证

1.1.1 CRC验证,利用接收到的message数据计算CRC值与message中的CRC值比较。

1.2 消息序列的验证

1.2.1 Alive Counter验证,第一条message的Alive Counter值应该为0。

1.2.2 连续message的Alive Counter值应该按照Alive Counter递增量递增。

2 发送消息给Target判断Target行为是否与预期一致

2.1 单个消息的发送与预期确认

2.1.1 发送的message按照正确的CRC值填充,Target能够正常处理该message;

2.1.2 发送的message按照错误的CRC值填充,Target能够识别出message异常,做出相应处理。

2.2 消息序列的顺序发送与预期确认

2.2.1 按照Alive Counter

CAN通信E2E保护机制的验证工具

CAN通信E2E保护机制的功能验证工具,首先要能够支持CAN通信,同时也要能够实现各种E2E保护机制以及相应机制的验证。

常见的工具有Vector CANoe和VS3000。

CANoe可以实现CAN通信功能,同时CANoe本身提供CAPL编程功能,用户可以利用CAPL编程来实现对Alive Counter、Timeout 、CRC的执行与验证逻辑。

但是使用CANoe也会存在以下问题:

1.CANoe本身价格高

2.需要学习CAPL编程语言,对于非专业人士,使用起来不够方便

eea3.0架构详细介绍(资深嵌入式开发工程师科普贴)(5)

CAPLBrowser

本文推荐使用VS3000。

这个工具的最大优势是对于各种车厂的不同算法,通过PC端的简单配置,即可变为对象产品的外部运行环境或者是检测设备。且内藏锂电池,非常适用于现场问题分析定位。这款工具非常吸引人的地方是即使不懂产品具体需求的人员,也可以在问题现场迅速解决问题,呈现出使用专业设备解决问题的状态,让主机厂满意,取得信任。

eea3.0架构详细介绍(资深嵌入式开发工程师科普贴)(6)

阿尔卑斯系统集成 VS3000

今日分享纯属个人意见,如有不妥,还望各位不吝赐教。

,