CAN bus · ISO 11898-2 · CAN FD · Couche physique · Détection d'erreurs · 9 min de lecture

Fondamentaux du CAN Bus : couche physique, structure de trame et détection d'erreurs

Développé par Bosch en 1986 et normalisé sous ISO 11898, CAN bus est le bus de terrain de base pour les équipements HVAC, les refroidisseurs, les variateurs de vitesse et les contrôleurs d'automatisation du bâtiment. Sa signalisation différentielle, son arbitrage matériel et sa détection d'erreurs à cinq niveaux le rendent bien plus robuste que RS485 Modbus dans les locaux techniques électriquement bruyants — et la compréhension de ces fondamentaux est indispensable avant de déployer tout dispositif CANopen.

Couche physique ISO 11898-2 et signalisation différentielle

ISO 11898-2 définit le CAN haute vitesse — la variante utilisée dans presque toutes les applications d'automatisation du bâtiment et industrielles. La couche physique utilise une paire différentielle : CAN_H (CAN High) et CAN_L (CAN Low), toutes deux référencées à GND. Dans l'état récessif (logique 1), les deux lignes flottent à environ 2,5V et la tension différentielle est de 0V. Dans l'état dominant (logique 0), CAN_H est entraîné à environ 3,5V et CAN_L à environ 1,5V, donnant un différentiel de 2V immunisé contre les parasites en mode commun jusqu'à ±30V.

Utilisez une paire torsadée blindée d'impédance caractéristique de 120Ω — Belden 9841 (monopaire, 24AWG) ou équivalent. Connectez le blindage à une seule extrémité (généralement au panneau) pour éviter les boucles de masse. Les deux extrémités du segment de bus doivent être terminées par une résistance de 120Ω entre CAN_H et CAN_L. La terminaison divisée (deux résistances de 60Ω avec un condensateur de 4,7nF vers la masse au point médian) améliore les performances CEM dans les environnements très bruyants.

Câblage CAN bus — connexion 3 fils

CAN bus cable (Belden 9841 or equivalent, 120Ω STP):
  CAN_H  → CAN_H terminals on all nodes
  CAN_L  → CAN_L terminals on all nodes
  GND    → GND terminals on all nodes (reference, not signal ground)

Termination resistors:
  Node 1 (first node on bus): 120Ω between CAN_H and CAN_L
  Node N (last node on bus): 120Ω between CAN_H and CAN_L
  All intermediate nodes: NO termination

Measure termination (bus powered off):
  CAN_H to CAN_L resistance should read ~60Ω
  (Two 120Ω resistors in parallel = 60Ω)
  Values outside 54–66Ω indicate missing or extra termination

Avertissement : Les topologies en étoile et en arbre ne sont pas autorisées sur CAN bus. Tous les nœuds doivent se connecter à un seul câble tronc linéaire — les dérivations doivent être maintenues sous 0,3m pour éviter les réflexions de signal. Les longues dérivations causent des erreurs de bit dominant à des débits élevés.

Débit binaire versus longueur de câble

Le débit binaire CAN bus est limité par le délai de propagation — le temps qu'il faut à un signal pour atteindre le nœud le plus éloigné et revenir avant la fin de la période de bit. ISO 11898-2 spécifie les combinaisons standard de débit binaire et de longueur de câble. Les systèmes d'automatisation du bâtiment nécessitent rarement 1 Mbit/s ; 125 kbit/s ou 250 kbit/s est typique pour les équipements HVAC sur des longueurs de câble de 100–500m entre locaux techniques.

Débit binaireLongueur max. câbleLongueur max. dérivationApplication typique
1 Mbit/s40 m0,3 mCommande machine, connexion courte intra-armoire
500 kbit/s100 m0,3 mEntraînements industriels, local technique compact
250 kbit/s250 m0,3 mHVAC multi-refroidisseur, local technique d'étage
125 kbit/s500 m0,3 mColonne montante bâtiment, liaisons inter-étages
50 kbit/s1000 m0,3 mLongues liaisons câblées, grands sites
20 kbit/s2500 m0,3 mCampus, rarement utilisé

Note : Tous les nœuds sur un segment CAN doivent fonctionner au même débit binaire. Il est impossible de mélanger des dispositifs à 250 kbit/s et 125 kbit/s sur le même bus — utilisez un répéteur CAN ou des segments séparés connectés via une passerelle si des débits différents sont requis.

Structure de trame CAN

La trame de données CAN standard (ISO 11898-1) se compose de sept champs. La compréhension du champ d'identifiant d'arbitrage est critique pour la configuration CANopen — le COB-ID (Communication Object Identifier) utilisé dans CANopen est l'identifiant CAN standard de 11 bits. Les trames étendues utilisent des identifiants 29 bits et sont utilisées dans CANopen avec des COB-ID de 4 octets (mode d'adressage étendu).

ChampBitsDescription
SOF1Start of Frame — bit dominant qui synchronise tous les récepteurs
ID d'arbitrage (standard)11Identifiant de message — valeur plus basse = priorité plus haute sur le bus
ID d'arbitrage (étendu)29Format de trame étendu — inclut base 11 bits + extension 18 bits
RTR1Remote Transmission Request — 1 = demande de données d'un autre nœud
IDE1Bit d'extension d'identifiant — 0 = trame standard, 1 = trame étendue
DLC4Data Length Code — nombre d'octets de données : 0 à 8
Données0–64 bitsCharge utile : 0 à 8 octets pour CAN classique ; jusqu'à 64 octets pour CAN FD
CRC15 + 1Contrôle de redondance cyclique 15 bits plus délimiteur CRC (bit récessif)
ACK2Emplacement d'acquittement (dominant) + délimiteur ACK (récessif)
EOF7End of Frame — 7 bits récessifs

