View
110
Download
2
Category
Preview:
Citation preview
Chapitre 4
CAN
(Control Area Network)
2006 - 2007
Françoise Simonot-Lion (simonot@loria.fr)
Certains transparents de ce cours proviennent du cours de Nicolas Navet (ENSEM – EMN / 2003-2004) du cours de Philip Koopman (Carnegie Mellon / 2004)
Ingénieur Civil des Mines
2ème année
Conception Sûre des Systèmes Embarqués et Ambiants – Module SI342b
Ecole des Mines de Nancy CSSEA SI342b2
CAN – Un réseau pour l’automobile
Conçu par Bosch (1983) pour le « multiplexage automobile » – normalisé ISO (1994)
Boite de Vitesses
Contrôle Moteur
Suspension
ABS
Tableaude Bord
Clim
Sièges
Plafonnier
Centralisation
Réduction des coûts de câblage et de maintenance
Tableaude BordContrôle
Moteur
Contrôleur CAN
Suspension
Contrôleur CAN
Clim
Contrôleur CAN
Sièges
Contrôleur CAN
CentralisationContrôleur CAN
PlafonnierContrôleur CAN
Contrôleur CAN
Contrôleur CAN
Boite de Vitesses
Contrôleur CAN
ABS
Contrôleur CAN
CAN high speed
CAN low speed
Ecole des Mines de Nancy CSSEA SI342b3
CAN – Un réseau pour l’automobile
Câblage Quelques chiffres :
R25 (fin 80’s) : 2 km de câbles cuivre ! >80kg MB Classe C (2001) : 12 ECU’s – 25 fonctions MB Classe S (2002) : > 50 ECU’s !
Un marché important
Réduction de câblage
40% poids pour une portière Mercedes
41% de longueur de câble entre les Peugeot 306 et 307
Source Siemens pour des produits Siemens
Ecole des Mines de Nancy CSSEA SI342b4
CAN – Un réseau pour l’automobile Un réseau adapté aux besoins de performances dans l’automobile
Pour mémoire : classe D – taille d’un message 100 octets à 1000 octets, (télématique et multimédia) – débit nécessaire de 1 à 10 Mbit/s
Classe Débit (Kb/s)
Offre CAN par exemple, pour ….
C
> 125 Kb/s
et
< 1000 Kb/s
CAN High Speed
ISO-IS 11898
Contrôle moteur, boîte de vitesse, ABS, …
Temps réel dur (périodes de 1 à 10ms, temps de transmission~1ms, quelques octets)
B
> 10 Kb/s
et
< 125 Kb/s
CAN Low Speed
ISO-IS 11519-2
Diagnostic, contrôle du tableau de bord,
Temps réel mouTemps réel mou
A < 10 Kb/sCarrosserie (Body)
Ecole des Mines de Nancy CSSEA SI342b5
CAN et le modèle OSI
Couches physiques et liaison de données normalisées Couche physique
• Représentation du bit
• Synchronisation
Couche Liaison de données Sous-couche MAC
• Encapsulation / Désencapsulation des données
• Codage des trames (stuffing / dé-stuffing)
• Arbitrage
• Détection / signalement d’erreurs
• Acquittement
Sous couche LLC
• Filtrage des trames en réception
• Recouvrement des erreurs
• Transfert des données
• Demande de transfert des données
Ecole des Mines de Nancy CSSEA SI342b6
CAN – couche physique
Codage NRZ (Non Return to Zero) – pas de front sur le
signal Niveau logique 0 – bit dominant
Niveau logique 1 – bit récessif
Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6
5V
0V Niveau de bit dominant
011010
Support : paire torsadée (standard ISO)
Autres supports possibles : fibre optique, courant porteur, transmission
radio, infra-rouge, …
Ecole des Mines de Nancy CSSEA SI342b7
CAN – Bit stuffing
Création de « fronts » sur le signal
Bit-stuffing (Taille = 5 bits)
r d r r r r r r d r d d d d d rd r
r d r r r r r r d r d d d d d rSuite initiale de bits à transmettre
r d r r r r r r d r d d d d d rSuite reçue après « dé-stuffing »
Ce qui circule au niveau du médium
Ecole des Mines de Nancy CSSEA SI342b8
CAN – Bit stuffing
Problème – exemple Bit inversé au mauvais endroit
interprétation d’un bit de données comme un « stuffing bit »
Suite transmise sur le bus rrr d r r dd rr dr dr r rd r d
Suite altérée sur le bus
rr rr r rdd
Interprété comme un stuffing bit !!!!!
rrr d rd d r dr d
Interprété comme un bit de donnée !!!!!
interprétation d’un « stuffing bit » comme un bit de données
Valeur initiale transmise : 1110 1010 1011 1111 0…
Exercice 1 : quelle est la valeur reçue : ???
Ecole des Mines de Nancy CSSEA SI342b9
CAN – Bit stuffing
Exercice 2
Quel est le pire cas ?
Quel est l’accroissement maximal pour une longueur initiale de n bits ?
Ecole des Mines de Nancy CSSEA SI342b10
CAN – format de la trame
SOF
Start of Frame (SOF) / synchronisation
1bit
En-tête (champ d’arbitrage / champ de contrôle)
En-tête
18 bits - CAN standard (2.0A)38 bits - CAN étendu (2.0B)
Champ de données
Données
0..8 octets
Champ de contrôle des données/détection d’erreur
Détection d’erreur
15 bits
Champ d’acquittement
Ack
3 bits
Fin de trame (EOF), Intermission (Inter)
EOF
7 bits
Inter
3 bits
Idle …… Idle
0 ou 1 01
r
d
Ecole des Mines de Nancy CSSEA SI342b11
Trame CAN - En-tête
RTR : 0 si trame de données, 1 si trame de requête
RTR : 0 si trame de données, 1 si trame de requête
Identificateur DLC : longueur des données (0..8 octets)
1 1 111 4
CAN standard (2.0A)
1 1 1 1 111 18 4
CAN étendu (2.0B)
IDE : 1
SRR : 1
IDE : 0
r0 : 0
r1 : 0r0 : 0
Ecole des Mines de Nancy CSSEA SI342b12
Trame CAN - En-tête
RTR : 0 si trame de données, 1 si trame de requête
1 1 111 4
CAN standard (2.0A)
DLCIdentificateur
Champ d’arbitrage Champ de contrôle
RTR : 0 si trame de données, 1 si trame de requête
1 1 1 1 111 18 4
CAN étendu (2.0B)
DLCIdentificateurIdentificateur
Ecole des Mines de Nancy CSSEA SI342b13
Accès au bus - arbitrage
Technique d’accès au médium CSMA – résolution de collision
Repose sur un principe d’identification des trames
Phase d’arbitrage – la trame la plus prioritaire gagne l’accès au bus1. Chaque station qui veut émettre, écoute
2. Dés qu’il n’y a pas de signal sur le bus, elle émet un bit puis écoute
3. Si la valeur lue est différente de la valeur émise, la station a perdu l’arbitrage; elle cesse d’émettre et retourne en 1
Conséquence sur le débit : il faut un aller-retour pour le signal avant d’émettre le bit suivant
Ecole des Mines de Nancy CSSEA SI342b14
Accès au bus - arbitrage
Exemple : 3 stations émettent en même temps
Qui gagne l’arbitrage ?
1 1 0 0 1 0 1 1 1 0 1 1
1 1 0 0 1 1 0 0 1 0 1 0
1 1 0 0 1 0 1 1 0 1 0 1
Station 1
Station 2
Station 3
t
Ecole des Mines de Nancy CSSEA SI342b15
Accès au bus - arbitrage
Exemple : 3 stations émettent en même temps
1 1 0 0 1 0 1 1 1 0 1 1
1 1 0 0 1 1 0 0 1 0 1 0
1 1 0 0 1 0 1 1 0 1 0 1
1 1 0 0 1 1 1 1 0 10
écoute
0
écouteStation 1
Station 2
Station 3
Signal sur le bus
La station 3 gagne l’accès au bus
Ecole des Mines de Nancy CSSEA SI342b16
Accès au bus - arbitrage
Exercice 3 Quelle conclusion peut-on tirer de ce mécanisme quant à la
priorité des trames?
Soit une trame de donnée et une trame de requête (identificateur
de 20 bits significatifs) – quelle est la plus prioritaire ?
Soient deux trames d’identification respectives (29)10 et (31)10
émises au même moment sur le bus par deux stations
concurrentes. Représenter le niveau de signal résultant sur le
bus?
Priorités respectives des trames d’identificateurs 11 bits et des
trames d’identificateurs 29 bits ?
Ecole des Mines de Nancy CSSEA SI342b17
Synchronisation des stations
Un oscillateur par contrôleur (station) une horloge système par station
Non synchronisation des oscillateurs entre les stations Codage NRZ
comment avoir un temps bit = pour toutes les stations du réseau ?
Horloge système
Oscillateur
Tclock
Ecole des Mines de Nancy CSSEA SI342b18
Synchronisation des stations
Composition d’un bit CAN sur une station
syn T-Seg1 T-Seg2
Horloge système
Temps bit nominal
L1=n1*Tclock L2=n2*Tclock
Point d’échantillonnage
du signal
L1, L2 configuré pour l’ensemble du réseau
Ecole des Mines de Nancy CSSEA SI342b19
Synchronisation des stations
Détection normale d’un front
syn T-Seg1 T-Seg2
Horloge système
Point d’échantillonnage
du signal
Signal sur le bus
Conclusion: la station est synchronisée avec l’émetteur
Ecole des Mines de Nancy CSSEA SI342b20
Synchronisation des stations
Détection anormale d’un front (trop tard !)
syn T-Seg1 T-Seg2
Horloge système
Point d’échantillonnage
du signal
Signal sur le bus
Conclusion: la station est plus rapide que la station émettrice retarder la station
Ecole des Mines de Nancy CSSEA SI342b21
Synchronisation des stations
Détection anormale d’un front (trop tard !)
syn T-Seg1
Horloge système
T-Seg2
Point d’échantillonnage
du signal
Signal sur le bus
T-Seg1SJW1
Ecole des Mines de Nancy CSSEA SI342b22
Synchronisation des stations
Détection anormale d’un front (trop tôt !)
syn T-Seg1
Horloge système
T-Seg2
Point d’échantillonnage
du signal
Signal sur le bus
Conclusion: la station est plus lente que la station émettrice “accélerer” la station
T-Seg2 SJW2
Ecole des Mines de Nancy CSSEA SI342b23
Acquittement
Ack slot : mis à 1 (récessif) à l’émission – toute station qui reçoit correctement le positionne à 0 (dominant) sinon, elle envoie une trame d’erreurs
On peut savoir qu’une station a reçu le message On ne sait pas laquelle On ne sait pas si c’est le destinataire
L’acquittement sur CAN est non fiable
3 bits
…CRC EOF …
Ack slot
Ecole des Mines de Nancy CSSEA SI342b24
Trame de requête
Il s’agit d’un moyen fourni pour un mode de coopération client – serveur
Ne contient aucune donnée (mais porte un identificateur)
La réponse n’est pas écrite dans la trame
surcharge réseau – pas de garantie de temps de réponse
Ecole des Mines de Nancy CSSEA SI342b25
Les erreurs de transmission
Types d’erreurs CRC reçu CRC calculé à la réception 6 bits consécutifs de même niveau Pas d’acquittement reçu par l’émetteur Mauvaise valeur pour un champ fixe (0 / 1), bit envoyé bit observé
Trame d’erreur
Retransmission après 17 bits (au mieux) / 23 bits (au pire)
trame incomplète
Error flag
Error flag
Délimiteur d’erreur
Inter-trame
[ ]
6 0..6 8 3
Ecole des Mines de Nancy CSSEA SI342b26
Le confinement d’erreur sur CAN
Problème : une station défectueuse peut perturber le fonctionnement du système (par exemple, en émettant de façon continue une trame d’erreur)
mécanisme de retrait des stations (déconnexion du réseau)
2 compteurs d’erreurs Sur les trames émises (TEC : +8, -1, 0127, 128256) Sur les trames reçues (REC : +1, -1, 0127, 128256)
3 états de la station Erreur-active (normal) Erreur-passive : émission possible après un temps de 8 bits
silencieux sur le bus / pas d’émission de trames d’erreur Bus-off : pas d’émission
Ecole des Mines de Nancy CSSEA SI342b27
Le confinement d’erreur sur CAN
Ecole des Mines de Nancy CSSEA SI342b28
Le confinement d’erreur sur CAN
Des rafales d’erreurs peuvent provoquer la déconnexion sans que la station soit elle-même défectueuse
Prévoir des solutions de reprise au niveau applicatif (que faire si le calculateur d’ABS est en bus-off ?)
Ecole des Mines de Nancy CSSEA SI342b29
Un « bug » du protocole
Certaines trames peuvent être reçues en double !
Une perturbation localisée à certaines stations (dont l’émetteur) sur le dernier bit du champ EOF retransmission
toutes les stations non affectées reçoivent deux fois la trame
Exercice 4 : pour éviter des problèmes au niveau applicatif, quels types d’information ne faut-il pas envoyer ?
Ecole des Mines de Nancy CSSEA SI342b30
Évaluation de temps de réponse sur CANÉvaluation de temps de réponse d’activités – retour
sur l’ordonnancement de tâches
Soit la configuration suivante :
Période d’activité du processeur = intervalle de temps dans lequel le processeur est toujours utilisé
Ti 12345
Ci 75832
Ti 202030100100
t
Ecole des Mines de Nancy CSSEA SI342b31
Évaluation de temps de réponse d’activités – retour sur l’ordonnancement de tâches Tâches périodiques à démarrage simultané La plus longue période d’activité se produit lorsque toutes
les tâches sont activées au même instant = instant critique
t
0
20
40
60
80
100
120
140
160
0 20 40 60 80 100 120 140
Série1
1,..,( ) j
j n j
tW t C
T
Fonction d’arrivée de travail W(t)
Ecole des Mines de Nancy CSSEA SI342b32
Évaluation de temps de réponse d’activités – retour sur l’ordonnancement de tâches
La fonction f(t)=t définit la capacité de traitement du processeur
t
0
20
40
60
80
100
120
140
160
0 20 40 60 80 100 120 140
Série1
f(t)=t
Ecole des Mines de Nancy CSSEA SI342b33
Évaluation de temps de réponse d’activités – retour sur l’ordonnancement de tâches
Au premier instant t tel que f(t) = W(t), le processeur a terminé toutes les instances de tâches réveillées sur [0,t[. La période d’activité initiée par un instant critique est donc de longueur t
Il faut donc résoudre l’équation W(t)=t
(convergence si )
Soit par récurrence :
(0)
1,..,i
i nt C
( 1) ( )( )j jt W t
1,..,1i
i n i
C
T
Ecole des Mines de Nancy CSSEA SI342b34
Évaluation de temps de réponse d’activités – retour sur l’ordonnancement de tâches
Calcul de pire temps de réponse
Cas de tâches ordonnancées selon des priorités statiques, périodiques et à départ simultané
Le pire temps de réponse d’une tâche de priorité i repose sur le calcul de la longueur de la « période d’activité de niveau i » induite par les tâches de priorité supérieure ou égale à i
Calcul de la période d’activité de niveau i (hp(i) ensemble des tâches de priorité supérieure à i) :
Le pire temps de réponse Ri est solution de
( )( )i i j
j hp i j
tW t C C
T
( )i i iW R R
Ecole des Mines de Nancy CSSEA SI342b35
Évaluation de temps de réponse d’activités – retour sur l’ordonnancement de tâches
Cas de tâches ordonnancées selon des priorités statiques avec des gigues sur l’activation (Ji) – l’instant critique est celui où les tâches se réveillent simultanément (prise en compte de la gigue)
tInstant critique(réveil)
Tâche 1
Tâche 2
Tâche 3
Activations des tâches réveils des tâchesJ1
J2
J3
t+J1
Ecole des Mines de Nancy CSSEA SI342b36
Évaluation de temps de réponse d’activités – retour sur l’ordonnancement de tâches
Cas de tâches ordonnancées selon des priorités statiques avec des gigues sur l’activation (Ji) – l’instant critique est celui où les tâches se réveillent simultanément (prise en compte de la gigue)
Durée cumulée des tâches de priorité supérieure ou égale à i (hp(i) ensemble des tâches de priorité supérieure à i) ou période d’activité de niveau i :
La durée de la période d’activité Li est solution de
Le pire temps de réponse est
( )( )
ji i j
j hp i j
t JW t C C
T
( )i i iW L L
i i iR L J
Ecole des Mines de Nancy CSSEA SI342b37
Evaluation de temps de réponse sur CAN
L’ordonnancement des trames sur CAN relève d’un algorithme d’ordonnancement Fixed Priority Non Premptive(FPNP)
Le pire temps de réponse du message m est donné par :
m m m mR J w C
Jitter à l’émission
Pire temps d’attente du message à l’émission
Pire temps (physique) de transmission
Ecole des Mines de Nancy CSSEA SI342b38
Evaluation de temps de réponse sur CAN
Calcul du pire temps (physique) de transmission (identificateur 11 bits)
34 847 8
4m
m m bits
C s
Nombre d’octets de données
Temps bit sur le bus (1s pour un bus de 1Mbit/s.)
Ecole des Mines de Nancy CSSEA SI342b39
Evaluation de temps de réponse sur CAN – messages périodiques
Calcul du pire temps d’attente
( )
m j bitm m j
j hp m j
w Jw B C
T
Temps de blocage du aux messages de plus faible priorité (non préemption)
Ensemble des messages de plus faible priorité que m
Temps de blocage du aux messages de plus forte priorité (non préemption)
Période du message j
( )( )maxm k
k lp mB C
Ensemble des messages de plus forte priorité que m
Ecole des Mines de Nancy CSSEA SI342b40
Evaluation de temps de réponse sur CAN – messages périodiques
Calcul par récurrence :
1
( )
nm j bitn
m m jj hp m j
w Jw B C
T
Ecole des Mines de Nancy CSSEA SI342b41
Validation d’une messagerie sur CAN
Exercice 5 : faire le programme qui vérifie que tous les messages respectent leurs échéances pour une messagerie donnée (voire feuille jointe)
Recommended