Chapitre 5 R - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Chapitre 5 R

Description:

Consommateur 1. N ud. Consommateur 2. R seau. b2. b1. b5. b6. t. N ud ... Consommateur 1. N ud. Consommateur 2. CNI. CNI. t. N ud. Producteur 1. R seau. N ud. Producteur 2 ... – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 54
Provided by: franoisesi
Category:

less

Transcript and Presenter's Notes

Title: Chapitre 5 R


1
Chapitre 5Réseaux embarqués de type
 TDMA Time Division Multiple Access
Ingénieur Civil des Mines 2ème année Conception
Sûre des Systèmes Embarqués et Ambiants Module
SI342b
  • TTP/C
  • Flexray
  • Certains transparents de ce cours proviennent
  • du cours de Nicolas Navet (ENSEM EMN /
    2003-2004)
  • du cours de Philip Koopman (Carnegie Mellon /
    2004)
  • des transparents disponibles sur le site de
    TTTech
  • du document TTP/C, High Level
    SpecificationDocument Protocol v1.1
  • 2006 2007
  • Françoise Simonot-Lion (simonot_at_loria.fr)

2
Pourquoi des réseaux guidés par le temps - 1
  • Futures applications embarquées  X-by-Wire 
  • Domaine  chassis  et  contrôle moteur 
  • Connexion mécanique entre les constituants du
    système remplacée par une connexion numérique
  • Avantages
  • bruit, vibrations, poids, encombrement,
  • coût de maintenance,
  • évolutivité du système
  • confort de conduite, assistance à la conduite,
  • Problèmes
  • Vérifier, prouver la sûreté de fonctionnement du
    système

3
Pourquoi des réseaux guidés par le temps - 2
  • Plusieurs cas de figures
  • Cas 1 seule la consigne conducteur est
    transmise via un réseau

4
Pourquoi des réseaux guidés par le temps - 3
  • Plusieurs cas de figures
  • Cas 2 capteurs de consigne / capteurs processus
    / actionneurs / calculateurs partagent le même
    réseau

conducteur processus à contrôler
5
Pourquoi des réseaux guidés par le temps - 4
  • Exemple  steer-by-Wire 

6
Systèmes X-by-Wire et architecture de
communication
  • Besoins en termes de systèmes de communication
  • Déterminisme, robustesse, tolérance aux fautes
    (détection, surveillance, tolérance)
  • Composabilité (intégration de fonctions au sein
    dun ECU, au sein dun ensemble dECU)
  • Des réseaux TDMA ( Time Division Multiple
    Access ) Pourquoi ?
  • Déterminisme assuré par une pré-affectation des
    intervalles de temps ( slots ) aux messages et
    aux stations
  • Preuve  facile  à obtenir (temps de réponse
    borné, )
  • Composabilité assurée par un placement dans les
     slots  des divers acteurs communicants
  • Conception darchitectures dapplications
     guidées par le temps 

7
Réseaux de communication embarqués de type TDMA
  • TTP/C
  • Première publication en 1994
  • Hermann Kopetz Université de Vienne, Autriche
    (brevet en 1997)
  • Abondamment étudié, prouvé, testé
  • Systèmes embarqués dans lautomobile ? autres
    applications (aviation, transport ferroviaire, )
  • Des produits TTTech (www.tttech.com/ )
  • FlexRay
  • Une initiative de lindustrie automobile (1999)
    intégration de Byteflight (BMW)
  • Plus de flexibilité (ne remet pas en cause les
    applications déployées au-dessus de CAN)
  • Pour linstant, le protocole reste à valider
  • Produits à venir

8
TTP/C -  Time Triggered Protocol pour les
applications de classe C (temps réel  dur )
  • Quelques sites
  • http//www.vmars.tuwien.ac.at/frame-home.html
  • http//tttech.com/technology/articles.htm
  • Projets connexes
  • https//www.decos.at/index.php
  • http//www.vmars.tuwien.ac.at/projects/xbywire/ind
    ex.html

