Vous êtes sur la page 1sur 50

LE BUS

CAN
Ralis Par: EL KHAZRAJI NABIL
TIGHAZOUANE YASSINE

Encadr Par Mr : A.MOUHSEN

Sommaire :
Gnralits.
Principe De Fonctionnement.
Les Trames.
Gestion derreurs.
Application.

Gnralits
Depuis les annes 1960 la longueur des cbles
utiliss
dans lautomobile ne cesse de crotre
ainsi que Le nombre des connexions. La fiabilit et la
scurit sont menacs.
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 (mdical, produits
numriques, systmes lectrotechnique).

Il met en application une approche connue sous


le nom de multiplexage, et qui consiste raccorder
un mme cble (un bus) un grand nombre de
calculateurs qui communiqueront donc tour de
rle.
Cette technique limine le besoin de cbler des
lignes ddies pour chaque information faire
transiter (connexion point--point). Ds qu'un
systme (voiture, avion, rseau tlphonique)
atteint un certain niveau de complexit, l'approche
point--point devient impossible du fait de
l'immense quantit de cblage installer et de son
cot (en masse, matriaux, main d'uvre,
maintenance).

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.

UTILISATEUR
SE
7

application

prsentation

session

transport

rseau

liaison

physique

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.

La couche de liaison des


donnes ou niveau trame
UTILISATEUR
SE
7

application

prsentation

session

transport

rseau

liaison

physique

La couche liaison est subdivise en


deux sous-couches. La sous-couche LLC
(Logical Link Control) effectue:
le filtrage des messages,
la notification des surcharges
(overload),
la procdure de recouvrement des
erreurs.
La sous-couche MAC (Medium Access
Control), qui est le cur du protocole
CAN, effectue:
la mise en trame du message,
l'arbitrage,
l'acquittement,
la dtection des erreurs,
la signalisation des erreurs.

Principe De Fonctionnement
Le bus CAN (Control Area Network) est un bus de communication srie,
principalement conu pour mettre en rseau diverses cartes lectroniques.
Il est utilis dans lautomobile pour faire dialoguer les divers systmes de
contrle ou de commande : ABS, systme de freinage, de suspension etc...

La Diffusion dinformation
Dans un protocole CAN, tout les priphriques sont
au mme niveau (pas de relation maitre-esclave).
Chaque station connecte au rseau coute les
trames transmises par les stations mettrices et
ensuite chaque nud dcide quoi faire du message,
sil doit y rpondre ou non.

Le NRZ: bits dominants et rcessifs


La succession de bits transitant sur le bus est cod avec la mthode du NRZ(Non Return To Zro).
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.

dominant

rcessif

rcessif

dominant

rcessif

dominant

dominant

ongueur du Bus et Dbit


Dbit
1
800
500
250
125
62,5
20
10

Mbit/s
kbit/s
kbit/s
kbit/s
kbit/s
kbit/s
kbit/s
kbit/s

Longueur
30
50
100
250
500
1000
2500
5000

m
m
m
m
m
m
m
m

Longueur d'un bit


1
s
1,25 s
2 s
4 s
8 s
16 s
50 s
100 s

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.

Trame l'mission avant la mise en place des bits de stuffing

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Trame avec bits de stuffing (S)

9 10 11 12 13 14 15 16 17 18 19 S 20 21 22 23 24

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.

Horloge
Quantum
Horloge drdivise

Dure d'un bit (bit time)

Les Trames
Il existe plusieurs types de
trame:
Trame
Trame
Trame
Trame

de donnes
de requte
d'erreur
de surcharge

La trame des donnes


Une trame de donnes se compose de 7 champs
diffrents:
Le dbut de trame ou SOF (Start Of Frame) matrialis
par 1 bit dominant.
Le champ d'arbitrage (identificateur) compos de 12 ou
30 bits.
Le champ de commande (ou de contrle) compos de 6
bits.
Le champ de donnes compos de 0 64 bits (de 0 8
octets).
Le champ de CRC compos de 16 bits.
Le champ d'acquittement compos de 2 bits.
La fin de trame ou EOF (End of Frame) matrialise par 7
bits rcessifs.

LArbitrage
Dans un systme typique, certains paramtres vont changer
plus rapidement que d'autres.
Ce sera par exemple la vitesse d'un moteur, tandis qu'un
paramtre plus lent pourra tre la temprature de l'habitacle.
Il est donc naturel que les paramtres qui varient le plus
soient transmis le plus souvent et par consquent doivent
avoir une plus grande priorit.

