Vous êtes sur la page 1sur 32

Le bus CAN

pk

- ENSEIRB -

LE BUS CAN

Patrice KADIONIK kadionik@enseirb.fr http://www.enseirb.fr/~kadionik 1 / 32


pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

TABLE DES MATIERES

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. 5.3. 5.4. 5.5. 5.6. Champ darbitrage ................................................................................................................. 9 Champ de contrle................................................................................................................ 10 Champ de donnes ................................................................................................................ 11 Champ de CRC ..................................................................................................................... 11 Champ dacquittement......................................................................................................... 12 Champ de fin de trame ......................................................................................................... 13

6. Trame de requte .............................................................................................................. 13 7. Traitement des erreurs...................................................................................................... 14


7.1. 7.2. 7.3. Les diffrents types derreurs .............................................................................................. 14 Les trames derreurs ............................................................................................................ 16 Recouvrement des erreurs ................................................................................................... 17

8. Fin de trames CAN ........................................................................................................... 20


8.1. 8.2. 8.3. Trame de surcharge.............................................................................................................. 20 Priode dintertrame ............................................................................................................ 20 Autres modes ......................................................................................................................... 21

9. Codage de ligne................................................................................................................. 22 10. Le Nominal Bit Time..................................................................................................... 22


Description des diffrents segments................................................................................. 23 Dure des diffrents segments et notion de Time Quantum........................................... 24 10.1. 10.2.

11.

Synchronisation des horloges ....................................................................................... 25


Notion de RJW ................................................................................................................... 26 Notion derreur de phase.................................................................................................. 26 Les rgles de synchronisation........................................................................................... 27

11.1. 11.2. 11.3.

12.

Caractristiques physiques du bus CAN....................................................................... 29


Support de transmission ................................................................................................... 29 Dbit sur le rseau et temps de latence............................................................................ 31

12.1. 12.2.

13. 14.

Bibliographie ................................................................................................................. 32 Webographie.................................................................................................................. 32 2 / 32

pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

1.

INTRODUCTION

Ce document a pour but de prsenter les caractristiques essentiels du bus/rseau de terrain CAN (Control Area Network). Bien plus qu'un bus au sens lectrique, le bus CAN est un rseau part entire respectant le modle d'interconnexion des systmes ouverts OSI de l'ISO. C'est un rseau de terrain aussi car il doit fonctionner dans un environnement limit et svre comme une usine, un atelier, une voiture Le bus/rseau CAN, standard de fait, est promu un essor rapide.

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.

PROTOCOLE CAN ET COUCHES OSI

On retrouve ainsi dans le protocole CAN, la couche liaison de donnes (couche 2) et la couche physique (couche 1) (figure 1). La couche de liaison de donnes est subdivise en deux sous-couches (LLC Logic Link Control), et MAC (Medium Access Control), tandis que la couche physique est divise en trois sous-couches (PLS Physical Signalling), PMA (Physical Medium Access), MDI (Medium Dependent Interface). 3 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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 de : - la mise en trame du message. - larbitrage. - lacquittement.

Couche de communication de donnes LLC ( Logic Link Control ) Filtrage d'acceptance des messages Notification de sucharge ( overload ) Recouvrement des erreurs ------------------------------------------------------------------------MAC ( Medium Access Control ) Encapsulation/Dcapsulation des donnes Codage de trame ( Stuffing/Destuffing ) Medium Access Management Dtection d'erreur Signalisation d'erreur Acquittement Srialisation/Dsrialisation

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

Figure 1 : Le protocole CAN et le modle OSI la dtection des erreurs. la signalisation des erreurs.

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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 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. Nud : sous-ensemble reli un rseau de communication et capable de communiquer sur le rseau selon un protocole de communication (ici le protocole CAN). Valeurs du bus : le bus peut avoir lune des deux valeurs logiques complmentaires dfinies, non pas en 0 et 1 comme dhabitude, mais sous les formes dites de dominante et rcessive. Dans le cas dune transmission simultane de bits rcessifs et dominants, la valeur rsultante du bus sera dominante (quivalence avec un OU cbl). 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 (bus idle), 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. Chaque nud peut galement dtecter des erreurs sur un message qui ne lui est pas destin et en informer les autres nuds. Trame de donnes, trame de requte : une trame de donnes (data frame) est une trame qui transporte, comme son nom lindique, des donnes. Une trame de

