Вы находитесь на странице: 1из 56

Le Bus CAN

1
Programme
Prsentation du bus CAN :
Domaines dapplication
Rappels sur les bus de terrain
Gnralits sur les bus de terrain
Le modle OSI
Le temps rel
Le bus CAN
La couche physique
La couche liaison de donnes
Le format tendu CAN 2.0 B
Le Protocole CAN open
Applications et outils de mise en uvre
Exemples
Le Bus CAN
2
Historique
Depuis les annes 1960 la longueur de cble utilise dans lautomobile ne
cesse de crotre pour dpasser 2000 m en 1995. Le nombre des
connexions atteint 1800 cette mme date. La fiabilit et la scurit sont
menacs.
Les normes en matire de pollution et de consommation dnergie obligent les
constructeurs multiplier les capteurs et actionneurs intelligents dans leur
vhicules acclrant ce processus de multiplication des cbles et
connexion depuis une vingtaine d annes.
Le besoin de scurit accrue (ABS, ESP, AIR-BAG) et la demande de
confort (mmorisation des rglages de conduite, climatisation rgule par
passager, systme de navigation) ne font que renforcer cette tendance.
La socit BOSCH dveloppe ds le dbut des annes 1980 une solution de
multiplexage des informations circulant bord de la voiture. Le bus CAN
apparatra et sera normalis dans les annes qui suivent (ds 1983).
Les composants CAN se dmocratisent et investissent dautres secteurs de
lindustrie (moissonneuses, pelleteuse, mdical, produits numriques,
systmes lectrotechnique).
Le Bus CAN
3
Exemples dapplications
CAN
Le Bus CAN
4
Rappels sur les bus de terrains
Les rseaux de terrain permettent :

linterconnexion entre plusieurs entits dun mme systme;

la rduction de la longueurs des liaisons entre les diffrents
lments grce un support commun de transmission;

de scuriser les liaisons des automates dusine;

de gagner de la place comme une automobile pour les systmes dit
dlectronique embarque ;

de transfrer les informations de manire squentielle (cest dire
bit par bit) ou bien par paquet de bits ;

un change de donnes qui serait difficile voire impossible par un
autre moyen.

linsertion ou la suppression dlments au sein dun mme systme

Le Bus CAN
5
Evolution du cblage dans lautomobile grce un bus
de terrain
Cblage traditionnel
CAN
Simple
&
Lger
2 cbles pour lalimentation lectrique 12 V DC
1 paire torsade pour les transferts dinformations
Le Bus CAN
6
Elments du bus CAN
Support de
transmission
Codage de
linformation
amplitude, timing,
synchro
Codage des
messages arbitrage,
gestion erreurs
Applications
constructeurs
Cbles lectriques, fibres
optiques, Liaisons infrarouges,
liaison hertziennes
Niveaux des signaux : hauteur
et largeur des bits portant
linformation
Protocole de transmission
Dfinition dun langage
entre les composant CAN
Norme CAN
ISO 11898
Haute vitesse
ISO 11519
Basse vitesse
Le Bus CAN
7
Les trois principaux documents existants se rapportent
aux applications automobiles et sont connus sous les
rfrences :
ISO 11519-1 Gnralits et dfinitions : vhicules routiers,
communication en srie de donnes basse vitesse.
ISO 11519-2 Rseau local commande basse vitesse
(CAN) : vhicules routiers, communication en srie de
donnes basse vitesse.
ISO 11898 Vhicules routiers - Echange d'information
numrique : gestionnaire de rseau de communication
vitesse leve (CAN).

Le Bus CAN
8
Lutilisateur ne se soucie pas :

du chemin suivi par les informations;

de la conversion des formats;

du type de linterlocuteur ou bien du type du constructeur
dun lment.

Les protocoles de communication nont fait quvoluer depuis
maintenant prs de vingt ans.

Bass sur loptimisation de place et de temps, les systmes de
contrles-commandes sont de plus en plus perfectionns.

Ces technologies ne cessent dtre amliores et sont de plus en
plus utilises pour des raisons de cots, de fiabilit et de confort
tant en ce qui concerne leur installation que leur entretien.

