Structure en couches du protocole CAN

Le CAN (Controller Area Network) est un protocole de communication en série permettant la transmission des informations en temps réel dans les systèmes autonomes (automobile, aviation, ...).

Comme son grand frère, le modèle OSI, le CAN est subdivisé en trois couches : la couche Objet (niveau 3), la couche Transport (niveau 2) et la couche Physique (niveau 1), au-dessus desquelles vient se placer la couche Application.

Les couches Objet et Transport regroupent toutes les fonctionnalités de la couche Liaison du modèle OSI. La couche Physique fixe l'allure du signal électrique transmis. La couche Transport est le cœur du CAN car c'est elle qui fournit le service à la couche Objet : échanges des messages avec cette couche, gestion du timing et de la synchronisation, création des trames, arbitrage, acquiescement,détection des erreurs et signalisation,...

Les informations sur un bus CAN sont transmises sous forme de messages ayant un format défini de longueur variable :
- le contenu d'un message est indentifié par un identificateur décrivant la fonction des données de telle façon que chaque noeud CAN puisse par un simple filtrage savoir si ces données lui sont destinées ou non.
- cette technique du flitrage des messages permet un fonctionnement "multicast", c'est à dire que plusieurs nœuds peuvent simultanément prendre en compte le même message.
- dans un même réseau CAN la vitesse d'échange des données est unique et fixée.
- l'indentificateur d'un message fixe le niveau de priorité.
- un nœud peut envoyer une trame de demande de données à un autre nœud. Celui-ci répondra alors en envoyant une trame de données avec le même identificateur.
- lorsque le bus est libre, c'est le message de plus haute priorité qui gagne l'accès au bus. Si deux trames accèdent au bus en même temps et avec le même identificateur (trame de demande de données et trame de données), c'est la trame de données qui est prioritaire.

La détection des erreurs se fait de plusieurs façons :
- comparaison du niveau des bits à émettre à ceux qui sont sur le bus,
- création d'un test de redondance cyclique (CRC ),
- test des trames des messages,
- confinement par coupure des nœuds défaillants, ...

Le support est une unique connexion de type indifférent, paire métallique, deux paires différentielles, fibre optique, ...