9
Caractéristiques générales
  • Ordonnancement cyclique des messages
  • Accès au médium sur une base de temps stable (pas
    de collision)
  • Tolérance aux fautes intégrée dans le protocole
    (support physique redondant)
  • Débits
  • 500kbits/s 1Mbits/s 2Mbits/s 5 Mbits/s 25
    Mbits/s
  • Topologie bus ou étoile

conforme aux applications relevant de la classe C
(D)
10
Structure dun réseau TTP/C
SRU (Smallest Replaceable Unit)
Capteurs / actionneurs
Partie applicative
CNI

CC
Partie communication
Bus physique redondé
11
Principe de fonctionnement - TTP/C
Exemple dapplication
Nœud Producteur 1
Nœud Producteur 2
a
b
Réseau
b
a,b
Nœud Consommateur 1
Nœud Consommateur 2
12
Principe de fonctionnement - TTP/C
b2
b1
b5
b6
?
b2
b1
b3
b4
Réseau
Nœud Consommateur 1
Nœud Consommateur 2
13
Principe de fonctionnement - TTP/C
CNI
?
?
Nœud Consommateur 1
CNI
?
Nœud Consommateur 2
14
Principe de fonctionnement - TTP/C
t
a1
a2
a3
a4
a6
a7
a5
Nœud Producteur 1
CNI
a1
a2
a3
a4
a6
a5
?
b2
b1
b3
b4
Nœud Producteur 2
CNI
b2
b1
b3
b4
?
Réseau
a1
a4
b2
b2
CNI
?
a1
a4
?
b2
b2
Nœud Consommateur 1
CNI
b2
b2
?
Nœud Consommateur 2
15
Un nœud TTP
CNI DPRAM (Dual Ported RAM)
Contrôleur Gestion du protocole TTP/C
16
Topologies TTP/C
17
Cluster et  Fault Tolerant Unit  (FTU)
FTU
Bus
  • FTU ensemble des nœuds réalisant les mêmes
    calculs (redondance de nœuds)
  • Réplication des informations transmises
    chaque nœud émet la même information (3 réplicas
    / 1 information dans lexemple)
  • Cluster tous les nœuds connectés sur un
    réseau particulier

18
Fault Tolerance - Shadow SRU
Nœud fantôme
Noeud
Bus
  • Le nœud fantôme
  • émet uniquement si le nœud principal est
    défaillant,
  • et, dans ce cas, émet dans le  slot  du nœud
    principal

19
Protocoles de type TDMA Principes
  • Un  slot  est un intervalle de temps durant
    lequel une station émet un message
  • Un  round  TDMA est une séquence de slots telle
    que chaque station parle exactement 1 fois

20
TTP/C TDMA
  • Un nœud (une FTU) peut vouloir transmettre
    plusieurs messages
  • Mais 1 slot / nœud dans chaque  round 
  • ? dans un round TDMA,
  • chaque nœud (de chaque FTU) transmet un message
    (un  réplica  du message) dans son slot (sur
    chaque bus)
  • le round se termine quand tous les nœuds (de tous
    les FTU) ont envoyé un message
  • Plusieurs  round  TDMA différents par les
    messages peuvent être définis (ordre et taille
    des slots identiques pour tous les rounds)
  • Le  Cluster Cycle  est la suite de tous les
     rounds TDMA 
  • Un  Cluster Cycle  est exécuté en boucle
  • Une spécification de  Cluster Cycle  est
    définie pour chaque mode de marche

21
TTP/C ordonnancement des messages
A
B
C
D
A
B
C
D
A
B
C
D
Noeud
Message
Canal 1
t
Canal 2
1 TDMA round
1 TDMA round
1 Cluster Cycle
22
TTP/C ordonnancement des messages et Tolérance
aux fautes
  • FTU
  • Un slot par nœud de la FTU dans chaque  TDMA
    round 
  • La redondance nest pas traitée au niveau du
    protocole mais au niveau supérieur (par exemple,
    dans OSEK-FTCom)
  • 2 nœuds par FTU ? Assure la transmission en cas
    de défaillance unique de lun des nœuds
     protection dans le domaine temporel  pas de
    conclusion possible en cas de valeurs transmises
    divergentes
  • 3 nœuds par FTU ? Conclusion possible en cas de
    valeurs divergentes (moyenne, par exemple)
     protection dans le domaine des valeurs 
  •  Shadow Node 
  • Un seul slot pour le nœud et son nœud fantôme
    dans chaque  TDMA round 

