Évitement des défaillances, tolérance aux pannes

publicité
,
s
e
c
n
la
il
fa
é
d
s
e
d
Évitement
s
e
n
n
a
p
x
u
a
e
c
n
a
tolér
:
nception fiable co
e
d
he
rc
a
ém
d
la
r
su
t
le
Deuxième vo
tolérance aux pannes
onents
William Marshall, RS Comp
14
eTech - NUMÉRO 11
La première partie de ce dossier concernait
l'évitement des défaillances. Dans ce
numéro, nous décrivons les techniques de
conception matérielle qui permettent de gérer
les pannes transitoires et permanentes au
sein des systèmes de microcontrôleurs.
La tolérance aux pannes présuppose que des pannes sont susceptibles de
se produire quel que soit le nombre de mesures prises pour les éviter.
• Les systèmes à sécurité intégrée ne permettent pas de reprendre
un fonctionnement sûr en cas de détection de panne, mais
garantissent un arrêt contrôlé du système, sans erreur de sortie.
• Les systèmes tolérants aux pannes sont quant à eux capables,
sans assistance externe, d'exécuter correctement leurs
programmes, ainsi que leurs fonctions d'entrée/sortie, face
à un certain nombre de pannes de fonctionnement.
Bien que ces définitions puissent paraître simples, elles se
traduisent très difficilement en système réel. En cas de panne de
système permanente ou transitoire, trois conditions doivent être
remplies pour permettre une « exécution correcte continue » :
• Détection des erreurs.
Le système doit être capable de détecter ses propres erreurs.
• Diagnostic des pannes.
Après avoir détecté une erreur pendant l'exécution d'un programme,
le système doit être capable de localiser la panne au niveau d'un
groupe de composants ou de modules pouvant être contournés,
remplacés sous le contrôle du processeur ou désactivés.
• Suppression de la panne.
Une fois la panne localisée, le système doit prendre des mesures
afin de l'éliminer ou de minimiser ses effets. En cas de panne
transitoire, il est possible qu'une nouvelle tentative suffise.
Il faudrait, dans l'idéal, que ces trois processus se produisent le plus
rapidement possible, afin de minimiser toute interruption du flux de
données. Une redondance de sécurité est introduite sous forme de matériels
ou de logiciels supplémentaires (ou des deux) pour tenter d'atteindre
l'objectif conceptuel de reprise quasi-immédiate en cas de panne. Dans la
pratique, il est presque impossible de gérer tous les types de pannes de
composants susceptibles de se produire. Certaines pannes entraîneront
inévitablement des arrêts de système catastrophiques, et la seule chose à
faire consiste à rendre leur taux de probabilité acceptable. Dans le cas des
circuits non redondants, tels que les générateurs d'horloge, une attention
particulière est nécessaire à l'étape de conception pour éviter qu'une simple
panne ne mette hors service un système autrement tolérant aux pannes.
La couverture correspond à la probabilité conditionnelle selon laquelle
une panne pourra être détectée et éliminée de manière sûre. Le terme
« sûr » peut signifier un arrêt du système sans conséquences néfastes
(sécurité intégrée) ou l'isolement du composant défectueux pour
permettre la poursuite du fonctionnement (tolérance aux pannes dans
un système redondant). Cette probabilité peut également s'exprimer
sous forme de pourcentage, à l'aide du taux SFF (Safe Failure Fraction).
Il existe bien sûr des situations dans lesquelles même une perte
de fonction contrôlée n'est pas acceptable : que se passerait-il, par
exemple, si les commandes automatiques d'une voiture sans chauffeur
cessaient de fonctionner pendant une manœuvre à grande vitesse ?
Dans ce type de scénario, la tolérance aux pannes est la seule option.
Le concept de couverture permet aussi d'évaluer l'efficacité de schémas
de fiabilité particuliers en termes de capacité de détection et d'élimination
de tous les modes de pannes possibles. La couverture doit être presque
totale pour permettre la fiabilité attendue. La tolérance aux pannes et
l'évitement des défaillances ne sont pas mutuellement exclusifs et il est
possible de combiner les deux techniques dans certaines conceptions.
L'introduction de composants redondants et l'inclusion de modules
de secours n'améliorent pas automatiquement la fiabilité du système.
En effet, lorsque des composants de faible qualité sont répliqués, le
système redondant est moins susceptible d'accomplir sa mission qu'un
système simplex. L'utilisation de composants d'excellente qualité et
d'une conception détarée est nécessaire pour permettre une tolérance
aux pannes optimale. Cela signifie une disponibilité accrue du système
et des chances de succès optimisées, même en cas de pannes de
composants. Une attention particulière aux problèmes de disponibilité
à l'étape de la conception a permis aux véhicules d'exploration de Mars
lancés en 2003 de dépasser leur durée de mission de plusieurs années.
Diagnostics simplex et simplex +
Les systèmes simplex ou 1oo1 (One out of One) sont incapables de
détecter les pannes et courent d'importants risques d'arrêt non contrôlé.
Les diagnostics simplex + ou 1oo1D incorporent des circuits de contrôle
qui permettent un suivi du fonctionnement du processeur sans impact
sur les systèmes en temps réel pour lesquels la vitesse est cruciale.
Une minuterie de surveillance, parfois incluse sur la puce du processeur
ou dans un dispositif de surveillance distinct, est souvent utilisée pour
détecter les pannes de processeur. Elle oblige généralement le système
à redémarrer en cas de perte de signal généré par un programme. Ces
dispositifs très simples intègrent souvent un système de contrôle de
l'alimentation électrique. Une solution beaucoup plus complète est
nécessaire pour répondre aux exigences des nouvelles normes de
sécurité ISO26262 et CEI 61508. Le fRCPU Yogitech du microcontrôleur
ARM® Cortex M3 [1] en est un exemple, le circuit de surveillance Infineon
CIC61508 [2] du processeur TriCore™ en est un autre. Ces dispositifs de
diagnostic permettent de transformer un système simplex ou 1oo1 en
système 1oo1D capable de créer un système certifié CEI 61508 SIL3. Cela
signifie un taux SFF supérieur à 99 % et une sortie à sécurité intégrée.
Le microcontrôleur « de sécurité » TMS470M de la gamme Hercules™
de Texas Instruments intègre un seul cœur Cortex M3 avec correction
des erreurs et logique de test automatique sur une même puce [3]. Il ne
remplit cependant pas les critères de sécurité CEI 61508, car son taux
SFF est inférieur à 60 %. Ceci est dû au fait que la logique de contrôle
des erreurs ne peut pas détecter plus de 60 % des erreurs transitoires
ou systématiques possibles au niveau du cœur. La technique éprouvée
qui consiste à exécuter le même programme sur deux cœurs ou plus
et à comparer les sorties est une façon d'optimiser la couverture.
Redondance modulaire multiprocesseur
La redondance des systèmes de contrôle informatique signifiait
traditionnellement la multiplication par 2 (DMR ou 2oo2), par 3 (TMR ou
2oo3), voire par 4 (QMR ou 2oo4), des unités de processeur et l'exécution
du même programme sur chacune d'entre elles avec un léger décalage.
La logique de vote et la comparaison séparée permettent uniquement
une sortie à travers un actionneur si la majorité des processeurs
s'accordent. Cela signifie que les systèmes DMR ne sont pas tolérants
aux pannes, car la logique de vote ne permet pas de dire quelle sortie
est incorrecte. Les deux processeurs doivent donc être désactivés de
manière contrôlée. Toutefois, les systèmes DMR dont le taux SFF est
supérieur à 99 % pourraient répondre aux critères SIL3. Les systèmes
TMR permettent à un processeur de tomber en panne sans interruption
du fonctionnement, à condition que les deux autres processeurs
s'accordent. (Figure 1) Les systèmes QMR devraient pouvoir gérer deux
pannes sans baisse de performances. Les systèmes de type TMR et QMR
devraient répondre aux critères SIL4 s'ils réussissent à atteindre un taux
SFF supérieur à 99 %, car ils sont également tolérants aux pannes.
Suite page 16 >
eTech - NUMÉRO 11
15
< Suite de la page 15
Module de
processeur
1oo1 1
Module de
processeur
1oo1 1
Entrée
commune
Module de
processeur
1oo1 2
Vote et
logique de
reconfiguration
Entrée
commune
Sortie
confirmée
Module de
processeur
1oo1 3
Figure 1. Système tolérant une seule panne
basé sur une redondance modulaire triple
Les microcontrôleurs TMS570LS et RM48x Cortex R4F de la gamme
Hercules de Texas Instruments renferment deux cœurs de processeur qui
exécutent tous les deux le même programme, mais l'un de ces cœurs
sert uniquement de dispositif de contrôle esclave pour la production
de sorties destinées à une comparaison avec le cœur maître [3]. Seules
les sorties du cœur maître sont envoyées au reste du système, si
bien qu'il n'est pas possible de construire un DMR 1oo2 avec un seul
dispositif. Nous disposons au lieu de cela d'une configuration 1oo1D
capable de remplir le critère SFF > 99 % de la norme CEI 61508 SIL3.
Pannes transitoires et permanentes
Lorsqu'un système de contrôle détecte une erreur, il peut s'agir d'une erreur
ponctuelle due au changement de l'état d'une cellule de RAM par une
particule cosmique, par exemple. Il est souvent possible de remédier à ce
type de panne transitoire en tentant simplement de réexécuter le segment
de programme concerné. Cette fonctionnalité doit être intégrée au système
pour que les ressources matérielles ne soient pas inutilement mises hors
service. Le temps et les efforts consacrés au réglage de ces circuits et de
ces logiciels seront récompensés si le système est destiné à une utilisation
dans un environnement soumis aux interférences électriques. Le système
de contrôle des erreurs devra bien sûr pouvoir reconnaître rapidement
les pannes permanentes afin d'éviter les nouvelles tentatives inutiles.
Alarme d'erreur
Logique de
reconfiguration
Module de
processeur
1oo1D 2
Sortie
confirmée
Alarme d'erreur
Figure 2. Système tolérant une seule panne
basé sur deux microcontrôleurs de sécurité à double cœur
Conclusion
Jusqu'à récemment, le concept de tolérance aux pannes était
principalement lié à des projets très coûteux impliquant des engins
aériens ou spatiaux, en raison des coûts de développement considérables.
Les systèmes automobiles devront certainement utiliser ces techniques
lorsque des véhicules sans chauffeur commenceront à apparaître sur
nos routes. Les applications automobiles et industrielles doivent se
conformer aux normes de fiabilité internationales ISO26262 et CEI 61508
et la nouvelle génération de microcontrôleurs « de sécurité » permettra
aux ingénieurs de produire des conceptions conformes à ces normes.
Références
[1] www.fr.yogitech.com
[2] www.infineon.com
[3] www.ti.com
[4] Rapport : Redundancy Management Technique for Space Shuttle
Computers, J.R.Sklaroff, IBM Journal Research & Development, 1976
[5] Rapport : AIRBUS A320/A330/A340 Electrical Flight Controls,
A Family of Fault-Tolerant Systems, Dominique
Britxe, Pascal Traverse, IEEE 1993
Redondance statique et dynamique
Les redondances modulaires de base dotées de circuits de vote sont
normalement classées comme étant statiques (tous les modules sont « à
chaud » et exécutés). Il est possible d'ignorer un module de processeur ou
de le mettre hors service s'il présente une panne permanente.
La redondance dynamique implique des unités de secours à chaud ou
à froid, activées ou désactivées selon les besoins par une logique de
détection des pannes et/ou un logiciel. Son utilisation était fréquente sur
la navette spatiale [4] et les avions Airbus [5]. Dans le second cas, une
précaution supplémentaire a été prise contre les pannes de mode commun
avec l'introduction d'un concept de diversité, selon lequel les modules de
processeur sont basés sur différentes plateformes de microcontrôleurs
utilisant des logiciels écrits par des équipes indépendantes. Ces
systèmes possèdent des modules de processeur 1oo1D à double cœur
qui peuvent désormais être remplacés par des puces uniques, telles
que les dispositifs à double cœur Hercules. Il est par exemple possible
de combiner deux puces pour former un système 1oo2D tolérant aux
pannes et conforme aux exigences SIL4. (Figure 2) Dans ce cas, les deux
processeurs fonctionnent « à chaud » et reçoivent les mêmes entrées,
y compris une réinitialisation commune. Lorsqu'un commutateur est
activé, les sorties de l'unité de secours remplacent celle du module en
panne. Bien que les horloges de processeur ne soient pas synchronisées,
le contretemps devrait être minime au moment du basculement.
16
eTech - NUMÉRO 11
POUR EN SAVOIR PLUS
Kits de développement disponibles pour
les microcontrôleurs Hercules Texas Instruments :
TMS470M HDK
748-0765
TMS570 HDK
748-0771
RM48 HDK
748-0775
Recherchez sur notre site les mots clés suivants :
Hercules TI
Partagez votre point de vue sur
www.designspark.com/eTech
Téléchargement