Brevet FR2853973A1 — publié le 20041022

Domaine de l'invention La présente invention concerne un procédé et un dispositif de comparaison de mots de données binaires, et en particulier pour comparer des mots redondants à l'aide d'un microprocesseur. s Etat de la technique Dans les systèmes concernant la sécurité comme par exemple dans les systèmes de régulation ABS d'un véhicule automobile, pour détecter en sécurité les défauts de fonctionnement de l'électronique, les installations de commande correspondantes de tels systèmes prévoient i0 habituellement des redondances dans la détection des défauts. C'est ainsi que par exemple dans un système ABS connu on duplique chaque fois l'ensemble du microcontrôleur, et toutes les fonctions ABS sont calculées de manière redondante puis on vérifie leur concordance. En cas de différence des résultats on coupe le système ABS. A la place de deux microcontrôleurs complets, pour réduire le coût, on utilise de façon connue deux unités centrales CPU sur une même puce ou plaquette de silicium. Dans ce cas toutes les fonctions sont également calculées de manière redondante et les valeurs émises respectives sont comparées les unes aux autres. Un tel microcontrôleur est appelé 20 calculateur à double noyau. Dans un tel calculateur à double noyau, on effectue en général une comparaison à la précision du bit entre les données calculées de manière redondante. Il en résulte que même en cas de différence entre les bits de valeur faible dans les données (bits les moins significatifs LSB) il y aura une réaction du système spécifique à une si25 tuation de défaut, par exemple la coupure, bien qu'un tel défaut dans les bits de valeur faible des données ne se répercuterait pas de manière significative. On rencontre ainsi un problème de disponibilité car le système sera coupé même dans des cas de défauts dans lesquels la coupure ne serait pas nécessaire. De façon générale, dans de tels systèmes le traitement des défauts est indépendant du caractère significatif des données faussées. En d'autres termes, on aura la même réaction du système qu'il s'agisse d'un défaut dans les bits de valeur élevée ou faible, dans les adresses ou les données. On rencontre un problème analogue dans l'utilisation de systèmes de communication redondants. Dans de tels systèmes les informations des différents canaux sont affectées en général d'une somme de contrôle, par exemple CRC, mais le codage et le décodage se font chaque fois dans un contrôleur de communication et non dans le microprocesseur lui-même qui n'est pas la source proprement dite ou le but des données. Exposé et avantages de l'invention La présente invention concerne un procédé du type défini ci-dessus, caractérisé par caractérisé par les étapes suivantes: - on répartit un premier et un second mot de données à comparer, chaque fois en au moins une partie de mots ayant les bits de valeur élevée et une partie de mot ayant les bits de valeur faible, - on compare séparément chaque partie de mot dans une installation de 10 comparaison respective, - on combine les résultats intermédiaires de comparaison des installations de comparaison dans une installation de combinaison, de préférence une porte ET, pour obtenir un résultat global en fonction d'un signal de commande appliqué à une installation de correction branchée 15 entre au moins l'une des installations de comparaison et l'installation de combinaison. L'invention concerne également un dispositif pour la mise en oeuvre d'un tel procédé, ce dispositif étant caractérisé par: - une installation pour diviser un premier et second mot de données à 20 comparer chaque fois en au moins une partie de mot ayant des bits de valeur élevée et une partie de mot ayant des bits de valeur faible, - chaque fois une installation de comparaison pour comparer séparément chacune des parties de mots pour émettre chaque fois un résultat intermédiaire de comparaison par l'installation de comparaison, - une installation de combinaison, de préférence une porte ET pour combiner les résultats intermédiaires de comparaison de l'installation de comparaison et former un résultat global, en fonction d'un signal de commande appliqué à une installation de correction branchée entre au moins l'une des installations de comparaison et l'installation de combi30 naison. Le procédé et le dispositif selon l'invention offrent l'avantage, vis-àvis des solutions connues, de permettre un traitement des défauts adapté à la situation suivant le caractère significatif des données à comparer et de la valeur des bits manquants. En d'autres termes, on réalise une localisation du défaut rapporté à la valeur de la donnée et en conséquence on fournit un traitement de défaut dépendant de la situation. Vis-à-vis de la réalisation connue on augmente la disponibilité par exemple du système à processeur car les défauts qui n'ont pas d'effet systématique significatif seront soumis à une autre stratégie de traitement de défaut qu'une stratégie de traitement global des défauts. Selon un développement avantageux, la division des mots 5 de données se fait dans un système de microprocesseur qui vérifie la concordance des mots de données redondants. Cela à l'avantage qu'en fonction des mots de données redondants on divise dans un système de microprocesseur, les mots partiels en les comparant en fonction de leur importance. Selon un autre développement avantageux, en fonction du signal de commande et/ou d'un résultat négatif intermédiaire de comparaison, on combine une valeur de remplacement à la place du résultat intermédiaire de comparaison fourni par l'installation de comparaison des parties de mots à valeur de bits faible, au résultat de comparaison de 15 l'installation de comparaison des parties de mots de bits de valeur élevée. On a ainsi l'avantage d'un résultat global positif bien que pour les bits de valeur faible, en comparant les mots de données on a eu une différence. Du fait du résultat positif global, aucune stratégie de défaut n'est donc initialisée. Selon un autre développement préférentiel, on forme le signal de commande à l'aide du mécanisme de commande d'un microprocesseur qui génère l'émission de la valeur de remplacement à la place du résultat de comparaison en fonction de l'adresse de destination des mots de données à comparer. On a ainsi une possibilité simple de commande 25 indiquant si la valeur de remplacement doit être émise à la place du résultat intermédiaire de la comparaison. Selon un autre développement préférentiel, le signal de commande est fourni par le mécanisme de commande d'un microprocesseur qui génère l'émission de la valeur de remplacement à la place du ré30 sultat intermédiaire de comparaison en fonction d'indications dans le code programme du microprocesseur. Dans ce cas également on a une commande alternative avantageuse indiquant si la valeur de remplacement doit être émise à la place du résultat intermédiaire. Dessins Un exemple de réalisation de la présente invention sera décrit ciaprès de manière plus détaillée à l'aide de la figure 1 annexée, qui est un schéma par blocs servant à la description d'un mode de réalisation de l'invention. Description du mode de réalisation La figure 1 est un schéma par blocs d'un exemple de circuit de comparaison. Dans ce circuit on compare un premier mot de données A à un seconde mot de données B et dans une première installation de com5 paraison 10, de préférence un comparateur, on compare chaque fois une partie de mot hA, hB correspondant aux bits de valeur élevée et dans une seconde installation de comparaison 11, de préférence également un comparateur, on compare un autre mot partiel nA, nB correspondant à des bits de valeur inférieure et appartenant aux mots de données A et B. Dans 1o une installation non représentée servant à diviser les mots de données, on sépare les mots de données respectifs A, B en partie de mots de données hA, nA; hB, nB que l'on répartit en partie de mots avec des bits de valeur élevée hA, hB et des bits de valeurs faibles nA, nB. Le résultat intermédiaire 12 de la comparaison faite par 15 l'installation de comparaison 10 entre les parties de mots de données hA, hB de valeurs supérieures est combiné avec un résultat intermédiaire de comparaison 13 de l'installation de comparaison 11 des parties de mots de données nA, nB de valeur inférieure dans une installation de combinaison 14 pour donner un résultat global 15. L'installation de combinaison 14 est 20 formée de préférence par une porte ET. En fonction d'un signal de commande 16, de préférence d'un signal d'un mécanisme de commande d'un microcontrôleur exécutant de préférence la comparaison des mots de données, on transmet soit le résultat intermédiaire de comparaison 13 correspondant à la comparaison des parties de mots de données pour les bits de 25 valeur inférieure nA, nB ou une valeur de remplacement 17, de préférence un état 1 que l'on transmet de la ligne à l'installation de combinaison 14. De préférence, le résultat intermédiaire 13 de la comparaison est appliqué à une installation de comptage 18 qui détecte les résultats positifs et/ou négatifs de comparaison. Un résultat de comparaison positif est celui de 30 deux parties de mots de données par exemple nA, nB qui se correspondent exactement pour les bits. Le signal de commande 16 est appliqué à une installation de correction 19, de préférence à un multiplexeur dont l'entrée reçoit une valeur de remplacement 17 et un résultat intermédiaire de comparaison 35 13; sa sortie est reliée à l'installation de combinaison 14. Si le résultat intermédiaire de comparaison 12 de la comparaison des parties de mots de données correspondant aux bits de valeur élevée est positif, et si le résultat intermédiaire 13 de la comparaison des parties de mots de données avec des bits de valeur inférieure est toutefois négatif, c'est-à- dire qu'il y a dans le domaine des bits de moindre valeur une différence entre le mot de données A et le mot de données redondant B que l'on compare, alors le signal de commande 16 ou l'installation de correction 19 permet de s transmettre une valeur de remplacement 17 à la place du résultat de comparaison 13 négatif à l'installation de combinaison 14; on émet ainsi néanmoins un résultat global positif de la comparaison 15 de sorte qu'il n'y aura pas de procédure d'erreur particulière comme par exemple une coupure. En divisant un mot de données A, B en plusieurs mots partiels hA, nA, hB, nB et en comparant de manière séparée les parties de mots respectives hA, hB; nA, nB, on peut déterminer s'il y a une erreur dans un bit de valeur élevée ou de valeur faible d'un mot de données A, B. Normalement chaque comparaison partielle dans les installations de com15 paraison 10, 11 doit donner un résultat positif pour que le résultat total soit positif, c'est-à-dire soit valable. Cela est également vrai selon la présente invention pour des données primaires, c'est-à-dire des données importantes comme par exemple des données d'adresse et d'état. De plus, on aura également des données secondaires, c'est-à-dire des données moins 20 importantes comme par exemple des grandeurs guides, des grandeurs de réglage, des grandeurs de régulation, pour lesquelles une différence des bits de valeur moindre n'a pas d'effet significatif sur le comportement du système alors qu'une différence pour des bits de valeur élevée nécessite toutefois un traitement de l'erreur, c'est-à-dire une stratégie d'erreur par25 ticulière. C'est pourquoi pour les données secondaires, un résultat intermédiaire de comparaison 13, négatif, pour les bits de moindre valeur, n'entraînera pas la coupure du système. A l'aide d'un signal 16 formé par un mécanise de commande (non représenté) on commute pour utiliser seulement le résultat 30 partiel 16 de la comparaison des bits de valeur élevée ou également le résultat partiel de la comparaison des bits de valeur faible pour former le résultat global 15. En plus, on fournit l'information 13 indiquant si la comparaison des bits de valeur faible nA, nB correspond à un résultat positif. Le mécanisme de commande (non représenté) génère de préférence 35 les signaux de commande 16 pour commuter entre le signal du résultat intermédiaire de comparaison 13 et la valeur de remplacement 17, de façon à former le résultat global 15 en fonction de l'adresse de destination des données A, B à comparer. Il faut pour cela comparer des registres dé- terminés de données, à la précision du bit, par exemple à l'aide d'un compteur de programme pour les données d'adresse. En variante, le mécanisme de commande (non représenté) génère les signaux de commande 16 pour commuter de préférence du fait d'ordres complémentaires dans le 5 code de programme. Ainsi, un programmeur peut déterminer les données qui doivent être comparées. L'utilisation de l'invention en combinaison avec les données à comparer, par exemple à partir de la réception redondante ou du calcul redondant, se fait par exemple dans tous les systèmes du véhicule con10 cernant la sécurité comme par exemple les systèmes ABS, ESP, la régulation de direction ou la régulation du châssis. Bien que la présente invention soit décrite ci-dessus à l'aide d'un exemple de réalisation préférentiel, elle n'est pas limitée à cet exemple et permet de multiples autres applications. C'est ainsi que l'on peut envisager notamment une répartition et une comparaison correspondante des mots de données en plus de deux parties de mots de données. Il est en outre possible de fixer autrement le caractère significatif des mots partiels à comparer qu'en utilisant simplement des bits de valeur faible et des bits de valeur élevée. En outre, 20 les éléments décrits tels que les comparateurs, les compteurs, les portes ET et les multiplexeurs ne constituent que des moyens cités à titre d'exemple. REVEND I CATI ONS 10) Procédé de comparaison de mots de données binaires caractérisé par les étapes suivantes: - on répartit un premier et un second mot de données (A, B) à comparer, 5 chaque fois en au moins une partie de mots (hA, hB) ayant les bits de valeur élevée et une partie de mot (nA, nB) ayant les bits de valeur faible, - on compare séparément chaque partie de mot (hA, hB; nA, nB) dans une installation de comparaison respective (10, 11), - on combine les résultats intermédiaires de comparaison (12, 13) des installations de comparaison (10, 11) dans une installation de combinaison (14), de préférence une porte ET, pour obtenir un résultat global (15) en fonction d'un signal de commande (16) appliqué à une installation de correction (19) branchée entre au moins l'une des installations 15 de comparaison (10, 11) et l'installation de combinaison (14). 20) Procédé selon la revendication 1, caractérisé en ce que la division des mots de données (A, B) se fait dans un système à micropro20 cesseur dans lequel on vérifie la concordance des mots de données redondants (A, B). 30) Procédé selon la revendication 1, caractérisé en ce qu' en fonction du signal de commande (16) et/ou d'un résultat intermédiaire de comparaison (13), négatif, à la place du résultat intermédiaire de comparaison (13) de l'installation de comparaison (11) pour les parties de mots (nA, nB) de bits de valeur faible, on combine une valeur de remplacement (17) avec le résultat de comparaison intermédiaire (12) de l'installation de 30 comparaison (10) des parties de mots (hA, hB) de bits de valeur élevée. 40) Procédé selon la revendication 3, caractérisé en ce qu' on forme le signal de commande (16) par le mécanisme de commande d'un 35 microprocesseur qui génère l'émission de la valeur de remplacement (17) à la place du résultat intermédiaire de comparaison (13) en fonction d'une adresse de destination des mots de données (A, B) à comparer. 50) Procédé selon la revendication 3, caractérisé en ce que le signal de commande (16) est formé par le mécanisme de commande d'un microprocesseur qui génère l'émission de la valeur de remplacement 5 (17) à la place du résultat intermédiaire de comparaison (13) en fonction d'indications dans le code programme du microprocesseur. 60) Dispositif de comparaison de mots de données binaires, caractérisé par 1o - une installation pour diviser un premier et second mot de données (A, B) à comparer chaque fois en au moins une partie de mot (hA, hB) ayant des bits de valeur élevée et une partie de mot (nA, nB) ayant des bits de valeur faible, - chaque fois une installation de comparaison (10, 11) pour comparer 15 séparément chacune des parties de mots (hA, hB; nA, nB) pour émettre chaque fois un résultat intermédiaire de comparaison (12, 13) par l'installation de comparaison (10, 11), - une installation de combinaison (14), de préférence une porte ET pour combiner les résultats intermédiaires de comparaison (12, 13) de 20 l'installation de comparaison (10, 11) et former un résultat global (15), en fonction d'un signal de commande (16) appliqué à une installation de correction (19) branchée entre au moins l'une des installations de comparaison (10, 11) et l'installation de combinaison (14). 7 ) Dispositif selon la revendication 6, caractérisé en ce qu' on divise les mots de données (A, B) dans un système de microprocesseur dans lequel on vérifie la concordance de mots de données redondants (A, B). 80) Dispositif selon la revendication 6 ou 7, caractérisé en ce qu' en fonction du signal de commande (16) et/ou d'un résultat de comparaison négatif (13), à la place du résultat intermédiaire de comparaison (13) 35 de l'installation de comparaison (1 1) des mots partiels (nA, nB) de bits de valeur faible on combine une valeur de remplacement (17) avec le résultat intermédiaire de comparaison (12) de l'installation de comparaison (10) des mots partiels (hA, hB) des bits de valeur élevée dans une installation de combinaison.