Vous êtes sur la page 1sur 41

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/

karen.godary@lirmm.fr 1
Electronique embarquée dans l'automobile

Evolution
Genèse de Prolifération Intégration et maturité des
l’électronique de systèmes électriques &
Électricité de base automobile l’électronique électroniques

35
% du coût de l’électronique dans le véhicule

Multimédia, Soupapes
électromagnétiques
30 Télématique,
alternodémarreur GMP
Gestion d’énergie
25 Multiplexage, ABS

20 Injection électronique
Régulateur de vitesse
15
Allumage
10 Lampes,
électronique
Alternateur
radio,
5 démarreur,
dynamo
0
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/
karen.godary@lirmm.fr 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)

9 Complexité fonctionnelle (modes de fonctionnement, intéractions,


fonctions critiques..)

9 Complexité architecturale (augmentation du nb de calculateurs,


capteurs, infos, câblage, communications)

⇒ Architecture répartie, bus de communication

karen.godary@lirmm.fr 3
Exemple de l'automobile

Architectures réparties

¾ Matériel : coût, place, poids


¾ Qualité : diagnostique globale
¾ Evolutivité
¾ Normalisation

karen.godary@lirmm.fr 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 :
9 Moteur : applications de contrôle-commande
9 Habitacle : confort
9 Châssis et X-by-wire
9 Télématique : multimédia

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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))

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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
le protocole CAN

karen.godary@lirmm.fr 9
le protocole
CAN

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 11
CAN - Controller Area Network

Caractéristiques

Modèle Type d'accès Gestion de l'accès au bus Arbitrage

Producteur /
Consommateur CSMA et résolution de
Non contrôlé Basé sur la priorité
collision par arbitrage
Multi-maîtres (aléatoire) (statique) des messages
(CSMA/BA)
Client/Serveur possible

Transmission Topologie Longueur Débit

www.can-cia.org/ 50 m. 1 Mbps
Diffusion Bus
1000 m. 50 Kbps

Concepteurs Bosh, Intel (puis Philips)

Fournisseurs Siemens, Motorola, NEC, SGS, Texas Instrument, Hitachi, etc.

Norme ISO 11519

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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)
• Champ de contrôle :
• 2 bits "en réserve"
• 4 bits pour taille des données (Data Length Code) Intertrame = 3 bits obligatoires
+ 8 bits possibles
• 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) Entête max = 66 bits
47 bits + 19 bits max (bit stuffing)
• Fin de trame : 7 bits récessifs sans bit stuffing

karen.godary@lirmm.fr 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
™ Couche physique :
• notion de bits dominant et récessif

karen.godary@lirmm.fr 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..

karen.godary@lirmm.fr 16
CAN - Controller Area Network

Arbitrage - Exemple

Nœud 1 perd l'arbitrage

Nœud 3 perd l'arbitrage

karen.godary@lirmm.fr 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).
Arrivée d'une trame prioritaire
Début émission Le bus est pris => attente
d'une trame Bus libre => tentative émission
Fin d'é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).
karen.godary@lirmm.fr 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.

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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.
(n − 1)⎥
¾ Pire cas : accroissement max de ⎢⎢ bits
⎣ 4 ⎥⎦

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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

karen.godary@lirmm.fr 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.

karen.godary@lirmm.fr 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 Emission du reste de


par la station S1 Emission de l'error flag : Début d'émission de
l'error delimiter : 1 l'error delimiter
6 bits dominants
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 Emission du reste de


par la station S1 Emission de l'error flag : Début d'émission de
l'error delimiter : 1 l'error delimiter
6 bits récessifs
bit récessif.
karen.godary@lirmm.fr 27
CAN - Controller Area Network

Scénarios : détection et signalisation d'une erreur

™ Cas avec plusieurs stations S1, S2 en mode active error, S3 en passive error
Début d'émission de Error flag de S1 complet
l'error flag par S1 POUR LES 3 STATIONS :
Début d'émission de détection du bus récessif
Détection de l'erreur l'error delimiter par
par la station S1 S1 : 1 bit récessif. => é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 - - D D D D D D R R R R R R R R
S3 x - - R - - - - - R R R R R R R R

Détection de l'erreur Error flag de S2 complet


