Vous êtes sur la page 1sur 19

CHAPITRE 4 : Le Protocole Bus CAN

31/12/2022 CHAPITRE 4 :
BUS CAN

Objectifs pédagogiques :

À l'issue de ce chapitre, vous aurez acquis les connaissances et


les compétences nécessaires pour :

- Appréhender le fonctionnement du bus de


communication CAN
- Identifier les différentes versions de la norme,
l’aspect Hardware et le protocole de communication

- Avoir une idée sur les outils d'analyse pour le bus


CAN

- A décortiquer facilement les trames modbus


DR. ATHMANI Samir
Ecole nationale supérieur des Energies Renouvelables, de l’Environnement et du Développement Durable
CHAPITRE 4 : Le Protocole Bus CAN

Table des matières


1 INTRODUCTION .............................................................................................................................................. 3
1.1 Historique .............................................................................................................................................. 3

1.2 Domaines d'application ......................................................................................................................... 3

2 PRESENTATION DU BUS CAN .......................................................................................................................... 4

2.1 Multiplexage temporel .......................................................................................................................... 4

2.2 Le bus CAN ............................................................................................................................................. 4

2.3 Le protocole CAN et couches OSI .......................................................................................................... 4

3 Couche Physique ............................................................................................................................................ 5

3.1 Support de transmission ........................................................................................................................ 5

3.2 Codage de l'information et stuffing ....................................................................................................... 8

4 Couche Liaison de données ............................................................................................................................ 8

4.1 Sous-couche LLC (logical link control).................................................................................................... 8

4.2 Sous-couche MAC (medium access control) ......................................................................................... 9

4.3 Les informations transmises sur le bus.................................................................................................. 9

4.4 Trame de données (data frame) ............................................................................................................ 9

4.4.1 Constitution d'une trame de données .......................................................................................... 9

4.4.2 Champ d'arbitrage ...................................................................................................................... 10

4.4.3 Champ de commande ................................................................................................................. 12

4.4.4 Champ de données ..................................................................................................................... 12

4.4.5 Champ de CRC ............................................................................................................................. 13

4.4.6 Champ d’acquittement ............................................................................................................... 13

4.4.7 Fin de trame ................................................................................................................................ 14

4.5 Trame de requête (remote frame) ...................................................................................................... 14

4.5.1 Constitution d'une trame de requête ......................................................................................... 14

4.5.2 Champ d’arbitrage ...................................................................................................................... 14

4.5.3 Arbitrage trame de requête et trame de données ..................................................................... 14

4.6 Trame de gestion des erreurs .............................................................................................................. 15

4.6.1 Types d’erreurs ........................................................................................................................... 15

4.6.2 Gestion du mode d’erreur : ........................................................................................................ 16

HNS re2sd Spécialité : IRIIA Cours RLI


1
CHAPITRE 4 : Le Protocole Bus CAN

4.7 Trame de surcharge (overload frame) ................................................................................................. 17

4.8 Période inter trame ............................................................................................................................. 17

5 Outils et matériel pour le bus CAN ............................................................................................................... 17

Liste des figures


Figure 1 : Domaines d’application ........................................................................................................................... 3

Figure 2 : Multiplexage temporel ............................................................................................................................ 4

Figure 3 : protocole CAN et couches OSI................................................................................................................. 5

Figure 4 : Couche physique et liaison de données .................................................................................................. 5


Figure 5 : Lignes de bus CAN ................................................................................................................................... 6

Figure 6 : CAN LS / CAN HS ...................................................................................................................................... 6

Figure 7 : Tension CAN LS/CAN HS sur la paire filaire ............................................................................................. 7

Figure 8 : Longueur du bus et le débit maximum .................................................................................................... 7

Figure 9 : La technique du Bit Stuffing .................................................................................................................... 8

Figure 10 : Trame de données............................................................................................................................... 10

Figure 11 : Champ d'arbitrage ............................................................................................................................... 10

Figure 12 : Transmission bit dominant/bit récessif ............................................................................................... 11

Figure 13 : Exemple d'arbitrage entre 3 stations .................................................................................................. 11

Figure 14 : Champ de commande ......................................................................................................................... 12

Figure 15 : Champ de données.............................................................................................................................. 12

