每一份伟大的成就,无不立足于平凡的岗位和工作;每一段不凡的人生,无不依托于平凡的日积月累。
1、简介
E2E(End-to-End)是一种端到端的通信保护机制,主要用于在数据传输过程中确保数据的完整性和正确性。它在汽车电子和功能安全领域尤为重要,特别是在AutoSar标准中。
2、E2E的保护和校验机制
E2E的保护和校验机制需要发送端和接收端的配合使用
①在发送方,调用E2E_PxxProtect函数执行数据保护,将使用crc算法计算的crc校验信息、计数器信息一同发送至总线。
②在接收方,调用E2E_PxxCheck函数,使用同样的crc算法计算crc值,校验crc是否一致,并校验计数器信息以确保发送端和接收端的数据保持一致,保证信息的完整性。
3、E2E Profile
E2E提供Profile 1、Profile2、Profile4、Profile5和Profile6等多种数据保护与校验算法,每种Profile提供不同的保护策略。
保护流程
①发送端通过增加控制字段拓展数据结构,控制字段一般包含Chesksum、Counter等。
②接收端对上述整个字段内的数据进行验证,如果pass,则移除其中控制字段,并将数据交给SWC处理;如果Failed,则执行安全保护机制。
4、E2E Profile 1
E2E Profile 1规定采用8-bit SAE J1850 crc校验。
①多项式
对应多项式 x8+x4+x3+x2+1 ,即100011101,通常写为0x1D,注意这里不是0x11D,可能是最高位必然为1,所以省去了。
②Counter
发送端每次传输,该值都会加1,接收端会检查该值。在E2E Profile 1中,Counter的规定长度为4bits,表示从0到14的数字在每次发送请求时递增。
③Data ID
唯一标识符号,防止伪装,一般为2个byte,是ECU1和ECU2之间提前定好的特殊字段。
④CRC计算
手动计算crc网站:CRC在线计算,算法选择自定义,多项式为1D,初始值和结果异或值为FF(根据需求修改),位宽为8,内容格式为Hex。