Semtech SX1211大长度Payload的CRC16校验初始值求解求助
关于Semtech SX1211发射器CRC16校验的问题
我正在验证通过RTL-SDR dongle接收的加热器消息CRC校验值。消息由Semtech SX1211发射器以可变长度数据包格式发送,datasheet明确其采用CRC16算法、0x1021多项式进行CRC编码,校验范围为1字节的payload长度字段加上payload内容。
加热器发送的payload长度包含10、15、17、23、49或63字节几种。针对10、15、17字节的payload,我借助CRC reveng找到了对应的初始CRC值,可成功校验对应长度的所有消息。例如针对15字节的测试数据0f2080835c8117082303291809492003,初始值0xb71e适配所有15字节消息,验证命令及输出如下:
./reveng -w16 -p 0x1021 -i 0xb71e -c 0f2080835c8117082303291809492003 29f1
但针对23、49、63字节的记录,我始终无法找到可行的初始值方案。此前用于寻找短长度payload初始值的暴力程序,针对相同长度的长payload会返回不同初始值,无法通用。
以下是23字节长度的记录样本(末尾空格后为预期CRC值):
178008be0c0117a0290015a02f00040800c300c300250000 da05 178008be140017a0290005a02f00000800c4004100010000 136d 178008be1800074052002b405e00081000860186000a0000 c2b8 178008be1c0117a0290015a02f000408004300c300010000 3790 178008be200117a0290015a02f00040800c300c300050000 e110 178008be240117a0290015a02f00040800c300c300050000 37dc
恳请提供解决思路,感谢帮助!
内容的提问来源于stack exchange,提问作者Jnilo
相关产品推荐
相关产品推荐

