Brevet FR2762730A1 — publié le 19981030

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 au transfert des données entre une mémoire et un circuit de codage ou un circuit de décodage 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. Le type de codage envisagé ici consiste à augmenter le nombre total de données à transmettre, par ajout de données de codage aux données initialement à transmettre, ou données utiles. Un circuit de codage traite les données utiles par bloc pour les coder, un bloc comportant par exemple quelques dizaines d'octets. Le circuit de codage a besoin en entrée de blocs de données à coder séparés les uns des autres par des blocs de remplissage. Le circuit de codage remplace les blocs de remplissage par des blocs de données de codage. Le circuit de codage produit des trames successives comportant chacune un bloc de données utiles formé d'un certain nombre de mots de données utiles, et un bloc de données de codage formé d'un certain nombre de mots de données de codage. A la réception, les données de codage doivent être séparées des données utiles. Les données de codage sont utilisées pour décoder les données utiles, par exemple en corrigeant d'éventuelles erreurs de transmission, ou en décryptant les données utiles. Ces dernières peuvent alors être mémorisées, par exemple. Le circuit de décodage produit donc des blocs successifs de données utiles. D'autre part, de plus en plus de dispositifs utilisent un circuit d'accès direct pour transférer des données entre deux circuits internes. Un circuit d'accès direct permet des transferts plus rapides qu'un processeur et ne monopolise pas le processeur. Pour utiliser au mieux un circuit d'accès direct, c'est-à-dire réaliser des transferts de données rapides, il est nécessaire de réaliser un transfert continu d'un "flot" de données. Or, comme précisé plus haut, le circuit de codage a besoin en entrée de blocs de données à coder séparés les uns des autres par des blocs de remplissage. II y a donc incompatibilité entre le fait de transférer les données par flot continu, et de fournir des données utiles par bloc, avec interruption entre les blocs. En effet, la transmission de petits blocs successifs de données au moyen d'un circuit d'accès direct fait disparaître l'avantage de ce dernier, puisqu'il serait alors nécessaire de reprogrammer le circuit d'accès direct pour chaque bloc transmis. Pour transférer des données entre une mémoire et un circuit de codage tel qu'envisagé ici, il n'est donc pas réaliste d'effectuer des transferts successifs de blocs contenant le nombre de mots de données utiles pour chacune des trames à former. Pour réaliser un transfert continu d'un nombre important de mots de données utiles entre la mémoire et le circuit de codage, il peut être envisagé d'inclure des mots non significatifs après chaque bloc de données utiles, préalablement au transfert. Lors du codage, ces mots non significatifs seront remplacés par les mots de codage. Cependant, cela conduit à mémoriser les mots non significatifs avec les mots de données utiles, et par conséquent une grande place mémoire est nécessaire. De même, après le décodage, pour réaliser un transfert continu d'un nombre important de mots de données vers la mémoire, il peut être envisagé de transmettre les mots de codage avec les mots de données utiles. Là encore1 cela conduit à utiliser une grande place mémoire, par la mémorisation des mots de codage qui n'ont alors plus de fonction. Aussi bien pour le codage que pour le décodage, la mémoire est mal utilisée, puisqu'elle contient des mots non significatifs ou des mots de codage, en plus des données utiles. Ainsi, le transfert de données entre une mémoire et un circuit de codage ou de décodage au moyen d'un circuit d'accès direct, conduit à utiliser soit le circuit d'accès direct, soit la mémoire, de manière non optimale. L'invention a pour but de rendre compatible l'utilisation d'un circuit de codage ou d'un circuit de décodage avec un circuit d'accès direct, et de permettre un transfert rapide de données entre une mémoire et un circuit de codage ou un circuit de décodage, tout en permettant une utilisation optimale de la mémoire. A cette fin, I'invention propose un dispositif de codage de données extraites d'une mémoire principale, les données étant sous la forme de mots de données utiles, comportant: - un moyen d'accès direct à la mémoire principale pour extraire les données à coder, - un moyen de codage des données extraites, par la formation de groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, les mots additionnels étant déterminés par le moyen de codage, caractérisé en ce qu'il comporte: - un premier moyen de mémoire tampon relié entre le moyen d'accès direct et le moyen de codage, ledit moyen de mémoire tampon recevant les données extraites, et - un moyen de commande de transfert de données entre le premier moyen de mémoire tampon et le moyen de codage, adapté à commander successivement un transfert du premier nombre prédéterminé de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. L'invention propose également un dispositif de codage de données, adapté à coopérer avec: - une mémoire principale contenant les données à coder, les données étant sous la forme de mots de données utiles, - un moyen d'accès direct à la mémoire principale pour extraire les données à coder, et comportant: - un moyen de codage des données extraites, par la formation de groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, les mots additionnels étant déterminés par le moyen de codage, caractérisé en ce qu'il comporte: - un premier moyen de mémoire tampon relié entre le moyen d'accès direct et le moyen de codage, ledit moyen de mémoire tampon recevant les données extraites, et - un moyen de commande de transfert de données entre le premier moyen de mémoire tampon et le moyen de codage, adapté à commander successivement un transfert du premier nombre prédéterminé de mots de données utiles et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. Corrélativement, I'invention propose un procédé de codage de données extraites d'une mémoire principale, les données étant sous la forme de mots de données utiles, comportant l'étape de: - codage des données extraites, par un moyen de codage formant des groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, les mots additionnels étant déterminés par le codage, caractérisé en ce qu'il comporte les étapes de: - mémorisation des données extraites dans un premier moyen de mémoire tampon, préalablement au codage, et - commande d'un transfert du premier nombre prédéterminé de mots de données utiles entre le premier moyen de mémoire tampon et le moyen de codage, et successivement d'une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. Le dispositif et le procédé de codage selon l'invention permettent un transfert de données rapide entre la mémoire principale et le circuit de codage, au moyen du circuit d'accès direct, tout en ne mémorisant que les données utiles dans la mémoire principale. Ainsi, la mémoire principale et le circuit d'accès direct sont tous les deux utilisés de manière optimale, grâce à l'utilisation d'une mémoire tampon entre le moyen d'accès direct et le moyen de codage, et à la commande appropriée des transferts de données entre la mémoire tampon et le moyen de codage. Selon une caractéristique préférée, le moyen de commande est adapté à commander le transfert de données entre la mémoire principale et le premier moyen de mémoire tampon, via le moyen d'accès direct. Le transfert de données entre la mémoire principale et la mémoire tampon est un transfert rapide d'un grand nombre de données utiles, tandis que le transfert de données entre la mémoire tampon et le moyen de codage est un transfert de blocs successifs de mots de données contenant chacun un nombre plus réduit de mots de données utiles. Selon une autre caractéristique préférée, un moyen de transmission de données est relié en sortie du moyen de codage, et le moyen de commande est adapté à commander le transfert de données entre le moyen de codage et le moyen de transmission. En effet, le codage de données s'applique plus particulièrement à la transmission des données, par exemple par radioémission. L'invention concerne également un dispositif de décodage de données codées sous la forme de groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, comportant: - un moyen de décodage des données codées, pour fournir le premier nombre prédéterminé de mots de données utiles de chacun des groupes de mots, - une mémoire principale pour mémoriser les mots de données utiles fournis par le moyen de décodage, - un moyen d'accès direct à la mémoire principale pour y entrer les mots de données utiles, caractérisé en ce qu'il comporte: - un second moyen de mémoire tampon relié entre le moyen de décodage et le moyen d'accès direct, et - un moyen de commande de transfert de données entre le moyen de décodage et le second moyen de mémoire tampon, adapté à commander successivement un transfert du premier nombre prédéterminé de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. L'invention concerne encore un dispositif de décodage de données codées sous la forme de groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, comportant: - un moyen de décodage des données codées, pour fournir le premier nombre prédéterminé de mots de données utiles de chacun des groupes de mots, et adapté à coopérer avec: - une mémoire principale pour mémoriser les mots de données utiles fournis par le moyen de décodage, - un moyen d'accès direct à la mémoire principale pour y entrer les mots de données utiles, caractérisé en ce qu'il comporte: - un second moyen de mémoire tampon relié entre le moyen de décodage et le moyen d'accès direct, et - un moyen de commande de transfert de données entre le moyen de décodage et le second moyen de mémoire tampon, adapté à commander successivement un transfert du premier nombre prédéterminé de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. Corrélativement, I'invention concerne un procédé de décodage de données codées sous la forme de groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, comportant les étapes de: - décodage des données codées, par un moyen de décodage fournissant le premier nombre prédéterminé de mots de données utiles de chacun des groupes de mots, - mémorisation des mots de données utiles fournis par le moyen de décodage, caractérisé en ce qu'il comporte les étapes de: - mémorisation des données décodées dans un second moyen de mémoire tampon, et - commande d'un transfert du premier nombre prédéterminé de mots de données utiles entre le moyen de décodage et le second moyen de mémoire tampon, et successivement d'une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. Les avantages offerts par l'invention pour le transfert de données entre le moyen de décodage et la mémoire principale sont similaires à ceux exposés plus haut. Selon des caractéristiques préférées: - le moyen de commande est adapté à commander le transfert de données entre le second moyen de mémoire tampon et la mémoire principale, via le circuit d'accès direct. - un moyen de réception de données est relié en entrée du moyen de décodage, et le moyen de commande est adapté à commander le transfert de données entre le moyen de réception de données et le moyen de décodage. 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 mot de code de correction d'erreurs formé dans le dispositif de la figure 1, - les figures 3a à 3c représentent des suites d'octets transitant dans le dispositif de la figure 1, - la figure 4 représente les signaux de commande et les signaux d'état utilisés dans le dispositif de la figure 1, - les figures 5 à 7 représentent des algorithmes de transfert de données pour l'émission de données, et - les figures 8 à 10 représentent des algorithmes de transfert de données pour la réception de données. 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 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 à un circuit 2 d'accès direct à la mémoire principale 1, dit circuit DMA (Direct Access Memory) qui 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. Tout d'abord dans le sens émission, le circuit d'accès direct 2 est relié à une mémoire tampon 3 de type FIFO (First In, First Out), elle-même reliée à un circuit de codage de données, ici un circuit de correction d'erreur 4. Le circuit de correction d'erreur 4 est un circuit FEC (Forward Error Correction) qui code les données à émettre, 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é et détaillé dans la suite. Le circuit de correction d'erreur 4 est relié à un circuit d'émission 5 qui émet les données sur un canal de transmission. Le circuit de correction d'erreur 4 reçoit des données sous la forme d'une suite de mots, par exemple des octets, formant un message utile et reçoit des données de remplissage, sous la forme de mots, ici des octets1 de remplissage. Le circuit de correction d'erreur 4 reçoit ainsi N octets de données utiles suivis de K octets de remplissage, où N est un entier valant 26 à titre d'exemple et K est un entier valant 6 à titre d'exemple. Tous les N octets reçus, le circuit 4 remplace les K octets de remplissage par K octets de redondance. Les N octets utiles OC, à OCN et les K octets de redondance OR, à ORK forment un mot MC de code de correction d'erreurs comme représenté à la figure 2. Les K octets de redondance OR, à 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. D'autre part, dans le sens réception, un circuit de réception 8 reçoit des données depuis le canal de transmission. Le circuit de réception 8 est relié à un circuit de décodage de données, ici un circuit de correction d'erreur 7. Le circuit de correction d'erreur 7 est relié à une mémoire tampon 6 de type FIFO, analogue à la mémoire tampon 3. La mémoire tampon 6 est relié au circuit d'accès direct 2, lui-même relié à la mémoire principale 1. Le circuit de correction d'erreur 7 effectue globalement des opérations de décodage inverses des opérations de codage du circuit 4. Le circuit de correction d'erreur 7 reçoit des mots MC de code de correction d'erreur comportant N octets utiles OC1 à OCN et K octets de redondance OR à ORK. Le circuit 7 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 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 7 transfère les mots décodés à la mémoire tampon 6, dans le but de mémoriser les octets de message utile OC, à OCN dans la mémoire principale 1. Un automate de pilotage 9 est relié au circuit d'accès direct 2, aux mémoires tampon 3 et 6 et aux circuits de correction d'erreur 4 et 7, comme il sera détaillé dans la suite. Les opérations de codage et de décodage effectuées par les circuits de correction d'erreur 4 et 7 sont illustrées par les figures 3a à 3c. La figure 3a représente schématiquement une suite d'octets utiles en entrée ou en sortie de la mémoire principale 1. La figure 3b représente la suite d'octets en entrée du circuit de correction d'erreur 4. Cette suite comporte une alternance de N octets utiles OC à OCN et de K octets de remplissage Or à OrK. La figure 3c représente la suite d'octets en sortie du circuit de correction d'erreur 4 ou en entrée, ou en sortie, du circuit de correction d'erreur 7. Cette suite comporte une alternance de N octets utiles OC1 à OCN et de K octets de redondance ORr à ORK. Les K octets de redondance sont déterminés à l'émission, par le circuit de correction d'erreur 4 qui les insère à la place des octets de remplissage. Selon d'autres modes de réalisation, le circuit de codage est un circuit de cryptage de données. Le circuit de codage insère alors une clé formée d'un certain nombre d'octets à la suite de chacun de blocs de données utiles codées. Le circuit de décodage correspondant utilise la clé pour décoder le bloc de données utiles codées. D'autres types de codageldécodage sont utilisables dans le cadre de l'invention. La figure 4 représente un synoptique des signaux logiques échangés entre l'automate de pilotage 9 et le circuit d'accès direct 2, les mémoires tampon 3 et 6, et les circuits de correction d'erreur 4 et 7. 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 8, 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. L'automate de pilotage 9 reçoit des signaux DEME et DEMR depuis les circuits 5 et 8, respectivement. Le signal DEME est une autorisation d'émission de données lorsqu'il passe à l'état haut. Le signal DEMR indique qu'une réception de données est détectée par le circuit 8 lorsqu'il passe à l'état haut. L'automate de pilotage 9 transmet des signaux DCE et DCR au circuit d'accès direct 2. Le signal DCE est une demande de canal d'accès direct pour une émission de données, entre la mémoire principale 1 et la mémoire tampon 3, lorsqu'il passe à l'état haut. Le signal DCR est une demande de canal d'accès direct pour une réception de données, entre la mémoire 6 et la mémoire principale 1, lorsqu'il passe à l'état haut. Le circuit d'accès direct 2 transmet des signaux ACQE et ACQR à l'automate de pilotage 9 en réponse aux signaux DCE et DCR, respectivement. Le signal ACQE est un acquittement de 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 la mémoire tampon 3. Le signal ACQR est un acquittement de 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 la mémoire 6 et la mémoire principale 1. L'automate de pilotage 9 transmet des signaux SIME et SIMR respectivement aux mémoires tampon 3 et 6. Le signal SIME indique qu'un octet est présenté en entrée de la mémoire tampon 3 lorsqu'il passe à l'état haut. Le signal SIMR indique qu'un octet est présenté en entrée de la mémoire 6 lorsqu'il passe à l'état haut. La mémoire tampon 3 et la mémoire tampon 6 transmettent respectivement des signaux IRE et IRR à L'automate de pilotage 9. Le signal IRE indique que la mémoire tampon 3 est prête à recevoir des données. Le signal IRR indique que la mémoire tampon 6 est prête à recevoir des données. L'automate de pilotage 9 transmet des signaux SOME et SOMR respectivement aux mémoires tampon 3 et 6. Le signal SOME est un ordre de transmission d'un octet de la mémoire tampon 3 vers le circuit de correction d'erreur 4, lorsqu'il passe à l'état haut. Le signal SOMR est un ordre de transmission d'un octet de la mémoire 6 vers la mémoire 1, via le circuit d'accès direct 2, lorsqu'il passe à l'état haut. L'automate de pilotage 9 transmet des signaux SOFE et SOFR respectivement aux circuits de correction d'erreur 4 et 7. Le signal SOFE est un ordre de transmission d'un octet du circuit de correction d'erreur 4 vers le circuit d'émission 5. Le signal SOFR est un ordre de transmission d'un octet du circuit de correction d'erreur 7 vers la mémoire tampon 6. La mémoire tampon 3 transmet un signal ORE à l'automate de pilotage 9. Le signal ORE indique que la mémoire tampon 3 contient des données à émettre lorsqu'il est à l'état haut. La mémoire tampon 6 transmet un signal ORR à l'automate de pilotage 9. Le signal ORR indique que la mémoire 6 contient des données en réception lorsqu'il est à l'état haut. L'automate de pilotage 9 transmet des signaux SIFE et SIFR respectivement aux circuits de correction d'erreur 4 et 7. Le signal SIFE indique qu'un octet est présenté en entrée du circuit de correction d'erreur 4, lorsqu'il est à l'état haut. Le signal SIFR indique qu'un octet est présenté en entrée du circuit de correction d'erreur 7, lorsqu'il est à l'état haut. L'automate de pilotage 9 transmet des signaux STE et STR respectivement aux circuits de correction d'erreur 4 et 7. Le signal STE indique le début d'un bloc de données utiles présenté au circuit de correction d'erreur 4 lorsqu'il passe à l'état haut. Le signal STR indique le début d'un bloc de données utiles présenté au circuit de correction d'erreur 7 lorsqu'il passe à l'état haut. Les circuits de correction d'erreur 4 et 7 transmettent respectivement des signaux OUTE et OUTR à l'automate de pilotage 9. Le signal OUTE indique que le circuit de correction d'erreur 4 a des octets utiles présents en sortie, ou que ces octets utiles sont en cours de transmission au circuit d'émission 5, lorsqu'il est à l'état haut. Lorsque le signal OUTE est à l'état bas, il indique soit que des octets de redondance sont en cours de transmission au circuit d'émission 5, soit qu'aucun octet n'est en cours de transmission entre le circuit 4 et le circuit 5. De manière similaire, le signal OUTR indique que le circuit de correction d'erreur 7 a des octets utiles présents en sortie, ou que des octets utiles sont en cours de transmission vers la mémoire 6 lorsqu'il est à l'état haut. Lorsque le signal OUTE est à l'état bas, il indique soit que des octets de redondance sont présents en sortie du circuit 7, soit qu'aucun octet n'est en cours de transmission entre le circuit 7 et le circuit 6. L'émission et la réception de données sont indépendantes l'une de l'autre et peuvent fonctionner aussi bien en full-duplex qu'en halfduplex. On s'intéresse tout d'abord à l'émission de données, décrite en référence aux figures 4, 5 6 et 7. L'émission de données implique des transferts de données entre la mémoire principale 1, le circuit d'accès direct 2, la mémoire tampon 3, le circuit de correction d'erreur 4 et le circuit d'émission 5. Ces transferts sont pilotés par l'automate 9 et sont décrits sous forme d'algorithmes. Les transferts de données nécessaires à l'émission de données et décrits en référence aux figures 5, 6 et 7 peuvent être effectués simultanément, tout en étant asynchrones. La figure 5 représente un algorithme de transfert de données entre la mémoire principale 1 et la mémoire tampon 3, via le circuit d'accès direct 2. Cet algorithme comporte des étapes El à E5 et est mis en oeuvre par l'automate de pilotage. Les étapes El à E5 sont parcourues cycliquement, et l'automate de pilotage 9 passe d'une étape à la suivante à chaque basculement d'une horloge interne. L'étape El est l'initialisation du transfert de données, à laquelle le signal DCE de demande de canal d'accès direct est à l'état bas, c'est-à-dire que l'automate de pilotage 9 ne demande pas de canal d'accès direct au circuit d'accès direct 2. Le signal SIME est également à l'état bas, ce qui signifie qu'aucun octet n'est présenté à l'entrée de la mémoire tampon 3 par le circuit d'accès direct 2. L'étape suivante E2 est un test logique sur les valeurs des signaux DEME et IRE pour vérifier s'ils sont tous les deux à l'état haut. Le signal DEME à l'état haut indique que le circuit 5 autorise une émission de données, et le signal IRE à l'état haut indique que la mémoire tampon 3 n'est pas pleine et peut recevoir des données. Tant que ces signaux ne sont pas tous les deux à l'état haut, L'étape E2 est réitérée. Lorsque les signaux DEME et IRE passent tous les deux à l'état haut, L'automate de pilotage 9 transmet le signal DCE à l'état haut au circuit d'accès direct 2, à l'étape E3, pour demander un canal d'accès direct. L'étape suivante E4 est un test de la valeur logique du signal ACQE pour déterminer si le circuit d'accès direct 2 est en train d'effectuer le transfert demandé. Tant que le signal ACQE est à l'état haut, L'étape E4 est rebouclée sur elle-même ; lorsque le signal ACQE passe à l'état bas, cela signifie que le circuit d'accès direct 2 effectue le transfert de données entre la mémoire principale 1 et la mémoire tampon 3. Dans ce dernier cas, L'étape E4 est suivie de l'étape E5. A l'étape E5, L'automate de pilotage annule sa demande de canal d'accès direct en transmettant le signal DCE à l'état bas au circuit d'accès direct 2. L'automate de pilotage 9 transmet le signal SIME à l'état haut à la mémoire tampon 3 pour lui indiquer que des données lui sont présentées en entrée. En conséquence, les données transmises par le circuit d'accès direct sont mémorisées dans la mémoire tampon 3. L'étape E5 est suivie de l'étape El précédemment décrite. La figure 6 représente un algorithme de transfert de données entre la mémoire tampon 3 et le circuit de correction d'erreur 4. Cet algorithme comporte des étapes E10 à E16 qui sont parcourues cycliquement. L'automate de pilotage 9 passe d'une étape à la suivante à chaque basculement d'une horloge interne, qui peut être différente de celle utilisée pour l'algorithme de la figure 5. L'algorithme de transfert de données entre la mémoire tampon 3 et le circuit de correction d'erreur 4 commande successivement un transfert du premier nombre prédéterminé N de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé K de mots additionnels. L'étape d' - de transmettre à l'état bas les signaux SIFE et STE au circuit de correction 4, pour signifier qu'aucun octet n'est présenté en entrée du circuit 4. L'étape suivante Ell est un test logique des signaux DEME et ORE. Lorsque ces signaux sont tous les deux à l'état haut, cela signifie qu'une demande d'émission a été transmise à l'automate de pilotage 9, et que la mémoire tampon 3 contient des données à transmettre. Tant que ces deux conditions ne sont pas vérifiées, L'étape Ell est réitérée. Lorsque ces deux conditions sont vérifiées, L'étape Ell est alors suivie de l'étape E12 au cours de laquelle le compteur CPTE est incrémenté de une unité, et l'automate de pilotage 9 transmet le signal SOME à l'état haut à la mémoire tampon 3 pour lui signifier un ordre de transmission d'octet de la mémoire tampon 3 vers le circuit 4, et transmet les signaux SIFE et STE à l'état haut au circuit de correction d'erreur 4, pour signifier qu'un octet est présenté en entrée du circuit 4, et que cet octet constitue le début d'un bloc de données utiles. A l'étape suivante E13, le compteur CPTE est incrémenté de une unité et l'automate de pilotage 9 transmet le signal SOME à l'état haut à la mémoire tampon 3 pour lui signifier un ordre de transmission d'octet de la mémoire tampon 3 vers le circuit 4, et transmet le signal SIFE à l'état haut et le signal STE à l'état bas au circuit de correction d'erreur 4, pour signifier qu'un octet est présenté en entrée du circuit 4, et que cet octet ne constitue pas le début d'un bloc de données utiles. L'étape suivante E14 est un test pour vérifier si le compteur CPTE d'octets transmis au circuit de correction d'erreur 4 a atteint la valeur prédéterminée N, correspondant au nombre d'octets utiles présents dans un mot de code de correction d'erreur. Tant que la valeur N n'est pas atteinte, L'étape E13 est répétée. Les étapes E12 et E13 permettent le transfert des octets utiles OC, à OCN entre la mémoire 3 et le circuit de correction d'erreur 4. Lorsque N octets utiles ont été transmis au circuit de correction d'erreur 4, L'étape E14 est suivie de l'étape E15, à laquelle le compteur CPTE est incrémenté de une unité, et l'automate de pilotage 9 transmet le signal SOME à l'état bas à la mémoire tampon 3 pour lui signifier une absence d'ordre de transmission d'octet de la mémoire tampon 3 vers le circuit 4, et transmet le signal SIFE à l'état haut et le signal STE à l'état bas au circuit de correction d'erreur 4, pour signifier qu'un octet est présenté en entrée du circuit 4, et que cet octet ne constitue pas le début d'un bloc de données utiles. Les octets transmis au circuit 4 au cours de l'étape E15 ne sont pas des octets utiles, et leur valeur n'a pas d'importance. Ces octets sont des octets de remplissage Orr à OrK, qui seront remplacés ultérieurement par les octets de redondance OR1 à ORK déterminés par le circuit de correction d'erreur 4. L'étape suivante E16 est un test pour vérifier la valeur du compteur CPTE. Tant que le compteur CPTE n'a pas atteint la valeur N+K, L'étape E15 est répétée. Lorsque le compteur CPTE a atteint la valeur N+K, un nombre suffisant d'octets ont été transmis pour permettre au circuit de correction d'erreur 4 de former un mot MC de code de correction d'erreur. L'étape E16 est alors suivie de l'étape E10. Les étapes E10 à E16 sont répétées tant qu'il reste des octets en mémoire tampon 3 à transmettre au circuit de correction d'erreur 4 (signal ORE à l'état haut). La figure 7 représente un algorithme de transfert de données entre le circuit de correction d'erreur 4 et le circuit d'émission 5. Cet algorithme comporte des étapes E20 à E23 qui sont parcourues cycliquement par l'automate de pilotage. L'automate de pilotage 9 passe d'une étape à la suivante à chaque basculement d'une horloge interne, qui peut être différente de celles utilisées pour les algorithmes des figures 5 et 6. L'étape E20 est une initialisation à laquelle le circuit de pilotage 9 met le signal SOFE à l'état bas, pour indiquer au circuit de correction d'erreur 4 de ne pas transmettre de données au circuit d'émission 5. L'étape suivante E21 est un test pour vérifier la valeur des signaux DEME et OUTE. Tant que les signaux DEME et OUTE ne sont pas tous les deux à l'état haut, L'étape E21 est répétée. Lorsque les signaux DEME et OUTE sont tous les deux à l'état haut, cela signifie qu'une demande d'émission de données a été transmise au circuit de pilotage 9, et que le circuit de correction d'erreur 4 contient des données à transmettre. L'étape E21 est alors suivie de l'étape E22 à laquelle l'automate de pilotage 9 transmet le signal SOFE à l'état haut au circuit de correction d'erreur 4 pour lui indiquer de transmettre un octet au circuit d'émission 5. L'étape suivante E23 est un test pour vérifier la valeur des signaux DEME et OUTE. Tant que les signaux DEME et OUTE ne sont pas tous les deux à l'état bas, L'étape E22 est répétée pour transmettre un octet au circuit d'émission 5. Lorsque les signaux DEME et OUTE sont tous les deux à l'état bas, cela signifie qu'il n'y a plus de demande d'émission de données transmise au circuit de pilotage 9, et que le circuit de correction d'erreur 4 ne contient pas de données à transmettre. L'étape E23 est alors suivie de l'étape d'initialisation E20. On s'intéresse maintenant à la réception de données, décrite en référence aux figures 4, 8, 9 et 10. La réception de données implique des transferts de données entre le circuit de réception 8, le circuit de correction d'erreur 7, la mémoire 6, le circuit d'accès direct 2 et la mémoire principale 1. Ces transferts sont pilotés par l'automate 9 et sont décrits sous forme d'algorithmes. Les transferts de données décrits en référence aux figures 8, 9 et 10 peuvent être effectués simultanément, tout en étant asynchrones. La figure 8 représente l'algorithme de transfert de données entre le circuit de réception de données 8 et le circuit de correction d'erreur 7. Ce transfert de données implique des échanges de signaux logiques entre l'automate de pilotage 9 et le circuit de correction d'erreur 7. L'algorithme comporte des étapes E30 à E35 qui sont parcourues cycliquement par l'automate de pilotage. L'algorithme passe d'une étape à la suivante à chaque basculement d'une horloge interne. L'étape E30 est une initialisation qui a pour but: - de mettre à zéro un compteur CPTR qui compte les octets qui entrent dans le circuit de correction d'erreur 7, - de transmettre le signal SIFR à l'état bas au circuit de correction d'erreur 7, pour indiquer qu'aucun octet n'est présenté en entrée du circuit de correction d'erreur 7, - de transmettre le signal STR à l'état bas au circuit de correction d'erreur 7, pour indiquer que le premier octet d'un bloc n'est pas transmis au circuit de correction d'erreur 7. L'étape suivante E31 est un test pour vérifier la valeur du signal DEMR. Tant que le signal DEMR reste à l'état bas, aucune réception de données n'est détectée et l'étape E31 est alors répétée. Lorsque le signal DEMR passe à l'état haut, une réception de données est détectée, et l'étape E31 est suivie de l'étape E32. A l'étape E32, le compteur CPTR est incrémenté de une unité, et l'automate de pilotage 9 transmet les signaux SIFR et STR à l'état haut au circuit de correction d'erreur 7, pour lui indiquer que le circuit de réception lui transmet un octet, et que cet octet est le début d'un bloc de données utiles. A l'étape suivante E33, le compteur CPTR est incrémenté de une unité, et l'automate de pilotage 9 transmet les signaux SIFR et STR à l'état haut et bas respectivement, au circuit de correction d'erreur 7, pour lui indiquer que le circuit de réception lui transmet un octet, et que cet octet n'est pas le début d'un bloc de données utiles. L'étape E33 est suivie de l'étape E34 qui est un test pour vérifier si le compteur CPTR a atteint la valeur N+K. Tant que cette valeur n'est pas atteinte, L'étape E33 est répétée, de manière à transmettre un mot MC de code de correction d'erreur au circuit de correction d'erreur 7. Lorsque le compteur CPTR atteint la valeur N+K, L'étape E34 est suivie de l'étape E35, à laquelle la valeur du signal DEMR est testée. Si le signal DEMR est à l'état haut, cela signifie qu'il y a encore des données reçues par le circuit de réception 8, et l'étape E35 est suivie de l'étape E32 pour traiter un autre mot de code de correction d'erreur. Si le signal DEMR est à l'état bas, cela signifie qu'il n'y a plus de données reçues par le circuit de réception 8, et l'étape E35 est suivie de l'étape E30. La figure 9 représente un algorithme de transfert de données entre le circuit de correction d'erreur 7 et la mémoire tampon 6. Cet algorithme comporte des étapes E40 à E45 qui sont parcourues cycliquement. L'algorithme passe d'une étape à la suivante à chaque basculement d'une horloge interne, qui peut être différente de celle utilisée pour l'algorithme de la figure 8. L'algorithme de transfert de données entre le circuit de correction d'erreur 7 et la mémoire tampon 6 commande successivement un transfert du premier nombre prédéterminé N de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé K de mots additionnels. L'étape E40 est une initialisation qui a pour but de: - mettre à zéro un compteur CP2R, qui compte les octets transmis du circuit de correction d'erreur 7 à la mémoire tampon 6, - transmettre le signal SIMR à l'état bas à la mémoire tampon 6, pour lui indiquer qu'aucun octet ne lui est fourni en entrée, - transmettre le signal SOFR à l'état bas au circuit de correction d'erreur 7, pour lui indiquer de ne pas transmettre d'octet à la mémoire tampon 6. L'étape suivante E41 est un test de la valeur des signaux OUTR, DEMR et IRR. Tant que les signaux OUTR, DEMR et IRR ne sont pas tous les trois à l'état haut, L'étape E41 est répétée. Lorsque ces trois signaux sont à l'état haut, cela signifie respectivement que: - des octets utiles sont présents en sortie du circuit de correction d'erreur 7 vers la mémoire tampon 6, - une réception de donnée est détectée, - la mémoire tampon 6 n'est pas pleine, et peut par conséquent recevoir des données. Lorsque ces trois conditions sont vérifiées, L'étape E41 est suivie par l'étape E42, à laquelle le compteur CP2R est incrémenté de une unité, L'automate de pilotage 9 transmet le signal SIMR à l'état haut à la mémoire tampon 6, pour lui indiquer qu'un octet lui est présenté en entrée, et l'automate de pilotage 9 transmet le signal SOFR à l'état haut au circuit de correction d'erreur 7 pour commander la transmission d'un octet entre le circuit de correction d'erreur 7 et la mémoire tampon 6. L'étape suivante E43 est un test pour vérifier si le compteur CP2R a atteint la valeur N. Tant que ce n'est pas le cas, L'étape E42 est répétée. Lorsque le compteur CP2R a atteint la valeur N, cela signifie que le circuit de correction d'erreur a transmis les N octets utiles OC, à OCN d'un mot MC de code de correction d'erreur à la mémoire tampon 6. L'étape E43 est alors suivie par l'étape E44 à laquelle le compteur CP2R est incrémenté de une unité, L'automate de pilotage 9 transmet le signal SIMR à l'état bas à la mémoire tampon 6, pour lui commander de ne pas recevoir d'octet, et l'automate de pilotage 9 transmet le signal SOFR à l'état haut au circuit de correction d'erreur 7 pour commander la transmission d'un octet entre le circuit de correction d'erreur 7 et la mémoire tampon 6. A l'étape E44, les octets de redondance ORi à ORK du mot MC de code de correction d'erreur qui sortent du circuit 7 ne sont pas mémorisés en mémoire tampon 6. L'étape suivante E45 est un test sur la valeur du compteur CP2R, pour répéter l'étape E44 pour les K octets de redondance du mot de code de correction d'erreur. Ainsi, tant que le compteur CP2R n'a pas atteint la valeur N+K, L'étape E44 est répétée, et lorsque cette valeur est atteinte, L'étape E45 est suivie par l'étape E40. La figure 10 représente un algorithme de transfert de données entre la mémoire tampon 6 et la mémoire principale 1, via le circuit d'accès direct 2. L'algorithme comporte des étapes E50 à E54 qui sont parcourues cycliquement par l'automate de pilotage. L'algorithme passe d'une étape à la suivante à chaque basculement d'une horloge interne, qui peut être différente de celles utilisées pour les algorithmes des figures 8 et 9. L'étape E50 est une initialisation à laquelle: - le signal DCR est transmis à l'état bas au circuit d'accès direct 2, pour lui indiquer qu'il n'y a pas de données à transférer de la mémoire tampon 6 à la mémoire principale 1, et - le signal SOMR est transmis à l'état bas à la mémoire tampon 6, pour lui commander de ne pas transmettre d'octet vers le circuit d'accès direct 2. L'étape suivante E51 est un test sur les valeurs des signaux DEMR et ORR. Tant que les signaux DEMR et ORR ne sont pas tous les deux à l'état haut, L'étape E51 est répétée. Lorsque les signaux DEMR et ORR sont tous les deux à l'état haut, cela signifie qu'une réception de donnée est détectée, et que la mémoire tampon 6 contient des données à transmettre vers la mémoire principale 1. L'étape E51 est alors suivie par l'étape E52, à laquelle l'automate de pilotage 9 transmet le signal DCR à l'état haut au circuit d'accès direct, pour lui commander un canal d'accès direct vers la mémoire principale 1. L'étape suivante E53 est un test sur la valeur du signal ACQR, pour déterminer si le circuit d'accès direct exécute le transfert de données entre la mémoire tampon 6 et la mémoire principale 1. Tant que la réponse est négative, c'est-à-dire que le signal ACQR est à l'état haut, L'étape E53 est répétée. Lorsque le signal ACQR passe à l'état bas, L'étape E53 est suivie par l'étape E54 à laquelle le signal SOMR est transmis à l'état haut à la mémoire tampon 6, pour lui commander de transmettre les octets vers le circuit d'accès direct 2. Lorsque les données ont été transférées de la mémoire tampon 6 à la mémoire principale 1, L'étape E54 est suivie par l'étape E50. 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. Notamment, L'émission et la réception de données peuvent être réalisées par deux dispositifs distincts, ne comportant respectivement que les circuits nécessaires à chacune de ces fonctions. REVENDICATIONS 1. Dispositif de codage de données extraites d'une mémoire principale (1), les données étant sous la forme de mots de données utiles, comportant: - un moyen d'accès direct (2) à la mémoire principale pour extraire les données à coder, - un moyen de codage (4) des données extraites, par la formation de groupes de mots (MC) comportant chacun un premier nombre prédéterminé (N) de mots de données utiles (OCn) et un second nombre prédéterminé (K) de mots additionnels (ORk) , les mots additionnels étant déterminés par le moyen de codage, caractérisé en ce qu'il comporte: - un premier moyen de mémoire tampon (3) relié entre le moyen d'accès direct et le moyen de codage, ledit moyen de mémoire tampon recevant les données extraites, et - un moyen de commande (9) de transfert de données entre le premier moyen de mémoire tampon et le moyen de codage, adapté à commander successivement un transfert du premier nombre prédéterminé (N) de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé (K) de mots additionnels. 2. Dispositif de codage de données, adapté à coopérer avec: - une mémoire principale (1) contenant les données à coder, les données étant sous la forme de mots de données utiles, - un moyen d'accès direct (2) à la mémoire principale pour extraire les données à coder, et comportant: - un moyen de codage (4) des données extraites, par la formation de groupes de mots comportant chacun un premier nombre prédéterminé (N) de mots de données utiles et un second nombre prédéterminé (K) de mots additionnels, les mots additionnels étant déterminés par le moyen de codage, caractérisé en ce qu'il comporte: - un premier moyen de mémoire tampon (3) relié entre le moyen d'accès direct et le moyen de codage, ledit moyen de mémoire tampon recevant les données extraites, et - un moyen de commande (9) de transfert de données entre le premier moyen de mémoire tampon et le moyen de codage, adapté à commander successivement un transfert du premier nombre prédéterminé de mots de données utiles et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. 3. Dispositif de codage selon la revendication 1 ou 2, caractérisé en ce que le moyen de commande est adapté à commander le transfert de données entre la mémoire principale (1) et le premier moyen de mémoire tampon (3), via le moyen d'accès direct (2). 4. Dispositif de codage selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte un moyen de transmission de données (5) relié en sortie du moyen de codage (4), et en ce que le moyen de commande est adapté à commander le transfert de données entre le moyen de codage et le moyen de transmission. 5. Dispositif de décodage de données codées sous la forme de groupes de mots (MC) comportant chacun un premier nombre prédéterminé (N) de mots de données utiles et un second nombre prédéterminé (K) de mots additionnels, comportant: - un moyen de décodage (7) des données codées, pour fournir le premier nombre prédéterminé de mots de données utiles de chacun des groupes de mots, - une mémoire principale (1) pour mémoriser les mots de données utiles fournis par le moyen de décodage, - un moyen d'accès direct (2) à la mémoire principale pour y entrer les mots de données utiles, caractérisé en ce qu'il comporte: - un second moyen de mémoire tampon (6) relié entre le moyen de décodage et le moyen d'accès direct, et - un moyen de commande (9) de transfert de données entre le moyen de décodage et le second moyen de mémoire tampon, adapté à commander successivement un transfert du premier nombre prédéterminé (N) de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé (K) de mots additionnels. 6. Dispositif de décodage de données codées sous la forme de groupes de mots comportant chacun un premier nombre prédéterminé (N) de mots de données utiles et un second nombre prédéterminé (K) de mots additionnels, comportant: - un moyen de décodage (7) des données codées, pour fournir le premier nombre prédéterminé de mots de données utiles de chacun des groupes de mots, et adapté à coopérer avec: - une mémoire principale (1) pour mémoriser les mots de données utiles fournis par le moyen de décodage, - un moyen d'accès direct (2) à la mémoire principale pour y entrer les mots de données utiles, caractérisé en ce qu'il comporte: - un second moyen de mémoire tampon (6) relié entre le moyen de décodage et le moyen d'accès direct, et - un moyen de commande (9) de transfert de données entre le moyen de décodage et le second moyen de mémoire tampon, adapté à commander successivement un transfert du premier nombre prédéterminé de mots de données utiles, et une interruption du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. 7. Dispositif de décodage selon la revendication 5 ou 6, caractérisé en ce que le moyen de commande est adapté à commander le transfert de données entre le second moyen de mémoire tampon et la mémoire principale (1), via le circuit d'accès direct (2). 8. Dispositif de décodage selon l'une quelconque des revendications 5 à 7, caractérisé en ce qu'il comporte un moyen de réception de données (8) relié en entrée du moyen de décodage, et en ce que le moyen de commande est adapté à commander le transfert de données entre le moyen de réception de données et le moyen de décodage. 9. Procédé de codage de données extraites d'une mémoire principale, les données étant sous la forme de mots de données utiles, comportant l'étape de: - codage des données extraites, par un moyen de codage formant des groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, les mots additionnels étant déterminés par le codage, caractérisé en ce qu'il comporte les étapes de: - mémorisation (E5) des données extraites dans un premier moyen de mémoire tampon, préalablement au codage, et - commande d'un transfert (E12, E13) du premier nombre prédéterminé (N) de mots de données utiles (OCl-OCN) entre le premier moyen de mémoire tampon et le moyen de codage, et successivement d'une interruption (E15) du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé (K) de mots additionnels. 10. Procédé de codage selon la revendication 9, caractérisé en ce qu'il comporte en outre l'étape (E22) de commande d'un transfert de données à un moyen de transmission de données après l'étape de codage. 11. Procédé de décodage de données codées sous la forme de groupes de mots comportant chacun un premier nombre prédéterminé de mots de données utiles et un second nombre prédéterminé de mots additionnels, comportant les étapes de: - décodage des données codées, par un moyen de décodage fournissant le premier nombre prédéterminé de mots de données utiles de chacun des groupes de mots, - mémorisation des mots de données utiles fournis par le moyen de décodage, caractérisé en ce qu'il comporte l'étape de: - commande d'un transfert (E42) du premier nombre prédéterminé de mots de données utiles entre le moyen de décodage et un second moyen de mémoire tampon, et successivement d'une interruption (E44) du transfert des mots de données pendant une durée d'interruption correspondant à la durée qui serait nécessaire pour transférer le second nombre prédéterminé de mots additionnels. 12. Procédé de décodage selon la revendication 11, caractérisé en ce qu'il comporte l'étape (E54) de commande d'un transfert de données entre le second moyen de mémoire tampon et une mémoire principale (1). 13. Procédé de décodage selon la revendication 11 ou 12, caractérisé en ce qu'il comporte l'étape (E33) de commande d'un transfert de données entre un moyen de réception de données relié en entrée du moyen de décodage, et le moyen de décodage.