Les microprocesseurs dans les techniques de sécurité

L'utilisation croissante des microprocesseurs ou des microcontrôleurs dans les produits liés à la sécurité pour le secteur des machines telles que la partie logique et les capteurs a conduit à des exigences particulières quant à leur niveau de sécurité. Les appareils qui utilisent ce type de dispositifs sont appelés

  • "blocs de sécurité, blocs logiques assurant des fonctions de sécurité" dans la directive machines 2006/42/CE,
  • les fonctions de sécurité ou E / E / PES dans la norme CEI 61508.

La différence avec les dispositifs normaux, ce est que la réponse du contrôleur dans le cas de défaut doit être déterministe et la durée de réaction doit être sous contrôle. En outre, en cas de dysfonctionnement du dispositif de sécurité en situation dangereuse le dispositif de sécurité doit se positionner dans un état sûr.

Afin de réaliser ces deux exigences, les normes de sécurité fonctionnelle définisent des méthodes et les règles afin de contrôler les cas de défaillance. Ces mesures sont spécifiques et doivent être prises lors de la conception du système de sécurité. Cette page décrit les tests de processeurs communément appelés autotest tests qui contribuent à rendre le dispositif de sécurité plus robuste en termes d'applications liées à la sécurité. Les mesures présentées ci-après sont des mesures courantes et qui sont destinées aux concepteurs de dispositifs de sécurité afin de répondre aux exigences des norme CEI 61508, EN 13849-1, CEI 62061.

Selon de la cible de sécurité, ces mesures permettent d'atteindre le niveau de sécurité requis. Toutefois, ces mesures ne suffisent pas toujours et ils doivent être combinées à la fois avec:

  • l'architecture du système (structure)
  • les tests fonctionnels

Ces mesures sont les solutions possibles et doivent être considérés comme des exemples.

Nous identifions un autre article l'architecture du microcontrôleur PIC, et les différents blocs fonctionnels qui sont pour PIC16F884:

functional safety and PIC microcontroller architecture

Comme défini en partie droite de la figure ci-avant, différents types de ressources sont utilisées pour effectuer des fonctions de sécurité au sein du micro-controlleur

Pour chacun de ces blocs, une défaillance peut se produire et la conséquence lorsque le dispositif est destiné à accomplir une fonction de sécurité est à la perte de la fonction de sécurité.

Les différents blocs doit être testés. Les règles suivantes définissent les techniques qui peuvent être utilisés pour tester les différentes ressources. Certaines d'entre elles sont définis dans les normes CEI 61508 par exemple, et quelques autres sont définis dans la littérature adaptée.

Ces types de tests sont appelés autotests ou self tests, car ils testent seulement les ressources matérielles de l'appareil et ils ne testent pas la fonction qui est programmée dans l'appareil.

Le premier document pour le secteur des machines qui a traité ce sujet était un document allemand du groupe d'étude du TUV study group on computer safety: MIKROCOMPUTER EN DER SICHERHEITSTECHNIK "Eine Orientierungshilfe für Entwickler und HerSfeÎler H. Hölscher-J RADER TÜV Rheinland - 1984.:

Ce document a été traduit en français par l'INRS sous la référence INRS  60 N° ISSN 0397-4529 LES MICROPROCESSEURS DANS LES TECHNIQUES DE SÉCURITÉ GUIDE POUR CONCEPTEURS ET CONSTRUCTEURS - AVRIL 1986

4.1 Architecture à une voie

4.2 Architecture à une voie avec logiciel diversifié

4.3 - Architecture à deux voies

4.4 - Comparateur à sécurité intégrée

4.5 - Comparateur externe testé

4.6 - Comparaison interne mutuelle

4.7 - Comparaison interne pour une architecture à une voie avec logiciel diversifié

4.8 - Test standard de l'UC

4.9 - Test de haut niveau de l'UC

4.10 - Autocontrôle de l'UC par utilisation d'une UC double avec comparaison matérielle

4.11 - Méthode de la somme de contrôle modifiée pour ROM

4.12 - Méthode du bit de parité pour ROM

4.13 - Génération de la signature du contenu de la ROM dans un mot de simple longueur