5 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN
Trame Stuffer

pk

Trame Stuffe

Trame Stuffer

Trame Stuffe

Figure 2 : Technique de Bit-Stuffing

5.

TRAME DE DONNEES

Une trame de donnes se dcompose en 7 champs diffrents (figure 3) : - le dbut de trame SOF (Start Of Frame), 1 bit dominant. - le champ darbitrage, 12 bits. - le champ de contrle, 6 bits. - le champ de donnes, 0 64 bits. - le champ de CRC (Cyclic Redundancy Code), 16 bits. - le champ dacquittement (Acknoledge), 2 bits. - le champ de fin de trame EOF (End Of Frame), 7 bits rcessifs.

8 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN
Espace Intertrame

pk
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

Figure 3 : Format de la trame CAN

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Format Standard

Champ d'arbitrage

Champ de commande

Identificateur ( 11 bits )

SOF ( 1 bit )

RTR ( 1 bit )

Figure 4 : Champ arbitrage

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Champ d'arbitrage IDE/r1 r0

Champ de commande

DLC3

DLC2

DLC1 DLC0

Bits rservs ( 2 bits )

Longueur du champ de donnes DLC ( Data Length Code ) ( 4 bits )

Champ de donnes ou Champ de CRC

Figure 5 : Champ contrle

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Champ de donnes ou Champ de commande

Champ de CRC Champ d'acknolegde Squence CRC ( 15 bits )

Dlimiteur CRC ( 1 bit )

Figure 6 : Champ CRC

La ralisation du module de calcul de CRC est particulirement aise laide de registres dcalages. La norme BOSCH propose le programme informatique correspondant lalgorithme prcdemment dcrit : CRC_REG=0 ; REPEAT CRC_NXT_BIT=(NXT_BIT) XOR (CRC_REG(14)) ; CRC_REG(14:1)=CRC_REG(13:0) ; CRC_REG(0)=0 ; IF CRC_NXT_BIT THEN CRC_REG(14:0)=CRC_REG(14:0) XOR (4599hex) ; ENDIF UNTIL(CRC SEQUENCE starts or there is an ERROR condition)

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Champ d'acknolegde Champ de CRC Fin de trame

Acknolegde ( 1 bit )

Dlimiteur d'acknolegde ( 1 bit )

Figure 7 : Champ acquittement

5.6.

Champ de fin de trame

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN
Espace Intertrame Trame de requte

pk
Espace Intertrame

ou Trame de Surcharge

Dbut de trame Champ d'arbitrage Champ de commande Champ de CRC Champ d'acknowlegde Fin de Trame

Figure 8 : Trame de requte

7.

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.

7.1.

Les diffrents types derreurs


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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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. Cependant, une erreur de Stuffing ne doit tre signale que dans les champs didentificateurs, de commande et de CRC. La rgle du Bit-Stuffing ne sappliquant plus aprs la fin du CRC. En aucun cas, une erreur de Bit-Stuffing ne doit tre signale dans le champ de fin de trame ou dans le champ dacquittement. Lerreur de Cyclic Redundancy Code (CRC Error) : Si la valeur du CRC calcule par le rcepteur est diffrente de celle envoye par lmetteur, il y a erreur de CRC (CRC Error). 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 figure 9 rsume les diffrents types derreurs et leur validit suivant lendroit o lon se trouve dans la trame.

Bit Error

Bit Error

Stuff Error

Acknowledgment Bit Error Error Acknowledge CRC Delimiter Delimiter Error Error

CRC Error
cyclic redundancy 1 1 code Fin de trame Espace intertrame

Identificateur
SOF

commande donnes

Bit RTR