Rappels sur les bus de terrains
Le Bus CAN
9
Le modle OSI :
Afin de normaliser les protocoles, lInternational Standard
Organisation (ISO) a dvelopp le modle Open System
Interconnections (OSI), qui permet didentifier et de sparer les
diffrentes fonctions dun systme de communication.

Ce modle divise en sept couches les fonctions dun systme de
communication. Cependant il nest pas indispensable de
disposer de toutes les couches dans un systme : selon les
fonctionnalits requises, certaines couches intermdiaires sont
inutiles.

Rappels sur les bus de terrains
Le Bus CAN
10
Reprsentation du modle
Environnement rseau
Environnement OSI
Environnement systme rel
UTILISATEUR
SE
UTILISATEUR
SE
noeud noeud
rseau
liaison
physique
Si
rseau
liaison
physique
Si
Support physique d'interconnexion
transport 4
3
2
1
rseau
liaison
physique
transport 4
3
2
1
rseau
liaison
physique
application
prsentation
session
7
6
5
application
prsentation
session
7
6
5
Le Bus CAN
11
1. La couche physique ou
transmission des bits
Ralise la transmission des lments
binaires constitutifs des trames sur le
support suivant des caractristiques
physiques, lectriques, optiques et
mcaniques dfinies par des normes.
On lui associe les notions de directionnalit
(mono- ou bi-), de temps de propagation, de
valeurs pour ltat haut, ltat bas.
Rappels sur les bus de terrains
UTILISATEUR
SE
transport 4
3
2
1
rseau
liaison
physique
application
prsentation
session
7
6
5
Le Bus CAN
12
2. La couche de liaison de donnes
ou niveau trame
Dfinit le format ainsi que le codage
logique de la trame. Elle permet galement
la scurisation du lien physique.
Cette couche dcoupe les squences de
bits transmis sous forme de trames dont la
taille varie (de 10 1000 octets).
Ces trames sont protges par un code
dtecteur derreur ainsi que par des trames
dites dacquittement.
Rappels sur les bus de terrains
UTILISATEUR
SE
transport 4
3
2
1
rseau
liaison
physique
application
prsentation
session
7
6
5
Le Bus CAN
13
3. La couche rseau ou niveau
paquets
Permet lacheminement et le contrle des
donnes.
Les chemins peuvent tre prdfinis dans
des tables de routage, mais souvent ces
chemins sont choisis dynamiquement pour
chaque paquet de donnes.
Chaque rseau possde son propre
protocole, lorsque lon passe dun rseau
un autre la couche rseau permet
ladaptation entre ces diffrents rseaux.
Peut demeurer absente dans certains
protocoles
Rappels sur les bus de terrains
UTILISATEUR
SE
transport
4
3
2
1
rseau
liaison
physique
application
prsentation
session
7
6
5
Le Bus CAN
14
4. La couche transport ou niveau
message
Elle permet :
Le contrle du transfert des
informations de bout en bout;
Le dcoupage des messages en
paquets pour le compte de la couche
rseau;
Le rassemblage des paquets en
messages pour les couches
suprieures.
Rappels sur les bus de terrains
UTILISATEUR
SE
transport
4
3
2
1
rseau
liaison
physique
application
prsentation
session
7
6
5
Le Bus CAN
15
5. La couche session
Permet dtablir une session entre deux
machines, les machines peuvent
dsormais dialoguer et se synchroniser.
Elle assure louverture et la fermeture des
sessions pour le compte des
applications, dfinit les rgles
dorganisation de synchronisation du
dialogue entre les abonns
Rappels sur les bus de terrains
UTILISATEUR
SE
transport
4
3
2
1
rseau
liaison
physique
application
prsentation
7
6
5
session
Le Bus CAN
16
6 - La couche prsentation
Permet de grer la syntaxe et la
smantique de linformation
transmise. Linformation transmise sous
forme doctets peut tre de lASCII ou bien
des rsultats de calculs possdant un
format spcial (virgule fixe, flottante) La
couche prsentation permet de coder cette
information correctement.
Rappels sur les bus de terrains
UTILISATEUR
SE
transport
4
3
2
1
rseau
liaison
physique
application
7
6
5
session
prsentation
Le Bus CAN
17
7. La couche application
Assure linterfaage avec les utilisateurs
A chaque application correspond son
protocole comme par exemple :
FTP pour le transfert de fichiers
SMTP pour le transfert de courrier
lectronique

