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

Chapitre 5 Réseaux embarqués de type « TDMA » Time Division Multiple Access 2006 – 2007 Françoise Simonot-Lion Certains transparents.

Présentations similaires


Présentation au sujet: "Chapitre 5 Réseaux embarqués de type « TDMA » Time Division Multiple Access 2006 – 2007 Françoise Simonot-Lion Certains transparents."— Transcription de la présentation:

1 Chapitre 5 Réseaux embarqués de type « TDMA » Time Division Multiple Access 2006 – 2007 Françoise Simonot-Lion 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 TTP/CTTP/C Flexray Flexray Ingénieur Civil des Mines 2ème année Conception Sûre des Systèmes Embarqués et Ambiants – Module SI342b

2 Ecole des Mines de NancyCSSEA SI342b 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

3 Ecole des Mines de NancyCSSEA 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 ca

4 Ecole des Mines de NancyCSSEA 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 Capteurs de consigne conducteur ca Système de contrôle capteursactionneurs calculateurs réseau

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

6 Ecole des Mines de NancyCSSEA 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 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 Ecole des Mines de NancyCSSEA 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 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 Ecole des Mines de NancyCSSEA SI342b 7 TTP/C - « Time Triggered Protocol » pour les applications de classe C (temps réel « dur ») Quelques sites Projets connexes https://www.decos.at/index.php

9 Ecole des Mines de NancyCSSEA 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)

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

11 Ecole des Mines de NancyCSSEA SI342b 10 Principe de fonctionnement - TTP/C Nœud Producteur 1 Nœud Consommateur 1 Nœud Consommateur 2 Réseau Nœud Producteur 2 Exemple dapplication a b ba,b

12 Ecole des Mines de NancyCSSEA SI342b 11 Principe de fonctionnement - TTP/C Nœud Consommateur 1 Nœud Consommateur 2 Réseau b2b1b5b6 t Nœud Producteur 1 Nœud Producteur 2 a1a2a3a4a6 b2b1 a7a5 b3b4 a1a2a3a4a6a5 CNI ? ? a1a4 b2 b1b3b4

13 Ecole des Mines de NancyCSSEA SI342b 12 Principe de fonctionnement - TTP/C Nœud Consommateur 1 Nœud Consommateur 2 CNI t Nœud Producteur 1 Réseau Nœud Producteur 2 a1a2a3a4a6 b2b1 a7a5 b3b4 a1a2a3a4a6a5 b2b1b3b4 CNI ? ? a1a4b2 ? ? ? a1a4

14 Ecole des Mines de NancyCSSEA SI342b 13 Principe de fonctionnement - TTP/C t Nœud Producteur 1 Nœud Consommateur 1 Nœud Consommateur 2 Réseau Nœud Producteur 2 a1a2a3a4a6 b2b1 a7a5 b3b4 a1a2a3a4a6a5 b2b1b3b4 CNI ? ? a1a4b2 ? ? ? a1a4

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

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

17 Ecole des Mines de NancyCSSEA SI342b 16 Cluster et « Fault Tolerant Unit » (FTU) Noeud FTU 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 Bus

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

19 Ecole des Mines de NancyCSSEA SI342b 18 Protocoles de type TDMA – Principes slot » 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 Nœud Maître Nœud A Nœud B Nœud C round t Bus1 slot Sync

20 Ecole des Mines de NancyCSSEA 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

21 Ecole des Mines de NancyCSSEA SI342b 20 TTP/C – ordonnancement des messages t Noeud Message ABCD ABCD 1 TDMA round M A 1 ABCD 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 1 Cluster Cycle Canal 1 Canal 2

22 Ecole des Mines de NancyCSSEA 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 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 Ecole des Mines de NancyCSSEA SI342b 22 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 Ecole des Mines de NancyCSSEA 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

25 Ecole des Mines de NancyCSSEA 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 ABCD ABCD M A 1 ABCD 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 Canal 1 Canal 2 Round-Slot B Slot B

26 Ecole des Mines de NancyCSSEA SI342b 25 Trames TTP/C Trame de démarrage (« cold start frame ») Trame avec « C-State » explicite Trame avec « C-State » implicite Type Changement de mode C-State émetteur « Application Data » CRC Type Changement de mode « Application Data » CRC TypeDate globaleSlot de lémetteurCRC 16 octets maximum 4 bits16 bits

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

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

29 Ecole des Mines de NancyCSSEA SI342b 28 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 Ecole des Mines de NancyCSSEA SI342b 29 Trames TTP/C – phases de transmission slot i dans le « TDMA round » Durée du slot pour le nœud i Durée du slot pour le nœud i+1 PRPidlePSPPRPidlePSPTPPRPidlePSP slot i+1 dans le « TDMA round » IFG Inter Frame Gap AT Action Time PSP (Pre Send Phase) – TP (Transmission Phase) – PRP (Post Receive Phase) TP