Ack slot Ack crc delimiter delimiter

Figure 9 : Les sources d'erreur dans la trame CAN

15 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

7.2.

Les trames derreurs


La trame derreur :

La trame derreur est constitue de deux champs principaux : - le drapeau derreur, - le dlimiteur de champ. La figure 10 montre de quelle manire est construite la trame derreur.
Trame en cours d'mission Drapeaux d'erreur Dlimiteur de champ Intertrame

Figure 10 : Construction de la trame d'erreur

Le champ des drapeaux peut tre constitu de deux sortes de drapeaux : - les drapeaux derreur active (Active Error Flag), - les drapeaux derreur passive (Passive Error Flag). Les trames diffrent suivant le type de drapeaux quelles contiennent. Les figures 11 et 12 reprsentent les deux types de trame avec leurs drapeaux respectifs.

Trame d'erreur active


Trame de donne en cours de transmission Flag Error Active Error Delimiter

6 bits dominants

8 bits rcessifs

Figure 11 : Trame d'erreur active

16 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Trame d'erreur passive


Trame de donne en cours de transmission Flag Error Active Error Delimiter

6 bits rcessifs

8 bits rcessifs

Figure 12 : Trame d'erreur passive La trame derreur active : Elle est forme de six bits dominant conscutifs pour le champ de drapeau suivi de huit bits rcessifs pour le dlimiteur. Par construction, la trame derreur brise la rgle du Bit-Stuffing. Les autres rcepteurs vont donc se mettre mettre des trames derreurs actives (sils sont en mode derreur active) la fin du drapeau de la premire station qui a mis la trame derreur. Toutes les stations vont donc mettre tour de rle la trame derreur. La dernire station aura en charge dmettre le champ dError Delimiter, les autres champs ayant t remplacs par les bits dominants des drapeaux mis. Remarque : La norme limite le nombre de bits dominant conscutifs 12 bits. La trame derreur passive : La trame est forme de six bits rcessifs pour le drapeau et de huit bits rcessifs pour le dlimiteur. Le champ du drapeau brise de nouveau la rgle du Bit-Stuffing et les metteurs envoient tour de rle le Passive Error Flag (sils sont en mode derreur passive). Mais une trame dActive Error Flag reste prioritaire sur une trame de Passive Error Flag si elles sont envoyes en mme temps. En effet, Les bits dominants de lActive Error Flag remplacent les bits rcessifs du Passive Error Flag. La fin de la trame quant elle ne change pas puisquelle est forme dans les deux cas de huit bits rcessifs.

7.3.

Recouvrement des erreurs

Le recouvrement des erreurs est assur par la retransmission automatique de la trame incrimine jusqu' ce que lmission de cette trame seffectue sans erreur. La validit du message est acquise sil ny a aucune erreur depuis le SOF (Start Of Frame) jusqu' la fin de trame. Si lmetteur narrive pas mettre sa trame correctement, il essaye de nouveau de lmettre jusqu' ce que son compteur derreur passe en mode derreur passive.

17 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

La gestion des modes derreur : Suivant le nombre derreur quun nud comptabilise, ltat du mode de ce nud peut diffrer. Un compteur mmorise le nombre derreur rencontr lors de la transmission des trames sur le bus. Deux compteurs spars rgissent respectivement le nombre derreurs en mission et en rception. Il se nomme : - Transmit Error Counter pour lmission, - Receive Error Counter pour la rception. Lorsque le nombre derreur devient trop important et que le gestionnaire est dj en erreur passive, le nud se met en Bus Off et se dconnecte du bus. Il ne reoit ni met ce moment l aucune trame circulant sur le bus CAN. Le passage dans les diffrents modes seffectue suivant la valeur des compteurs comme le montre la figure 13.
Reset

REC > 127 et TEC > 127

Error Active
128 occurences de 11 bits rcessifs

REC < 128 et TEC < 128

Error Passive

Bus Off

TEC: Transmit Error Counter REC: Receive Error Counter

TEC > 255

Figure 13 : Compteur d'erreur et tat d'un noeud