Figure 16 : Champ de CRC ..................................................................................................................................... 13

Figure 17 : champ d’acquittement ........................................................................................................................ 13

Figure 18 : Champ d’arbitrage............................................................................................................................... 14

Figure 19 : Exemple d’arbitrage entre une trame de requête et une trame de données .................................... 14

Figure 20 : Etats D’un nœud.................................................................................................................................. 16

Liste des tableaux


Tableau 1 : Paramètre CAN LS/ CAN HS .................................................................................................................. 6

Tableau 2 : Longueur du bus et le débit maximum ................................................................................................. 7


Tableau 3 : Les 4 bits DLC ...................................................................................................................................... 12

HNS re2sd Spécialité : IRIIA Cours RLI


2
CHAPITRE 4 : Le Protocole Bus CAN

1 INTRODUCTION
1.1 Historique

Depuis les années 1960 la longueur de câble utilisée dans une automobile ne cesse de croître
pour dépasser 2000 m à la fin des années 1990. Le nombre des connexions atteint 1800 à cette
même date. La fiabilité et la sécurité sont menacées. Les normes en matière de pollution et de
consommation d’énergie, de sécurité (ABS, ESP, AIR-BAG …) et la demande de confort
(mémorisation des réglages de conduite, climatisation régulée par passager, système de
navigation…) obligent les constructeurs à multiplier les capteurs et actionneurs intelligents dans
leur véhicules accélérant ce processus de multiplication des câbles et connexions depuis une
vingtaine d’années.

La société Robert Bosch GmbH (Allemagne) développe dès le début des années 1980 une
solution de multiplexage des informations circulant à bord de la voiture. Le bus CAN (Control Area
Network) est alors développé et sera normalisé dès 1983. En 1985, Mercedes commercialise la
première voiture (classe S) équipée d'un bus CAN et de cinq unités de calcul. Aujourd'hui, beaucoup
de véhicules sont totalement multiplexés. Leurs réseaux permettent de relier entre plus d'une
trentaine de calculateurs.

1.2 Domaines d'application

Le CAN (Controller Area Network) fait partie des réseaux de terrain (ou réseau embarqué)
les plus utilisés tant pour des applications automobiles que des applications industrielles
(automatisme, etc.). Le CAN occupe aujourd'hui une position de leader sur le marché
automobile. D’autres secteurs utilisent également le bus CAN :

▪ Véhicules industriels ;
▪ Matériel agricole ;
▪ Bateaux ;
▪ Avions ;
▪ Production industrielle
▪ Automatismes ;
▪ La domotique …

Figure 1 : Domaines d’application

3
HNS re2sd Spécialité : IRIIA Cours RLI
CHAPITRE 4 : Le Protocole Bus CAN

2 Présentation du bus can


2.1 Multiplexage temporel

