CRC - Kasimashi/Systemes-embarques GitHub Wiki

CRC

Le CRC est une méthode de détection des erreurs. Il est basé sur la division binaire.

image

image

Caractéristiques

Il est caractérisé par :

  • Un polynôme générateur

On écrit souvent ce polynôme avec un nombre binaire ou hexa : Le nombre d'octet du polynôme correspond à la puissance du CRC, la valeur qu'il contient correspond aux puissances de $x$ dans ce dernier polynôme

Exemple : Avec comme valeur de polynôme 0xC002 (CRC-16): 0xC002 = 0b1100 0000 0000 0010 -> $x^{16} + x^{15} + x^2 + 1$

Les polynômes les plus courant sont les suivants :

Polynomial Name Polynomial Use
Custom User defined General
CRC-1 $x + 1$ Parity
CRC-4-ITU  $x^4 + x + 1$   ITU G.704
CRC-5-ITU  $x^5 + x^4 + x^2 + 1$   ITU G704
CRC-5-USB  $x^5 + x^2 + 1$   USB
CRC-6-ITU  $x^6 + x + 1$   ITU G704
CRC-7  $x^7 + x^3 + 1$   Telecom systems, MMC
CRC-8-ATM  $x^8 + x^2 + x + 1$   ATM HEC
CRC-8-CCIT  $x^8 + x^7 + x^3 + x^2 +1 $  Wire Bus  
CRC-8-Maxim  $x^8 + x^5 + x^4 +1 $   Wire bus
CRC-8  $x^8 + x^7 + x^6 + x^4 + x^2 + 1 $   General
CRC-8-SAE  $x^8 + x^4 + x^3 + x^2 + 1 $   SAE J1850
CRC-10  $x^{10} + x^9 + x^5 + x^4 + x + 1 $   General
CRC-12  $x^{12} + x^{11} + x^3 + x^2 + x +1 $   Telecom System
CRC-15-CAN  $x^{15} + x^{14} + x^{10} + x^8 + x^7 + x^4 + x^3 +1 $   CAN
CRC-16-CCITT  $x^{16} + x^{12} + x^5 +1 $   XMODEM, X.25, V.41, Bluetooth, PPP, IrDA, CRC-CCITT
CRC-16  $x^{16} + x^{15} + x^2 +1 $   USB
CRC-24-Radix64  $x^{24} + x^{23} + x^{18} + x^{17} + x^{14} + x^{11} + x^{10} + x^7 + x^6 + x^5 + x^4 +x^3 + x +1 $   General
CRC-32-IEEE802.3  $x^{32} + x^{26} + x^{23} + x^{22} + x^{16} + x^{12} + x^{11} + x^{10} + x^8 + x^7 + x^5 + x^4 +x^3 + x^2 x +1 $   Ethernet, MPEG2
CRC-32  $x^{32} + x^{28} + x^{27} + x^{26} + x^{25} + x^{23} + x^{22} + x^{20} + x^{19}+ x^{18}+ x^{14}+ x^{13}+ x^{11}+ x^{10} + x^9 + x^8 + x^6 + +1 $   General
CRC-32K  $x^{32} + x^{30} + x^{29} + x^{28} + x^{26} + x^{20} + x^{19} + x^{17} + x^{16}+ x^{15}+ x^{11}+ x^{10} + x^7 + x^6 + x^4 + x^2 + x +1 $   General
CRC-64-ISO  $x^{64} + x^4 + x^3 + x + 1 $   ISO 3309
CRC-64-ECMA  $x^{64} + x^{62} + x^{57} + x^{55} + x^{54} + x^{53} + x^{52} + x^{47} + x^{46}+ x^{45}+ x^{40}+ x^{39} + x^{38} + x^{37} + x^{35} + x^{33} + x^{32} + x^{31} + x^{29} + x^{27}+ x^{24}+ x^{23}+ x^{22} + x^{21} + x^{19} + x^{17} + x^{13} + x^{12} + x^{10} + x^9 + x^7 + x^4 + x +1 $   ECMA-182