Rappels sur les bus de terrains
UTILISATEUR
SE
transport
4
3
2
1
rseau
liaison
physique
7
6
5
session
prsentation
application
Le Bus CAN
18
Les couches prsentes dans le bus CAN
OSI OSI TCP/IP Bus CAN
Couche
application
Niveau
application
-
Spcifi par
lutilisateur
Couche
prsentation
Niveau
prsentation
- -
Couche
session

Niveau session
- -
Couche
transport
Niveau
message
TCP CanOpen
protocol
Network /
presentation
layer
Couche rseau
Niveau paquet IP
Couche liaison
donnes
Niveau trame Acces reseau MAC /LLC
Couche
physique
Niveau
physique
Acces reseau PLS/PMA/MDI
Le Bus CAN
19


Couche du modle ISO/OSI Description CAN spcification
LLC (Logic Link Control)
Filtrage d'acceptance
Notification de overload
Recovery Management
Couche 2 : Liaison
MAC "Medium Access Control"
Encapsulation/Decapsulation des donnes
Codage de trame (Stuffing/Destuffing)
Medium Access Management
Delection d'erreur
Signalisation d'erreur
Acquittement
Serialisalion/dsrialiation
Dfauts de
confinement
PLS (Physical Signalling)
Codage/dcodage bit
Bit timing
Synchronisation
PMA (Physical Medium Attach.)
Caracteristiques Driver/Receiver
Couche 1 : Physique
MDI (Medium Dependent Interf.)
Connecteurs
Gestion des
Dysfonctionnements
du bus
Dtails des sous couches 1 et 2 du
bus CAN
Les sous couches LLC, MAC et PLS sont traites par les circuits
contrleur de bus CAN (microcontrleur, circuits spcialiss)
Le Bus CAN
20
Une dfinition du temps rel
On dit quil y a traitement temps rel lorsque le temps de rponse
des interrogations est soumis des contraintes du systme . Il
en dcoule 2 situations:
Le systme transactionnel o lon tolre le dpassement dun
temps de rponse donn sur quelques chantillons: la contrainte
de temps nentrane pas de dfaillance du systme condition
quelle se produise avec une probabilit borne. Cest le temps
rel mou.
La commande de processus o le respect dun temps de rponse
donn doit tre garanti dans tous les cas sous peine de voir
apparatre une dgradation, voire mme un effondrement du
systme, cest le temps rel dur.
Le Bus CAN
21
Le dterminisme :
Un systme est dterministe quand le comportement des sorties
de celui ci est parfaitement matris et ce quelles que soient ses
entres, on peut distinguer :
Le dterminisme temporel lorsquil y a respect du timing,
Le dterminisme vnementiel lorsque tous les vnements
sont traits.
Il dcoule de cette notion plusieurs autres :
La prvisibilit montre les possibilits que lon a de prvoir
comment le systme va se comporter quelles que soient les
circonstances.
Lurgence : il sinstaure une hirarchie entre les diffrents
traitements effectuer ; certains tant plus importants que
dautres.
Le Bus CAN
22
La couche Physique
Cette partie concerne :
les aspects physiques de la liaison entre les nuds
connects sur un bus CAN.
la couche MAC (Mdium Access Control), qui est
une couche intermdiaire entre la liaison de
donnes et la couche physique, dfinit larbitrage
des bits sur le bus et donne telle ou telle trame sa
priorit.
Le Bus CAN
23
1. Le NRZ : bits dominants et rcessifs
La succession de bits transitant sur le bus est cod avec la
mthode du NRZ (Non Return To Zero).
Pendant la dure totale du bit, le niveau de tension de la ligne est
maintenu, cest dire que pendant toute la dure durant laquelle
un bit est gnr, sa valeur reste constante quelle soit dominante
ou rcessive.
La couche Physique
0
dominant
1
rcessif
1
rcessif
1
rcessif
0
dominant
0
dominant
0
dominant
Le Bus CAN
24
2. Le bit stuffing
Une des caractristiques du codage NRZ est que le niveau du bit
est maintenu pendant toute sa dure. Cela pose des problmes de
fiabilit si un grand nombre de bits identiques se succdent. La
technique du Bit Stuffing impose au transmetteur dajouter
automatiquement un bit de valeur oppose lorsquil dtecte 5 bits
conscutifs dans les valeurs transmettre.
La couche Physique
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)
Le Bus CAN
25
3 - Le bit timing
On dfinit la plus petite base de temps reconnue sur un bus CAN
comme tant le Time Quantum. Cette base de temps est une
fraction de lhorloge de loscillateur du bus. Un bit dure entre 8 et
25 quantum
La couche Physique
Horloge
Horloge drdivise
Dure d'un bit (bit time)
Quantum
Le Bus CAN
26
Exemple de bit timing : lecture dun bit
La couche Physique
1 bit correspond 32
coup dhorloge

