Réseaux temps réel embarqués dans l'automobile
Les réseaux embarqués
TTP/C
Comme explicité précédemment, le protocole TTP/C est strictement guidé par le temps
et non pas par les événements. Il est donc basé sur une architecture TTA.
Il est clairement orienté sûreté. Car ce protocole impose de respecter certaines règles.
Tout d'abord il doit exister une redondance de bus physique, afin de garantir une éventuelle défaillance sur l'un d'eux.
De plus chaque équipement physique présent sur le bus
doit être lié avec ce qu'on appelle un gardien de bus. Ce gardien va permettre de vérifier que chaque noeud émet dans le time slot qui
lui est réservé et non pas empiéter sur un autre time slot. Cela garantit donc un temps de parole fixe pour chaque équipement.
Il faut également savoir que TTP/C offre un mécanisme de membership. Cela permet à tout noeud présent sur
le réseau de connaître tous les autres noeuds, et plus important cela permet de connaître leurs statuts afin de savoir si le noeud est
défaillant ou non.
TTP/C offre également la possibilité de gérer les changements de mode de marche.
Ce changement est en réalité un changement d'état du véhicule. Par exemple, un véhicule moteur éteint, un véhicule moteur allumé, un véhicule
moteur en préchauffe et portes ouvertes etc... Cela rajoute donc une grande complexité au système. Pour gérer tous ces éléments, la technologie
utilisée est le TDMA afin de garantir un accès au médium des plus performant et régulier.
Voici un shéma illustrant l'accès au médium.
Tout contrôleur de communication dispose de la liste des slots (MEDL, Message Descriptor List) qui lui sont réservés pendant le cluster cycle. Une mémoire à double accès, nommée CNI, contient les messages émis par l’application et reçus du réseau. C'est pour cela qu'à tout instant le contrôleur sait quand il doit émettre et quel message il doit aller chercher dans le CNI pour constituer la trame à un instant t. L'opération inverse fonctionne de maniène analogue car il sait également quand il doit recevoir une trame et ce qu’il doit en faire.
Tous ces mécanismes sont très utiles une fois en place mais cette mise en place est relativement complexe. De plus en cas de nécessité d'ajouter un noeud dans le réseau, cela demande de reconcevoir les TDMA Round et donc le Cluster Cycle. L'évolutivité du réseau est le principal inconvénient de ce type de réseau.
Le format de la trame n'étant diffusé publiquement, on peut seulement dire avec quasi certitude qu'elle possède un champ de données, un champ de CRC et un champ de check qui vérifie si à cet instant précis le système est en train de changer de mode de marche. On sait également qu'il existe trois types de trames différentes :
- "C-State implicite" : ce type de trame permet de transporter les données utiles avec le C-State compris dans la trame
- "C-State implicite" : ce type de trame permet de transporter les données utiles sans le C-State compris dans la trame
- "Démarrage à froid" : ce type de trame est utilisé à l'initialisation du réseau
La transmission du C-State directement dans la trame permet de vérifier plus rapidement que la trame n'est pas corrompue car ce dernier est couplé au CRC.
En tout cas, il est clair que ce protocole offre de nombreuses solutions pour la gestion des erreurs. Tout d'abord grâce au système de membership, qui permet à tout noeud de connaitre l'état du réseau et des autres noeuds présents sur ce dernier. De plus la redondance des noeuds (FTU) et du bus est un avantage incontestable.