23
TTP/C Message Descriptor List (MEDL)
  • Chaque nœud connaît lordonnancement statique de
    tous les messages du  Cluster Cycle  pour
    chaque mode de marche
  • Dans un mode de marche donné, à un instant t
    donné, dans un  Cluster Cycle  correspond
  • un et un seul nœud
  • un et un seul message
  • Pas darbitrage pour laccès au bus
  • Synchronisation des horloges
  • Arbitrage pour le démarrage et lintégration de
    nœuds en ligne

24
TTP/C Gardien de bus ( Bus Guardian ) -1
  • Garantit que le processeur de protocole német
    des données sur le bus que dans le slot prévu
  • Protection contre les stations qui sont
    désynchronisées
  • Protection contre les stations bavardes
    ( babbling idiot )
  • Le gardien de bus devrait
  • avoir sa propre horloge
  • ne pas être trop proche physiquement du
    processeur de protocole (éviter les modes de
    défaillance communs)
  • avoir sa propre alimentation électrique

25
TTP/C Gardien de bus ( Bus Guardian ) -2
  • Sur un nœud N, ouverture de la ligne uniquement
    aux instants spécifiés dans la MEDL
  • exemple, sur le nœud B

26
Trames TTP/C
  • Trame de démarrage ( cold start frame )

Type
Date globale
Slot de lémetteur
CRC
  • Trame avec  C-State  explicite

Type
Changement de mode
C-State émetteur
 Application Data 
CRC
16 octets maximum
  • Trame avec  C-State  implicite

Type
Changement de mode
 Application Data 
CRC
4 bits
16 bits
27
Trames TTP/C - vocabulaire
  • Exemple sur une trame avec  C-State  explicite

28
Trames TTP/C Calcul du CRC
  • Trame avec  C-State  explicite

Calcul du CRC
  • Trame avec  C-State  implicite

Calcul du CRC
29
Trames TTP/C validité dune trame pour un nœud
récepteur
  • Pour quune trame soit acceptée par le nœud qui
    la reçoit, il faut
  • quelle soit  valide  (conforme à la
    spécification indiquée dans la MEDL du nœud
    récepteur)
  • et  correcte 
  • pour une trame à  C-State  explicite,
  • CRC reçu CRC calculé
  • et C-State dans la trame C-State de la station
    réceptrice
  • pour une trame à  C-State  implicite,
  • CRC reçu CRC calculé

30
Trames TTP/C phases de transmission
PSP (Pre Send Phase) TP (Transmission Phase)
PRP (Post Receive Phase)
31
TTP/C Synchronisation des horloges
  • Pas de trafic supplémentaire pour synchroniser
    les horloges
  • 4 nœuds au minimum doivent être  Master Clocks 
  • Dérive maximale de leurs horloges de 10-4 s/s
  • Chaque nœud récepteur compare son horloge à
    lhorloge de lémetteur (si celui-ci est  Master
    Clock )
  • Si la différence absolue est supérieure à p/2 (p
    est la précision demandée), le nœud récepteur se
    considère incorrect (déconnexion)
  • Sinon, le nœud remet à jour son horloge (et les
    données impliquées)

32
TTP/C C-State
  • Chaque nœud N émetteur construit et
    éventuellement transmet dans son  slot  une
    structure de donnée C-State, qui comprend
  • horloge de transmission du nœud N (Master Clock)
  • numéro du slot attribué au nœud N dans ce  TDMA
    round 
  • demande de changement de mode au prochain
     Cluster Cycle 
  • vecteur local de  Membership 
  • vecteur de la vision qua le nœud
    N de tous
  • les nœuds du  Cluster  (vivant /
    non reconnu vivant)

33
TTP/C Mécanisme dacquittement - 1
  • Acquittement non explicite
  • Lacquittement est déterminé par le nœud N,
    émetteur dans le slot i, après un traitement des
    trames en provenance de ses deux successeurs (au
    plus) dans le TDMA round
  • relation  successeur  de nœud (relation
    dynamique)
  • Le processus dacquittement repose sur la
    comparaison du vecteur de Membership local au
    nœud N avec les vecteurs de Membership transmis
    dans les trames
  • Seules les trames valides (émises dans leur slot,
    longueur correcte) sont analysées
  • Trames à C-State explicite / Trames à C-State
    implicite

