Zistenie typu CRC

Základní principy, funkce, rovnice, zapojení - t.j. vše, co byste měli vědět, než se pustíte do praktické realizace elektronického zařízení

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

Zistenie typu CRC

#1 Příspěvek od rnbw »

Mam dump EEPROM (je to z citacky ciaroveho kodu Metrologic) velkosti 512 B, kde na poslednych dvoch bajtoch je nejaky kontrolny sucet. CRC16 ani FSC16 ani SUM16 to nie je. Co by to mohlo byt?

Kód: Vybrat vše

00000000   00 7E 53 00 00 00 00 00 00 00 00 08 C0 11 92 00   .~S.............
00000010   00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000020   00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000040   00 00 00 00 00 00 00 00 00 00 00 82 03 00 00 05   ................
00000050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000060   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000080   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000090   00 00 00 00 00 00 00 00 00 00 00 50 00 01 25 00   ...........P..%.
000000A0   20 00 26 01 00 08 0C 00 B2 80 00 00 07 00 00 00    .&.............
000000B0   00 40 00 00 00 00 04 00 08 F8 05 88 01 0A 00 28   .@.............(
000000C0   28 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00   (...............
000000D0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
000000E0   00 35 37 30 37 34 34 30 38 39 34 00 00 00 00 00   .5707440894.....
000000F0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000100   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000110   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000120   00 00 00 00 00 00 54 00 00 00 00 00 00 00 00 00   ......T.........
00000130   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000140   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000150   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000160   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000170   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000180   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00000190   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
000001A0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
000001B0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
000001C0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
000001D0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
000001E0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
000001F0   00 00 00 00 00 00 00 00 00 00 01 00 00 12 D1 01   ................
Ak sa zmeni jeden bit v pamati, zmeni sa kontrolny sucet takto:

Kód: Vybrat vše

diff -u standard.hex standard_modified.hex
--- standard.hex        2014-11-14 16:27:05.352052461 +0100
+++ standard_modified.hex       2014-11-14 16:27:11.619944703 +0100
@@ -1,4 +1,4 @@
-0000000: 00 7e 53 00 00 00 00 00 00 00 00 08 c0 11 92 00  .~S.............
+0000000: 00 7e 53 00 00 00 00 00 00 00 00 08 c0 11 12 00  .~S.............
 0000010: 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
 0000020: 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
 0000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
@@ -29,4 +29,4 @@
 00001c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
 00001d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
 00001e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
-00001f0: 00 00 00 00 00 00 00 00 00 00 01 00 00 12 d1 01  ................
+00001f0: 00 00 00 00 00 00 00 00 00 00 01 00 00 12 0c e4  ................

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#2 Příspěvek od rnbw »

No asi to nakoniec nebudem potrebovat, pretoze pri zapise cez seriovy port staci odoslat lubovolnu hodnotu checksumu a ono si ho vygeneruje znovu. Ale je to trochu zabugovane, pretoze to berie do uvahy aj seriove cislo, ktore je vsak read-only. Presne rovnako sa sprava aj s Metroset vo Windows, takze to necham tak...

Odpovědět

Zpět na „Teorie“