Les rgles de passages dans les modes : Lincrmentation et la dcrmentation des compteurs ne se fait pas avec le mme rapport. En effet, le compteur sincrmente plus vite lorsqu'il y a une erreur quil ne se dcrmente lorsque la trame reue est correcte. Les rgles dincrmentation et de dcrmentation des compteurs sont les suivantes : Le compteur de rception est incrment de 1 si : - un rcepteur dtecte une erreur, le compteur derreur de rception sera incrment de 1, sauf si lerreur est un Bit Error durant un flag derreur active ou un flag de surcharge.

18 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Le compteur de rception est incrment de 8 si : un rcepteur reoit un bit dominant juste aprs un flag derreur. un rcepteur voit un Bit Error tandis quil reoit un flag derreur active ou un flag de surcharge. Le compteur de transmission est incrment de 8 si : un metteur envoie un flag derreur, son compteur dmission sincrmente de 8 sauf si lmetteur est en erreur passive et voit un Acknowledgment Error (il ne dtecte aucun bit dominant sur le champ dacknowledge ou lors de lenvoie de la trame derreur passive) et galement si lmetteur envoie un flag derreur lors dune erreur de Bit-Stuffing durant la priode darbitrage (dtection dun bit dominant au lieu dun bit rcessif situ aprs le RTR). un metteur voit un Bit Error tandis quil met un flag derreur active ou un flag de surcharge. Les compteurs dmission et de rception sincrmentent de 8 si : chaque nud recevant sept bits dominants conscutifs aprs rception dun Active Error Flag, dun Passive Error Flag ou dun Overload Flag. Aprs dtection de quatorzime bit dominant conscutif (pour lActive Error Flag ou lOverload Flag) ou du huitime bit dominant conscutif suivant le Passive Error Flag, et aprs toutes les suites de huit bits dominants conscutifs.

Le compteur de rception est dcrment de 1 si : le rcepteur reoit une trame sans erreur (jusquau champ dAcknowledge Slot) et si la valeur du compteur est comprise entre 1 et 127. Si le compteur est 0, sa valeur ne change pas (pas dincrmentation). S'il est suprieur 127, sa valeur est ramene entre 119 et 127. Le compteur dmission est dcrment de 1 si : la transmission dune trame se droule sans erreur (jusquau champ dAcknowledge Slot). Si la valeur du compteur est 0, le compteur ne sincrmente pas.

Les modes derreurs : Mode derreur active :

Le gestionnaire de protocole est en mode derreur active si le compteur de rception et le compteur dmission ont une valeur infrieure 127. Dans ce mode, le nud met des trames derreurs actives (Active Error Flag). Mode derreur passive :

19 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Le gestionnaire de protocole est en mode derreur passive si le compteur de rception ou le compteur dmission est suprieur ou gal 128 et infrieur 255. Dans ce mode, le nud met des trames derreurs passives (Passive Error Flag). Mode Bus Off :

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.

FIN DE TRAMES CAN


8.1. 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 Flag Overload Delimiter

Figure 14 : Trame de surcharge

Une trame de surcharge est mise sur le bus si : - un bit dominant est dtect durant la priode dintertrame. - 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 (pas plus de 12 bits dominants conscutifs mis sur le bus).

8.2.

Priode dintertrame

20 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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 :

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 :

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 Nouvelle trame de donne ou de requte

Figure 15 : Priode d'intertrame

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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.

Figure 16 : Codage NRZ du bus CAN

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.

10. LE NOMINAL BIT TIME


Le Nominal Bit Time reprsente en fait la dure du bit sur le bus. Cette dure est, comme nous lavons vu, troitement lie la priode de lhorloge. 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. Ainsi, la dure du bit time de chaque circuit est construite partir dun nombre dtermin de priodes dhorloge issue de lhorloge interne de chaque circuit CAN. La norme BOSCH 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), le segment de phase buffer n1 (PHASE_SEG1), le segment de phase buffer n2 (PHASE_SEG2).

