Vous êtes sur la page 1sur 23

- Bus CAN -

Table des matires


Le bus CAN............................................................................................................2
Introduction........................................................................................................2
Protocole CAN...................................................................................................2
Applications........................................................................................................3
Modle OSI.........................................................................................................3
Dfinitions...........................................................................................................4
Exercice n1.............................................................................................6
Couche 2 Niveau Trame......................................................................................7
Trame de donnes...............................................................................................7
Exercice n2.............................................................................................8
Exercice n3.............................................................................................8
Exercice n4.............................................................................................8
Exercice n5.............................................................................................9
Exercice n6.............................................................................................9
Exercice n7.............................................................................................9
Arbitrage.......................................................................................................10
Exercice n8...........................................................................................10
Exercice n9...........................................................................................10
Exercice n10.........................................................................................12
Exercice n11.........................................................................................12
Champ de contrle........................................................................................12
Exercice n12.........................................................................................13
Trame de requtes.............................................................................................14
Exercice n13.........................................................................................14
Champ CRC..................................................................................................15
Champ d'acquittement..................................................................................15
Champ de fin de trame.................................................................................15
Traitement des erreurs......................................................................................16
Diffrents types d'erreur...............................................................................16
Trame d'erreur (Error Frame).......................................................................17
Exercice n14.........................................................................................17
Exercice n15.........................................................................................18
Le confinement d'erreurs...............................................................................18
Exercice n16.........................................................................................19
Trame de surcharge...........................................................................................19
Couche 1 Niveau Bit..........................................................................................20
Codage..............................................................................................................20
Exercice n17.........................................................................................22
Longueur et dbit..............................................................................................22
Caractristiques lectriques...............................................................................23
Bibliographie.........................................................................................................23

LT La Salle Avignon

- 1/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Le bus CAN
Introduction
Le bus CAN (Controller Area Network) est n du besoin de trouver une solution de
communication srie dans les vhicules automobiles. Il a t initialement dvelopp par la
socit Bosch, au milieu des annes 80, puis a fait l'objet d'une normalisation ISO 11898 et
11519.

Le bus CAN est un rseau part entire respectant le modle d'interconnexion des systmes
ouverts (modle OSI) de l'ISO et il est class dans la catgorie des rseaux de terrain utiliss
dans l'industrie pour remplacer la boucle analogique 4/20mA.
Remarque : Le GIE Renault-PSA avec les partenaires comme Sagem, Valeo et autres ont
dvelopp le bus VAN (Vehicule Area Network).

Protocole CAN
Le protocole CAN (Control Area Network) est un protocole de communication srie qui
supporte des systmes temps rel avec un haut niveau de fiabilit.
La norme ISO 11898 spcifie un dbit maximum de 1Mbits/s. La longueur maximum du bus
est dtermine par la charge capacitive et le dbit (de 20 kbps sur 1 km 1Mbps sur 40 m).
La structure du protocole du bus CAN possde implicitement les principales proprits
suivantes :
 souplesse de configuration
 fonctionnement multi matre
 dtections et signalisations derreurs
 retransmission automatique des messages altrs
 dconnexion automatique des nuds dfectueux
Le protocole CAN ne couvre que 2 (ou 3) des 7 couches du modle OSI : les couches
PHYSIQUE et LIAISON et ventuellement la couche APPLICATION.

LT La Salle Avignon

- 2/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Le protocole est bas sur le principe de diffusion gnrale : lors de transmission, aucune
station n'est adresse en particulier, mais le contenu de chaque message est explicit par une
identification reue par tous les abonns. Grce cet identificateur, les noeuds, qui sont en
permanence l'coute du rseau, reconnaissent et traitent les messages qui les concernent.
Elles ignorent simplement les autres.

