0% ont trouvé ce document utile (0 vote)
35 vues117 pages

Protocoles de communication automobile: CAN

Transféré par

ismailtaldouli
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
35 vues117 pages

Protocoles de communication automobile: CAN

Transféré par

ismailtaldouli
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Protocoles de

communication POUR
AUTOMOBILE: BUS CAN
Année Universitaire : 2022/2023

[Link]@[Link]

1
INTRODUCTION GENERALE
Les fonctions embarquées dans les véhicules incluent des fonctions
critiques pour la sécurité:
l'assistance au freinage, la suspension active, les fonctionnalités de
direction, les sacs gonflables, ….etc.

La plupart de ces fonctions sont soumises à des contraintes de


synchronisation strictes et plus généralement à des contraintes de
fiabilité.

Les unités de contrôle électronique (ECU) permettent de gérer en


permanence les fonctions embarquées et ses contraintes en utilisant
un microcontrôleur puissant exécutant du code surveillant un
ensemble de capteurs et contrôlant une séquence d'actionneurs.

2
INTRODUCTION GENERALE
Dans l’industrie automobile, une unité de contrôle électronique (ECU)
est un dispositif électronique intégré, essentiellement un ordinateur
numérique, qui lit les signaux provenant de capteurs placés dans
différents endroits et dans différents composants de la voiture et, en
fonction de ces informations, contrôlent diverses unités importantes
du véhicule telles que:

 Injection du carburant

 Système anti blocage des roues (ABS)

 Toutes opérations automatisées au sein de la voiture.

3
INTRODUCTION GENERALE
Différents types d’ECU:
 ECM (Engine Control Module): L’ECM régule quatre parties
principales des systèmes d’exploitation de votre véhicule : le
rapport air-carburant, le régime au ralenti, le calage variable des
soupapes et le calage de l’allumage.
 EBCM (Electronic Brake Control Module) Système doté d’un
moniteur à chaque roue pour détecter les conditions et alimenter
une impulsion électrique dans un ordinateur de bord afin de réduire
le dérapage incontrôlable lors d’une action de freinage rapide.
 PCM (Powertrain Control Module) Il s’agit d’une unité de
commande combinée du moteur et de la transmission qui assurera
la gestion et le fonctionnement correct du moteur et de la
transmission à partir d’une seule unité de commande.
 VCM (Vehicle Control Module)
 BCM (Body Control Module)
4
INTRODUCTION GENERALE
Différents types d’ECU:
 ECM (Engine Control Module): L’ECM régule quatre parties
principales des systèmes d’exploitation de votre véhicule : le
rapport air-carburant, le régime au ralenti, le calage variable des
soupapes et le calage de l’allumage.
 EBCM (Electronic Brake Control Module) Système doté d’un
moniteur à chaque roue pour détecter les conditions et alimenter
une impulsion électrique dans un ordinateur de bord afin de réduire
le dérapage incontrôlable lors d’une action de freinage rapide.
 PCM (Powertrain Control Module) Il s’agit d’une unité de
commande combinée du moteur et de la transmission qui assurera
la gestion et le fonctionnement correct du moteur et de la
transmission à partir d’une seule unité de commande.
 VCM (Vehicle Control Module)
 BCM (Body Control Module)
5
INTRODUCTION GENERALE
Différents types d’ECU:

6
INTRODUCTION GENERALE
Dans un système automobile, on trouve plusieurs sous-systèmes. On
distingue ici 5 types de tels sous-systèmes automobiles :

 systèmes de châssis

 systèmes d’airbag

 groupe motopropulseur

 électronique de corps et de confort

 systèmes multimédias et télématiques

7
INTRODUCTION GENERALE
Tous les sous-systèmes automobiles étaient initialement connectés par
des câbles dédiés. La direction et le freinage ont été effectués à l'aide
de systèmes hydrauliques et mécaniques. Cependant, à mesure que les
systèmes automobiles se complexifiaient, de nouvelles solutions
d'ingénierie devaient être trouvées. L’augmentation du nombre de sous
systèmes automobiles a conduit à une augmentation considérable de
câblage nécessaire à leur interconnexion. Afin de réduire la quantité de
câblage, le concept de bus de terrain a été introduit (Notion du
multiplexage).

8
INTRODUCTION GENERALE
Un bus de terrain est un bus série permettant l'échange de messages
entre des nœuds connectés au bus. À l'aide d'un bus de terrain,
plusieurs câbles précédemment dédiés sont remplacés par un bus
série interconnectant les calculateurs, ce qui réduit le poids, la
complexité et le coût du système automobile.
Pour intégrer les bus de terrain dans les sous systèmes automobiles,
les constructeurs automobiles ont initialement développé leurs
propres technologies de bus de terrain. Cependant, comme de
nombreux vendeurs d'automobiles partagent des sous traitants, il était
nécessaire de convenir d’un bus de terrain normalisé. L'une des
technologies normalisées au début des années 90 était le Controller
Area Network (CAN), qui devient rapidement le bus de terrain le plus
utilisé dans l'industrie automobile.

