Post on 17-Nov-2021
Plan du cours (5)
Chapitre V: Bus CAN
1. Premiers besoins, évolution et applications.
2. Caractéristiques du bus CAN.
3. Composants présents sur un bus CAN.
4. Différents types de trames et description.
5. Mécanismes de protection du protocole.
6. Exercices.103
Premiers besoins pour le bus CAN
(Controller Area Network)
• Dans les années 80, les systèmes électroniques au niveau de l’industrie
automobile font leur prolifération (anti-patinage, contrôle moteur,
climatisation, fermeture centralisée des portes, etc..)
• Ces systèmes nécessitent un échange important d’information, impliquant
un nombre très élevé de câbles.
• Le nombre de connexions devenait trop élevé et posait de sérieux
problèmes de fiabilité, rendant le câblage classique extrêmement complexe.
Chapitre V: Bus CAN
104
Câblage traditionnel Versus bus CAN
Longueur de câble > 2 km
Nombre de connexions > 1800
100 kg de cuivre
Problèmes de fiabilité
et de sécurité
Chapitre V: Bus CAN
105
Evolution chronologique
107
80-83: Le bus CAN est créé par Robert Bosch Corp. D’autres
constructeurs ont commencé à développer des
composants compatibles CAN à des prix très attractifs.
1991: Création du « CAN in Automation » pour promouvoir les
applications industrielles du bus CAN.
1993: Publication des spécifications CAN Application Layer (CAL)
précisant les mécanismes de transmission.
Chapitre V: Bus CAN
Applications du bus CAN
Commande des machines
Industrie automobile Industrie maritime
Equipements médicaux
Engins de levage
Chapitre V: Bus CAN
Imprimante 108
Principaux constructeurs
109
Plus de 90% des cartes CAN disponibles
sur le marché, prix élevé
Solutions CAN « bon marché »
Chapitre V: Bus CAN
Caractéristiques (1): Support physique
• Paire torsadée (blindée ou pas) 2 fils de cuivre isolés de section 0.6 mm2.
110
• Les deux extrémités du bus doivent être rebouclées par des résistances de
120 Ω (tolérance entre 108 Ω et 132 Ω). Cette résistance permet
l’adaptation de l’impédance de la ligne (pour éviter les réflexions).
Chapitre V: Bus CAN
Caractéristiques (2): Topologie• La topologie CAN est de type « bus » série, multi-maître et half-
duplex. Chaque équipement connecté, appelé « nœud », peut
communiquer avec tous les autres.
111
Micro-
contrôleur
Gestionnaire
de protocole
Micro-
contrôleur
et
gestionnaire
de protocole
Module E/S
avec
gestionnaire
de protocole
Bus physique120 Ω 120 Ω
CAN - H
CAN - L
TxRx Rx RxTx Tx
Interface Interface Interface
Chapitre V: Bus CAN
Caractéristiques (3): Méthode d’accès
• Le bus CAN utilise la méthode d’accès CSMA/CR (accès libre avec
résolution de collisions). Le procédé d'attribution du bus est basé sur le
principe de "l'arbitrage bit à bit", selon lequel les nœuds émettant
simultanément sur le bus, comparent bit à bit l'identificateur de leur message
avec celui des messages concurrents. Dans cette comparaison, la valeur 0
écrase la valeur 1. Les stations de priorité moins élevée perdront
l’émission.
112
Chapitre V: Bus CAN
• L'encodage utilisé est de type NRZ (non retour à 0): l’état
récessif correspond à un niveau logique 1 et l’état dominant
correspond à un niveau logique 0.
Caractéristiques (4): Encodage des bits
Chapitre V: Bus CAN
113
Caractéristiques (5): Normes
• Couche physique :
• ISO 11898-2 (2003): CAN « high-speed » (jusqu'à 1Mbits/s),
• ISO 11898-3 (2006): CAN « low-speed, fault tolerant » (jusqu'à
125kbits/s).
• Couche de liaison de données :
• ISO 11898 part A → CAN 2.0A « standard frame format »
(identification sur 11bits),
• ISO 11898 part B → CAN 2.0B « extended frame format »
(identification sur 29bits).
Chapitre V: Bus CAN
114
Norme CAN High Speed
115
Dominant Récessif
CAN - H
CAN - L
Temps
Tension
(V)
3,5
2,5
1,5
2,0V
La différence de tension
entre les deux lignes H et L
est faible.
Chapitre V: Bus CAN
de 0,9 à 2 V1,5 V3,5 VDominant ou « 0 »
de 0 à 0,5 V2,5 V2,5 VRécessif ou « 1 »
CANH <> CANLCANL <> masseCANH <> masseNiveau
Norme CAN Low Speed
116
La différence de tension
entre les deux lignes H et L
est grande.Dominant Récessif
CAN - H
CAN - L
Temps
Tension
(V)
5,0
3,6
2,5
1,4
0,0
2,2V 5,0V
Chapitre V: Bus CAN
3 V1 V4 VDominant ou « 0 »
-1,5 V3,25 V1,75 VRécessif ou « 1 »
CANH <> CANL
CANL <> masseCANH <> masseNiveau
Caractéristiques (6): Longueur et débit
117
500010
250020
100062,5
500125
250250
100500
50800
301000
Longueur (m)Débit (kbit/s)
Low Speed
High Speed
Chapitre V: Bus CAN
+ -
Caractéristiques (8): Nombre d’équipements
raccordables
CAN HIGH SPEED 30 équipements
CAN LOW SPEED 20 équipements
/20
Chapitre V: Bus CAN
119
• On peut subdiviser les composants CAN selon 4 grandes classes de fonctionnalités:
1. Les gestionnaires de protocole,
2. Les microcontrôleurs munis de gestionnaires de
protocoles,
3. Les interfaces de commande de ligne (pilotes),
4. Les modules d’E/S de type SLIO (Serial Linked I/O).
Composants présents sur un bus CAN: Classes
Chapitre V: Bus CAN
120
• Le contrôleur de protocole CAN est responsable de la
gestion de tous les messages transférés sur le
médium. Ceci englobe les tâches suivantes:
• La synchronisation,
• Le traitement des erreurs,
• L’arbitrage,
• Les conversions parallèle/série et série/parallèle.
Composants présents sur un bus CAN (1):
Gestionnaire/contrôleur de protocole CAN
Chapitre V: Bus CAN
121
Contrôleur de protocole CAN:
Exemples
Siemens SAE 81C90/91
Intel82526/27
PhilipsSJA1000
Chapitre V: Bus CAN
122
• Un microcontrôleur est un circuit intégré qui rassemble les
éléments d'un ordinateur: processeur, mémoires, unités
périphériques et interfaces d'entrées-sorties.
• Par rapport aux systèmes électroniques à base de
microprocesseurs, les microcontrôleurs permettent de diminuer
la taille, la consommation électrique et les coûts des produits.
Composants présents sur un bus CAN (2):
Microcontrôleur à contrôleur CAN intégré
Chapitre V: Bus CAN
123
Microcontrôleur avec gestionnaire CAN intégré:
Exemples
Motorola68HC Microship
PIC18F « K80"
Chapitre V: Bus CAN
SiemensSAB 80C
124
• Un équipement SLIO (Serial Linked Input Output), permettent
la conception de nœuds d’entrées/sorties « low cost » dans un
bus CAN. Ces modules incluent un contrôleur de bus CAN
intégré « on-chip ».
• Ces modules permettent l’interfaçage entre le bus et un certain
nombre d’entrées/sorties numériques ou analogiques.
Composants présents sur un bus CAN (3):
Modules d’E/S de type SLIO
Chapitre V: Bus CAN
125
• Un driver de ligne est un circuit électronique à base d’amplificateur
opérationnel, conçu pour commander la ligne de transmission. Le signal
digital transmis dans la ligne est transformé en un signal basse-tension,
faible-impédance afin de rendre une transmission efficace sur de plus
longues distances.
Composants présents sur un bus CAN (4):
Drivers de ligne
Chapitre V: Bus CAN
127
Trames
Trame de données: envoi d’information aux autres noeuds.
Trame de requête: demande d’information à un autre noeud.
Trame d’erreur: signaler un erreur de transmission.
Trame de “surcharge”: demander un délai avant la réception
d’une nouvelle trame ou pour signaler un bit dominant durant
une période d’intertrame.
Intertrame: 3 bits récessifs entre les trames.
• Il existe 5 types de trames différentes:
Chapitre V: Bus CAN
129
• La trame de données sert à envoyer des informations par un nœud du bus vers les autres nœuds. Elle se compose de 7 champs différents. Chacun est matérialisé par un certain nombre de bits.
Trames de données
32 bits CAN format étendu 12 bits CAN format standard
Chapitre V: Bus CAN
130
• Le début de trame ou SOF (Start Of Frame) est marqué par 1 bit dominant,
• Le champ d'arbitrage contient l’identificateur du nœud. Plus l’identifiant est
petit, plus l’équipement est prioritaire. Le bit RTR est dominant s’il s’agit
d’une trame de donnée. Il est récessif s’il s’agit d’une trame de requête.
• Le champ de commande (ou de contrôle) donne le nombre d’octets
constituant la donnée transmise,
• Le champ de données contient la donnée transmise composée de 0 à 64
bits (de 0 à 8 octets). Ce champ est vide s’il s’agit d’une trame de requête.
Description des différents champs (1)
Chapitre V: Bus CAN
131
• Le champ de CRC est un champ de contrôle des erreurs,
• Le champ d'acquittement marque la bonne réception de la
donnée par un récepteur en émettant un zéro sur le bit «ACK».
• La fin de trame ou EOF (End of Frame) matérialisée par 7 bits
récessifs.
Description des différents champs (2)
Chapitre V: Bus CAN
132
• Grâce à ce système de détection, le taux d’erreur
enregistré est très faible (inférieur à 5.10-11). De plus,
le réseau est capable de différencier les erreurs
ponctuelles des erreurs redondantes. Ainsi, tout
périphérique défaillant peut être déconnecté du
réseau afin de limiter les perturbations. Le réseau
entre alors en mode « dégradé ».
Mécanismes de protection du protocole (1):
Contrôle de Redondance Cyclique (CRC)
Chapitre V: Bus CAN
133
• Le récepteur vérifie la consistance de la trame.
Mécanismes de protection du protocole (2):
Contrôle de la trame de donnée
11 11
Début
de trame
Champs d ’arbitrage
0 - 64 11115 7 ≥ 3
Champs de commande Champs de CRC Fin de trame
Champs de données
Espace
Intertrame
?
Niveau
récessif
Niveau dominant
Bit dominant ? Bit récessif?
411
Valeur
0 – 8?
Chapitre V: Bus CAN
134
Mécanismes de protection du protocole (3):
Stuffing bit/bit de bourrage
Données
à
transmettre
Données
transmise
sur le bus
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Bit de bourrage
5 bits dominants successifs
5 bits récessifs successifs
Chapitre V: Bus CAN
135
Mécanismes de protection du protocole (4):
Emission d’une trame d’erreur
Toute erreur détectée par le récepteur provoque l’émission
d’une trame d’erreur constituée de 2 champs (drapeau d’erreur
6 bits + délimiteur 8 bits récessifs).
8 bits6 bits
Nœud émetteur Nœud récepteur
Trame d ’erreur
Chapitre V: Bus CAN
136
Mécanismes de protection du protocole (5):
Acquittement
Tous les récepteurs qui ont bien reçu le message doivent l'acquitter en
émettant un bit dominant pendant la durée du bit ACK, ce qui permet au
nœud émetteur de savoir qu'au moins un des nœuds récepteurs a reçu le
message.
1 bit1 bit
Champ d’acquittement
ACK = 0 bonne réception
ACK delimiter = 1 toujours
Chapitre V: Bus CAN
137
Exercice1
• Q.1): Donner la forme de la trame envoyée réellement sur le
bus dans l’exemple suivant:
Chapitre V: Bus CAN
139
Exercice 2
• Q.2): Déterminer pour les formats standard et étendu le
nombre minimal et maximal de bits dans une trame de donnée
circulant sur le bus.
Chapitre V: Bus CAN
140
Exercice 3
• Q.3): Déterminer le nombre de capteurs/actionneurs ToR qu’un
nœud peut gérer dans une seule trame de données. En déduire
le nombre total de capteurs/actionneurs pouvant être gérés par
un bus CAN respectivement high ou low speed.
Chapitre V: Bus CAN
141
Exercice 4
• Q.4): Compléter le 3ème chronogramme (trame transmise sur le
bus) et préciser le nœud qui a réussi à émettre.
Chapitre V: Bus CAN
142
Exercice 5
• Q.5): Compléter la trame suivante (sans champ CRC) si le
nœud émet la donnée 0xB6.
Chapitre V: Bus CAN
143