SlideShare une entreprise Scribd logo
Bus de terrain – Bus CAN
TARIK ZAKARIA BENMERAR, PHD
DEPARTEMENT INSTRUMENTATION ET AUTOMATIQUE, USTHB
Introduction - Historique
 Origines : besoin du monde automobile.
 Concept Robert Bosch Gmbh et université de
Wolfenbüttel (1983).
 Réalisation sur silicium par Intel (1985).
 Première voiture équipée CAN (1991).
 Création de CAN in Automation (CiA) en 1992.
Introduction - Evolution du câblages dans
l’automobile
Introduction - Evolution du câblages dans
l’automobile
Introduction - Evolution du câblages dans
l’automobile
Introduction - Evolution du câblages dans
l’automobile
Introduction – Les avantages de CAN
 Le protocole CAN (Control Area Network) est un protocole de communication série
qui supporte des systèmes temps réel avec un haut niveau de fiabilité :
 Souplesse de configuration.
 Fonctionnement multi-maître.
 Détections et signalisations d’erreurs.
 Retransmission automatique des messages altérés.
 Déconnexion automatique des nœuds défectueux.
Bus CAN et OSI
La norme CAN spécifie les couches Physique et Liaison de données uniquement.
D’autres protocoles (devicenet, canopen, ..) spécifient les couches hautes.
La transmission des données dans le bus
CAN
La transmission des données dans le bus
CAN
Chaque nœud est connecté au bus par l'intermédiaire d'une paire
torsadée (blindée ou non).
Paire torsadée (blindée ou pas) 2 fils de cuivre isolés de section 0.6 mm2
La transmission des données dans le bus
CAN
CAN L
CAN H
Paire filaire
CAN Low CAN High
La transmission des données dans le bus
CAN
Dominant Récessif
CAN - H
CAN - L
Temps
Tension
(V)
5,0
3,6
2,5
1,4
0,0
2,2V 5,0V
CAN - H
CAN - L
Rx
Tx
120
5V
Le CAN low speed (max. 125kbits/s)
La différence de tension entre les deux états est grande
La transmission des données dans le bus
CAN
Le CAN high speed (max. 1Mbits/s sur 40m)
La différence de tension entre les deux états est faible
Dominant Récessif
CAN - H
CAN - L
Temps
Tension
(V)
3,5
2,5
1,5
2,0V
CAN - H
CAN - L
Rx
Tx
50 k
50 k
120
Bias.
2,5V
5V
La transmission des données dans le bus
CAN
 Le bus peut avoir l’une des deux valeurs logiques complémentaires définies.
 Ils sont sous la forme de bit nommé dominant (Bit à 0) ou récessif (Bit à 1).
La transmission des données dans le bus
CAN
CAN est un bus de données série bidirectionnel half-duplex dans le
domaine automobile,
Pour un bus de données CAN « basse vitesse », le nombre de nœuds est
limité à 20.
Pour un bus de données CAN « haute vitesse », il est limité à 30.
La transmission des données dans le bus
CAN
 Message : Chaque information est véhiculée sur le bus à l’aide d’un message (trame de bits) de format
défini mais de longueur variable et limitée. Dès que le bus est libre, n’importe quel nœud relié au réseau
peut émettre un nouveau message.
 Canal de liaison simple : Le bus consiste en un simple canal bidirectionnel qui transporte les bits. A
partir des données transportées, il est possible de récupérer des informations de resynchronisation.
 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.
 Arbitrage : En absence d’un hôte, il est impératif de régler les conflits d’accès au bus de communication.
 Sécurité de transmission : Garantir la plus grande sécurité lors de transferts sur le bus. Des dispositifs de
signalisation, de détection d’erreurs, et d’autotests ont été implémentés sur chaque nœud d’un bus
CAN. On dispose ainsi d’un monitoring bus (vérification du bit émis sur le bus), d’un CRC (Cyclic
Redundancy Check), d’une procédure de contrôle de l’architecture du message et d’une méthode de
Bit-Stuffing.
Concepts :
La transmission des données dans le bus
CAN
 Méthode de Bit-Stuffing : 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
 Remarque : Cette technique s’applique sur les bits depuis le Start of Frame jusqu'à la séquence de
CRC (délimiteur exclu) de la trame.
La trame CAN – Trame de données
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 15 bits de CRC
I
D
E
A
C
K
Fin de frame 3
Début de trame
Champ d’arbitrage
Champ de commande
Champ de données
Champ de CRC
Champ de ACK
Fin de trame
Intermission
CAN 2.0 A
 Chaque nœud peut envoyer des trames de données à intervalles réguliers.
La trame CAN – Trame de données
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 15 bits de CRC
I
D
E
A
C
K
Fin de frame
 1 bit de début de trame (Start Of Frame, SOF).
 Début d’échange après repos du bus.
 Tous les nœuds doivent se synchroniser sur le flan avant la transition du bit de départ.
La trame CAN – Trame de données
11 bits
Arbitration ID
R
T
R
S
R
R
CAN 2.0 A
11 bits
Arbitration ID
I
D
E
18 bits
Arbitration ID
R
T
R
CAN 2.0 B
 le champ d’arbitrage : 11 bits (ID) + 1 bit (RTR) en standard et, 29 bits (ID) +