34
TTP/C Mécanisme dacquittement - 2
  • Membership envoyé par un nœud A ? A est vivant
  • Membership Point dun nœud
  • Dans la PRP du noeud
  • Membership Recognition Point dun nœud
  • Instant où la décision est définitive pour ce
    nœud (trame acquittée / non acquittée)
  • A lémission, A a une vision des stations
    vivantes conforme à celle des stations vivantes

Membership Recognition Point de A
Membership Point de A
Membership Point de B
Membership Point de C
TP A
IFG A
TP B
IFG B
TP C
IFG C


35
TTP/C Mécanisme dacquittement 3Processus
dacquittement dun nœud A
Hypothèse Ia A suppose que B voit A et B vivants
Hypothèse Ib A suppose que B voit A non vivant
et B vivant
Acquittement de A
Erreur de transmission de B ou B a une vision des
autres stations différente de celle de A B
défaillant prendre un nouveau premier
successeur recommencer avec hypothèse Ia
A ou B est défaillant continuer avec le
deuxième successeur
36
TTP/C Mécanisme dacquittement 4Processus
dacquittement dun nœud A
Hypothèse IIa A suppose que C voit A vivant, B
non vivant et C vivant
Hypothèse IIb A suppose que C voit A non
vivant, B vivant et C vivant
Acquittement de A
B et C nont pas bien reçu la trame Non
Acquittement de A
Erreur de transmission de C ou C a une vision des
autres stations différente de celle de A C
défaillant prendre un nouveau deuxième
successeur recommencer avec hypothèse IIa
37
TTP/C Service de Membership
  • Assure que tout nœud vivant sur le réseau a la
    même vue de létat des autres nœuds
  • Service réalisé par le mécanisme dacquittement

38
TTP/C Membership - 1
IFG A
A transmet (C-State VM(A) vivant)
A reçoit une trame de B
Transmission du nœud B
Hypothèse Ia A et B vivants
true
CRC reçu CRC calculé
false
Acquittement de A
Hypothèse Ib A mort et B vivant
true
CRC reçu CRC calculé
IFG B
false
A ou B est défaillant continuer avec le
deuxième successeur
B défaillant prendre un nouveau premier
successeur recommencer avec hypothèse Ia
39
TTP/C Membership - 2
A reçoit une trame de C
Transmission du nœud C
Hypothèse IIa A vivant, B mort et C vivant
true
CRC reçu CRC calculé
false
Hypothèse IIb A mort, B vivant et C vivant
Acquittement de A
true
CRC reçu CRC calculé
IFG C
false
Non Acquittement de A
C défaillant prendre un nouveau deuxième
successeur recommencer avec hypothèse IIa
40
TTP/C Membership - 3
A reçoit une trame de C
Transmission du nœud C
Hypothèse IIa A vivant, B mort et C vivant
true
CRC reçu CRC calculé
false
Hypothèse IIb A mort, B vivant et C vivant
Acquittement de A
true
CRC reçu CRC calculé
IFG C
false
Non Acquittement de A
C défaillant prendre un nouveau deuxième
successeur recommencer avec hypothèse IIa
41
TTP/C Membership - 4
  • Conditions initiales à lintégration du nœud
  • Agreed slots counter 2
  • Failed slots counter 0
  • Lors de la réception dune trame, un nœud
  • Calcule la valeur du Slot Status selon les trames
    reçues sur les 2 canaux (max de correct gt
    tentative gt other error gt incorrect gt null frame
    gt invalide)
  • Slot status correct ? agreed slots counter
  • Slot status incorrect ou invalide ? failed
    slots counter
  • Après émission réussie, avant le processus
    dacquittement
  • Agreed slots counter 1
  • Détection de  clique 
  • Une fois / round, dans le PSP précédant le slot
    du nœud A
  • agreed slots counter lt failed slots counter ?
    le nœud se déconnecte
  • agreed slots counter - failed slots counter lt
    2

  • ? erreur globale du système de
    communication