Applications
La premire utilisation en srie du bus CAN date de 1992 avec une Mercedes Classe S. Bien
entendu, il y a plusieurs types de rseaux communicants utiliss dans l'industrie automobile
(GM et FORD avec le J1850, Renault et Peugeot avec le VAN). Mais la tendance se dirige
vers le bus CAN (Peugeot l'utilise dans ses modles rcents 607, 307 et 206 par exemple).
Dans un vhicule, plusieurs rseaux multiplexs cohabitent :
 rseau carroserie (optiques, rtroviseurs, vitres, ...) faible dbit (32,5 62,5 kbps)
avec peu d'informations et un temps de rponse demand de 100 ms
 rseau inter-systmes (ABS, ...) dbit moyen (125 500 kbps) avec peu
d'informations et un temps de rponse demand de 10 ms
 rseau confort (auto-radio, climatisation, navigation, ...) dbit moyen (125 kbps
1 Mbps) avec un grande quantit d'informations et un temps de rponse faible de
500 ms
 rseau diagnostic (appel aussi liaison K) dbit faible (10 kbps) avec un grande
quantit d'informations et un temps de rponse lent de l'ordre de la seconde)
Autres applications :
Du fait de son efficacit et de sa robustesse prouve, le bus CAN est galement utilis dans
de nombreuses applications industrielles (systmes de navigation maritime, ascenseurs,
machines agricoles, photocopieurs, systmes mdicaux, industrie textile, machines outils,
systme de production industrielle, ...)

Modle OSI
Le bus CAN couvre la couche 2 (LIAISON) et la couche 1 (PHYSIQUE) du modle OSI :

LT La Salle Avignon

- 3/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

La sous-couche MAC reprsente le noyau du protocole CAN. Elle a pour fonction de


prsenter les messages reus en provenance de la sous-couche LLC et daccepter les messages
devant tre transmis vers la sous-couche LLC. Elle est responsable des fonctions suivantes :
 la mise en trame du message.
 larbitrage.
 lacquittement.
 la dtection des erreurs.
 la signalisation des erreurs.
La sous-couche LLC soccupe quant elle :
 du filtrage des messages.
 de la notification de surcharge (overload).
 de la procdure de recouvrement des erreurs.
La couche Physique dfinit le signal transmis et a pour pour rle dassurer le transfert
physique des bits entre les diffrents nuds en accord avec toutes les proprits (lectriques
et lectroniques) du systme. Cette couche soccupe :
 de grer la reprsentation du bit (codage, timing).
 de grer la synchronisation bit.
 de dfinir les niveaux lectriques des signaux.
 de dfinir le support de transmission.
Remarque : la couche 7 (APPLICATION) peut tre implmente sous forme d'un protocole
supplmentaire (CANOpen par exemple).

Dfinitions
Nud : sous-ensemble reli un rseau de communication et capable de communiquer sur le
rseau selon un protocole de communication (ici le protocole CAN). Chaque nud peut
dtecter des erreurs sur un message qui ne lui est pas destin et en informer les autres nuds.
Valeurs du bus : le bus peut avoir lune des deux valeurs logiques complmentaires dfinies,
non pas en 0 et 1 comme dhabitude, mais sous la forme de bit nomm dominant ou rcessif.

dominant

rcessif

rcessif

dominant

rcessif

dominant

dominant

Message : chaque information est vhicule sur le bus laide dun message (trame de bits)
de format dfini mais de longueur variable et limite. Ds que le bus est libre, nimporte quel
nud reli au rseau peut mettre un nouveau message.
Routage des informations : des nuds peuvent tre ajouts au rseau sans quil ny ait rien
modifier tant au niveau logiciel que matriel. Chaque message possde un identificateur
(identifier) qui nindique pas la destination du message mais la signification des donnes du
message. Ainsi tous les nuds reoivent le message, et chacun est capable de savoir grce au
systme de filtrage de message si ce dernier lui est destin ou non.
LT La Salle Avignon