2 bits (SRR/IDE) + 1 bit (RTR) en etendue.
La signification de certains bits :
• RTR : Remote Transmission Request bit,
• SRR : Subsitute Remote Request bit,
• IDE : Identifier Extension bit.
Le bit RTR (Remote Transmission Request) permet de
déterminer le type de trame :
• RTR = état dominant : trame de données
• RTR = état récessif : trame de requête
La trame CAN – Trame de données
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 15 bits de CRC
A
C
K
Fin de trame
 Champ de commande : 6 bits.
 Bits de réserve : 2 bits permettent d’assurer de futures compatibilités ascendantes (notamment avec
CAN 2.0 B).
 DLC (Data Length Code) : 4 bits Nombre de données contenues dans le champ de données.
La trame CAN – Trame de données
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 15 bits de CRC
I
D
E
A
C
K
Fin de trame
 Champ de données : 0 à 64 bits :
 Les données transmises (e.g., Valeurs de capteur ).
 Minimum : 0 octets.
 Maximum : 8 octets.
 Transmis avec le bit de poids fort en tête.
La trame CAN – Trame de données
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 16 bits de CRC
I
D
E
A
C
K
Fin de trame
 Champ de CRC : 16 bits.
 Cyclic Redudency Code : Code à Redodance Cyclique.
 Séquence CRC : 15 bits.
 Délimiteur CRC : 1 bits.
La trame CAN – Trame de données
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 15 bits de CRC
I
D
E
A
C
K
Fin de trame
 Champ d’acquittement : 2 bits.
 ACK slot : À chaque fois qu’un récepteur a correctement reçu
un message valide, il superpose lors du time slot du ACK slot
(récessif) un bit dominant.
 ACK delimiter : Doit toujours être récessif : lorsqu’un message
a été correctement reçu, le bit ACK slot (dominant) est entouré
par deux bits récessifs (CRC delimiter et ACK delimiter).
La trame CAN – Trame de données
 Fin de trame : 7 bits
 Séquence de 7 bits récessifs successifs
 Structure fixe : les logiques de stuffing et de destuffing doivent être désactivés pendant la
séquence de fin de trame
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 15 bits de CRC
I
D
E
A
C
K
Fin de trame
La trame CAN – Trame de données
 Espace intertrame : 3 bits
 3 bits récessifs
 Aucun nœud n’est autorisé à démarrer la transmission de la trame de données ou de la trame
de requête.
 Une seule action permise :
 signaler une condition de surcharge (overload)
S
O
F
11 bits
Arbitration ID
R
T
R
DLC 0-8 data bytes 15 bits de CRC
I
D
E
A
C
K
Fin de trame
La trame CAN – Trame de requête
S
O
F
Arbitration ID
R
T
R
DLC CRC
I
D
E
A
C
K
Fin de frame
 Demande d’information à un autre nœud.
Id du nœud cible. Pas de champ de
données
La trame CAN – Trame de surcharge
 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 Flag) 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).
La trame CAN – Trame d’erreur
S
O
F
CAN ID
R
T
R
DLC Data CRC
AC
K
Fin de frame
 Bit ACK slot dominant : absence d’erreur.
 Bit ACK Slot récessif : le nœud qui détecte une erreur doit émettre une trame
d’erreur pour prévenir l’émetteur qu’une erreur a été détectée.
La trame CAN – Trame d’erreur
 Le CAN implémente cinq mécanismes de détection des erreurs, 2 au niveau bits (le
”bit monitoring” et le ”bit stuffing”).
 3 au niveau messages (vérification du CRC, de la forme des trames et de
l’acquittement).
La trame CAN – Trame d’erreur
 Ces cinq types d’erreurs différents qui peuvent être détectée par un nœud sont:
 Bit error: Un noeud 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, à l’exception
de l’envoi d’un bit récessif durant l’arbitrage (cas de la perte d’arbitrage) ou pendant le ACK Slot (trame
acquittée).
 Stuff error: Le noeud 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é avec la méthode du bit stuffing.
 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.
 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).
 ACK error: Le transmetteur détecte une erreur d’acquittement lorsqu’il ne reçoit pas de bit dominant pendant
le ACK Slot.
La trame CAN – Trame d’erreur
La trame CAN – Trame d’erreur
 Le contrôle de redondance cyclique (Cyclic Redundancy Check ou CRC) est un mécanisme de contrôle
d’intégrité des données puissant mais aussi facile à mettre en œuvre.
 La plupart des systèmes de contrôle d'erreur au niveau logique sont basés sur un ajout d'information
(on parle de « redondance ») permettant de vérifier la validité des données. On appelle somme de
contrôle (en anglais checksum) cette information supplémentaire
 Avec ce mécanisme, on définit un polynôme (appelé polynôme générateur noté G(x)) connu à la fois
de l’émetteur et du récepteur. On utilise un algorithme sur les bits de la trame pour générer un CRC
qui est transmis au récepteur. Il suffit alors au récepteur d’utiliser le polynôme G(x) pour générer un
CRC à partir de la trame reçue et le comparer au CRC contenu dans la trame afin de vérifier sa validité.
La trame CAN – Trame d’erreur
 Une trame d’erreur est constituée de deux parties : La première est formée par la superposition des
différents ”Error flags” mis par les noeuds du bus. La seconde partie est un délimiteur.
 Tout nœud qui détecte une erreur la signale par la transmission d’un Error flag. Un Error flag est composé de
6 bits dominants consécutifs violant ainsi la règle du bit stuffing.
 Ainsi, tous les autres noeuds détectent aussi une erreur et commencent à envoyer un Error flag. La séquence