31 Ecole des Mines de NancyCSSEA 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 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 à /2 ( 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 Ecole des Mines de NancyCSSEA 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 qua le nœud N de tous les nœuds du « Cluster » (vivant / non reconnu vivant)

33 Ecole des Mines de NancyCSSEA SI342b 32 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 Ecole des Mines de NancyCSSEA SI342b 33 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 TP AIFG ATP BIFG BTP CIFG C …… Membership Point de A Membership Point de B Membership Point de C Membership Recognition Point de A

35 Ecole des Mines de NancyCSSEA SI342b 34 Processus dacquittement dun nœud A TTP/C – Mécanisme dacquittement – 3 Processus 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 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 Acquittement de A A ou B est défaillant – continuer avec le deuxième successeur CRC reçu = CRC calculé false true CRC reçu = CRC calculé false true A transmet (C-State : VM(A) vivant) IFG A A reçoit une trame de B Transmission du nœud B IFG B

36 Ecole des Mines de NancyCSSEA SI342b 35 Processus dacquittement dun nœud A TTP/C – Mécanisme dacquittement – 4 Processus 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 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 Acquittement de A CRC reçu = CRC calculé false true CRC reçu = CRC calculé false true A reçoit une trame de C Transmission du nœud C IFG C B et C nont pas bien reçu la trame Non Acquittement de A

37 Ecole des Mines de NancyCSSEA 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 dacquittement

38 Ecole des Mines de NancyCSSEA SI342b 37 TTP/C – Membership - 1 IFG B A transmet (C-State : VM(A) vivant) A reçoit une trame de B CRC reçu = CRC calculé Hypothèse Ia : A et B vivants CRC reçu = CRC calculé Hypothèse Ib : A mort et B vivant false B défaillant – prendre un nouveau premier successeur – recommencer avec hypothèse Ia Acquittement de A A ou B est défaillant – continuer avec le deuxième successeur true IFG A Transmission du nœud B A, B restent dans le Membership Agreed counter++ Acknowledgement failure counter = 0 Failed slots counter++ si transmission sur les 2 canaux B quitte le Membership

39 Ecole des Mines de NancyCSSEA SI342b 38 TTP/C – Membership - 2 IFG C A reçoit une trame de C CRC reçu = CRC calculé Hypothèse IIa : A vivant, B mort et C vivant CRC reçu = CRC calculé Hypothèse IIb : A mort, B vivant et C vivant false C défaillant – prendre un nouveau deuxième successeur – recommencer avec hypothèse IIa Acquittement de A true Transmission du nœud C Non Acquittement de A A, C restent dans le Membership B quitte le Membership Agreed slots counter++ Failed slots counter++ Acknowledgement failure counter = 0 Failed slots counter++ si transmission sur les 2 canaux C quitte le Membership

40 Ecole des Mines de NancyCSSEA SI342b 39 TTP/C – Membership - 3 IFG C A reçoit une trame de C CRC reçu = CRC calculé Hypothèse IIa : A vivant, B mort et C vivant CRC reçu = CRC calculé Hypothèse IIb : A mort, B vivant et C vivant false C défaillant – prendre un nouveau deuxième successeur – recommencer avec hypothèse IIa Acquittement de A true Transmission du nœud C Non Acquittement de A A nest pas dans le Membership B, C restent dans le Membership Agreed slots counter++ Failed slots counter++ Acknowledgement failure counter ++ Failed slots counter++ si transmission sur les 2 canaux C quitte le Membership Si >= une valeur max, le noeud se déconnecte

41 Ecole des Mines de NancyCSSEA SI342b 40 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 > 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 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 < failed slots counter le nœud se déconnecte agreed slots counter - failed slots counter < 2 erreur globale du système de communication

42 Ecole des Mines de NancyCSSEA SI342b 41 FlexRay Un site

43 Ecole des Mines de NancyCSSEA 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)

44 Ecole des Mines de NancyCSSEA 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)

45 Ecole des Mines de NancyCSSEA SI342b 44 FlexRay – Format de la trame RES1RES1 RES2RES2 Frame ID Length SYNCSYNC Header CRC DUBDUB Message ID ou données DonnéesCRC Data Update Bit (rafraîchissement de la donnée depuis la dernière transmission) octets (0..246) + 3 octets

46 Ecole des Mines de NancyCSSEA 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

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

48 Ecole des Mines de NancyCSSEA SI342b 47 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 (<=16) 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 Ecole des Mines de NancyCSSEA SI342b 48 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 Ecole des Mines de NancyCSSEA 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 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 Ecole des Mines de NancyCSSEA SI342b 50 FlexRay – synchronisation dhorloge Maître unique : un slot dans le cycle statique Multi-maîtres (2.. 16)

52 Ecole des Mines de NancyCSSEA SI342b 51 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 Ecole des Mines de NancyCSSEA 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 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 !


Télécharger ppt "Chapitre 5 Réseaux embarqués de type « TDMA » Time Division Multiple Access 2006 – 2007 Françoise Simonot-Lion Certains transparents."

Présentations similaires


Annonces Google