Exemple de l`automobile

Transcription

Exemple de l`automobile
L'embarqué dans l'automobile
Exemple de l'automobile
www.sherryglobman.com/rbtech/pages/sld_porshe_tamar2.html
http://omahahistory.org/photo_archives_Billboards.htm
http://vindtjewebloghier.web-log.nl/
[email protected]
1
Electronique embarquée dans l'automobile
Evolution
% du coût de l’électronique dans le véhicule
Électricité de base
Genèse de
Prolifération Intégration et maturité des
systèmes électriques &
l’électronique
de
électroniques
automobile l’électronique
35
Multimédia, Soupapes
électromagnétiques
Télématique,
alternodémarreur
Gestion d’énergie
30
25
Multiplexage, ABS
20
Injection électronique
15
Régulateur de vitesse
10
5
0
GMP
Allumage
électronique
Alternateur
Lampes,
radio,
démarreur,
dynamo
1920
1940
1960
1980
2000
2010
Extrait de la présentation de Joseph Beretta / PSA - 16 et 17 Juin 2003 – http://www.systemes-critiques.org/SECC/
[email protected]
2
Exemple de l'automobile
Evolution des architectures
  Augmentation de la quantité d'électronique embarquée pour :
•  amélioration du confort
•  amélioration de la sécurité
•  répondre aux normes (ex: pollution)
  Complexité fonctionnelle (modes de fonctionnement, intéractions,
fonctions critiques..)
  Complexité architecturale (augmentation du nb de calculateurs,
capteurs, infos, câblage, communications)
⇒  Architecture répartie, bus de communication
[email protected]
3
Exemple de l'automobile
Architectures réparties
  Matériel : coût, place, poids
  Qualité : diagnostique globale
  Evolutivité
  Normalisation
[email protected]
4
Exemple de l'automobile
L'électronique embarquée : applications
  Exemples d'applications :
ABS, BVA, gestion moteur, Airbag, climatisation, régulation de
vitesse avec radar anti-collision, allumage automatique des feux de
détresse en cas de forte décélération ou de choc (1ère mondiale
Peugeot 607), etc..
  Plusieurs domaines :
  Moteur : applications de contrôle-commande
  Habitacle : confort
  Châssis et X-by-wire
  Télématique : multimédia
[email protected]
5
Exemple de l'automobile
Les systèmes X-by-wire
  Systèmes embarqués spécifiques : applications critiques
⇒  Sûreté de fonctionnement, fiabilité, contraintes temporelles strictes.
  Exemples : brake-by-wire, steer-by-wire
  Automobile, Avionique, Ferroviaire, Spatiale ..
Carnegie Mellon: The Rare Glitch Project, E. Clarke and D. Kroenig
[email protected]
http://www.vmars.tuwien.ac.at/projects/xbywire/index.html
6
Exemple de l'automobile
Quelques chiffres illustratifs
  Réduction de câblage
•  40% poids pour une portière Mercedes
•  41% de longueur de câble entre les Peugeot 306 et 307
"   Complexité architecturale
•  Nombre de réseaux (3 → 10 (VW Phaeton))
•  Nombre de calculateurs (30 → 70 (BMW Séries 7))
•  Nombre d’informations échangées au sein du véhicule
(~2500 (VW Phaeton))
[email protected]
7
Les réseaux des systèmes embarqués
Les réseaux embarqués
Les systèmes embarqués ont des caractéristiques très spécifiques
=> Besoin de réseaux spécifiques : les réseaux embarqués.
Type de réseaux pour les systèmes embarqués :
basés sur la technologie EVENT_TRIGGERED
basés sur la technologie TIME-TRIGGERED
[email protected]
8
La technologie Event-Triggered
Définition
  Event-Triggered : asynchrone; transactions déclenchées par des événements
•  les destinataires connaissent l’état du système par l’intermédiaire des
événements
  Avantages / Inconvénients
•  bonne gestion de la bande passante en régime apériodique, utilisée
seulement si nécessaire
•  flexibilité
•  possibilité de surcharge en cas de rafales d’événements
  Exemple
