Le bus CAN

Afin de faire communiquer deux systèmes entre eux, deux prérequis sont nécessaires. Il faut disposer d'un support physique et d'un protocole de communication. C'est identique pour les humains : le support est le papier, l'ordinateur ou la voix et le protocole, la langue avec ses règles de bienséance.

  • Le support physique du bus CAN (dans notre cas) consiste simplement en deux fils torsadés, aussi appelé paire torsadée. La référence de masse est passée via l'alimentation.
  • Le protocole CAN permet de définir les règles d'échanges entre les différents nœuds (autorisation de transmission, composition des trames, gestion des erreurs).

Origines du bus CAN

C'est d'abord le monde de l'automobile qui a initié le protocole du bus CAN (Controller Area Network). Lorsque la longueur des câbles dans un véhicule atteint 2Km, il faut optimiser tous ces échanges d'informations !

A la fin du siècle dernier, le bus CAN a été normalisé et a depuis été également adopté par le monde de l’aéronautique. Dans un Airbus, plusieurs dizaines de bus CAN circulent entre la cabine de pilotage et la queue de l'avion.

Caractéristiques du bus CAN

Le bus CAN offre :

  • une communication bidirectionnelle (chaque module connecté peut dialoguer avec tous les autres) ;
  • un risque d'erreur dans la transmission de la trame quasiment nul ;
  • la priorisation des informations urgentes à transmettre (principe d'arbitrage) ;
  • un système de gestion des erreurs de transmission pris en charge par le protocole CAN, complètement transparent pour le développeur ;
  • aucune perte de temps lors d'un conflit entre deux modules puisque le plus prioritaire garde la main et poursuit son émission pendant que le "perdant" se place en écoute ;
  • une longueur de bus pouvant aller jusqu'à 5Km ;
  • une inter-connexion pouvant aller jusqu'à une centaine de nœuds en mode standard (avec une vitesse maximale de 1Mbps et une longueur du bus ne dépassant pas 30m) ;
  • chaque nœud est connecté au bus par une paire torsadée (2 fils transmettent les données en mode différentiel, c'est à dire beaucoup moins sensible aux interférences) ;
  • la possibilité d'ajouter de nouveaux nœuds sur le bus ne nécessitant que la modification de la résistance de rebouclage (jumper d'extrémité sur la carte IBC) dans le cas d'une prolongation du bus.

Schéma d'un bus CAN avec position des résistances de rebouclage

La prolongation du bus par un nouveau nœud, nécessite de modifier le jumper d'extrémité.

L'insertion d'un nouveau nœud sur le bus ne nécessite aucune modification.

Utilisation possible dans le cadre du modélisme ferroviaire

  • Communiquer rapidement avec deux fils (trois en comptant la masse) entre deux microcontrôleurs, sur de grandes distances, sans être impacté par les interférences et ainsi limiter le câblage sous le réseau (carte d'interface IBC)