- 4/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Trame de donnes et de requte : une trame de donnes transporte, comme son nom
lindique, des donnes. Une trame de requte est mise par un nud dsirant recevoir une
trame de donnes (dans ce cas lidentificateur est le mme pour les deux trames).
Dbit (bit/s) : le dbit peut varier entre diffrents systmes, mais il doit tre fixe et uniforme
au sein dun mme systme.
Priorits : en cas de demandes de prise du bus simultanes les identificateurs de chaque
message permettent aussi de dfinir quel message est prioritaire sur tel autre.
Fonctionnement multi-matre : lorsque le bus est libre, chaque nud peut dcider denvoyer
un message. Seul le message de plus haute priorit prend possession du bus.
Arbitrage : le problme de larbitrage rsulte du fonctionnement multi matre. Si deux nuds
ou plus tentent dmettre un message sur un bus libre il faut rgler les conflits daccs. On
effectue alors un arbitrage bit bit non destructif tout au long du contenu de lidentificateur.
Ce mcanisme garantit quil ny aura ni perte de temps, ni perte dinformations. Dans le cas
de deux identificateurs des trames de requte et de donnes identiques, la trame de donnes
gagne le bus. Lorsquun bit rcessif est envoy et quun bit dominant est observ sur le bus,
lunit considre perd larbitrage, doit se taire et ne plus envoyer aucun bit.
Canal de liaison simple : le bus consiste en un simple canal bidirectionnel qui transporte les
bits. A partir des donnes transportes, il est possible de rcuprer des informations de
resynchronisation.
Acquittement : tous les rcepteurs vrifient la validit dun message reu, et dans le cas dun
message correct ils doivent acquitter en mettant un flag.
Scurit de transmission : dans le but dobtenir la plus grande scurit lors de transferts sur
le bus, des dispositifs de signalisation, de dtection derreurs, et dautotests ont t
implments sur chaque nud dun rseau CAN. On dispose ainsi dun monitoring bus
(vrification du bit mis sur le bus), dun CRC (Cyclic Redundancy Check), dune
procdure de contrle de larchitecture du message et dune mthode de Bit-Stuffing.
Signalement des erreurs et temps de recouvrement des erreurs : tous les messages entachs
derreur(s) sont signals au niveau de chaque nud par un flag. Les messages errons ne sont
pas pris en compte, et sont retransmis automatiquement.
Erreurs de confinement : un nud CAN doit tre capable de faire les distinctions entre des
perturbations de courtes dures et des dysfonctionnements permanents. Les nuds considrs
comme dfectueux doivent passer en mode switched off en se dconnectant (lectriquement)
du rseau.
Mode Sleep (sommeil) et Mode Wake-up (rveil) : afin de rduire la consommation dnergie,
chaque lment CAN peut se mettre en Sleep mode. Dans ce mode il ny a aucune activit
interne au nud CAN considr et ses drivers sont dconnects du bus. La reprise de
fonctionnement (mode Wake-up) seffectue lorsquil y a une activit sur le bus ou par
dcision interne llment CAN.
LT La Salle Avignon

- 5/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Mthode de Bit-Stuffing : Cette mthode consiste, ds que lon a mis 5 bits de mme
polarit sur le bus, insrer un bit de polarit contraire pour casser des chanes 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 rception par les nuds. Cette
technique est uniquement active sur les champs de SOF, darbitrage, de contrle, de CRC
(dlimiteur exclu). Pour un fonctionnement correct de tout le rseau, cette technique doit
tre implmente aussi bien la rception qu lmission.

Exercice n1

Complter le diagramme suivant en respectant la mthode de Bit-Stuffing.


Rponse :

LT La Salle Avignon

- 6/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Couche 2 Niveau Trame


Le transfert des messages se ralise laide de quatre types de trames spcifiques et dun
intervalle de temps les sparant :
 les trames de donnes : ces trames transportent des donnes d'un producteur vers
des consommateurs.
 les trames de requte : ces trames de polling sont mises par un matre vers des
esclaves pour requrir la transmission d'une trame de donnes.
 les trames derreurs : ces trames sont transmises lorsqu'une station dtecte une
erreur de transmission sur le bus.
 les trames de surcharge (overload) : ces trames sont mises pour demander un laps
de temps supplmentaire entre des trames (de donnes ou de requte) successives.
Il existe un espace inter trame de 3 bits rcessifs entre les trames de donnes et de requte.
Par ailleurs, il existe deux types de format de trames :
 la trame standard (format standard - CAN 2.0A) possde un identificateur de 11 bits
 la trame tendue (format tendu - CAN 2.0B) possde un identificateur 29 bits
Ce format tendu permet dobtenir un plus grand nombre de messages et/ou de priorits.
Remarque : Le bus CAN2.0B est compatible avec le CAN2.0A.