La figure 17 donne un aperu de ces divers composants et de leur agencement.

22 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Nominal Bit Time SYNC_SEG PROP_SEG PHASE_SEG1 PHASE_SEG2

Sample point

Figure 17 : Dcomposition du nominal Bit Time En fait, le Nominal Bit Time, exprim en s, correspond videmment linverse du dbit sur le bus. Nous avons donc la formule suivante: No min al _ Bit _ Time = 1 . No min al _ Bit _ Rate

10.1.

Description des diffrents segments


le segment de synchronisation : le segment de synchronisation est utilis pour synchroniser les diffrents nuds du bus. Comme nous le verrons par la suite, une transition (de 0 1 ou de 1 0) doit seffectuer dans ce segment pour permettre une resynchronisation des horloges des diffrents nuds en mode de rception de trames. Le segment de propagation : le segment de propagation est utilis pour compenser les phnomnes de temps de propagation sur le bus. Par dfinition :

Dure_ PROP_ SEG = 2*(t _ propag_bus + t _retard_comparateurs + t _retard_drivers_lignes)

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. Le point dchantillonnage ou sample point : le point dchantillonnage ou sample point est le point o la valeur du bit est lue sur le bus. Il est situ la fin du segment de buffer phase1 et constitue la seule valeur mmorise pour le niveau du bit. On saffranchit des phnomnes de propagation et doscillation des donnes sur le bus dans les segments prcdents.

23 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

10.2.

Dure des diffrents segments et notion de Time Quantum

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 :

TIME _ QUANTUM = m * MINIMUM _ TIME _ QUANTUM .

La valeur de m peut varier de 1 32. La figure 18 reprsente la construction dun Time Quantum partir dune priode dhorloge interne au circuit.

Priode de l'oscillateur

Time Quantum

Figure 18 : Construction du Time Quantum

Dans lexemple ci-dessus, le facteur m est gal 4. La dure des diffrents segments : Segment Synchronisation - SYNC_SEG Propagation - PROP_SEG Buffer phase1 - PHASE_SEG1 Buffer phase1 - PHASE_SEG2 Dure en Time Quanta 1 18 18 18

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN
1 Time Quantum

pk

18

18

18

SYNC SEG

PROP_SEG

PHASE_SEG1

PHASE_SEG2

Sample point

Figure 19 : Dure des diffrents segments

Le choix du nombre de Time Quanta pour chaque segment dpend de la frquence de loscillateur. Un nombre important de Time Quanta par segment augmente la prcision de la synchronisation des diffrents nuds sur le bus.

11. SYNCHRONISATION DES HORLOGES


Chaque nud doit produire un nominal Bit Time pour pouvoir recevoir et mettre les donnes circulant sur le bus en synchronisme avec les autres circuits. En effet, si les Nominal Bit Time de chaque nud ne sont pas du tout synchroniss, la valeur lue sur le bus au moment de lchantillonnage peut ne pas tre la valeur correcte au bon moment, comme le reprsente la figure 20. Ces retards peuvent tre gnants, dans la phase dacquittement de la trame o il y a peu de temps pour finir de calculer le CRC et envoyer un bit ltat dominant lors de lAcknowledge Slot pour confirmer que la trame a bien t reue.

25 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Nominal Bit Time circuit 1

Bits emis

Nominal Bit Time circuit 2

Sample point

Sample point

Bits reus

Figure 20 : Problme de la synchronisation

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.

Notion derreur de phase

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

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

PROP_SEG

PHASE_SEG1

SYNC SEG

PROP_SEG

PHASE_SEG1

PHASE_SEG2

e > 0, on allonge PHASE_SEG1 SYNC SEG PROP_SEG PHASE_SEG1

Sample point PHASE_SEG2 e < 0, on raccourcit PHASE_SEG2

Sample point

Figure 21 : Erreur de phase

11.3.