de bits dominants qui existe alors sur le bus est le résultat de la superposition de plusieurs Error flags, et sa
longueur varie entre 6 et 12 bits.
La trame CAN – Trame d’erreur
 Il existe deux types de trames d’erreurs :
Active error flag : 6 bits dominants consécutifs. Passive error flag : 6 bits récessifs consécutifs, jusqu’à ce
qu’ils soient écrasés par des bits dominants.
L’Error delimiter est composé de 8 bits récessifs. En fait, après avoir transmis son Error flag, chaque noeuds envoie des bits
récessifs et observe le bus jusqu’à ce qu’il détecte un bit récessif, après quoi il envoie encore 7 bits récessifs supplémentaires.
La trame CAN – Trame d’erreur
 Le confinement des erreurs est un mécanisme qui permet de différencier les erreurs
temporaires des erreurs permanentes :
 Les erreurs temporaires peuvent être causées par des bugs occasionnels.
 Les erreurs permanentes peuvent être due à de mauvaises connections ou à des
composants qui sont défaillants. Le système en place permet ainsi de mettre hors
communication un nœud défaillant qui sinon aurait pu perturber les autres nœuds.
La trame CAN – Trame d’erreur
 Un nœud en mode d’erreur actif (error-active) peut
entrer en communication avec les nœuds du bus. Il
transmettra un Active error flag s’il détecte une
condition d’erreur.
 Un nœud en mode d’erreur passif (error-passive) peut
entrer en communication avec les nœuds du bus, mais
s’il détecte une condition d’erreur sur le bus, il
transmettra un Passive error flag. Ce mode indique un
nœud à problèmes.
 Un nœud en mode bus-off n’est pas autorisé à avoir
une quelconque influence sur le bus.
La trame CAN – Trame d’erreur
 Deux compteurs d’erreurs sont implémentés dans chaque
noeud : celui des erreurs en transmission (Transmit error
count) et celui des erreurs en réception (Receive error count) :
 Lorsqu’un récepteur détecte une erreur, son compteur
des erreurs en réception est augmenté de 1.
 Lorsqu’un transmetteur envoie un Error flag, son
compteur d’erreurs en transmission est augmenté de 8.
 Après une transmission réussie, compteur d’erreurs en
transmission est diminué de 1.
 Après une réception réussie, le compteur des erreurs en
réception est diminué de 1.
L’arbitrage dans le protocole CAN
 Le Bus CAN ne dispose pas de maitre et permet n’importe quel nœud dans le réseau de faire
du broadcasting dans le réseau.
 Il est impératif ainsi de régler les conflits d’accès.
 Le concept d’arbitrage permet de régler cette problématique bit à bit de façon not destructif
sur la base de l’identifiant d’arbitrage.
 Grace au concept de bit récessif et dominant, on garantit un arbitrage sans perte
d’information et de temps.
L’arbitrage dans le protocole CAN

Contenu connexe

Tendances

chap1 transmission-generalités
chap1 transmission-generalitéschap1 transmission-generalités
chap1 transmission-generalités
BAKKOURY Jamila
 
Methodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxMethodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locaux
Ines Kechiche
 
(protocoles)
(protocoles)(protocoles)
(protocoles)
Anouar Abtoy
 
Conversion numérique analogique
Conversion numérique analogiqueConversion numérique analogique
Conversion numérique analogiqueN NASRI
 
Chapitre 2 - Transmission
Chapitre 2  - TransmissionChapitre 2  - Transmission
Chapitre 2 - Transmission
Tarik Zakaria Benmerar
 
Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabhamdinho
 
CAN- controlled area network
CAN- controlled area networkCAN- controlled area network
CAN- controlled area network
Pantech ProLabs India Pvt Ltd
 
Chap2 physique
Chap2 physiqueChap2 physique
Chap2 physiqueEns Kouba
 
Automates Programmables Industriels (API).pdf
Automates Programmables Industriels (API).pdfAutomates Programmables Industriels (API).pdf
Automates Programmables Industriels (API).pdf
MENNANIZinedine
 
Travaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxTravaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseaux
Ines Kechiche
 
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Ayoub Rouzi
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
ECAM Brussels Engineering School
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
chap4 codes-en-ligne
chap4 codes-en-lignechap4 codes-en-ligne
chap4 codes-en-ligne
BAKKOURY Jamila
 
Diaporamas-Réseaux Informatiques.pdf
Diaporamas-Réseaux Informatiques.pdfDiaporamas-Réseaux Informatiques.pdf
Diaporamas-Réseaux Informatiques.pdf
EST-UMI de Meknès
 
Langage vhdl
Langage vhdlLangage vhdl
Langage vhdl
Peronnin Eric
 
cours transmission numerique.pdf
cours transmission numerique.pdfcours transmission numerique.pdf
cours transmission numerique.pdf
HassnTAI
 
Cours its-ecn-2020
Cours its-ecn-2020Cours its-ecn-2020
Cours its-ecn-2020
Guillaume Costeseque
 
Exposer reseaux haut débit
Exposer reseaux haut débitExposer reseaux haut débit
Exposer reseaux haut débit
ABDELKADER ABDOKABOUYA
 
Control Area Network
Control Area NetworkControl Area Network
Control Area Network
venkat thangella
 

Tendances (20)

chap1 transmission-generalités
chap1 transmission-generalitéschap1 transmission-generalités
chap1 transmission-generalités
 
Methodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxMethodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locaux
 
(protocoles)
(protocoles)(protocoles)
(protocoles)
 
