Beruflich Dokumente
Kultur Dokumente
LE BUS CAN
Introduction
Bus/réseau de terrain
Ivan FRANCOIS 1
Le bus CAN
Climatisation Sièges
Contrôle électriques
suspensions
moteur
ABS
Vitres
Boite de
électriques
vitesse Phares
Ivan FRANCOIS 2
Le bus CAN
ABS Boite de
Vitres
vitesse Phares
électriques
Couches OSI
Open System Interconnection
APPLICATION
PRESENTATION
Le bus CAN ne concerne SESSION
que les couches basses:
TRANSPORT
– Couche physique
RESEAU
– Couche liaison de données
LIAISON
PHYSIQUE
Ivan FRANCOIS 3
Le bus CAN
Couches OSI
COUCHE LIAISON
LLC ( Logic Link Control ) MAC ( Medium Access Control )
Filtrage d'acceptance des messages Encapsulation/Décapsulation des données
Notification de sucharge ( overload ) Codage de trame ( Stuffing/Destuffing )
Recouvrement des erreurs Medium Access Management
Détection d'erreur
Signalisation d'erreur
Acquittement
Sérialisation/Désérialisation
COUCHE PHYSIQUE
PLS ( Physical Signalling ) PMA ( Physical Medium MDI ( Medium Dependent
Codage/Décodage de bit Attachment ) Interface )
Caractéristiques Connecteurs
7 Bit timing
Driver/Receiver
Synchronisation
Couche liaison
Sous couche LLC
Ivan FRANCOIS 4
Le bus CAN
Couche liaison
Sous couche MAC
Couche physique
Ivan FRANCOIS 5
Le bus CAN
Microcontrôleur Microcontrôleur
avec contrôleur avec contrôleur
CAN intégré CAN intégré
CANTX CANRX CANTX CANRX
Ivan FRANCOIS 6
Le bus CAN
13
14
Ivan FRANCOIS 7
Le bus CAN
15
L’interface de ligne
16
Ivan FRANCOIS 8
Le bus CAN
Règles de fonctionnement et
définitions
17
Règles de fonctionnement et
définitions
Ivan FRANCOIS 9
Le bus CAN
Arbitrage - Identificateur
19
Arbitrage
20
Ivan FRANCOIS 10
Le bus CAN
Arbitrage
Nœud 1 0 1 1 0 0 1 1 Perdu
Nœud 2 0 1 1 0 0 1 0 1 0 0 0 Gagné
Nœud 3 0 1 1 0 0 1 0 1 0 1 0 Perdu
Bus CAN
0 1 1 0 0 1 0 1 0 0 0
21
Arbitrage
Ivan FRANCOIS 11
Le bus CAN
Sécurisation de la transmission
Bit stuffing
23
Sécurisation de la transmission
Bit stuffing
24
Ivan FRANCOIS 12
Le bus CAN
Trame de données
26
Ivan FRANCOIS 13
Le bus CAN
Trame de données
1 11 bits ou 1 2 4 2
0-8 octets 16 bits 7 bits
bit 29 bits bit bits bits bits
Champ Champ de
Fin de trame
d’arbitrage données
Champ
Champ de
Début de d’acquittement
commandes
trame
Champ de
CRC
27
Trame de données
Début de trame
28
Ivan FRANCOIS 14
Le bus CAN
Trame de données
Champ d’arbitrage
29
Trame de données
Champ de commande
30
Ivan FRANCOIS 15
Le bus CAN
Trame de données
Champs de données
31
Trame de données
Champ de CRC
Ivan FRANCOIS 16
Le bus CAN
Trame de données
Calcul du CRC
Trame de données
Calcul du CRC
34
Ivan FRANCOIS 17
Le bus CAN
Trame de données
Calcul du CRC
Trame de données
Champ d’acquittement
Champ d’acquittement
– ACK SLOT émis à l’état récessif
A chaque fois qu’une station a émis un message valide,
elle superpose un bit dominant sur le Ack Slot.
Sinon elle envoi une trame d’erreur
L’acquittement signifie qu’au moins une station a reçue
la trame
– ACK DELIMITER toujours récessif
Bit délimiteur d’acquittement
36
Ivan FRANCOIS 18
Le bus CAN
Trame de données
Fin de trame
37
Trame de requête
Ivan FRANCOIS 19
Le bus CAN
Trame de requête
Début de trame
– Identique à la trame de données
Champ d’arbitrage
– Identificateur identique à la trame de données
– RTR toujours récessif
Une trame de données sera toujours prioritaire sur une
trame de requête
39
Trame de requête
40
Ivan FRANCOIS 20
Le bus CAN
Trame de requête
Champ de données
– Toujours vide
41
42
Ivan FRANCOIS 21
Le bus CAN
Confinement d’erreurs
Un mécanisme permet de faire la distinction
entre un défaut temporaire (surtension,
perturbation aléatoire) et une panne
permanente (mauvaise connexion, nœud
défectueux, perturbation persistante,...)
Une station peut prendre l’un des trois états
suivants:
– « error active »
– « error passive »
44 – « bus off »
Ivan FRANCOIS 22
Le bus CAN
Compteur d’erreurs
45
REC :
–Réception d’une trame corrompue : +1 ou +8 selon
l’erreur (jusque 128)
– Réception d’une trame correcte : -1 (si >0)
TEC :
– Emission d’une trame corrompue : +8 (jusque 256)
Ivan FRANCOIS 23
Le bus CAN
Reset
Error active
REC>=127 OU
TEC>=127 128
OCCURRENCES
REC<127 OU DE 11 BITS
RECESSIFS
TEC<127
Error passive
47
48
Ivan FRANCOIS 24
Le bus CAN
49
Trame d’erreur
Erreur
Trame de données
6 bits 0…6 bits 8 bits 3 bits
incomplète
Trame d’erreur
50
Ivan FRANCOIS 25
Le bus CAN
Trame d’erreur
Trame d’erreur
Ivan FRANCOIS 26
Le bus CAN
Trame de surcharge
Flag de Délimiteur de
intertrame
surcharge surcharge
Trame de surcharge
53
Trame de surcharge
54
Ivan FRANCOIS 27
Le bus CAN
Nominal_Bit_Time = 1
Nominal_Bit_Rate
(débit)
Exemple:
Bus CAN 125 Kbits/S donne un Nominal bit time
de 8 µS
Bus CAN 1 Mbits/S donne un Nominal bit time
de 1 µS
56
Ivan FRANCOIS 28
Le bus CAN
57
Time Quantum Tq
Tq
58
Ivan FRANCOIS 29
Le bus CAN
Time Quantum Tq
59
Le débit brut
– S’étend de 125 kb/s à 1 Mb/s suivant le type de bus
CAN utilisé
– Compte tous les bits qui sont transmis sur le bus
Le débit net
– Ne tient compte que des bits transportant des
informations utiles
– Ne compte pas tous les bits tels que le SOF, les
Acknowlegde Delimiter, les bits de Bit-Stuffing...
60
Ivan FRANCOIS 30
Le bus CAN
Exercices
61
62
Ivan FRANCOIS 31
Le bus CAN
Réglage du débit
Fosc
Débit =
(SYNC_SEG + PROG_SEG + PHASE_SEG1 + PHASE_SEG2).m
63
Fosc
Débit =
(SYNC_SEG + PROG_SEG + PHASE_SEG1 + PHASE_SEG2).2(BRP + 1)
64
Ivan FRANCOIS 32
Le bus CAN
Filtres et masques
65
1 0 0 Accepté
1 0 1 Rejeté
1 1 0 rejeté
1 1 1 Accepté
66
Ivan FRANCOIS 33