Trame de donnes
Le dbut de trame (SOF) nest effectif que si le bus tait prcdemment au repos (bus idle).

Tous les nuds du rseau se resynchronisent sur le bit de SOF.

LT La Salle Avignon

- 7/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Une trame de donnes se dcompose en 7 champs diffrents :


 le dbut de trame SOF (Start Of Frame) : 1 bit dominant
 le champ darbitrage : 11 bits (ID) + 1 bit (RTR) en standard et, 29 bits (ID) + 2 bits
(SRR/IDE) + 1 bit (RTR) en tendu
 le champ de commande : 6 bits
 le champ de donnes : 0 64 bits
 le champ de CRC (Cyclic Redundancy Code) : 15 bits + 1 bit
 le champ dacquittement (Acknowledge) : 2 bits
 le champ de fin de trame EOF (End Of Frame) : 7 bits rcessifs
La signification de certains bits :

RTR : Remote Transmission Request bit,

SRR : Subsitute Remote Request bit,

IDE : Identifier Extension bit.
Le bit RTR (Remote Transmission Request) permet de dterminer le type de trame :

RTR = tat dominant : trame de donnes

RTR = tat rcessif : trame de requte
Exercice n2

Dterminer, pour les formats standard et tendu, les longueurs minimum et maximum en
bits d'une trame de donnes circulant sur le bus CAN en ne tenant pas compte du bitstuffing.
Rponses :

Exercice n3

Dterminer le nombre de capteurs/actionneurs TOR (Tout Ou Rien) diffrents qu'un noeud


peut grer dans une seule trame de donnes.
Rponse :

Exercice n4

Calculer alors le rendement du protocole CAN lorsqu'il met une trame de donnes
complte.
Rponse :

LT La Salle Avignon

- 8/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Exercice n5

Pour comparaison, dterminer le rendement du protocole Ethernet pour la mme situation.


Quel est alors le protocole le plus efficace pour ce type de situation (notion de bus de terrain
ou bus industriel) ?
Rponse :

Exercice n6

Avec des trames de 60 bits en moyenne, dduire le nombre maximum de trames pouvant
circuler sur le bus en une seconde et ce pour le dbit maximum (1 Mbits/s).
Rponse :

Exercice n7

Dans le cas o il y a 4 noeuds identiques qui mettent et reoivent 16 trames (de 60 bits en
moyenne) par secondes , dterminer le taux de charge maximum pour ce bus.
Rponse :

LT La Salle Avignon

- 9/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Arbitrage
Dans une trame standard, le champ darbitrage est compos des 11 bits de lidentificateur
plus un bit de RTR (Remote Transmission Request) qui est dominant pour une trame de
donnes et rcessif pour une trame de requte.

Comme nous lavons vu prcdemment, lidentificateur permet de router le message vers le


bon nud mais il indique aussi la priorit du message, qui dtermine l'assignation du bus
lorsque plusieurs stations mettrices sont en concurrences. Dans sa version standard,
l'identificateur est cod sur 11 bits.
Les priorits sont attribues statiquement lors de l'analyse conceptuelle du rseau, au moyen
de valeur binaire, et ne peuvent donner lieu aucune modification dynamique.
Exercice n8

Dterminer en thorie le nombre de messages qu'il est possible de dfinir pour une trame
standard.
Rponse :

Les bits de lidentificateur sont numrots de ID_10 ID_0 (du MSB vers LSB). Par ailleurs
les 7 bits les plus significatifs (de ID_10 ID_4) ne doivent pas tous tre rcessifs, ce qui
rduit le nombre de combinaisons possibles.
Exercice n9

En tenant compte de ces particularits, dterminer rellement le nombre de messages qu'il


est possible de dfinir pour une trame standard.
Rponse :

LT La Salle Avignon

- 10/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Le procd dattribution du bus est bas sur le principe de l'arbitrage bit bit, selon lequel
les noeuds en comptition, mettant simultanment sur le bus, comparent bit bit
l'identificateur de leur message avec celui des messages concurrents. Les stations de priorit
moins leves perdront la comptition face celle qui a la priorit la plus leve.
Les stations sont cbles sur le bus par le principe du "ET cbl", en cas de conflit c'est
dire mission simultane, la valeur 0 crase la valeur 1.
On appelle donc l'tat dominant l'tat logique 0, et l'tat rcessif l'tat logique 1.
Les bits de lidentificateur sont transmis dans lordre, de ID_10 ID_0 (du MSB vers LSB).
Exemple :

