Brevet FR2719430A1 — publié le 19951103

La présente invention concerne un circuit de détection d'erreur et, plus particulièrement, mais non exclusivement, un circuit de détection d'erreur dans des segments de bit. Les bits de données d'un signal de données numériques sont créés de façon à être dans l'un de deux états bien définis, à savoir un état logique 1 (état haut) ou un état logique 0 (état bas). Toutefois, des circuits et des trajets de données soumis à des bruits électriques ont des effets tels que les états des bits de données d'un signal de données deviennent moins bien définis au fur et à mesure qu'ils sont propagés dans des circuits et des trajets. Des erreurs de données se produisent souvent lorsque des bits de données deviennent, de cette manière, défectueux. On connaît des circuits de détection d'erreur sur les bits qui peuvent vérifier la validité de bits entrants et identifier l'existence d'erreurs 1orsqu'un seuil de validité défini a été dépassé. Toutefois, dans de tels circuits, il se pose le problème que le seuil défini servant à détecter une erreur est typiquement fixe, de sorte que la détection d'erreur est souvent excessivement sensible, ce qui amène à un renvoi inutile de bits de données valables qui ralentit le transfert des données. De plus, la détection d'erreur peut ne pas être suffisamment sensible, ce qui autorise la réception de bits de données erronés n'ayant pas été détectés. L'invention vise à fournir un circuit de détection d'erreur dans lequel les inconvénients ci-dessus mentionnés sont atténués. Selon l'invention, il est proposé un circuit de détection d'erreur qui comprend: une borne d'entrée connectée de façon à recevoir un signal de données dont le niveau varie entre des limites supérieure et inférieure; des moyens d'échantillonnage couplés à la borne d'entrée et servant à échantillonner le signal de données sur une durée prédéterminée afin de produire une pluralité d'échantillons du signal de données, chaque échantillon ayant un premier ou un deuxième niveau de signal en fonction du fait que le niveau du signal de données, au moment de son échantillonnage, était plus près de la limite supérieure ou plus près de la limite inférieure, respectivement; des moyens de comptage couplés aux moyens d'échantillonnage et servant à compter le nombre d'échantillons qui possèdent le premier niveau de signal et le nombre d'échantillons qui possèdent le deuxième niveau de signal; des moyens de comparaison couplés de façon à recevoir une valeur prédéterminée et connectés aux moyens de comptage afin de comparer à la valeur prédéterminée le nombre d'échantillons qui possèdent le premier niveau de signal et le nombre d'échantillons qui possèdent le deuxième niveau de signal et afin de produire un premier signal de sortie si le nombre d'échantillons possédant le premier niveau de signal dépasse la valeur prédéterminé et de produire un signal d'erreur si le nombre d'échantillons qui possèdent le premier niveau de signal et le nombre d'échantillons qui possèdent le deuxième niveau de signal dépassent tous deux la valeur prédéterminée. De préférence, les moyens de comparaison sont conçus pour produire un deuxième signal de sortie si le nombre d'échantillons possédant le premier niveau de signal ne dépasse pas la valeur prédéterminée. Selon une autre possibilité, les moyens de comparaison peuvent être de préférence conçus pour produire un deuxième signal de sortie si le nombre d'échantillons ayant le deuxième niveau de signal dépasse la valeur prédéterminée. Les moyens d'échantillonnage comprennent de préférence des moyens logiques couplés de façon à détecter le niveau du signal de données, ces moyens logiques comprenant une première porte ET, couplée de façon à recevoir un signal d'horloge et le signal de données, et une deuxième porte ET, couplée de façon à recevoir le signal d'horloge et connectée à une porte NON afin de recevoir le signal de données sous forme inversée; o la première porte ET produit ledit premier niveau de signal lorsque le signal de données est plus près de l'une des limites supérieure et inférieure et la deuxième porte et produit ledit deuxième niveau de signal lorsque ledit niveau du signal de données est plus près de l'autre des limites supérieure et inférieure. Les moyens de comptage comprennent de préférence un premier compteur conçu pour compter le nombre d'échantillons ayant le premier niveau de signal et un deuxième compteur conçu pour compter le nombre d'échantillons ayant le deuxième niveau de signal. De préférence, les moyens de comparaison comprennent un premier et un deuxième comparateur, un premier et un deuxième circuit de verrouillage, ainsi qu'un moyen de commande, le moyen de commande étant destiné à produire le nombre prédéterminé, o, si le nombre d'échantillons ayant le premier niveau de signal dépasse le nombre prédéterminé, alors le premier comparateur positionne le premier circuit de verrouillage et, si le nombre d'échantillons ayant le deuxième niveau de sortie dépasse le nombre prédéterminé, alors le deuxième comparateur positionne le deuxième circuit de verrouillage. Dans un mode de réalisation préféré, la durée prédéterminée correspond à la durée d'un bit de données. De préférence, les moyens de comptage et les moyens de comparaison sont repositionnés au début de chaque durée prédé- terminée. De cette manière, en faisant varier le nombre prédéterminé, on dispose d'un intervalle de valeurs de seuil de validité au moyen desquelles on peut vérifier la validité des bits de données entrants. La description suivante, conçue à titre d'illustration de l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: la figure 1 représente un mode de réalisation préféré d'un circuit de détection d'erreur selon l'invention; la figure 2 est une vue du profil d'un bit de données typique sur lequel agit le circuit de détection d'erreur de la figure 1; et la figure 3 est une table de vérité qui appartient au circuit de détection d'erreur de la figure 1. On se reporte à la figure 1, qui montre un circuit de détection d'erreur 10. Une borne 15 d'entrée de données du circuit 10 est connectée de façon à recevoir un signal de données numérique de la part d'une source de données série, par exemple un bus série ou un accès de données. Une borne d'entrée de signal d'horloge 20 est couplée de façon à recevoir un signal d'horloge. Le signal d'horloge est synchronisé avec le signal de données numérique de façon à diviser un unique bit du signal de données en un certain nombre de segments. Une première porte ET 25 possède une première entrée couplée à la borne d'entrée de données 15, une deuxième entrée couplée à la borne d'entrée d'horloge 20, et une sortie. De même, une deuxième porte ET 35 possède une première entrée couplée à la borne d'entrée de données 15 via une porte NON 30, une deuxième enirée couplée à la borne d'entrée d'horloge 20, et une sortie. De cette manière, un segment échantillonné du signal de données numériques est obtenu à chaque apparition du signal d'horloge. Le segment échantillonné aura une valeur qui est le niveau 1 logique (niveau haut) ou le niveau 0 logique (niveau bas). Si la valeur du segment échantillonné est haute (niveau logique 1), alors les deux signaux d'entrée de la première porte ET 25 seront au niveau haut, de sorte que leur signal de sortie sera au niveau haut. Inversement, si le segment échantillonné est au niveau bas (niveau 0 logique), alors les deux signaux d'entrée de la deuxième porte ET 35 seront au niveau haut, de sorte que leur signal de sortie sera au niveau haut. Ainsi, le niveau du bit de données est échantillonné plusieurs fois pendant la durée du bit de données. Un premier compteur 40 et un deuxième compteur 45 sont couplés aux sorties respectives des première et deuxième portes ET 25 et 35. Le premier compteur 40 est donc destiné à compter le nombre de segments échantillonnés qui sont au niveau haut et le deuxième compteur est destiné à compter le nombre de segments échantillonnés qui sont au niveau bas. Une borne d'entrée de commande 60 est couplée de façon à recevoir un signal de commande de la part d'un dispositif ou d'un commutateur d'utilisateur, ce signal de commande devant être décrit plus complètement ci-après. Un premier comparateur 50 est couplé de façon à recevoir le signal de commande venant de la borne d'entrée de commande 60 et est en outre couplé au premier compteur 40 et au premier circuit de verrouillage 52. Le signal de commande indique une valeur qui correspond à un nombre de segments échantil- lonnés. Si le premier compteur 40 compte jusqu'à la valeur indiquée par le signal de commande, alors le premier comparateur 50 positionne le premier circuit de verrouillage 52. De même, un deuxième comparateur 55 est couplé de façon à recevoir le signal de commande venant de la borne d'entrée de commande 60 et est en outre connecté au deuxième compteur 45 et au deuxième circuit de verrouillage 57. De la même manière, si le deuxième compteur 45 compte jusqu'à la valeur indiquée par le signal de commande, alors le deuxième comparateur 55 positionne le deuxième circuit de verrouillage 57. Le premier circuit de verrouillage 52 et le deuxième circuit de verrouillage 57 possèdent des sorties qui sont commutées dans l'état conducteur lorsque les circuits de verrouillage sont positionnés. Une borne de sortie de données 70 est connectée de façon à recevoir le signal de sortie du premier circuit de verrouillage 52. Une troisième porte ET 65 est couplée par une entrée à la sortie du premier circuit de verrouillage 52, par une autre entrée à la sortie du deuxième circuit de verrouillage 57, et par sa sortie à une borne 75 de sortie de signal d'erreur. De cette manière, si les deux circuits de verrouillage 52 et 57 sont positionnés, la porte ET présente un signal de sortie de niveau haut qui produit un signal sur la borne de sortie de signal d'erreur 70. On se reporte maintenant à la figure 2, qui est un graphe de la tension V en fonction du temps T pour un bit de données typique. Idéalement, les bits de données présents sur le trajet de données qui est connecté à la borne d'entrée de données 15 sont dans un état bien défini, soit au niveau haut (VH), soit au niveau bas (VL). Toutefois, en réalité, en raison du bruit présent sur le trajet de données et d'éventuels autres facteurs, les bits de données présentent un profil moins idéal, comme on peut le voir pour le bit de données présenté sur la figure 2. Si l'on utilise un échantillon pris dans le milieu du bit de données pour déterminer l'état, le résultat sera un niveau haut. Toutefois, l'examen du profil montre que le bit de données, même s'il n'est pas de manière marquée dans l'un ou l'autre des deux états bien définis, est plus susceptible de représenter un état bas. Pendant la marche du circuit, le bit de données de la figure 2 est reçu sur la borne d'entrée de données 15. Le signal d'horloge reçu sur la borne d'entrée d'horloge 20 possède une première impulsion d'horloge qui identifie un premier segment 80 du bit de données. Ensuite, les deuxième, troisième, quatrième et cinquième impulsions d'horloge identifient respectivement les autres segments 85, , 95 et 100. Le signal d'horloge est produit par un diviseur préalable interne à partir du signal d'horloge interne d'un dispositif auquel le circuit de détection d'erreur 10 est couplé. La borne d'entrée 60 reçoit le signal de commande de façon continue pendant le fonctionnement du circuit de détection d'erreur 10. Ainsi, les comparateurs 50 et 55 reçoivent une valeur de seuil. Si le nombre d'échantillons comptés par le compteur 40 dépasse cette valeur de seuil, alors le premier comparateur 50 positionne le premier circuit de verrouillage 52. De même, si le nombre d'échantillons comptés par le compteur 45 dépasse la valeur de seuil, alors le deuxième comparateur 55 positionne le deuxième circuit de verrouillage 57. De cette manière, la tolérance du circuit de détection d'erreur 10 est variable, car elle dépend de la valeur de seuil contenue dans le signal de commande. Dans le cas de la première impulsion d'horloge, la valeur du signal de données relatif au premier segment 80 est inférieure à une valeur médiane de seuil et constitue donc un état bas. La valeur médiane de seuil 105 est déterminée par le seuil interne des portes ET 25 et 35. La disposition des portes ET 25 et 35 et de la porte NON 30 est telle que les portes ET 25 et 35 fonctionnent de manière mutuellement exclusives. Si la première entrée de la première porte ET 25 est au niveau bas, alors sa sortie sera également au niveau bas. Inversement, la première entrée de la deuxième porte ET 35 sera au niveau haut, en raison de la présence de la porte NON 30, si bien que sa sortie sera également au niveau haut. Par conséquent, le deuxième compteur 45 s'incrémentera d'une unité. La séquence ci-dessus présentée se répète pour les segments suivants du bit de données qui sont produits par les impulsions d'horloge, le premier compteur 40 s'incrémentant si la valeur du segment est haute, et le deuxième compteur s'incrémentant si la valeur du segment est basse. Par conséquent, en ce qui concerne le bit de données de la figure 2, le premier compteur s'incrémente pour le troisième segment 90, et le deuxième compteur s'incrémente pour tous les autres segments, 80, 85, 95 et 100. A la fin de la période d'échantillonnage du bit de données, le premier compteur possède la valeur 1 et le deuxième compteur possède la valeur 4, indiquant les nombres respectifs de segments échantillonnés qui sont au niveau haut et au niveau bas. Si la valeur imposée par le signal de commande est 2, alors seul le deuxième circuit de verrouillage 57 sera positionné. Par conséquent, la borne de sortie de données 70 aura un signal de niveau bas (niveau 0 logique), le signal de sortie de la troisième porte ET 65 sera bas, et le signal d'erreur ne sera pas produit sur la borne de sortie de signal d'erreur 75. Par conséquent, le résultat sera un niveau logique 0, sans erreur. Si la valeur fixée par le signal de commande est 1, alors le premier circuit de verrouillage 52 et le deuxième circuit de verrouillage 57 seront tous deux positionnés. Par conséquent, la borne de sortie de données 70 aura un signal de niveau haut (niveau 1 logique), le signal de sortie de la troisième porte ET 65 sera haut, et un signal d'erreur sera produit sur la borne de sortie de signal d'erreur 75. On aura donc, en résultat, une erreur. Ainsi, pour le même bit de données, comme représenté sur la figure 2, une erreur peut être détectée ou écartée, en fonction de la valeur du signal de commande. A la fin de la période d'échantillonnage du bit de données, les premier et deuxième compteurs 40 et 45 et les premier et deuxième circuits de verrouillage 52 et 57 sont repositionnés, pour préparer le traitement du bit de données suivant. A titre d'exemple, en référence à la figure 3, on peut voir une table de vérité présentant des résultats pour un bit de données à cinq segments, pour lequel le signal de commande a la valeur 2. Toutes les possibilités de valeurs des segments sont montrées. La ligne 5 de la figure 3 représente le bit de données utilisé comme exemple sur la figure 2. On trouve quatre segments qui possèdent la valeur basse et un seul segment qui possède la valeur haute. Le circuit de détection d'erreur 10 est donc conçu pour fonctionner avec une tolérance d'erreur variable, telle que donnée par le signal de commande. En outre, il fonctionne indépendamment du nombre de segments échantillonnés. On comprendra que d'autres modes de réalisation que celui ci-dessus présenté peuvent être mis en oeuvre, par exemple par utilisation d'un registre à décalage à la place des premier et deuxième compteurs 40 et 45. De plus, il serait possible d'utiliser une mise en oeuvre logique discrète pour la table de vérité de la figure 3, au lieu des premier et deuxième comparateurs et 55, des premier et deuxième circuits de verrouillage 52 et 57, et de la troisième porte ET 55. De plus, il serait possible, grâce à l'utilisation d'inverseurs ou de moyens analogues, de placer les premier et deuxième circuits de verrouillage 52 et 57 et la porte ET 65 de façon que le deuxième circuit de verrouillage 57 fournisse le signal de sortie à la borne de sortie de données 70. Bien entendu, l'homme de l'art sera en mesure d'imaginer, à partir du circuit dont la description vient d'être donnée à titre simplement illustratif et nullement limitatif, diverses variantes et modifications ne sortant pas du cadre de l'invention. REVENDICATIONS 1. Circuit (10) de détection d'erreur, caractérisé en ce qu'il comprend: une borne d'entrée (15) couplée de façon à recevoir un signal de données dont le niveau varie entre des limites supérieure et inférieure; des moyens d'échantillonnage (25, 35), couplés à la borne d'entrée, qui servent à échantillonner le signal de données sur une période prédéterminée afin de produire une pluralité d'échantillons du signal de données, chaque échantillon ayant un premier ou bien un deuxième niveau de signal selon que le niveau du signal de données, lorsqu'il est échantillonné, est respectivement plus proche de la limite supérieure ou plus proche de la limite inférieure; des moyens de comptage (40, 45) couplés aux moyens d'échan- tillonnage et servant à compter le nombre d'échantillons qui possèdent le premier niveau de signal et le nombre d'échantillons qui possèdent le deuxième niveau de signal; des moyens de comparaison (50, 52, 55, 57, 60, 65) couplés de façon à recevoir une valeur prédéterminée (60) et connectés aux moyens de comptage afin de comparer à la valeur prédéterminée le nombre d'échantillons ayant le premier niveau de signal et le nombre d'échantillons ayant le deuxième niveau de signal et afin de produire un premier signal de sortie si le nombre d'échantillons ayant le premier niveau de signal dépasse la valeur prédéterminée et de produire un signal d'erreur si le nombre d'échantillons ayant le premier niveau de signal et le nombre d'échantillons ayant le deuxième niveau de signal dépassent tous deux la valeur prédéterminéce. 2. Circuit de détection d'erreur selon la revendication 1, caractérisé en ce que les moyens de comparaison sont conçus de façon à produire un deuxième signal de sortie si le nombre d'échantillons possédant le premier niveau ne dépasse pas la valeur prédéterminée. 3. Circuit de détection d'erreur selon la revendication 1, caractérisé en ce que les moyens de comparaison sont conçus pour produire un deuxième signal de sortie si le nombre d'échantillons possédant le deuxième niveau de signal dépasse la valeur prédéterminée. 4. Circuit de détection d'erreur selon l'une quelconque des revendi- cations 1 à-3, caractérisé en ce que les moyens d'échantillonnage comprennent des moyens logiques qui sont connectés de façon à détecter le niveau du signal de données. 5. Circuit de détection d'erreur selon la revendication 4, caractérisé en ce que les moyens logiques comprennent une première porte ET (25) connectée de façon à recevoir un signal d'horloge (20) et le signal de données (15), et une deuxième porte ET (35) couplée de façon à recevoir le signal d'horloge (20) et connectée à une porte NON (30) afin de recevoir le signal de données sous forme inversée; et en ce que la première porte ET produit ledit premier niveau de signal lorsque le signal de données est plus près de l'une des limites supérieure et inférieure, et la deuxième porte ET produit ledit deuxième niveau de signal lorsque ledit niveau du signal de données est plus proche de l'autre des limites supérieure et inférieure. 6. Circuit de détection d'erreur selon l'une quelconque des revendi- cations 1 à 5, caractérisé en ce que les moyens de comptage comprennent un premier compteur (40) conçu pour compter le nombre d'échantillons qui possèdent le premier niveau de signal et un deuxième compteur (45) conçu pour compter le nombre d'échantillons qui possèdent le deuxième niveau de signal. 7. Circuit de détection d'erreur selon l'une quelconque des revendi- cations 1 à 6, caractérisé en ce que les moyens de comparaison comprennent un premier et un deuxième comparateur (50, 55), un premier et un deuxième circuit de verrouillage (52, 57) et un moyen de commande (60), le moyen de commande étant destiné à produire la valeur prédéterminée. 8. Circuit de détection d'erreur selon la revendication 7, caractérisé en ce que, si le nombre d'échantillons qui possèdent le premier niveau de signal dépasse la valeur prédéterminée, alors le premier comparateur positionne le premier circuit de verrouillage et, si le nombre d'échantillons qui possèdent le deuxième niveau de signal dépasse la valeur prédéterminée, alors le deuxième comparateur positionne le deuxième circuit de verrouillage. 9. Circuit de détection d'erreur selon l'une quelconque des revendi- cations 1 à 8, caractérisé en ce que la période prédéterminée correspond à la période d'un bit de données. 10. Circuit de détection d'erreur selon l'une quelconque des revendi- cations 1 à 9, caractérisé en ce que les moyens de comptage et les moyens de comparaison sont repositionnés au début de chaque période prédéterminée.