La lecture du bit devra
tre faite au 20
me
coup
dhorloge
1bit = 4s
Propagation Phase1 Synch Phase2
Bit valide
32 time quantum
ISO11898 : High Speed CAN
250 Kbps
Le Bus CAN
27
4. Longueur du bus et dbit
La longueur du bus dpend des paramtres suivants :
Le dlai de propagation sur les lignes physiques du bus.
La diffrence du quantum de temps dfini prcdemment, du
aux diffrences de cadencement des oscillations des nuds.
Lamplitude du signal qui varie en fonction de la rsistance du
cble et de limpdance dentre des nuds.

Pour une longueur de bus suprieure 200 mtres il est
ncessaire dutiliser un optocoupleur, et pour une longueur de
bus suprieure 1 kilomtre il est ncessaire dutiliser des
systmes dinterconnexion tels que des rpteurs ou des
ponts.
Nimporte quel module connect sur un bus CAN doit pouvoir
supporter un dbit dau moins 20 kbit/s
La couche Physique
Le Bus CAN
28
1
10
100
1000
Dbit en kbits/s
10 100 1000 10000
Longueur
en m
Dbit Longueur Longueur d'un bit
1 Mbit/s 30 m 1 s
800 kbit/s 50 m 1,25 s
500 kbit/s 100 m 2 s
250 kbit/s 250 m 4 s
125 kbit/s 500 m 8 s
62,5 kbit/s 1000 m 16 s
20 kbit/s 2500 m 50 s
10 kbit/s 5000 m 100 s
La couche Physique
Longueur du bus et dbit
Le Bus CAN
29
5. Le principal support de transmission et la norme ISO
11898-2
De nombreux standards industriels fonctionnent avec un bus
CAN, la premire norme du bus CAN est lISO 11898-2 spcifiant
les caractristiques du bus CAN High Speed.
On note que le CAN peut trs bien utiliser la fibre optique ou la
transmission hertzienne.
La transmission des donnes seffectue sur une paire par
mission diffrentielle cest dire que lon mesure la diffrence de
tension entre les deux lignes (CAN H et CAN L). La ligne du bus
doit se terminer par des rsistances de 120 O (minimum 108O,
maximum 132O) chacun des bouts.
Normalisation de type RS485.

