2 Protocole
2.8
Somme de contrôle (CRC16)
La somme de contrôle (CRC16) permet de détecter les erreurs de transmission. Si une erreur est
détectée lors de l'analyse, l'appareil correspondant ne répond pas.
Mode de calcul
CRC = 0xFFFF
CRC = CRC XOR ByteOfMessage
For (1 à 8)
while (ne pas traiter tous les ByteOfMessage);
REMARQUE !
L'octet faible de la somme de contrôle est transféré le premier, suivi de l'octet fort.
Exemple
Demande de données : lecture de deux mots à partir de l'adresse 0x00CE (CRC16 = 0x92A5)
07
03
00
CE 00
Réponse : (CRC16 = 0xF5AD)
07
03
04
00
Mot 1
14
CRC = SHR(CRC)
if (drapeau report à droite = 1)
then
CRC = CRC XOR 0xA001
02
A5
92
CRC16
00
41
C8
Mot 2
else
AD
F5
CRC16