100% ont trouvé ce document utile (1 vote)
527 vues32 pages

Réseau CAN : Fiabilité et Applications

Ce document décrit le protocole de communication Controller Area Network (CAN). Il explique l'historique du CAN, sa topologie, ses propriétés, sa spécification au niveau des couches physique et liaison de données, ainsi que son fonctionnement incluant l'arbitrage, le routage des messages et les différents types de trames.

Transféré par

Marwen Sellami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
527 vues32 pages

Réseau CAN : Fiabilité et Applications

Ce document décrit le protocole de communication Controller Area Network (CAN). Il explique l'historique du CAN, sa topologie, ses propriétés, sa spécification au niveau des couches physique et liaison de données, ainsi que son fonctionnement incluant l'arbitrage, le routage des messages et les différents types de trames.

Transféré par

Marwen Sellami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CAN

CONTROLLER AREA NETWORK


(CAN)

CAN
Applications du bus CAN

CAN
CAN
Introduction
 CAN est un véritable réseau qui respecte le modèle OSI

 CAN est classé dans la catégorie des réseaux de terrain

 CAN supporte des systèmes temps réel avec un haut niveau


de fiabilité

1
CAN
Historique 3

 1983: Premier projet CANBUS chez Bosch

 1987: Premier contrôleur CAN puces vendues

 1991: publication de la spécification CAN 2.0A

 1992: Mercedes-Benz utilise un réseau CAN

 1993: la norme ISO 11898

 Présents: La majorité des véhicules utilisent le bus CAN.


Topologie du bus CAN CAN

Câblage traditionnel

Simple CAN
&
Léger

2 câbles pour l’alimentation électrique 12 V DC


1 paire torsadée pour les transferts d’informations
CAN
Propriétés 2

 CAN : Controller Area Network


 CAN est un protocole de communication Asynchrone série

 Half duplex
 Fonctionnement multimaître

 Détection et signalisation des erreurs : distinction des


erreurs temporaire et des erreurs permanentes au
niveau d’un nœud

 Déconnexion automatique des nœuds défectueux


CAN
Propriétés
Les points forts du système CAN sont les suivants :
– Le système d’allocation du bus,
– La détection des erreurs,
– La fiabilité des échanges de données. Utilisation temps
réel possible car un temps maximal entre l’émission et la
réception des trames pour un processus quelconque peut
être défini
– Transmission des données séries, basée sur le CAN,
– Jusqu’à 1 Mbit/s,
– Efficacité d’environ 57 %,
– Jusqu’à 127 noeuds (équipements),
– Possibilité de plusieurs maîtres,
– Inter-opérabilités de différents équipements provenant
de différents fabricants
CAN
SPECIFICATION du bus CAN 4
Suivant la norme de BOSCH, CAN couvre deux couches de l’OSI:
 la couche liaison de données (couche 2),
 la couche physique (couche 1).
CAN
SPECIFICATION du bus CAN 6

Sensor Actuator
Signals Signals
Node 1 Node 2 Node
N

Micro
Controller

CAN
Controller

RX TX
CAN
Transceiver

CAN CAN
H L
CAN
Couche physique : Niveau du Bus 7

Niveau du bus
 Recessif (1 logic)
 Dominant (0 logic)

le bus peut avoir l’une des deux valeurs logiques complémentaires


définies, non pas en 0 et 1 comme d’habitude, mais sous les formes
dites de dominante et récessive.

Transmission différentielle : Haute protection contre les


perturbations électromagnétiques
CAN
Couche physique :Niveau du Bus

 Physiquement le bus est une paire torsadée de deux fils électriques : CAN L (low) et
CAN H (High)
 Les états logiques (0 ou 1) sont codés par différence de potentiel entre les deux fils :
immunité importante au bruit
Codage binaitre CAN

NRZ : bits dominants et récessifs


•La succession de bits transitant sur le bus est codé avec la méthode du
NRZ (Non Return To Zero).

•Pendant la durée totale du bit, le niveau de tension de la ligne est maintenu,


c’est à dire que pendant toute la durée durant laquelle un bit est généré, sa
valeur reste constante qu’elle soit dominante ou récessive.

0 1 1 0 1 0 0
dominant récessif récessif dominant récessif dominant dominant
CAN
Sécurité de transmission& Bit Stuffing 30

 Cette méthode consiste, dès que l’on a émis 5 bits de même polarité
sur le bus, à insérer un bit de polarité contraire pour casser des
chaînes trop importantes de bits identiques.

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Trame avec bits de stuffing (S)

