2. 2
Historique du réseau CAN
1983 Début des développements de CAN chez Robert Bosch Gmbh
1985 Spécification V1.0. Premières relations entre Bosch et les fondeurs de silicium
1986 Démarrage des travaux de normalisation ISO
1987 Introduction du premier échantillon de circuit intégré CAN
1989 Démarrage des premières applications industrielles
1991 Spécifications du protocole étendu CAN 2.0 B
1991 Premiers véhicules équipés (500 Kb/s) – Mercedes Classe S
1992 Création du groupement utilisateur CiA – CAN in Automation
1993 Création du groupe OSEK
1993 Parution de la première couche applicative (CAL) du CiA
1994 Standardisations ISO terminées
1994 PSA (Peugeot - Citroën) et Renault entrent à l’OSEK
1995 Task Force aux USA avec le SAE-Society of Automotive Engineers
1996 CAN est appliqué à la plupart des « contrôles moteurs » automobiles
1997 300 sociétés adhérentes au CiA
1997 Tous les grands fondeurs proposent des composants CAN
2000 Forte implantation de CAN dans l'automobile avec la couche OSEK
3. 3
Applications
Embarqué
Industrie
Automobile
Robitique
Quelques données sur les applications industrielles
Communication de requise 64 %
type synchrone non requise 36%
Mode d'échantillonnage cyclique 73%
Pour les nœuds du réseau évènement 27%
Périodicté des cycles 1 ms 26%
10 ms 48%
100 ms 26%
Temps de réponse du signal 1 ms 40%
10 ms 34%
100 ms 26%
Longueur du bus < 100 m 66%
< 1000 m 31%
> 100 m 3%
Source VDMA
4. 4
Le modèle ISO
N° de
couche
7
6
5
4
3
2
1
Application
Présentation
Session
Transport
Réseau
Communication
Physique
Modèle ISO Protocole CAN
Utilisateur
Protocole CAN
avec libre choix
du medium
vide
5. 5
Le modèle ISO CAN
7
2
1
Application
Communication
Physique
Utilisateur
Protocole CAN
avec libre choix
du medium
N° de
couche
Modèle ISO réduit Protocole CAN
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
Application
Liaison
Physique
Symbolique utilisée pour le suivi de ce cours
6. 6
Les couches CAN
Données
Paramètres
Commandes
Champs
Trame
Bits
Ligne du réseau
La couche applicative définit et exploite les
champs de données et de paramètres
Elle gère aussi les commandes :
émission, réception … etc.
La couche liaison construit et gère
dynamiquement la trame.
Les champs sont inclus dans la trame qui est
exploitée bit à bit par l’interface physique
La couche physique assure la
mise en forme électrique des bits
7
2
1
Couches
Application
Liaison
Physique
7. 7
Couche 7 - Application
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
CAL (CANOpen) Groupemement CAN in Automation - CiA
DeviceNet Rockwell Allen Bradley
SDS Honeywell
CAL
DeviceNet
SDS
J1939
OSEK
INDUSTRIE
AUTOMOBILE
J1939 SAE Society of Automotive Engineers
Applications camions aux USA
OSEK Open Systems & Interface for Distribued Electronic in Cars
Véhicules légers en Europe
8. 8
Les couches ISO CAN
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
LLC
Logic Link Control
MAC
Medium Access Control
PLS
Physical Signaling
PMA
Physical Medium Attachment
MDI
Medium Dependant
Interface
Intégré
dans le
contrôleur
CAN
Logiciel
Driver
de ligne
Connectique
Spécifications
du protocole
CAN
9. 9
Les modèle ISO CAN
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
LLC
MAC
PLS
PMA
MDI
Application
Liaison
Physique bit
Application
Liaison
Physique
trame
Pour faciliter la lecture de ce cours, dans les pages suivantes, le répérage dans le
modèle ISO est symbolisé comme suit :
10. 10
Couche 2 - Liaison - LCC
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
LLC
MAC
PLS
PMA
MDI
LLC Logic Link Control
Contrôle de l’intégrité du format des trames émises et reçues
Si possible, assurer les corrections d’erreur de structure de trame (format…etc.)
Procédure de recouvrement d’erreur, reprise…etc.
Identification de la trame
Filtrage des messages
Notification de surcharges
Invitation à émettre ou à recevoir
Les tâche de la sous-couche LLC sont les suivantes :
11. 11
Couche 2 – Liaison - MAC
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
LLC
MAC
PLS
PMA
MDI
MAC Medium Access Control
En réception, d’accepter les messages devant être transmis vers la sous-couche LLC
En émission, de présenter à la couche physique les messages provenant de la couche LLC
Mise en trame du message, organisation des trains de bits, par exemple :
sérialisation à l’émission, désérialisation à la réception…
Arbitrage de conflits (au niveau bit)
Acquittement de réception de message
Détection d’erreurs de transmission
Signalisation d’erreurs de transmission
La sous-couche MAC a pour mission :
Ses tâches sont donc les suivantes :
Gestion de la prise d’accès à la couche physique (CSMA/CA)
Codage trame (stuffing/destuffing)
Acquittement (signal ACK)
12. 12
Couche1 - Physique - PLS
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
LLC
MAC
PLS
PMA
MDI
PLS Physical Link Signaling
La sous-couche PLS s’occupe de :
La représentation du bit, c’est-à-dire le type de codage bit, ses propriétés temporelles
La définition des niveaux électriques, optique des signaux
La synchronisation du bit
La représentation du bit, c’est-à-dire le type de codage bit, ses propriétés temporelles
13. 13
Couche1 - Physique - PMA
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
LLC
MAC
PLS
PMA
MDI
Caractéristiques des étages de commande et de réception
PMA Physical Medium Attach
Caractéristiques des Interfaces Drivers / Receivers
Par exemple: Philips 82C250
Compatible avec la norme ISO 11898
Vitesse jusqu’à 1 Mb/s
Protection de ligne contre les parasites, filtarge des signaux
Contrôle de la pente du signal pour diminuer les émissions radio-électriques
Mode de réception différentiel pour une meilleures protection CEM
Protection thermique
Un circuit non alimenté n’affecte pas le fonctionnement du bus
Jusqu’à 110 nœuds supportés sur une même ligne
14. 14
Couche1 - Physique - MDI
Application
Présentation
Session
Transport
Réseau
Liaison
Physique
LLC
MAC
PLS
PMA
MDI
La couche MDI s’intéresse à définir le medium sur lequel
passent concrètement la communication et les points
connexes associés, c’est à dire :
MDI Medium Dependant Interface
Le medium, par exemple :
du câble bifilaire, en fil de cuivre, de tel diamètre (gauge) correspondant à telle norme de câble
La topologie du réseau
Les impédances de terminaison / adaptation du réseau
Les types de prises retenues pour les connecteurs des éléments du réseau
16. 15/06/19
Les méthodes d’accès
• Maître / Esclave
• Avec jetons
• Par division de temps TDMA
• A gestion de collision CSMA-CD
• A gestion de collision CSMA-CA Ethernet
CAN
BitBus / FIP
Interbus
Exemples de réseaux
Méthode CSMA-CD/CA
Application
Liaison
Physique
trame
Profibus
17. 17
Codage bit - principes
Manchester
Les 2 grands principes de codage, NRZ et Manchester, permettent de transporter
l’horloge avec les données
0 1
Application
Liaison
Physique bit
NRZ
NRZ : Non Return to Zero
NRZI : Non Return to Zero Inverted
NRZI
Comment transporter l’horloge et les données sur le même support ?
Horloge
Données
?
Signal Horloge + Données
18. 18
Codage bit - principes
0 1 0 0 1 1 1 0
NRZ Non Return
to Zero
Application
Liaison
Physique bit
NRZI
Manchester
Non Return
to Zero Inverted
Exemple d’une suite de bits codée en NRZ, NRZI et Manchester
19. 19
Contraintes du codage
Le codage NRZ / NRZI est simple, mais attention, il n’y a pas de
front de synchronisation si le code reste constament à 0 ou à 1
Le codage Manchester transmet l’horloge en permanence mais nécessite une bande passante double
La station
émettrice impose
l’horloge du signal
La station réceptrice doit
se cale sur l’horloge de
l’émetteur
NRZ ou NRZI 1 0 0 0 0 0 0 0 0 0 0 0 0 0……….
Il n’y a plus aucun front sur le signal pour resynchroniser l’horloge du
récepteur. Il y a risque certain de dérive dans le temps.
C’est le codage NRZ qui est choisi pour CAN
Solution : le Bit Stuffing (remplissage bit)
NRZ ou NRZI 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0……….
Ces bits sont ajoutés à l’émission puis seront retirés à la réception
20. 20
Codage bit - Bit stuffing
0 0 0 0 0 0 0 1 0
NRZ
Bit
Stuffing
1 2 3 4 5 S 6 7 8 9
1 2 3 4 5 6 7 8 9
Pour conserver l’information d’horloge, un bit inverse est inséré
après 5 bits identiques. Il est retiré à la réception.
Application
Liaison
Physique bit
21. 21
Codage bit - Arbitration
Application
Liaison
Physique bit
+V +V
Récessif : absence de porteuse
Dominant : présence de porteuse
Récessif : rappel de potentiel
Dominant : conducteur à la masse
Le Dominant (D) l’emporte sur le Récessif
(R)
Il impose son état électrique
Emission
Relecture
Contrôleur
CAN
Relecture et Comparaison
CAN +
CAN -
Tx
Rx
En
22. 15/06/19
Méthode CSMA-CD/CA
Méthode à gestion de collision
Méthode évoluée employée sur des réseaux standards
- Ethernet CSMA / CD
- CAN CSMA / CA ou CR
Carrier Sense Multiple Access
- with Collision Detection
- with Collision Avoidance ou Collision Resolution
Application
Liaison
Physique
trame
23. 15/06/19
Méthode CSMA / CA
• Toutes les stations sont égales
• Chaque station émet quand elle veut
• Les collisions sont acceptées
• Les collisions sont détectées par les stations
• Les collisions sont gérées par le protocole
• Il y a une stratégie d’arbitrage des collisions
Principes généraux
Application
Liaison
Physique
trame
24. 24
Méthode CSMA-CD/CA
Stations ou Noeuds
Résistance de
terminaison
• Toutes les stations sont égales
• Chaque station émet quand elle veut
• Les collisions sont acceptées
• Les collisions sont détectées par les stations
• Les collisions sont gérées par le protocole
• Il y a une stratégie d’arbitrage des collisions
• Il est très facile d’ajouter ou de retirer un noeud
En cas de coupure
réseau, le tronçon est
complètement isolé.
Résistance de
terminaison
Application
Liaison
Physique
trame
25. 25
Principe de l’arbitrage
S I I I I I I I I I I I R
bus
libre trame de données / requête
S: bit de départ de trame (SOF)
I : 1 parmi 11 bits d’identificateur
R: bit RTR
- récessif (données)
- dominant (requête)
Le champ «Identifieur» sert pour l’arbitrage entre trames. Il est à la
base du principe d’arbitration. L’arbitrage concerne aussi le bit
RTR
Application
Liaison
Physique
trame
26. 26
Principe de l’arbitrage
Transfert Transfert Perte d’arbitrage Erreur bit
Tx: D Tx: R Tx: R Tx : D
Rx: D Rx: R Rx: D Rx : R
S R D R D D R D R R D ...
S R D R D D D D R D R R...
1
2
3
S R D R D D D D R D R R...Sur le bus
3 gagne l’arbitrage
S R D R D D R D D D D ...
Application
Liaison
Physique
trame
27. 27
Principe de l’arbitrage
t
1
2
3
2
1
2
4
2
ou autre cas...
2
Il y a une notion de priorité entre trames,
fonction de la valeur de l’identifieur associé.
La station émet mais perd l’arbitration…
… et se met immédiatement en écoute
La trame est émise complètement
3 est prioritaire sur 1 et 2
1 est prioritaire sur 2
2 est seule
4 est prioritaire sur 2
2 est seule
1
2
3
4
Exemple d’un réseau à 4 stations
Application
Liaison
Physique
trame
29. 29
Formats des trames
• CAN 2.0 A - Identifieur standard sur 11 bits
• CAN 2.0 B - Identifieur étendu sur 29 bits
• Norme CAN ISO 11898
• Norme ISO 11519 Véhicules routiers
Application
Liaison
Physique
trame format
30. 30
Types de Trames
• Trames de données (data)
• Trames de requête (Remote)
• Trames d’erreur (Error)
• Trames de surcharge (Overload)
• InterTrames (Interframes)
Application
Liaison
Physique
trame format
31. 31
Trame de données
Application
Liaison
Physique
trame données
1 11 6 0 à 8 octets 16 2 7 3IDLE IDLE
Trame de données
Début de trame (SOF)
Champ identifieur
Champ de commande
Champ de données
Champ de CRC
Champ de ACK
Fin de trame (EOF)
Intermission
1
Bit RTR
29
Identifieur à 11 bits = format standard CAN 2.0A
Identifieur à 29 bits = format standard CAN 2.0B
Arbitrage
Longueur
en bits
32. 32
Trame de données
Application
Liaison
Physique
trame données
1 11 6 0 à 8 octets 16 2 71
SOF Identifieur RTR Commande Données CRC ACK EOF
15 1 1 1
Délimiteur ACK (Récessif)
Slot ACK
Délimiteur CRC (Récessif)
Séquence de CRC
411
DLC (de 0 à 8)
r0 (réserve)
IDE en CAN 2.0A
r1 en CAN .0B (réserve)
11
11 1 1 18
Suite
IDE
SRR
Première partie
de l’identifieur
Lexique :
SOF : Start of frame
EOF : End of frame (7 bits Récessif)
RTR : Remote Transmission Request
ACK : Acknowledge
CRC : Cyclic Redundancy Code
DLC : Data Length Code
SRR : Substitute Remote Request
IDE : IDentifier Extension
de l’identifieur
Identifieur CAN 2.0A
Identifieur CAN 2.0B
D
RTR est dominant Longueur du champ de données fixé par DLC, en nombre d'octets
33. 33
Trame de requête
• Identique Trame de données sauf RTR
• RTR mis à Récessif
• Longueur données à 0
• DLC ajusté sur le nombre d’octets de données à retourner
• La trame de donnée est prioritaire sur la trame de requête de
même identifieur
Application
Liaison
Physique
trame données
SOF Identifieur Cde CRC ACK EOF
Bit RTR
Etat D pour une trame de données
Etat R pour une trame de requête
DLC ajusté sur le nombre d’octets de données à retourner
34. 34
Trame d’erreur
• La trame ne comprend que 2 champs....
• 1 champ Drapeau d’erreur «active» ou «passive»
• 1 délimiteur - 8 bits récessifs
• Les drapeaux d’erreur transgressent la loi du bit stuffing (6 à 12
bits dominants en erreur active)
Application
Liaison
Physique
trame erreur
Drapeau d’erreur Délimiteur du champ
Champ de trame d’erreur Intertrame
Trame en cours
de diffusion
6 à 12 bits D en erreur active
6 à 12 bits R en erreur passive
8 bits R
35. 35
Trame de surcharge
• La trame ne comprend que 2 champs....
• 1 champ «flag» de surcharge (OLF)
• Le champ de surcharge est composé de 6 bits dominants
• 1 champ délimiteur - 7 bits récessifs
• Le champ de surcharge transgresse la loi du bit stuffing
Application
Liaison
Physique
trame surcharge
Champ de surcharge Délimiteur du champ
Champ de surcharge Intertrame
6 bits D 7 bits R
36. 36
Période d’ intertrame
• Les trames Données et Requête sont précédées par une période
d’intertrame
• Les trames Erreur et Surcharge ne sont pas précédées par une
période d’intertrame
• La période est composée de 2 ou 3 champs
• Champs: Intermission, Bus Idle et éventuellement Suspend
Transmission
Application
Liaison
Physique
trame Inter-trame