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.


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 |