我有一個傳感設備,可以傳輸一個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