Brevet FR2017691A1 — publié le 19700522

La présente invention concerne un ensemble de transmission des données. Dans le but de déceler les erreurs dans les données transmises par un ensemble de transmission de données, on a proposé diverses formes de codage par lesquelles on peut déceler les erreurs survenues aux données au cours de leur transmission, à la condition qu'èlles n'excèdeXt-pas la capacité du code, au moyen d'un traitement logique des donnée reçues. La présente invention est relative à des ensembles de transmission des données utilisant un code dans lequel les digits de donnée et les digits de contrôle sont groupés en mot de N digit de sorte que chaque mot comprend M groupe de digit que chacun des digit apparaisse dans un seul et unique arrangement de groupe et que les digits de chaque groupe répondent de la manière désirée à la même opération logique.Il est rappelé que digit daigne un ensemble binaire ou non représentant une donnée. Ainsi, donc en effectuant la même opération logique sur chaque groupe et en notant les groupes pour lesquels elle échoue, il est possible d'ldentifier lequel des digits est errons à la condition qu'il n'existe qu'un seul digit erroné. La nature exacte de digit n'entre pas en ligne de compte. Ils peuvent, être par exemple de système binaire, ternaire ou bien de base hexa-décimale.Dans tous ce qui suit, on traitira d'un ensemble de transmission des données de type ainsi défini.Dans le terme F, ensemble de transmission des données du type considéré", il convient de remarquer que le terme "ensemble de traitement des données" comprend des dispositifs de mémoire, des ensembles de traitement dé l'information àu tout autre dispositif dans lequel les données sont transmises d'un emplacement à un autre. La présente invention concerne un ensemble de transmission des données du type considéré qui comporte un dispositif à décalage d'une capacité de N digit disposés de telle sorte qu'ils produisent au cours des décalages successifs un groupe différent parmi les groupes de digits successifs à des emplacements de digits prédéterminés du dispositif à décalage, comprenant des dispositifs logiques pour effectuer l'opération logique relative aux emplacements de digit prédéterminés, un registre de résultat et des organes de commande permettant de commander le dispositif à décalage, et les dispositifs logiques et le registre de résultat de telle sorte que chaque groupe de digits se présente l'un après l'autre aux emplacements de digits prédéterminés et donc au dispositif logique et de sorte que la réussite ou l'échec de l'opération logique est enregistré dans le registre de résultat pour chacun des groupes de digits. On peut prévoir des dispositifs permettant de décoder les contenus du registre de résultat pour constater l'absence d'erreur ou l'emplacement d'un digit erroné et l'ensemble peut être utilisé pour créer les mots du code à partir de digits de données fournis. A titre d'exemple, la présente invention sera décrite ci-après sur un mode de réalisation tel qu'illustré dans le dessin ci-joint qui représente schématiquement un système de transmission de données conforme à la présente invention qui utilise un code élémentaire de Hamming de quatre de digits binaires ou bits de données et trois digits ou bits de contrôle d'où M = 3. Il y a donc quatre bits dans chaque groupe et l'opération logique consiste simplement à constater l'égale parité ou que la somme module 2 des bits de chaque groupe est nulle. Le système comporte une porte 10, d'entre de donnée, un dispositif de dé- calage 11, un circuit logique 12 un registre. de résultat 13, un dispositif de commande 14, un décodeur 15 des circuits de correction 16 et une porte 17 des sorties des données. Pour des raisons de simplicité le dispositifs de décalage 11 est représenté avec des entrées et sorties en parallèle mais on peut adopter aussi bien entrée en série, avec sortie en série , entrée en parallèle avec sortie en série, entrée en série avec sortie en parallèle. Etant donné que M = 3, le dispositif de décalage 11 présente 7 emplacements de bit, A,B,C,D,E,F et G relié de telle sorte que A alimente D, B alimente A, C alimente E, D alimente B, E alimente F, F alimente C et G s'alimente soi-même. Cette disposition suppose que si l'on introduit initialement le bit 1 à l'emplacement A, le bit 2 à l'emplacement B etc... les bits 1,2 et 4 sont des bits de contrôle et les bits 3, S, 6, 7 sont des bits de données. La disposition suppose également que les groupes sont les suivants : 4,5,6,7 1,3,5,7 2,6,3,7 Les emplacements D,E,F,G sont reliés au circuit logique 12 qui est disposé de manière à envoyer la somme modulo 2 des bits, des positions O,E,F,G dans leregistre de résultat 13 dont on peut décoder le contenu à l'aide du décodeur 15 puis les utiliser pour corriger si cela est nécessaire les sorties au moyen des circuits de correction 16 qui sont des inverseurs placés sur les circuits des données entre les positions A à G et la porte de sortie 17. Le dispositif de commande 14 fonctionne de manière à faire fonctionner la porte 10 d'entrée de données. Le dispositif de décalage 11, le circuit logique 12, le registre de résultat 13, le décodeur 15 et la porte de sortie des données 17 selon la séquence suivante : 1. La porte d'entrée de données transmet les bits 1 à 7 aux emplacements A à G. 2. Le circuit logique 12 est mis en action de manière à donner la somme modulo 2 des bits des emplacements D à G et le résultat est conservé dans le registre de résultat 13. 3. Le dispositif à décalage 11 est mis en action pour décaler les bits de manière telle que les bits 1,3,5,7 apparaissent aux emplacements D à G. 4. Le circuit logique 12 est mis à nouveau en action pour envoyer la somme modulo 2 des bits 1,3,5,7 dans le registre de résultat. 5. Le dispositif à décalage 11 est mis en action pour décaler les bits 2,6,3,7 aux emplacements D à G. 6. Le circuit logique est mis en action à nouveau pour envoyer la somme modulo 2 des bits 2,6,3,7 dans le registre de résultat. 7. Le dispositif à décalage 11 est mis en action pour renvoyer les bits 1 à 7 aux emplacements A à G et le décodeur 15 est mis en action pour faire fonctiohner le circuit de correction 16 s'il peut déceler un biterroné d'après les trois résultats figurant dans le registre de résultat 13. 8. Les données dans le dispositif à décalage 11 sont sorties par la porte de sortie 17, l'un des bits ayant été inversé si nécessaire. D'un point de vue pratique le dispositif de correction ne s'applique qu'à des données binaires et même dans le cas de données binaires, il n'est pas nécessaire de l'inclure dans le système. Par exemple on peut l'utiliser pour déceler une erreur dans le registre de résultat 13 et pour exiger que la donnée soit transmise à nouveau, pendant que l'on efface le dispositif de décalage ou bien on peut l'employer pour identifier comme étant erronée la donnée que l'on sort du dispositif de décalage. Il est utile avec le code particulier qui a été établi que l'entrée des résultats dans l'ordre 2,3,1 fasse apparaitre la forme binaire du numéro du bit erroné de manière à ce que le registre de résultat indique 000 s'il ne décèle aucune erreur et 101 si le bit 5 est erroné. On observe que l'on utilise quatre décalages, trois décalages de contrôle et un écalage final pour remettre les bits de données dans leur ordre initial alors même que l'on emploie qu'un seul circuit logique.Cette disposition constitue un compromis satisfaisant entre l'arrangement qui n'utilise aucun décalage avec trois circuits de contrôle et celui qui utilise un grand nombre de circuits de commutation sélectifs avec un seul circuit logique et aucun décalage, car les circuits nécessaires sont simples et donc économiques et - la dépense en temps n'est pas excessive puisque I'on emploie que quatre décalages. La forme générale du système de décalage que l'on vient de décrire qui s'étend à M-l bits est le suivant Le bit j est transféré à l'emplacement K avec K 51; tsi j est pair) et 2 -1 -K = 1/2 de (2M-1-j), tsi j est impair) 2 Il est possible d'adopter d'autres séquences de décalage mais le système d'.rrsur produit est alors différent. On observera que le mode de réalisation que l'on vient de décrire concerne des données sous forme de bits c'est-à-dire des digits binaires, ce fait n'impose aucune limitation étant donné que l'on peut utiliser des digits ternaires ou hexa-décimaux, le code ne dépendant d'aucune manière de la nature du digit utilisé. On conçoit en outre que l'on puisse utiliser le circuit du dessin pour créer des mots dans le code. Si la porte 10 d'entrée de données que les digits de donnée en C,E,F et G et si le dispositif à décalage est cyclé deux fois, les résultats des opérations logiques dans le cas de bits ou bien les compléments ou certaines autres fonctions des opérations logiques dans le cas de digits et d'opérations logiques différents fourniront alors les digits de contrôle requis.Dans le cas du circuit représenté les résultats de l'opération logique peuvent être transmis par l'ensemble 18 du circuit logique 12 dans l'emplacement de bit O après chaque opération logique et les contenus complets du dispositif de décalage après trois décalages peuvent être sortis sous forme du mot requis sous une autre forme le décodeur 15 et le circuit de correction 16 peuvent être utilisés pour positionner les bits nécessaires qui sortent des emplacements A,B et O par la porte 17. On peut remarquer de plus que l'ensemble peut fonctionner avec trois digits de données et trois digits de contrôle, l'emplacement de digit G qui revient sur lui-même étant omis. Plus généralement, les décalages intéressent 2M - 1 M emplacement de bits mais peuvent aussi bien intéresser 2M -2 emplacement de bits dans ce cas particulier. Il pourrait comporter un nombre quelconque d'emplacements de bits fictifs qui circulant chacun sur soi-même et cela impliquerait une dépense inutile de circuits. Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins. les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles sans pour autant sortir du cadre de ladite invention. REVENDICATIONS 1. Système de transmissions utilisant un code dans lequel les digits de données et les digits de contrôle sont arrangés en mots de n digits de façon que chaque mot comprenne M groupes de digits et que chaque digit apparaisse dans une configuration unique de groupe, que les digits-de chaque groupe satisfassent la même opération logique, l'ensemble étant caractérisé en ce que - le système a une capacité de N digits au moins, arrangés pour produire par décalage successifs chaque fois un groupe différent parmi les groupes de digits, en séquence. dans des positions de digits prédéterminées d'un ensemble à décalage, -Il comprend des éléments logiques effectuant les opérations logiques et connectés à des positions de digits prédéterminées. un registre à résultat et des éléments de commande commandant les décalages, le tout de façon que les divers groupes de digits soient présentés successivement à des positions de digits prédéterminés et que le résultat favorable ou non des opérations logiques pour chaque groupe soit enregistré dans le registre de résultat. 2. Système selon la revendication 1 dans lequel l'ensemble à décalage est organisé de façon que le digit dans la Jme position soit transféré dans le Kème position pour chaque décalage toù K - 1/2 j lorsque j est pair et où t2 - 1 - K) = 1/2 (2M - 1 - j) pour j impair). 3. Système de transmission selon une des revendications précédentes dans lequel les éléments de commande sont arrangés de façon à provoquer M décalages et à provoquer des opérations logiques avant chacun des décalages, l'ensemble à décalage étant tel que l'entrée des données dans cet ensemble constitue le premier des groupes de digits en des positions prédéterminées. 4. Système de transmission selon une des revendications précédentes comportant des éléments de décodage associés au registre de résultat pour détecter à partir de ce dernier l'absence d'erreur ou l'identité de l'élément en erreur. 5. Système de transmission selon une des revendications précédentes comportant d'autre part des éléments pour commander l'entrée uniquement des digits de données, des éléments pour stocker les résultats effectifs des opérations logiques, des éléments pour générer les digits de contrôle à partir des résultats ainsi stockés, des éléments pour combiner les digits de contrôle et les digits de données pour former des mots de façon appropriée.