<Desc/Clms Page number 1>
MÉMOIREDESCRIPTIF
EMI1.1
MÉMOIRE A DÉPOSÉ DE BREVET D'INVENTION L'APPU) D'UNE DEMANDEFORMÉE PAR
LOCKHEED ELECTRONICS COMPANY, INC. pour Appareil pour détecter des erreurs dans un flux de données numériques codé selon un code à double densité.
Demande de brevet aux Etats-Unis d'Amérique nO 415. 695 du 7 septembre 1982 en faveur de
L. C. CSENGERY.
La présente invention concerne des systèmes de détection d'erreurs en temps réel et en particulier des systèmes pour détecter des erreurs dans certains types de données binaires codées.
<Desc/Clms Page number 2>
Dans le domaine de la détection des erreurs de données numériques, des systèmes de contrôle d'erreurs de parité sont bien connus et largement utilisés.
Cependant, ces systèmes de contrôle de parité exigent en général l'utilisation d'un bit de parité supplémentaire qui est ajouté à une suite de bits "1" et de bits "0". Traditionnellement, les bits "1" sont comptés dans une longueur ou une suite de bits particulière qui forme un segment ou un mot d'ordinateur. Si le système de parité impair est utilisé, le nombre de bits"1" dans chaque mot d'ordinateur doit être impair. Si le codage particulier d'un mot d'ordinateur particulier produit un nombre pair de bits"1", un bit de parité "1"binaire est ajouté. Si le codage particulier d'un mot d'ordinateur particulier donne un nombre impair de bits"1", un bit de parité"0"est ajouté.
Il existe de nombreuses variantes du système précité pour la détection des erreurs, mais ils ont tous la caractéristique significative que des bits sont ajoutés aux données pour produire un motif prévisible et les erreurs sont détectées comme des violations du motif qui est prévu. Les bits ajoutés sont qualifiés de supplémentaire et un supplément accru augmente la largeur de bande requise pour traiter les données. Cela étant, ces techniques ne sont pas complètement souhaitables.
Le brevet des Etats-Unis d'Amérique nO 4. 122. 441 intitulé "Error Detection and Indication System for Bi-Phase Encoded Digital Data"accordé le 24 octobre 1978 à Robinson et collaborateurs et cédé à la Demanderesse décrit un système de détection d'erreurs en temps réel pour des données numériques biphases ou codées de manière analogue. Des données biphases ou codées de manière analogue sont caractérisées en ce qu'elles présentent deux transitions dans
<Desc/Clms Page number 3>
une cellule de bit pour une valeur binaire "1" ou une valeur binaire"0"et une transition dans une cellule de bit pour l'autre valeur binaire.
Ce codage produit essentiellement un nombre pair de transitions correspondant à la valeur binaire représentée par les deux transitions entre chaque apparition de l'autre valeur binaire représentée par une transition. La surveillance du nombre de transitions de la valeur binaire représentée par deux transitions fournit une indication de la présence d'un nombre impair de transitions. Ceci représente un état d'erreur. Le système décrit utilise un circuit logique réagissant aux impulsions d'horloge de données binaires"1"et binaires"0"récupérées des données codées biphases d'autosynchronisation.
Lorsqu'un état d'erreur est détecté, un signal d'indication d'erreur est produit.
En plus des codes biphases destinés à coder des données binaires et qui sont caractérisés par la présence de deux transitions dans une cellule de bit pour une valeur binaire choisie, plusieurs codes sont connus comme codes à double densité, par exemple celui connu sous le nom de Miller dans lequel il n'y a jamais plus d'une transition dans une cellule de bit donnée. Ces codes ne peuvent pas être traités par le système de détection d'erreurs décrit dans le brevet de Robinson et collaborateurs. Etant donné que les codes à double densité permettent à un canal d'une largeur de bande donnée de contenir deux fois autant de données que les codes biphases ils sont utilisés de manière extensive.
Il existe donc un besoin important d'un système de détection d'erreurs capable de détecter des erreurs en temps réel lorsqu'il est appliqué à des données binaires à double densité codées selon le code Miller ou de manière analogue.
Suivant l'invention, il est prévu un système
<Desc/Clms Page number 4>
de détection d'erreurs en temps réel pour des données binaires à double densité codées selon le code Miller ou de manière analogue dans lequel, pendant le décodage de la forme d'onde contenant ces données, des signaux indicatifs des intervalles séparant des transitions successives de la forme d'onde sont produits, ces intervalles pour une forme d'onde exempte d'erreurs étant de durée courte, intermédiaire ou longue selon un rapport de 2 : 3 :
4, le système de détection d'erreurs comprenant en combinaison un dispositif comportant un premier et un second état exploitable et couplé de manière à alterner entre ces états en réaction à chaque détection dans la forme d'onde d'un intervalle de transitions correspondant à la durée intermédiaire, un dispositif pour assurer que le premier dispositif se trouve dans le premier état en réaction à chaque détection dans la forme d'onde d'un intervalle de transitions correspondant à la durée longue et un dispositif pour produire un signal d'erreur chaque fois que le premier dispositif se trouve dans le second état au moment de la détection d'un intervalle de transitions correspondant à la durée longue.
L'invention sera mieux comprise à la lecture de la description suivante de la forme d'exécution préférée donnée à titre d'exemple avec référence aux dessins annexés, dans lesquels : la Fig. l est un schéma logique du circuit de décodage comprenant le circuit de détection d'erreurs conforme à l'invention ; la Fig. 2 illustre une série de formes d'ondes servant à décrire le fonctionnement du circuit de la Fig. 1 ; la Fig. 3 illustre une série de formes d'ondes servant à décrire un autre aspect du fonctionnement du circuit de la Fig. 1, et
<Desc/Clms Page number 5>
la Fig. 4 illustre une série de formes d'ondes servant à décrire un type particulier de code à double densité.
Les mêmes chiffres de référence sont utilisés dans toutes les figures pour désigner les mêmes parties ou des parties semblables.
Avant de décrire un appareil spécifique, il sera utile de revoir la nature du code Miller et d'autres codes de cette catégorie. Comme le montre la Fig. 3, un flux de données arbitraire est indiqué en 10. Immédiatement en dessous du flux 10 sont représentées les limites, 11, des cellules de bits pour chaque bit de données. La ligne 12 illustre le train d'impulsions codé selon le code Miller pour les bits 10. Les règles de codage pour le code Miller spécifient que chaque" 1" présente une transition au milieu d'une cellule de bit, tandis qu'un"0"présente une transition au début d'une cellule de bit, pourvu qu'aucune transition ne se présente à moins d'une cellule de bit d'une autre. Cela étant, la transition initiale requise pour un"0"suivant un"1"est sautée ou retardée.
Pour décoder des données codées selon le code Miller, il est avantageux d'utiliser une horloge présentant des impulsions à une moitié de l'intervalle de cellules de bits. La synchronisation de cette horloge est illustrée sur la ligne 13 de la Fig. 3. Si l'on compare la forme d'onde de la Fig. 12 codée selon le code Miller au signal d'horloge 13, on peut voir que les intervalles entre des transitions de la forme d'onde 12 exprimés en termes d'impulsions d'horloge 13 sont égaux à"2","3"ou"4", comme indiqué sur la ligne 14 de la Fig. 3. C'est-à-dire pour une forme d'onde exempte d'erreur, les intervalles entre des transitions successives de la forme d'onde sont d'une durée courte, intermédiaire ou longue selon le rapport
<Desc/Clms Page number 6>
de 2 : 3 : 4.
Il est par conséquent avantageux de considérer une forme d'onde codée selon le code Miller comme étant constituée d'une série de"2", de"3"et de"4" en termes de l'intervalle d'une moitié de cellule de bit ou d'une double fréquence d'horloge. L'analyse du codage selon le code Miller révèle que pour toute séquence aléatoire de bits codés, le nombre de"3"se présentant entre deux"4"quelconques doit toujours être pair. C'est cette caractéristique qui forme la base de la présente invention. En d'autres termes, si en décodant un flux de données codées selon le code Miller, on rencontre un nombre impair de"3"entre deux "4"successifs, cela signifie qu'il y a erreur.
Un autre schéma de codage auquel le système de détection d'erreurs de l'invention peut être appliqué est illustré sur la Fig. 4. Le flux de bits de données 10 et la représentation de cellules de bits 11 sont les mêmes que sur la Fig. 3 à des fins de comparaison. Si le flux de données 10 est codé selon une marque biphase (Bi-M) comme indiqué sur la Fig. 15, et qu'une bascule est amenée à commuter les états en réaction à chaque transition devenant positive et à ignorer les transitions devenant négatives, on obtient une forme d'onde codée 16. Lorsque la forme d'onde 16 est rapportée aux impulsions d'horloge de double fréquence 13, les intervalles entre les transitions sont définis comme sur la ligne 17.
Pour plus de commodité dans la description, la forme d'onde codée 16 est identifiée par HDDRTMII et présente la même caractéristique que le code Miller par le fait qu'il y a toujours un nombre pair de"3"entre des"4"dans un signal exempt d'erreur.
Quoique cela ne soit pas illustré ici, il existe d'autres types de codages, semblables au code Miller, dans lesquels la présente invention permet de
<Desc/Clms Page number 7>
détecter les erreurs. L'invention est applicable à un code Miller modifié dans lequel un "1" présente une transition au milieu d'une cellule de bit, tandis qu'un "0"présente une transition au début, mais dans lequel la transition sautée ou retardée est celle du"1" lorsqu'un"0"le suit. Si la définition du "1" et du "0"du code Miller modifié est inversée, on obtient le code"Wood". Le code Wood produit la même forme d'onde que le code Miller, mais une demi-cellule de bit plus tôt.
Tous les codes à double densité du type de Miller exigent un"préambule"contenant des transitions unzéro-un pour permettre aux décodeurs de se verrouiller sur les limites des cellules de bits. D'une manière plus spécifique, l'appareil de décodage doit détecter un"4"afin de se synchroniser sur le signal codé. Dans le code Miller, une séquence un-zéro-un produit un"4".
La Fig. l illustre un système destiné à traiter un flux de données codées selon le code Miller et à produire à partir de ce flux un signal de données (NRZL) de non-retour à zéro, et un signal d'horloge NRZL et, si c'est le cas, un signal d'erreur. Les données codées sont introduites en 20 dans l'entrée d'un détecteur de transitions 21 de n'importe quelle construction connue. La sortie du détecteur de transitions 21 est transmise par la connexion 22 à l'entrée EFFACEMENT d'un registre à décalage 23 dont l'entrée de données, D, est connectée à une source de tension positive ou à une entrée logique 1. L'entrée HORLOGE du registre 23 est alimentée par une"HORLOGE 16 x" donnant un taux d'impulsions valant seize fois le débit des bits de données.
Le signal d'"HORLOGE 16 x"peut être produit et synchronisé avec la forme d'onde entrante de n'importe quelle manière bien connue. Le registre à décalage 23 est pourvu de plusieurs sorties désignées par C8, C9, C16, C17, C20, C24, C25, C29 et
<Desc/Clms Page number 8>
C36, correspondant respectivement à des comptes d'un même nombre. Les diverses sorties du registre à décalage 23 fournissent donc une base de temps pour synchroniser les intervalles entre des transitions successives dans les données codées entrantes détectées par le détecteur de transitions 2l.
A titre d'exemple, un segment de données codées selon le code Miller est indiqué sur la ligne 50 de la Fig. 2. En dessous de ce segment, sur la ligne 51, se trouve une représentation de 1'"HORLOGE 16 x", tandis que sur les lignes 52 à 60 sont représentées soit les sorties directes, soit les sorties indirectes correspondant respectivement aux sorties C8 à C36 du registre à décalage 23 pour les données 50. Par exemple, si le registre à décalage a été effacé initialement, la sortie sur C8 passe d'un 0 logique à un 1 logique au huitième coup de comptage de 1'"HORLOGE 16 x"comme indiqué sur la ligne 52. La sortie Cl6 change de manière analogue au niveau du seizième coup de comptage comme indiqué sur la ligne 54, et ainsi de suite.
Il convient de noter que le segment échantillon sur la ligne 50 est formé d'un"4", d'un"3"et d'un"2"dans cet ordre, comme indiqué en 61,62 et 63, respectivement. Par conséquent, entre les transitions définissant la partie 61, des signaux de sorties apparaissent sur chacune des sorties C8 a C29. Comme la transition entre 61 et 62 est présente, le compte C36 n'est pas atteint et le registre à décalage est vidé pour répéter son cycle de synchronisation. Pendant les intervalles plus courts représentés par 62 et 63, seules les sorties appropriées manifestent une modification d'une manière facile à comprendre.
Lorsqu'on compare la Fig. 2 et la Fig. 3, il est clair que chaque impulsion d'horloge sur la ligne
<Desc/Clms Page number 9>
13 de la Fig. 3 correspond à huit impulsions d'horloge sur la ligne 51 de la Fig. 2. C'est-à-dire que la sortie C8 du registre à décalage 23 marque l'intervalle d'une demi-cellule de bit.
Comme le montre la Fig. l, les sorties du registre à décalage 23 sont fournies, comme indiqué par une nomenclature classique, à une série de six circuits-portes G-l, G-2, G-3, G-4, G-5, et G-6. Les circuits-portes G-l, G-2 et G-3 sont en outre alimentés de la sortie du détecteur de transition 21 par des connexions 22 et 24. Ainsi, si le détecteur 21 produit une sortie avant que le registre à décalage 23 atteigne un compte de 20, une impulsion"2"apparaît à la sortie du circuit-porte G-l. Voir la ligne 64 sur la Fig. 2.
Si la transition détectée apparaît entre les comptes 20 et 29, une impulsion"3"apparaît à la sortie du circuit-porte G-2. Voir la ligne 65 sur la Fig. 2.
Finalement, si la transition détectée apparaît entre les comptes 29 et 36, une impulsion"4"apparaît à la sortie du circuit-porte G-3. Voir la ligne 66 sur la Fig. 2.
Les circuits-portes G-4, G-5 et G-6 produisent des impulsions de synchronisation respectives aux comptes 8,16 et 24, respectivement, comme indiqué sur les lignes 67,68 et 69 de la Fig. 2.
En vue de traiter davantage les signaux pour extraire les données NRZL, une série de bascules D 25, 26 et 27 est prévue, ces bascules étant connectées les unes aux autres ainsi qu'aux circuits-portes G-l à G-5 et G-7 à G-13 comme indiqué. On comprendra que des conducteurs portant les mêmes chiffres sont interconnectés soit directement, soit par l'intermédiaire d'un inverseur. Par exemple, la sortie du circuit-porte G-3 est inversée et est amenée à l'entrée correspondante
<Desc/Clms Page number 10>
des deux circuits-portes G-8 et G-13.
Le signal d'HORLOGE NRZL est extrait par une autre bascule D 28 connectée à l'inverseur I-l et aux circuits-portes G-14 à G-22, le tout comme représenté au dessin.
Au cours du processus de décodage, il est nécessaire de"compter"le nombre de"3"et ce comptage est assuré par la série de bascules D 29,30 et 31 interconnectées, comme indiqué, aux circuits-portes G- 23, G-24 et G-25. Les entrées d'horloge des bascules 30 et 31 sont connectées à 1'"HORLOGE 16 x"et fonctionnent comme un registre à décalage pour transférer l'état de la bascule 29, c'est-à-dire le signal à sa sortie Q, avec un bref délai, aux sorties Q et Q de la bascule 31, indiquées respectivement par 3PO et 3PO.
Comme noté au dessin, la sortie 3PO est connectée aux entrées des circuits-portes G-7, G-15, G-19 et G-24, ainsi qu'à une entrée d'un circuit-porte G-26 à une fin décrite plus loin. La sortie 3PO de la bascule 31 est de même connectée aux circuits-portes G-9, G-18, G-21 et G-23.
Finalement, le circuit-porte G-26 comporte une seconde entrée connectée à la sortie"4"du circuit- porte G-3 et sa sortie est connectée à une entrée d'un circuit-porte G-27. La sortie C36 du registre à décalage 23, après inversion, est connectée à la seconde entrée du circuit-porte G-27. Comme indiqué, le signal d'erreur est obtenu à la sortie du circuit-porte G-27.
Dans cet exemple, les circuits-portes G-l à G- 6 et G-25 sont des circuits-portes ET, tandis que les autres sont des circuits-portes NON-ET.
Si on suppose une détection sans erreur de la forme d'onde codée selon le code Miller 12 de la Fig. 3, les sorties 3PO et 3PO de la bascule 31 sont telles qu'indiquées sur les lignes 70 et 71. Les
<Desc/Clms Page number 11>
données NRZL à la sortie Q de la bascule 26 sont telles qu'indiquées sur la ligne 72, tandis que la sortie d'horloge NRZL en Q de la bascule 28 est telle qu'indiquée sur la ligne 73.
Si pour une certaine raison, une transition apparaît à un endroit incorrect tel que celui indiqué dans le cercle 74 sur la ligne 75, le signal 3PO apparaîtra à présent comme indiqué sur la ligne 76.
Etant donné que la transition dans le cercle 74 a été retardée et apparaît à présent comme un"4"au lieu d'un"3", l'impulsion"4"au niveau du circuit-porte G- 26 coîncide avec un 1 logique en 3PO, ce qui provoque l'application d'un 0 logique au circuit-porte G-27 qui fournit un 1 logique à sa sortie comme signal d'erreur.
Voir ligne 77 sur la Fig. 3. On comprendra que l'apparition d'un compte 36 produit également un signal d'erreur.
Tous les composants de la Fig. l, à l'exception des circuits-portes G-26 et G-27, sont nécessaires pour décoder les données codées selon le code Miller.
Cela étant, la simple addition de deux circuits-portes NON-ET, à savoir les circuits-portes G-26 et G-27, assure la détection des erreurs.
Par sommation, les signaux présents aux sorties des circuits-portes G-l, G-2 et G-3 sont indicatifs des intervalles entre des transitions successives de la forme d'onde à décoder, ces intervalles pour une forme d'onde exempte d'erreur étant d'une durée courte, intermédiaire ou longue selon le rapport de 2 : 3 : 4. Les bascules 29,30 et 31 constituent un dispositif comportant un premier et un second état exploitable et couplé de manière à alterner entre ces états en réaction à chaque détection dans la forme d'onde entrante, d'un intervalle de transitions correspondant à la durée intermédiaire.
En faisant passer le
<Desc/Clms Page number 12>
signal/"4" à travers le circuit-porte G-25 vers l'entrée EFFACEMENT de la bascule 29, on pilote cette bascule dans un état choisi chaque fois qu'un signal de sortie"4"est fourni par le circuit-porte G-3. Ce dispositif assure que les bascules 29,30 et 31 se trouvent dans le premier état ou état de départ en réaction à chaque détection dans la forme d'onde entrante, d'un intervalle de transitions correspondant à la durée longue. Chaque fois que les bascules 29,30 et 31 sont dans leur second état au moment de la détection d'un intervalle de transitions correspondant à la durée longue, les circuits-portes G-26 et G-27 fournissent un signal d'erreur.
Les circuits-portes G-23 et G-24 constituent un dispositif d'aiguillage couplé de manière à réagir à
EMI12.1
la sortie retardée, à savoir à 3PO et 3PO, pour fournir des signaux d'entrée, le signal"3", aux entrées d'horloge et d'effacement de la bascule 29. Le circuit-porte G-25 constitue un dispositif supplémentaire qui fonctionne comme un circuit OU et est intercalé entre l'entrée effacement de la bascule 29 et le dispositif d'aiguillage.
Bien entendu, l'invention n'est en aucune manière limitée aux détails d'exécution décrits plus haut auxquels de nombreux changements et modifications peuvent être apportés sans sortir de son cadre.