Remarque
Le protocole CAN 2.0 comporte deux
spcifications qui diffrent uniquement au
niveau de la longueur de
lidentificateur.
La version 2.0A dfinit des identificateurs de
11 bits (on parle dans ce cas de trame de
format standard) et la version 2.0B des
identificateurs de 29 bits (on parle dans ce
cas de trame de format tendu).

Exemple Darbitrage

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).
Le bit RTR : Lors d'une trame de requte, le bit de
remote transmission request (RTR) doit tre
dominant.

Champ de commande

Champ de
donnes

Champ de commande

Champ d'arbitrage

Bits de
rserve
R0

R1

Data Lengh Code


DL
C3

DL
C2

DL
C1

DL
C0

Le bit de poids fort est utilis pour diffrencier le type de


trame :
Dans le cas d'une trame standard (sur 11 bits), le bit de poids
fort est dominant.
Dans le cas d'une trame tendue (sur 29 bits), le bit de poids
fort est rcessif.

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

2
3

d
d

d
d

r
r

d
r

4
5

d
d

r
r

d
d

d
r

7
8

d
r

r
d

r
d

r
d

DLC DLC DLC


2
1
0

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.
Champ de
commande

Champ de donnes
0 8 octets
M
S
B

L
S
B

1 octet

Champ de
CRC

Le champ de CRC
Le CRC est calcul partir de l'ensemble des
champs transmis jusque l (c'est--dire le SOF, le
champ d'arbitrage, le champ de commande et le
champ de donnes)
Il permet de vrifier l'intgrit des donnes
transmises.
Champ de
donnes ou de
commande

Champ de CRC

Squence de CRC 15 bits

Champ
d'acquittement

Dlimiteur
de CRC

Le champ ACK
Il est compos de 2 bits, l'ACK Slot et le ACK Dlimiter (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

ACK-Slot

Champ
d'acquittement

Fin de trame

Dlimiteur de
ACK

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) le bit
stuffing est dsactiv pendant la squence du champ de
fin de trame.

Trame de requte
Il se peut aussi qu'un nud ait besoin
d'information d'un certain type dont il ne dispose
pas .
dans ce cas il demande une donne un
autre nud en envoyant celui-ci une trame de
requte .
Espace
inter
trame

Espace
inter
trame

Trame de requte de donnes

Nb de bits 1

11
Identificateur

Dbut de
trame

08
octets

Donnes (optionnel)
Commande
Bit de RTR

15
Squence de CRC
Dlimiteur CRC

111

Fin de
trame
Dlimiteur ACK
Slot ACK

Comparaison de deux trames avec le mme


identificateur, lune de donnes lautre de requte :
la trame de donne est prioritaire sur la trame de
requte.
Trame standard (donne/requte), avec des identificateurs identiques
Noeud A SOF ID10
(trame de
donne)

Noeud B SOF ID10


(trame de
requte)

Rcessif
ID9

ID8

ID7

ID6

ID5

ID4

ID3

ID2

ID1

ID0

RTR
Dominant
Rcessif

ID9

ID8

ID7

ID6

ID5

ID4

ID3

ID2

ID1

ID0

RTR
Dominant

Le noeud B perd l'arbitrage, le noeud A prend le bus

Priode d'intertrame (interframe)


Les trames de requte et de donne sont spares des trames prcdentes de quelques types qu'elles soient par un champ de bits appel interframe space.
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.

Trame

Espace intertrame

Intermission

Trame

Bus libre

Intertrame "erreur active"


Trame

Espace intertrame

Intermission

Suspension
transmission

Trame

Bus libre

Intertrame "erreur passive"

Trame de surcharge (overload frame)


La trame de surcharge peut tre utilise dans 2 cas :
Lorsque le nud demande un dlai avec la rception d'une nouvelle
trame,
Lorsque le nud dtecte un bit dominant pendant une priode
d'intertrame (3 bits rcessifs entre les trames).
Lorsqu'un nud met une trame de surcharge pour demander un dlai
(condition n1), il crase les 3 bits rcessifs de la priode d'intertrame, les
autres nuds dtectent la surcharge, et elles mettent elles-mmes des
trames de surcharge (condition n2)
Trame de surcharge

Intertrame ou
trame de
surcharge

