Les Bus de communication: Bus CAN ( Controller Area Network)

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Cours: chapitre 3 

Les Bus de communication: Bus CAN (Controller Area Network) Multiplexage et couche physique 

Version 1.0, Septembre 2018 

Bus CAN – Généralités 

Le bus CAN (Controller Area Network) est né du besoin de trouver une solution de communication série dans les véhicules automobiles. Il a été initialement développé par la société Bosch, au milieu des années 80, puis a fait l’objet d’une normalisation ISO 11898 et 11519

Bus CAN – Applications 

avec peu d’informations et un temps de réponse demandé de 100 ms réseau inter-systèmes: (ABS, …) à débit moyen (125 à 500 kbps) avec peu 

d’informations et un temps de réponse demandé de 10 ms réseau confort (autoradio, climatisation, navigation, …) à débit moyen (125 kbps à 1 Mbps) avec un grande quantité d’informations et un temps de réponse faible de 500 ms réseau diagnostic (appelé aussi liaison K) à débit faible (10 kbps) avec un grande quantité d’informations et un temps de réponse lent de l’ordre de la seconde) 

Autres applications : systèmes de navigation maritime, ascenseurs, machines agricoles, photocopieurs, systèmes médicaux, industrie textile, machines outils, système de production industrielle, …) 

L’électronique automobile est en évolution constante 

Bus CAN – Multiplexage 

Bus CAN – Multiplexage 

Ce renforcement de l’électronique se traduit par une augmentation du nombre de calculateurs, du nombre de capteurs, des faisceaux de câbles électriques Encombrements, poids et coûts 

Bus CAN – Multiplexage 

Bus CAN – Multiplexage 

Exemple : câblage classique 

Deux réponses techniques pour limiter l’accroissement des composants et du câblage: 

