You are on page 1of 42

Le rseau CAN

(Controller Area Network)


Nicolas NAVET
INRIA Lorraine - projet TRIO
nnavet@loria.fr - http://www.loria.fr/~nnavet
Certaines images de ce cours proviennent de :
spcification CAN (CAN in Automation - http://www.can-cia.de )
Cours de P. Koopman (http://www.ece.cmu.edu/~ece540/lecture/)
Slid CAN IIn A
Slides
Automation
i (h
(http://www.can-cia.de
//
i d )

CAN: un rseau pour lautomobile


l automobile (1/4)
CAN conu pour le multiplexage vhicule
(conception BOSCH 1983 normalisation ISO 1994)
Pourquoi multiplexer les communications ?
Rduction des cots de cblage et de maintenance
Situation la fin des 80s:
80 s:
Contrle

Clim

Suspension

Moteur

Siges
Tableau
de Bord

ABS

Plafonnier

Boite de
Vitesses

Centralisation
2

CAN: un rseau pour lautomobile


l automobile (2/4)
Architecture typique dbut 2000s
2000 s
Contrle

Cli
Clim

Suspension

CAN

Moteur
CAN

Siges
CAN

CAN

C
A
N

Tableau
de Bord

C
A
N

CAN

CAN

ABS

Boite de

CAN

Vitesses

Centralisation

CAN High Speed

250kbit/s

CAN

Plafonnier

CAN Low Speed

Quelques chiffres :
R25 (fin 80s) : 2 km de cbles cuivre ! >80kg
MB Classe C (2001) : 12 ECUs 25 fonctions
MB Classe S (2002) : > 50 ECUs !
3

CAN: un rseau pour lautomobile


l automobile (3/4)
Des fonctions
critiques

Architecture de
communication

Calculateurs

Exemple darchitecture PSA 2004


4

Caractristiques Techniques
Bus
B diff
diffusion
i - technique
t h i
CSMA
MAC prioris avec arbitrage non destructif
Un identificateur unique par message :
priorit pour laccs
l accs au bus
filtrage des messages en rception

Retransmission
R t
i i automatique
t
ti
d
des ttrames corrompues
Compteurs derreurs sur chaque contrleur
8 octets de donnes au plus par trame
5

CAN dans le modle OSI


CAN ne normalise
li que lles couches
h LDD ett physique
h i
!

Modles de coopration
Producteur Consommateur(s)
( )

Client Serveur

Couche Physique : codage NRZ


Non-Return
N R t
tto Zero
Z
(NRZ) C
Coding
di :

= 011010
Niveau logique 0 : bit dominant
Niveau logique 1 : bit rcessif

Couche Physique : et logique


En
E cas de
d ttransmissions
i i
simultanes
i lt :
niveau 0 (dominant) + niveau 1 (rcessif) = 0 sur le bus
Le temps bit minimum est 2 x temps de propagation
qui est fonction (donnes CiA) :
Contrleurs CAN (50-62ns)
Interface
I t f
de
d ligne
li
(120
(120-250ns)
250 )
Opto-coupleur (40-140ns)
Cble (environ 5ns/m)

Les supports physiques


Standard ISO : paire torsade
Autres supports envisageables :
9 Support monofilaire
9 Courant porteur
9 Transmission radio
9 Infra-rouge
9 Fibre-optique
9
10

Couche Physique : dbit vs longueur


En
E pratique,
ti
on peutt atteindre
tt i d (rseau
(
filaire)
fil i ) :

Dbit
CAN High Speed
ISO
SO 11898

CAN Low Speed


ISO 11519-2

Longueur Temps bit

1 Mbit/s

30m

1us

500kbit/s

100m

2us

250kbit/s

250m

4us

125kbit/s

500m

8us

10kbit/s

5km

100us
11

Couche Physique : Bit


Bit-Stuffing
Stuffing (1/2)
Bit-Stuffing
Bit St ffi (t
(taille=5)
ill 5) pour crer
d
des ffronts
t sur lle signal
i
l
Suite de bits transmettre

Au niveau du mdium

A d-stuffing
Aprs
d t ffi

12

Couche Physique : Bit


Bit-Stuffing
Stuffing (2/2)
Bit-Stuffing : le pire cas

A
Accroissement
i
t max d
de

bits
(n-1)/4 bit
13

Couche Physique : sensibilit EMI


Fct du support physique :

Fct du dbit du bus : + lev

+ de perturbations

Fct de lenvironnement dutilisation :


perturbations dorigine interne
Perturbations dorigine externe (radars, haute tension, FM ..)
14

Implmentations CAN typiques


Application
Micro-contrleur

Microcontrleur
avec composant
CAN intgr

Contrleur CAN
I t f
Interface
de
d ligne
li
Bus CAN
C

15

Les diffrents types de trame


Trame de donnes (data frame)
CAN standard (2.0A) : Ident. sur 11 bits
CAN tendu (2.0B) : Ident. sur 19 bits
Trame de demande de donnes (remote
transmission request
q
- RTR))

Trame derreurs (error frame)


Trame de surcharge (overload frame)
16

Format de la trame de donnes (1/2)

CAN standard
t d d (2
(2.0A)
0A) : identificateur
id tifi t
d
de 11 bit
bits
En thorie: 2048 id diffrents, en pratique 2032 .. (id dans
[2033,2048] interdits)
CAN tendu (2
(2.0B)
0B) : identificateur de 29 bits
> 500 millions did diffrents
17

Format de la trame de donnes (2/2)

18

Champ darbitrage
d arbitrage
CAN standard (2
(2.0A)
0A)
r
d

CAN tendu (2.0B)


r
d
19

Laccs
L
accs au bus (1/2)
La phase darbitrage
d arbitrage ou de rsolution des
collisions : la trame la plus prio. gagne le bus
Se fait sur les champs Identificateur + RTR
Principe : chaque station met puis coute, si
la valeur lue est diffrente de la valeur mise, la
station sait quelle
qu elle a perdu larbitrage
l arbitrage
Consquence : un aller-retour pour le signal
avant lmission dun nouveau bit do limite sur
le dbit max
max.
20

Laccs
L
accs au bus (2/2)

La station 3 remporte larbitrage


21

Champs de contrle et de donnes


Champ de contrle :

Bit RTR : 0 trame de donnes, 1 trame de demande.


IDE(2.0A)/r1(2.0B) : dominant (pour CAN 2.0B, le
champ IDE est un champ darbitrage)
r0 : dominant
DLC : taille des donnes (octets)

Champ de donnes : de 0 8 octets


22

Champs dacquittement
d acquittement

ACK Slot : mis rcessif toute station qui reoit la


trame crit un bit dominant

Signification de lacquittement : au moins une


station a reue la trame mais pas forcment le
destinataire !! Lacquittement
q
est non-fiable
23

Champs soumis au bit


bit-stuffing
stuffing

Bit-Stuffing sur ces champs uniquement

24

Exercices
1. A un instant donn, le bus devient libre et 2 trames
didentificateurs 31 et 29 (mises respectivement par
les stations 1 et 2) sont en concurrence. Reprsenter
les bits mis par la station 1 et 2 et le ni
niveau
ea rs
rsultant
ltant
sur le bus.
2 Q
2.
Quelle
ll est lla d
dure
maximale
i l d
de transmission
i i d
dune
trame CAN (2.0A) sur un rseau 125kbit/s ?
3. Sur un bus CAN 500kbit/s, quel dbit utile (donnes)
peut-on esprer ?
4. Est-il possible denvisager de transmettre le signal qui
ordonne le dclenchement dun airbag sur un rseau
CAN 125kbit/
125kbit/s ?
25

Trame de demande de donnes


Bit RTR 1 (do
(d une priorit
i it iinfrieure
f i
lla
trame de donnes!)
Ne contient pas de donnes
La rponse nest pas crite dans la trame
Permet une coopration de type Client
Client-Serveur
Serveur
Induit une surcharge sur le rseau
Aucune garantie sur le dlai de la rponse !
26

Les erreurs de transmission


Pas de technique de correction automatique
Principe : une station qui dtecte une erreur, la
signale aux autres par une trame derreur (6 bits
dominants)

La trame corrompue participera un prochain


arbitrage (mais ne gagne pas en priorit)
Probabilit derreur rsiduelle trs faible (de
lordre de 10-12)

27

Les types derreurs


d erreurs
Bit-stuffing : 6 bits conscutifs mme niveau
Bit-error : dominant + rcessif = rcessif !
CRC error : CRC calcul CRC trame
Acknowledgement error : pas dacquittement
Form error : mauvaise valeur pour un champ fixe

28

La trame derreur
d erreur

Meilleur cas : retransmission aprs 17 bits


Pire cas : retransmission aprs 23 bits
29

Erreur de bit
bit-stuffing
stuffing

Bit t ffi uniquement


Bit-stuffing
i
t sur ces champs
h

6 bits conscutifs de mme niveau entranent


une erreur de bit-stuffing
La
L ttrame d
derreur permett d
de propager llerreur
toutes les stations
30

Erreur du niveau dun


d un bit

vrification uniquement sur ces champs

Bit-error = mission dun bit dominant et


rception dun
d un bit rcessif

31

Erreur de CRC

CRC calcul
l l sur ces champs
h

Erreur de CRC : le CRC reu est diffrent du


CRC calcul

32

Erreur dacquittement
d acquittement

Erreur dacquittement : ACK slot rcessif

33

Erreur de forme
End of Frame

Dlimiteur de CRC Dlimiteur dACK

Erreur de forme : un champ dont la valeur est


fi par lle protocole
fixe
l na
pas lla valeur
l
attendue
d
34

Le confinement derreurs
d erreurs
Problme sur CAN : une station dfectueuse peut
p
perturber le fonctionnement de tout le systme .. (ex: envoi
ininterrompu
p de trames derreurs))

Une solution : les stations dfectueuses se


dconnectent automatiquement (ou limitent leur
prrogatives comme le signalement derreurs)

Comment dtecter un pb ? 2 compteurs derreurs


d erreurs
de transmission sur chaque contrleur
sur les trames mises (TEC transmit error counter)
sur les trames reues (REC receive error counter)
35

Les 3 tats dune


d une station
Selon la valeur des compteurs :
Etat Erreur-active : fonctionnement normal
Etat Erreur-passive :
- mission possible mais 8 bits aprs que le bus soit
libre (temps de rponse !!)
- plus
l d
de signalement
i
l
t d
derreurs

Etat Bus-off :
- la station se dconnecte du bus (plus dmission ni
de rception)
36

volution des compteurs


REC :
Rception dune trame corrompue : +1 (jusque 128)
Rception dune trame correcte : -1 (si >0)

TEC :
Emission dune trame corrompue : +8 (jusque 256)
Emission dune trame correcte : -1 (si >0)

Il existe
i t quelques
l
exceptions
ti
mineures
i
ces
rgles (ex: quand une station est seule sur le rseau)
37

Les rgles de changement dtats


d tats

38

Conclusion sur le confinement derreurs


d erreurs
Le confinement est un plus pour la sret
de fonctionnement mais
de fortes EMI peuvent conduire bus
bus-off
off ou
erreur passive sans dysfonctionnement hardware
le concepteur doit valuer les risques et prvoir
des changements de mode de marche (ex: que
faire si le contrle-moteur est bus-off ??)
des tudes ont montrs que le REC ne servait
rien si la station mettait .. (on passe toujours en
erreur-passive
erreur
passive plus tt avec le TEC)
39

Trame de surcharge
Une station met une trame de surcharge (6 bits
dominants) pour signaler quelle ne peut recevoir la
prochaine trame (p
p
(pas p
plus de 2 conscutivement))

En pratique trs rarement utilis ..


40

Un bug du protocole
Certaines trames peuvent tre reues en double !
1. une perturbation localise certaines stations (dont
l tt ) sur lle d
lmetteur)
dernier
i bit d
du champ
h
EOF :
retransmission ..
2 Toutes les stations non-affectes
2.
non affectes reoivent 2x la trame

Consquences
q
: sur un rseau CAN

ne jamais utiliser de messages on/off


pas dincrments
d c e ts relatifs
e at s ((+20)
0)

Vraisemblablement pas de validation formelle du protocole


41

Conclusions
CAN standard dans lindustrie automobile,
pourquoi ?
bien adapt aux
a e
exigences
igences temps rel d
du domaine
trs bon march
simple dutilisation

Mais :
dbit limit (par la technique daccs au bus)
peu de services: en particulier
particulier, peu de fonctionnalits
relatives la sret de fonctionnement
42

You might also like