La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Pourquoi des réseaux guidés par le temps - 1

Présentations similaires


Présentation au sujet: "Pourquoi des réseaux guidés par le temps - 1"— Transcription de la présentation:

0 2006 – 2007 Françoise Simonot-Lion (simonot@loria.fr)
Ingénieur Civil des Mines 2ème année Conception Sûre des Systèmes Embarqués et Ambiants – Module SI342b Chapitre 5 Réseaux embarqués de type « TDMA » Time Division Multiple Access TTP/C Flexray Certains transparents de ce cours proviennent du cours de Nicolas Navet (ENSEM – EMN / ) 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

1 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 Ecole des Mines de Nancy CSSEA SI342b

2 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 processus à contrôler conducteur Système de contrôle Capteurs de consigne conducteur réseau c a Ecole des Mines de Nancy CSSEA SI342b

3 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 c a Système de contrôle capteurs actionneurs calculateurs Capteurs de consigne conducteur réseau Ecole des Mines de Nancy CSSEA SI342b

4 Pourquoi des réseaux guidés par le temps - 4
Assistance à la conduite Capteur angle volant Retour de force Capteur angle roue Actionneurs de direction Capteurs environnement (caméra) Réseau Volant Exemple : « steer-by-Wire » Ecole des Mines de Nancy CSSEA SI342b

5 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 d’un ECU, au sein d’un ensemble d’ECU) 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 d’architectures d’applications « guidées par le temps » Ecole des Mines de Nancy CSSEA SI342b

6 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 l’automobile  autres applications (aviation, transport ferroviaire, …) Des produits : TTTech ( ) FlexRay Une initiative de l’industrie 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 l’instant, le protocole reste à valider Produits à venir Ecole des Mines de Nancy CSSEA SI342b

7 TTP/C - « Time Triggered Protocol » pour les applications de classe C (temps réel « dur »)
Quelques sites Projets connexes Ecole des Mines de Nancy CSSEA SI342b

8 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) Ecole des Mines de Nancy CSSEA SI342b

9 Structure d’un réseau TTP/C
SRU (Smallest Replaceable Unit) CNI (échange de données) Capteurs / actionneurs Application Locale 1 micro-contrôleur Communication Network Interface Contrôleur de Application Locale 1 micro-contrôleur Communication Network Interface Contrôleur de Application Locale 1 micro-contrôleur Communication Network Interface Contrôleur de Partie applicative CNI CC Partie communication Bus physique redondé Ecole des Mines de Nancy CSSEA SI342b

10 Principe de fonctionnement - TTP/C
Exemple d’application Nœud Producteur 1 Nœud Producteur 2 a b Réseau a,b b Nœud Consommateur 1 Nœud Consommateur 2 Ecole des Mines de Nancy CSSEA SI342b

11 Principe de fonctionnement - TTP/C
Nœud Producteur 1 Producteur 2 a1 a2 a3 a4 a6 b2 b1 a7 a5 b3 b4 CNI ? a1 a4 ? b1 b1 b2 b2 b3 b5 b4 b6 b2 b2 Réseau Nœud Consommateur 1 Nœud Consommateur 2 Ecole des Mines de Nancy CSSEA SI342b

12 Principe de fonctionnement - TTP/C
Nœud Producteur 1 Réseau Producteur 2 a1 a2 a3 a4 a6 b2 b1 a7 a5 b3 b4 CNI ? a1 b2 b2 a4 b2 b2 CNI ? ? Nœud Consommateur 1 CNI ? Nœud Consommateur 2 Ecole des Mines de Nancy CSSEA SI342b

13 Principe de fonctionnement - TTP/C
a1 a2 a3 a4 a5 a6 a7 Nœud Producteur 1 CNI ? a1 a2 a3 a4 a5 a6 b1 b2 b3 b4 Nœud Producteur 2 CNI ? b1 b2 b3 b4 Réseau a1 b2 a4 b2 CNI ? a1 a4 ? b2 b2 Nœud Consommateur 1 CNI b2 b2 ? Nœud Consommateur 2 Ecole des Mines de Nancy CSSEA SI342b

14 Un nœud TTP Interface d’entrées/sorties avec l’environnement
Micro-contrôleur (CPU, RAM, ROM) supportant les tâches applicatives locales CNI DPRAM (Dual Ported RAM) Contrôleur Gestion du protocole TTP/C MEDL Données de contrôle TTP/C (ROM) « Message Descriptor List » Gardien de bus Chien de garde matériel pour garantir un comportement « fail silent » Garde contre le « babbling idiot » Ecole des Mines de Nancy CSSEA SI342b

15 Topologies TTP/C Bus Etoile Combinaison Bus/Etoile Multi-Etoiles Noeud
SC Etoile Noeud Bus Noeud SC Multi-Etoiles Noeud SC Combinaison Bus/Etoile Ecole des Mines de Nancy CSSEA SI342b