9
INTRODUCTION GENERALE
Les véhicules modernes utilisent différents protocoles de réseau dans
différents domaines, le choix étant déterminé par des facteurs tels que
les exigences fonctionnelles du domaine, la criticité, le coût, etc.

Parmi les nombreux protocoles, Local Interconnect Networks (LIN),


Controller Area Networks (CAN), FlexRay et Media Oriented
Systems Transport (MOST) sont les protocoles les plus largement
utilisés par les différents fabricants aujourd'hui. Des réseaux spéciaux
tels que safe-by-wire peuvent être utilisés pour les systèmes de
sécurité tels que les sacs gonflables et autres systèmes de sécurité
active.

10
INTRODUCTION GENERALE
Les véhicules modernes utilisent différents protocoles de réseau dans
différents domaines, le choix étant déterminé par des facteurs tels que
les exigences fonctionnelles du domaine, la criticité, le coût, etc.

Parmi les nombreux protocoles, Local Interconnect Networks (LIN),


Controller Area Networks (CAN), FlexRay et Media Oriented
Systems Transport (MOST) sont les protocoles les plus largement
utilisés par les différents fabricants aujourd'hui. Des réseaux spéciaux
tels que safe-by-wire peuvent être utilisés pour les systèmes de
sécurité tels que les sacs gonflables et autres systèmes de sécurité
active.

11
INTRODUCTION GENERALE

Réseau embarqué typique d'un véhicule


moderne

12
BUS CAN
(control Area Network)

13
INTRODUCTION BUS CAN
Depuis les années 1960 la longueur de câble utilisée dans l'automobile
ne cesse de croître pour dépasser 2000 m en 1995. Le nombre des
connexions atteint 1800 à cette même date. La fiabilité et la sécurité
sont menacés.
Les normes en matière de pollution et de consommation d'énergie
obligent les constructeurs à multiplier les capteurs et actionneurs
intelligents dans leur véhicules accélérant ce processus de
multiplication des câbles et connexion depuis une vingtaine d 'années.
Le besoin de sécurité accrue (ABS, ESP, AIR-BAG…) et la demande
de confort (mémorisation des réglages de conduite, climatisation
régulée par passager, système de navigation…) ne font que renforcer
cette tendance.
La société BOSCH développe dès le début des années 1980 une
solution de multiplexage des informations circulant à bord de la voiture.
Le bus CAN apparaîtra et sera normalisé dans les années qui suivent
(dès 1983).

14
Origine du bus CAN

 1983 : La société Bosch développe une solution de multiplexage


des informations circulant à bord de la voiture.
 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

15
APPLICATIONS BUS CAN
Les composants CAN se démocratisent et investissent d'autres secteurs de
l'électronique embarqué (médical, produits numériques, systèmes
électrotechnique… etc).

16
Propriétés BUS CAN
Le bus CAN (Control Area Network) est un moyen de communication série
qui supporte des systèmes embarqués temps réel avec un haut niveau de
fiabilité. La structure du protocole du bus CAN possède implicitement les
principales Propriétés suivantes :
 Hiérarchisation des messages.

 Garantie des temps de latence.

 Souplesse de configuration.

 Réception de multiples sources avec synchronisation temporelle.

 Fonctionnement multi maître.

 Détections et signalisations d'erreurs.

 Retransmission automatique des messages altérés dès que le bus est


de nouveau au repos.
 Distinction d'erreurs : d'ordre temporaire ou de non-fonctionnalité
permanente au niveau d'un nœud, déconnexion automatique des
nœuds défectueux.

17
Structures d’un réseau

 Réseau en Etoile
 Réseau en anneaux
 Réseau en bus

18
Les Bus de terrain
BUS :
Au sens informatique industrielle, conducteur ou ensemble de
conducteurs communs à plusieurs circuits permettant l’échange de
données entre deux liaisons communes .
TERRAIN :
Indique quelque chose de limité ou délimité géographiquement
(usine, atelier, voiture, avion...)

RESEAU:
Ensemble de lignes de communication qui desservent une même
unité géographique avec un niveau d’abstraction supérieur (gestion,
diagnostics, maintenance...).

19
Les Bus de terrain
Définition:
Les réseaux de terrain permettent l’interconnexion entre plusieurs
entités d’un même système. Cette communication se déroule sur
une zone limitée et sur laquelle on désire une réduction maximale
de la longueur des liaisons entre les différents éléments grâce à un
médium commun de transmission, cette réduction a comme
objectifs:

o Une volonté de sécurité;


o Gain de place sur un terrain.

20
Les Bus de terrain

21
Renault 4L (1962)
Citroën ZX (1994) Calculateur
Contrôle injection boîte de vitesse
Calculateur contrôle
moteur
Bus CAN 2.0A

Moteur pas
à pas

Sonde à BSI*
oxygène Thermistance
air
Thermistance eau
Capteur de
Potentiomètre
cliquetis
position papillon
Prise
diagnostic
Sonde à
oxygène

Capteur de
vitesse
BSI : Boîtier de Servitude Intelligent (calculateur)
Un simple exemple de « câblage classique »
 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
