Les messages CAN (Controller Area Network) sont des paquets de données transmis sur le bus CAN et utilisés pour la communication entre les voitures et d'autres dispositifs matériels. Un message CAN typique se compose de plusieurs parties, dont la composition spécifique peut varier en fonction des différentes versions du protocole CAN et des applications spécifiques. Voici un exemple de message CAN et de ses composants, basé sur le protocole CAN 2.0 standard :

1. Début du cadre (SOF) :

Il s'agit d'une configuration spéciale de bits qui marque le début d'un nouveau message. Il s'agit généralement d'un bit dominant (dans CAN, le bit dominant est généralement un 0 logique et le bit récessif un 1 logique, mais cela dépend de l'implémentation spécifique de la couche physique).

2. Domaine de l'arbitrage :

(1) Identifiant : Il s'agit de l'une des parties les plus importantes du message CAN, qui permet de distinguer les différents messages. Dans le format standard CAN 2.0, l'identificateur a une longueur de 11 bits ; dans le format étendu, il a une longueur de 29 bits (composé d'un ID de base de 11 bits et d'un ID étendu de 18 bits). L'identificateur détermine la priorité du message et la manière dont il est reconnu par le récepteur.

(2) Bit de demande de transmission à distance (RTR, Remote Transmission Request) : Ce bit indique si le message est une trame de données ou une trame distante. Les trames de données sont utilisées pour transmettre des données, tandis que les trames distantes sont utilisées pour demander des données.

protocole de communication du bus can

Outil de développement de l'analyse de décodage de diagnostic automobile

3. Champ de contrôle :

(1) Bit d'extension de l'identificateur (IDE, Identifier Extension) : Dans le CAN 2.0B, ce bit est utilisé pour indiquer si l'identificateur est au format standard (11 bits) ou au format étendu (29 bits).

(2) Bit réservé : ce bit est réservé pour une expansion future et n'est actuellement pas utilisé dans la plupart des applications.

(3) Code de longueur de données (DLC, Data Length Code) : Ce champ de 4 bits indique le nombre d'octets du champ de données, compris entre 0 et 8 octets.

4. Champ de données : Il s'agit de la partie du message contenant les données proprement dites. La longueur est déterminée par le DLC et peut aller jusqu'à 8 octets (64 bits).

5. Champ CRC (Cyclic Redundancy Check Field) : Le CRC est un code de contrôle utilisé pour détecter les erreurs de transmission des messages. Le nœud émetteur calcule et ajoute un CRC aux données, et le nœud récepteur utilise le même algorithme pour vérifier l'intégrité des données.

6. Champ ACK :

(1) Délai de réponse (ACK Slot) : Il s'agit d'un temps binaire utilisé par le nœud récepteur pour envoyer un signal de réponse.

(2) Délimiteur de réponse (ACK Delimiter) : Il s'agit d'un bit récessif après le champ de réponse, utilisé pour séparer le champ de réponse et la fin de la trame.

7. Fin de trame (EOF) : Il s'agit d'un ou plusieurs bits récessifs marquant la fin du message.

Un exemple de message CAN spécifique (exprimé en hexadécimal) peut être le suivant :

Début de trame : pas de valeur spécifique, détecté par le matériel

Champ d'arbitrage : 123 (supposé être un identifiant de 11 bits, ici à titre d'exemple, la valeur réelle dépend de l'application)

Champ de contrôle : 80 (en supposant un format étendu, la longueur des données est de 8 octets)

Champ de données : 01 02 03 04 05 06 07 08 (8 octets de données)

Champ CRC : Valeur CRC (cette valeur est calculée sur la base des données précédentes)

Champ de réponse : pas de valeur spécifique, traité par le matériel

Fin de la trame : pas de valeur spécifique, détectée par le matériel

Veuillez noter que l'exemple de message ci-dessus ne suit pas exactement la spécification du protocole CAN, car les messages CAN sont généralement transmis sous forme binaire, et non hexadécimale. En outre, les messages CAN réels doivent également tenir compte de facteurs tels que le remplissage et la synchronisation des bits. Cet exemple vise simplement à illustrer les composants de base des messages CAN.

Si vous avez besoin d'un analyseur qui peut détecter l'état de la communication des données CAN, vous pouvez nous contacter à tout moment.