Mécanismes de détection d'erreurs

CAN dispose de cinq mécanismes indépendants de détection d'erreurs fonctionnant simultanément. Chaque erreur détectée amène tous les nœuds à rejeter la trame en cours et le transmetteur à renvoyer. Un nœud qui cause répétitivement des erreurs passe de l'état error-active à error-passive puis à bus-off, protégeant le réseau d'un nœud défectueux.

Type d'erreurMéthode de détectionCause fréquente
Erreur CRCLe récepteur recalcule le CRC et le compare à la valeur transmiseBits de données corrompus par EMI ou câble long
Erreur de bitLe transmetteur surveille le bus et détecte la discordance de son propre niveau de bitCourt-circuit, contention de bus, défaut de câblage
Erreur de trameLes champs à format fixe (EOF, délimiteur CRC) vérifiés pour le niveau correctDéfaillance de bit stuffing, structure de trame corrompue
Erreur ACKLe transmetteur vérifie qu'au moins un récepteur envoie un ACK dominantNœud manquant, mauvais débit binaire, pas de terminaison
Erreur de stuffingAprès 5 bits consécutifs de même niveau, un bit complémentaire doit suivreEMI causant une suite de même niveau dépassant 5 bits

Arbitrage bitwise non destructif

Lorsque deux nœuds ou plus tentent de transmettre simultanément, CAN résout le conflit par arbitrage bitwise sans détruire aucun message. Chaque nœud surveille le bus pendant la transmission — si un nœud transmet un bit récessif (1) mais lit un bit dominant (0), il arrête immédiatement de transmettre et passe en mode récepteur. Le nœud ayant l'identifiant d'arbitrage numérique le plus bas gagne toujours.

Dans CANopen, cela signifie que les COB-ID inférieurs ont une priorité plus haute. Les messages d'urgence (EMCY, COB-ID 0x080 + ID nœud) et les messages heartbeat se voient attribuer des COB-ID inférieurs à ceux des données PDO — garantissant que les alarmes ne sont jamais retardées derrière le trafic de données de processus. Attribuez les ID de nœud les plus bas aux dispositifs les plus critiques comme les passerelles de panneaux incendie ou les contrôleurs d'alarmes de refroidisseurs.

CAN FD — Flexible Data-rate

CAN FD (ISO 11898-1:2015) étend le CAN classique avec deux améliorations : un débit binaire de phase de données variable jusqu'à 8 Mbit/s (contre 1 Mbit/s pour le CAN classique) et une taille de charge utile jusqu'à 64 octets (contre 8 octets). La phase d'arbitrage fonctionne toujours au débit binaire classique pour la compatibilité — seule la phase de données bascule vers le débit binaire plus élevé après le bit BRS (Bit Rate Switch).

ParamètreCAN classiqueCAN FD
Débit binaire d'arbitrage max.1 Mbit/s1 Mbit/s (identique — rétrocompatible)
Débit binaire de phase données max.1 Mbit/s8 Mbit/s
Octets de charge utile max.8 octets64 octets
Longueur CRC15 bits17 ou 21 bits (plus long pour les charges utiles plus grandes)
Usage en automatisation du bâtimentRépandu — la plupart des dispositifs HVACÉmergent — nouveaux variateurs, compteurs d'énergie

Note : La plupart des dispositifs CAN pour l'automatisation du bâtiment (refroidisseurs, CTA, variateurs) utilisent encore le CAN classique à 125 ou 250 kbit/s. Le matériel CAN FD (PEAK-System PCAN-USB FD, Vector CANalyzer FD) est rétrocompatible et peut communiquer avec des nœuds CAN classiques sur le même segment, à condition que la phase de données ne soit pas engagée lors de la communication avec des nœuds classiques.

Outils de diagnostic

Utilisez un analyseur CAN lors de la mise en service pour vérifier le trafic sur le bus, surveiller les trames d'erreur et confirmer les ID de nœud avant l'intégration avec une passerelle CANopen. Trois outils sont standard dans l'industrie.

OutilInterfaceCas d'utilisation
PEAK-System PCAN-USBDongle USB, ~€100Logiciel gratuit PCAN-View — écouter le trafic, envoyer des trames, enregistrer en CSV
PEAK-System PCAN-USB FDDongle USB CAN FD, ~€130Comme ci-dessus mais supporte la phase données CAN FD jusqu'à 8 Mbit/s
Vector CANalyzerCarte PCI/USB, professionnelAnalyse complète du protocole, vue dictionnaire d'objets CANopen, scripting
Kvaser Leaf Light v2Dongle USB, ~€180Logiciel gratuit Kvaser CanKing — bien adapté à la mise en service sur site
PCAN-View (gratuit)Logiciel (Windows)Utilisé avec les adaptateurs PEAK — filtrer par COB-ID, surveiller les compteurs d'erreurs

Besoin d'un tableau CAN bus avec intégration de passerelle CANopen ?

Nous concevons et construisons des tableaux basse tension avec des passerelles CANopen-vers-KNX/Modbus/BACnet, une terminaison 120Ω appropriée, un câblage CAN blindé et une documentation de mise en service pour les sites HVAC et industriels.

Demander un devis →
Chargement...
Retour en haut