par les autres stations
Détection par S3 de 6
Début d'émission de bits consécutifs
l'error flag par S2
Début d'émission de
Début d'émission de l'error delimiter par S2
l'error flag par S3 et S3 : 1 bit récessif.
karen.godary@lirmm.fr 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

Détection de l'erreur par error flag de S2 Emission du reste de


error flag de S1 la station S2 : stuff error l'error delimiter

• Meilleur cas : retransmission après 17bits


• Pire cas : retransmission après 23 bits

karen.godary@lirmm.fr 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
La gestion de ces 3 modes s'effectue par
l'intermédiaire des 2 compteurs d'erreurs.

karen.godary@lirmm.fr 30
CAN - Controller Area Network

Le confinement d'erreur

™ Evolution du compteur TEC : ™ Evolution du compteur REC :


• Emission d'une trame ko : +8 (si <256) • 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)

REC ou TEC  127 Reset, configuration et startup


(128*11bits récessifs)
REC ou TEC
< 127

TEC > 255

karen.godary@lirmm.fr 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
•…

karen.godary@lirmm.fr 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 ???

karen.godary@lirmm.fr 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) Taux d'erreur : < 4,7.10-11


• Détection
• Signalisation
• Autotest des nœuds

¾ 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.

karen.godary@lirmm.fr * 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)

karen.godary@lirmm.fr ** 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

http://www.alabordache.com/
™ L'automobile : conçu initialement pour ce domaine
aussi : autobus, camion, train, avion, ..

™ Marine : protocole standard de la marine NMEA 2000

http://www.linternaute.com/humour/
™ Machinisme agricole (ISO 11783)

™ 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.

karen.godary@lirmm.fr Site CAN, 1999 36


CANopen

karen.godary@lirmm.fr 37
CAN - Controller Area Network

CANopen

¾ CANopen : bus de terrain utilisé actuellement.

¾ ajout d'une couche applicative sur le bus CAN.

¾ Le premier avantage du protocole CAN Open est qu’il supporte des


systèmes temps réel car un temps maximal entre l’émission et la réception
des trames pour un processus quelconque peut être défini.

¾ Le second avantage est la programmation objet.

karen.godary@lirmm.fr * www.corante.com/ 38
FIN ( )
la vraie

karen.godary@lirmm.fr 39
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-sv.cict.fr/httr/pedagogie/
• http://www.urec.cnrs.fr/cours/
• http://www.unige.ch/seinf/jfl/elem/index.htm
• http://cb.iutbeziers.univ-montp2.fr/Cb/Cours/Reseaux/
• http://www.renater.fr/
• http://physinfo.ulb.ac.be/cit_courseware/networks/default.htm

Orientés Bus de terrain (sites d'associations d'utilisateurs et de constructeurs)


• http://cran.esstin.u-nancy.fr/CRAN/Cran/ESSTIN/FieldBus
• http://www.can-cia.de (Bus CAN), http://www.worldfip.org (Bus WORLDFIP),

Ouvrages
• « Réseaux : architectures, protocoles, applications »,
Andrew Tanenbaum, InterEditions, Collection IIA , Paris 1991.
• « Transmissions et réseaux »
Stéphane Lohier, Dominique Présent, Editions DUNOD.
• « Réseaux Locaux Industriels »
Jean-Pierre Thomesse, Techniques de l ’Ingénieur R7574, R7575, R7576.
• « Intégration de mécanismes d ’ordonnancement et de communication dans la sous-couche MAC
de réseaux locaux temps-réel », F. Vasques de Carvalho, Thèse UPS, LAAS Toulouse, 1996.
• « 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.

karen.godary@lirmm.fr 45
Références
Cette initiation aux RLI a été réalisée à l'aide des sources (livres, sites) ici référencées.
Certaines images en sont également extraites

Adresses de sites

Articles
• Les réseaux VAN-CAN, Rapport de projet, Ecole Ingénieur 2000, Guerrin Guers & Guinchard, 2005

Thèse
• Validation temporelle de réseaux critiques et fiables pour l'automobile, PhD thesis, INSA Lyon, K. Godary, 2004

Ouvrages
• « Technique de l'ingénieur »

Ces références vous permettront d'approfondir vos connaissances sur les concepts et technologies évoquées.

karen.godary@lirmm.fr 46

Vous aimerez peut-être aussi