Brevet FR2763768A1 — publié le 19981127

La présente invention concerne de manière générale le codage et le décodage de données numériques, et a trait plus particulièrement à l'utilisation d'un unique circuit de codage et décodage de données, par exemple dans un dispositif d'émission et réception de données. Dans la plupart des cas de transmission de données entre un dispositif émetteur et un dispositif récepteur, il est nécessaire de coder les données avant que l'émetteur les transmette, et corrélativement de les décoder après que le récepteur les ait reçues. Le codage a par exemple pour but de minimiser les erreurs de transmission dues à du bruit venant corrompre les données transmises, ou pour but de crypter les données transmises. Les opérations de codage et de décodage sont réalisables par un même circuit, qui est programmé soit en mode codeur, soit en mode décodeur. Un dispositif de codage et décodage de données utilise alors un circuit de codage et un circuit de décodage qui sont programmés une fois pour toutes. Cependant, dans le cas d'applications fonctionnant en half-duplex, il apparaît que le circuit de codage et le circuit de décodage ne fonctionnent jamais simultanément. Ces circuits étant relativement coûteux, un dispositif qui comporte deux de ces circuits est coûteux. La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un dispositif et un procédé de codage et décodage de données qui permettent de coder et décoder des données en mode half duplex de manière plus économique, tout en étant aussi performant, que selon la technique antérieure. A cette fin, I'invention propose un procédé de codage et de décodage de données, les données à coder et les données décodées étant mémorisées dans une mémoire, caractérisé en ce que le codage et le décodage sont réalisés par un unique moyen de codage et décodage de données, et en ce qu'il comporte les étapes de: - initialiser le moyen de codage et décodage en mode codage, et commander le passage de données à coder depuis la mémoire jusqu'au moyen de codage et décodage, et - initialiser le moyen de codage et décodage en mode décodage, et commander l'entrée de données codées dans le moyen de codage et décodage, et le passage de données décodées depuis le moyen de codage et décodage jusqu'à la mémoire. Corrélativement, I'invention concerne un dispositif de codage et de décodage de données, comportant une mémoire pour mémoriser les données à coder et les données décodées, caractérisé en ce qu'il comporte un unique moyen de codage et de décodage de données et un moyen de contrôle adapté à, sélectivement: - initialiser le moyen de codage et décodage en mode codage, et commander le passage de données à coder depuis la mémoire jusqu'au moyen de codage et décodage, et - initialiser le moyen de codage et décodage en mode décodage, et commander l'entrée de données codées dans le moyen de codage et décodage, et le passage de données décodées depuis le moyen de codage et décodage jusqu'au moyen de mémoire. L'invention concerne encore un dispositif de codage et de décodage de données, adapté à coopérer avec une mémoire pour mémoriser les données à coder et les données décodées, caractérisé en ce qu'il comporte un unique moyen de codage et de décodage de données et un moyen de contrôle adapté à, sélectivement: - initialiser le moyen de codage et décodage en mode codage, et commander le passage de données à coder depuis la mémoire jusqu'au moyen de codage et décodage, et - initialiser le moyen de codage et décodage en mode décodage, et commander l'entrée de données codées dans le moyen de codage et décodage, et le passage de données décodées depuis le moyen de codage et décodage jusqu'au moyen de mémoire. Le procédé et le dispositif selon l'invention permettent un codage et un décodage de données en mode half-duplex qui est réalisé de manière économique puisqu'un seul composant de codage et décodage est nécessaire. Selon une caractéristique préférée de l'invention, le procédé comporte en outre l'étape de commande d'un transfert de données à un moyen de transmission de données après le codage des données. En effet, le codage de données s'applique plus particulièrement à la transmission des données, par exemple par radio-émission. Selon une autre caractéristique préférée de l'invention, le procédé comporte l'étape de commande d'un transfert de données entre un moyen de réception de données relié en entrée du moyen de codage et décodage, et le moyen de codage et décodage. En effet, le décodage de données s'applique plus particulièrement à la réception des données, qui ont par exemple été émises par radio-émission. Le moyen de contrôle est avantageusement relié en entrée et en sortie du moyen de codage et décodage, de sorte que les données à coder et les données décodées transitent par le moyen de contrôle. Le contrôle des transferts de données est ainsi réalisé de manière fiable et économique. Selon d'autre caractéristiques préférées, le dispositif comporte un moyen de transmission de données relié en sortie du moyen de codage et décodage, et le moyen de contrôle est adapté à commander le transfert de données entre le moyen de codage et décodage et le moyen de transmission. Le dispositif comporte un moyen de réception de données, et le moyen de contrôle est adapté à commander le transfert de données entre le moyen de réception de données et le moyen de codage et décodage. Le dispositif selon l'invention est ainsi plus particulièrement utilisé dans un contexte d'émission et de réception de données. Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de plusieurs modes de réalisations illustrés par les dessins ci-joints, dans lesquels: - la figure 1 est un bloc-diagramme d'un dispositif d'émission et de réception selon l'invention, - la figure 2 représente un bloc diagramme de gestion des bus de données en entrée et en sortie d'un circuit de correction d'erreur inclus dans le dispositif de la figure 1, - la figure 3 représente des signaux de commande et des signaux d'état utilisés dans le dispositif de la figure 1, - la figure 4 représente l'algorithme de fonctionnement du dispositif d'émission et de réception selon l'invention, - la figure 5 représente un algorithme de transfert de données pour la réception de données, inclus dans l'algorithme de la figure 4, et - la figure 6 représente un algorithme de transfert de données pour l'émission de données, inclus dans l'algorithme de la figure 4. Dans le mode de réalisation choisi et représenté à la figure 1, un dispositif d'émission et de réception de données comporte une mémoire principale 1 dans laquelle sont mémorisées des données. Le dispositif d'émission et de réception de données est relié, via la mémoire 1, à un dispositif de traitement de données 10, connu en soi. Le dispositif 10 peut être un ordinateur, ou un terminal de traitement, relié par un bus de données à la mémoire 1. Le dispositif 10 peut être utilisé classiquement pour configurer des paramètres de fonctionnement des différents circuits du dispositif d'émission et de réception de données, par exemple pour l'initialisation du circuit 4 qui sera détaillé dans la suite. Le dispositif d'émission et de réception de données peut également être intégré dans un dispositif de traitement de données, tel qu'un ordinateur, et la mémoire 1 est alors reliée à un circuit de traitement de données interne à l'ordinateur. La mémoire principale 1 est reliée par un bus bidirectionnel B, à un contrôleur logique 3 qui contrôle les transferts de données internes au dispositif d'émission et de réception. Le contrôleur logique 3 peut être un circuit programmable, par exemple de type FPGA (Field Programmable Gate Array), ou un circuit de type ASIC (Application Specific Integrated Circuit). Le contrôleur logique 3 est décrit en détail dans la suite. Un circuit d'accès direct 2, dit circuit DMA (Direct Access Memory), permet un accès bidirectionnel, direct à la mémoire principale 1. Le circuit 2 utilise ici deux canaux de façon monodirectionnelle, qui forment un canal d'émission et un canal de réception. Ce circuit présente l'avantage de permettre un accès très rapide à la mémoire principale 1. Le contrôleur logique 3 est relié à un circuit de codage et décodage de données, ici un circuit de correction d'erreur 4, par un bus monodirectionnel B3. Le circuit de correction d'erreur 4 est un circuit FEC (Forward Error Correction) qui code des données à émettre et décode des données reçues. Le circuit de correction d'erreur 4 est donc alternativement codeur et décodeur, comme détaillé dans la suite. Le codage et le décodage sont réalisés selon un algorithme de type VITERBI, approprié lorsque les erreurs ne sont pas groupées, ou selon un algorithme de type REED-SOLOMON, approprié dans le cas d'erreurs en paquet. Ce dernier type de correction d'erreur sera plus particulièrement considéré dans la suite. Le circuit de correction d'erreur 4 est relié par un bus monodirectionnel B4 à un circuit d'émission 5 qui émet les données sur un canal de transmission. Un circuit de réception 6 reçoit des données via le canal de transmission et est relié par un bus monodirectionnel B2 au contrôleur logique 3. Les données reçues sont codées et doivent être décodées par le circuit de correction d'erreur 4. L'émission et la réception de données fonctionnent en mode half-duplex. Tout d'abord dans le sens émission, des données à émettre sont transmises entre la mémoire 1 et le circuit de correction d'erreur 4, via le contrôleur logique 3. Les données sont sous la forme d'une suite d'octets formant un message utile. Tous les N octets reçus, où N est un entier valant 25 à titre d'exemple, le circuit 4 insère K octets de redondance, où K est un entier valant 6 à titre d'exemple. N octets utiles OC, à OCN et K octets de redondance OR1 à ORK forment un mot MC de code de correction d'erreurs. Les K octets de redondance OR1 à ORK sont déterminés par le circuit de correction d'erreur 4, selon un algorithme de Reed-Solomon, pour corriger K/2 erreurs éventuelles dans le mot de code de correction d'erreur. Le circuit de correction d'erreur 4 fournit les mots de code de correction d'erreur au circuit d'émission 5 qui les émet sur le canal de transmission. D'autre part, dans le sens réception, le circuit de réception 6 reçoit depuis le canal de transmission des données codées sous la forme de mot de code MC et les transmet au contrôleur logique 3, qui les'transmet au circuit de correction d'erreur 4. Le circuit de correction d'erreur 4 décode les données reçues en effectuant globalement des opérations de décodage inverses des opérations de codage réalisées à l'émission. Le circuit de correction d'erreur 4 reçoit des mots MC de code de correction d'erreur comportant N octets utiles OC, à OCN et K octets de redondance OR, à ORK. Le circuit 4 utilise les K octets de redondance pour détecter et corriger des erreurs éventuelles dans les mots reçus. Le décodage a pour résultat des mots décodés MD contenant les N octets de message utile, éventuellement corrigés grâce aux octets de redondance, et K octets de redondance Or, à OrK n'ayant plus de rôle. Le circuit 4 transfère les mots décodés au contrôleur logique 3 via le bus B4, dans le but de mémoriser les octets de message utile OC, à OCN dans la mémoire principale 1. La figure 2 représente la gestion des bus de données du dispositif d'émission et de réception de données. De manière générale, le circuit de correction d'erreur 4 reçoit des données via le bus B3. Après traitement des données, codage ou décodage, le circuit 4 fournit les données traitées sur le bus B4. Le contrôle des flux de données permet d'une part de relier sélectivement le bus B, ou le bus B2 au bus B3 et d'autre part de relier sélectivement le bus B4 au circuit d'émission ou au bus B, : pour cela, le contrôleur logique 3 commande des "commutateurs" en entrée et en sortie du circuit de correction d'erreur 4. Dans le mode préféré de réalisation, les fonctions de commutation et de commande sont réunies dans le contrôleur logique 3. Ainsi, le bus B1 est relié à une bascule de retenue 31, elle-même reliée à une première entrée El d'un multiplexeur 32 dont la sortie S1 est reliée au bus B3. Le bus B2 est relié à une seconde entrée E2 du multiplexeur 32. Le bus B4 est relié au bus B1 via un bloc de commande de bus à trois états 33. Un signal logique de commande COM1 commande le fonctionnement de la bascule 31, pour basculer les données présentes sur le bus B1 vers le multiplexeur 32, lorsque le signal COM1 est à l'état bas. Un signal logique de commande COM2 relie sélectivement la première entrée El du multiplexeur 32 à sa sortie S1 lorsque le signal COM2 est à l'état bas, ou la seconde entrée E2 à la sortie S1, lorsque le signal COM2 est à l'état haut. Un signal logique de commande COM3 commande le passage des données présentes sur le bus B4 vers le bus B1, lorsque le signal COM3 est à l'état haut, et en empêche le passage sinon. En variante, les fonctions de commutation et de commande peuvent être mises en oeuvre dans des circuits distincts. La figure 3 représente un synoptique des signaux logiques échangés entre le contrôleur logique 3 et le circuit d'accès direct 2, le circuit de correction d'erreur 4, le circuit d'émission 5, le circuit de réception 6 et le circuit de traitement de données 10. Certains de ces signaux commandent les transferts de données entre la mémoire principale 1 et les circuits d'émission 5 et de réception 6, ainsi que le fonctionnement des circuits impliqués dans l'émission et la réception de données. D'autres de ces signaux représentent des états de fonctionnement des différents circuits, relativement au transfert de données. Le contrôleur logique 3 fournit les signaux logiques suivants au circuit de correction d'erreur 4: - un signal d'horloge CLK, de fréquence égale à 20 MHz, - un signal IN pour commander au circuit de correction d'erreur 4 de prendre en compte l'octet qui lui est fourni en entrée (bus B3), lorsque le signal IN est à l'état bas simultanément à un front montant du signal d'horloge CLK, - un signal OUT pour commander au circuit de correction d'erreur 4 de fournir un octet en sortie (bus B4), lorsque le signal OUT est à l'état bas simultanément à un front montant du signal d'horloge CLK, - un signal HR pour indiquer au circuit de correction d'erreur 4 que l'octet qui lui est fourni en entrée (bus B3) est un octet de redondance ou un octet de remplissage, lorsque le signal HR est à l'état haut. Le circuit de correction d'erreur 4 fournit les signaux logiques suivants au contrôleur logique 3: - un signal AIN pour indiquer au contrôleur logique 3 que le circuit 4 n'est pas plein, et qu'il peut recevoir un octet, lorsque le signal AIN est à l'état bas, - un signal AOUT pour indiquer au contrôleur logique 3 que le circuit 4 est prêt à transmettre un octet, lorsque le signal AOUT est à l'état bas. Le contrôleur logique 3 fournit les signaux logiques suivants au circuit d'accès direct 2: - un signal DCE pour demander un canal d'accès direct pour une émission de données, entre la mémoire principale 1 et le contrôleur logique 3, lorsque le signal DCE passe à l'état haut, - un signal DCR pour demander un canal d'accès direct pour une réception de données, entre le contrôleur logique 3 et la mémoire principale 1, lorsque le signal DCR passe à l'état haut. Le circuit d'accès direct 2 fournit les signaux logiques suivants au contrôleur logique 3 - un signal ACQE en réponse au signal DCE, pour acquitter la demande de canal d'accès direct pour l'émission. Lorsque le signal ACQE passe à l'état bas, cela signifie que le circuit d'accès direct 2 exécute le transfert de données entre la mémoire principale 1 et le contrôleur logique 3, - un signal ACQR en réponse au signal DCR pour acquitter la demande de canal d'accès direct pour la réception. Lorsque le signal ACQR passe à l'état bas, cela signifie que le circuit d'accès direct 2 exécute le transfert de données entre le contrôleur logique 3 et la mémoire principale 1. Le circuit d'émission 5 fournit un signal DEME au contrôleur logique 3. Le signal DEME est une autorisation d'émission de données lorsqu'il passe à l'état haut. Le circuit de réception 6 fournit un signal DEMR au contrôleur logique 3. Le signal DEMR indique qu'une réception de données est détectée par le circuit 6 lorsqu'il passe à l'état haut. Le circuit de traitement de données 10 fournit un signal DOE au contrôleur logique 3. Le signal DOE indique que des données présentes en mémoire 1 sont prêtes à être émises, lorsqu'il passe à l'état haut. La figure 4 représente l'algorithme de fonctionnement du dispositif de la figure i. L'algorithme comporte des étapes El à E7 qui sont parcourues cycliquement. L'étape El est la mise sous tension du dispositif d'émission et de réception de données. A l'étape suivante E2, le contrôleur logique 3 initialise le circuit de correction d'erreur 4 en mode décodeur, selon une procédure qui dépend du type de circuit de correction d'erreur utilisé. Cette procédure consiste par exemple à transmettre des signaux de contrôle et/ou des octets de configuration au circuit 4, pour le programmer en mode décodeur. Cette initialisation permet notamment de fixer les valeurs des paramètres N et K. L'étape E2 est suivie de l'étape E3 qui est un test pour vérifier si une réception de données est détectée par le circuit 6, en vérifiant si le signal DEMR est à l'état haut. Lorsque la réponse est positive, le contrôleur logique 3 génère à l'étape E4 les signaux appropriés pour que le dispositif traite les données reçues et les mémorise dans la mémoire 1. L'étape E4 est détaillée en référence à la figure 5 et est suivie de l'étape E3. Lorsque aucune réception n'est détectée à l'étape E3, L'étape E5 est un test pour vérifier si des données sont à émettre et si le circuit d'émission 5 est prêt pour l'émission, ce qui correspond aux deux signaux DOE et DEME à l'état haut. Si la réponse est négative, L'étape E5 est suivie de l'étape E3. S'il y a des données à émettre, L'étape E5 est suivie de l'étape E6 à laquelle le contrôleur logique 3 initialise le circuit de correction d'erreur 4 en mode émission, ou mode codeur, selon une procédure qui dépend du type de circuit de correction d'erreur utilisé. Cette procédure consiste par exemple à transmettre des signaux de contrôle etlou des octets de configuration au circuit 4, pour le programmer en mode codeur. L'étape E6 est suivie de l'étape E7 à laquelle le contrôleur logique 3 génère les signaux appropriés pour que des données à émettre soient transmises depuis la mémoire i jusqu'au circuit d'émission 5, via le contrôleur logique 3 et le circuit de correction d'erreur 4. L'étape E7 est détaillée dans la suite en référence à la figure 6. L'étape E7 est suivie de l'étape E2 à laquelle le circuit 4 est réinitialisé en mode décodeur. On notera que, selon ce mode de réalisation, le circuit de codage et décodage 4 est en mode décodeur par défaut, et qu'il ne passe en mode codeur que lorsqu'il y a des données à émettre. Ce fonctionnement donne la priorité au décodage et est adapté au cas où on ne sait pas quand un dispositif distant envoie ses données. Pour des applications différentes, il est possible d'initialiser le dispositif en mode codeur par défaut, pour donner la priorité au codage. Selon la figure 5, L'étape E4 de réception de données comporte des sous-étapes E40 à E51 qui sont parcourues cycliquement. L'étape E40 est une initialisation à laquelle le contrôleur logique initialise un compteur CPT1 à la valeur zéro, et transmet les signaux suivants au circuit de correction d'erreur 4: - le signal IN à l'état haut pour commander de ne pas prendre en compte des données fournies en entrée du circuit de correction d'erreur 4, - le signal HR à l'état bas pour indiquer que des octets fournis en entrée du circuit de correction d'erreur ne sont pas des octets de redondance ou de remplissage, - le signal OUT à l'état haut pour commander au circuit de correction d'erreur 4 de ne pas fournir d'octet en sortie. Le contrôleur logique transmet le signal DCR à l'état bas au circuit d'accès direct 2, pour ne pas demander de canal en réception au circuit d'accès direct 2. Le contrôleur logique 3 met à l'état haut le signal de commande COM2 pour commander au multiplexeur 32 de relier les bus B2 et B3. Ainsi, les données fournies par le circuit de réception 6, via le bus B2, sont transmises au circuit de correction d'erreur 4, via le bus 83. Le contrôleur logique 3 met à l'état bas le signal de commande COM3 pour que des données présentes sur le bus B4 ne passent pas sur le bus B1. L'étape E40 est suivie des étapes E41 et E47. Les étapes E41 à E46 d'une part, et les étapes E47 à E50 d'autre part, forment deux branches qui sont parcourues simultanément et indépendamment l'une de l'autre. Le passage d'une étape à la suivante est réalisé selon des fréquences d'horloge qui peuvent être différentes pour les deux branches. Les étapes E41 à E46 permettent de transférer des données reçues par le circuit de réception 6 au circuit de correction d'erreur 4, via le contrôleur logique 3. L'étape E41 est un test sur la valeur du signal AIN, pour déterminer si le circuit de correction d'erreur 4 est prêt pour recevoir des données (signal AIN à l'état bas). Tant que la réponse est négative, L'étape E41 est répétée. Lorsque la réponse à l'étape E41 est positive, L'étape E41 est suivie de l'étape E42, à laquelle le contrôleur logique 3 fournit le signal IN à l'état bas au circuit de correction d'erreur 4, pour qu'un octet fourni au circuit de correction d'erreur 4 soit pris en compte par ce circuit. Le compteur CPT1 est incrémenté de une unité. L'étape E42 est suivie de l'étape E43, qui est un test sur la valeur du compteur CPT1. Tant que le compteur CPT1 n'a pas atteint la valeur N, correspondant au nombre d'octets utiles d'un mot MC de code de correction d'erreur, les étapes E41 et E42 sont répétées. Lorsque le compteur CPT1 atteint la valeur N, cela signifie que N octets ont été transmis au circuit correcteur d'erreur 4 ; L'étape E43 est alors suivie de l'étape E44, analogue à l'étape E41. L'étape E44 est un test sur la valeur du signal AIN, pour déterminer si le circuit de correction d'erreur 4 est prêt à recevoir des données (signal AIN à l'état bas). Tant que la réponse est négative, L'étape E44 est répétée. Lorsque la réponse à l'étape E44 est positive, L'étape E44 est suivie de l'étape E45, à laquelle le contrôleur logique 3 fournit le signal IN à l'état bas au circuit de correction d'erreur 4, pour qu'un octet fourni au circuit de correction d'erreur 4 soit pris en compte par ce circuit. Le compteur CPT1 est incrémenté de une unité. Le contrôleur logique 3 fournit le signal HR à l'état haut au circuit de correction d'erreur 4, pour lui indiquer que les octets qui lui sont fournis sont des octets de redondance. L'étape E45 est suivie de l'étape E46 qui est un test sur la valeur du compteur CPT1. Tant que le compteur CPT1 n'a pas atteint la valeur N+K, correspondant au nombre total d'octets d'un mot MC de code de correction d'erreur, les étapes E44 et E45 sont répétées. Lorsque le compteur CPT1 atteint la valeur N+K, cela signifie que les étapes E44 et E45 ont été répétées pour tous les octets de redondance d'un mot de code de correction d'erreur. L'étape E46 est alors suivie de l'étape E51, qui est analogue à l'étape E3, et qui est un test pour vérifier si la réception de données est terminée, c'est-à-dire si le signal DEMR est à l'état bas. Tant que la réponse est négative, les étapes E40 à E46 sont répétées. Lorsque la réception de données est terminée, L'étape E51 est suivie de l'étape E3 précédemment décrite. Les étapes E47 à E50 permettent de transférer des données reçues et décodées par le circuit de correction d'erreur 4 à la mémoire 1, via le contrôleur logique 3. L'étape E47 est un test sur la valeur du signal AOUT. Tant que le signal AOUT n'est pas à l'état bas, L'étape E47 est répétée. Lorsque le circuit de correction d'erreur 4 fournit le signal AOUT à l'état bas au contrôleur logique 3, cela signifie que des données sont prêtes en sortie du circuit de correction d'erreur 4. Dans ce cas, L'étape E47 est suivie de l'étape E48, à laquelle le contrôleur logique 3 fournit le signal OUT à l'état bas au circuit de correction d'erreur 4, pour lui commander de fournir un octet sur le bus B4. Le contrôleur logique 3 fournit également le signal DCR à l'état haut pour demander un canal vers la mémoire principale 1. L'étape suivante E49 est un test sur la valeur du signal ACQR. Tant que le signal ACQR est à l'état haut, L'étape E49 est répétée. Lorsque le signal ACQR passe à l'état bas, cela signifie qu'un canal vers la mémoire principale 1 est disponible pour le transfert de données. L'étape E49 est suivie de l'étape E50, à laquelle le contrôleur logique 3 met à l'état haut le signal de commande COM3 pour relier le bus B4 au bus B1, de sorte que les octets sortant du circuit de correction d'erreur 4 sont renvoyés sur le bus B vers la mémoire 1. Le contrôleur logique 3 fournit le signal OUT à l'état haut au circuit de correction d'erreur 4, pour commander au circuit de correction d'erreur 4 de ne pas fournir d'octet sur le bus B3. Le contrôleur logique 3 fournit le signal DCR à l'état bas au circuit d'accès direct 2 pour désactiver sa demande de canal. L'étape E50 est suivie de l'étape E51 précédemment décrite. Les étapes E40 à E50 sont répétées tant que la réception de données n'est pas terminée, c'est-à-dire tant que la réponse à l'étape E51 est négative. L'étape E7 d'émission de données est détaillée en référence à la figure 6, et comporte des sous-étapes E70 à E83 qui sont parcourues cycliquement. L'étape E70 est une initialisation à laquelle le contrôleur logique 3 initialise un compteur CPT2 à la valeur zéro, et transmet les signaux suivants au circuit de correction d'erreur 4: - le signal IN à l'état haut pour commander de ne pas prendre en compte des données fournies en entrée du circuit de correction d'erreur, - le signal OUT à l'état haut pour commander au circuit de correction d'erreur 4 de ne pas fournir d'octet en sortie, - le signal HR à l'état bas pour indiquer que des octets fournis au circuit de correction d'erreur 4 ne sont pas des octets de redondance. Le contrôleur logique 3 transmet le signal DCE à l'état bas au circuit d'accès direct 2, pour ne pas demander de canal d'émission entre la mémoire principale i et le contrôleur logique 3. Le signal de commande COM1 est mis à l'état haut pour ne pas basculer les données sur le bus Bn et le signal COM2 est mis à l'état bas pour relier les bus B1 et B3. L'étape E70 est suivie par les étapes E71 et E81. Les étapes E71 à E80 d'une part, et les étapes E81 à E83 d'autre part, forment deux branches qui sont parcourues simultanément et indépendamment l'une de l'autre. Dans ces deux branches, le passage d'une étape à la suivante est effectué à chaque basculement d'une horloge, qui peut être différente d'une branche à l'autre. Les étapes E71 à E80 permettent de transmettre N octets utiles et K octets de remplissage entre la mémoire 1 et le circuit de correction d'erreur 4, de sorte que le circuit 4 puisse former un mot de code de correction d'erreur. A l'étape E71, le contrôleur logique 3 transmet le signal DCE à l'état haut pour demander un canal d'émission au circuit d'accès direct. L'étape suivante E72 est un test de la valeur du signal AIN. Tant que le signal AIN est à l'état haut, L'étape E72 est répétée. Lorsque le signal AIN passe à l'état bas, cela signifie que le circuit de correction d'erreur 4 peut recevoir des octets. L'étape suivante E73 est un test pour vérifier si le signal ACQE est à l'état bas. Tant que le signal ACQE est à l'état haut, L'étape E73 est répétée. Lorsque le signal ACQE passe à l'état bas, L'étape E73 est suivie par l'étape E74, à laquelle le signal COM1 est mis à l'état bas pour basculer les données sur le bus B1, et le contrôleur logique 3 transmet le signal DCE à l'état bas au circuit d'accès direct pour libérer le canal. L'étape E74 est suivie par l'étape E75, qui est un test sur la valeur du compteur CPT2. Tant que le compteur CPT2 n'a pas atteint la valeur N, L'étape E75 est suivie de l'étape E76, à laquelle: - le contrôleur logique 3 incrémente le compteur CPT2 de une unité, - le contrôleur logique 3 transmet les signaux IN et HR à l'état bas au circuit L'étape E77 est suivie de l'étape E80 qui est un test de la valeur du compteur CPT2. Si le compteur CPT2 n'a pas atteint la valeur N+K, L'étape E80 est suivie de l'étape E71. Lorsque le compteur CPT2 atteint la valeur N+K, cela signifie que l'étape E77 a été parcourue pour K octets de remplissage Or1 à OrK et que par conséquent N+K octets ont été transmis entre la mémoire 1 et le contrôleur logique 3. L'étape E80 est alors suivie de l'étape E83 qui est un test de la fin de la transmission, c'est-à-dire que l'on teste si le signal DOE est à l'état bas. Si la transmission n'est pas terminée, L'étape E83 est suivie de l'étape E71. Si la transmission est terminée, L'étape E83 est suivie de l'étape E2 précédemment décrite. Les étapes E81 et E82 permettent de transférer un octet entre le circuit de correction d'erreur 4 et le circuit d'émission 5. L'étape E81 est un test de la valeur du signal AOUT. Tant que le signal AOUT est à l'état haut, L'étape E81 est répétée. Lorsque le signal AOUT passe à l'état bas, cela signifie que le circuit de correction d'erreur 4 a formé au moins un mot de code MC qui est prêt à être émis. L'étape E81 est alors suivie de l'étape E82 à laquelle le contrôleur logique 3 fournit le signal OUT à l'état bas au circuit de correction d'erreur 4, pour lui commander de fournir un octet au circuit d'émission, via le bus de sortie B4. L'étape E82 est suivie de l'étape E83 précédemment décrite. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. REVENDICATIONS i. Procédé de codage et de décodage de données, les données à coder et les données décodées étant mémorisées dans une mémoire (i), caractérisé en ce que le codage et le décodage sont réalisés par un unique moyen (4) de codage et décodage de données, et en ce qu'il comporte les étapes de: - initialiser (E6) le moyen de codage et décodage en mode codage, et commander (E7) le passage de données à coder depuis la mémoire (1) jusqu'au moyen de codage et décodage (4), et - initialiser (E2) le moyen de codage et décodage en mode décodage, et commander (E4) L'entrée de données codées dans le moyen de codage et décodage (4), et le passage de données décodées depuis le moyen de codage et décodage jusqu'à la mémoire (1). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre l'étape (E82) de commande d'un transfert de données à un moyen de transmission de données après le codage des données. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte l'étape (E41-E46) de commande d'un transfert de données entre un moyen de réception de données relié en entrée du moyen de codage et décodage, et le moyen de codage et décodage. 4. Dispositif de codage et de décodage de données, comportant une mémoire (i) pour mémoriser les données à coder et les données décodées, caractérisé en ce qu'il comporte un unique moyen (4) de codage et de décodage de données et un moyen de contrôle (3) adapté à, sélectivement: - initialiser le moyen de codage et décodage (4) en mode codage, et commander le passage de données à coder depuis la mémoire (1) jusqu'au moyen de codage et décodage (4), et - initialiser le moyen de codage et décodage (4) en mode décodage, et commander l'entrée de données codées dans le moyen de codage et décodage (4), et le passage de données décodées depuis le moyen de codage et décodage (4) jusqu'au moyen de mémoire (1). 5. Dispositif de codage et de décodage de données, adapté à coopérer avec une mémoire (1) pour mémoriser les données à coder et les données décodées, caractérisé en ce qu'il comporte un unique moyen (4) de codage et de décodage de données et un moyen de contrôle (3) adapté à, sélectivement: - initialiser le moyen de codage et décodage (4) en mode codage, et commander le passage de données à coder depuis la mémoire (1) jusqu'au moyen de codage et décodage (4), et - initialiser le moyen de codage et décodage (4) en mode décodage, et commander l'entrée de données codées dans le moyen de codage et décodage, et le passage de données décodées depuis le moyen de codage et décodage jusqu'au moyen de mémoire (1). 6. Dispositif selon la revendication 4 ou 5, caractérisé en ce que le moyen de contrôle (3) est relié en entrée et en sortie du moyen de codage et décodage (4), de sorte que les données à coder et les données décodées transitent par le moyen de contrôle. 7. Dispositif selon l'une quelconque des revendications 4 à 6, caractérisé en ce qu'il comporte un moyen de transmission de données (5) relié en sortie du moyen de codage et décodage (4), et en ce que le moyen de contrôle est adapté à commander le transfert de données entre le moyen de codage et décodage (4) et le moyen de transmission. 8. Dispositif selon l'une quelconque des revendications 4 à 7, caractérisé en ce qu'il comporte un moyen de réception de données (6), et en ce que le moyen de contrôle est adapté à commander le transfert de données entre le moyen de réception de données (6) et le moyen de codage et décodage (4).