1 2 3 4 5 6 7 S 8 9 10 11 12 13 14 15 16 17 18 19 S 20 21 22 23 24
CAN
Arbitrage
 dû au fonctionnement multimaître. Si deux nœuds ou
plus tentent d’émettre un message sur un bus libre il faut
régler les conflits d’accès.

 On effectue alors un arbitrage bit à bit (non destructif)


tout au long du contenu de l’identificateur. Lorsqu’un bit
récessif est envoyé et qu’un bit dominant est observé sur
le bus, l’unité considérée perd l’arbitrage, doit se taire et
ne plus envoyeraucun bit.

 L'arbitrage est qualifié de CSMA/CA


(Carrier Sense Multiple Access - Collision Avoidance)

24
Accès au média et arbitrage CAN

Abandon
Nœud 2 Abandon
Nœud 1
CAN
Principe d’échange des données 8

Node 1 Node 2 Node 3 Node 4

CAN core CAN core CAN core CAN core

Frame Filter Frame Filter Frame Filter Frame Filter

 Nœud : sous-ensemble relié à un réseau de communication et capable


de communiquer sur le réseau selon un protocole de communication (ici
le protocole CAN).
 Fonctionnement multimaître : lorsque le bus est libre, chaque nœud
peut décider d’envoyer un message. Seul le message de plus haute
priorité prend possession du bus .
 Chaque noeud : emmetteur et recepteur
CAN
Routage des messages

 Routage des informations : des nœuds peuvent être ajoutés au


réseau sans qu’il n’y ait rien à modifier tant au niveau logiciel que
matériel.

 Chaque message possède un identificateur (identifier) qui n’indique


pas la destination du message mais la signification des données du
message. Ainsi tous les nœuds reçoivent le message, et chacun est
capable de savoir grâce au système de filtrage de message si ce
dernier lui est destiné ou non.

 Chaque nœud peut également détecter des erreurs sur un message


qui ne lui est pas destiné et en informer les autres nœuds.

9
CAN
Messages
 Message : chaque information est véhiculée sur le bus à l’aide d’un
message (trame de bits) de format défini. Dès que le bus est libre
(bus idle), n’importe quel nœud relié au réseau peut émettre un
nouveau message.

 Acquittement : tous les récepteurs vérifient la validité d’un message


reçu, et dans le cas d’un message correct ils doivent acquitter en
émettant un flag.

10
CAN
Trames du bus CAN 11

Le transfert des messages se manifeste et est commandé à l’aide de quatre


types de trames spécifiques et d’un intervalle de temps les séparant:

 Trame de données (data frame) : 2 standards


 Standard  11-bit identifier
 Etendue  29-bit identifier
est une trame qui transporte, comme son nom l’indique, des données (8 octets).

 Trame de requête : est émise par un nœud désirant recevoir une trame de
données.

 Trames d’erreurs : émises par n’importe quel nœud dès la détection d’une
erreur.

 Trames de surcharge :ces trames correspondent à une demande d’un laps


de temps entre les trames de données et de requête précédentes et
successives
CAN
Trame de données : STANDARD vs ETENDU 12

CAN 2.0A standard  11-bit identifier

S 11-bit R I r DL 0..8 Data AC


O T D CRC EOF
0 C bytes K
F Identifier R E

S High 11- S I R
Low 18-bit r r DL 0..8 Data
O bit R D T CRC ACK EOF
R E Identifier 1 0 C bytes
F Identifier R

CAN 2.0B standard  29-bit identifier


CAN
Trame de données standard (1/7) 13

Start-Of-Frame bit (SOF)

S 11-bit R I r
DL 0..8 Data AC
O T D CRC EOF
0 C bytes K
F Identifier R E

Marque le début de la trame de données


Seulement autorisé lorsque le bus est libre
Synchronise tous les nœuds CAN
CAN
Trame de données standard (2/7) 14

Champ d’arbitrage: 12 bits

S 11-bit R I r DL 0..8 Data AC


O T D CRC EOF
0 C bytes K
F Identifier R E

Composé de Identifier field + RTR bit


RTR (Remote Transmission Request) bit
“0”  Trame de données
“1”  Trame de requete
11-bit Identifier  2048 identificateurs
Identificateur transmis à partir de ID-10 (MSB) to ID-0
(LSB)
CAN
Trame de données standard (3/7) 15

Champ de controle: 6 bits

S 11-bit R I r DL 0..8 Data AC