[email protected]
le protocole CAN
9
le protocole
CAN
[email protected]
10
CAN - Controller Area Network
Historique – Industrie automobile
  1980 : émergence de nombreux systèmes électroniques au sein
des véhicules
⇒  Encombrement et complexité (câblage)
  1983 : création du bus CAN par la société Robert Bosch Gmbh
  1985 : convention avec Intel
  1986 : standardisation ISO
  1995 : 1ère voiture à utiliser le bus CAN
  2000 : environ 600 millions de circuits CAN vendus
[email protected]
11
CAN - Controller Area Network
Caractéristiques
www.can-cia.org/
[email protected]
12
CAN - Controller Area Network
Types de trames
•  Trame de données (diffusion, adressage par id. des données => modèle
producteur/consommateur)
•  Trame de requête : pour récupérer des infos sur l'objet d'identifiant
spécifié dans la trame (permet le modèle client/serveur).
•  Trame d'erreur :
•  Champ erreur : erreur "active" ou "passive"
•  Délimiteur
•  Trame de surcharge : pour retarder l'envoi d'une trame
Exemple : si un récepteur est saturé.
•  Overload flag
•  Délimiteur
[email protected]
13
CAN - Controller Area Network
Format d'une trame de données
•  SOF : Start Of Frame, 1 bit dominant (pour synchronisation)
•  Champ d'arbitrage :
•  Identificateur (11 bits en format standard, 29 en étendu)
•  RTR : nature de la trame : données (dominant) ou requête (récessif)
Intertrame = 3 bits obligatoires
•  Champ de contrôle :
Possibilité d'avoir 8 bits supp (ex : trames overload)
•  2 bits "en réserve" (r0 dominant)
•  4 bits pour taille des données (Data Length Code)
•  Champ de données (< 8 octets)
•  Champ de CRC : 15 bits + 1 délimiteur (récessif)
•  Champ ack : 1 bit ack et 1 bit délimiteur (récessif)
•  Fin de trame : 7 bits récessifs sans bit stuffing
•  Intertrame : 3 bits récessifs
[email protected]
bit stuffing sur tous les champs
du SOF au CRC (attention,
délimiteur exclu)
14
CAN - Controller Area Network
Architecture
  Couche application :
•  modèle producteur / consommateur
•  modèle client / serveur
Application
LLC
MAC
Physique
  Couche liaison :
•  arbitrage bit à bit
•  gestion erreur réseau
[email protected]
  Couche physique :
•  notion de bits dominant et récessif
15
CAN - Controller Area Network
Fonctionnement : accès au médium
CSMA / BA (Bitwise Arbitration)
  Emetteur :
  Pour émettre :
•  Ecoute du bus
•  Si libre, début d'émission (SOF + identifiant du message + RTR)
  Continu d'écouter, et compare bit à bit la valeur du bus avec ce qu'il émet.
•  Si différent : il a perdu l'arbitrage car moins prioritaire => réémission + tard.
•  Si OK : émission finie, attente de l'ack dans le msg suivant.
•  Gestion des erreurs
  Récepteur :
  Réception et vérification que l'identifiant émis est celui d'1 msg qui leur est destiné.
  A la réception : vérification que le message reçu est bon
  Gestion des erreurs..
[email protected]
16
CAN - Controller Area Network
Arbitrage - Exemple
Nœud 1 perd l'arbitrage
Nœud 3 perd l'arbitrage
[email protected]
17
CAN - Controller Area Network
Contraintes temporelles
  Le mécanisme d'accès au bus par forçage des messages prioritaires offre une
garantie du respect des contraintes temporelles pour les messages prioritaires.
  Retard :
Si une information circule déjà sur le bus, le temps de propagation de cette dernière
constitue le retard maximal avant émission d'une nouvelle information prioritaire
(temps de latence maximum).
Début émission
d'une trame
Arrivée d'une trame prioritaire
Le bus est pris => attente
Fin d'émission
Bus libre => tentative émission
Gain de l'arbitrage si prioritaire
Inter
trame
Retard maximal avant émission
  Informations non prioritaires :
