Remplissage automatique de CRC

Qu'est-ce que le CRC ?

CRC (Code de Redondance Cyclique) est une technique utilisée pour détecter les erreurs dans les données numériques. Comme un type de somme de contrôle, le CRC produit un ensemble de données de longueur fixe basé sur la construction d'un fichier ou d'un ensemble de données plus volumineux. En termes d'utilisation, le CRC est une fonction de hachage qui détecte les changements accidentels dans les données brutes d'un réseau de télécommunication numérique et des dispositifs de stockage tels que les disques durs.
Cette technique a été inventée par W. Wesley Peterson en 1961 et développée ultérieurement par le CCITT (Comité Consultatif International Télégraphique et Téléphonique). Les codes de réduction cyclique sont assez simples à implémenter en matériel et peuvent être facilement analysés mathématiquement. Le CRC est l'une des meilleures techniques couramment utilisées pour détecter les erreurs de transmission courantes.
Le CRC est basé sur la division binaire et est également appelé "somme de contrôle par code polynomial".

Importance du CRC dans la communication de données.

Le récepteur peut déterminer si les bits de contrôle correspondent aux données, afin de déterminer avec un certain degré de probabilité si une erreur s'est produite lors de la transmission. En cas d'erreur, le récepteur envoie un "accusé de réception négatif" (NAK) à l'expéditeur, demandant que le message soit retransmis.

Remplissage automatique du CRC avec SerialTool.

Lorsque vous envoyez des commandes manuelles via le port série, vous devez parfois calculer le CRC pour assurer une communication correcte, sinon le récepteur peut ne pas l'accepter.
Calculer le CRC pour chaque paquet est une perte de temps importante et nécessite de copier-coller précisément les données, ce qui entraîne des tâches plus longues et sujettes aux erreurs.
SerialTool peut calculer automatiquement le CRC choisi parmi une large gamme de types de CRC disponibles lors de la transmission.
Si l'option CRC est activée, les octets CRC sélectionnés seront automatiquement ajoutés à la fin du paquet envoyé.

Octets inversés de SerialTool.

Certains systèmes ont besoin d'octets CRC inversés pour s'adapter à l'endianess des octets.
SerialTool vous permet d'envoyer dans l'ordre inverse si nécessaire pour correspondre au système récepteur.

Remplissage automatique du CRC Modbus avec SerialTool

Modbus est un type de CRC couramment utilisé dans les protocoles de communication industrielle.
Modbus est un protocole de demande-réponse mis en œuvre en utilisant une relation maître-esclave. Dans une relation maître-esclave, la communication se fait toujours en paires : un périphérique doit initier une demande, puis attendre une réponse, et le périphérique initiant (le maître) est responsable d'initier chaque interaction. Le maître est généralement une interface homme-machine (IHM) ou un système de supervision, de contrôle et d'acquisition de données (SCADA), et l'esclave est un capteur, un automate programmable (PLC) ou un automate programmable (PAC). Le contenu de ces demandes et réponses, ainsi que les couches réseau par lesquelles ces messages sont envoyés, sont définis par les différentes couches du protocole.
SerialTool le prend en charge, tout comme de nombreux autres calculs de CRC.
Exemple d'envoi et de réception :
ENVOI DE LA DEMANDE : Modbus ASCII 3A 30 32 30 31 30 30 32 30 30 30 30 43 44 31 0D 0A + CRC
LECTURE DE LA RÉPONSE : Modbus ASCII 3A 30 32 30 31 30 32 38 30 30 32 37 39 0D 0A + CRC

Envoi et lecture Modbus.

Types de CRC de SerialTool

CRC-8

  1. CRC 8
  2. CRC 8 EBU
  3. CRC 8 HDLC
  4. CRC 8 MAXIM
  5. CRC 8 WCDMA
  6. CRC 8 LTE
CRC-16
  1. CRC 16 ARC
  2. CRC 16 BUYPASS
  3. CRC 16 CCITTFALSE
  4. CRC 16 MCRF4XX
  5. CRC 16 CDMA2000
  6. CRC 16 CMS
  7. CRC 16 DECTR
  8. CRC 16 DECTX
  9. CRC 16 DNP
  10. CRC 16 GENIBUS
  11. CRC 16 KERMIT
  12. CRC 16 MAXIM
  13. CRC 16 MODBUS
  14. CRC 16 T10DIF
  15. CRC 16 USB
  16. CRC 16 X25
  17. CRC 16 XMODEM
CRC-24
  1. CRC 24
  2. CRC 24 FLEXRAYA
  3. CRC 24 FLEXRAYB
  4. CRC 24 LTEA
  5. CRC 24 LTEB
  6. CRC 24 NRC
CRC-32
  1. CRC 32
  2. CRC 32 BZIP2
  3. CRC 32 C
  4. CRC 32 MPEG2
  5. CRC 32 POSIX
  6. CRC 32 Q