Brevet FR2775850A1 — publié le 19990910

PROCEDE POUR LA DETECTION ET LA CORRECTION D'ERREUR DANS UNE UNITE DE DISJONCTION La présente invention concerne de façon générale des unités de disjonction. De façon plus spécifique, la pré- sente invention concerne un procédé de détection et de correction d'erreur dans une unité de disjonction électro- nique. Les unités de disjonction électroniques sont bien con- nues. Les unités de disjonction électroniques comprennent de façon caractéristique des détecteurs de tension et de courant qui délivrent des signaux analogiques indicatifs des signaux de ligne de puissance. Des signaux analogiques sont convertis par un convertisseur A/N (analogique/numérique) en signaux numériques qui sont traités par un micro-dispositif de commande. L'unité de disjonction comprend de plus une mémoire vive (RAM), une mémoire morte (ROM), et une mémoire morte programmable ef- façable électriquement (EEPROM), toutes celles-ci établis- sant une interface avec le micro-dispositif de commande. Les données, à savoir, de façon caractéristique, l'état du coupe-circuit, sont affichées par un affichage. Un circuit de commande de sortie commande un module de disjonction. L'étalonnage, le test, la programmation et d'autres fonc- tions sont accomplis par l'intermédiaire d'un point d'en- trée/sortie de communication. Une alimentation qui est dé- livrée par l'électricité de service délivre une alimenta- tion appropriée aux composants de l'unité de disjonction. La mémoire morte comprend un code d'application d'uni- té de disjonction, par exemple une microprogrammation de fonctionnalité principale, comprenant des paramètres d'initialisation, et un code d'amorçage. La mémoire morte programmable effaçable électriquement contient des paramè- tres opérationnels pour le code d'application, par exemple des énumérations codées pour des paramètres tels que 50/60 Hz, UL/ANSI/CEI, etc. Les paramètres opérationnels mémori- sés dans la mémoire morte programmable effaçable électri- quement sont généralement mémorisés sous la forme de va- leurs de point fixe ou flottant et d'énumérations. Un pa- ramètre opérationnel tel qu'un facteur d'étalonnage ou point de consigne "de collecte" est généralement mémorisé en un point fixe ou flottant, par exemple 1,5. Des énumé- rateurs sont utilisés pour des opérateurs individuels, par exemple les applications en 50 Hz ou 60 Hz, ou la sélec- tion "normalisée" de protection UL, ANSI ou CEI. L'inté- grité du code est contrôlée de façon caractéristique en utilisant une vérification de redondance cyclique (cyclic redundancy check ou CRC) ou un total de contrôle, comme cela est bien connu. Les données altérées dans la mémoire morte programmable effaçable électriquement sont corrigées en lisant des données de défaut à sécurité positive depuis la mémoire morte et en réécrivant les données de défaut dans la mémoire morte programmable effaçable électrique- ment. Ceci produit souvent des performances non optimales de l'unité de disjonction. Par exemple, une unité de dis- jonction prévue pour fonctionner sous 60 Hz peut être dé- fectueuse en 50 Hz. Par conséquent, il existe un besoin d'avoir un procédé pour restaurer avec précision des don- nées d'énumération altérées dans des unités de disjonction électroniques. On pallie ou on remédie aux inconvénients et déficien- ces décrits ci-dessus de la technique existante, ainsi qu'à d'autres, grâce au procédé pour la détection et la correction d'erreur dans une unité de disjonction selon la présente invention. Une unité de disjonction comprend des détecteurs de tension et de courant qui délivrent des si- gnaux analogiques indicatifs des signaux de ligne de puis- sance. Les signaux analogiques sont convertis par un con- vertisseur A/N (analogique/numérique) en signaux numéri- ques qui sont traités par un micro-ordinateur. L'unité de disjonction comprend de plus une mémoire vive (RAM), une mémoire morte (ROM), et une mémoire morte programmable ef- façable électriquement (EEPROM), toutes celles-ci communi- quant avec le micro-ordinateur. Des données, à savoir, de façon caractéristique, l'état du coupe-circuit, sont affi- chées par un affichage. Un circuit de commande de sortie commande un module de disjonction. L'étalonnage, le test, la programmation et d'autres fonctions sont accomplis par l'intermédiaire d'un point d'entrée/sortie de communica- tion. Une alimentation qui est alimentée par l'électricité de service délivre une alimentation appropriée aux compo- sants de l'unité de disjonction. La mémoire morte comprend un code d'application d'uni- té de disjonction, par exemple une microprogrammation de fonctionnalité principale, comprenant des paramètres d'initialisation, et un code d'amorçage. La mémoire morte programmable effaçable électriquement comprend un code de paramètres opérationnels, par exemple des énumérations co- dées pour des paramètres tels que 50/60 Hz, UL/ANSI/CEI, etc. L'intégrité du code est contrôlée en utilisant un contrôle de redondance cyclique ou un total de contrôle, comme cela est bien connu. Selon la présente invention, les données altérées sont récupérées en utilisant une va- lidation ou une concordance avec un motif, comme décrit ici. La validation ou la concordance avec un motif selon la présente invention est accomplie en codant les énuméra- tions avec au moins deux motifs de bits répétitifs de lar- geur appropriée, grâce à quoi le motif original est récu- pérable directement à partir de la valeur altérée, en fonction du nombre d'énumérations nécessaire pour définir le jeu de valeurs et les codes choisis pour définir les énumérations. Le codage des énumérations avec plus de deux motifs de bits répétitifs permet de récupérer chaque va- leur énumérée à partir de n'importe quelle altération de bit unique en remplaçant le motif altéré par le motif con- cordant. Selon une autre réalisation, avec une pluralité de groupes d'énumérations codées mémorisés dans la mémoire morte programmable effaçable électriquement, une énuméra- tion altérée peut être sélectionnée et corrigée de façon appropriée par corrélation croisée des groupes d'énuméra- tions. Selon une autre réalisation de la présente invention, des énumérations sont codées avec deux motifs de bits identiques. Le résultat est à nouveau qu'une altération de bit unique dans une énumération codée permet une identifi- cation et une correction correctes. Dans cette réalisa- tion, un motif de bits invalide est remplacé par l'autre motif de bits correspondant, ce qui restaure par consé- quent le motif de bits. Egalement, l'énumération correcte peut être identifiée, car l'un des motifs de bits continue à avoir l'énumération codée correcte identifiant une énu- mération. Les éléments et caractéristiques et avantages décrits ci- dessus de la présente invention, ainsi que d'autres, seront appréciés et compris par les personnes ayant une bonne connaissance de la technique à partir de la descrip- tion détaillée qui suit et des dessins. La figure est une réalisation générale schématique d'une unité de disjonction électronique. Si l'on se réfère à la figure, un schéma général d'une unité de disjonction est montré de façon générale en 10. L'unité de disjonction 10 comprend un détecteur de tension 12 qui délivre des signaux analogiques indicatifs de mesu- res de tension sur une ligne de signal 14 et un détecteur de courant 16 qui délivre des signaux analogiques indica- tifs de mesures de courant sur une ligne de signal 18. Les signaux analogiques sur les lignes 14 et 18 sont présentés à un convertisseur A/N (analogique/numérique) 20, qui con- vertit ces signaux analogiques en signaux numériques. Les signaux numériques sont présentés sur un bus 22 à un mi- cro-dispositif de commande (micro-ordinateur) 24. L'unité de disjonction 10 comprend de plus une mémoire vive (RAM) 26, une mémoire morte (ROM) 28 et une mémoire morte pro- grammable effaçable électriquement (EEPROM) 30, toutes celles-ci communiquant avec le micro-dispositif de com- mande 24 sur un bus de commande 32. La mémoire morte pro- grammable effaçable électriquement 30 est rémanente, ce qui fait que la programmation et l'information du système ne seront pas perdues durant une coupure ou une interrup- tion de l'alimentation. Des données, de façon caractéris- tique, l'état du coupe-circuit, sont affichées par un af- fichage 34 en réponse à des signaux d'affichage reçus du micro-dispositif de commande 24 sur le bus de commande 32. Une commande de sortie 36, en réponse à des signaux de commande reçus du micro-dispositif de commande 24 sur le bus de commande 32, commande un module de disjonction 38 par l'intermédiaire d'une ligne 40. L'étalonnage, le test, la programmation et d'autres fonctions sont accomplis par l'intermédiaire d'un point d'entrée/sortie de communica- tion 42, qui communique avec le micro-dispositif de com- mande 24 sur le bus de commande 32. Une alimentation 46 qui est alimentée par l'électricité de service délivre une alimentation appropriée sur une ligne 44 aux composants de l'unité de disjonction 10. La mémoire morte 28 comprend un code d'application d'unité de disjonction, par exemple une microprogrammation de fonctionnalité principale, comprenant des paramètres d'initialisation, et un code d'amorçage. La mémoire morte programmable effaçable électriquement 30 comprend un code de paramètres opérationnels, par exemple des énumérations codées pour des paramètres tels que 50/60 Hz, UL/ANSI/CEI, etc. On appréciera le fait que certains de ces paramètres ou options, ou la totalité de ceux-ci, sont mémorisés dans l'unité de disjonction en usine et sont sélectionnés pour satisfaire les exigences des clients. Durant l'initialisa- tion des circuits électroniques de l'unité de disjonction, des blocs de données lus à partir de la mémoire morte pro- grammable effaçable électriquement 30 sont validés avec des totaux de contrôle. Des algorithmes de totaux de con- trôle nécessitent un temps de traitement minimal. Une fois que les fonctions d'initialisation sont achevées et que le logiciel d'application fonctionne, la fonctionnalité d'ar- rière-plan applique tout à la fois les algorithmes de to- taux de contrôle et de contrôle de redondance cyclique pour valider l'intégrité des données. Dans tous les cas, à savoir la validation de données initiale et la validation de données perpétuelle, la capacité autonome de l'unité de disjonction est appliquée par l'intermédiaire des procédés de validation ou de concordance de motif selon la présente invention. Selon la présente invention, les données alté- rées sont récupérées en utilisant la validation ou la con- cordance de motif décrite ici. La validation ou la concordance de motif selon la pré- sente invention est accomplie, dans une réalisation préfé- rée, en codant les énumérations avec au moins deux motifs de bits répétitifs de largeur appropriée, le motif origi- nal pouvant être récupéré directement à partir de la va- leur altérée en fonction du nombre d'énumérations néces- saire pour définir le jeu de valeurs et des codes choisis pour définir les énumérations. On appréciera le fait que le nombre de codes utilisables disponible est limité par la largeur de la variable énumérée codée et le nombre de motifs reproduits à l'intérieur de l'énumération. De façon caractéristique, la largeur de la variable énumérée codée est commandée par la configuration d'adressage des cir- cuits du dispositif. Le nombre maximal de motifs repro- duits à l'intérieur de l'énumération dépend du nombre d'énumérations nécessaire pour définir le jeu de valeurs des variables et la largeur de la variable énumérée. Le codage des énumérations avec plus de deux motifs de bits répétitifs permet de récupérer chaque valeur énumérée à partir de n'importe quelle altération de bit unique en remplaçant le motif altéré par le motif concordant. Si l'on se réfère au tableau 1 ci-dessous, à titre d'exemple, une variable énumérée de 8 bits de largeur est codée en 4 énumérations en utilisant 4 motifs de bits de 2 bits de largeur. TABLEAU 1 Enumération Motif de Motif de bits binaire codé à coder bits hexa- décimal co- dé Bit le plus Bit le moins significatif significatif énumération 00 00 00 00 00 no 1 énumération 55 01 01 01 01 no 2 énumération AA 10 10 10 10 no 3 énumération FF 11 11 11 11 n 4 _ Si l'on se réfère au tableau 2 ci-dessous, une altéra- tion de bit unique dans n'importe laquelle des énuméra- tions, par exemple, le bit souligné dans l'énumération n 4, laisse trois paires (ou quartets) de bits concordantes, qui sont utilisées pour identifier et remplacer la paire de bits altérée, de façon à produire une correction pré- cise de la valeur énumérée. TABLEAU 2 Enumération à Motif de Motif de bits binaire codé coder bits hexa- décimal co- dé Bit le plus Bit le moins significatif significatif énumération 00 00 00 00 00 n 1 énumération 55 01 01 01 01 n 2 énumération AA 10 10 10 10 no 3 énumération EF il11 10 il11 11il no 4 De façon plus caractéristique, si trois des motifs à quatre bits sont valides, l'énumération correcte peut être sélectionnée, car aucune des autres énumérations ne com- porte les trois mêmes motifs de bits codés. Egalement, le bit altéré peut être corrigé, car le programme recherchant une énumération connaît les motifs de bits corrects pour les énumérations. Comme l'énumération correcte peut être identifiée comme décrit ci-dessus, le motif de bits cor- rect est connu à présent, car il correspond à l'énuméra- tion sélectionnée. En d'autres termes, le programme lisant l'énumération lira un 11 10 11 11 (binaire), ce qui ne correspond pas à une énumération connue. Le programme vé- rifiera alors les paires de bits et trouvera que trois des quatre paires de bits correspondent à l'énumération n 4, grâce à quoi le programme sélectionnera correctement l'énumération n 4. Le programme sachant que le motif de bits correct pour l'énumération n 4 est 11 11 11 11 (binaire) provoquera le changement du motif de bits altéré de 10 à 11 (en remplaçant le motif de bits altéré par l'un des autres motifs de bits), de façon à corriger par consé- quent le code d'énumération. Selon un autre exemple de la présente invention, des énumérations sont codées avec deux motifs de bits répéti- tifs (identiques). A nouveau, un motif de bits invalide est remplacé par l'autre motif de bits correspondant, de façon à restaurer par conséquent le motif de bits altéré. Egalement, l'énumération correcte peut être identifiée, car l'un des motifs de bits continue à avoir l'énumération codée correcte identifiant une énumération. Si l'on se ré- fère au tableau 3 ci-dessous, à titre d'exemple, une va- riable énumérée de huit bits de largeur est codée de huit énumérations utilisant deux motifs de quatre bits de lar- geur. TABLEAU 3 Enumération à co- Motif de Motif de bits binaire der bits hexadé- codé cimal codé Bit le Bit le plus si- moins si- gni- gni- ficatif ficatif énumération n 1 00 0000 0000 énumération n 2 33 0011 0011 énumération n 3 55 0101 0101 énumération n 4 66 0110 0110 énumération n 5 99 1001 1001 énumération n 6 AA 1010 1010 énumération n 7 CC 1100 1100 énumération n 8 FF 1111 1111 Si l'on se réfère au tableau 4 ci-dessous, une altéra- tion de bit unique dans n'importe laquelle des énuméra- tions, par exemple le bit souligné dans l'énumération n 1, laisse un motif de quatre bits de largeur non altéré, celui-ci étant utilisé pour identifier et remplacer le mo- tif de bits altéré, de façon à produire une correction précise de la valeur énumérée. TABLEAU 4 Enumération devant Motif de bits Motif de bits binaire être codée hexadécimal codé codé Bit le Bit le plus si- moins si- gni- gni- ficatif ficatif énumération n 1 10 0001 0000 énumération n 2 33 0011 0011 énumération n 3 55 0101 0101 énumération n 4 66 0110 0110 énumération no 5 99 1001 1001 énumération n 6 AA 1010 1010 énumération n 7 CC 1100 1100 énumération n 8 FF 1111 1111 De façon plus caractéristique, si un motif de quatre bits de largeur est valide, l'énumération correcte peut être sélectionnée, car aucune des autres énumérations ne comporte le même motif de quatre bits de largeur. Comme l'énumération correcte peut être identifiée comme décrit ci-dessus, le motif de bits correct est à présent connu, car il correspond à l'énumération sélectionnée. En d'au- tres termes, le programme lisant l'énumération lira un 0001 0000 (binaire), ce qui ne correspond pas à une énumé- ration connue. Le programme vérifiera alors les motifs de bits et trouvera que l'un des deux motifs de quatre bits de largeur, à savoir 0000, correspond à l'énumération n l, grâce à quoi le programme sélectionnera correctement l'énumération n l. Le programme, sachant que l'autre des deux motifs de quatre bits de largeur est altéré, provo- quera le remplacement du motif de bits altéré, à savoir 0001, par le motif de quatre bits de largeur correct cor- respondant, à savoir 0000, de façon à corriger par consé- quent le code. Selon une autre réalisation, avec une pluralité de groupes d'énumérations codés mémorisés-dans la mémoire morte programmable effaçable électriquement 34, une énumé- ration altérée peut être sélectionnée et corrigée de façon appropriée par corrélation croisée des groupes d'énuméra- tions. Par exemple, si le code pour la CEI est sélection- né, il peut se produire que 50 Hz doive également être sé- lectionné. Par conséquent, si le code pour la CEI a été détecté correctement mais si le code pour 50/60 Hz a été altéré, le programme sélectionnera l'énumération de 50 Hz et corrigera le code en conséquence. Bien que des réalisations préférées aient été montrées et décrites, différentes modifications et substitutions peuvent y être apportées sans s'écarter de l'esprit et de l'étendue de l'applicabilité de l'invention. Par consé- quent, on doit comprendre que la présente invention a été décrite à titre d'illustration et non à titre limitatif. REVENDICATIONS 1. Procédé pour corriger une erreur dans une mémoire (26, 28, 30) d'une unité de disjonction électronique (10), caractérisé en ce qu'il comprend: le codage de données mémorisées dans la mémoire (26, 28, 30) avec au moins deux motifs de bits répétitifs, cha- cun desdits motifs de bits ayant une largeur de bits d'au moins deux bits, la détection d'une erreur dans l'un desdits motifs de bits; et le remplacement dudit motif de bits dans lequel ladite erreur a été détectée par un autre desdits motifs de bits. 2. Procédé selon la revendication 1, caractérisé en ce que ladite étape de détection comprend: l'application d'un algorithme de total de contrôle ou d'un algorithme de contrôle de redondance cyclique auxdi- tes données. 3. Procédé selon la revendication 1, caractérisé en ce que lesdits motifs de bits répétitifs au nombre d'au moins deux comprennent quatre motifs de bits répétitifs, ladite largeur de bits de chacun desdits motifs de bits compre- nant deux bits. 4. Procédé selon la revendication 1, caractérisé en ce que lesdits motifs de bits répétitifs au nombre d'au moins deux comprennent deux motifs de bits répétitifs, ladite largeur de bits de chacun desdits motifs de bits compre- nant quatre bits. 5. Procédé selon la revendication 1, caractérisé en ce que lesdites données comprennent une variable énumérée et en ce que ladite étape de détection comprend: la lecture desdites données pour déterminer si lesdi- tes données correspondent à une variable énumérée valide. 6. Procédé selon la revendication 1, caractérisé en ce que lesdites données comprennent une variable énumérée et en ce qu'elles comprennent de plus: la détermination de ladite variable à partir d'au moins un motif non altéré desdits motifs de bits. 7. Procédé pour sélectionner une variable correcte à partir de données altérées dans la mémoire (26, 28, 30) d'une unité de disjonction électronique (10), caractérisé en ce qu'il comprend: le codage de données mémorisées dans la mémoire (26, 28, 30) avec au moins deux motifs de bits répétitifs, cha- cun desdits motifs de bits ayant une largeur de bits d'au moins deux bits, lesdites données codées comprenant une variable énumérée; la détection d'une erreur dans l'un desdits motifs de bits; et la détermination de ladite variable à partir d'au moins un motif non altéré parmi lesdits motifs de bits. 8. Procédé selon la revendication 7, caractérisé en ce que lesdits motifs de bits répétitifs au nombre d'au moins deux comprennent quatre motifs de bits répétitifs, ladite largeur de bits de chacun desdits motifs de bits compre- nant deux bits. 9. Procédé selon la revendication 7, caractérisé en ce que lesdits motifs de bits répétitifs au nombre d'au moins deux comprennent deux motifs de bits répétitifs, ladite largeur de bits de chacun desdits motifs de bits compre- nant quatre bits. 10. Procédé pour sélectionner une variable correcte à partir de données altérées dans la mémoire (26, 28, 30) d'une unité de disjonction électronique (10), caractérisé en ce qu'il comprend: la détection d'une erreur dans des premières données mémorisées dans la mémoire (26, 28, 30), des données non altérées parmi lesdites premières données comprenant une première variable énumérée; la lecture de deuxièmes données non altérées mémori- sées dans la mémoire (26, 28, 30), lesdites deuxièmes don- nées comprenant une deuxième variable énumérée, et la corrélation de ladite deuxième variable énumérée avec une liste possible d'énumérateurs dans laquelle la- dite première variable énumérée est incluse pour détermi- ner ladite première variable énumérée. 11. Procédé selon la revendication 10, caractérisé en ce qu'il comprend de plus: la correction desdites premières données en fonction de ladite première variable énumérée déterminée.