Flexray Claude Barbaud 28 septembre 2010 1. Références Paret, Dominique, Réseaux multiplexés pour systèmes embarqués, Dunod, 2005, ISBN10 : 2-10-005267-5 ISBN13 : 978-2-10-005267-7 Consortium Flexray : www.flexray.com Protocole Flexray : Flexray Protocol Specification V2.1 Rev.A FlexRay starter kit http://duxsolutions.com/shop/index.php?main_page=product_info&cPath=1&products_id=1 National Instruments: http://zone.ni.com/devzone/cda/tut/p/id/3352 Cours sur Flexray : http://www.ece.cmu.edu/~ece649/lectures/21_flexray.pdf Vector : http://www.vectorelearning.com/index.php?wbt_ls_kapitel_id=490436&root=378422&seite=vl_einfuehrungfr_e n Transceiver NXP TJA1080 : http://www.nxp.com/documents/data_sheet/TJA1080A.pdf Freescale: http://www.freescale.com/files/microcontrollers/doc/brochure/BRINVEHICLENET.pdf 2. Origine Consortium pour pallier aux manques de CAN : o o o o o absence de déterminisme, absence de redondance, débit faible peu de tolérance aux fautes pas de support optique BMW, Daimler, GM Bosch NXP, Freescale (+tard) Volkswagen Associate members : constructeurs automobiles, équipementiers, fondeurs Flexray 1/14 depuis 2002 quelques véhicules à ce jour (2010): BMW séries 5 et 7, Audi, Bentley, Rolls-Royce. Flexray 2/14 3. Buts haut débit peut aller à X-by-wire capable de redondance : o débit élevé : répétition possible o deux canaux de communication distincts transmettent la même information o ou deux canaux pour des informations complémentaires, avec position de repli (fault tolerant) o évolutif Topologies o simple canal o double canaux o bus o étoiles passives et actives o étoiles multiples et sous-bus o passerelles vers CAN et LIN Communication o 10 Mbps o transmissions déterministes. Latence connue. Tolérance de gigue (Jitter Tolerance). o redondance logicielle et physique o détection et signalisation d’erreurs o accepte un « bus guardian » pour la signalisation des erreurs et l’endiguement (containment ) des fautes o introduction de nouveaux nœuds sans reconfiguration Flexray Sécurité 3/14 o redondance o déterminisme o stratégie de « never give up ». Ne renonce jamais o robustesse (EMC) 4. Fonctionnement 4.1. Gestion du protocole Flexray pas de collision durées de transmission connues de tous les nœuds communications hiérarchisées l’utilisation des créneaux de temps est définie à la conception du système 4/14 le démarrage d’un cycle est déterminé par une base de temps (nœud gestionnaire du réseau) le cycle est récurent chaque cycle possède un segment statique, un segment dynamique, une fenêtre optionnelle de symboles et un temps de repos 4.2. Trame de communication Header, payload, trailer Segment d’en-tête (5 bytes) o 5 bits divers Flexray 5/14 1 bit réservé 0 1 indicateur de préambule de charge 0 = rien 1 = le payload contient d’abord un vecteur de management du réseau (si trame statique) 1 = le payload contient d’abord un ID de trame (si trame dynamique) 1 indicateur de trame nulle 0 = trame nulle (pas de datas valides) 1 = trame avec des datas 1 indicateur de trame de synchronisation 0 = trame normale 1 = trame de synchronisation pour synchroniser les horloges 1 indicateur de « startup frame » 0 = normal 1 = la trame qui suit est une trame de démarrage (séquences de démarrage à froid (coldstart)) o Identificateur de trame (Frame ID) = 11 bits 1 à 2047 MSBit en premier position du time slot dans un segment statique priorité dans un segment dynamique. Les ID bas ont priorité sur les ID plus élevés o longueur de la charge = 7 bits 0 à 127 c’est la quantité de mots de 16 bits transmis (x 2 bytes) o CRC de l’entête = 11 bits Flexray protège l’entête ne protège pas le compteur de cycle 6/14 o Compteur de cycle = 6 bits numéro du cycle de communication en cours incrémenté à chaque indice de continuité de la communication Segment de charge (0 à 254 bytes) dépend du type de segment : statique ou dynamique Segment statique Flexray communication sur 2 canaux; Time Division Multiple Access, TDMA. Déterministe. Le temps de latence est assuré créneaux de temps égaux temps de garde (silences) égaux pas d’empiétement possible, pas de collision les deux canaux peuvent : transporter des trames vers le même nœud (redondance) transporter vers 2 nœuds différents transporter une seule trame ne rien transporter 7/14 Segment dynamique Flexible Time Division Multiple Access = FTDMA Non déterministe : les messages sont priorisés comme en CAN : les trames contiennent un ID. temps divisé en minislots une transmission peut occuper plusieurs minislots, selon les besoins. la transmission suivante est alignée sur une minislot : l’arbitrage fonctionne à ce moment peut transmettre toutes sortes de messages : messages sporadiques messages de diagnostic Champ de fin de trame o CRC 24 bits o protège le segment complet 4.3. Accès au medium Flexray 8/14 Le concepteur du système définit : segment statique : tâches à latence sensible (quasi temps réel) segment dynamique : autres tâches durée relative de chaque segment ordre des trames dans le segment statique 5. Couche physique Codage des bits Codage NRZ Représentation physique des bits Différentiel : deux lignes BP et BM Faibles variations : faible rayonnement Idle_LP = low power Idle = recessif = 2,5 V Data_1 = BP > 2,5 V et BM < 2,5 V (dominant) Data_0 = BP < 2,5 V et BM > 2,5 V (dominant aussi) Débit débit = 10 Mbps Flexray 9/14 durée d’un bit = 100 ns Temps de propagation ne doit jamais dépasser 2500 ns paire torsadée : temps de propagation max = 10 ns/m le temps de propagation = somme des temps de fils + temps des répéteurs Topologies Point à point ajout de résistance de terminaison bus linéaire passif Distance maximale entre 2 noeuds= 24 m Nombre de nœuds maximal = 22 Flexray 10/14 Étoile passive Liaison centrale : pas de répéteur Distance max = 24 m Nmax = 22 Étoile active Répéteur : les liaisons deviennent point à point : l = 24 m et R de terminaison Flexray cascade d’étoiles actives 11/14 limité à 2 coupleur maximum entre 2 nœuds Flexray étoile active avec redondance structures hybrides 12/14 évidemment Synchronisation Nécessité d’une clock global Clocks locales Resynchronisation périodique définie par le protocole Flexray 13/14 (tiré de la brochure de Freescale = http://www.freescale.com/files/microcontrollers/doc/brochure/BRINVEHICLENET.pdf) Flexray 14/14