16 Cluster et « Fault Tolerant Unit » (FTU)
Noeud Noeud Noeud 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 l’exemple) Cluster : tous les nœuds connectés sur un réseau particulier Ecole des Mines de Nancy CSSEA SI342b

17 Fault Tolerance - Shadow SRU
Nœud fantôme Noeud 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 Ecole des Mines de Nancy CSSEA SI342b

18 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 Sync Nœud Maître A B C 1 2 3 4 1 2 3 4 t Bus slot round Ecole des Mines de Nancy CSSEA SI342b

19 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 Ecole des Mines de Nancy CSSEA SI342b

20 TTP/C – ordonnancement des messages
Noeud A B C D A B C D A B C D M A 1 M B 1 M C 1 M D 1 M A 2 M B 2 M C 2 M D 2 M A 1 M B 1 M C 1 M D 1 Message Canal 1 Canal 2 t 1 TDMA round 1 TDMA round 1 Cluster Cycle Ecole des Mines de Nancy CSSEA SI342b

21 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 n’est 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 l’un 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 » Ecole des Mines de Nancy CSSEA SI342b

22 TTP/C – Message Descriptor List (MEDL)
Chaque nœud connaît l’ordonnancement 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 d’arbitrage pour l’accès au bus Synchronisation des horloges Arbitrage pour le démarrage et l’intégration de nœuds en ligne Ecole des Mines de Nancy CSSEA SI342b

23 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 Ecole des Mines de Nancy CSSEA SI342b

24 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 t Noeud A B C D M 1 2 Canal 1 Canal 2 Round-Slot B Slot B Ecole des Mines de Nancy CSSEA SI342b

25 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 Ecole des Mines de Nancy CSSEA SI342b

26 Trames TTP/C - vocabulaire
Exemple sur une trame avec « C-State » explicite Message 1 2 3 Application Message 1 2 3 « Application Data » CNI Hors Protocole Type Changement de mode C-State émetteur CRC Protocole Message 1 2 3 Trame Ecole des Mines de Nancy CSSEA SI342b

27 Trames TTP/C – Calcul du CRC
Trame avec « C-State » explicite Type Changement de mode C-State émetteur « Application Data » CRC Calcul du CRC Trame avec « C-State » implicite Type Changement de mode « Application Data » CRC Calcul du CRC C-State émetteur Ecole des Mines de Nancy CSSEA SI342b

28 Trames TTP/C – validité d’une trame pour un nœud récepteur
Pour qu’une trame soit acceptée par le nœud qui la reçoit, il faut : qu’elle 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, Ecole des Mines de Nancy CSSEA SI342b

29 Trames TTP/C – phases de transmission
Durée du slot pour le nœud i Durée du slot pour le nœud i+1 PRP idle PSP TP slot i+1 dans le « TDMA round » TP IFG Inter Frame Gap slot i dans le « TDMA round » AT Action Time PSP (Pre Send Phase) – TP (Transmission Phase) – PRP (Post Receive Phase) Ecole des Mines de Nancy CSSEA SI342b

30 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 à l’horloge 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) Ecole des Mines de Nancy CSSEA SI342b

31 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 qu’a le nœud N de tous les nœuds du « Cluster » (vivant / non reconnu vivant) Ecole des Mines de Nancy CSSEA SI342b

32 TTP/C – Mécanisme d’acquittement - 1
Acquittement non explicite L’acquittement 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 d’acquittement 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 Ecole des Mines de Nancy CSSEA SI342b

33 TTP/C – Mécanisme d’acquittement - 2
Membership envoyé par un nœud A  A est vivant Membership Point d’un nœud Dans la PRP du noeud Membership Recognition Point d’un 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 Ecole des Mines de Nancy CSSEA SI342b

34 TTP/C – Mécanisme d’acquittement – 3 Processus d’acquittement d’un nœud A
A transmet (C-State : VM(A) vivant) IFG A A reçoit une trame de B Transmission du nœud B IFG B Hypothèse Ia : A suppose que B voit A et B vivants CRC reçu = CRC calculé false true Hypothèse Ib : A suppose que B voit A non vivant et B vivant Acquittement de A CRC reçu = CRC calculé false true A ou B est défaillant – continuer avec le deuxième successeur 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 Ecole des Mines de Nancy CSSEA SI342b

35 TTP/C – Mécanisme d’acquittement – 4 Processus d’acquittement d’un nœud A
A reçoit une trame de C Transmission du nœud C IFG C Hypothèse IIa : A suppose que C voit A vivant, B non vivant et C vivant CRC reçu = CRC calculé false true Hypothèse IIb : A suppose que C voit A non vivant, B vivant et C vivant Acquittement de A CRC reçu = CRC calculé false true B et C n’ont 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 Ecole des Mines de Nancy CSSEA SI342b

36 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 d’acquittement Ecole des Mines de Nancy CSSEA SI342b