O T D CRC EOF
0 C bytes K
F Identifier R E

IDE (IDentifer Extended) bit


“0”  Trame Standard
“1”  Trame Etendue
r0 bit reservé
4-bits DLC (Data Length Code) = le nombre d’octets
de données contenus dans le champ de données (0
to 8)

15
CAN
Trame de données standard (4/7) 16

Data Field : from 0 to 64 bits

S 11-bit R I r
DL 0..8 Data AC
O T D CRC EOF
0 C bytes K
F Identifier R E

Minimum = 0 byte
Maximum = 8 bytes
Données transmises à partir de MSB jusqu’à LSB

16
CAN
Trame de données standard (5/7) 17

Champ CRC : 16 bits

S 11-bit R I r
DL 0..8 Data AC
O T D CRC EOF
0 C bytes K
F Identifier R E

15-bit CRC (Cyclic Redundancy Check) 15-bit D


E
1-bit CRC delimiteur (recessive) CRC L
Principe:
Le récepteur calcule le CRC et le compare à celui obtenu à
partir de l'émetteur. Si elles diffèrent, une erreur CRC est
signalée
CAN
Trame de données standard (6/7) 18

Champ Acknowledge : 2 bits

S 11-bit R I r
DL 0..8 Data AC
O T D CRC EOF
0 C bytes K
F Identifier R E

Acknowledge slot bit


D
État récessif envoyé par l'émetteur DEL ACK
E
Transmit ter
slot
Les récepteurs le remplacent par l'état L
dominant
Acknowledgement delimiter bit Liste
ACK
Liste Receivers
n n
(recessive )
D
ACK b
CAN bus
DEL E
slot
L 18
CAN
Trame de données standard (7/7) 19

End-Of-Frame Flag : 7 bits

S 11-bit R I r
DL 0..8 Data AC
O T D CRC EOF
0 C bytes K
F Identifier R E

Sequence de 7 bits recessif


Bit stuffing mechanism disactivé
CAN
Trame de données étendue 20

Arbitration and Control Fields

S High 11- S I R
Low 18-bit r r DL 0..8 Data AC
O bit R D T CRC EOF
R E Identifier 1 0 C bytes K
F Identifier R

IDE bit  recessif


SRR (Substitute Remote Request) recessif
29-bit Identifier
+Identifier transmitted from ID-28 (MSB) to ID-0 (LSB)
CAN
Trame de requete 21

RTR  dominant(0 logic)


Utilisé pour identificateur standard ou etendu

S 11-bit R I r
DL 0..8 Data AC
O T D CRC EOF
0 C bytes K
F Identifier R E

S 11-bit R I r
DL 15-bit AC
O T D EOF
0 C CRC K
F Identifier R E
CAN
Espace entre les trames 22

Espace entre les trames

CRC AC EOF Bus idle


K

3 bits

Sequence de 3 bits recessifs


les trames de données et de request sont tojours séparées par
“Interframe Space”
Transmission de données est interdite pendant cette période

Les trames Erreur et Surcharge ne sont pas précédées par une période d’intertrame
CAN
Trame d’erreur 23

 Trame d’erreur
Interframe
space
Error Flag Error Delimiter
R
Data frame 6 bits 8 bits Bus Idle or Data frame
D

Error detection

Cadre d'erreur passive


Pas de bit dominant transmis : un flag d'erreur de
6 bits récessifs
La gestion des erreurs
Différents erreurs peuvent être générées dans le bus CAN. On distingue :

Erreur bit (Bit error) : Un nœud envoyant un bit sur le bus regarde aussi en même temps les
bits qu'il reçoit (Bit monitoring). Il considère comme une erreur de bit lorsque le bit envoyé
est différent du bit reçu.

Erreur de stuffing (Stuff error) : Le nœud détecte une erreur de stuffing lorsqu'il reçoit 6 bits
consécutifs de même valeur dans une partie d'un message qui devrait être codée avec la
méthode du bit stuffing.

Erreur de CRC (CRC error) : Une erreur de CRC est détectée lorsque le CRC calculé par un
récepteur est différent de la valeur du CRC contenu dans la trame.

Erreur de forme (Form error) : Une "Form error" est détectée lorsqu'un bit qui devrait être à
une certaine valeur est à une valeur différente (un délimiteur par exemple).

Erreur d’acquittement (ACK error) : Le transmetteur détecte une erreur d'acquittement


lorsqu'il ne reçoit pas de bit dominant pendant le ACK Slot.

Vous aimerez peut-être aussi