SENT协议中的CRC计算
SENT协议中给出了计算实例,为以nibble为并行度的查找表,本文介绍如何使用串行CRC计算得出正确结果
在SENT协议中,共使用了两种CRC校验,在Fast Channel以及Slow Channel的Short Serial Message中,使用的是4-bit CRC;在Slow Channel 的Enhance Serial Message中,使用的是6-bit CRC
图1 Fast Channel 帧格式
图2 Slow Channel的Short Serial Message
图3 Slow Channel 的Enhance Serial Message
协议及不少手册中,都给出了4-bit CRC的计算实例。,是以查找表的方式实现的。
表中内容由以一个nibble(4 bit)为并行单位,计算而得的结果,手册中说明,计算初始值为“0101”
对于6-bit CRC,查找表为
64_crc_table =
{0,25,50,43,61,36,15,22,35,58,17,8,30,7,44,53,31,6,45,52,34,59,16,9,60,37,14,23,1,24,51,42,62,39,12,21,3,26,49,40,29,4,47,54,32,57,18,11,33,56,19,10,28,5,46,55,2,27,48,41,63,38,13,20},初始值为21
那么,若要使用串行计算或使用在线的CRC校验,如何配置才能正确实现SENT中的CRC计算呢?
对于4-bit CRC,按照如下配置(已经过验证):
生成多项式: D 初始值:3 结果异或值:0
对于6-bit CRC ,按照如下配置:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)