Trame de Flag de surcharge


donne

Superposition maximale des


flags de surcharge

Dlimiteur de
surcharge

Gestion Derreurs
Types d'erreurs
Erreur de bit :
Chaque fois qu'un nud met un bit sur le bus, il relit le bus et
doit retrouver le bit qu'il a crit.
Si sur l'envoi d'un bit rcessif, il relit un bit dominant, c'est que celui-ci
a t altr.

Erreur de stuffing :
Le nud dtecte une erreur de stuffing lorsqu'il reoit 6
bits conscutifs de mme valeur dans une partie d'un
message qui devrait tre cod avec la mthode du bit stuffing.

Erreur De CRC :
Si la valeur de CRC calcule par le nud rcepteur est
diffrente du CRC cod dans la trame par le nud metteur, c'est
que la trame a t altre.

Erreur Dacquittement :
Le transmetteur dtecte une erreur d'acquittement lorsqu'il ne reoit
pas de bit dominant pendant le ACK Slot.

Erreur De Forme :
Une Erreur De Forme est dtecte lorsqu'un bit qui devrait tre
une certaine valeur est une valeur diffrente (un dlimiteur par
exemple).

La trame derreur
Les 8 bits du Dlimiteur derreur donnent lautorisation aux
nuds du rseau de reprendre leurs communications.

Trame d'erreur ACTIVE ERROR FLAG


Trame de
donnes

Flag d'erreur

Superposition maximale des


flags d'erreur

Dlimiteur d'erreur

Intertrame ou
trame de
surcharge

Confinement derreurs

Le Confinement derreurs est un mcanisme ayant pour but d'tre


apte dterminer si un nud :
n'est pas perturb du tout,
est peu perturb,
est un peu plus gravement perturb,
est tellement perturb qu'il doit passer en bus off
L'une des finalits de ce mcanisme consiste permettre la
dtection des dfauts et perturbations du hardware, mais aussi et
surtout procder leur localisation afin de pouvoir intervenir avec
prcision.

Compteurs d'erreur
Chaque nud possde deux compteurs d'erreur :
un compteur d'erreur de transmission ou Transmit Error
Counter (TEC),
un compteur d'erreur de rception ou Receive Error Counter
(REC).

Les Compteurs auront pour mission d'enregistrer (compter)


les erreurs se produisant lors de transmissions et de
rceptions.

Modes d'erreur
Mode d'erreur active :
Le Nud continuera de recevoir et d'mettre normalement dans le
cas o une erreur est dtecte, il transmettra un active error flag
pendant la trame d'erreur.
Mode d'erreur passive :
Le Nud continuera de recevoir et d'mettre normalement mais aussi,
qu'en cas de dtection d'erreur, il continuera de transmettre
uniquement des passive error flag pendant la trame d'erreur.
Mode Bus Off :
Le Nud se dconnecte du bus, ses tages de commande (les
drivers) doivent tre lectroniquement dconnects du bus.

"Normal Mode Request" et 128 occurences de


11 bits successifs/recessifs
REC > 127 ou
TEC > 127
Reset et
configuration

Erreur
active

Erreur
passive

TEC > 255

Bus "OFF"

REC < 128


ou TEC < 128

Le protocole autorise un nud bus off redevenir error active (en


ayant remis tous ses compteurs d'erreurs zro) aprs que celuici ait observ, sans erreur sur le bus, 128 occurrences de 11 bits
rcessifs .

APPLICATION
Pour raliser un priphrique CAN nous avons donc besoin
dun :
Transceiver CAN pour adapter les signaux sur le bus
Un contrleur CAN pour grer les rgles dmission et
de la rception
un microcontrleur

Description
lapplication est un systme permettant
un microcontrleur PIC18F458 de
rcuprer les images de la tension et du
courant fournis par des panneaux
solaires.
Les panneaux tant au pralable
raccords deux modules MPPT, le
microcontrleur rcupre les informations
sur ceux-ci via une communication par
bus CAN.

Un MPPT, de l'anglais
Maximum Power Point Tracking est Un
contrleur qui permet de piloter le
convertisseur statique reliant la charge
(une batterie par exemple) et le
panneau photovoltaque de manire
fournir en permanence le maximum de
puissance la charge , il peut la
recharger beaucoup plus vite en
optimisant les caractristiques de
tension et de courant du module et de
la batterie.

Merci de Votre
Attention