
为了让UART/SPI等通信达到ASIL D等级需要加入端到端End-to-End, E2E保护。这种保护的核心思想是为通信数据添加一个“安全信封”让接收方能够验证数据的完整性、真实性和时效性。这个“信封”的内容和添加位置如下️ E2E保护的核心内容安全信封里有什么为了应对各种通信故障E2E保护通常在用户数据前添加一个头部Header主要包含以下信息CRC校验和Cyclic Redundancy Check发送端根据数据内容、数据ID和计数器计算出的校验值。接收端用同样算法计算并比对用于检测数据是否被损坏或篡改。序列计数器Counter一个随每次发送递增的数值。用于检测报文是否丢失、重复或顺序错乱。数据IDData ID唯一标识数据来源和去向的ID。用于防止数据被错误地发送到另一个接收者或从错误的发送者处接收。根据具体应用场景如数据长度、总线类型、实时性要求可以选择AUTOSAR标准中定义的不同E2EProfile配置文件如Profile 1、Profile 4、Profile 5等 E2E保护的添加位置在哪里实施端到端保护的核心思想是在通信的应用层数据上添加保护使其不依赖于底层物理传输介质。根据系统架构不同主要有两种实施方式方案一在软件层面实现基于AUTOSAR E2E库这是最通用和灵活的方法在AUTOSAR架构中E2E保护的添加位置是标准化的。发送端添加保护应用层或RTE层运行时环境在将数据交给下层通信栈之前调用E2E库的接口。E2E库负责计算CRC、管理计数器并将这些信息打包成E2E头部与原始数据一起组装成新的报文。接收端验证保护RTE层或应用层从下层通信栈收到数据后再次调用E2E库的接口。E2E库负责解析E2E头部验证CRC、检查计数器连续性等。如果验证失败E2E库会更新状态机并通过诊断事件管理器DEM记录相应的诊断故障码DTC。方案二在硬件层面实现使用专用安全芯片部分专为功能安全设计的芯片会将E2E保护逻辑在硬件中实现以减轻MCU的软件负担。例如在电池管理系统BMS中MAX17851这样的SPI-to-UART桥接芯片MAX17851它在硬件层面集成了锁步安全措施状态机LSSM。这个状态机会自动在硬件层面为通过它的UART通信数据包添加和验证保护信息检测消息损坏、延迟、丢失和插入等故障。同时它还会监控主机的通信并在检测到故障时尝试自动恢复或接管控制。业内成功方案知从木牛功能安全E2E应用手册-Shanghai ZC Technology Co.,Ltd.End-to-End Communication Protection Module for Safety-Critical Data Transmission