Conversion numérique analogique
Conversion numérique analogiqueConversion numérique analogique
Conversion numérique analogique
 
Chapitre 2 - Transmission
Chapitre 2  - TransmissionChapitre 2  - Transmission
Chapitre 2 - Transmission
 
Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlab
 
CAN- controlled area network
CAN- controlled area networkCAN- controlled area network
CAN- controlled area network
 
Chap2 physique
Chap2 physiqueChap2 physique
Chap2 physique
 
Automates Programmables Industriels (API).pdf
Automates Programmables Industriels (API).pdfAutomates Programmables Industriels (API).pdf
Automates Programmables Industriels (API).pdf
 
Travaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxTravaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseaux
 
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
chap4 codes-en-ligne
chap4 codes-en-lignechap4 codes-en-ligne
chap4 codes-en-ligne
 
Diaporamas-Réseaux Informatiques.pdf
Diaporamas-Réseaux Informatiques.pdfDiaporamas-Réseaux Informatiques.pdf
Diaporamas-Réseaux Informatiques.pdf
 
Langage vhdl
Langage vhdlLangage vhdl
Langage vhdl
 
cours transmission numerique.pdf
cours transmission numerique.pdfcours transmission numerique.pdf
cours transmission numerique.pdf
 
Cours its-ecn-2020
Cours its-ecn-2020Cours its-ecn-2020
Cours its-ecn-2020
 
Exposer reseaux haut débit
Exposer reseaux haut débitExposer reseaux haut débit
Exposer reseaux haut débit
 
Control Area Network
Control Area NetworkControl Area Network
Control Area Network
 