Les rgles de synchronisation

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Si lerreur de phase est positive et infrieure en valeur absolue RJW (0<e<RJW), le PHASE_SEG1 sera rallong de e. Si lerreur de phase est ngative, mais infrieure RJW en valeur absolue (e<0 et e<RJW) le PHASE_SEG2 est raccourci de e. Si lerreur de phase est positive et suprieure ou gale RJW (e>0 et e>RJW), le PHASE_SEG1 est rallong de RJW. Enfin, si lerreur de phase est ngative et suprieure RJW (en valeur absolue -e<0 et e>RJW) le PHASE_SEG2 est raccourci de RJW. Le tableau suivant rsume les rgles voques ci-dessus. Erreur de phase 0<e<RJW E<0 et e<RJW e>0 et e>RJW E<0 et e>RJW Effet sur PHASE_SEG1 Allong de e Allong de RJW Raccourci de RJW
Tableau 2 : Rgles de resynchronisation

Effet sur PHASE_SEG2 Raccourci de e

Les rgles de synchronisation : Un seul type de synchronisation est autoris pour un mme Nominal Bit Time. Hard-synchronisation : Une hard-synchronisation est faite chaque fois quune transition seffectue dans le segment de synchronisation SYNC_SEG. Une hard-synchronisation est effectue lorsque le bus est au repos (bus idle) et quune transition dun bit rcessif un bit dominant est dtecte, autrement dit lors dun SOF (Start Of Frame). Resynchronisation : Une resynchronisation est effectue si une transition est dtecte au point dchantillonnage prcdent et que la valeur lue sur le bus immdiatement aprs la transition est diffrente de celle lue sur le bus avant la transition. Les transitions des bits rcessifs dominants peuvent tre utilises pour la resynchronisation si elles respectent la rgle prcdente, sauf si un nud met un bit dominant qui ne suit pas la rgle de resynchronisation avec une transition de rcessif dominant et une erreur de phase positive. La rgle ne sapplique que si les transitions des bits de rcessif dominant sont utilises pour la resynchronisation.

28 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

12. CARACTERISTIQUES PHYSIQUES DU BUS CAN


12.1. 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 CAN H Paire filaire

Figure 22 : Paire filaire du bus CAN

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 low speed 125 kb/s 2 20 > 1 mA sur 2,2 k CAN H = 4V CAN L = 1V CAN H = 1,75V CAN L = 3,25V 30 pF entre les cbles de ligne 5V CAN high speed 125 kb/s 1 Mb/s 2 30 25 50 mA sur 60 CAN H = 3,5 V CAN L = 1,5 V CAN H = 2,5 V CAN L = 2,5 V 2*120 5V

Tableau 3 : Les 2 types de bus CAN

29 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

CAN low speed

5
CAN H

4
CAN L CAN L

3,25 2,5 1,75 1 0 Bit rcessif Bit dominant Bit rcessif


CAN H CAN L CAN H

Figure 23 : Niveaux de tension du bus CAN low speed

tension sur la paire filaire (en V)

CAN high speed

CAN H
3,5 2,5 1,5

CAN L
0 Bit rcessif Bit dominant Bit rcessif

Figure 24 : Niveaux de tension du bus CAN high speed

30 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

Le schma dun circuit CAN reli au bus est prsent figure 25.

CAN H

CAN L

Circuit CAN Gestionnaire de protocole

Interface Drivers de ligne


sortie 0 ou 1 logique Bits dominants ou rcessifs

Figure 25 : Schma de principe d'un circuit CAN

12.2.

Dbit sur le rseau et temps de latence

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
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Le bus CAN

pk

13. BIBLIOGRAPHIE
[1] Dominique PARET. Le bus CAN Controller Area Network. 1997 [2] BOSCH. Norme CAN. [3] Pascal BORGHESI, Cyril RAPIN. Projet de fin d'tude ENSERB. 1998

14. WEBOGRAPHIE
http://www.omegas.co.uk/CAN/index.html http://www.can-cia.de/

15. EVOLUTION DU DOCUMENT


- 10/03/06 : intgration de la remarque de V. Bonifacie sur la partie erreur de phase.

32 / 32
pk/2001 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs