2. 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
4. 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
5. 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 »
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 (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
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
10. 7 réseaux dans un véhicule !
http://www.forum-mercedes.com/topic-484-sls-amg-mise-en-reseau-calculateurs-bus-can.html
11. • 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
12. 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
13. 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.
14. 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).
15. Le CAN dans l’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 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
18. 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
19. 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
20. 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
21. • 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
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 tranceiver CAN :
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 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)
26. 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
27. 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.
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 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
31. 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
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 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
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 :
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)