Dans lexemple ci-dessus, les stations 1, 2 et 3 demandent le bus en mme temps. Pour les
dpartager, on applique la mthode darbitrage et les premires stations a mettre un bit
rcessif sont exclues et devront attendre que la station qui a pris le bus (la station avec la
priorit la plus haute) libre la ligne.
Dans lexemple la station 1 est exclue en premier puis la station 3. La station 2 donc la
plus haute priorit.
Le bus CAN utilise la mthode d'accs CSMA/CR (Carrier Sense Multiple Access /
Collision Resolution) dont les principes gnraux sont les suivants :

Toutes les stations sont gales

Chaque station met quand elle veut (bus libre)

Les collisions sont acceptes

Les collisions sont dtectes par les stations

Les collisions sont gres par le protocole

Il y a une stratgie d'arbitrage des collisions

La station qui remporte l'arbitrage continue sa transmission

LT La Salle Avignon

- 11/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Exercice n10

A partir de l'exemple prcdent, attribuer les priorits pour les 3 noeuds en fonction de leur
rle.
Rponses :
- un capteur de temprature reli sur le noeud ___
- le capteur danti-patinage reli sur le noeud ___
- lABS reli sur le noeud ___
Exercice n11

Complter le troisime chronogramme (rsultante sur le bus) et indiquer le noeud qui a


russi mettre sa trame.
Rponses :

Le noeud ____ gagne le bus.

Champ de contrle
Le champ de contrle est compos de 6 bits. Les deux premiers sont des bits de rserve et
leur rle est dassurer des compatibilits futures ascendantes.

LT La Salle Avignon

- 12/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Les quatre derniers bits permettent de dterminer le nombre doctets de donnes contenus
dans le champ de donnes. Le nombre doctets de donnes ne peut pas excder la valeur de 8
(soit 64 bits).
Codage des bits DLC suivant la taille des donnes en octets (D : bit Dominant et R : bit
Rcessif) :
Taille des
donnes en
octets

DLC (Data Length Code)


DLC3

DLC2

DLC1

DLC0

Exercice n12