4.14 - Autocontrôle de la ROM avec code de Hamming modifié

4.15 - Génération de la signature du contenu de la ROM dans un mot de double longueur

4.16 - Addition arithmétique du contenu de la ROM

4.17 - Autocontrôle de la ROM par utilisation de deux ROM avec comparaison matérielle

4.18 Test de la ROM par utilisation de deux ROM avec comparaison logicielle

4.19 - Test de RAM "en damier"

4.20 - Test de RAM à "bit glissant"

4.21 - Méthode du bit de parité pour RAM

4.22 - Test de RAM "Walkpat" (à configuration glissante)

4.23 - Autocontrôle de la RAM avec code de Hamming modifié

4.24 - Test de RAM "Gal pat l'' (à configuration galopante I)

4.25 - Test de RAM "Gal pat II'' (à configuration galopante II)

4.26 - Test de RAM "Galpat" transparent

4.27 - Autocontrôle de la RAM par utilisation de deux RAM avec comparaison matérielle

4.28 - Autocontrôle de la RAM par utilisation de deux RAM avec comparaison logicielle

4.29 - Contrôles de vraisemblance des entrées-sorties

4.30 - Tests et méthodes d'autocontrôle standards des entrées-sorties

4.31 - Tests et méthodes d'autocontrôle de haut niveau des entrées-sorties

4.32 - Tests complémentaires

4.33 - Autocontrôle temporel du déroulement du programme

4.34 - Autocontrôle logique du déroulement du programme par méthode de comptage

4.35 - Autocontrôle logique du déroulement du programme par méthode de codage

4.36 - Redondance hétérogène temporelle

4.37 - Redondance hétérogène logicielle

4.38 - Redondance hétérogène matérielle

4.39 - Composants homologués

4.40 - Composants éprouvés en service

4.41 - Vérification de la programmation

4.42 - Analyse manuelle du programme

4.43 - Analyse inverse diversifiée 


Autres sources la norme CEI 61508 partie 2:

Aujourd'hui, le document de référence pour les dispositifs de sécurité est défini dans la norme CEI 61508. Cette norme définit dans la partie 2 de la norme aux exigences et l'information détaillée sont présentés dans la partie 7 de la norme.


Autres sources :

Un document a été écrit par le BGIA en Allemagne pour présenter la façon d'appliquer ces techniques sur un microcontrôleur: BGIA report 7/2006 - Self-tests for microprocessors incorporating safety functions

Contents
1 Introduction
2 Type of self-tests
2.1 Microprocessor system tests
2.2 Peripherals tests
3 Tests of internal blocks and units of the CPU
3.1 Basic tests 
3.1.1 Program counter test (PC_ TEST.ASM)
3.1.2 Accumulator test (ACC TEST.ASM)
3.1.3 PUSH. POP and RET stack instruction test (PPR_ TEST.ASM)
3.2 Advanced instruction tests
3.2.1 Jump if not zero (JNZ_ TEST.ASM)
3.2.2 Arithmetic instructions (ARI_ TEST.ASM)
3.2.3 Logic instructions (ANL_TEST.ASM. ORL_TEST.ASM, XRL_TEST.ASM and CRS_TEST.ASM)
3.2.4 Logic instructions (BIT TEST.ASM)
3.2.5 Transfer instructions (TRANTEST.ASM) 
4 Memory tests
4.1 Program memory test (ROM_ TEST.ASM)
4.2 Data memory test (XRAMTEST.ASM)
5 Special function register test (SFR_TEST.ASM) 
6 Port tests (IO_TEST.ASM)
7 Main program
8 Concluding remarks
9 References

Autres sources Microchip:

Parce que les exemples sont donnés pour le microcontrolleur Microchip à titre d'exemple, nous allons présenter les mécanismes qui sont définis dans une note d'application de Microchip: AN1229 - classe de sécurité B Bibliothèque Logiciels pour PIC® MCU et dsPIC® DSC

  • CPU Registers
  • CPU program Counter
  • Invariable Memory
  • Variable Memory
  • Clock
  • Interrupt Handling and Execution