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 binaire | Longueur max. câble | Longueur max. dérivation | Application typique |
|---|---|---|---|
| 1 Mbit/s | 40 m | 0,3 m | Commande machine, connexion courte intra-armoire |
| 500 kbit/s | 100 m | 0,3 m | Entraînements industriels, local technique compact |
| 250 kbit/s | 250 m | 0,3 m | HVAC multi-refroidisseur, local technique d'étage |
| 125 kbit/s | 500 m | 0,3 m | Colonne montante bâtiment, liaisons inter-étages |
| 50 kbit/s | 1000 m | 0,3 m | Longues liaisons câblées, grands sites |
| 20 kbit/s | 2500 m | 0,3 m | Campus, 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).
| Champ | Bits | Description |
|---|---|---|
| SOF | 1 | Start of Frame — bit dominant qui synchronise tous les récepteurs |
| ID d'arbitrage (standard) | 11 | Identifiant de message — valeur plus basse = priorité plus haute sur le bus |
| ID d'arbitrage (étendu) | 29 | Format de trame étendu — inclut base 11 bits + extension 18 bits |
| RTR | 1 | Remote Transmission Request — 1 = demande de données d'un autre nœud |
| IDE | 1 | Bit d'extension d'identifiant — 0 = trame standard, 1 = trame étendue |
| DLC | 4 | Data Length Code — nombre d'octets de données : 0 à 8 |
| Données | 0–64 bits | Charge utile : 0 à 8 octets pour CAN classique ; jusqu'à 64 octets pour CAN FD |
| CRC | 15 + 1 | Contrôle de redondance cyclique 15 bits plus délimiteur CRC (bit récessif) |
| ACK | 2 | Emplacement d'acquittement (dominant) + délimiteur ACK (récessif) |
| EOF | 7 | End 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'erreur | Méthode de détection | Cause fréquente |
|---|---|---|
| Erreur CRC | Le récepteur recalcule le CRC et le compare à la valeur transmise | Bits de données corrompus par EMI ou câble long |
| Erreur de bit | Le transmetteur surveille le bus et détecte la discordance de son propre niveau de bit | Court-circuit, contention de bus, défaut de câblage |
| Erreur de trame | Les champs à format fixe (EOF, délimiteur CRC) vérifiés pour le niveau correct | Défaillance de bit stuffing, structure de trame corrompue |
| Erreur ACK | Le transmetteur vérifie qu'au moins un récepteur envoie un ACK dominant | Nœud manquant, mauvais débit binaire, pas de terminaison |
| Erreur de stuffing | Après 5 bits consécutifs de même niveau, un bit complémentaire doit suivre | EMI 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ètre | CAN classique | CAN FD |
|---|---|---|
| Débit binaire d'arbitrage max. | 1 Mbit/s | 1 Mbit/s (identique — rétrocompatible) |
| Débit binaire de phase données max. | 1 Mbit/s | 8 Mbit/s |
| Octets de charge utile max. | 8 octets | 64 octets |
| Longueur CRC | 15 bits | 17 ou 21 bits (plus long pour les charges utiles plus grandes) |
| Usage en automatisation du bâtiment | Ré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.
| Outil | Interface | Cas d'utilisation |
|---|---|---|
| PEAK-System PCAN-USB | Dongle USB, ~€100 | Logiciel gratuit PCAN-View — écouter le trafic, envoyer des trames, enregistrer en CSV |
| PEAK-System PCAN-USB FD | Dongle USB CAN FD, ~€130 | Comme ci-dessus mais supporte la phase données CAN FD jusqu'à 8 Mbit/s |
| Vector CANalyzer | Carte PCI/USB, professionnel | Analyse complète du protocole, vue dictionnaire d'objets CANopen, scripting |
| Kvaser Leaf Light v2 | Dongle USB, ~€180 | Logiciel 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 |
Guides associés
CANopen dans l'automatisation du bâtiment : dictionnaire d'objets, PDO, SDO et profils CiA 417/419
CAN / CANopenIntégration de refroidisseurs HVAC CANopen : Carrier, York, Daikin via passerelle Ixxat
Intégration de passerelleIntégration de passerelle KNX Modbus
Contrôle moteurIntégration variateur VFD Modbus vers KNX
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 →