Complter la trame (jusqu'au champ CRC exclu) dans le cas o un noeud met les donnes
'B' (0x42) suivi de la valeur 6.
Rponse :

LT La Salle Avignon

- 13/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Trame de requtes

Une trame de requte est constitue de la mme manire quune trame deux diffrences
prs :



Le champ de donnes est vide.


Dans le champ darbitrage, le bit de RTR est rcessif.

Si un nud a besoin dun certain nombre de donnes, il va mettre une trame de requte ds
que le bus sera libre en prenant soin dindiquer dans le champ de contrle (DLC) le nombre
doctets de donnes dont il a besoin.
Exercice n13

Que se passe-t-il si deux noeuds mettent chacun une trame possdant le mme identificateur
mais une des deux trames est une trame de donnes et l'autre une trame de requte.
Conclure sur la priorit entre une trame de donnes et une trame de requte.
Rponse :

LT La Salle Avignon

- 14/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Champ CRC
le champ de CRC est compos de 16 bits. La squence CRC calcule est contenue dans les 15
premiers bits tandis que le dernier bit est un dlimiteur de fin de champ de CRC (bit
toujours rcessif).

Ce champ de CRC permet de sassurer de la validit du message transmis, et tous les


rcepteurs doivent sastreindre ce procd de vrification. Seuls les champs de SOF,
darbitrage, de contrle et de donnes sont utiliss pour le calcul de la squence de CRC.

Champ d'acquittement
Le champ dacquittement possde 2 bits.

Si aucune erreur na t dtecte par un nud, ce dernier met un bit dominant sinon il met
une trame derreur. La station mettrice du message originel doit alors tre capable de ragir
en fonction de lmission dun bit dominant ou non par les autres stations sur le premier bit
du champ dacquittement.
Le second bit est un bit dlimiteur dacquittement qui doit toujours tre rcessif.

Champ de fin de trame


Ce champ de fin de trame est constitu de 7 bits rcessifs, ce qui droge la rgle de BitStuffing.
LT La Salle Avignon

- 15/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Traitement des erreurs


Lors de lmission dune trame sur le bus, des erreurs de transmission peuvent venir
perturber le bon fonctionnement des diffrents utilisateurs du bus. Lerreur peut venir dun
nud, et empcher le rseau de fonctionner correctement. Pour cela, des mthodes de
dtection derreurs de transmissions sont prvues par le protocole CAN.

Diffrents types d'erreur


Le Bit Error : Chaque fois quun metteur envoie un bit sur le bus, il vrifie en mme temps
si le niveau mis sur le bus correspond celui quil dsire envoyer en faisant une surveillance
du bus. Si le niveau ne correspond pas, il le signale par un Bit Error. Sauf si :
 Un bit dominant est envoy dans le champ darbitrage la place dun bit rcessif.
Dans ce cas, le bit dominant signifie simplement une perte darbitrage.
 Un bit dominant est envoy lors de lacknowledge slot, la place dun bit rcessif.
 Un metteur envoyant un flag derreur passive (bit rcessif) et recevant un bit
dominant, ne doit pas signaler un Bit Error.
Lerreur de Stuffing (Stuff Error) : Une erreur de Stuffing est dtecte chaque fois quil y
a 6 bits ou plus conscutifs de mme signe sur le bus.
Lerreur de CRC (CRC Error) : Si la valeur du CRC calcule par le rcepteur est diffrente
de celle envoye par lmetteur, il y a erreur de CRC.
Lerreur dAcknowledge Delimiter : Une erreur dAcknowledge Delimiter est signale
lorsque le rcepteur nobserve pas un bit rcessif lors du champ de Acknowledge Delimiter.
Il en est de mme pour le CRC Delimiter.
Lerreur de Slot Acknowledge (Acknowledgment Error) : Une erreur de Slot Acknowledge
est signale par lmetteur sil ne lit pas un bit dominant lors du champ de slot
acknowledge.
La gestion des erreurs s'applique sur certains champs, selon les cas :

LT La Salle Avignon

- 16/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Trame d'erreur (Error Frame)


Si la station dtecte une erreur, elle renvoie une trame d'erreur constitue de

6 bits l'tat dominant (Error Flag) suivi de

8 bits dlimiteurs l'tat rcessif (Error Delimiter).
Plusieurs stations peuvent dtecter l'erreur et envoyer elles aussi une trame d'erreur : il y a
aura superposition de bits d'erreur (un maximum de 6 bits supplmentaires soit 12 bits max
pour l'Error Flag afin de ne pas bloquer indfiniment le bus). Les bits formant l'Error Flag
sont dominants et crasent donc les donnes contenues dans la trame de donnes. Ils
provoqueront donc la retransmission de cette dernire.
Trame d'erreur ACTIVE ERROR FLAG
Trame de
donnes

Flag d'erreur

Superposition maximale des


flags d'erreur

Intertrame ou
trame de
surcharge

Dlimiteur d'erreur

A l'issue de 8 bits dlimiteurs, le bus est libr (3 bits inter-trame) et les communications
peuvent reprendre. Le nud essaiera nouveau de transmettre le message.
Exercice n14

Complter le diagramme suivant dans le cas o le noeud B dtecte un Bit Error (not E).
Rponse :

LT La Salle Avignon

- 17/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Exercice n15

Lors d'une erreur, le nud essaiera nouveau de transmettre le message (retransmission


automatique en cas d'erreur). Dterminer le dlai en bits qu'il faudra attendre au mieux et
au plus (si aucun message de priorit suprieure ne prend la main sur le rseau).
Rponse :

Le confinement d'erreurs
Etant donn qu'une station dfectueuse peut perturber le fonctionnement de tout le systme
(envoi ininterrompu de trames d'erreurs), les noeuds dfectueux se dconnectent
automatiquement (ou limitent leur fonctionnement comme le signalement d'erreurs). Pour
mettre en oeuvre le confinement, chaque noeud comporte obligatoirement deux compteurs :

sur les trames mises (TEC - Transmit Error Counter)

sur les trames reues (REC - Receive Error Counter)
Ces compteurs s'incrmentent et se dcrmentent en utilisant un mcanisme de pondration
sophistiqu. Pour simplifier, on considrera le fonctionnement suivant (Il existe notamment
quelques exceptions ces rgles) :
REC :

Rception d'une trame corrompue : +1 (jusque 128)

Rception d'une trame correcte : -1 (si >0)
TEC :

Emission d'une trame corrompue : +8 (jusque 256)

Emission d'une trame correcte : -1 (si >0)
Suivant la valeur de ces compteurs, le noeud se trouve dans un des 3 tats suivant :

Etat Erreur-active : fonctionnement normal

Etat Erreur-passive : mission possible mais 8 bits aprs que le bus soit libre
(temps de rponse !), plus de signalement d'erreurs (le noeud transmet
uniquement des passive error flag constitus de bits recessifs)

Etat Bus-off : la station se dconnecte du bus (plus d'mission ni de rception)

"Normal Mode Request" et 128 occurences de


11 bits successifs/recessifs

Reset et
configuration

Erreur
active

REC > 127 ou


TEC > 127

Erreur
passive

TEC > 255

Bus "OFF"

REC < 128


ou TEC < 128

Remarque : une condition de "WARNING" est signale 96.


LT La Salle Avignon

- 18/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Exercice n16

Ceci peut durer indfiniment, si par hasard les erreurs persvrent, les compteurs d'erreurs
augmentent, le circuit produisant l'erreur (ou s'en rendant compte) passe le premier en mode
bus off. A ce moment l il ne devrait plus y avoir d'erreur et, le message devrait alors bien
passer. Et si tous les noeud sont rcalcitrants sauf votre noeud, que se passe-t-il ?
Rponse :

Trame de surcharge
La trame de surcharge indique aux autres nuds quune station est surcharge. Elle est
forme de deux champs :
 le drapeau de surcharge (Overload Flag) avec six bits dominants,
 le dlimiteur de surcharge (Overload Delimiter) avec huit bits rcessifs.

Une trame de surcharge est mise sur le bus si :


 un bit dominant est dtect durant la priode dinter trame.
 un rcepteur nest pas prt pour la rception dune nouvelle trame de donne ou de
requte (retard sur le traitement des informations circulant sur le bus).
Ds quune trame de surcharge est mise, les autres nuds voient sur le bus une suite de six
bits dominants qui ne respectent pas la rgle du Bit-Stuffing. Ils mettent leur tour une
trame de surcharge. Seulement deux trames de surcharges conscutives sont autorises sur le
bus.

LT La Salle Avignon

- 19/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Couche 1 Niveau Bit


Codage
La transmission des bits sur le bus CAN se fait en mode Bande de Base suivant un codage
NRZ (Non Return to Zero). Les transitions des bits seffectuent sur chaque front montant
de lhorloge.

Une priode dhorloge correspond ce que lon appelle le Nominal Bit Time. Le Nominal
Bit Time reprsente donc la dure dun bit sur le bus. Le niveau de tension est maintenu
constant pendant la dure d'un bit (NRZ). Chaque station relie sur le bus doit tre cadence
avec le mme Nominal Bit Time pour pouvoir mettre et recevoir correctement les donnes
circulant sur le bus.
La norme dcrit avec prcision la composition de ce Nominal Bit Time qui est divis en
plusieurs segments :

le segment de synchronisation (SYNC_SEG);

le segment de propagation (PROP_SEG) sert compenser les retards temporels
physiques dans le rseau. Sa valeur est fixe deux fois la somme du temps de
propagation des signaux dans les lignes du bus et des retards apports par les entressorties des drivers de lignes ;

le segment de phase buffer n1 (PHASE_SEG1),

le segment de phase buffer n2 (PHASE_SEG2) ces deux segments sont utiliss pour
compenser les erreurs de synchronisation. Ils peuvent tre allongs ou raccourcis par la
resynchronisation. .
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 l'horloge de l'oscillateur.

LT La Salle Avignon

- 20/23 -

2005-2008 BTS IRIS tv

- Bus CAN -

Le point d'chantillonnage (sample point) est l'instant o l'tat du bus est lu et o la valeur
du bit est interprte. Il se place la fin de PHASE_SEG1. Sur des bus CAN lents ou trs
perturbs, on pourra prendre trois points d'chantillonnage.

Pour corriger les drives du Nominal Bit Time, il faut placer des butes que la drive de la
priode ne pourra pas dpasser. La bute en question s'appelle le RJW : Resynchronisation
Jump Width. Le RJW est une variable entire programme une valeur comprise entre 1 et
le minimum de (4, segment de phase1). La valeur est mise dans le registre du circuit lors de
l'initialisation et ne change pas en cours de fonctionnement.
Remarque : il faudra donc consulter la documentation du circuit mise en oeuvre pour assurer
sa configuration. On devra :

dfinir une base pour la vitesse de transmission et un temps de synchronisation (ces
temps doivent tre gaux sur tous les systmes d'un mme rseau)

dfinir la dure de chaque bit, le point d'chantillonnage et le nombre
d'chantillonnages.
Exemple : les registres du SJA1000 (nominal bit time = tSYNCSEG + t

LT La Salle Avignon

- 21/23 -

TSEG1

+ tTSEG2)

2005-2008 BTS IRIS tv

- Bus CAN -

Exercice n17

Le circuit contrleur CAN SJA1000 16 Mhz a t configur avec les valeurs suivantes :
BTR0 = 0x43 et BTR1 = 0x2F. Dterminer le dbit de ce bus CAN.
Rponse :

Longueur 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.

L'amplitude du signal qui varie en fonction de la rsistance du cble et de l'impdance
d'entre des nuds.
Remarques : la longueur du bus diminue lorsque le dbit augmente. Au del d'une certaine
distance (suprieure au km), il faudra mettre en place des rpteurs.

Dbit
1 Mbit/s
800 kbit/s
500 kbit/s
250 kbit/s
125 kbit/s
62,5 kbit/s
20 kbit/s
10 kbit/s

LT La Salle Avignon

Longueur
30 m
50 m
100 m
250 m
500 m
1000 m
2500 m
5000 m

- 22/23 -

Longueur d'un bit


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

2005-2008 BTS IRIS tv

- Bus CAN -

Caractristiques lectriques
La transmission des donnes est effectue sur une paire filaire diffrentielle. La ligne est donc
constitue de deux fils :
 CANL (CAN LOW) -> broche 2 d'un connecteur DB9
 CANH (CAN HIGH) -> broche 6 d'un connecteur DB9
Le CAN est un bus de terrain, soumis des parasites importants. La transmission en paire
diffrentielle permet de s'affranchir de ces problmes : l'immunit lectromagntique (EMI)
est assure car les deux lignes sont toutes deux affectes de la mme manire par la
perturbation.
Le tableau ci-dessous rsume les principales diffrences entre les deux types de bus:
Paramtres

CAN low speed

CAN high speed

Dbit

125 kb/s

125 kb/s 1 Mb/s

Nombre de nuds sur le bus

2 20

2 30

Courant de sortie (mode mission)

> 1 mA sur 2,2 k

25 50 mA sur 60

Niveau dominant

CAN H = 4V
CAN L = 1V

VCAN H - VCAN L = 2V

Niveau rcessif

CAN H = 1,75V
CAN L = 3,25V

VCAN H - VCAN L = 2,5V

Caractristique du cble

30 pF entre les cbles de ligne

2*120 

Tensions dalimentation

5V

5V

Transceiver CAN : 80C250 de Philips ou MCP2551 de MicroChip

Bibliographie
Le bus de terrain CAN de Patrice Kadionik :
http://www.enseirb.fr/~kadionik/formation/canbus/canbus.html
Le rseau CAN et le protocole CANOpen : http://www.a2v.fr/program/canopen.htm
Gestion du bus CAN : http://www.oberle.org/can-index.html
Introduction au bus CAN : http://edelaunay.chez.tiscali.fr/buscan.htm

etc ...

LT La Salle Avignon

- 23/23 -

2005-2008 BTS IRIS tv