le bus CAN
Origine du bus CAN : l’automobile
1983 : la société Bosch développe une solution de multiplexage des informations
circulant à bord de la voiture en s’inspirant du bus I2C.
1984 : les clients de la société Bosh sont mis au courant du projet.
1985 : Intel réalise les premiers circuits intégrés, suivi par Philips et Siemens
1986 : le bus CAN devient normalisé ISO
1991 : 1ère voiture haut de gamme : 5 calculateurs & bus CAN 500 kbit/s
CAN : Controller Area Network
Renault 4L (1962)
Citroën ZX (1994)
Contrôle injection
Calculateur contrôle
moteur
Bus CAN 2.0A
BSI*
BSI : Boîtier de Servitude Intelligent (calculateur)
Calculateur
boîte de vitesse
Moteur pas
à pas
Potentiomètre
position papillon
Prise
diagnostic
Thermistance
air
Thermistance eau
Capteur de
cliquetis
Sonde à
oxygène
Sonde à
oxygène
Capteur de
vitesse
 Certains capteurs ont des liaisons avec plusieurs calculateurs
ou existent en 2 exemplaires en raison de leur localisation.
 Les liaisons entre boîtiers sont de + en + nombreuses
Un simple exemple de « câblage classique »
 Objectifs à atteindre de nos jours
 Limiter le poids, le coût et la complexité du câblage électrique
 Améliorer la sécurité par une assistance au conducteur
 Améliorer le confort
 Diminuer la consommation, réduire la pollution et optimiser les
performances
 Evolution en cours de vie du véhicule (options logicielles)
• 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
Pourquoi communiquer en réseau ?
Pollution
2cv
 Avant Performances limitées
