Académique Documents
Professionnel Documents
Culture Documents
LE BUS CAN
Le bus CAN
1. Introduction ........................................................................................................................ 3
2. Le protocole CAN ............................................................................................................... 3
3. Protocole CAN et couches OSI .......................................................................................... 3
4. Quelques rgles de fonctionnement et dfinitions............................................................. 5
5. Trame de donnes ............................................................................................................... 8
5.1.
5.2.
Champ de contrle................................................................................................................ 10
5.3.
5.4.
5.5.
Champ dacquittement......................................................................................................... 12
5.6.
7.2.
7.3.
Trame de surcharge.............................................................................................................. 20
8.2.
8.3.
9. Codage de ligne................................................................................................................. 22
10.
10.1.
10.2.
11.
11.1.
11.2.
11.3.
12.
12.1.
12.2.
13.
Bibliographie ................................................................................................................. 32
14.
Webographie.................................................................................................................. 32
2 / 32
Le bus CAN
1.
INTRODUCTION
2.
LE 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. Ses domaines dapplication
stendent des rseaux moyens dbits aux rseaux de multiplexages faibles cots. Il est avant
tout classer dans la catgorie des rseaux de terrain utilis dans l'industrie pour remplacer
la boucle analogique 20mA.
La structure du protocole du bus CAN possde implicitement les principales proprits
suivantes :
- hirarchisation des messages.
- garantie des temps de latence.
- souplesse de configuration.
- rception de multiples sources avec synchronisation temporelle.
- fonctionnement multimatre.
- dtections et signalisations derreurs.
- retransmission automatique des messages altrs ds que le bus est de nouveau au
repos.
- distinction derreurs : dordre temporaire ou de non-fonctionnalit permanente au
niveau dun nud.
- dconnexion automatique des nuds dfectueux.
En tudiant la norme BOSCH on se rend compte que le protocole CAN ne couvre seulement
que deux des sept couches du modle d'interconnexion des systmes ouverts OSI de l'ISO.
3.
Le bus CAN
Superviseur CAN
--------------------------------------Dfauts
de
confinement
---------------------------------------
Couche Physique
PLS ( Physical Signalling )
Codage/Dcodage de bit
Bit timing
Synchronisation
------------------------------------------------------------------------PMA ( Physical Medium Attachment )
Caractristiques Driver/Receiver
------------------------------------------------------------------------MDI ( Medium Dependent Interface )
Connecteurs
Gestion
des dysfonctionnements
du bus
Elle est supervise par une entit de supervision qui est un mcanisme apte faire la
distinction entre les drangements de courtes dures et des pannes permanentes.
4 / 32
Le bus CAN
La couche physique dfinit comment le signal est transmis et a par consquent pour rle
dassurer le transfert physique des bits entre les diffrents nuds en accord avec toutes les
proprits (lectriques, lectroniques) du systme. Il est vident qu lintrieur dun mme
et unique rseau la couche physique doit tre la mme pour chaque nud. Cette couche
soccupe donc :
- 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.
4.
QUELQUES
DEFINITIONS
REGLES DE
FONCTIONNEMENT ET
Comme dans la plupart des protocoles, il est ncessaire dutiliser un vocabulaire adapt la
situation. Nous allons donc dfinir un certain nombre de termes et de rgles de
fonctionnement concernant le protocole CAN.
-
5 / 32
Le bus CAN
requte est mise par un nud dsirant recevoir une trame de donnes
(lidentificateur est le mme pour les deux trames dans ce cas).
Dbit bit : le dbit bit peut varier entre diffrents systmes, mais il doit tre fixe et
uniforme au sein dun mme systme.
Priorits : les identificateurs de chaque message permettent de dfinir quel
message est prioritaire sur tel autre.
Demande dune trame de donnes : un nud peut demander un autre nud
denvoyer une trame de donnes, et pour cela il envoie lui-mme une trame de
requte. La trame de donnes correspondant la trame de requte initiale possde
le mme identificateur.
Fonctionnement multimatre : 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 multimatre. 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 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. L'arbitrage est qualifi de CSMA/CA (Carrier Sense
Multiple Access - Collision Avoidance).
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,
dune mthode de Bit-Stuffing. On dtecte alors toutes les erreurs globales, toutes
les erreurs locales au niveau des metteurs, jusqu 5 erreurs alatoires rparties
dans un message. La probabilit totale rsiduelle de messages entachs derreurs
est infrieure 4.7*10-11.
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 doivent tre 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.
Points de connexion : la liaison de communication srie CAN est un bus sur lequel
un nombre important dunits peuvent tre raccordes. En pratique le nombre total
dunits sera dtermin par les temps de retard (dus aux phnomnes de
propagation) et/ou les valeurs des charges lectriques que ces units prsentent sur
le bus.
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. La faon dont le canal est implment (fil
standard, liaison optique, paire diffrentielle) nest pas dtermine dans la
norme officielle BOSCH.
6 / 32
Le bus CAN
Acquittement : tous les rcepteurs vrifient la validit dun message reu, et dans le
cas dun message correct ils doivent acquitter en mettant un flag.
Mode Sleep (sommeil), 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. On observe une attente due une resynchronisation de loscillateur local
qui teste la prsence de 11 bits conscutifs sur le bus (lactivit interne au nud
CAN a cependant repris). Par suite les drivers se reconnectent au bus. Afin
dobtenir les meilleures performances en dbit sur un rseau de type CAN, il est
ncessaire dutiliser des oscillateurs quartz.
Par ailleurs il existe deux types de format (trame standard, trame tendue) pour les trames de
donnes et de requte, et ils diffrent seulement lun de lautre par lidentificateur
(identificateur de 11 bits pour les trames standards, de 29 bits pour les trames tendues).
Le transfert des messages se manifeste et est command laide de quatre types de trames
spcifiques et dun intervalle de temps les sparant. Outre les trames de donnes et de
requte, on a donc galement des trames derreurs (mises par nimporte quel nud ds la
dtection dune erreur), et des trames de surcharge (ces trames correspondent une demande
dun laps de temps entre les trames de donnes et de requte prcdentes et successives). Il
existe un espace intertrame de 3 bits rcessifs entre les trames de donnes et de requte.
En ce qui concerne le flot de bits des trames du bus CAN, la mthode de codage NRZ (Non
Return to Zero) a t retenue. Ceci revient dire que pendant la dure totale du bit gnr son
niveau reste constant quil soit dominant ou rcessif.
De plus afin de scuriser la transmission des messages on utilise la mthode dite de BitStuffing (bit de transparence). 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.
7 / 32
Le bus CAN
Trame
Stuffer
Trame
Stuffe
Trame
Stuffer
Trame
Stuffe
5.
TRAME DE DONNEES
8 / 32
Le bus CAN
Espace
Intertrame
Espace
Intertrame
Trame de Donnes
ou
Trame de
Surcharge
Dbut
de
trame
Champ
d'arbitrage
Champ de
commande
Champ de
donnes
Champ de
CRC
Champ
d'acknowlegde
Fin de
Trame
Le dbut de trame nest effectif que si le bus tait prcdemment au repos. Tous les nuds du
rseau doivent se resynchroniser sur le bit de SOF.
5.1.
Champ darbitrage
Dans une trame standard, le champ darbitrage est compos des 11 bits de lidentificateur
(figure 4) et dun bit de RTR (Remote Transmission Request) qui est dominant pour une trame
de donnes et rcessif pour une trame de requte. On ne dtaillera pas ici le champ
darbitrage pour une trame. Ceux qui dsire voir plus de dtails sur ce point peuvent faire
appel la norme BOSCH. Pour lidentificateur les bits sont transmis dans lordre, 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 tous tre rcessifs. Pour des raisons de compatibilit avec des anciens
circuits, les 4 derniers bits de lidentificateur (ID_3 ID_0) ne sont pas utiliss, ce qui rduit
le nombre de combinaisons possibles.
9 / 32
Le bus CAN
Format Standard
Champ
d'arbitrage
Champ de
commande
Identificateur ( 11 bits )
SOF
( 1 bit )
RTR
( 1 bit )
5.2.
Champ de contrle
Le champ de contrle est compos de 6 bits (figure 5). Les deux premiers (r1 dans une trame
standard, et r0) sont des bits de rserve et leur rle est dassurer des compatibilits futures
ascendantes (par exemple avec les trames tendues). Les quatre derniers bits permettent de
dterminer le nombre doctets de donnes contenus dans le champ de donnes pour une trame
de donnes ou bien le nombre doctets de donnes dont a besoin un nud du rseau lors dune
trame de requte. Le nombre doctets de donnes ne peut pas excder la valeur de 8.
Taille
des DLC (Data Length Code)
donnes en octets DLC3
DLC2
0
D
D
1
D
D
2
D
D
3
D
D
4
D
R
5
D
R
6
D
R
7
D
R
8
R
D
D : bit Dominant, R : bit Rcessif
DLC1
D
D
R
R
D
D
R
R
D
DLC0
D
R
D
R
D
R
D
R
D
Tableau 1 : Codage des bits DLC suivant la taille des donnes en octets
10 / 32
Le bus CAN
Champ de
commande
Champ
d'arbitrage
IDE/r1
r0
DLC3
Bits
rservs
( 2 bits )
DLC2
DLC1 DLC0
Longueur du champ
de donnes
DLC
( Data Length Code )
( 4 bits )
Champ de
donnes
ou
Champ de
CRC
5.3.
Champ de donnes
Le champ de donnes a une longueur qui peut varier de 0 64 bits (0 8 octets). Cette
longueur a t dtermine lors de lanalyse du champ de contrle. Dans le cas dune trame de
requte, le champ de donnes est vide.
5.4.
Champ de CRC
Le champ de CRC est compos de 16 bits (figure 6). 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. Les
codes utiliss par les contrleurs de bus CAN sont des codes linaires de. De fait la longueur
maximale du dbut de trame ne doit pas excder 215 bits pour une squence de CRC de 15
bits. Le nombre maximal derreurs dtectes dans la trame est de 5.
La squence de CRC est calcule par la procdure suivante :
- le flot de bits (hors Bit-Stuffing ), constitu des bits depuis le dbut de la trame
jusqu la fin du champ de donnes (pour une trame de donnes) ou bien la fin du
champ de contrle (pour une trame de requte) est interprte comme un polynme
f(x) avec des coefficients 0 et 1 affects la prsence, effective ou non, de chaque
bit. Le polynme obtenu est alors multipli par x15 complt pour l'ajout du mot de
CRC.
- le polynme ainsi form est divis (modulo 2) par le polynme gnrateur
La chane de bits correspondante ce
g(x)=x15+x14+x10+x8+x7+x4+x3+1.
polynme est : 1100010110011001.
- Le reste de la division du polynme f(x) par le polynme gnrateur g(x) constitue
la squence CRC de 15 bits.
11 / 32
Le bus CAN
Champ de
donnes
ou
Champ de
commande
Champ de
CRC
Champ
d'acknolegde
Squence CRC ( 15 bits )
Dlimiteur
CRC
( 1 bit )
5.5.
Champ dacquittement
Le champ dacquittement possde 2 bits (figure 7). La station mettrice de la trame laisse le
bus libre pendant 2 coups dhorloge (ce qui correspond lmission de deux bits rcessifs) et
elle passe en mode rception pendant le premier coup dhorloge.
Le premier bit correspond lacquittement par lensemble des nuds ayant reu le message.
Si aucune erreur na t dtecte par un nud (aprs calcul du CRC), 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.
12 / 32
Le bus CAN
Champ
d'acknolegde
Champ de
CRC
Fin de
trame
Acknolegde
( 1 bit )
Dlimiteur
d'acknolegde
( 1 bit )
5.6.
Ce champ de fin de trame est constitu de 7 bits rcessifs, ce qui droge la rgle de BitStuffing. Ce champ tant fixe, il est ncessaire de dsactiver le codage ( lmission) et le
dcodage ( la rception) suivant la rgle du Bit-Stuffing.
6.
TRAME DE REQUETE
Une trame de requte est constitue de la mme manire quune trame de donnes sauf que le
champ de donnes est vide (figure 8).
Dans le champ darbitrage, le bit de RTR est rcessif. Par consquent si deux nuds mettent
chacun une trame possdant le mme identificateur (cest dire quun nud met une trame
de donnes et lautre une trame de requte), larbitrage sur le bit de RTR va donner la priorit
la trame de donnes.
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 le nombre doctets
de donnes dont il a besoin.
Les rgles de construction des autres divers champs dune trame de requte sont les mmes
que dans le cas dune trame de donnes.
13 / 32
Le bus CAN
Espace
Intertrame
Espace
Intertrame
Trame de requte
ou
Trame de
Surcharge
Dbut
de
trame
Champ
d'arbitrage
Champ de
commande
Champ de
CRC
Champ
d'acknowlegde
Fin de
Trame
7.
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.
7.1.
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.
Cependant, le Bit Error nest pas signal dans les cas suivants :
- Aucune erreur de Bit Error nest signale lorsquun bit dominant est envoy dans le champ
darbitrage la place dun bit rcessif. Le bit dominant signifie simplement une perte
darbitrage.
- De mme, pour un bit dominant 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.
14 / 32
Le bus CAN
Bit
Error
Acknowledgment
Bit Error
Error
Acknowledge
CRC Delimiter
Delimiter Error
Error
Bit Error
Stuff Error
CRC Error
Identificateur
commande donnes
cyclic redundancy
1 1
code
SOF
Fin de
trame
Ack
slot Ack
crc
delimiter
delimiter
Bit RTR
15 / 32
Espace
intertrame
Le bus CAN
7.2.
Dlimiteur de champ
Error Delimiter
6 bits dominants
8 bits rcessifs
16 / 32
Le bus CAN
Error Delimiter
6 bits rcessifs
8 bits rcessifs
7.3.
17 / 32
Le bus CAN
Error
Active
128 occurences
de 11 bits rcessifs
Error
Passive
Bus
Off
18 / 32
Le bus CAN
19 / 32
Le bus CAN
Le gestionnaire de protocole est en mode Bus Off si la valeur d'un des deux compteurs est >
255. Le nud est alors totalement dconnect du bus (les drivers de lignes ne sont plus actifs).
Il sort de cet tat de Bus Off avoir reu 127 trames de onze bits rcessifs.
8.
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 Frame) avec six bits dominants,
- le dlimiteur de surcharge (Overload Delimiter) avec huit bits rcessifs.
La figure 14 reprsente la trame.
Trame de surcharge
Trame de donne en cours
Overload Delimiter
Overload Flag
8.2.
Priode dintertrame
20 / 32
Le bus CAN
Elle spare les trames de donnes ou de requtes entre elles. Il sagit dune suite de plusieurs
bits rcessifs.
Le champ dintermission :
Le champ dintermission est une suite de 3 bits rcessifs conscutifs. Durant la priode
dintermission, lmission de trame nest pas autorise. Les gestionnaires de protocole ne sont
autoriss signaler que les conditions de surcharge.
Le champ de Bus Idle est celui du bus quand il est au repos. Le niveau de repos est le niveau
rcessif et aucune trame ne circule sur le bus.
Le champ de suspension de transmission est mis par un nud lorsque celui-ci envoie une
trame derreur passive.
La figure 15 reprsente les diffrents champs.
Les champs de fin de trame
Intertrame
Trame de donne
ou de requte
Intermission
Suspension de transmission
Bus Idle
8.3.
Autres modes
Pour la gestion de lnergie sur le bus, les drivers de ligne peuvent tre dsactivs lorsqu'il ny
a plus de trames sur le bus.
Pour activer ces drivers sur le bus, la station devra observer 11 bits rcessifs la suite. La
procdure ainsi dcrite est la procdure de rveil appele Wake-up. Un identificateur a t
rserv cette fonction pour viter de perdre un trop grand nombre de trames lors de la
reconnexion sur le bus.
Lors des dmarrages dune station sur le bus, le Start-up se charge de connecter les drivers de
lignes et dobserver la squence voulue pour commencer mettre ou recevoir des trames
du bus.
21 / 32
Le bus CAN
9.
CODAGE DE LIGNE
Dans le protocole CAN le code de ligne (en bande de base) choisi pour la transmission des
donnes sur le bus est le code NRZ (Non Return to Zero). La figure 16 donne un exemple de
codage.
Remarque :
La rgle du Bit-Stuffing ne modifie en aucun cas le procd de codage de ligne.
Comme le montre la figure 16, les transitions des bits seffectuent sur chaque front montant
de lhorloge. Dans le protocole CAN, une priode dhorloge correspond ce que lon appelle
le Nominal Bit Time.
22 / 32
Le bus CAN
PROP_SEG
PHASE_SEG1
PHASE_SEG2
Sample point
10.1.
1
.
No min al _ Bit _ Rate
Les segments buffer phase1 et buffer phase2 : les segments buffer phase1
et buffer phase2 sont surtout utiliss pour compenser les erreurs de phase
dtectes lors des transitions. Nous verrons aussi que ces segments peuvent tre
plus courts ou plus longs cause des phnomnes de resynchronisation.
23 / 32
Le bus CAN
10.2.
Le Time Quantum : Le Time Quantum est une unit de temps qui est construite partir de la
priode de loscillateur interne de chaque nud. Les frquences de fonctionnement du bus
CAN stendant de 125 KHz 1 MHz et celle des oscillateurs tant de plusieurs MHz, le
Time Quantum reprsente plusieurs priodes dune horloge doscillateur. La priode
dhorloge de loscillateur est appele minimum Time Quantum. La valeur du prscalaire m
dtermine le rapport entre le Time Quantum et le Minimum Time Quantum :
Priode de
l'oscillateur
Time Quantum
Le nombre de Time Quanta dans un Nominal Bit Time peut ainsi varier de 8 25. La figure 19
donne le nombre de Time Quanta possible par segment de Nominal Bit Time.
24 / 32
Le bus CAN
1 Time
Quantum
18
18
SYNC
SEG
PROP_SEG
PHASE_SEG1
18
PHASE_SEG2
Sample point
25 / 32
Le bus CAN
Bits emis
Sample point
Sample point
Bits reus
La norme BOSCH prvoit donc des rgles de synchronisation du Nominal Bit Time de chaque
circuit pour palier aux inconvnients exposs ci-dessus.
11.1.
Notion de RJW
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 sappelle 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).
1 < Rjw < min( 4, PHASE _ SEG1) .
La valeur est mise dans le registre du circuit lors de linitialisation et ne change pas en cours
de fonctionnement.
11.2.
Lerreur de phase (PHASE_ERROR) est dtecte lorsqu'une transition dun bit dominant
rcessif ou dun bit rcessif dominant ne seffectue pas lintrieur du segment de
synchronisation. Une variable note e sert quantifier cette erreur de phase et fournit le signe.
Le calcul de e est fait de la manire suivante :
e = 0, si la transition seffectue dans le segment de synchronisation
(SYNC_SEG).
e > 0, si la transition seffectue avant le point dchantillonnage (Sample
Point).
e < 0, si la transition seffectue aprs le point dchantillonnage (Sample
Point).
26 / 32
Le bus CAN
La rgle simple voque ci-dessus sert de base pour resynchroniser les diffrents Nominal Bit
Time de chaque circuit connect au bus. La rgle sappuie sur les transitions des bits rcessifs
dominant ou dominant rcessif qui arrivent au moins tous les 5 bits de mme signe
conscutifs, cause de la rgle du Bit-Stuffing.
Lerreur de phase e est donc calcule par rapport au Sample Point qui dtermine si le
PHASE_SEG1 doit tre allong ou si le PHASE _SEG2 doit tre raccourci pour que la
prochaine transition seffectue dans le SYNC_SEG. La figure 21 donne un exemple et les
consquences des emplacements des transitions sur la longueur des segments du Nominal Bit
Time.
Transition d'un bit sur la ligne
Nominal
Bit Time
SYNC
SEG
SYNC
SEG
PROP_SEG
PROP_SEG
PHASE_SEG1
PHASE_SEG2
PROP_SEG
PHASE_SEG1
PHASE_SEG1
Sample point
PHASE_SEG2
e < 0, on raccourcit PHASE_SEG2
Sample point
11.3.
La hard-synchronisation :
Leffet dune hard-synchronisation est de faire repartir le Nominal Bit Time depuis le segment
de synchronisation (SYNC_SEG) chaque fois quun ordre de hard-synchronisation est
donn par le gestionnaire du protocole. Le Nominal Bit Time en cours est abandonn et un
nouveau Nominal Bit Time repart ds le Time Quantum suivant, depuis le segment de
synchronisation (SYNC_SEG).
La resynchronisation :
Le calcul et lordre de resynchronisation sont donns partir de la valeur de lerreur de phase
e, et dpendent aussi de la valeur du RJW :
Si lerreur de phase est nulle (e = 0, la transition est dans le SYNC_SEG),
leffet de la resynchronisation est le mme que celui de la hard-synchronisation.
27 / 32
Le bus CAN
Allong de RJW
Raccourci de RJW
Tableau 2 : Rgles de resynchronisation
28 / 32
Le bus CAN
Support de transmission
La transmission des donnes est effectue sur une paire filaire diffrentielle. La ligne est donc
constitue de deux fils :
- CAN L (CAN LOW),
- CAN H (CAN HIGH).
CAN L
Paire filaire
CAN H
Le CAN est un bus de terrain, soumis des parasites importants. La transmission en paire
diffrentielle permet de s'affranchir de ces problmes. Les montages diffrentiels ont en plus
un fort taux de rjection en mode commun CMRR.
Pour les niveaux physiques sur le bus, il est important de distinguer les deux types de
transmission possibles :
- transmission en bus CAN low speed,
- transmission en bus CAN high speed.
Le tableau ci-dessous rsume les principales diffrences entre les deux types de bus
notamment sur les dbits supports.
Paramtres
Dbit
Nombre de nuds sur le bus
Courant de sortie (mode
mission)
Niveau dominant
Niveau rcessif
Caractristique du cble
Tensions dalimentation
CAN H = 4V
CAN L = 1V
CAN H = 1,75V
CAN L = 3,25V
30 pF entre les cbles de ligne
5V
CAN H = 3,5 V
CAN L = 1,5 V
CAN H = 2,5 V
CAN L = 2,5 V
2*120
5V
29 / 32
Le bus CAN
5
CAN H
4
CAN L
CAN L
3,25
2,5
1,75
CAN H
CAN H
CAN L
1
0
Bit rcessif
Bit dominant
Bit rcessif
tension
sur la
paire filaire
(en V)
CAN H
3,5
2,5
1,5
CAN L
0
Bit rcessif
Bit dominant
Bit rcessif
30 / 32
Le bus CAN
Le schma dun circuit CAN reli au bus est prsent figure 25.
CAN H
CAN L
Interface
Drivers
de
ligne
Circuit CAN
Gestionnaire de
protocole
sortie
0 ou 1
logique
Bits
dominants
ou
rcessifs
12.2.
Le dbit du rseau est calcul par rapport au Nominal Bit Time. Il stend de 125 kb/s 1
Mb/s suivant le type de bus utilis. Les valeurs ci-dessus correspondent au dbit dit brut du
rseau, cest dire en comptant tous les bits qui sont transmis sur le bus.
Le dbit dit net ne tient compte que des bits transportant des informations utiles. Le dbit net
est en fait le dbit utile du bus en ne comptant pas tous les bits tels que le SOF, les
Acknowlegde Delimiter, les bits de Bit-Stuffing...
Le temps de latence est un intervalle de temps qui reprsente la dure coule entre le
moment o une demande de requte est formule et linstant o la rponse est prsente sur le
bus. Le temps de latence dpend du nombre de nuds matres dsirant effectuer un transfert
de donnes.
31 / 32