En cas de forte charge du bus, les informations moins prioritaires risquent de ne
jamais pouvoir accéder au bus (babbling idiot).
[email protected]
18
CAN - Controller Area Network
Coopération Client / Serveur
 
Cette coopération est possible en utilisant les trames de requête
 
Ces trames sont des trames "normale", sauf que le bit RTR est récessif
⇒  Elles sont moins prioritaires que les trames normales de données
⇒  Aucune garantie sur le temps de réponse
 
Rmq : ces trames sont de l'overhead pur.
[email protected]
19
CAN - Controller Area Network
Détection d'erreurs
  Le protocole CAN implémente des mécanismes de
détection d'erreurs :
• 
Écoute permanente du bus
• 
Bit stuffing : (6ième bit complémentaire)
• 
CRC (Cyclic Redundancy Check)
• 
Acquittement
[email protected]
20
CAN - Controller Area Network
Détection d'erreurs : Bit stuffing
 
Ajout d'un bit complémentaire pour "casser" une suite trop longue de
bits de même valeur. (6ième bit supp)
 
Permet d'éviter les erreurs dues à une désynchronisation des nœuds
[email protected]
21
CAN - Controller Area Network
Bit stuffing : pire cas
 
Appliqué sur certains champs de la trame : du SOF au CRC
 
Le bit stuffing introduit un overhead
 
Pire cas : alternance de 5 puis 4 bits complémentaire => le bit de
stuffing sera le 5ième bit à chaque fois.
 
Pire cas : accroissement max de
[email protected]
bits
22
CAN - Controller Area Network
Acquittement
 
L' "ACK slot" est émis avec une valeur récessive.
 
Lorsqu'une station reçoit cette trame de façon correcte, elle met ce
champ à une valeur dominante.
⇒  l'acquittement signifie qu'au moins une station à reçue la trame, mais
pas forcément le destinataire des données applicatives !!!
⇒  Acquittement pas totalement fiable
[email protected]
23
CAN - Controller Area Network
Type d'erreurs
  Bit error : la valeur sur le bus ≠ valeur émise
  Stuff error : 6 bits consécutifs de valeur identique
  CRC error : CRC calculé ≠ CRC reçu
  Form error : bit illégal dans un champ
  Ack error : aucun récepteur n'a acquitté l'émission
[email protected]
24
CAN - Controller Area Network
Erreur de transmission
 
Pas de correction, seulement détection (et retransmission).
 
Principe : une station qui détecte une erreur le signale aux autres par
une trame d'erreur (6 bits dominants)
 
Probabilité d'erreur résiduelle très faible (10-12)
Détection de l'erreur
×
[email protected]
25
CAN - Controller Area Network
Signalisation d'erreurs - détails
1)  Une station qui détecte une erreur transmet une
trame d'erreur.
2)  Elle commence à émettre cette trame : le champ error
flag - 6 bits dominants si en mode "erreur active", 6
bits récessifs si en mode "erreur passive".
3)  Les autres stations détectent également une erreur (soit l'erreur initiale, soit une
erreur provoquée par l'error flag), elles transmettent alors également des error flag.
=> Le champ total error flag sur le bus est compris entre 6 et 12 bits.
4)  Fin de l'émission du champ error flag. (pour le mode erreur passive, détection de 6
bits consécutifs de même polarité).
5)  Les stations tentent ensuite d'émettre le champ error delimiter : elles émettent 1 bit
récessif, puis 7 autres bits récessifs une fois le bus détecté en état récessif.
[email protected]
26
CAN - Controller Area Network
Scénarios : détection et signalisation d'une erreur
  Cas simple : une seule station "error active"
Bus
x
D
D
D
D
D
D
R
R
R
R
R
R
R
R
S1
x
D
D
D
D
D
D
R
R
R
R
R
R
R
R
Détection de l'erreur
par la station S1
Emission de l'error flag :
6 bits dominants
Emission du reste de
l'error delimiter
Début d'émission de
l'error delimiter : 1
bit récessif.
  Cas simple : une seule station "error passive"
