我有一个传感设备,可以传输一个6字节的消息以及一个1字节的计数器,并且假设是一个校验和。找到生成校验和的算法
的数据看起来是这样的:
------DATA----------- -Counter- --Checksum?--
55 FF 00 00 EC FF ---- 60---------- 1F
过去四年在计数器位始终为0,即很可能不使用这些位。假设最后一个字节是校验和,因为它具有相当特殊的性质。随着数据变化,它会随机更改。
现在我需要的是找到基于--DATA--计算这个校验和的算法。 我试过的是所有可能的CRC-8多项式,对于我试图反映数据的每个多项式,切换它,用非零等来初始化它。我得出结论,我没有处理正常的crc -算法。我也尝试过一些flether和adler方法,但没有成功,xor的东西来回,但我仍然不知道如何生成校验和。
我最关心的是,如何使用计数器?相同的数据但具有不同的countervalue会生成不同的校验和。 我试图在我的计算中包含计数器,但没有任何运气。
这里有一些其他datasamples:
55 FF 00 00 F0 FF A0 38
66 0B EA FF BF FF C0 CA
5E 18 EA FF B7 FF 60 BD
F6 30 16 00 FC FE 10 81
,可能是值得一提的一件事是,在数据的最后一个字节只对值FF或FE
请,如果您有任何提示或技巧,我可能会尝试发布在这里,我真的很绝望。
感谢
我认为你最好的选择是研究硬件文档......也许它有一些序列号来帮助你识别它。 – fortran 2010-05-24 12:13:04
嗨, 我没有任何看看的文档。我有比上面提供的更多的数据,但多数民众赞成在它。 – knivmannen 2010-05-24 13:05:31
“一个6字节的消息以及一个1字节的计数器,据说是一个校验和” - 这是事实吗?只是问,因为你似乎对设备知之甚少。 – 2010-05-24 13:58:22