Le multiplexage temporel consiste à faire circuler sur un même câble (un bus) une multitude
d’informations entre les différents équipements (très souvent des calculateurs). Ces équipements
communiqueront donc à tour de rôle. Cette technique permet de diminuer une quantité importante
de câblage à installer et de coût (en masse, matériaux, main d'œuvre, maintenance).

Figure 2 : Multiplexage temporel

2.2 Le bus CAN

Le bus CAN (Controller Area Network) est un bus série de terrain car il doit fonctionner dans
un environnement limité et sévère (milieu industriel, atelier, voiture…) permettant la transmission
asynchrone de données numériques. Il s'agit d'un bus multiplexé.

Les particularités de ce bus sont :

• bus multi maîtres où tous les participants ont les mêmes droits ;
• les nœuds (hôtes) de ce bus ne sont pas adressés seuls les messages transmis
possèdent un identificateur. Chaque nœud scrute en permanence le bus et décide
selon l’identificateur si le message lui est destiné ou pas ;
• fiabilité élevée des mécanismes de protection du protocole.

Il existe 2 protocoles CAN :

• le protocole CAN 2.0A dit CAN standard qui possède un identificateur de 11 bits ce
qui permet de délivrer 2048 messages différents ;
• le protocole CAN 2.0B ou CAN étendu qui possède un identificateur 29 bits soit plus
de 536 millions de messages différents.

2.3 Le protocole CAN et couches OSI

La structure du protocole du bus CAN possède implicitement les principales propriétés


suivantes :

✓ Hiérarchisation des messages ;


✓ Garantie des temps de latence ;
✓ Souplesse de configuration ;

HNS re2sd Spécialité : IRIIA Cours RLI


4
CHAPITRE 4 : Le Protocole Bus CAN

✓ Réception de multiples sources avec synchronisation temporelle ;


✓ Fonctionnement multi maître ;
✓ Détections et signalisations d’erreurs ;
✓ Retransmission automatique des messages altérés dès que le bus est de nouveau au repos ;
✓ Distinction d’erreurs (temporaire ou non-fonctionnalité permanente au niveau d’un nœud) ;
✓ Déconnexion automatique des nœuds défectueux.

Figure 3 : protocole CAN et couches OSI

Le protocole CAN ne couvre que 2 (ou 3) des 7 couches du modèle OSI : les couches
Physique (couche 1) et Liaison (couche 2) et éventuellement la couche Application (couche 7).

Figure 4 : Couche physique et liaison de données

3 Couche Physique
Cette couche correspond à l’aspect matériel (connecteurs) et électrique des signaux (codage,
tensions, impédance…).

3.1 Support de transmission

Le bus CAN utilise des paires filaire différentielles torsadées (réduction des perturbations)
pour la transmission des données. La ligne est donc constituée de deux fils : CAN L (CAN Low)

HNS re2sd Spécialité : IRIIA Cours RLI


5
CHAPITRE 4 : Le Protocole Bus CAN

et CAN H (CAN High). Le Signal CAN transmis est donc obtenu par la différence de tension
entre les deux lignes. La ligne du bus doit se terminer par des résistances de terminaison.

Figure 5 : Lignes de bus CAN

Pour chacun des 2 protocoles il existe 2 types d'interfaces (normes de transmission) :

• CAN low speed ISO 11519 : (125 kbits/s, 2 à 20 nœuds, longueur limitée par la
capacité parasite). Dans l'automobile, il est appelé bus confort et utilisé pour la
climatisation, la radio, le tableau de bord … ;

• CAN high speed ISO 11898 : (125 kbits/s à 1Mbits/s, paire 120 Ω , 2 à 30 nœuds, 40m
à 1Mbits/s). Dans l'automobile, il est utilisé pour les équipements de sécurité
(freinage, moteur … ;

Figure 6 : CAN LS / CAN HS

Tableau 1 : Paramètre CAN LS/ CAN HS

HNS re2sd Spécialité : IRIIA Cours RLI


6
CHAPITRE 4 : Le Protocole Bus CAN

Les nœuds sont câblés sur le bus de telle manière qu'en cas d'émission simultanée de deux
nœuds, le NL0 s'impose par rapport au NL1 : Le NL0 est donc appelé état dominant et le
NL1, état récessif.

Figure 7 : Tension CAN LS/CAN HS sur la paire filaire

La transmission différentielle du signal sur le bus CAN assure l’immunité


électromagnétique car les deux lignes du bus sont affectées de la même manière par un signal
perturbateur.

La longueur du bus et le débit maximum sont liés par la courbe suivante :

Débit en kbits/s

Figure 8 : Longueur du bus et le débit maximum

Débit Longueur Durée d'un bit


1 Mbits/s 30 m 1 s
800 kbits/s 50 m 1,25 s
500 kbits/s 100 m 2 s
250 kbits/s 250 m 4 s
125 kbits/s 500 m 8 s
62,5 kbits/s 1000 m 16 s
20 kbits/s 2500 m 50 s
10 kbits/s 5000 m 100 s

Tableau 2 : Longueur du bus et le débit maximum

HNS re2sd Spécialité : IRIIA Cours RLI


7
CHAPITRE 4 : Le Protocole Bus CAN

3.2 Codage de l'information et stuffing

Les bits transitant sur le bus sont codés avec la méthode NRZ (Non Return to Zero). Pendant
la durée totale du bit, le niveau de tension de la ligne est maintenu, c’est à dire sa valeur reste
constante qu’elle soit dominante ou récessive.

Une des caractéristiques du codage NRZ est que le niveau du bit est maintenu pendant toute
sa durée. Cela pose des problèmes de fiabilité si un grand nombre de bits identiques se succèdent.

CAN utilise un codage NRZ. Afin de ne pas laisser de grande suite de 1 ou de 0, après 5 bits de
valeur identique, un bit de la valeur opposée est inséré (retiré à la réception). Cette technique est
appelée « bit stuffing »

Conséquences :

▪ Modification du spectre du signal NRZ.


▪ Plus grand nombre de transitions : Synchronisation de l’horloge.

Figure 9 : La technique du Bit Stuffing

4 Couche Liaison de données


4.1 Sous-couche LLC (logical link control)

Du point de vue OSI, la sous-couche LLC fournit l’adressage et le contrôle de la liaison de


données. Ce dernier utilise pour cela le contrôle de flux, l’accusé de réception et la correction
d’erreur. C’est cette sous-couche qui forme la trame qui sera envoyée par la sous-couche MAC.
L’adressage précise l’identifiant de la station destinataire, mais aussi la station émettrice de la trame.

Particularité du bus CAN : l’adresse correspond à l’identification du message car il n’y a pas
d’identification de station (nœud). C’est la couche supérieure qui précisera le numéro d’identification
du message.

Dans les applications « temps réel », il est spécifié à la sous couche LLC des contraintes
temporelles sur les messages envoyés tels que la période, le temps d’arrivée, l’échéance…

Pour une garantie de service, tous les messages préparés (mis dans une file de transmission)
sont transmis avec respect de leurs échéances. En revanche, pour un service de meilleur effort, les
HNS re2sd Spécialité : IRIIA Cours RLI
8
CHAPITRE 4 : Le Protocole Bus CAN

messages en attente de transmission seront mis dans un ordre tel que le taux de perte de messages
(le nombre de messages dont les échéances ne sont pas respectées) soit minimal.

4.2 Sous-couche MAC (medium access control)

Cette couche gère l’accès au canal physique à l’aide d’un protocole de communication ;
autrement dit, elle récupère les unités de données (trames) de la couche LLC et les renvoie dans le
canal physique en ajoutant l’information de contrôle selon le protocole implanté. Les protocoles
dont traite cet article sont ceux qui ont pour objectif le respect des échéances des messages. Il existe
différents protocoles temps réel selon qu’ils garantissent le respect des échéances des messages ou
pas.

4.3 Les informations transmises sur le bus

Le concept de communication du bus CAN est celui de la diffusion d’information (broadcast) :

✓ Chaque station connectée au réseau écoute les trames transmises par les
stations émettrices. Chaque nœud décide quoi faire du message, s’il doit y répondre
ou non, s’il doit agir ou non ;
✓ Le protocole CAN autorise différents nœuds à accéder simultanément au bus. Un
procédé rapideet fiable d’arbitrage détermine le nœud qui émet en premier ;

Il existe 4 types de trames circulant sur le bus CAN :


✓ Trame de données (data frame) : trame qui transporte des données ;
✓ Trame de requête (remote frame) : trame émise par un nœud désirant recevoir une
trame de données (l’identificateur est le même pour les deux trames dans ce cas) ;
✓ Trame de surcharge (overload frame) : trame qui indique qu'une station est
surchargée pendant un certain laps de temps. Elle permet d’introduire un délai entre
2 trames (elle ne contient pas d’information) ;
✓ Trame d'erreur (error frame) : trame transmise lors de la détection d'une erreur. Elle
indique la nature des erreurs (de bit, de stuffing, de CRC, d'acquittement…) et
permet la correction en demandant de renvoyer à nouveau la donnée.

Les trames de données et trames de requêtes sont séparées des trames précédentes
par un champ de bits appelé espace inter trame (interframe space). Il s’agit d’une suite de
plusieurs bits récessifs (NL1).

4.4 Trame de données (data frame)


4.4.1 Constitution d'une trame de données
La trame de données standard CAN 2.0A (la plus utilisée) se décompose en 7 parties champs :
▪ Début de trame (1 bit dominant) : Start Of Frame (SOF) ;
▪ Champ d'arbitrage (12 bits) : arbitration field ;

HNS re2sd Spécialité : IRIIA Cours RLI


9
CHAPITRE 4 : Le Protocole Bus CAN

▪ Champ de commande (6 bits) : control field ;


▪ Champ de données (0 à 64 bits) : data field ;
▪ Champ de CRC (16 bits) : CRC sequence ;
▪ Champ d'acquittement (2 bits) : ACKnowledgement field ;
▪ Fin de trame (7 bits) : End Of Frame (EOF).

On trouve ensuite une 8ème zone dite espace inter trame (interframe) qui appartient à la
trame.

Figure 10 : Trame de données

Dès que le bus est libre (bus idle), n’importe quel noeud relié au réseau peut
émettre un nouveaumessage.

Le bit SOF (début de trame de données) est dominant. Il signale à toutes les
stations le début d'un échange. Cet échange ne peut démarrer que si le bus était
précédemment au repos.

4.4.2 Champ d'arbitrage

Le champ d'arbitrage est constitué des bits de l'identificateur ainsi que du bit RTR (Remote
Transmission Request).

Figure 11 : Champ d'arbitrage

La longueur de l'identificateur est de 11 bits. Les bits sont transmis dans l'ordre ID10 à ID0
(du bit de poids fort au bit de poids faible). Les 7 premiers bits de poids fort (ID10 à ID4) ne doivent
pas être tous récessifs. L'identificateur a la forme suivante : ID = (ID10 ID9 ID8 ID7 ID6 ID5 ID4 X X X
X). Les 4 derniers bits ne sont pas historiquement utilisés. Le nombre maximal d'identificateurs est
donc de 2032.

HNS re2sd Spécialité : IRIIA Cours RLI


10
CHAPITRE 4 : Le Protocole Bus CAN

Pour une trame de données, le bit RTR doit être dominant.

Figure 12 : Transmission bit dominant/bit récessif

Pendant le champ d'arbitrage, les bits transmis et reçus sont comparés par l'interface
CAN.

Les identificateurs de chaque message permettent de définir quel message est prioritaire
sur tel autre.

Figure 13 : Exemple d'arbitrage entre 3 stations

HNS re2sd Spécialité : IRIIA Cours RLI


11
CHAPITRE 4 : Le Protocole Bus CAN

4.4.3 Champ de commande

Le champ de commande est constituéde 6 bits

Figure 14 : Champ de commande

Les bits R0 et R1 sont les bits de réserves (dominants en trame CAN 2.0A). Ils sont en réserve
pour des usages ultérieurs et permettent d'assurer des compatibilités avec de futures évolutions.

Les 4 derniers bits du champ de commande sont les bits DLC (Data Length Code) indiquent le
nombre d'octets qui seront contenus dans le champ de données.

Nb d'octets DLC3 DLC2 DLC1 DLC0


0 D D D D
1 D D D R
2 D D R D
3 D D R R
4 D R D D
5 D R D R
6 D R R D
7 D R R R
(8 R D D D

Tableau 3 : Les 4 bits DLC

4.4.4 Champ de données

Le champ de données contient les données utiles transmises. Il peut être composé
de 0 à 8 octets. Danschaque octet, le MSB est transmis en premier.

Figure 15 : Champ de données

HNS re2sd Spécialité : IRIIA Cours RLI


12
CHAPITRE 4 : Le Protocole Bus CAN

4.4.5 Champ de CRC

Le champ de CRC est composé d'une séquence de 15 bits suivi du CRC Delimiter (1 bit
récessif).

Figure 16 : Champ de CRC

La séquence de CRC (Cyclic Redundancy Code) permet de vérifier l'intégrité des données
transmises. IL s'agit d'un polynôme calculé de la même manière par l’émetteur et le récepteur à
partir des bits du SOF, du champ d'arbitrage, du champ de contrôle et du champ de donnée.

Ce champ de vérification des données est composé de 2 parties :

▪ Code de vérification des données transmises sur 15 bits : le récepteur compare son
code à celui de l’émetteur ; si différence : pas d’acquittement.
▪ Délimiteur de vérification de données : marque la fin de vérification, 1 bit toujours
à l’état 1 (récessif).

Les 15 bits premiers représentent le reste de la division des bits des champs précédents de
la trame par le polynôme générateur g(x).

4.4.6 Champ d’acquittement

Le champ d'acquittement est composé de 2 bits, l'ACK Slot et le ACK Délimiter (1 bit
récessif) :

✓ Lors de la transmission d'un message par un nœud, le bit ACK Slot est un bit récessif ;
✓ Lors de l'acquittement, par un nœud, de la réception correcte d'un message, le bit ACK
Slot est un bit dominant.

Figure 17 : champ d’acquittement

HNS re2sd Spécialité : IRIIA Cours RLI


13
CHAPITRE 4 : Le Protocole Bus CAN

4.4.7 Fin de trame

La trame de donnée se termine par une séquence de 7 bits récessifs. Ce champ possède une
structure fixe. Les logiques de codage (à l'émission) et de décodage (aux réceptions), de bit stuffing
sont désactivées pendant la séquence du champ de fin de trame.

4.5 Trame de requête (remote frame)

4.5.1 Constitution d'une trame de requête

Une station nécessitant des données particulières peut initialiser la demande d'une
transmission en envoyant une trame de requête (remote frame). La structure d'une trame de
requête est identique à celle de donnée hormis le champ de données qui est optionnel dans ce type
de trame.

4.5.2 Champ d’arbitrage

Contrairement à la trame de données le bit RTR du champ d'arbitrage d'une trame de


requête est un bit récessif. C'est donc ce bit qui différencie une trame de données d'une trame de
requête.

Figure 18 : Champ d’arbitrage

4.5.3 Arbitrage trame de requête et trame de données

Arbitrage entre une trame de données et une trame de requête portant le même
identificateur : la trame de donnée est prioritaire sur la trame de requête.

Figure 19 : Exemple d’arbitrage entre une trame de requête et une trame de données

HNS re2sd Spécialité : IRIIA Cours RLI


14
CHAPITRE 4 : Le Protocole Bus CAN

4.6 Trame de gestion des erreurs

Cette trame est générée par n’importe quel noeud détectant une erreur. La trame d’erreur
est constituée de deux champs principaux : le drapeau d’erreur et le délimiteur de champ.

Le champ des drapeaux peut être constitué de deux sortes de drapeaux :

➢ Les drapeaux d’erreur active (Active Error Flag)


➢ Les drapeaux d’erreur passive (Passive Error Flag).

4.6.1 Types d’erreurs

On peut dans le protocole du bus CAN détecter 5 types d’erreurs : Erreur de bit, Erreur de
stuffing, Erreur de CRC, Erreur d’acknowledge delimiter, Erreur d’acknowledge slot.

4.6.1.1 Trame d’erreur de Bit :

Chaque fois qu’un émetteur envoie un bit sur le bus, il vérifie en même temps si le niveau
émis sur le bus correspond à celui qu’il désire envoyer en faisant une surveillance du bus. Si le
niveau ne correspond pas, il le signale par un Bit Error.

Exception :

▪ Présence d’un bit dominant à la place d’un bit récessif dans le champ d’arbitrage
(perte d’arbitrage).
▪ Présence d’un bit dominant à la place d’un bit récessif dans le champ d’acquittement
(signalisation d’erreur par un recepteur).

4.6.1.2 Trame d’erreur de stuffing :

Une erreur de Stuffing est détectée à chaque fois qu’il y a 6 bits ou plus consécutifs de
même signe sur le bus

4.6.1.3 Trame d’erreur de CRC :

Si la valeur du CRC calculée par le récepteur est différente de celle envoyée par l’émetteur, il
y a erreur de CRC (CRC Error).

4.6.1.4 Trame d’erreur de délimiteur d’acquittement :

Signalée lorsque le récepteur n’observe pas un bit récessif lors du champ de délimiteur
d’acquittement. Il en est de même pour le délimiteur de CRC.

HNS re2sd Spécialité : IRIIA Cours RLI


15
CHAPITRE 4 : Le Protocole Bus CAN

4.6.1.5 Trame d’erreur d’acquittement:

Le transmetteur détecte une erreur d'acquittement lorsqu'il ne reçoit pas de bit dominant
pendant le ACK Slot.

4.6.2 Gestion du mode d’erreur :

Suivant le nombre d’erreur qu’un nœud comptabilise, l’état du mode de ce noeud peut
différer. Un compteur mémorise le nombre d’erreur rencontré lors de la transmission des trames sur
le bus. Deux compteurs séparés régissent respectivement le nombre d’erreurs en émission et en
réception. Il se nomme :

▪ Transmit Error Counter pour l’émission (TEC),


▪ Receive Error Counter pour la réception (REC).

Par défaut (à l’initialisation), le nœud est dans l’état « erreur Active ». Le bus peut émettre
et recevoir sans restriction. Pendant le fonctionnement, les compteurs sont incrémentés lors de la
détection d’erreur (variable suivant le type d’erreur).

Pour chaque transmission réussie, le compteur est décrémenté. Le nœud reste dans l’état «
erreur active » tant que la valeur du compteur reste inférieure à 127.

Si la valeur des compteurs dépasse 127, le nœud passe à l’état « erreur passive ».

Dans ce mode ; le nœud peut émettre et recevoir, mais après une transmission, il doit
suspendre la transmission et attendre 8bits de plus qu’un noeud en mode erreur active pour pouvoir
retransmettre.

Si les compteurs dépassent la valeur 255, le nœud passe dans le mode « Bus off ». L’activité
du nœud est arrêtée, il ne participe plus à la communication. Seul un RESET permet de repasser en
mode erreur active (127 trames de onze bits récessifs).

Figure 20 : Etats D’un nœud

HNS re2sd Spécialité : IRIIA Cours RLI


16
CHAPITRE 4 : Le Protocole Bus CAN

4.7 Trame de surcharge (overload frame)

La trame de surcharge indique aux autres nœuds qu’une station est surchargée. Elle est
formée de deux champs :

▪ Le drapeau de surcharge (Overload Frame) avec six bits dominants,


▪ Le délimiteur de surcharge (Overload Delimiter) avec huit bits récessifs.

Une trame de surcharge est émise sur le bus si :

▪ Un bit dominant est détecté durant la période d’inter trame.


▪ Un récepteur n’est pas prêt pour la réception d’une nouvelle trame de donnée ou de
requête (retard sur le traitement des informations circulant sur le bus).

Dès qu’une trame de surcharge est émise, les autres nœuds voient sur le bus une suite de six
bits dominants qui ne respectent pas la règle du Bit-Stuffing. Ils émettent à leur tour une trame de
surcharge.

Seulement deux trames de surcharges consécutives sont autorisées sur le bus (pas plus de
12 bits dominants consécutifs émis sur le bus).

4.8 Période inter trame

Elle sépare les trames de données ou de requêtes entre elles. Il s’agit d’une suite de plusieurs
bits récessifs. Elle est divisée en deux parties :

▪ Le champ d’intermission : est une suite de 3 bits récessifs consécutifs. Durant la


période d’intermission, l’émission de trame n’est pas autorisée.
▪ Le champ de Bus Idle : est celui du bus quand il est au repos. Le niveau de repos est
le niveau récessif et aucune trame ne circule sur le bus (succession de 5 bit récessifs).

5 Outils et matériel pour le bus CAN


Le CAN est un système très ouvert en ce sens que plusieurs produits issus de différents
fabricants peuvent cohabiter sur le même réseau.

✓ Contrôleur CAN « Stand Alone » : composant assurant la gestion du protocole CAN


destiné à s’interfacer avec un système programmable de type microcontrôleur ;
✓ Microcontrôleur « Single Chip Solution » : il s’agit d’un microcontrôleur intégrant
(fondu) avec un contrôleur CAN ;
✓ SLIO (Serial Link Input/Output) : composant autonome intégrant un contrôleur CAN,
prévu pour des entrées/sorties déportées, et conçu pour réaliser des fonctions de
contrôle à distance de capteurs et d’actionneurs ;

HNS re2sd Spécialité : IRIIA Cours RLI


17
CHAPITRE 4 : Le Protocole Bus CAN

✓ « Gate array » ou prédiffusé : il s’agit de circuits intégrés sur mesure incorporant un


contrôleur CAN.

Actuellement de nombreux circuits intégrés supportant le protocole CAN sont disponibles


sur le marché.

HNS re2sd Spécialité : IRIIA Cours RLI


18

Vous aimerez peut-être aussi