La couche Physique
Le Bus CAN
30
Topologie du bus
La couche Physique
Nud 3
Nud 2
CAN_H
CAN_L
Bus CAN
Nud 1
Nud 4
Nud 4
Nud 3
CAN_H
CAN_L
Bus CAN
Nud 1
Nud 7
Nud 11
Nud 21
Avantages
Configuration simple
Cblage rduit
Ordre des nuds indiffrent
Dsavantages
Lensemble des nuds est
affect en cas de dfaut
Une dfaillance est plus
dlicate diagnostiquer
Outils de diagnostique et de
maintenance spcialiss
Le Bus CAN
31
Comparaison norme ISO 11898 et ISO 11519-2
La couche Physique
ISO11898 : High Speed CAN
125Kbps - 1Mbps
ISO11519-2 : Low Speed CAN Fault Tolerant
< 125Kbps
Par dfaut, cest dire sans transmission, la ligne CAN H
est 3.5 volts et la ligne CAN L est 1.5 volt.
VCAN_H > VCAN_L + 0,5 V => 1 logique (rcessif)
VCAN_H < VCAN_L + 0,5 V => 0 logique (dominant)
Nud 1 Nud n
120O 120O
CAN_H
CAN_L
5
3
2
4
1
CAN_H
CAN_L
Recessif Domminant Dominant
Nud 1 Nud n
5
3
2
4
1
Nud 1 Nud n
2.2KO
CAN_H
CAN_L
5
3
2
4
1
CAN_H
CAN_L
2.2KO
3.25V
1.75V
Nud 1 Nud n
Recessif Dominant Dominant
Le Bus CAN
32
6. Limmunit aux interfrences lectromagntiques
De part la nature diffrentielle de la transmission du signal sur le
bus CAN, limmunit lectromagntique est assure car les deux
lignes du bus sont toutes les deux affectes de la mme manire
par un signal perturbateur.
La couche Physique
120 O
120 O
CAN_H
CAN_L
EMI
V diff.
V
t
V diff.
Le Bus CAN
33
7 - Constitution dun nud:
Un nud du bus CAN requiert pour son fonctionnement
au sein du rseau un microcontrleur et un contrleur
CAN.
Ces considrations d'ordre gnral et architectural du dcoupage
d'un concept ont donn naissance diffrentes familles de
composants que nous pouvons rsumer sous les noms suivants :
les gestionnaires de protocole,
les microcontrleurs gestionnaire CAN intgr,
les interfaces (transceivers - ou encore drivers) de lignes,
les Serial Linked Input Output - SLIO.

La couche Physique
Le Bus CAN
34
Microproces-
seur
Gestionnaire
de protocole
Micro-
contrleur
SLIO
CAN_H
Interface de
ligne
Interface de
ligne
Interface de
ligne
Gestionnaire
de protocole
term term
CAN_L
La couche Physique
Le Bus CAN
35
VDD2 (18)
RX0 (19)
RX1 (20)
Vss2 (21)
5 V
5,6 kO
5,6 kO
3,3 kO
100 nF
VDD3 (12)
430 O
TX0 (13)
5 V
R
D
SN75176
Vcc
(8)
A (6)
B (7)
GND (5)
R (1)
RE (2)
DE (3)
D (4)
5 V
430 O
74HCT14
3,3 kO
100 nF
5 V
5 V
5 V
750 O
750 O 130 O
5 V
750 O
750 O 130 O
100 nF
100 nF
C
o
n
t
r

l
e
u
r

d
e

b
u
s

C
A
N
S
J
A
1
0
0
0
La couche Physique
Exemple dinterface
Le Bus CAN
36
Le concept de communication du bus CAN est celui de
la diffusion dinformation (broadcast) :
chaque station connecte au rseau coute les trames transmises
par les stations mettrices. Ensuite chaque nud dcide quoi
faire du message, sil doit y rpondre ou non, sil doit agir ou non,
etc
Le protocole CAN autorise diffrents nuds accder
simultanment au bus. Cest un procd rapide et fiable
darbitrage qui dtermine le nud qui met en premier.
Laccs au bus est donc alatoire car un nud peut mettre
nimporte quel moment. Mais cet accs se fait par priorit ; cette
mthode est appele CSMA CD/AMP (Carrier Sense Multiple
Acces with Collision Detection and Arbitration Message Priority).
Les informations sur le bus
Le Bus CAN
37
1 - Trame de donnes (data frame)
Constitution de la trame de donnes de type standard CAN 2.0A,
la plus utilise.
Cette trame se dcompose en sept parties principales que l'on
appelle des champs :
dbut de trame (1 bit) start off frame (SOF)
champ d'arbitrage (12 bits) arbitration field
champ de commande (6 bits) control field
champ de donnes (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)
puis, une 8e zone dite d'espace interframe (intertrame) qui fait
partie intgrante de la trame.
Les informations sur le bus
Le Bus CAN
38
Les champs de la trame de donnes
IDLE IDLE
intermission
3 7 2 16 0 64 bits 6 12 1
Fin de trame
Champ de ACK
Champ de CRC Champ de donnes
Champ d'arbitrage
Champ de commande
Dbut de trame
Trame de donnes
Les informations sur le bus
Le Bus CAN
39
2 - La mthode darbitrage
Le champ pendant lequel s'effectue l'arbitrage est constitu des
bits de l'identifier ainsi que du bit immdiatement suivant dit RTR
(Remote Transmission Request).
Procdure d'arbitrage
Pendant le champ d'arbitrage, les bits transmis
et reus sont compars par l'interface CAN
d
d Tx
Rx
Transfert
durant
l'arbitrage
d
r Tx
Rx
Arbitrage
perdu
r Tx
Rx
Transfert
durant
l'arbitrage
r
d
r
Tx
Rx
Erreur bit
R I I I I I I I I I I I
Champ d'arbitrage
S
Rcessif
(passif)
Dominant
(actif)
I : 1 parmi 11 bits d'identificateur
R : Bit RTR
- rcessif : trame de requte
- dominant : trame de donnes
S : bit de dpart de trame
Bus
libre
Trame de donnes / requte
Les informations sur le bus
Le Bus CAN
40
Exemple darbitrage

1 2 3 4 5 6 7 8 9 10
S
O
F
0
R
T
R
Identificateur
Champ de
commande
Champ de
donnes 0
8 octets
Champ d'arbitrage
Station
1
Station
2
Station
3
Signal
sur le bus
La station
2 perd
l'arbitrage
La station 1
perd
l'arbitrage
La station 3 a gagne le bus
Les informations sur le bus
Le Bus CAN
41
3 - Rle des bits dans le champ darbitrage:
Le bit SOF (dbut de trame de donnes) est dominant il signale
toutes les stations le dbut d'un change. Cet change ne peut
dmarrer que si le bus tait prcdemment au repos. Toutes les
stations doivent se synchroniser sur le flanc avant la transition du
bit de dpart.
Identificateur : La longueur de l'identificateur est de 11 bits, les
bits sont transmis dans l'ordre de ID_10 ID_0 (le moins
significatif est ID_0). Par ailleurs les 7 bits les plus significatifs (de
ID_10 ID_4) ne doivent pas tre tous rcessifs.
ID = 1111111XXXX (X valeur indtermine), c'est--dire un nombre
maximal d'identificateurs de : (2
11
- 2
4
) = 2048 - 16 = 2032
combinaisons.
Le bit RTR : Lors d'une dataframe, le bit de remote transmission
request (RTR) doit tre dominant.
Les informations sur le bus
Le Bus CAN
42
4 - Champ de commande
Il est constitu de 6 bits.







2 Bits de rserves : Les 2 premiers bits (mis dominants en trame
2.0A) sont en rserve d'usages ultrieurs et permettent d'assurer
des compatibilits futures ascendantes (notamment celles de la
trame dite tendue CAN 2.0B). Les contrleurs CAN doivent tre
aptes traiter toutes combinaisons de tous les bits du champ de
commande.
R0 R1
DL
C3
DL
C2
DL
C1
DL
C0
Bits de
rserve
Data Lengh Code
Champ d'arbitrage
Champ de commande
Champ de
donnes
Les informations sur le bus
Le Bus CAN
43
4 bits DLC : Les 4 derniers bits du champ de commande (champ
DLC - Data Length Code) indiquent le nombre d'octets qui seront
contenus dans le champ de donnes.

Nombre
d'octet
DLC
3
DLC
2
DLC
1
DLC
0
0 d d d d
1 d d d r
2 d d r d
3 d d r r
4 d r d d
5 d r d r
6 d r r d
7 d r r r
8 r d d d
Les informations sur le bus
Le Bus CAN
44
5 - Champ de donnes
Le champ de donnes est l'endroit o se trouvent les donnes
utiles transmises. Il peut tre compos de 0 octet minimum 8
octets maximum transmis avec le MSB (Most Significant Bit) en
tte.
Remarque : De 0 8 inclus, cela fait neuf valeurs donc 4 bits du
DLC pour dfinir le nombre de donnes contenues
Champ de
commande
Champ de donnes
0 8 octets
Champ de
CRC
M
S
B
L
S
B
1 octet
Les informations sur le bus
Le Bus CAN
45
6 Le champ de CRC : est compos de la squence de
CRC sur 15 bits suivi du CRC Delimiter (1 bit rcessif).
La squence de CRC (Cyclic Redundancy Code) permet de vrifier
l'intgrit des donnes transmises. Les bits utiliss dans le calcul
du CRC sont ceux du SOF, du champs d'Arbitration, du champ de
Control et du champ Data Field.
Le CRC est un polynme calcul de la mme manire par lmetteur
et par le rcepteur de la trame : le message est vu par lalgorithme
comme un polynme qui est divis par X
15
+X
14
+X
10
+X
8
+X
7
+X
4
+X
3
+1
et le reste de cette division est la squence CRC transmise avec le
message.
Champ de
donnes ou de
commande
Champ
d'acquittement
Champ de CRC
Squence de CRC 15 bits
Dlimiteur
de CRC
Les informations sur le bus
Le Bus CAN
46
7 Le champ ACK
Il est compos de 2 bits, l'ACK Slot et le ACK Delimiter (1 bit
rcessif).
un nud en train de transmettre envoie un bit rcessif pour le
ACK Slot.
un nud ayant reu correctement un message en informe le
transmetteur en envoyant un bit dominant pendant le ACK Slot :
il acquitte le message.

