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.

Accès au support avec TTP/C

Dans ce schéma, notre système n'est pas très complexe. Il est représenté par seulement deux noeuds. L'ensemble des actions des noeuds du système crée un TDMA Round et l'ensemble de ces TDMA Round forme un Cluster Cycle. Il faut savoir qu'à chaque TDMA Round les actions des noeuds peuvent être différentes du dernier round envoyé. Cette technique permet ainsi de respecter le temps de parole de chaque noeud. A noter que sur le schéma ci-dessus, la redondance du bus n'est pas indiquée.

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.

Mécanisme de memoire avec TTP/C



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 : Mais qu'est ce que le C-State ? C'est une information composée de la valeur courante de l'horloge, de l'état actuel du contrôleur, du slot affecté au noeud et de la liste des noeuds non défaillants 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.