Comprendre le temps réel, de l'automatisme à la téléphonie mobile
Un système temps réel réagit à un événement extérieur dans un délai défini et prévisible. Encore faut-il distinguer temps réel dur, souple et ferme : les exigences n'ont rien de commun.
On parle souvent d'aptitude au temps réel : le traitement en temps réel est indispensable dans de nombreux domaines, de l'informatique à l'automatisme, en passant par les bus de terrain et la téléphonie mobile. Mais que recouvre exactement cette notion, et pourquoi est-elle si importante ?
L'aptitude au temps réel concerne les systèmes qui réagissent à des événements ou à des données extérieurs dans un délai défini et prévisible. Le temps de réaction est si court que le système répond pour ainsi dire « immédiatement ». On distingue trois formes de temps réel, à mettre en œuvre selon les exigences de l'application.
Le temps réel dur
Des conditions temporelles strictes doivent être respectées : tout dépassement de la limite peut provoquer un dysfonctionnement critique. L'exemple type est l'ABS d'une automobile. Lorsque le conducteur freine, l'ABS doit réagir immédiatement pour empêcher le blocage des roues. Le moindre retard, même de l'ordre de la milliseconde, peut avoir de graves conséquences. Dans de tels systèmes, tout dépassement du délai défini est considéré comme une défaillance.
Le temps réel souple
Il s'agit de systèmes où des retards occasionnels sont acceptables tant que la performance moyenne reste bonne. Le streaming vidéo en est un bon exemple : si la vidéo se déroule normalement de façon fluide et n'entre en mémoire tampon que de temps à autre, l'expérience utilisateur n'est pas significativement dégradée. Les systèmes à temps réel souple sont donc plus tolérants, dans la limite d'une performance d'ensemble acceptable.
Le temps réel ferme
Moins strict que le temps réel dur : les spécifications temporelles comptent, mais leur dépassement n'entraîne pas nécessairement de conséquences graves. Dans ces systèmes, le résultat ou le message devient simplement sans intérêt ou inutile une fois le délai écoulé.
De la seconde à la milliseconde
Les exigences varient fortement selon l'application, de la seconde à la milliseconde. En logistique, dans un entrepôt automatisé, robots et convoyeurs peuvent être cadencés à la seconde : le déplacement des marchandises d'un point à un autre compte, mais quelques secondes de retard restent en général tolérables.
Lors d'une collision, en revanche, les données de l'accéléromètre doivent servir à déclencher les airbags le plus vite possible, en tenant compte de la force et du point d'impact. Cette décision se prend en 20 à 30 millisecondes pour assurer une protection efficace ; tout retard mettrait gravement en danger la sécurité des occupants.
Dans la mise en réseau industrielle des équipements, on emploie souvent des réseaux Ethernet industriels, dont on vante également l'aptitude au temps réel. EtherCAT en est un exemple : son développement a mis l'accent sur des temps de cycle courts (≤ 100 µs) et une faible gigue. Lors de la conception d'un système complet apte au temps réel, tous les sous-ensembles comptent — de la mise en réseau des capteurs et actionneurs à la transmission et au traitement des données.
En résumé
Le traitement en temps réel est un aspect clé de nombreux domaines techniques. Il désigne la capacité d'un système à réagir rapidement à des événements extérieurs. Selon l'exigence, on distingue le temps réel dur, où des conditions strictes doivent être observées (l'ABS), le temps réel souple, qui tolère des retards occasionnels (le streaming), et le temps réel ferme, aux spécifications moins contraignantes. Les délais requis s'échelonnent de la seconde à la milliseconde, voire au-delà.