Des calculateurs automobiles plus sûrs pour la cohabitation de fonctions hétérogènes
Pour les futures générations d'architectures électroniques, les constructeurs automobiles ont pour objectif de réduire le nombre de calculateurs afin d'en mieux maîtriser le coût et l'empreinte énergétique. Cette tendance amène à une cohabitation de fonctions hétérogènes en termes de niveaux de criticité (de confiance), requérant une amélioration de la sûreté de fonctionnement des calculateurs automobiles afin de garantir l'absence d'interférence entre elles.
Au sein du projet SCARLET (Num@tec/System@TIC), le CEA LIST conçoit et réalise les mécanismes de détection et de confinement des anomalies pour atteindre un fonctionnement sans défaut non reproductible et un niveau acceptable de disponibilité du système. Ces techniques, implémentées de manière générique (indépendantes de l'application et systématiquement actives), reposent sur une mise en œuvre efficace des mécanismes de protection matériels (MPU, timers, modes d'exécution) et une configuration automatique des barrières de protection nécessaires à la non interférence entre fonctions. Ainsi, le système est maintenu stable, capable de continuer son exécution dans un mode dégradé, puis d'entreprendre une reprise contrôlée de la fonction défaillante pour une meilleure disponibilité.
Une première maquette de ces mécanismes a été réalisée sur un microcontrôleur S12XEP100 (Freescale), pour laquelle une application allégée de type automobile a été développée, supportant des fonctionnalités de communications CAN et de gestion d'entrées/sorties temps-réel. Des erreurs (adressage erroné, surcharge CPU et rafale d’interruptions temporelles) y ont été injectées. La fonction fautive est ainsi confinée, de telle manière que les autres fonctions poursuivent leurs calculs temps-réel, tandis que la reprise de la tâche fautive est réalisée dans une fenêtre temporelle spécifiée par conception. Contrairement aux calculateurs automobiles embarqués actuels, qui effectuent un redémarrage complet occasionnant une indisponibilité et une perte de toutes les fonctions jusqu'au retour en mode nominal, la solution du LIST autorise un niveau de disponibilité sans précédent.
 |
Ce résultat innovant est d’autant plus significatif qu’il permet d'adresser le futur standard automobile ISO26262 en termes d'exigences de sûreté les plus sévères (ASIL D) sans pour autant en accroître le coût de mise en œuvre. En effet, la protection apportée génère des économies de temps, les mécanismes génériques étant automatiquement configurés par les outils support sans requérir l'intervention du développeur et facilitant l'éradication de défauts.
Enfin, la technologie apporte des gains importants en termes de ressources, le niveau de protection atteint permettant de supprimer certains mécanismes actuels coûteux en mémoire et en temps CPU. L'approche proposée permet également d'assister la phase critique et coûteuse de déploiement des fonctions et constitue une base nécessaire pour entreprendre à plus long terme la cohabitation, non plus des seules fonctions applicatives, mais des couches systèmes dont les approches de conception et de criticité diffèrent.
|