Bus
x
R
R
R
R
R
R
R
R
R
R
R
R
R
R
S1
x
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Détection de l'erreur
par la station S1
Emission de l'error flag :
6 bits récessifs
[email protected]
Début d'émission de
l'error delimiter : 1
bit récessif.
Emission du reste de
l'error delimiter
27
CAN - Controller Area Network
Scénarios : détection et signalisation d'une erreur
  Cas avec plusieurs stations
Début d'émission de
l'error flag par S1
S1, S2 en mode active error, S3 en passive error
Error flag de S1 complet
POUR LES 3 STATIONS :
détection du bus récessif
Début d'émission de
l'error delimiter par
S1 : 1 bit récessif.
Détection de l'erreur
par la station S1
=> émission du reste de
l'error delimiter
Bus
x
D
D
D
D
D
D
D
D
R
R
R
R
R
R
R
R
S1
x
D
D
D
D
D
D
R
-
-
R
R
R
R
R
R
R
S2
x
x
-
-
D
R
D
-
D
-
D
-
D
-
D
-
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
S3
Détection de l'erreur
par les autres stations
Début d'émission de
l'error flag par S2
Error flag de S2 complet
Détection par S3 de 6
bits consécutifs
Début d'émission de
l'error flag par S3
[email protected]
Début d'émission de
l'error delimiter par S2
et S3 : 1 bit récessif.
28
CAN - Controller Area Network
Pire cas : détection et signalisation d'une erreur
  Pire cas : une station détecte l'erreur à la fin de la transmission de l'error flag
de la 1ière station.
Max : 12 bits
Bus
x
D
D
D
D
D
D
D
D
D
D
D
D
R
R
R
R
R
R
R
R
S1
x
D
D
D
D
D
D
R
-
-
-
-
-
-
R
R
R
R
R
R
R
S2
x
-
-
-
-
-
-
D
D
D
D
D
D
R
R
R
R
R
R
R
R
error flag de S1
Détection de l'erreur par
la station S2 : stuff error
error flag de S2
Emission du reste de
l'error delimiter
•  Meilleur cas : retransmission après 17bits (14 + 3 intertrame)
•  Pire cas : retransmission après 23 bits (20 + 3 intertrame)
[email protected]
29
CAN - Controller Area Network
Le confinement d'erreur
  Un exemple de problème : dans CAN, une station défectueuse peut perturber les
communication. Exemple : émission continue de trames d'erreur.
  Une solution : les stations défectueuses se déconnectent automatiquement, ou se
mettent dans un état "non nocif".
  Dans CAN : 2 compteurs d'erreurs
•  TEC : sur les trames émises (Transmit error counter)
•  REC : sur les trames reçues (Receive error counter)
  Dans CAN : 3 états de stations
•  Erreur-active : fonctionnement normal
•  Erreur-passive : émission possible, plus de détection d'erreur
•  Bus-off : déconnexion
[email protected]
La gestion de ces 3 modes s'effectue par
l'intermédiaire des 2 compteurs d'erreurs.
30
CAN - Controller Area Network
Le confinement d'erreur
  Evolution du compteur TEC :
•  Emission d'une trame ko : +8 (si <256)
  Evolution du compteur REC :
•  Réception d'une trame ok : -1 (si >0)
•  Emission d'une trame ok : -1 (si >0)
•  Réception d'une trame ko : +1 (si < 128)
Reset, configuration et startup
(128*11bits récessifs)
REC et TEC < 128
REC ou TEC
> 127
TEC > 255
[email protected]
31
CAN - Controller Area Network
Le confinement d'erreur : conclusion
  Un point fort pour la sûreté de fonctionnement
  Mais prévoir des solutions si bus-off de stations importantes du
point de vue appli.
  Et aussi : des recherches on montré que ce mécanisme n'est