Champ de CRC
Champ
d'acquittement
Fin de trame
ACK-Slot
Dlimiteur de
ACK
Les informations sur le bus
Le Bus CAN
47
8 - Fin de trame de donne
La trame de donne se termine par un drapeau form par une
squence de 7 bits rcessifs, ce qui, dpasse de deux bits la
largeur de la norme de bit stuffing.
Ce champ a une structure fixe et les logiques de codage (
l'mission) et de dcodage (aux rceptions) de bit stuffing sont
dsactives pendant la squence du champ de fin de trame.
Les informations sur le bus
Le Bus CAN
48
9 - Trame de requte (remote frame)
Chacun met sans savoir si l'information envoye servi l'un des
participants.
Il se peut aussi qu'un nud ait besoin d'information d'un certain type
dont il ne dispose pas pour assurer la mission qui lui est dvolue. Dans
ce cas, une station ncessitant des donnes peut initialiser la demande
d'une transmission des donnes considres par un autre nud en
envoyant une remote frame.
Cette trame ne se compose que de six parties au lieu des sept
prcdentes :
- le dbut de trame,
- le champ d'arbitrage,
- le champ de commande,
- le champ de CRC
- le champ d'acquittement,
- la fin de trame,
puis une 7
e
zone dite d'espace interframe.
Les informations sur le bus
Le Bus CAN
49
Format de la trame de requte
Nb de bits 11 15 7 3 1 1 1 1 1 6
0 8
octets
Espace
inter
trame
Trame de requte de donnes
Espace
inter
trame
Dbut de
trame
Identificateur
Bit de RTR
Commande
Donnes (optionnel) Squence de CRC
Fin de
trame
Dlimiteur ACK
Slot ACK
Dlimiteur CRC
Contrairement au cas prcdent, dans le cas d'une remote frame,
le bit RTR est rcessif. C'est donc ce bit qui diffrencie une data
frame d'une remote frame.
Les informations sur le bus
Le Bus CAN
50
Comparaison de 2 trames avec le mme identificateur,
lune de donnes lautre de requte : la trame de
donne est prioritaire sur la trame de requte.
Les informations sur le bus
Dominant
SOF ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 RTR
Noeud A
(trame de
donne)
Rcessif
Dominant
SOF ID10 ID9 ID8 ID7 ID6
ID5
ID4 ID3 ID2 ID1 ID0 RTR
Noeud B
(trame de
requte)
Rcessif
Le noeud B perd l'arbitrage, le noeud A prend le bus
Trame standard (donne/requte), avec des identificateurs identiques
Le Bus CAN
51
10 - Trame de surcharge (overload frame)
Cette trame indique qu'une station est surcharge pendant un
certain laps de temps.
Il y a deux sortes de conditions de surcharge qui mnent toutes
deux la transmission d'un overload flag :
les conditions internes d'un rcepteur qui ncessitent un certain
temps (un retard) pour accepter la prochaine data frame ou
remote frame.
la dtection d'un bit dominant durant la phase intermission.
Dans ce cas le dmarrage de l'overload frame a lieu juste aprs la
dtection du bit dominant.
Afin de ne pas bloquer le bus indfiniment seules deux
overload frame conscutives peuvent tre gnres pour retarder
les data ou remote frame suivantes.
Les informations sur le bus
Le Bus CAN
52
Cette trame ne comprend que deux champs :
Le champ des flags de surcharge,
Le dlimiteur de champ.
Comme l'indique la figure, elle peut se produire la fin d'un end of
frame ou d'un error delimiter ou encore d'un autre overload
delimiter en lieu et place du dbut de l'interframe.

Les informations sur le bus
Trame de
donne
Flag de surcharge
Superposition maximale des
flags de surcharge
Dlimiteur de
surcharge
Trame de surcharge
Intertrame ou
trame de
surcharge
Le Bus CAN
53
11 - Priode d'intertrame (interframe)
Les data frame et remote frame sont spares des trames
prcdentes (de quelques types qu'elles soient : data, remote,
error, overload frame) par un champ de bits appel interframe
space.
Au contraire, les overload frame et error frame ne sont pas
prcdes par une interframe space et les multiples overload
frame ne sont pas spares par un interframe space (revoir toutes
les figures dj prsentes et observer en dtail ces phases de
fonctionnement du bus).
L'interframe space se compose de deux ou trois champs selon les
cas. Ce sont :
le champ de bits intermission
le champ de bits de bus idle (bus libre),
d'un champ de bits de suspend transmission, pour les stations
en error passive qui ont envoy un message derreur.
Les informations sur le bus
Le Bus CAN
54
Les 2 zones dinter trame lune sans trame derreur (inter trame
erreur active ) lautre la suite dune trame derreur (inter trame
erreur passive )
Les informations sur le bus
Trame Espace intertrame Trame
Intermission Bus libre
Trame Espace intertrame Trame
Intermission Bus libre
Suspension
transmission
Intertrame "erreur active"
Intertrame "erreur passive"
Le Bus CAN
55
12 La trame derreur
Pour diffrentes raisons, comme lexistence de fortes
perturbations ou de pertes importantes lors de la transmission, le
protocole CAN dispose dun systme de gestion des erreurs
locales.
Le principe du bit stuffing vu prcdemment permet de localiser
une erreur et un nud qui dtecte ce type derreur transmettra aux
autres nuds un message dit Error Flag contenant six bits de
mme polarit.
Aprs avoir transmis le message Error Flag, le nud essaiera
nouveau de transmettre le message, et si aucun message de
priorit suprieure ne prend la main sur le rseau ce nouveau
message est transmis 23 bits au plus aprs.
Les bits formant lError Flag sont dominants et crasent donc les
donnes contenues dans la Data Frame. Ils provoquent la
retransmission de cette dernire. Dans le cas derreurs
successives, il y aura superposition dError Flags.
Les informations sur le bus
Le Bus CAN
56
La trame derreur
Les 8 bits de lError Dlimiter donnent lautorisation aux nuds
du rseau de reprendre leurs communications.
Des recherches ont montr que le taux derreurs non dtectes
par le protocole CAN est trs faible : 1 erreur non dtecte pour
1000 annes de fonctionnement
Les informations sur le bus
Flag d'erreur
Trame d'erreur ACTIVE ERROR FLAG
Trame de
donnes
Intertrame ou
trame de
surcharge
Superposition maximale des
flags d'erreur
Dlimiteur d'erreur

Вам также может понравиться