Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
cpm:crc [2011/10/31 07:44] volkerpcpm:crc [2013/12/16 16:10] volkerp
Zeile 1: Zeile 1:
 ====== CRC-Berechnung ====== ====== CRC-Berechnung ======
  
-In diversen U880-Programmen, z.B. EPROM-Software, wird oftmals eine Prüfsumme ausgegeben. Dabei handelt es sich fast immer um CRC-16 oder auch CCITT genanntes Polynom+In diversen U880-Programmen, z.B. EPROM-Software, wird oftmals eine Prüfsumme ausgegeben. Dabei handelt es sich fast immer um eine 16 BIT-CRC-Prüfsumme, d.h. ein 17-Bit-Polynom, nach Standard CCITT:
  
 CRC-CCITT (CRC-16) x^16 + x^12 + x^5 + 1  CRC-CCITT (CRC-16) x^16 + x^12 + x^5 + 1 
Zeile 95: Zeile 95:
  
   * http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=3846   * http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=3846
-  * http://www.ac1-info.de/literatur/fa_86_11.htm+  * http://www.ac1-info.de/literatur/fa_86_11.htm (Berechnung nach SDLC, mit Bit-Schieberegister) 
 + 
 +===== Hardware ===== 
 + 
 +aus mc 1984/07 
 + 
 +CRC ist die Abkürzung für Cyclic Redundancy 
 +Check und so etwas ähnliches 
 +wie eine Prüfsumme, darf aber damit 
 +nicht verwechselt werden, da die Erzeugung 
 +des CRC aufwendiger ist. Dabei 
 +werden nicht einfach die einzelnen Bytes 
 +aufaddiert, sondern verschiedene 
 +Bits gemäß einem sogenannten Generator- 
 +Polynom. Es gibt dabei sehr unterschiedliche 
 +Vorschriften, jedoch verwendet 
 +man bei den gängigen Controllern 
 +das vom CCITT definierte Polynom. 
 +Es lautet G(x) = 1 + x^5 + x^12 + x^16. 
 +Daraus kann man eine Schaltung konstruieren, 
 +die etwa wie in Bild 16 aussieht. 
 +Ein Reset-Eingang sorgt dafür, daß 
 +das Schieberegister auf einen definierten 
 +Wert gesetzt werden kann. Dann werden 
 +der Eingang FREI auf 1 gelegt und zusammen 
 +mit einem Takt die Daten an E 
 +angelegt. Nach dem Ende des Datenstroms 
 +wird FREI auf 0 gelegt, und die 
 +CRC-Bytes können aus dem Register geschoben 
 +werden. Um nun einen Datenstrom 
 +zu testen, wird genauso wie vorher 
 +verfahren, nur daß nun auch die 
 +CRC-Bytes mitverrechnet werden. Das 
 +Ergebnis im Schieberegister muß anschließend 
 +0 sein.  
 + 
 +{{:cpm:crc-hardware.jpg|}} 
 + 
  • cpm/crc.txt
  • Zuletzt geändert: 2014/03/11 09:18
  • von volkerp