pas parfait..
•  de fortes EMI peuvent mener à un bus-off
•  si la station émet, le REC ne sert à rien
•  …
[email protected]
32
CAN - Controller Area Network
Tolérance aux fautes - limitations
  Fautes byzantines : si certaines stations ont reçues une trame ok
mais que les autres, dont l'émetteur, détecte une faute (sur le champ
EOF), la trame sera retransmise => certaines stations vont recevoir
ce msg 2 fois.
⇒  Gestion au niveau applicatif : sur CAN, pas de msg on/off, pas
d'incrémentation relative (+20°)
  Babbling Idiot : si une station prioritaire accapare le medium
Validation formelle ???
[email protected]
33
CAN - Controller Area Network
*
Avantages
  Flexibilité : pas de phase de configuration, ..
  Fiabilité de la couche physique
support : paire différentielle; codage NRZ..
  Gestions des erreurs : (couche MAC)
•  Détection
•  Signalisation
•  Autotest des nœuds
Taux d'erreur : < 4,7.10-11
  Supervision et recouvrement des erreurs (couche LLC)
•  Distinction entre erreurs permanentes ou transitoires
•  Modes d'erreurs (error active, error passive, bus-off)
•  Gestion de la surcharge.
•  Réémission.
[email protected]
* www.corante.com/
34
CAN - Controller Area Network
**
Inconvénients
  Efficacité temps-réel : compromis
•   de la durée des messages
 de la durée d’inversion des priorités
•   de la durée des messages (taille)
 de la largeur de bande utile
•  trame "classique" : 66 bits d’entête 64 bits de données
faible charge utile
⇒  efficace en faible charge, sinon problème
  Limitation de l'arbitrage
•  émission d'un seul bit par intervalle de temps (qui dépend du TA/R)
⇒  Débit limité (1Mb/s max)
⇒  Longueur (50m si 1Mb/s)
[email protected]
** gamerzone.over-blog.com/
35
CAN - Controller Area Network
Utilisation industrielle
  CAN : contraintes TR OK, simple et peu cher
=> très attirant pour le milieu industriel
  L'automobile : conçu initialement pour ce domaine
aussi : autobus, camion, train, avion, ..
http://www.alabordache.com/
  Marine : protocole standard de la marine NMEA 2000
  Machinisme agricole (ISO 11783)
http://www.linternaute.com/humour/
  Milieu médicale : ex : poste de radiographie
  Autres : Automatismes industriels, machines outils,
machines textiles, bâtiments, distribution automatique,
domotique (ex : rideau de théâtre), etc.
[email protected]
Site CAN, 1999
36
Couches haut
niveau pour CAN
CANopen
[email protected]
37
CAN - Controller Area Network
CANopen
 http://www.can-cia.de/index.php?id=canopen
  Standard : EN 50325-4
  CAN Open est un protocole haut niveau dédié au système de contrôe
embarqué, basé sur le réseau CAN
  Domaines d’application : machine control, medical devices, off-road and
rail vehicles, maritime electronics, building automation as well as power
generation.
[email protected]
* www.corante.com/
38
"   FIN ( )
la vraie
[email protected]
39
Exemple de l'automobile
Steer-by-wire
Impossibl
e
d'afficher
l'image.
Votre
ordinateu
r manque
Impossibl
e
d'afficher
l'image.
Votre
ordinateu
r manque
[email protected]
Impossibl
e
d'afficher
l'image.
Votre
ordinateu
r manque
Impossibl
e
d'afficher
l'image.
Votre
ordinateu
r manque
40
Les systèmes "by-wire"
Les systèmes "by-wire" dans l'avionique
  A320 : son système de commandes électriques de type "fly-by-wire" et
une avionique entièrement numérique permettent à l'A320 d'améliorer ses
performances et sa fiabilité tout en consommant moins et en se contentant
d'une maintenance simplifiée
  A380 : système TT - Le système de réglage de pression de la cabine du
futur gros porteur Airbus A380 prévu pour 2005. Il sera contrôlé par la
technologie Time Triggered.”
  Airbus Industries has adopted TTP for cabin-pressure control in its