37 A, B restent dans le Membership
TTP/C – Membership - 1 A transmet (C-State : VM(A) vivant) IFG A 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 A, B restent dans le Membership Agreed counter++ Acknowledgement failure counter = 0 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 Failed slots counter++ si transmission sur les 2 canaux B quitte le Membership Ecole des Mines de Nancy CSSEA SI342b

38 TTP/C – Membership - 2 true false Acquittement de A
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 Acquittement de A Hypothèse IIb : A mort, B vivant et C vivant A, C restent dans le Membership B quitte le Membership Agreed slots counter++ Failed slots counter++ Acknowledgement failure counter = 0 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 Failed slots counter++ si transmission sur les 2 canaux C quitte le Membership Ecole des Mines de Nancy CSSEA SI342b

39 A n’est pas dans le Membership B, C restent dans le Membership
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 Acquittement de A Hypothèse IIb : A mort, B vivant et C vivant true CRC reçu = CRC calculé IFG C false Non Acquittement de A A n’est pas dans le Membership B, C restent dans le Membership Agreed slots counter++ Failed slots counter++ Acknowledgement failure counter ++ C défaillant – prendre un nouveau deuxième successeur – recommencer avec hypothèse IIa Si >= une valeur max, le noeud se déconnecte Failed slots counter++ si transmission sur les 2 canaux C quitte le Membership Ecole des Mines de Nancy CSSEA SI342b

40 TTP/C – Membership - 4 Conditions initiales : à l’intégration du nœud
Agreed slots counter = 2 Failed slots counter = 0 Lors de la réception d’une trame, un nœud : Calcule la valeur du Slot Status selon les trames reçues sur les 2 canaux (max de {correct > tentative > other error > incorrect > null frame > invalide}) Slot status = correct  agreed slots counter ++ Slot status = incorrect ou invalide  failed slots counter ++ Après émission réussie, avant le processus d’acquittement 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 < failed slots counter  le nœud se déconnecte agreed slots counter - failed slots counter < 2  erreur globale du système de communication Ecole des Mines de Nancy CSSEA SI342b

41 FlexRay Un site http://www.flexray-group.com/ Ecole des Mines de Nancy
CSSEA SI342b

42 Origine de FlexRay 1999 – consortium BMW, Daimler Chrysler, Bosch, Delphi, Motorola, Philips, … Objectif : déterminisme + flexibilité Réutilisation des principes de ByteFlight (BMW) Ecole des Mines de Nancy CSSEA SI342b

43 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) Ecole des Mines de Nancy CSSEA SI342b

44 FlexRay – Format de la trame
S 1 2 Frame ID Length Y N C Header CRC D U B Message ID ou données Données Data Update Bit (rafraîchissement de la donnée depuis la dernière transmission) 12 7 9 16 octets 24 5 + (0..246) + 3 octets Ecole des Mines de Nancy CSSEA SI342b

45 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 Ecole des Mines de Nancy CSSEA SI342b

46 FlexRay – Medium Access Control
MAC de type TDMA MAC F-TDMA silence Trame physique silence Accès au médium : statique / dynamique 3 modes : statique pur – dynamique pur – mixed Cycle de fonctionnement périodique < 64 ms Ecole des Mines de Nancy CSSEA SI342b

47 FlexRay – partie statique
Les slots ont tous la même taille (taille max d’une trame) Au plus 4095 slots Un nœud peut avoir plusieurs slots / cycle (<=16) Dans le cas d’un bus redondant, un nœud peut émettre des données différentes dans les slots homologues des deux bus, ou n’émettre rien sur l’un ou les deux bus Gardien de bus Slots libres pour extensions futures Les nœuds sont informés du «MEDL» au startup Ecole des Mines de Nancy CSSEA SI342b

48 FlexRay – partie dynamique - 1
Chaque nœud possède un ou des identificateurs uniques sur l’ensemble 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 l’ordre des identificateurs Pas de retransmission en cas d’erreur Ecole des Mines de Nancy CSSEA SI342b

49 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 d’une 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) Ecole des Mines de Nancy CSSEA SI342b

50 FlexRay – synchronisation d’horloge
Maître unique : un slot dans le cycle statique Multi-maîtres ( ) Ecole des Mines de Nancy CSSEA SI342b

51 FlexRay – conclusions Meilleure utilisation de la bande passante que TTP/C d’où des débits moins élevés et des CPUs moins coûteux Réutilisation aisée d’applications Event-Triggered développées sur CAN Services spécifiques à l’automobile comme l’endormissement et le réveil des stations Grande flexibilité ! Ecole des Mines de Nancy CSSEA SI342b

52 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 l’automobile ?? - Flexibilité / incrémentalité faible FlexRay + Conçu spécifiquement pour l’automobile (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 ! Ecole des Mines de Nancy CSSEA SI342b


Télécharger ppt "Pourquoi des réseaux guidés par le temps - 1"

Présentations similaires


Annonces Google