CoursDocuments

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 

  • La Classe première S. utilisation en série du bus CAN date de 1992 avec une Mercedes automobile tendance 307 Il y a et 206 se plusieurs par (GM dirige exemple). et vers FORD types le bus avec de CAN réseaux le J1850, (Peugeot communicants Renault l’utilise et Peugeot dans utilisés ses avec modèles dans le VAN). récents l’industrie Mais 607, la Dans un véhicule, plusieurs réseaux « multiplexés » cohabitent : réseau carrosserie: (optiques, rétroviseurs, vitres, …) à faible débit (32,5 à 62,5 kbps) 

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 

  • Exigences sévères en matière de pollution 
  • Améliorations en matière de sécurité et de confort 
  • Évolution en cours de vie du véhicule (options) Une croissance constante des fonctions électroniques ABS, Direction à assistance variable, suspension pilotée, gestion moteur Airbag, anti-démarrage, clim. régulée, détection du sous-gonflage des roues, aide au stationnement, Allumage automatique des feux 

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 

  • Certains capteurs ont des liaisons avec plusieurs calculateurs 
  • Certains capteurs existent en 2 exemplaires en raison de leur localisation. Les liaisons entre boîtiers sont de plus en plus nombreuses 

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) 

  • Gestion moteur : injection, allumage, dépollution, refroidissement moteur 
  • BSI : fermeture centralisée des portes, alarme, éclairage intérieur, antidémarrage, essuyage des vitres, gestion des clignotants, … 
  • ESP (contrôle dynamique du véhicule) : ABS, REF, MSR, ASR, ESP 

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 

  • L’interface de multiplexage permet la communication entre le boîtier et le bus 
  • Les messages qui transitent par l’interface de multiplexage sont numériques et portent le nom de trames. Ces trames sont découpées en plusieurs champs. Chacun des champs est composé d’un nombre bien précis de bits à l’état 1 ou 0. 

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 (Control Area Network) est un protocole de communication série qui supporte des systèmes temps réel avec un haut niveau de fiabilité. 
  • La norme ISO 11898 spécifie un débit maximum de 1Mbits/s. La longueur maximum du bus est déterminée par la charge capacitive et le débit (de 20 kbps sur 1 km à 1Mbps sur 40 m). 
  • La structure du protocole du bus CAN possède implicitement les principales propriétés suivantes : souplesse de configuration fonctionnement multi-maître détections et signalisations d’erreurs retransmission automatique des messages altérés déconnexion automatique des nœuds défectueux 

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: 

  • LLC (Logic Link Control
  • MAC (Medium Access Control

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

  • PLS (Physical Signalling), 
  • PMA (Physical Medium Access), 
  • MDI (Medium Dependent Interface

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). 

  • Comme le montre la figure de l’exemple, les transitions des bits s’effectuent sur chaque front montant de l’horloge. 
  • Dans le protocole CAN, une période d’horloge correspond à ce que l’on appelle le Nominal Bit Time

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 représente en fait la durée du bit sur le bus. Cette durée est étroitement liée à la période de l’horloge. 
  • Chaque station reliée sur le bus doit être cadencée avec le même Nominal Bit Time pour pouvoir émettre et recevoir correctement les données circulant sur le bus. 
  • Ainsi, la durée du bit de chaque circuit est construite à partir d’un nombre déterminé de périodes d’horloge issue de l’horloge interne de chaque circuit CAN. 

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 : 

  • le segment de synchronisation (SYNC_SEG), 
  • le segment de propagation (PROP_SEG), 
  • le segment de phase buffer n°1 (PHASE_SEG1), 
  • le segment de phase buffer n°2 (PHASE_SEG2). 

22 


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

  • Les segments ′′buffer phase1′′ et ′′buffer phase2′′ : Ces segments sont utilisés pour compenser les erreurs de phase détectées lors des transitions. Ces segments peuvent être plus courts ou plus longs à cause des phénomènes de resynchronisation. 
  • Le point d’échantillonnage (sample point) : C’est le point où la valeur du bit est lue sur le bus. Il est situé à la fin du segment de ′′buffer phase1′′ et constitue la seule valeur mémorisée pour le niveau du bit. 

Le nominal bit time 

  • le segment de synchronisation : le segment de synchronisation est utilisé pour synchroniser les différents nœuds du bus. Comme nous le verrons par la suite, une transition (de ′′0′′ à ′′1′′ ou de ′′1′′ à ′′0′′) doit s’effectuer dans ce segment pour permettre une resynchronisation des horloges des différents nœuds en mode de réception de trames. 
  • Le segment de propagation : le segment de propagation est utilisé pour compenser les phénomènes de temps de propagation sur le bus. Par définition : 

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 

  • Le Time Quantum est une unité de temps qui est construite à partir de la période de l’oscillateur interne de chaque nœud. Les fréquences de fonctionnement du bus CAN s’étendant de 125 KHz à 1 MHz et celle des oscillateurs étant de plusieurs MHz, le Time Quantum représente plusieurs périodes d’une horloge d’oscillateur. 
  • La période d’horloge de l’oscillateur est appelée minimum Time Quantum
  • La valeur du préscalaire m détermine le rapport entre le Time Quantum et le Minimum 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). 

  • Cette simple règle sert de base pour resynchroniser les différents Nominal Bit Time de chaque circuit connecté au bus. La règle s’appuie sur les transitions des bits récessifs à dominant ou dominant à récessif qui arrivent au moins tous les 5 bits de même signe consécutifs, à cause de la règle du Bit-Stuffing. 
  • L’erreur de phase e est donc calculée par rapport au Sample Point qui détermine si le PHASE_SEG1 doit être allongé ou si le PHASE _SEG2 doit être raccourci pour que la prochaine transition s’effectue dans le SYNC_SEG

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 : 

  • Si l’erreur de phase est nulle (e = 0, la transition est dans le SYNC_SEG), l’effet de la resynchronisation est le même que celui de la hard-synchronisation. 
  • Si l’erreur de phase est positive et inférieure en valeur absolue à RJW (0<e<RJW), le PHASE_SEG1 sera rallongé de e. 
  • Si l’erreur de phase est négative, mais inférieure à RJW en valeur absolue (e<0 et |e|<RJW) le PHASE_SEG2 est raccourci de e. 
  • • Si l’erreur de phase est positive et supérieure ou égale RJW (e>0 et e>RJW), le PHASE_SEG1 est rallongé de RJW. 
  • • Enfin, si l’erreur de phase est négative et supérieure à RJW (en valeur absolue -e<0 et |e|>RJW) le PHASE_SEG2 est raccourci de RJW. 

30 

Synchronisation des horloges 

➢ Règles de synchronisation: 

  • Hard-synchronisation : − Une hard-synchronisation est faite à chaque fois qu’une transition s’effectue dans le segment de synchronisation SYNC_SEG. − Une hard-synchronisation est effectuée lorsque le bus est au repos (bus idle) et qu’une transition d’un bit récessif à un bit dominant est détectée, autrement dit lors d’un SOF (Start Of Frame). 
  • Resynchronisation : − Une resynchronisation est effectuée si une transition est détectée au point d’échantillonnage précédent et que la valeur lue sur le bus immédiatement après la transition est différente de celle lue sur le bus avant la transition. − Les transitions des bits récessifs à dominants peuvent être utilisées pour la resynchronisation si elles respectent la règle précédente, sauf si un nœud émet un bit dominant qui ne suit pas la règle de resynchronisation avec une transition de récessif à dominant et une erreur de phase positive. La règle ne s’applique que si les transitions des bits de récessif à dominant sont utilisées pour la resynchronisation. 

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

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Bouton retour en haut de la page

Adblock détecté

S'il vous plaît envisager de nous soutenir en désactivant votre bloqueur de publicité