Similaire à Chapitre 3 - Protocole Bus CAN (2020/2021

formation_captronic_lyon.pdf
formation_captronic_lyon.pdfformation_captronic_lyon.pdf
formation_captronic_lyon.pdf
OukrimMohamed
 
CAN
CANCAN
FR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdfFR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdf
mouradslilem1
 
Cours reseaux lan
Cours reseaux lanCours reseaux lan
Cours reseaux lan
sarah Benmerzouk
 
le calculateur BSI dans l'automobile
le calculateur BSI dans     l'automobilele calculateur BSI dans     l'automobile
le calculateur BSI dans l'automobile
arnaudmuler
 
Chapitre 6 - couche transport
Chapitre 6  - couche transportChapitre 6  - couche transport
Chapitre 6 - couche transport
Tarik Zakaria Benmerar
 
Arm 4 canaux-logiques_2006-fva[1]
Arm 4 canaux-logiques_2006-fva[1]Arm 4 canaux-logiques_2006-fva[1]
Arm 4 canaux-logiques_2006-fva[1]
elthier
 
11861939.ppt
11861939.ppt11861939.ppt
11861939.ppt
moh2020
 
Atm
AtmAtm
Les trames reseaux
Les trames reseauxLes trames reseaux
Les trames reseaux
Laurent_Macecchini
 
chapitre1-introduction-201224111230.pdf
chapitre1-introduction-201224111230.pdfchapitre1-introduction-201224111230.pdf
chapitre1-introduction-201224111230.pdf
hadda belhadj
 
Rapport W-CDMA Coding & Multiplexing
Rapport W-CDMA  Coding & MultiplexingRapport W-CDMA  Coding & Multiplexing
Rapport W-CDMA Coding & MultiplexingAnouar Loukili
 
Réglage d'un site 2G
Réglage d'un site 2G Réglage d'un site 2G
Réglage d'un site 2G
kawtar dziri
 
Chapitre 4 - couche liaison
Chapitre 4 - couche liaisonChapitre 4 - couche liaison
Chapitre 4 - couche liaison
Tarik Zakaria Benmerar
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
Anouar Loukili
 
chapitre1-introduction-201224111230.pptx
chapitre1-introduction-201224111230.pptxchapitre1-introduction-201224111230.pptx
chapitre1-introduction-201224111230.pptx
MerazgaAmmar1
 
SoC Hamdi -chap4
SoC Hamdi -chap4SoC Hamdi -chap4
SoC Hamdi -chap4
mustapha hamdi
 

Similaire à Chapitre 3 - Protocole Bus CAN (2020/2021 (20)

formation_captronic_lyon.pdf
formation_captronic_lyon.pdfformation_captronic_lyon.pdf
formation_captronic_lyon.pdf
 
CAN
CANCAN
CAN
 
FR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdfFR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdf
 
Cours reseaux lan
Cours reseaux lanCours reseaux lan
Cours reseaux lan
 
le calculateur BSI dans l'automobile
le calculateur BSI dans     l'automobilele calculateur BSI dans     l'automobile
le calculateur BSI dans l'automobile
 
Chapitre 6 - couche transport
Chapitre 6  - couche transportChapitre 6  - couche transport
Chapitre 6 - couche transport
 
Arm 4 canaux-logiques_2006-fva[1]
Arm 4 canaux-logiques_2006-fva[1]Arm 4 canaux-logiques_2006-fva[1]
Arm 4 canaux-logiques_2006-fva[1]
 
11861939.ppt
11861939.ppt11861939.ppt
11861939.ppt
 
Atm
AtmAtm
Atm
 
Les trames reseaux
Les trames reseauxLes trames reseaux
Les trames reseaux
 
Atelier i2 c
Atelier  i2 cAtelier  i2 c
Atelier i2 c
 
chapitre1-introduction-201224111230.pdf
chapitre1-introduction-201224111230.pdfchapitre1-introduction-201224111230.pdf
chapitre1-introduction-201224111230.pdf
 
Hdlc
HdlcHdlc
Hdlc
 
Rapport W-CDMA Coding & Multiplexing
Rapport W-CDMA  Coding & MultiplexingRapport W-CDMA  Coding & Multiplexing
Rapport W-CDMA Coding & Multiplexing
 
Réglage d'un site 2G
Réglage d'un site 2G Réglage d'un site 2G
Réglage d'un site 2G
 
Chapitre 4 - couche liaison
Chapitre 4 - couche liaisonChapitre 4 - couche liaison
Chapitre 4 - couche liaison
 
Td2 rtel-atm-1011
Td2 rtel-atm-1011Td2 rtel-atm-1011
Td2 rtel-atm-1011
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
 
chapitre1-introduction-201224111230.pptx
chapitre1-introduction-201224111230.pptxchapitre1-introduction-201224111230.pptx
chapitre1-introduction-201224111230.pptx
 
SoC Hamdi -chap4
SoC Hamdi -chap4SoC Hamdi -chap4
SoC Hamdi -chap4
 

Plus de Tarik Zakaria Benmerar

Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusVideostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Tarik Zakaria Benmerar
 
Chapitre 8 - les entrées - sorties
Chapitre 8  - les entrées - sortiesChapitre 8  - les entrées - sorties
Chapitre 8 - les entrées - sorties
Tarik Zakaria Benmerar
 
Cyber pink - Time Management
Cyber pink -  Time Management Cyber pink -  Time Management
Cyber pink - Time Management
Tarik Zakaria Benmerar
 
Chapitre 5 - couche réseaux
Chapitre 5 - couche réseauxChapitre 5 - couche réseaux
Chapitre 5 - couche réseaux
Tarik Zakaria Benmerar
 
Chapitre 3 - connecteurs et câbles
Chapitre 3 -   connecteurs et câblesChapitre 3 -   connecteurs et câbles
Chapitre 3 - connecteurs et câbles
Tarik Zakaria Benmerar
 
Chapitre 1 - notions fondamentales
Chapitre 1 -  notions fondamentalesChapitre 1 -  notions fondamentales
Chapitre 1 - notions fondamentales
Tarik Zakaria Benmerar
 
Chapitre 9 - les interruptions
Chapitre 9 -  les interruptionsChapitre 9 -  les interruptions
Chapitre 9 - les interruptions
Tarik Zakaria Benmerar
 
Chapitre 7 - la pile
Chapitre 7 -  la pileChapitre 7 -  la pile
Chapitre 7 - la pile
Tarik Zakaria Benmerar
 
Chapitre 6 - les instructions de chaînes de caractères
Chapitre 6  - les instructions de chaînes de caractèresChapitre 6  - les instructions de chaînes de caractères
Chapitre 6 - les instructions de chaînes de caractères
Tarik Zakaria Benmerar
 
Chapitre 5 - fichiers EXE-COM pour le dos
Chapitre 5 -  fichiers EXE-COM pour le dosChapitre 5 -  fichiers EXE-COM pour le dos
Chapitre 5 - fichiers EXE-COM pour le dos
Tarik Zakaria Benmerar
 
Chapitre 4 - les instructions de saut et conditions
Chapitre 4  - les instructions de saut et conditionsChapitre 4  - les instructions de saut et conditions
Chapitre 4 - les instructions de saut et conditions
Tarik Zakaria Benmerar
 
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
Chapitre 3  - échanges de données et opérations arithmétiques - binairesChapitre 3  - échanges de données et opérations arithmétiques - binaires
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
Tarik Zakaria Benmerar
 
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Tarik Zakaria Benmerar
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Tarik Zakaria Benmerar
 
Chapitre 1 - représentation numérique des données
Chapitre 1  - représentation numérique des donnéesChapitre 1  - représentation numérique des données
Chapitre 1 - représentation numérique des données
Tarik Zakaria Benmerar
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)
Tarik Zakaria Benmerar
 
Chapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux EthernetChapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux Ethernet
Tarik Zakaria Benmerar
 
Chapitre 3 - Commutation dans les LANs
Chapitre 3 - Commutation dans les LANsChapitre 3 - Commutation dans les LANs
Chapitre 3 - Commutation dans les LANs
Tarik Zakaria Benmerar
 
Chapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locauxChapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locaux
Tarik Zakaria Benmerar
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Tarik Zakaria Benmerar
 

Plus de Tarik Zakaria Benmerar (20)

Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plusVideostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
Videostreaming et visioconference pour le Web - Evènement GDSC USTHB Tech plus
 
Chapitre 8 - les entrées - sorties
Chapitre 8  - les entrées - sortiesChapitre 8  - les entrées - sorties
Chapitre 8 - les entrées - sorties
 
Cyber pink - Time Management
Cyber pink -  Time Management Cyber pink -  Time Management
Cyber pink - Time Management
 
Chapitre 5 - couche réseaux
Chapitre 5 - couche réseauxChapitre 5 - couche réseaux
Chapitre 5 - couche réseaux
 
Chapitre 3 - connecteurs et câbles
Chapitre 3 -   connecteurs et câblesChapitre 3 -   connecteurs et câbles
Chapitre 3 - connecteurs et câbles
 
Chapitre 1 - notions fondamentales
Chapitre 1 -  notions fondamentalesChapitre 1 -  notions fondamentales
Chapitre 1 - notions fondamentales
 
Chapitre 9 - les interruptions
Chapitre 9 -  les interruptionsChapitre 9 -  les interruptions
Chapitre 9 - les interruptions
 
Chapitre 7 - la pile
Chapitre 7 -  la pileChapitre 7 -  la pile
Chapitre 7 - la pile
 
Chapitre 6 - les instructions de chaînes de caractères
Chapitre 6  - les instructions de chaînes de caractèresChapitre 6  - les instructions de chaînes de caractères
Chapitre 6 - les instructions de chaînes de caractères
 
Chapitre 5 - fichiers EXE-COM pour le dos
Chapitre 5 -  fichiers EXE-COM pour le dosChapitre 5 -  fichiers EXE-COM pour le dos
Chapitre 5 - fichiers EXE-COM pour le dos
 
Chapitre 4 - les instructions de saut et conditions
Chapitre 4  - les instructions de saut et conditionsChapitre 4  - les instructions de saut et conditions
Chapitre 4 - les instructions de saut et conditions
 
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
Chapitre 3  - échanges de données et opérations arithmétiques - binairesChapitre 3  - échanges de données et opérations arithmétiques - binaires
Chapitre 3 - échanges de données et opérations arithmétiques - binaires
 
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
Chapitre 2.2 - architecture d'un microprocesseur - jeux d'instructions et reg...
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
 
Chapitre 1 - représentation numérique des données
Chapitre 1  - représentation numérique des donnéesChapitre 1  - représentation numérique des données
Chapitre 1 - représentation numérique des données
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)
 
Chapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux EthernetChapitre 4 - Réseaux Ethernet
Chapitre 4 - Réseaux Ethernet
 
Chapitre 3 - Commutation dans les LANs
Chapitre 3 - Commutation dans les LANsChapitre 3 - Commutation dans les LANs
Chapitre 3 - Commutation dans les LANs
 
Chapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locauxChapitre 2 - Réseaux locaux
Chapitre 2 - Réseaux locaux
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IP
 

Chapitre 3 - Protocole Bus CAN (2020/2021

  • 1. Bus de terrain – Bus CAN TARIK ZAKARIA BENMERAR, PHD DEPARTEMENT INSTRUMENTATION ET AUTOMATIQUE, USTHB
  • 2. Introduction - Historique  Origines : besoin du monde automobile.  Concept Robert Bosch Gmbh et université de Wolfenbüttel (1983).  Réalisation sur silicium par Intel (1985).  Première voiture équipée CAN (1991).  Création de CAN in Automation (CiA) en 1992.
  • 3. Introduction - Evolution du câblages dans l’automobile
  • 4. Introduction - Evolution du câblages dans l’automobile
  • 5. Introduction - Evolution du câblages dans l’automobile
  • 6. Introduction - Evolution du câblages dans l’automobile
  • 7. Introduction – Les avantages de CAN  Le protocole CAN (Control Area Network) est un protocole de communication série qui supporte des systèmes temps réel avec un haut niveau de fiabilité :  Souplesse de configuration.  Fonctionnement multi-maître.  Détections et signalisations d’erreurs.  Retransmission automatique des messages altérés.  Déconnexion automatique des nœuds défectueux.
  • 8. Bus CAN et OSI La norme CAN spécifie les couches Physique et Liaison de données uniquement. D’autres protocoles (devicenet, canopen, ..) spécifient les couches hautes.
  • 9. La transmission des données dans le bus CAN
  • 10. La transmission des données dans le bus CAN Chaque nœud est connecté au bus par l'intermédiaire d'une paire torsadée (blindée ou non). Paire torsadée (blindée ou pas) 2 fils de cuivre isolés de section 0.6 mm2
  • 11. La transmission des données dans le bus CAN CAN L CAN H Paire filaire CAN Low CAN High
  • 12. La transmission des données dans le bus CAN Dominant Récessif CAN - H CAN - L Temps Tension (V) 5,0 3,6 2,5 1,4 0,0 2,2V 5,0V CAN - H CAN - L Rx Tx 120 5V Le CAN low speed (max. 125kbits/s) La différence de tension entre les deux états est grande
  • 13. La transmission des données dans le bus CAN Le CAN high speed (max. 1Mbits/s sur 40m) La différence de tension entre les deux états est faible Dominant Récessif CAN - H CAN - L Temps Tension (V) 3,5 2,5 1,5 2,0V CAN - H CAN - L Rx Tx 50 k 50 k 120 Bias. 2,5V 5V
  • 14. La transmission des données dans le bus CAN  Le bus peut avoir l’une des deux valeurs logiques complémentaires définies.  Ils sont sous la forme de bit nommé dominant (Bit à 0) ou récessif (Bit à 1).
  • 15. La transmission des données dans le bus CAN CAN est un bus de données série bidirectionnel half-duplex dans le domaine automobile, Pour un bus de données CAN « basse vitesse », le nombre de nœuds est limité à 20. Pour un bus de données CAN « haute vitesse », il est limité à 30.
  • 16. La transmission des données dans le bus CAN  Message : Chaque information est véhiculée sur le bus à l’aide d’un message (trame de bits) de format défini mais de longueur variable et limitée. Dès que le bus est libre, n’importe quel nœud relié au réseau peut émettre un nouveau message.  Canal de liaison simple : Le bus consiste en un simple canal bidirectionnel qui transporte les bits. A partir des données transportées, il est possible de récupérer des informations de resynchronisation.  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.  Arbitrage : En absence d’un hôte, il est impératif de régler les conflits d’accès au bus de communication.  Sécurité de transmission : Garantir la plus grande sécurité lors de transferts sur le bus. Des dispositifs de signalisation, de détection d’erreurs, et d’autotests ont été implémentés sur chaque nœud d’un bus CAN. On dispose ainsi d’un monitoring bus (vérification du bit émis sur le bus), d’un CRC (Cyclic Redundancy Check), d’une procédure de contrôle de l’architecture du message et d’une méthode de Bit-Stuffing. Concepts :
  • 17. La transmission des données dans le bus CAN  Méthode de Bit-Stuffing : 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  Remarque : Cette technique s’applique sur les bits depuis le Start of Frame jusqu'à la séquence de CRC (délimiteur exclu) de la trame.
  • 18. La trame CAN – Trame de données S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 15 bits de CRC I D E A C K Fin de frame 3 Début de trame Champ d’arbitrage Champ de commande Champ de données Champ de CRC Champ de ACK Fin de trame Intermission CAN 2.0 A  Chaque nœud peut envoyer des trames de données à intervalles réguliers.
  • 19. La trame CAN – Trame de données S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 15 bits de CRC I D E A C K Fin de frame  1 bit de début de trame (Start Of Frame, SOF).  Début d’échange après repos du bus.  Tous les nœuds doivent se synchroniser sur le flan avant la transition du bit de départ.
  • 20. La trame CAN – Trame de données 11 bits Arbitration ID R T R S R R CAN 2.0 A 11 bits Arbitration ID I D E 18 bits Arbitration ID R T R CAN 2.0 B  le champ d’arbitrage : 11 bits (ID) + 1 bit (RTR) en standard et, 29 bits (ID) + 2 bits (SRR/IDE) + 1 bit (RTR) en etendue. La signification de certains bits : • RTR : Remote Transmission Request bit, • SRR : Subsitute Remote Request bit, • IDE : Identifier Extension bit. Le bit RTR (Remote Transmission Request) permet de déterminer le type de trame : • RTR = état dominant : trame de données • RTR = état récessif : trame de requête
  • 21. La trame CAN – Trame de données S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 15 bits de CRC A C K Fin de trame  Champ de commande : 6 bits.  Bits de réserve : 2 bits permettent d’assurer de futures compatibilités ascendantes (notamment avec CAN 2.0 B).  DLC (Data Length Code) : 4 bits Nombre de données contenues dans le champ de données.
  • 22. La trame CAN – Trame de données S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 15 bits de CRC I D E A C K Fin de trame  Champ de données : 0 à 64 bits :  Les données transmises (e.g., Valeurs de capteur ).  Minimum : 0 octets.  Maximum : 8 octets.  Transmis avec le bit de poids fort en tête.
  • 23. La trame CAN – Trame de données S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 16 bits de CRC I D E A C K Fin de trame  Champ de CRC : 16 bits.  Cyclic Redudency Code : Code à Redodance Cyclique.  Séquence CRC : 15 bits.  Délimiteur CRC : 1 bits.
  • 24. La trame CAN – Trame de données S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 15 bits de CRC I D E A C K Fin de trame  Champ d’acquittement : 2 bits.  ACK slot : À chaque fois qu’un récepteur a correctement reçu un message valide, il superpose lors du time slot du ACK slot (récessif) un bit dominant.  ACK delimiter : Doit toujours être récessif : lorsqu’un message a été correctement reçu, le bit ACK slot (dominant) est entouré par deux bits récessifs (CRC delimiter et ACK delimiter).
  • 25. La trame CAN – Trame de données  Fin de trame : 7 bits  Séquence de 7 bits récessifs successifs  Structure fixe : les logiques de stuffing et de destuffing doivent être désactivés pendant la séquence de fin de trame S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 15 bits de CRC I D E A C K Fin de trame
  • 26. La trame CAN – Trame de données  Espace intertrame : 3 bits  3 bits récessifs  Aucun nœud n’est autorisé à démarrer la transmission de la trame de données ou de la trame de requête.  Une seule action permise :  signaler une condition de surcharge (overload) S O F 11 bits Arbitration ID R T R DLC 0-8 data bytes 15 bits de CRC I D E A C K Fin de trame
  • 27. La trame CAN – Trame de requête S O F Arbitration ID R T R DLC CRC I D E A C K Fin de frame  Demande d’information à un autre nœud. Id du nœud cible. Pas de champ de données
  • 28. La trame CAN – Trame de surcharge  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 Flag) 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).
  • 29. La trame CAN – Trame d’erreur S O F CAN ID R T R DLC Data CRC AC K Fin de frame  Bit ACK slot dominant : absence d’erreur.  Bit ACK Slot récessif : le nœud qui détecte une erreur doit émettre une trame d’erreur pour prévenir l’émetteur qu’une erreur a été détectée.
  • 30. La trame CAN – Trame d’erreur  Le CAN implémente cinq mécanismes de détection des erreurs, 2 au niveau bits (le ”bit monitoring” et le ”bit stuffing”).  3 au niveau messages (vérification du CRC, de la forme des trames et de l’acquittement).
  • 31. La trame CAN – Trame d’erreur  Ces cinq types d’erreurs différents qui peuvent être détectée par un nœud sont:  Bit error: Un noeud 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, à l’exception de l’envoi d’un bit récessif durant l’arbitrage (cas de la perte d’arbitrage) ou pendant le ACK Slot (trame acquittée).  Stuff error: Le noeud 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é avec la méthode du bit stuffing.  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.  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).  ACK error: Le transmetteur détecte une erreur d’acquittement lorsqu’il ne reçoit pas de bit dominant pendant le ACK Slot.
  • 32. La trame CAN – Trame d’erreur
  • 33. La trame CAN – Trame d’erreur  Le contrôle de redondance cyclique (Cyclic Redundancy Check ou CRC) est un mécanisme de contrôle d’intégrité des données puissant mais aussi facile à mettre en œuvre.  La plupart des systèmes de contrôle d'erreur au niveau logique sont basés sur un ajout d'information (on parle de « redondance ») permettant de vérifier la validité des données. On appelle somme de contrôle (en anglais checksum) cette information supplémentaire  Avec ce mécanisme, on définit un polynôme (appelé polynôme générateur noté G(x)) connu à la fois de l’émetteur et du récepteur. On utilise un algorithme sur les bits de la trame pour générer un CRC qui est transmis au récepteur. Il suffit alors au récepteur d’utiliser le polynôme G(x) pour générer un CRC à partir de la trame reçue et le comparer au CRC contenu dans la trame afin de vérifier sa validité.
  • 34. La trame CAN – Trame d’erreur  Une trame d’erreur est constituée de deux parties : La première est formée par la superposition des différents ”Error flags” mis par les noeuds du bus. La seconde partie est un délimiteur.  Tout nœud qui détecte une erreur la signale par la transmission d’un Error flag. Un Error flag est composé de 6 bits dominants consécutifs violant ainsi la règle du bit stuffing.  Ainsi, tous les autres noeuds détectent aussi une erreur et commencent à envoyer un Error flag. La séquence de bits dominants qui existe alors sur le bus est le résultat de la superposition de plusieurs Error flags, et sa longueur varie entre 6 et 12 bits.
  • 35. La trame CAN – Trame d’erreur  Il existe deux types de trames d’erreurs : Active error flag : 6 bits dominants consécutifs. Passive error flag : 6 bits récessifs consécutifs, jusqu’à ce qu’ils soient écrasés par des bits dominants. L’Error delimiter est composé de 8 bits récessifs. En fait, après avoir transmis son Error flag, chaque noeuds envoie des bits récessifs et observe le bus jusqu’à ce qu’il détecte un bit récessif, après quoi il envoie encore 7 bits récessifs supplémentaires.
  • 36. La trame CAN – Trame d’erreur  Le confinement des erreurs est un mécanisme qui permet de différencier les erreurs temporaires des erreurs permanentes :  Les erreurs temporaires peuvent être causées par des bugs occasionnels.  Les erreurs permanentes peuvent être due à de mauvaises connections ou à des composants qui sont défaillants. Le système en place permet ainsi de mettre hors communication un nœud défaillant qui sinon aurait pu perturber les autres nœuds.
  • 37. La trame CAN – Trame d’erreur  Un nœud en mode d’erreur actif (error-active) peut entrer en communication avec les nœuds du bus. Il transmettra un Active error flag s’il détecte une condition d’erreur.  Un nœud en mode d’erreur passif (error-passive) peut entrer en communication avec les nœuds du bus, mais s’il détecte une condition d’erreur sur le bus, il transmettra un Passive error flag. Ce mode indique un nœud à problèmes.  Un nœud en mode bus-off n’est pas autorisé à avoir une quelconque influence sur le bus.
  • 38. La trame CAN – Trame d’erreur  Deux compteurs d’erreurs sont implémentés dans chaque noeud : celui des erreurs en transmission (Transmit error count) et celui des erreurs en réception (Receive error count) :  Lorsqu’un récepteur détecte une erreur, son compteur des erreurs en réception est augmenté de 1.  Lorsqu’un transmetteur envoie un Error flag, son compteur d’erreurs en transmission est augmenté de 8.  Après une transmission réussie, compteur d’erreurs en transmission est diminué de 1.  Après une réception réussie, le compteur des erreurs en réception est diminué de 1.
  • 39. L’arbitrage dans le protocole CAN  Le Bus CAN ne dispose pas de maitre et permet n’importe quel nœud dans le réseau de faire du broadcasting dans le réseau.  Il est impératif ainsi de régler les conflits d’accès.  Le concept d’arbitrage permet de régler cette problématique bit à bit de façon not destructif sur la base de l’identifiant d’arbitrage.  Grace au concept de bit récessif et dominant, on garantit un arbitrage sans perte d’information et de temps.
  • 40. L’arbitrage dans le protocole CAN

Notes de l'éditeur

  1. En pratique, dans un même véhicule, plusieurs réseaux "multiplexés" vont cohabiter et à des débits différents : -- un réseau carrosserie (optiques, rétroviseurs, vitres, …) (faible débit : 32,5 à 62,5 kB/s, peu d’informations, composants faible coût, temps de réponse demandé 100ms) -- un réseau inter systèmes(ASR, ABS, …) (débit moyen : 125 à 500 kB/s, peu d’informations, temps de réponse demandé 10ms) ; -- un réseau confort (auto-radio, climatisation, système de navigation…) (débit moyen : 125 à 1MB/s, grande quantité d’informations, temps de réponse faible 500ms) ; -- un réseau diagnostic (appelé aussi liaison K) (débit faible : 10kB/s, grande quantité d’informations, temps de réponse de l’ordre de la seconde);