Pourquoi communiquer en réseau ?
Avant Coût élevé Performances limitées
De 50 à 100 kg

2cv

Confort très limité

Pollution

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
• Faire allumer les feux de croisement lorsque le capteur de pluie détecte une
averse
• Mise en action des feux de détresse lors d’une forte décélération
Actuellement : Explosion des systèmes
électroniques embarqués

ABS
REF(répartiteur électronique de freinage
ASR(Anti-Slip Regulation)
AFU (AIDE AU FREINAGE
D'URGENCE)
ESP
AFIL(alerte de franchissement involontaire de
ligne
A venir
Limiter « l’inflation » des composants et du
câblage
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- UCH (Unité de
Contrôle Habitacle))

 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, ASR, ESP

 Le multiplexage : Faire circuler des informations d’origine différentes sur


un seul canal de transmission.
Evolution de l’architecture

Avant

Maintenant
Les réseaux dans un véhicule !

[Link]
Les principes du multiplexage
Equipement A Equipement C
Informations Informations Informations Informations
à fournir à recevoir à fournir à recevoir
A1
B2
A2 A3 C1 C1 B1
B1 B2
C2
A2

Informations Informations
à fournir à recevoir
B1
A1
B2 B3 C2
A2
Equipement B
Les principes du multiplexage
Equipement A Equipement C
Informations Informations
à fournir
C1 Informations Informations
à recevoir à fournir à recevoir
A1
B2
A2 A3 C1 C1 B3
A3
A4 B1
C2
A3

A2 A1
B1 B3
Informations Informations
B2 à fournir à recevoir
B1
A1 C2
B2 B3 C2
Solution classique A2
n fils par n information Equipement B
Les principes du multiplexage
Equipement A Equipement C
Informations Informations Informations Informations
à fournir à recevoir à fournir à recevoir
A1
B2
A2 A3 C1 C1 B1

A4 B1 B2
C2
A3

Solution multiplexée Informations Informations


à fournir à recevoir
1 bus (2 fils) pour B1
A1
toutes les B2 C2
B3
informations A2
Equipement B
Les principes du multiplexage
Partage d'une ligne de communication entre les
équipements
Équipement A Équipement B Équipement C  Partage du temps de la ligne

A1, A2,A3,A4;B1,B2,B3;C1,C2

Equi. A A1 A A3 A4 A1 A A3 A4
2 2

Equi. B B1 B2 B3 B1 B2 B3

C1 C2 C1 C2
Equi. C

Sur le bus A1 B1 C1 A B2 C2 A3 B3 A4 A1 B1 C1 A2 B2 C2 A3 B3 A4
2
Temps
Les principes du multiplexage
Partage d'une ligne de communication entre les
équipements
Équipement A Équipement B Équipement C

A1, A2,A3,A4;B1,B2,B3;C1,C2

Equi. A A1 A A3 A4 A1 A A3 A4
2 2

Equi. B B1 B2 B3 B1 B2 B3

C1 C2 C1 C2
Equi. C

Sur le bus A1 B1 C1 A B2 C2 A3 B3 A4 A1 B1 C1 A2 B2 C2 A3 B3 A4
2
Temps
Les principes du multiplexage
Partage d'une ligne de communication entre les
équipements
Équipement A Équipement B Équipement C

A1, A2,A3,A4;B1,B2,B3;C1,C2

Equi. A A1 A A3 A4 A1 A A3 A4
2 2

Equi. B B1 B2 B3 B1 B2 B3

C1 C2 C1 C2
Equi. C

Sur le bus A1 B1 C1 A B2 C2 A3 B3 A4 A1 B1 C1 A2 B2 C2 A3 B3 A4
2
Temps
Les principes du multiplexage
Partage d'une ligne de communication entre les
équipements
Équipement A Équipement B Équipement C

A1, A2,A3,A4;B1,B2,B3;C1,C2

Equi. A A1 A A3 A4 A1 A A3 A4
2 2

Equi. B B1 B2 B3 B1 B2 B3

C1 C2 C1 C2
Equi. C

Sur le bus A1 B1 C1 A B2 C2 A3 B3 A4 A1 B1 C1 A2 B2 C2 A3 B3 A4
2
Temps
Les principes du multiplexage
Partage d'une ligne de communication entre les
équipements
Équipement A Équipement B Équipement C

A1, A2,A3,A4;B1,B2,B3;C1,C2

Equi. A A1 A A3 A4 A1 A A3 A4
2 2

Equi. B B1 B2 B3 B1 B2 B3

C1 C2 C1 C2
Equi. C

Sur le bus A1 B1 C1 A B2 C2 A3 B3 A4 A1 B1 C1 A2 B2 C2 A3 B3 A4
2
Temps
Les principes du multiplexage
Partage d'une ligne de communication entre les
équipements
Équipement A Équipement B Équipement C  Partage du temps de la ligne

A1, A2,A3,A4;B1,B2,B3;C1,C2

Equi. A A1 A A3 A4 A1 A A3 A4
2 2

Equi. B B1 B2 B3 B1 B2 B3

C1 C2 C1 C2
Equi. C

Sur le bus A1 B1 C1 A B2 C2 A3 B3 A4 A1 B1 C1 A2 B2 C2 A3 B3 A4
2
Temps
Notion de multiplexage
Les principes du multiplexage

Boîtier Multiplexé Partie numérique

Capteurs Étage Unité de traitement Étage de Actionneurs


d’entrée Microprocesseur sortie

Interface de
multiplexage Numérique

Bus
Notion de multiplexage

L’étage d’entrée du boîtier :


 Il transforme (il code) les signaux analogiques des capteurs en signaux
numériques exploitables par le microprocesseur (ex : signal délivré par la
thermistance d’eau)
L’étage de sortie du boîtier : (appelé étage de puissance)
 Il transforme les ordres, fournis par le microprocesseur sous forme de
signaux numériques, en signaux analogiques destinés aux actionneurs
L’étage de calcul : le microprocesseur (la puce)
 C’est le composant « intelligent » du boîtier
 Il possède des mémoires qui peuvent être :
• ROM : mémoire morte qu’on ne peut que lire
• RAM : mémoire qui disparaît dès que l’alimentation est coupée
• EEPROM : mémoire morte pouvant être reprogrammées (de + en utilisée)
 La ROM ou l’EEPROM contiennent le ou les programmes à réaliser de la forme :
SI ……, ALORS ……
Notion de multiplexage
l’interface

 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 à l’état 0

Début Identificateur Com. Informations Contrôle Ack Fin


Notion de multiplexage
Les principes du multiplexage : 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 …)

C’est la disposition matérielle C’est la gestion de la


des nœuds (boîtiers) communication entre les boîtiers
(arbitrage, trame, horloge, débit)
 Architecture :  Protocole :
• En étoile (VAN) • maître/esclaves
• En râteau (VAN) • multi-maîtres/esclaves
• En série (CAN) • multi-maîtres
Maître : peut prendre l’initiative d’une
communication sur le réseau
Esclave : peut seulement répondre à un
maître
Notion de multiplexage
Les principes du multiplexage : le réseau
 L’architecture du réseau est adaptée, suivant les besoins en vitesse d’échange
d’informations (ex : info passage rapport BVA au boîtier moteur (250 kbits/s) et
commande essuie glace arrière (62.5 kbits /s)).
Quelques particularités :
•La vitesse maxi de communication est inversement proportionnelle à la distance entre
participants

Maître / Esclaves Multi-Maîtres


Mixte
B.S.I. Radio AFFICHEUR
Lecteur CD B.S.I. AFFICHEUR Climatis

M M M M M M M

E E E E
Platine de Siège Platine de porte
Siège
porte
Les Bus de terrain
Domaines d’application

Débit (kbits)
10 000
Ethernet Réseau d ’ordinateurs
1 000
CAN
Automobile
application motorisation
100
I²C
D²B Automobile
10 application confort
Application
1 Automobile
bus de terrain industriel
application éclairage

1 10 100 1 000 10 000 Distance (m


Notion de multiplexage
Les principes du multiplexage : le réseau (le protocole)

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
Notion de bus de communication
le bus : exemple chez PSA

(bus confort) (bus carrosserie)


Bus CAN : Propriétés

Propriétés fonctionnelles de CAN :

 Hiéarchisation des messages


 Garantie des temps de latence
 Souplesse de configuration
 Réception de multiples sources avec synchronisation temporelle
 Fonctionnement multimaître
 Détection et signalisation des erreurs : Distinction des
erreurs temporaire et des erreurs permanentes au niveau d’un noeud
 Retransmission automatique des messages altérés dès que le bus
est de nouveau au repos
 Déconnexion automatique des nœuds défectueux
Nœuds, valeurs du bus, messages

 Nœud : sous-ensemble relié à un réseau de communication


et capable de communiquer sur le réseau selon un protocole de
communication (ici le protocole CAN).

 Valeurs du bus : le bus peut avoir l’une des deux valeurs logiques
complémentaires définies, non pas en 0 et 1 comme d’habitude, mais
sous les formes dites de dominante et récessive. Dans le cas d’une
transmission simultanée de bits récessifs et dominants, la valeur
résultante du bus sera dominante (équivalence avec un ET câblé).
Routage des messages…

 Routage des informations : des nœuds peuvent être ajoutés au réseau


sans qu’il n’y ait rien à modifier tant au niveau logiciel que matériel.

Chaque message possède un identificateur (identifier) qui n’indique pas


la destination du message mais la signification des données du message.
Ainsi tous les nœuds reçoivent le message, et chacun est capable de
savoir grâce au système de filtrage de message si ce dernier lui est
destiné ou non.

Chaque nœud peut également détecter des erreurs sur un message qui
ne lui est pas destiné et en informer les autres nœuds.
Messages (trames de bits),…
 Message : chaque information est véhiculée sur le bus à l’aide d’un
message (trame de bits) de format défini mais de longueur variable
(et limitée). Dès que le bus est libre (bus idle), n’importe quel nœud
relié au réseau peut émettre un nouveau message.

 Acquittement : tous les récepteurs vérifient la validité d’un message


reçu, et dans le cas d’un message correct ils doivent acquitter en
émettant un flag.
Par ailleurs il existe deux types de format (trame standard,
trame étendue) pour les trames de données et de requête, et ils
diffèrent seulement l’un de l’autre par l’identificateur
(identificateur de 11 bits pour les trames standards, de 29 bits pour
les trames étendues).
Requêtes, données, erreurs, surcharges

Le transfert des messages se manifeste et est commandé à l’aide de


quatre types de trames spécifiques et d’un intervalle de temps les
séparant:
 Trame de requête : Une trame de requête est émise par un nœud
désirant recevoir une trame de données (l’identificateur est le même
pour les deux trames dans ce cas).
 Trame de données, une trame de données (data frame) est une trame
qui transporte, comme son nom l’indique, des données (8 octets).
 Trames d’erreurs : émises par n’importe quel nœud dès la détection
d’une erreur,
 Trames de surcharge :ces trames correspondent à une demande
d’un laps de temps entre les trames de données et de requête
précédentes et successives.
Codage, Flux…
Il existe un espace inter-trames de 3 bits récessifs entre les trames de données et
de requête.
En ce qui concerne le flot de bits des trames du bus CAN, la méthode de codage
NRZ (Non Return to Zero) a été retenue. Ceci revient à dire que pendant la durée
totale du bit généré son niveau reste constant qu’il soit dominant ou récessif .
Priorité, multimaître, arbitrage

Priorités : les identificateurs de chaque message permettent de définir quel


message est prioritaire sur tel autre.

Fonctionnement multimaître : lorsque le bus est libre, chaque nœud


peut décider d’envoyer un message. Seul le message de plus haute
priorité prend possession du bus .

Arbitrage : dû au fonctionnement multimaître. Si deux nœuds ou plus


tentent d’émettre un message sur un bus libre il faut régler les conflits
d’accès. On effectue alors un arbitrage bit à bit (non destructif) tout
au long du contenu de l’identificateur. Lorsqu’un bit récessif est envoyé
et qu’un bit dominant est observé sur le bus, l’unité considérée perd l’arbitrage,
doit se taire et ne plus envoyer aucun bit. L'arbitrage est qualifié de CSMA/CA
(Carrier Sense Multiple Access - Collision Avoidance)
Couches OSI

7. Application

6. présentation

5. session

4. Transport

•3. Réseau

[Link]

1. Physique
Couches OSI

7. Application

6. présentation

5. session

4. Transport

•3. Réseau

[Link]

1. Physique
Couches OSI

7. Application

6. présentation

5. session
7. Application

[Link] 4. Transport

1. Physique •3. Réseau

[Link]

1. Physique
Couches OSI

1. Physique

Il existe deux normes pour la couche physique :


• ISO 11898-2 (2003) : CAN « high-speed »
(jusqu'à 1Mbits/s),
• ISO 11898-3 (2006) : CAN « low-speed, fault
tolerant » (jusqu'à 125kbits/s).
Couches OSI

1. Physique (Topologie)

Il s'agit d'une topologie en BUS. C'est à dire


que tout les nœuds sont connectés au
même câble. L'avantage d'utiliser un BUS
est une réduction significative du câblage.
Cela permet également d'insérer un nœud
comme on le souhaite dans l'architecture
sans avoir a déclarer celui-ci. Topologie

Le principal désavantage de cette


technologie est la défaillance de l'ensemble
des nœuds en cas de rupture d'un câble.
Couches OSI

1. Physique (Topologie)
Couches OSI

1. Physique (Support Physique)

Un bus de communication a donc souvent pour


support physique deux fils torsadés. Ces fils
sont nommés CAN high et CAN low.
Nous avons donc affaire à une transmission série
asynchrone (il n’y a pas d’horloge commune aux
différents calculateurs) par paires différentielles (il y
a deux fils dont on soustrait les tensions pour
obtenir la valeur du bit transmis).
Couches OSI

1. Physique (Support Physique)


Couches OSI

1. Physique (Support Physique)


Couches OSI

1. Physique (Support Physique)


Couches OSI

1. Physique (Support Physique)

Pour diminuer le risque de défaut de transmission, des dispositions ont été prises
au niveau la couche physique :

la somme des tensions est toujours constante quel que soit le niveau logique (le
bit) transmis
Couches OSI Tous les calculateurs présents sur un
réseau sont reliés par les modules
émetteur/récepteur intégrés dans les
calculateurs. Chaque calculateur
connecté est appelé un nœud
1. Physique

Schéma de principe d’un module


émetteur/récepteur
Couches OSI

1. Physique (Support Physique)

Schéma de principe d’un module émetteur/récepteur :


Couches OSI

1. Physique (Support Physique)

Principe de fonctionnement du Transceiver


pour un réseau CAN low speed :
Le Transceiver possède un élément de
détection des anomalies des tensions sur le
bus.
Cette configuration permettant de
diagnostiquer les défauts et ainsi de
continuer a transmission (ou la réception).
De par la présence de ces éléments intégrés
de diagnostic, ce réseau tolère certains
défauts, d’où le nom de CAN FAULT
TOLERANT attribué au CAN low speed.
Encodage des bits
Etat Electrique du signal
Couches OSI

7. Application

6. présentation

5. session
7. Application

[Link] 4. Transport

1. Physique •3. Réseau

[Link]

1. Physique
Couches OSI

[Link]
Couches OSI

[Link]

 Message : chaque information véhiculée sur le bus à l’aide d’un message (trame de bits)
de format défini mais de longueur variable (et limitée). Dès que le bus est libre (bus idle),
n’importe quel nœud relié au réseau peut émettre un nouveau message.

 Acquittement : tous les récepteurs vérifient la validité d’un message reçu, et dans le cas
d’un message correct ils doivent acquitter en émettant un flag.
Quelques termes :

• • On appellera ‘Trame’ l’ensemble des bits à transmettre. Cet ensemble


contient les données utiles (objet de la transmission) accompagnées des
informations nécessaires à leur bon acheminement : repère de début,
usage, vérification et contrôle, repère de fin. Le tout est transcodé1 dans
la norme désirée (Manchester, Manchester comprimé ou Bit Stuffing).
Les formats des protocoles VAN et CAN feront l’objet d’une prochaine
Infotech.

• • Les termes ‘station’ ou ‘poste’ désignent indifféremment un élément


(‘nœud’) du réseau. D’une manière générale, ‘poste’ est plus adapté aux
réseaux locaux (interconnexion de PC) alors que ‘station’ représente
plus un élément d’un réseau embarqué en automobile.
Couche OSI

[Link] (types de trames)

Le transfert des messages se manifeste et est commandé à l’aide de quatre types de trames
spécifiques et d’un intervalle de temps les séparant:
 Trame de requête : Une trame de requête est émise par un nœud désirant recevoir une
trame de données (l’identificateur est le même pour les deux trames dans ce cas).
 Trame de données, une trame de données (data frame) est une trame qui transporte,
comme son nom l’indique, des données (8 octets).
 Trames d’erreurs : émises par n’importe quel nœud dès la détection d’une erreur,
 Trames de surcharge :ces trames correspondent à une demande d’un laps de temps entre
les trames de données et de requête précédentes et successives.
Couches OSI

[Link]

Les données sont envoyées à tous les


calculateurs présents (connectés) sur le réseau et
tous les calculateurs vont les lire.
En fonction de leur application respective des
données seront utiles pour certains calculateurs et
seront ignorées pour d’autres. Ainsi la trame va
comporter des champs permettant son décodage
par les calculateurs.
Règle d’accès au bus

• Un nœud ne peut commencer à émettre une trame que si le bus est libre (= la ligne physique
est au repos) pendant un temps t qui est déterminé par le protocole. Une ligne au repos est
caractérisée par un état logique ‘1’ (présence de tension). Toutefois, cette règle n’interdit pas à
deux nœuds (ou plus) d’initier une transmission au même instant (ou presque).

• Dans ce cas il y a un conflit d’accès au bus qui va se traduire par une collision des trames.

• Cette règle s’applique aux réseaux locaux de type ‘Ethernet’ et à notre réseau CAN.
Ce sont des réseaux de type ‘CSMA’. • CS = Carrier Sense, littéralement ‘détection de porteuse’.
Cela correspond au fait de s’assurer si le bus est occupé ou non avant d’initier une transmission. •
MA = Multiple Acces, à ‘accès multiple’ signifie qu’il n’y a pas de priorité d’accès au bus entre
les nœuds.
Couche OSI

[Link]

Priorités : les identificateurs de chaque message permettent de définir quel message est
prioritaire sur tel autre.

Fonctionnement multimaître : lorsque le bus est libre, chaque nœud peut décider d’envoyer un
message. Seul le message de plus haute priorité prend possession du bus .

Arbitrage : dû au fonctionnement multimaître. Si deux nœuds ou plus tentent d’émettre un


message sur un bus libre il faut régler les conflits d’accès. On effectue alors un arbitrage bit à bit
(non destructif) tout au long du contenu de l’identificateur. Lorsqu’un bit récessif est envoyé et
qu’un bit dominant est observé sur le bus, l’unité considérée perd l’arbitrage, doit se taire et ne
plus envoyer aucun bit. L'arbitrage est qualifié de CSMA/CA (Carrier Sense Multiple Access -
Collision Avoidance)
Couche OSI

[Link] (Sécurité de transmission)

Méthode dite de Bit-Stuffing (bit de transparence) :

Cette méthode consiste, dès que l’on a émis 5 bits de même polarité
sur le bus, à insérer un bit de polarité contraire pour casser des chaînes trop importantes
de bits identiques. On obtient ainsi dans le message un plus grand nombre de transitions
ce qui permet de faciliter la synchronisation en réception par les nœuds.

Cette technique est uniquement active sur les champs de d’arbitrage et de contrôle. Pour
un fonctionnement correct de tout le réseau, cette technique doit être implémentée aussi
bien à la réception qu’à l’émission.

Remarque : le champ de « fin de trame » déroge cette règle…


Couche OSI

[Link] (Structure de trame)

Structure de trame
DEBUT DE TRAME

Le début de trame SOF (Start Of Frame), 1 bit


dominant ; la ligne étant précédemment au repos.

1 bits
0

Bit toujours à 0
IDENTIFICATION

Composée de 12 bits (zone d’identification de la trame (11 bits + RTR) :

12 bits Champ identificateur

0 0 1 0 1 1 1 1 1 1 1

Bit RTR
Identification 11 bits Bit RTR=1
Requête
Bit RTR=0
Identificateur transmis : 0010 1111 111 Données
BIT STUFFING

Trame avant bit Stuffing :0110000001100001111110111

Trame avec bit Stuffing :011000001011000011111010111

Trame à la réception :0110000001100001111110111

82
CHAMP DE COMMANDE

6 bits
Nb d’octets de données

0 0 12 bits 0 0 0

Bits réservés
1000 = 8 octets ( maxi )

83
CHAMP D’ACQUITTEMENT

2 bits Délimiteur d’acquittement toujours à 1

0 1
2 bits

ACK

Si l’acquittement est réalisé 1er bit à 0 sinon 1eme bit reste a 1

84
CHAMP DE FIN DE TRAME

7 bits

1 1 1 1 1 1 1

Pas de bit stuffing

85
SEPARATEUR DE TRAME

3 bits

1 1 1

86
EXEMPLE TRAME CAN

CAN H

CAN L

BITS
EXEMPLE TRAME CAN

1
EXEMPLE TRAME CAN

00100000 0000

Identificateur
EXEMPLE TRAME CAN

0 00001

Identificateur Commande
EXEMPLE TRAME CAN

00000 000

Identificateur Commande Données


EXEMPLE TRAME CAN

1001011010110101

Identificateur Commande Données Vérification


EXEMPLE TRAME CAN

01

ACK
Identificateur Commande Données Vérification
EXEMPLE TRAME CAN

1111111

ACK
Identificateur Commande Données Vérification Fin trame
EXEMPLE TRAME CAN

CAN H

CAN L

BITS
100100000 0000 0 00001 00000 0001001011010110101011111111 111
111

ACK
Identificateur Commande Données Vérification Fin trame IFS
Exemple d’une trame
Notion de bus de communication

Synchronisation des horloges

Sur le réseau, la durée de transmission d’un bit peut varier d’un noeud à
l’autre ; les boîtiers doivent donc effectuer une synchronisation pour une
bonne réception : c’est la synchronisation des horloges
Ce sont les horloges des récepteurs qui se calent sur l’horloge de l’émetteur :
• En début d’émission de trame le bus passe de l’état de repos à celui
d’activité
• Pendant l’émission de la trame : les bits Stuffing sur le CAN
Notion de bus de communication

Synchronisation des horloges

 Le récepteur compare sa durée de transmission d’un bit avec celle de la trame


en cours de lecture.

 La synchronisation consiste à allonger ou raccourcir la durée de transmission


d’un bit du boîtier récepteur, pour l’ajuster avec celle d’un bit du boîtier émetteur
Notion de bus de communication

Notion d’arbitrage

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.
Notion de bus de communication

Notion d’arbitrage
Notion de bus de communication

B Début 0001 0000 0000 Com. Informations de B Contrôle Ack Fin

C Début 0001 0000 0101 Com. Informations de C Contrôle Ack Fin

Perte d'arbitrage de la trame de C

Début 0001 0000 0000 Com. Informations de B Contrôle Ack Fin

Sur le VAN, la priorité d’une trame peut-être déterminée sur toute sa longueur

Sur le CAN, la priorité est déterminée sur le seul champ d’identification


ARBITRAGE

110100111

100100111

100100101
ARBITRAGE

Émetteur 1

1 01

Émetteur 2

1 0 0 1 0 0 1 01

Émetteur 3

1 0 0 1 0 0 1 0 1

Entrée TDB

1 0 0 1 0 0 1 0 1

105
Résistance de terminaison de bus
Les résistances de terminaison de bus sont indispensables au bon fonctionnement
de la communication. Elles sont composées d’une résistance de début de ligne
(RDL) et d’une résistance de fin de ligne (RFL). Elles doivent être égales et on
pourra les faire varier en fonction des spécifications de la communication que l’on
souhaite obtenir.

106
Gestion des erreurs
Trame de gestion des erreurs

La trame du protocole CAN intègre des mécanismes de détection d'erreurs. De


plus, comme tous les noeuds de réseau surveillent simultanément le bus, ils
détectent des différences entre bits reçus et bits émis. Dès qu'une erreur est
détectée, la transmission en cours est interrompue par l'emission d'un indicateur
d'erreur ("error flag"). L'emetteur peut donc recommencer à émettre son
message.

Tout ce système de gestion des erreurs est complétement transparent pour le


développeur et l'utilisateur. Le système est capable de gérer automatiquement
ses conflits et ses erreurs en émettant des trames d'erreurs pour renseigner
l'émetteur du message sur le type de faute qu'il a commis. Une station est
capable de faire la distinction entre les perturbations temporaires et les défauts
permanents. Les stations en défaut permanent sont déconnectée
automatiquement du réseau. Ce système de gestion d'erreur fait toute la
puissance du réseau CAN, certains constructeurs démontrent que la probabilité
d'erreur résiduelle reste inférieur 4,6 10 -11
107
Gestion des erreurs

Trame de gestion des erreurs

On peut dans le protocole du bus CAN détecter 5 types d’erreurs :

Erreur de bit.

Erreur de stuffing.

Erreur de CRC.

Erreur d’acknowledge delimiter.

Erreur d’acknowledge slot.


108
Gestion des erreurs

Trame de gestion des erreurs: Erreur de Bit

Chaque fois qu’un émetteur envoie un bit sur le bus, il vérifie en même temps
si le niveau émis sur le bus correspond à celui qu’il désire envoyer en faisant
une surveillance du bus. Si le niveau ne correspond pas, il le signale par un Bit
Error.
Exception à la règle :

• présence d’un bit dominant à la place d’un bit récessif dans le champ
d’arbitrage (perte d’arbitrage)
• présence d’un bit dominant à la place d’un bit récessif dans le champ
d’acquittement (signalisation d’erreur par un récepteur)
Gestion des erreurs

Trame de gestion des erreurs: Erreur de stuffing


Une erreur de Stuffing est détectée à chaque fois qu’il y a 6 bits ou plus
consécutifs de même signe sur le bus.
Cependant:
• Une erreur de Stuffing ne doit être signalée que dans les champs
d’identificateurs, de commande, d’information et de CRC.
• La règle du Bit-Stuffing ne s’appliquant plus après la fin du CRC. En aucun
cas, une erreur de Bit-Stuffing ne doit être signalée dans le champ de fin de
trame ou dans le champ d’acquittement.
Gestion des erreurs

Trame de gestion des erreurs: Erreur de CRC


Si la valeur du CRC calculée par le récepteur est différente de celle envoyée par l’émetteur, il y a erreur
de CRC (CRC Error).
Gestion des erreurs
Trame de gestion des erreurs: Erreur d’acknowledge delimiter
• Une erreur d’Acknowledge Delimiter est signalée lorsque le récepteur
n’observe pas un bit récessif lors du champ de Acknowledge Delimiter. Il
en est de même pour le CRC Delimiter.
Trame de gestion des erreurs : Erreur de slot acknowledge
• Une erreur de Slot Acknowledge est signalée par l’émetteur s’il ne lit pas un
bit dominant lors du champ de slot acknowledge.
• Le délimiteur d’acquittement doit impérativement être un bit récessif (1).
• Si une erreur est détectée le message doit être répété.
Gestion des erreurs

Trame de gestion des erreurs: résumé


Gestion des erreurs

Trame d’erreur
Cette trame est générée par n’importe quel
nœud détectant une erreur. La trame d’erreur
est constituée de deux champs principaux :
• le drapeau d’erreur,
• le délimiteur de champ.
Le champ des drapeaux peut être constitué de
deux sortes de drapeaux:
• les drapeaux d’erreur active (Active Error
Flag),
• les drapeaux d’erreur passive (Passive
Error Flag).
Gestion des erreurs

Gestion du mode d’erreur


• Suivant le nombre d’erreur qu’un nœud comptabilise, l’état du mode de ce nœud peut différer.
• Un compteur mémorise le nombre d’erreur rencontré lors de la transmission des trames sur le bus.
• Deux compteurs séparés régissent respectivement le nombre d’erreurs en émission et en réception. Il
se nomme :
o Transmit Error Counter pour l’émission (TEC).
o Receive Error Counter pour la réception (REC).
• Par défaut (à l’initialisation), le nœud est dans l’état « erreur Active ». Le Nœud peut émettre et
recevoir sans restriction.
• Pendant le fonctionnement, les compteurs sont incrémentés lors de la détection d’erreur.
• Pour chaque transmission réussie, le compteur est décrémenté.
• Le nœud reste dans l’état « erreur active » tant que la valeur du compteur reste inférieure à 128.
Gestion des erreurs

Gestion du mode d’erreur


Si la valeur des compteurs dépasse 127, le nœud passe à l’état « erreur passive ».
• Dans ce mode; le nœud peut émettre et recevoir, mais après une transmission, il doit
suspendre la transmission et attendre 8bits de plus qu’un nœud en mode erreur
active pour pouvoir retransmettre.
Si les compteurs dépassent la valeur 255, le nœud passe dans le mode « Bus off ».
• L’activité du nœud est arrêtée, il ne participe plus à la communication.
• Seul un RESET permet de repasser en mode erreur active (127 trames de onze bits
récessifs).
Gestion des erreurs

Gestion du mode d’erreur

Vous aimerez peut-être aussi