L’intégration regrouper plusieurs fonctions dans un seul boîtier (ex : gestion moteur et Boîtier de Servitude Intelligent (BSI) 

Bus CAN – Multiplexage 

Le multiplexage faire circuler une multitude d’informations entre divers calculateurs sur un seul canal de transmission appelé le bus (2 fils): le bus CAN 

Bus CAN – Multiplexage 

Exemple : câblage avec multiplexage 

Diminution du nombre de capteurs et de liaisons entre boîtiers car chacun fournit aux autres, par l’intermédiaire du bus, les infos qu’il reçoit en filaire : c’est le partage des informations 

Bus CAN – Multiplexage 

Exemple : câblage avec multiplexage 

Diminution du nombre de capteurs et de liaisons entre boîtiers car chacun fournit aux autres, par l’intermédiaire du bus, les infos qu’il reçoit en filaire : c’est le partage des informations 

Système classique de refroidissement sans multiplexage 

Système de refroidissement avec 

introduction du multiplexage

Bus CAN – Multiplexage 

Avantages du multiplexage 

Moins de capteurs et/ou de nombres de liaisons avec les boîtiers 

Le poids et les coûts diminuent 

Enrichissement de fonctions sans surcoût important : 

Faire allumer les feux de croisement lorsque le capteur de pluie détecte une averse 

(évolution d’un logiciel) ✓ Mise en action des feux de détresse lors d’une forte décélération Méthodes répondant à une norme ISO fiabilité accrue (théoriquement) 

Les constructeurs « protègent » leur réseau de APV car la plupart des 

interventions sur les systèmes multiplexés nécessitent l’utilisation d’outils de 

diagnostic particuliers : 

✓ Méthodes de recherche de pannes complexes + télé-assistance ✓ Téléchargement de mise à jour ✓ Apprentissage lors d’une installation ou d’un changement de composants 

multiplexés (ex : autoradio) : c’est le télé-codage 

10 

Bus CAN – Multiplexage 

11 

Boitier en câblage multiplexé L’interface de multiplexage se charge des communications avec le bus 

Boitier en câblage classique 

Adaptation des boîtiers électroniques 

Bus CAN – Multiplexage 

Les principes de multiplexage 

12 

Adaptation des boîtiers électroniques 

Bus CAN – Multiplexage 

Les principes de multiplexage 

13 

Le réseau ❖ Le réseau est l’ensemble des boîtiers qui communiquent entre eux ❖ Réseau : une architecture + un protocole (VAN, CAN, LIN …) 

En étoile (VAN) En râteau (VAN) En série (CAN) 

maître/esclaves multi-maîtres/esclaves multi-maîtres 

Bus CAN – Multiplexage 

14 

Les principes de multiplexage 

Le réseau L’architecture du réseau est adaptée, suivant les besoins en vitesse d’échanges d’informations (ex : info passage rapport BVA au boîtier moteur (250 kbits/s) et commande essuie glace arrière (62.5 kbits /s)). ❖ La vitesse maxi de communication est inversement proportionnelle à la distance 

entre 2 participants. ❖ Plus il y a de participants sur le réseau, plus la vitesse de communication diminue Le protocole : c’est la « langue » utilisée pour communiquer. C’est tout ce qui concerne l’acheminement des trames .Les trames sont distribuées sur le bus. ❑ Les « récepteurs » consultent l’identité de la trame (champ d’identification de la 

trame) et seuls ceux qui sont concernés par la trame, utilisent ses informations ❑ Les échanges de trame, donc de bits, doivent se faire à un rythme bien précis. Pour 

ce faire chacun des boîtiers possèdent une horloge interne (quartz) ❑ Les boîtiers récepteurs doivent caler leur horloge sur celle de l’émetteur ❑ Il se peut que 2 boîtiers veuillent émettre une trame en même temps sur le bus ; une 

trame est forcément prioritaire sur l’autre, c’est l’arbitrage. ❑ Seule la trame prioritaire est émise mais la 2ème n’est pas détruite, elle sera ré- 

émise dès que le bus sera libre : arbitrage non destructif 

Bus CAN – Multiplexage 

Les principes de multiplexage 

15 

Le réseau 

❖ Partage du temps de la ligne ❖ Codage numérique des informations ❖ Transmission série ❖ Gestion des priorités (arbitrage) 

Partage d’une ligne de bus entre divers équipements 

Bus CAN – Multiplexage 

16 

Les principes de multiplexage 

Bus CAN – Multiplexage 

17 

Les principes de multiplexage 

Transmission des messages 

Le réseau 

Bus CAN – Multiplexage 

Les principes de multiplexage 

18 

Transmission des messages 

Le réseau 

Bus CAN – Généralités 

Le protocole CAN ne couvre que 2 (ou 3) des 7 couches du modèle OSI : les couches PHYSIQUE et LIAISON et éventuellement la couche APPLICATION.19 

Bus CAN – Généralités- couches 

On retrouve ainsi dans le protocole CAN, la couche liaison de données (couche 2) et la couche physique (couche 1). 

La couche de liaison de données est subdivisée en deux sous- couches: 

la couche physique est divisée en trois sous-couches: 

20 

Bus CAN – La couche physique 

La couche physique définit comment le signal est transmis et a pour rôle d’assurer le transfert physique des bits entre les différents nœuds en accord avec toutes les propriétés (électriques, électroniques…) du système. Il est évident qu’à l’intérieur d’un même et unique réseau la couche physique doit être la même pour chaque nœud. Cette couche s’occupe donc : – de gérer la représentation du bit (codage, timing…). – de gérer la synchronisation bit. – de définir les niveaux électriques des signaux. – de définir le support de transmission. 

Dans le protocole CAN le code de ligne (en bande de base) choisi pour la transmission des données sur le bus est le code NRZ (Non Return to Zero). 

Remarque : La règle du Bit-Stuffing ne modifie en aucun cas le procédé de codage de ligne. 

21 

CODAGE DE LIGNE 

Bus CAN – La couche physique 

Le nominal bit time 

le Nominal Bit Time, exprimé en s, correspond évidemment à l’inverse du débit sur le bus. Nous avons donc la formule suivante: 

La norme BOSCH décrit avec précision la composition de ce Nominal Bit Time qui est divisé en plusieurs segments : 

22 


Durée_PROP_SEG=2.(tpropag_bus + tretard_comparateurs + tretard_drivers_lignes

Le nominal bit time 

Bus CAN – La couche physique 

23 

Bus CAN – La couche physique 

Le nominal bit time 

Durée des différents segments et notion de Time Quantum 

La valeur de m peut varier de 1 à 32. La figure ci-dessous représente la construction d’un Time Quantum à partir d’une période d’horloge interne au circuit. 

24 

Time_Quantum = m. minimum Time Quantum 

m =

Bus CAN – La couche physique 

La durée des différents segments 

Le nombre de Time Quanta dans un Nominal Bit Time peut ainsi varier de 8 à 25. La figure ci- dessous donne le nombre de Time Quanta possible par segment de Nominal Bit Time. 

Le choix du nombre de Time Quanta pour chaque segment dépend de la fréquence de l’oscillateur. Un nombre important de Time Quanta par segment augmente la précision de la synchronisation des différents nœuds sur le bus. 

25 

Le nominal bit time 

Synchronisation des horloges 

Chaque nœud doit produire un Nominal Bit Time pour pouvoir recevoir et émettre les données circulant sur le bus en synchronisme avec les autres circuits si les Nominal Bit Time de chaque nœud ne sont pas du tout synchronisés, la valeur lue sur le bus au moment de l’échantillonnage peut ne pas être la valeur correcte au bon moment, comme le représente la figure ci-dessous. Ces retards peuvent être gênants, dans la phase d’acquittement de la trame où il y a peu de temps pour finir de calculer le CRC et envoyer un bit à l’état dominant lors de l’Acknowledge Slot pour confirmer que la trame a bien été reçue. 

Bus CAN – La couche physique 

26 

Synchronisation des horloges 

La norme BOSCH prévoit donc des règles de synchronisation du Nominal Bit Time de chaque circuit pour palier aux inconvénients cités. 

➢ Pour corriger les dérives du Nominal Bit Time, il faut placer des butées que la 

dérive de la période ne pourra pas dépasser. ➢ La butée en question s’appelle le RJW : Resynchronisation Jump Width. ➢ Le RJW est une variable entière programmée à une valeur comprise entre 1 et le 

minimum de (4, segment de phase1): 

1 < Rjw < min(4, PHASE_ SEG1) 

Bus CAN – La couche physique 

1-Notion de RJW 

La valeur est mise dans le registre du circuit lors de l’initialisation et ne change pas en cours de fonctionnement. 

2-Notion d’erreur de phase 

➢ L’erreur de phase (PHASE_ERROR) est détectée lorsqu’une transition d’un bit dominant à récessif ou d’un bit récessif à dominant ne s’effectue pas à l’intérieur du segment de synchronisation. ➢ Une variable notée e sert à quantifier cette erreur de phase et fournit le signe. ➢ Le calcul de e est fait de la manière suivante : 

27 

Bus CAN – La couche physique 

Synchronisation des horloges 

Le calcul de e est fait de la manière suivante : 

✓ e = 0: si la transition s’effectue dans le segment de synchronisation (SYNC_SEG). 

✓ e > 0: si la transition s’effectue avant le point d’échantillonnage (Sample Point). 

✓ e < 0: si la transition s’effectue après le point d’échantillonnage (Sample Point). 

28 

Synchronisation des horloges 

La figure ci-dessous donne un exemple et les conséquences des emplacements des transitions sur la longueur des segments du Nominal Bit Time. 

Bus CAN – La couche physique 

29 

Bus CAN – La couche physique 

Synchronisation des horloges 

3-Règles de synchronisation 

➢ La hard-synchronisation : L’effet d’une hard-synchronisation est de faire repartir le Nominal Bit Time depuis le segment de synchronisation (SYNC_SEG) à chaque fois qu’un ordre de hard- synchronisation est donné par le gestionnaire du protocole. Le Nominal Bit Time en cours est abandonné et un nouveau Nominal Bit Time repart dès le Time Quantum suivant, depuis le segment desynchronisation (SYNC_SEG). 

➢ La resynchronisation : Le calcul et l’ordre de resynchronisation sont donnés à partir de la valeur de l’erreur de phase e, et dépendent aussi de la valeur du RJW : 

30 

Synchronisation des horloges 

➢ Règles de synchronisation: 

Bus CAN – La couche physique 

31 

Bus CAN – La couche physique 

La transmission des données est effectuée sur une paire filaire différentielle. La ligne est donc constituée de deux fils : ➢ CAN L (CAN LOW), ➢ CAN H (CAN HIGH). 

Le CAN est un bus de terrain, soumis à des parasites importants. La transmission en paire différentielle permet de s’affranchir de ces problèmes. Les montages différentiels ont en plus un fort taux de réjection en mode commun. 

32 

Caractéristiques physiques du bus CAN 

Support de transmission 

Bus CAN – La couche physique 

Pour les niveaux physiques sur le bus, il est important de distinguer les deux types de transmission possibles : 

▪ transmission en bus CAN low speed, 

▪ transmission en bus CAN high speed. 

33 

Caractéristiques physiques du bus CAN 

Support de transmission 

Bus CAN – La couche physique 

Niveaux de tension du bus CAN 

Le schéma d’un circuit CAN relié au bus 

34 

Caractéristiques physiques du bus CAN 

Support de transmission 

Bus CAN – La couche physique 

Débit sur le réseau et temps de latence 

❑ Le débit du réseau est calculé par rapport au Nominal Bit Time. Il s’étend de 125 kb/s à 1 Mb/s suivant le type de bus utilisé. Les valeurs ci-dessus correspondent au débit dit brut du réseau, c’est à dire en comptant tous les bits qui sont transmis sur le bus. ❑ Le débit dit net ne tient compte que des bits transportant des informations utiles. Le débit net est en fait le débit utile du bus en ne comptant pas tous les bits tels que le SOF, les Acknowlegde Delimiter, les bits de Bit-Stuffing… 

Le temps de latence est un intervalle de temps qui représente la durée écoulée entre le moment où une demande de requête est formulée et l’instant où la réponse est présente sur le bus. Le temps de latence dépend du nombre de nœuds maîtres désirant effectuer un transfert de données. 

34 

Caractéristiques physiques du bus CAN 

télécharger gratuitement cours de Bus CAN

Quitter la version mobile