Jusqu’à 2 km
De 50 à 100 kg
Confort très limité
Coût élevé
 ABS (Anti Blocking System), REF (Répartiteur Electronique de Freinage) ou EBV (Elektronische Bremsen Verteilung ,
MSR (Motor Schlepp Regelung) ou régulation du couple moteur à la décélération , ESP, ESBS (Electronic Stability Brake
System) ou contrôle de freinage en courbe , ASR, BAS (Brake Assist System) ou amplification du freinage en cas
d'urgence, HAC (Hill-start Assist Control) assistance au démarrage en côte , EPS (Electronic Power Steering) direction assistée
électrique , VGRS (Variable Gear Ratio Steering) système de démultiplication variable de la direction,
 Direction à assistance variable, BVA, 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 de croisement, essuie-vitre automatique, correction de site des feux (lampes au Xénon)
 Allumage automatique des feux de détresse en cas de forte décélération ou de choc (1ère mondiale sur la Peugeot 607)
 Régulation de vitesse avec radar anti-collision, navigation par satellite
 Et à venir : direction et freins entièrement électrique, guidage du véhicule par rapport aux « bandes blanches », …
– • ABS = AntiBlocage de Sécurité
– • REF = EBV = EBD = Répartiteur Electronique de Freinage
– • ASR = TRC = Antipatinage des roues (AntiSlin Regulation ou antiskid regulation)
– • AFU = BAS = Aide au Freinage d'Urgence
– • ESP = ESBS = VSC = Contrôle dynamique de stabilité (Electronic Stability Program)
– • HDi = Haute pression Diesel Injection
– • FAP = Filtre A Particules
– • AFIL = Alerte de Franchissement Involontaire de Ligne
– • GNV = Gaz Naturel de Ville
– • BMP6 = Boîte Manuelle Pilotée 6 vitesses
Actuellement : explosion des systèmes électroniques embarqués
ABS
REF
ASR
AFU
ESP
AFIL
BMP6
A venir
Deux réponses :
 L’intégration : regrouper plusieurs fonctions dans un seul boîtier (ex :
gestion moteur et Boîtier de Servitude Intelligent de PSA)
• Gestion moteur : injection, allumage, dépollution, refroidissement moteur
• BSI : fermeture centralisée des portes, alarme, éclairage intérieur, anti-
démarrage, essuyage des vitres, gestion des clignotants, …
• ESP (contrôle dynamique du véhicule) : ABS, REF, MSR, ASR, ESP
 Le multiplexage : faire circuler des informations d’origine différentes sur
un seul canal de transmission.
Equipement A Equipement B Equipement C
Temps
A1 B1 C1 A3
A2 B2 C2 B3 A4
Equi. A
A1 A2 A3 A4
B1 B2 B3
Equi. B
Equi. C C1 C2
Sur le canal de
transmission
Limiter « l’inflation » des composants et du câblage
Evolution de l’architecture
Avant
Maintenant
7 réseaux dans un véhicule !
http://www.forum-mercedes.com/topic-484-sls-amg-mise-en-reseau-calculateurs-bus-can.html
• Principales propriétés du bus CAN
• Modèle général à 3 couches
• Adaptation : les sous-couches
• Le CAN dans l’industrie
Modèle OSI et CAN
Principales propriétés du bus CAN
Hiérarchisation des messages
Garantie des temps de latence
Souplesse de configuration
Réception de sources multiples avec synchro. temporelle
Fonctionnement multimaître
Détections et signalisations d’erreurs
 Retransmission des messages erronés dès que le bus est de
nouveau disponible (au repos)
 Distinction des erreurs (temporaires ou de non fonctionnalité
permanente au niveau d’un nœud)
 Déconnexion automatique des nœuds défectueux
Protocole CAN et modèle OSI
N° de la
couche
Modèle OSI Protocole CAN
7 Application Spécifié par l’utilisateur
6 Présentation
5 Session
4 Transport
3 Réseau
2 Liaison Liaison : communication des données
1 Physique Physique (choix libre du support)
• Modèle à 3 couches comme les réseaux de terrain.
• La couche 7 est vide (aucune spécification)
 adaptation possible par différents constructeurs
(CANopen, DeviceNet, SDS).
• Le choix du support est laissé libre.
Les sous-couches CAN
Couche 7 Application
Couche 2 Liaison
Couche 1 Physique
LLC (Logic Link Control)
Filtrage des messages
Notification des surcharges
Procédure de recouvrement des erreurs
MAC (Medium Access Control)
Encapsulation/Décapsulation des données
Codage de trame (Stuffing/Destuffing)
Gestion de l’accès au support
Détection d'erreur
Signalisation d'erreur
Acquittement
Sérialisalion/désérialiation
Bit timing
Synchronisation
PLS (Physical Signaling)
Codage/décodage bit
PMA (Physical Medium Attachment)
Caracteristiques Driver/Receiver
MDI (Medium Dependent Interface)
Connecteurs
Spécifications
du protocole
CAN
Les sous-couches LLC, MAC et PLS sont traitées par les circuits contrôleur de bus
CAN (microcontrôleurs, circuits spécialisés).
Le CAN dans l’industrie
Siemens
Trois variations disponibles
Le réseau CAN
• Le bus physique
• Topologie et signaux
• Caractéristiques de la couche physique
• Débit et distance franchissable
• Principe de diffusion de messages
• Codage des informations
• Le bit Timing
• Protocole CAN (4 types de trames)
• Trace d’une trame CAN à l’oscilloscope
• Réception en mode dégradé
• Résumé des principales caractéristiques
• Mesure de la résistance entre CAN L et CAN H possible 60 
 Si coupure de ligne : R > 60 ohms ( 120 )
 Si lignes en court-circuit : R < 60 ohms ( 0 )
• Les 2 capacités de 100 pF(optionnelles) absorbent les éventuels pics de
tension à l’aide des 4 résistances (60 )
CAN H
CAN L
Nœud i
Nœud i+1
60 
Le réseau CAN – Le bus physique
Deux versions normalisées du bus CAN
ISO 11519-2 CAN Low Speed et ISO 11898-2 CAN High Speed
(débit<125 kbit/s) (125 kbit/s à 1Mbit/s)
Le réseau CAN – Topologie et signaux
1 logique 0 logique 1 logique
1 logique 0 logique 1 logique
 Physiquement le bus est une paire torsadée de deux fils électriques :
CAN L (low) et CAN H (High)
 Les états logiques (0 ou 1) sont codés par différence de potentiel entre
les deux fils : immunité importante au bruit
 Caractéristiques électriques, nombres de noeuds et débits
Le Réseau CAN – Couche physique
0 V
 La distance franchissable est liée :
- au débit (ou durée d’un bit),
- à la charge capacitive du bus.
Les configurations recommandées sont les suivantes :
Le réseau CAN – Débit et distance franchissable
• Le concept de communication du bus CAN est celui de la
diffusion d’information (broadcast).
• Chaque station connectée au réseau écoute les trames
transmises par les stations émettrices. Ensuite chaque nœud
décide quoi faire du message, s’il doit y répondre ou non, s’il
doit agir ou non, etc…
• Le protocole CAN autorise différents nœuds à accéder
simultanément au bus par un procédé rapide et fiable
d’arbitrage qui détermine le nœud qui émettra en premier.
• L’accès au bus est donc aléatoire car un nœud peut
émettre à n’importe quel moment. Mais cet accès se fait
par priorité ; cette méthode est appelée CSMA CD/AMP
(Carrier Sense Multiple Acces with Collision Detection and
Arbitration Message Priority).
Le réseau CAN – Diffusion de messages
Le réseau CAN – Connexion des noeuds
 Le mode de connexion en « ET câblé » autorise l’émission simultanée de
niveaux logiques différents (le 0L écrase le 1L)
Bus CAN
Nœud A Nœud B
Nœud A
Nœud B
Bit dominant
Bit récessif
Bit dominant
Bit récessif
Bit dominant
Bit récessif
Bit dominant
 Résultat équivalent à
une porte ET si on
considère :
- 0 pour un bit dominant,
- 1 pour un bit récessif.
Bit dominant
Bus CAN
Exemple de tranceiver CAN :
MCP2551 (Microchip)
Le réseau CAN – Connexion des noeuds
Le réseau CAN – Connexion des noeuds
 Isolation galvanique :
certains systèmes électroniques sensibles doivent être protégés des
éventuels problèmes électriques véhiculés par le bus de communication.
Exemple d’isolation par opto-coupleur
 La transmission du bus CAN est synchrone : la re-synchronisation régulièrement
de l’horloge du récepteur sur celle de l’émetteur utilise le principe du bourrage
de bit inverse : méthode de bit stuffing
 Après 5 bits de même niveau, un bit (sans signification) de niveau inverse
est ajouté
 Le récepteur reconnaît ces bits de bourrage , cale son horloge, les supprime, et
reconstitue le message initial
 La vitesse de transmission CAN est exprimée en bits/s. Le débit réel des infos
ne doit pas tenir compte de ces bits rajoutés.
Le réseau CAN – Le codage des informations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
S
S
Trame à l'émission avant la mise en place des bits de stuffing
Trame avec bits de stuffing (S)
 On définit la plus petite base de temps reconnue sur un bus CAN comme étant le
Time Quantum. Cette base de temps est une fraction de l’horloge de l’oscillateur du
bus.
 Un bit dure entre 8 et 25 quantum
• Exemple de bit timing : lecture d’un bit
(ISO11898 : High Speed CAN 250 Kbps)
1 bit correspond à 32 coup d’horloge
La lecture du bit devra être faite au 20éme
coup d’horloge
Le réseau CAN – Le bit timing
Horloge prédivisée
Equipement A Equipement B Equipement C
A1, A2, A3, A4 ; B1, B2, B3; C1, C2
 Arbitrage bit à bit (niveaux Récessif /
Dominant)
bit à 0 = Dominant
bit à 1 = Récessif
Un niveau Dominant l'emporte toujours sur
un niveau Récessif
Le réseau CAN – Arbitrage d’une trame
A
C
B
Début 0001 0001 1111 Com. Informations de A Contrôle Fin
Ack
Début 0001 0000 0000 Com. Informations de B Contrôle Fin
Ack
Début 0001 0000 0101 Com. Informations de C Contrôle Fin
Ack
 Il peut arriver que 2 nœuds (ou plus) émettent simultanément une trame sur le
bus.
 Au début d’émission pas de conflit, car le champ de début de trame est
identique pour tous les boîtiers.
 Mais ensuite il va falloir déterminer laquelle des trames est prioritaire sur les
autres, elle sera la seule transmise.
Le réseau CAN – Arbitrage d’une trame
 Chaque émetteur compare le bit qu’il reçoit avec celui qu’il émet ;
tant que ces 2 bits sont identiques les 2 transmissions continuent
 Dès que 2 bits diffèrent, le boîtier ayant émis un bit à l’état récessif
cesse d’émettre
Sur le bus
A
C
B
Début 0001 0001 1111 Com. Informations de A Contrôle Fin
Ack
Début 0001 0000 0000 Com. Informations de B Contrôle Fin
Ack
Perte d'arbitrage
de la trame de A
Début 0001 0000 ---- Contrôle Fin
Ack
Com.
Début 0001 0000 0101 Com. Informations de C Contrôle Fin
Ack
Le protocole CAN – Arbitrage d’une trame
B Début 0001 0000 0000 Com. Informations de B Contrôle Fin
Ack
Sur le bus Contrôle Fin
Ack
Informations de B
Début 0001 0000 0000 Com.
C Début 0001 0000 0101 Com. Informations de C Contrôle Fin
Ack
Perte d'arbitrage de la trame de C
Le nœud B poursuit l’émission de la trame, les nœuds A et C
attendent la libération du bus pour transmettre de nouveau.
 Sur le bus CAN, la priorité est déterminée sur le seul champ
d’identification (y compris le bit RTR)
 Une trame d’informations se décompose en 7 champs (bit RTR=0) :
- début de trame (1 bit) start off frame (SOF)
- champ d'arbitrage (12 bits) arbitration field
- champ de commande (6 bits) control field
- champ de données (0 à 64 bits) data field
- champ de CRC (16 bits) CRC sequence
- champ d'acquittement (2 bits) ACKnowledgement field
- fin de trame (7 bits) end of frame (EOF)
 Un champ supplémentaire d’intermission (3 bits) ou « zone interframe »
sépare 2 trames consécutives.
Le protocole CAN – Trame d’informations
 La trame sur le CAN se répartie en 7 champs :
 Début  SOF (Start Of Frame)
• La trame commence toujours par 1 bit dominant (bit à 0), la ligne étant
précédemment au repos (1 logique)
• Ce bit ne sert qu’à synchroniser les horloges internes des récepteurs sur
celle de l’émetteur : sorte de bit de start
Le protocole CAN – Trame d’informations
Début Identificateur Com. Informations Contrôle Fin
Ack
 Champ composé de 12 bits :
 Les 11 premiers indiquent l’identité du contenu du message, et servent
également à l’arbitrage (gestion des priorités)
• Le dernier bit (RTR) permet de coder la nature du message : trame de
données (ex : régime moteur) ou trame de requête (demande de T° eau)
bit à 0 (dominant) : trame de données
bit à 1 (récessif) : trame de requête
Début Identificateur Com. Informations Contrôle Fin
Ack
Zone d’arbitrage
Le protocole CAN – Trame d’informations
 Champ de commande constitué de 6 bits :
 Les 2 premiers serviront pour une éventuelle évolution du protocole (bits de
réserve nommés R1 et R0)
 Les 4 derniers permettent de coder le
nombre d’octets du champ de données
(de 0 à 8 au maximum)
Début Identificateur Com. Informations Contrôle Fin
Ack
Le protocole CAN – Trame d’informations
 Ce champ contient de 0 à 8 octets de données (64 bits maxi)
Début Identificateur Com. Informations Contrôle Fin
Ack
Le protocole CAN – Trame d’informations
 Ce champ de vérification des données est composé de 2 parties :
 Code de vérification des données, CRC sur 15 bits avec G(x)=0xC599
Le récepteur compare le CRC calculé en réception avec celui de
l’émetteur ; si différence, pas d’acquittement
 Délimiteur de CRC : marque la fin de la vérification, 1 bit toujours à
l’état 1
 Ce contrôle est effectué par tous les boîtiers du réseau.
Début Identificateur Com. Informations Contrôle Fin
Ack
Le codage par bit stuffing est
désactivé à partir de cet instant
Le protocole CAN – Trame d’informations
 Ce champ d’acquittement est composé de 2 bits :
 un nœud en train de transmettre envoie un bit récessif pour le ACK
Slot.
 un nœud ayant reçu correctement un message en informe le nœud
émetteur en envoyant un bit dominant pendant le ACK Slot : il
acquitte le message si le calcul du CRC est correct. En cas d’erreur,
ce bit est laissé à l’état haut
 Un bit délimiteur d’acquittement, toujours à l’état haut (1)
 Tous les boîtiers du réseau doivent acquitter, même si la trame ne
les concerne pas (perte de temps possible)
Début Identificateur Com. Informations Contrôle Fin
Ack
Le protocole CAN – Trame d’informations
Début Identificateur Com. Informations Contrôle Fin
Ack
 Champ de fin de trame : suite de 7 bits à l’état
 Remarque :
• 3 bits à l’état 1 séparent obligatoirement 2 trames consécutives
(Interframe zone)
• 108 bits (sans les stuffing) sont nécessaires pour 64 bits de données
 Une trame de requête comporte les mêmes champs qu’une trame
d’informations mais avec le bit RTR = 1
Le protocole CAN – Trame de requête
Comparons 2 trames avec le même identificateur, l’une d’informations et
l’autre de requête : la trame d’informations est prioritaire sur la trame
de requête
Le protocole CAN – Trace CAN à l’oscilloscope
Le protocole CAN – Trame logique et exploitation
Le protocole CAN – Réception en mode dégradé
Dans les cas de pannes suivants :
 Fil Can L ou Can H à la masse
 Fil Can L ou Can H à +BAT (+12volts)
 Fil Can L ou Can H coupé
 Court-circuit entre les fils Can L et Can H
 Calculateur avec terminaison de ligne absent
La communication sur le réseau CAN n’est plus possible
Les erreurs :
CAN HS le réseau ne supporte absolument rien
CAN LS
Détection des défauts de ligne :
(coupure, masse, +alim, court-circuit entre CAN H et CANL).
 Mode dégradé : fonctionnement sur un seul fil.
Pour un bon diagnostic, il doit toujours y
avoir de la communication sur le réseau.
Le protocole CAN – Evolution : CAN LS/FT (Low Speed / Fault Tolerance)
http://www.technologuepro.com/cours-systemes-embarques/cours-systemes-embarques-Bus-CAN.htm

bus Can

  • 1.
  • 2.
    Origine du busCAN : l’automobile 1983 : la société Bosch développe une solution de multiplexage des informations circulant à bord de la voiture en s’inspirant du bus I2C. 1984 : les clients de la société Bosh sont mis au courant du projet. 1985 : Intel réalise les premiers circuits intégrés, suivi par Philips et Siemens 1986 : le bus CAN devient normalisé ISO 1991 : 1ère voiture haut de gamme : 5 calculateurs & bus CAN 500 kbit/s CAN : Controller Area Network
  • 3.
  • 4.
    Citroën ZX (1994) Contrôleinjection Calculateur contrôle moteur Bus CAN 2.0A BSI* BSI : Boîtier de Servitude Intelligent (calculateur) Calculateur boîte de vitesse Moteur pas à pas Potentiomètre position papillon Prise diagnostic Thermistance air Thermistance eau Capteur de cliquetis Sonde à oxygène Sonde à oxygène Capteur de vitesse
  • 5.
     Certains capteursont des liaisons avec plusieurs calculateurs ou existent en 2 exemplaires en raison de leur localisation.  Les liaisons entre boîtiers sont de + en + nombreuses Un simple exemple de « câblage classique »
  • 6.
     Objectifs àatteindre de nos jours  Limiter le poids, le coût et la complexité du câblage électrique  Améliorer la sécurité par une assistance au conducteur  Améliorer le confort  Diminuer la consommation, réduire la pollution et optimiser les performances  Evolution en cours de vie du véhicule (options logicielles) • 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 Pourquoi communiquer en réseau ? Pollution 2cv  Avant Performances limitées Jusqu’à 2 km De 50 à 100 kg Confort très limité Coût élevé
  • 7.
     ABS (AntiBlocking System), REF (Répartiteur Electronique de Freinage) ou EBV (Elektronische Bremsen Verteilung , MSR (Motor Schlepp Regelung) ou régulation du couple moteur à la décélération , ESP, ESBS (Electronic Stability Brake System) ou contrôle de freinage en courbe , ASR, BAS (Brake Assist System) ou amplification du freinage en cas d'urgence, HAC (Hill-start Assist Control) assistance au démarrage en côte , EPS (Electronic Power Steering) direction assistée électrique , VGRS (Variable Gear Ratio Steering) système de démultiplication variable de la direction,  Direction à assistance variable, BVA, 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 de croisement, essuie-vitre automatique, correction de site des feux (lampes au Xénon)  Allumage automatique des feux de détresse en cas de forte décélération ou de choc (1ère mondiale sur la Peugeot 607)  Régulation de vitesse avec radar anti-collision, navigation par satellite  Et à venir : direction et freins entièrement électrique, guidage du véhicule par rapport aux « bandes blanches », … – • ABS = AntiBlocage de Sécurité – • REF = EBV = EBD = Répartiteur Electronique de Freinage – • ASR = TRC = Antipatinage des roues (AntiSlin Regulation ou antiskid regulation) – • AFU = BAS = Aide au Freinage d'Urgence – • ESP = ESBS = VSC = Contrôle dynamique de stabilité (Electronic Stability Program) – • HDi = Haute pression Diesel Injection – • FAP = Filtre A Particules – • AFIL = Alerte de Franchissement Involontaire de Ligne – • GNV = Gaz Naturel de Ville – • BMP6 = Boîte Manuelle Pilotée 6 vitesses Actuellement : explosion des systèmes électroniques embarqués ABS REF ASR AFU ESP AFIL BMP6 A venir
  • 8.
    Deux réponses : L’intégration : regrouper plusieurs fonctions dans un seul boîtier (ex : gestion moteur et Boîtier de Servitude Intelligent de PSA) • Gestion moteur : injection, allumage, dépollution, refroidissement moteur • BSI : fermeture centralisée des portes, alarme, éclairage intérieur, anti- démarrage, essuyage des vitres, gestion des clignotants, … • ESP (contrôle dynamique du véhicule) : ABS, REF, MSR, ASR, ESP  Le multiplexage : faire circuler des informations d’origine différentes sur un seul canal de transmission. Equipement A Equipement B Equipement C Temps A1 B1 C1 A3 A2 B2 C2 B3 A4 Equi. A A1 A2 A3 A4 B1 B2 B3 Equi. B Equi. C C1 C2 Sur le canal de transmission Limiter « l’inflation » des composants et du câblage
  • 9.
  • 10.
    7 réseaux dansun véhicule ! http://www.forum-mercedes.com/topic-484-sls-amg-mise-en-reseau-calculateurs-bus-can.html
  • 11.
    • Principales propriétésdu bus CAN • Modèle général à 3 couches • Adaptation : les sous-couches • Le CAN dans l’industrie Modèle OSI et CAN
  • 12.
    Principales propriétés dubus CAN Hiérarchisation des messages Garantie des temps de latence Souplesse de configuration Réception de sources multiples avec synchro. temporelle Fonctionnement multimaître Détections et signalisations d’erreurs  Retransmission des messages erronés dès que le bus est de nouveau disponible (au repos)  Distinction des erreurs (temporaires ou de non fonctionnalité permanente au niveau d’un nœud)  Déconnexion automatique des nœuds défectueux
  • 13.
    Protocole CAN etmodèle OSI N° de la couche Modèle OSI Protocole CAN 7 Application Spécifié par l’utilisateur 6 Présentation 5 Session 4 Transport 3 Réseau 2 Liaison Liaison : communication des données 1 Physique Physique (choix libre du support) • Modèle à 3 couches comme les réseaux de terrain. • La couche 7 est vide (aucune spécification)  adaptation possible par différents constructeurs (CANopen, DeviceNet, SDS). • Le choix du support est laissé libre.
  • 14.
    Les sous-couches CAN Couche7 Application Couche 2 Liaison Couche 1 Physique LLC (Logic Link Control) Filtrage des messages Notification des surcharges Procédure de recouvrement des erreurs MAC (Medium Access Control) Encapsulation/Décapsulation des données Codage de trame (Stuffing/Destuffing) Gestion de l’accès au support Détection d'erreur Signalisation d'erreur Acquittement Sérialisalion/désérialiation Bit timing Synchronisation PLS (Physical Signaling) Codage/décodage bit PMA (Physical Medium Attachment) Caracteristiques Driver/Receiver MDI (Medium Dependent Interface) Connecteurs Spécifications du protocole CAN Les sous-couches LLC, MAC et PLS sont traitées par les circuits contrôleur de bus CAN (microcontrôleurs, circuits spécialisés).
  • 15.
    Le CAN dansl’industrie Siemens Trois variations disponibles
  • 16.
    Le réseau CAN •Le bus physique • Topologie et signaux • Caractéristiques de la couche physique • Débit et distance franchissable • Principe de diffusion de messages • Codage des informations • Le bit Timing • Protocole CAN (4 types de trames) • Trace d’une trame CAN à l’oscilloscope • Réception en mode dégradé • Résumé des principales caractéristiques
  • 17.
    • Mesure dela résistance entre CAN L et CAN H possible 60   Si coupure de ligne : R > 60 ohms ( 120 )  Si lignes en court-circuit : R < 60 ohms ( 0 ) • Les 2 capacités de 100 pF(optionnelles) absorbent les éventuels pics de tension à l’aide des 4 résistances (60 ) CAN H CAN L Nœud i Nœud i+1 60  Le réseau CAN – Le bus physique
  • 18.
    Deux versions normaliséesdu bus CAN ISO 11519-2 CAN Low Speed et ISO 11898-2 CAN High Speed (débit<125 kbit/s) (125 kbit/s à 1Mbit/s) Le réseau CAN – Topologie et signaux 1 logique 0 logique 1 logique 1 logique 0 logique 1 logique
  • 19.
     Physiquement lebus est une paire torsadée de deux fils électriques : CAN L (low) et CAN H (High)  Les états logiques (0 ou 1) sont codés par différence de potentiel entre les deux fils : immunité importante au bruit  Caractéristiques électriques, nombres de noeuds et débits Le Réseau CAN – Couche physique 0 V
  • 20.
     La distancefranchissable est liée : - au débit (ou durée d’un bit), - à la charge capacitive du bus. Les configurations recommandées sont les suivantes : Le réseau CAN – Débit et distance franchissable
  • 21.
    • Le conceptde communication du bus CAN est celui de la diffusion d’information (broadcast). • Chaque station connectée au réseau écoute les trames transmises par les stations émettrices. Ensuite chaque nœud décide quoi faire du message, s’il doit y répondre ou non, s’il doit agir ou non, etc… • Le protocole CAN autorise différents nœuds à accéder simultanément au bus par un procédé rapide et fiable d’arbitrage qui détermine le nœud qui émettra en premier. • L’accès au bus est donc aléatoire car un nœud peut émettre à n’importe quel moment. Mais cet accès se fait par priorité ; cette méthode est appelée CSMA CD/AMP (Carrier Sense Multiple Acces with Collision Detection and Arbitration Message Priority). Le réseau CAN – Diffusion de messages
  • 22.
    Le réseau CAN– Connexion des noeuds  Le mode de connexion en « ET câblé » autorise l’émission simultanée de niveaux logiques différents (le 0L écrase le 1L) Bus CAN Nœud A Nœud B Nœud A Nœud B Bit dominant Bit récessif Bit dominant Bit récessif Bit dominant Bit récessif Bit dominant  Résultat équivalent à une porte ET si on considère : - 0 pour un bit dominant, - 1 pour un bit récessif. Bit dominant Bus CAN
  • 23.
    Exemple de tranceiverCAN : MCP2551 (Microchip) Le réseau CAN – Connexion des noeuds
  • 24.
    Le réseau CAN– Connexion des noeuds  Isolation galvanique : certains systèmes électroniques sensibles doivent être protégés des éventuels problèmes électriques véhiculés par le bus de communication. Exemple d’isolation par opto-coupleur
  • 25.
     La transmissiondu bus CAN est synchrone : la re-synchronisation régulièrement de l’horloge du récepteur sur celle de l’émetteur utilise le principe du bourrage de bit inverse : méthode de bit stuffing  Après 5 bits de même niveau, un bit (sans signification) de niveau inverse est ajouté  Le récepteur reconnaît ces bits de bourrage , cale son horloge, les supprime, et reconstitue le message initial  La vitesse de transmission CAN est exprimée en bits/s. Le débit réel des infos ne doit pas tenir compte de ces bits rajoutés. Le réseau CAN – Le codage des informations 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 S S Trame à l'émission avant la mise en place des bits de stuffing Trame avec bits de stuffing (S)
  • 26.
     On définitla plus petite base de temps reconnue sur un bus CAN comme étant le Time Quantum. Cette base de temps est une fraction de l’horloge de l’oscillateur du bus.  Un bit dure entre 8 et 25 quantum • Exemple de bit timing : lecture d’un bit (ISO11898 : High Speed CAN 250 Kbps) 1 bit correspond à 32 coup d’horloge La lecture du bit devra être faite au 20éme coup d’horloge Le réseau CAN – Le bit timing Horloge prédivisée
  • 27.
    Equipement A EquipementB Equipement C A1, A2, A3, A4 ; B1, B2, B3; C1, C2  Arbitrage bit à bit (niveaux Récessif / Dominant) bit à 0 = Dominant bit à 1 = Récessif Un niveau Dominant l'emporte toujours sur un niveau Récessif Le réseau CAN – Arbitrage d’une trame A C B Début 0001 0001 1111 Com. Informations de A Contrôle Fin Ack Début 0001 0000 0000 Com. Informations de B Contrôle Fin Ack Début 0001 0000 0101 Com. Informations de C Contrôle Fin Ack  Il peut arriver que 2 nœuds (ou plus) émettent simultanément une trame sur le bus.  Au début d’émission pas de conflit, car le champ de début de trame est identique pour tous les boîtiers.  Mais ensuite il va falloir déterminer laquelle des trames est prioritaire sur les autres, elle sera la seule transmise.
  • 28.
    Le réseau CAN– Arbitrage d’une trame  Chaque émetteur compare le bit qu’il reçoit avec celui qu’il émet ; tant que ces 2 bits sont identiques les 2 transmissions continuent  Dès que 2 bits diffèrent, le boîtier ayant émis un bit à l’état récessif cesse d’émettre Sur le bus A C B Début 0001 0001 1111 Com. Informations de A Contrôle Fin Ack Début 0001 0000 0000 Com. Informations de B Contrôle Fin Ack Perte d'arbitrage de la trame de A Début 0001 0000 ---- Contrôle Fin Ack Com. Début 0001 0000 0101 Com. Informations de C Contrôle Fin Ack
  • 29.
    Le protocole CAN– Arbitrage d’une trame B Début 0001 0000 0000 Com. Informations de B Contrôle Fin Ack Sur le bus Contrôle Fin Ack Informations de B Début 0001 0000 0000 Com. C Début 0001 0000 0101 Com. Informations de C Contrôle Fin Ack Perte d'arbitrage de la trame de C Le nœud B poursuit l’émission de la trame, les nœuds A et C attendent la libération du bus pour transmettre de nouveau.  Sur le bus CAN, la priorité est déterminée sur le seul champ d’identification (y compris le bit RTR)
  • 30.
     Une tramed’informations se décompose en 7 champs (bit RTR=0) : - début de trame (1 bit) start off frame (SOF) - champ d'arbitrage (12 bits) arbitration field - champ de commande (6 bits) control field - champ de données (0 à 64 bits) data field - champ de CRC (16 bits) CRC sequence - champ d'acquittement (2 bits) ACKnowledgement field - fin de trame (7 bits) end of frame (EOF)  Un champ supplémentaire d’intermission (3 bits) ou « zone interframe » sépare 2 trames consécutives. Le protocole CAN – Trame d’informations
  • 31.
     La tramesur le CAN se répartie en 7 champs :  Début  SOF (Start Of Frame) • La trame commence toujours par 1 bit dominant (bit à 0), la ligne étant précédemment au repos (1 logique) • Ce bit ne sert qu’à synchroniser les horloges internes des récepteurs sur celle de l’émetteur : sorte de bit de start Le protocole CAN – Trame d’informations Début Identificateur Com. Informations Contrôle Fin Ack  Champ composé de 12 bits :  Les 11 premiers indiquent l’identité du contenu du message, et servent également à l’arbitrage (gestion des priorités) • Le dernier bit (RTR) permet de coder la nature du message : trame de données (ex : régime moteur) ou trame de requête (demande de T° eau) bit à 0 (dominant) : trame de données bit à 1 (récessif) : trame de requête Début Identificateur Com. Informations Contrôle Fin Ack Zone d’arbitrage
  • 32.
    Le protocole CAN– Trame d’informations  Champ de commande constitué de 6 bits :  Les 2 premiers serviront pour une éventuelle évolution du protocole (bits de réserve nommés R1 et R0)  Les 4 derniers permettent de coder le nombre d’octets du champ de données (de 0 à 8 au maximum) Début Identificateur Com. Informations Contrôle Fin Ack
  • 33.
    Le protocole CAN– Trame d’informations  Ce champ contient de 0 à 8 octets de données (64 bits maxi) Début Identificateur Com. Informations Contrôle Fin Ack
  • 34.
    Le protocole CAN– Trame d’informations  Ce champ de vérification des données est composé de 2 parties :  Code de vérification des données, CRC sur 15 bits avec G(x)=0xC599 Le récepteur compare le CRC calculé en réception avec celui de l’émetteur ; si différence, pas d’acquittement  Délimiteur de CRC : marque la fin de la vérification, 1 bit toujours à l’état 1  Ce contrôle est effectué par tous les boîtiers du réseau. Début Identificateur Com. Informations Contrôle Fin Ack Le codage par bit stuffing est désactivé à partir de cet instant
  • 35.
    Le protocole CAN– Trame d’informations  Ce champ d’acquittement est composé de 2 bits :  un nœud en train de transmettre envoie un bit récessif pour le ACK Slot.  un nœud ayant reçu correctement un message en informe le nœud émetteur en envoyant un bit dominant pendant le ACK Slot : il acquitte le message si le calcul du CRC est correct. En cas d’erreur, ce bit est laissé à l’état haut  Un bit délimiteur d’acquittement, toujours à l’état haut (1)  Tous les boîtiers du réseau doivent acquitter, même si la trame ne les concerne pas (perte de temps possible) Début Identificateur Com. Informations Contrôle Fin Ack
  • 36.
    Le protocole CAN– Trame d’informations Début Identificateur Com. Informations Contrôle Fin Ack  Champ de fin de trame : suite de 7 bits à l’état  Remarque : • 3 bits à l’état 1 séparent obligatoirement 2 trames consécutives (Interframe zone) • 108 bits (sans les stuffing) sont nécessaires pour 64 bits de données
  • 37.
     Une tramede requête comporte les mêmes champs qu’une trame d’informations mais avec le bit RTR = 1 Le protocole CAN – Trame de requête Comparons 2 trames avec le même identificateur, l’une d’informations et l’autre de requête : la trame d’informations est prioritaire sur la trame de requête
  • 38.
    Le protocole CAN– Trace CAN à l’oscilloscope Le protocole CAN – Trame logique et exploitation
  • 39.
    Le protocole CAN– Réception en mode dégradé Dans les cas de pannes suivants :  Fil Can L ou Can H à la masse  Fil Can L ou Can H à +BAT (+12volts)  Fil Can L ou Can H coupé  Court-circuit entre les fils Can L et Can H  Calculateur avec terminaison de ligne absent La communication sur le réseau CAN n’est plus possible
  • 40.
    Les erreurs : CANHS le réseau ne supporte absolument rien CAN LS Détection des défauts de ligne : (coupure, masse, +alim, court-circuit entre CAN H et CANL).  Mode dégradé : fonctionnement sur un seul fil. Pour un bon diagnostic, il doit toujours y avoir de la communication sur le réseau. Le protocole CAN – Evolution : CAN LS/FT (Low Speed / Fault Tolerance)
  • 41.