42
FlexRay
  • Un site
  • http//www.flexray-group.com/

43
Origine de FlexRay
  • 1999 consortium BMW, Daimler Chrysler, Bosch,
    Delphi, Motorola, Philips,
  • Objectif déterminisme flexibilité
  • Réutilisation des principes de ByteFlight (BMW)

44
FlexRay Topologie, couche physique
  • Bus simple ou redondant
  • Couche physique optique ou électrique
  • Débit 500 kBits/s ? 10 Mbits/s
  • Nœud connecté sur un ou les 2 bus (si redondance)
  • Bus ou étoile
  • Réutilisation des principes de ByteFlight (BMW)

45
FlexRay Format de la trame
46
FlexRay Codage des trames
  • Code NRZ 8N1 1 bit start, 1 bit stop, pour
    chaque octet de données
  • FSS (Frame Start Sequence) 8 bits 0
  • SOC (Start Of Cycle) 10 bits 1 30 bits 0

47
FlexRay Medium Access Control
MAC F-TDMA
MAC de type TDMA
silence
Trame physique
silence
  • Accès au médium statique / dynamique
  • 3 modes statique pur dynamique pur mixed
  • Cycle de fonctionnement périodique lt 64 ms

48
FlexRay partie statique
  • Les slots ont tous la même taille (taille max
    dune trame)
  • Au plus 4095 slots
  • Un nœud peut avoir plusieurs slots / cycle (lt16)
  • Dans le cas dun bus redondant, un nœud peut
    émettre des données différentes dans les slots
    homologues des deux bus, ou némettre rien sur
    lun ou les deux bus
  • Gardien de bus
  • Slots libres pour extensions futures
  • Les nœuds sont informés du MEDL au startup

49
FlexRay partie dynamique - 1
  • Chaque nœud possède un ou des identificateurs
    uniques sur lensemble du système (CAN)
  • A chaque identificateur est assigné un intervalle
    de temps (mini-slot) dans lequel la transmission
    de la trame correspondante peut commencer
  • Les intervalles sont alloués dans lordre des
    identificateurs
  • Pas de retransmission en cas derreur

50
FlexRay partie dynamique - 2
  • Si redondance des canaux, les choix de
    transmettre ou non peuvent être différents sur
    chacun des canaux
  • Des transmissions successives dune trame de même
    identificateur peuvent être de tailles
    différentes
  • Le segment dynamique se termine après une durée
    prédéterminée même si toutes les trames ne sont
    pas transmises
  • Pas de gardien de bus dans le segment dynamique
  • Sous certaines hypothèses sur le trafic, il
    est possible de calculer des pires temps de
    réponse ( CAN)

51
FlexRay synchronisation dhorloge
  • Maître unique un slot dans le cycle statique
  • Multi-maîtres (2 .. 16)

52
FlexRay conclusions
  • Meilleure utilisation de la bande passante que
    TTP/C doù des débits moins élevés et des CPUs
    moins coûteux
  • Réutilisation aisée dapplications
    Event-Triggered développées sur CAN
  • Services spécifiques à lautomobile comme
    lendormissement et le réveil des stations
  • Grande flexibilité !

53
FlexRay conclusions
  • TTP/C
  • Nombreux services pour la SdF (mode de marche,
    redondance, membership, clique avoidance,)
  • Visiblement conçu pour la certification
  • - Comportement en dehors des hypothèses de fautes
    !? Les hypothèses faites (au plus une faute tous
    les 2 rounds) sont-elles les bonnes pour
    lautomobile ??
  • - Flexibilité / incrémentalité faible
  • FlexRay
  • Conçu spécifiquement pour lautomobile
    (nécessité de CPU moins puissants que TTP/C,
    réutilisation des logiciels développés pour CAN,
    mode veille,)
  • Flexibilité
  • - Délibérément peu de fonctionnalités liées à
    la SdF (redondance, membership) pb
    implémentation moins efficace au dessus de la
    couche LdD
  • - Validation du protocole !
Write a Comment
User Comments (0)
About PowerShow.com