model A380 airliner; Honeywell is using the protocol for jet-engine control
in the F-16 fighter and has a fly-by-wire cockpit project under way. Other
nonautomotive applications include Alcatel’s railway-signalling systems,
which are operating in Austria, Hungary, and Switzerland. TTP’s automotive
customers include Audi, PSA Peugeot-Citroen, and Renault, with Tier One
suppliers Delphi, Denso, and Visteon. As proof of concept, the protocol has
appeared in by-wire prototype cars from companies such as Audi, Bertone,
Daimler, General Motors, and SKF
[email protected]
41
Exemple de l'automobile
Caractéristiques
  Complexité fonctionnelle
•  Lois de contrôle multi-variables
•  Modes de fonctionnement
•  Interactions entre les fonctions
•  Fonctions critiques : sécurité – fiabilité – disponibilité
(performances vs. contraintes de temps)
  Complexité architecturale
•  Nombre de réseaux (3 → 10 (VW Phaeton))
•  Nombre de calculateurs (30 → 70 (BMW Séries 7))
•  Nombre d’informations échangées au sein du véhicule
(~2500 (VW Phaeton))
[email protected]
42
Exemple de l'automobile
Émergence des réseaux et instruments de terrain
  Réduction de câblage
•  40% poids pour une portière Mercedes
•  41% de longueur de câble entre les Peugeot 306 et 307
  Partage des capteurs
  Amélioration des fonctions
•  disponibilités d’informations sur l’état des autres
systèmes embarqués
•  évolutivité des systèmes embarqués (« plug and play »)
[email protected]
43
La technologie Time-Triggered
Problèmes du event-triggered
  Problèmes de CAN :
•  les mécanismes d'erreurs de CAN sont efficaces mais pas sans
bugs (ex : babbling idiot) CAR LE MAUVAIS FONCTIONNEMENT
D'UN FLUX PEU S'ETENDRE AUX AUTRES FLUX
•  pas de gestion des modes de fonctionnement ou autres services
"perfectionnés" de SdF
•  messages peu prioritaires peuvent ne pas être émis.
•  retransmission, msg d'erreur : pas forcément très efficace
•  débit limité par la technique d'accès au bus (traitement TR des
données => 1Mbps max)
•  NON DETERMINISTE EN PRESENCE DE FAUTES.
  Problèmes identiques pour tous les ET ??
[email protected]
44
Références
Cette initiation aux RLI a été réalisée à l'aide des sources (livres, sites) ici référencées.
Adresses de sites
Orientés Réseaux et Télécommunications
•  http://www.urec.cnrs.fr/cours/
•  http://www.renater.fr/
Orientés Bus de terrain (sites d'associations d'utilisateurs et de constructeurs)
•  http://www.can-cia.de (Bus CAN), http://www.worldfip.org (Bus WORLDFIP),
Articles
•  Les réseaux VAN-CAN, Rapport de projet, Ecole Ingénieur 2000, Guerrin Guers & Guinchard, 2005
•  Techniques de l'ingénieur
Thèse
•  Validation temporelle de réseaux critiques et fiables pour l'automobile, PhD thesis, INSA Lyon, K. Godary, 2004
•  Intégration de mécanismes d ’ordonnancement et de communication dans la sous-couche MAC de réseaux locaux tempsréel, F. Vasques de Carvalho, Thèse UPS, LAAS Toulouse, 1996.
Ouvrages
•  « Réseaux : architectures, protocoles, applications »,
Andrew Tanenbaum, InterEditions, Collection IIA , Paris 1991.
•  « Réseaux Locaux Industriels »
Jean-Pierre Thomesse, Techniques de l ’Ingénieur R7574, R7575, R7576.
•  « Réseaux Locaux Industriels : FIP et MAP dans les systèmes automatisés »
Zoubir Mammeri, Jean-Pierre Thomesse, Editions EYROLLES.
Ces références vous permettront d'approfondir vos connaissances sur les concepts et technologies évoquées.
[email protected]
45

Documents pareils