FR3032576A1 - Procede de codage en ligne a bit de polarite utilisant des trames aperiodiques - Google Patents

Procede de codage en ligne a bit de polarite utilisant des trames aperiodiques Download PDF

Info

Publication number
FR3032576A1
FR3032576A1 FR1550912A FR1550912A FR3032576A1 FR 3032576 A1 FR3032576 A1 FR 3032576A1 FR 1550912 A FR1550912 A FR 1550912A FR 1550912 A FR1550912 A FR 1550912A FR 3032576 A1 FR3032576 A1 FR 3032576A1
Authority
FR
France
Prior art keywords
bit
bits
frame
stream
disparity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1550912A
Other languages
English (en)
Other versions
FR3032576B1 (fr
Inventor
Julien Saade
Abdelaziz Goulahsen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Alps SAS
Original Assignee
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Alps SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Grenoble 2 SAS, STMicroelectronics Alps SAS filed Critical STMicroelectronics Grenoble 2 SAS
Priority to FR1550912A priority Critical patent/FR3032576B1/fr
Priority to US14/961,996 priority patent/US9847798B2/en
Publication of FR3032576A1 publication Critical patent/FR3032576A1/fr
Application granted granted Critical
Publication of FR3032576B1 publication Critical patent/FR3032576B1/fr
Priority to US15/693,986 priority patent/US10056923B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/02Transmitters
    • H04B1/04Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Dc Digital Transmission (AREA)

Abstract

L'invention est relative à un procédé d'émission de données en série, comprenant les étapes consistant à calculer la disparité courante (RD) d'un flot de bits en cours d'émission ; lorsque la disparité courante atteint un seuil (T), calculer une disparité ponctuelle sur une trame subséquente (S) du flot ; si la disparité ponctuelle est de même signe que le seuil, inverser les états des bits de la trame dans le flot de bits émis ; et insérer dans le flot de bits émis un bit de polarité ayant un état signalant l'inversion.

Description

PROCEDE DE CODAGE EN LIGNE A BIT DE POLARITE UTILISANT DES TRAMES APERIODIQUES Domaine technique de l'invention L'invention est relative aux interfaces de communication série, notamment aux 5 techniques de conditionnement mises en oeuvre sur le signal à transmettre au niveau de la couche physique. Arrière-plan de l'invention La transmission d'un signal série présente un certain nombre de contraintes imposées par les différentes normes d'interfaces série. Parmi ces contraintes, on cherche à 10 garantir que l'horloge puisse être récupérée à partir du signal par le circuit récepteur, et que le signal présente une composante continue qui varie peu autour de sa mi-excursion. Dans les interfaces plus récentes, où les débits peuvent dépasser le gigabit/s, les normes imposent en outre que le signal produise de faibles interférences électromagnétiques. Pour satisfaire ces contraintes, on utilise différentes techniques de codage en ligne, 15 parmi lesquelles le code 8b/10b (Ethernet, SATA, FireWire, USB 3), le code 64b/67b (Interlaken), et les codes à bit de polarité de type générique Nb/(N+1)b. Ces techniques sont parfois associées à un brouillage par bruit pseudo-aléatoire pour réduire les interférences électromagnétiques (comme pour la norme USB 3). Un codage en ligne peut également être caractérisée par un paramètre appelé disparité 20 courante. La disparité courante (« running disparity » ou RD en anglais) est la différence courante entre le nombre de bits à 1 et le nombre de bits à 0 d'une transmission en cours - on peut la voir comme un compteur qui est incrémenté lorsque le bit courant est à 1 et décrémenté lorsque le bit courant est à O. Lorsque la disparité courante croît en valeur absolue, le diagramme de l'oeil des transitions se ferme, 25 augmentant le risque d'erreurs de transmission. Il est donc souhaitable que la disparité courante soit bornée. Le code 8b/10b offre une disparité courante bornée à ±3. Cette valeur, particulièrement basse, est obtenue au prix d'une perte de bande passante utile de 25 % (deux bits redondants pour huit bits utiles). Un code à bit de polarité de type Nb/(N+1)b présente 30 une disparité bornée à ±(N+N/2) au prix d'une perte de bande passante utile de 1/N. Le code 64b/67b utilisé dans le protocole Interlaken est une variante du code 64b/65b et présente une disparité courante bornée à ±96.
3032576 2 Les codages en ligne introduisent un compromis à définir entre la diminution de la disparité courante et l'amélioration de l'utilisation de la bande passante. Résumé de l'invention On prévoit de façon générale dans la présente demande un procédé d'émission de 5 données en série, comprenant les étapes consistant à calculer la disparité courante d'un flot de bits en cours d'émission ; lorsque la disparité courante atteint un seuil, calculer une disparité ponctuelle sur une trame subséquente du flot ; si la disparité ponctuelle est de même signe que le seuil, inverser les états des bits de la trame dans le flot de bits émis ; et insérer dans le flot de bits émis un bit de polarité ayant un état signalant 10 l'inversion. Le bit de polarité peut être inséré après la trame. La trame peut inclure un nombre pair de bits et le procédé peut alors comprendre en outre les étapes consistant à, si la disparité ponctuelle est de signe opposé à celui du seuil, laisser les bits de la trame inchangés dans le flot de bits émis et insérer un bit de 15 polarité ayant un état signalant l'absence d'inversion ; et, si la disparité ponctuelle est nulle, laisser les bits de la trame inchangés dans le flot de bits émis et omettre l'insertion d'un bit de polarité. Le procédé peut comprendre en outre les étapes consistant à, si le nombre de bits consécutifs à un premier état dans le flot de bits émis atteint un deuxième seuil, insérer 20 la paire de bits 01 ; et, si le nombre de bits consécutifs à un deuxième état dans le flot de bits émis atteint le deuxième seuil, insérer la paire de bits 10. Le procédé peut comprendre l'étape consistant à appliquer un brouillage au flot de bits avant l'étape de calcul de la disparité courante. On prévoit également un procédé de réception de données en série, comprenant les 25 étapes consistant à calculer la disparité courante d'un flot de bits en cours de réception ; lorsque la disparité courante atteint un seuil, examiner un bit de polarité subséquent dans le flot ; si le bit de polarité indique une inversion, inverser dans le flot de bits reçu les états des bits d'une trame suivant le bit pour lequel le seuil de disparité a été atteint ; et supprimer le bit de polarité du flot de bits reçu.
30 Le bit examiné comme bit de polarité peut être situé après la trame.
3032576 3 La trame peut inclure un nombre pair de bits et le procédé peut alors comprendre en outre les étapes consistant à, si le bit de polarité indique une absence d'inversion, laisser les bits de la trame inchangés dans le flot de bits reçu et supprimer le bit de polarité ; calculer la disparité ponctuelle sur la trame ; et si la disparité ponctuelle est nulle, laisser les bits de la trame inchangés dans le flot de bits reçu. Le procédé peut comprendre, avant l'étape de calcul de disparité courante, l'étape consistant à, si le nombre de bits consécutifs à 1 ou à 0 dans le flot de bits en cours de réception atteint un deuxième seuil, supprimer les deux bits suivants dans le flot. Description sommaire des dessins Des modes de réalisation seront exposés dans la description suivante, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : - la figure 1 illustre un exemple d'évolution de la disparité courante d'une transmission et une opération de bornage de la disparité mise en oeuvre selon l'invention ; - les figures 2A à 2C sont des chronogrammes illustrant trois cas d'application d'un exemple de code selon l'invention ; - la figure 3 illustre un exemple d'évolution de la disparité courante d'une transmission et l'évolution correspondante bornée obtenue avec un exemple de code selon l'invention ; - les figures 4A et 4B sont des chronogrammes illustrant deux cas d'application d'un autre exemple de code selon l'invention ; - la figure 5 est un schéma bloc d'un mode de réalisation de circuit émetteur mettant en oeuvre un code selon l'invention ; et - la figure 6 est un schéma bloc d'un mode de réalisation de circuit récepteur mettant en oeuvre un code selon l'invention. Description de modes de réalisation de l'invention Les inventeurs proposent ci-après des codages en ligne qui, pour un bornage donné de la disparité courante, diminuent statistiquement la perte de bande passante par rapport à des codes classiques.
3032576 4 Les codages en ligne décrits ci-après sont inspirés des codes à bit de polarité de type Nb/(N+1)b. Selon un code à bit de polarité classique, les bits d'une transmission sont organisés dans des trames périodiques de N+1 bits (N bits utiles et un bit de polarité). Le bit de polarité indique au circuit récepteur que les états des bits utiles de la trame ont 5 été inversés, ou non. Du côté de l'émetteur, une disparité ponctuelle est calculée sur chaque trame. Si la disparité ponctuelle est de même signe que la disparité courante, les états des bits utiles de la trame sont inversés de sorte que la disparité courante résultante diminue en valeur absolue. Si la disparité ponctuelle est de signe opposé, les bits utiles de la trame sont laissés inchangés.
10 Ainsi, un bit de polarité est systématiquement inséré pour chaque N bits, entraînant une perte de bande passante de 1/N, pour obtenir en contrepartie un bornage de la disparité courante à ±(N+N/2). Au lieu d'organiser les bits en trames périodiques, les inventeurs proposent d'organiser les bits dans des trames apériodiques S. Une trame apériodique est définie à chaque fois 15 que la disparité courante RD atteint un seuil T ou -T. Une disparité ponctuelle est calculée pour chaque trame, et les états des bits utiles de la trame sont inversés si la disparité ponctuelle est de même signe que le seuil atteint. Cette technique permet de garantir un bornage de la disparité courante au prix d'une perte de bande passante utile statistiquement inférieure à celle obtenue avec les codes en ligne équivalents connus.
20 Comme pour les codes connus, un code à trames apériodiques peut opérer sur des données brutes ou sur des données brouillées par un bruit pseudo-aléatoire. La figure 1 illustre un exemple d'évolution de la disparité courante RD d'une transmission et l'effet sur cette disparité d'une inversion d'une trame apériodique S. Le seuil T est par exemple égal à 15, et il est atteint par la disparité courante entre les bits 25 1350 et 1400. Sans action sur le flot de bits transmis dans cet exemple, la disparité courante continuerait à croître pour dépasser la valeur 20, comme cela est illustré autour du bit 1400. Lorsque le seuil T est atteint, les bits suivants sont organisés dans une trame S de taille fixe. La disparité ponctuelle calculée sur la trame S est ici positive, de même signe que le seuil T, et provoque l'inversion des états des bits de la trame S dans la transmission en cours. Il en résulte que la progression de la disparité courante s'inverse après le seuil pendant la durée de la trame S, comme cela est représenté en trait discontinu. Après la 3032576 5 trame S, les bits retrouvent les états de la transmission d'origine, et la disparité courante suit son évolution normale, cependant sous le seuil T. Les figures 2A à 2C sont des chronogrammes illustrant plus spécifiquement trois cas d'application d'un exemple de code à trames apériodiques. Dans cet exemple le code a 5 pour paramètres T = 15 et S = 5 bits utiles, code que l'on désignera par T15/S5. En définissant une valeur T, on définit en pratique un couple de seuils (+T, -T), puisque la disparité courante est une valeur signée que l'on peut souhaiter borner de manière symétrique. Ces figures illustrent un exemple d'évolution d'un flot de bits source SRC à transmettre, 10 la disparité courante RD(SRC) du flot SRC, la disparité ponctuelle RD(S) calculée sur la trame S, le flot de bits résultant émis Tx, et la disparité courante effective RD(Tx) du flot émis. Le flot émis Tx est retardé par rapport au flot entrant SRC de la taille d'une trame S, comme cela est représenté, puisque la décision d'inversion de la trame dans le flot émis est basée sur un calcul (la disparité ponctuelle) impliquant toute la trame. La 15 disparité courante prise en compte pour les détections de seuil est celle RD(Tx) du flot émis. A la figure 2A, le flot Tx est tel que la disparité courante RD(Tx) atteint le seuil T=15 au troisième bit représenté. Cet événement, marqué par un cadre en trait gras, déclenche la définition d'une trame S incluant les cinq derniers bits reçus du flot SRC, et le calcul 20 de la disparité ponctuelle RD(S) de cette trame S. La trame peut être stockée dans un registre à décalage de cinq bits recevant le flot SRC et produisant le flot Tx. La disparité ponctuelle RD(S) peut alors être calculé en un cycle à partir des bits du registre. Les bits de la trame S valent, par exemple, 01101, produisant RD(S) = 1. Ainsi, la disparité ponctuelle a le même signe que le seuil T=15. Il en résulte que les états des 25 bits de la trame S sont inversés dans le flot émis Tx, dans une trame inversée désignée par /S. Un bit de polarité P est inséré dans le flot émis à la suite de la trame /S pour indiquer la « polarité » de la trame au circuit de réception. La polarité négative, indiquant une inversion, est par exemple identifiée par l'état 1 du bit P. Le bit P pourrait également 30 être inséré avant la trame, mais cela peut avoir un inconvénient exposé plus loin. La disparité courante du flot émis RD(Tx) tient compte des bits de polarité. Cette disparité peut osciller autour de la valeur T=15 plusieurs fois pendant la transmission de la trame, comme cela se produit dans cet exemple. Pendant la transmission de la trame, 3032576 6 la détection de seuil est inhibée. La détection de seuil peut être réactivée dès le bit de polarité P - alors, dans cet exemple, une nouvelle détection de seuil, marquée par un cadre en trait gras, se produit au bit de polarité, puisque la disparité courante RD(Tx) atteint alors la valeur 15.
5 La disparité courante RD(Tx) du flot émis Tx atteint la valeur crête 16 au début de la trame inversée /S et atteint la valeur 14 à la fin de la trame. Sans inversion, la disparité courante atteindrait la valeur 16 à la fin de la trame - dans cet exemple, l'inversion de la trame permet d'abaisser la disparité courante de deux points. Puisque le bit de polarité P fait partie du flot émis, la disparité courante effective finit à la valeur 15.
10 Dans cet exemple, le gain obtenu par l'inversion de la trame S n'est que d'un point, mais cela reflète le fait que le nombre de uns dans la trame S prise comme exemple est supérieur au nombre de zéros de seulement une unité. Dans le meilleur cas, la trame S présente tous ses bits à 1 - le gain est alors de 9 points, en tenant compte du bit de polarité.
15 On constate que la valeur 1 du bit de polarité P contribue ici à réduire le gain d'une unité. Cette perte n'est subie que du côté du seuil positif +T - elle est compensée lorsque la disparité courante atteint le seuil négatif -T, où la valeur 1 du bit de polarité augmente le gain d'une unité. Un effet symétrique serait obtenu en choisissant l'état 0 pour indiquer une inversion à l'aide du bit de polarité.
20 Comme on le voit à la figure 2A, la disparité courante du flot émis Tx dépasse le seuil T=15. La disparité courante n'est pas tout à fait bornée à ±T. Les figures 2B et 2C illustrent des pire-cas de dépassement du seuil T pour le code T15/S5. Le pire cas, pour un seuil positif, est obtenu lorsque la trame utilisée dans le flot émis Tx présente en son début le plus grand nombre possible de uns consécutifs. Ce 25 nombre est de façon générale la partie entière de S/2, soit 2 pour S=5 dans cet exemple. En effet, le nombre de uns ne peut pas être supérieur, car sinon le signe de la disparité ponctuelle s'inverse et c'est la trame inverse qui est utilisée, qui présente au plus deux uns. La trame S à la figure 2B contient par exemple les bits 00111. La disparité ponctuelle 30 de cette trame est positive, de sorte que la trame inversée /S, la séquence 11000, est utilisée dans le flot émis Tx. La trame /S présente deux uns consécutifs à son début, de sorte que la disparité courante RD(Tx) atteint 17 au deuxième bit de cette trame.
3032576 7 Si la trame S avait été 00011, elle n'aurait pas été inversée. La trame S à la figure 2C contient par exemple les bits 11000. La disparité ponctuelle de cette trame est négative, de sorte que la trame S est utilisée telle quelle dans le flot émis Tx. Le bit de polarité P vaut 0. La trame S présente deux uns consécutifs à son 5 début, de sorte que la disparité courante RD(Tx) atteint 17 au deuxième bit de cette trame. Un comportement symétrique est obtenu du côté du seuil négatif -T, en considérant le nombre de zéros consécutifs au début de la trame utilisée dans le flot émis Tx. Il résulte de ces développements que la disparité courante du flot émis Tx est bornée à 10 ±(T+S/2), où S/2 est la division entière de S par 2. Comme on l'a précédemment indiqué, le bit de polarité P peut, selon une alternative, être inséré devant la trame dans le flot émis. Dans l'exemple de la figure 2B, on aurait trois uns consécutifs après la détection de seuil, ci qui augmenterait d'un point les bornes de la disparité courante.
15 La figure 3 illustre les évolutions de deux disparités courantes comparées sur une transmission d'un échantillon aléatoire de 20000 bits. L'une des disparités, représentée en trait plein, est la disparité obtenue en utilisant un code T64/S63 (c'est-à-dire un code à trames apériodiques de paramètres T=64 et S=63). La deuxième disparité, représentée en trait discontinu pour les parties différentes, est la disparité courante du flot de bits 20 d' origine. Ce code T64/S63 borne la disparité courante à ±95. Les lignes verticales illustrent les détections de seuil survenant pendant la transmission. La perte de bande passante engendrée par un code à trames apériodiques dépend de la fréquence des détections de seuil, puisque chaque détection de seuil entraîne l'insertion 25 d'un bit de polarité. Dans le pire cas, les trames S sont consécutives, de sorte qu'on s'approche d'un code classique Nb/(N+1)b avec N=S. Ce pire cas est toutefois peu probable - la perte de bande passante se situe statistiquement entre 0 et 1/S. Des simulations faites avec des données aléatoires et un code T64/S63 révèlent une perte de 0,14 %, bien inférieure à la perte pire cas de 1/63 = 1,6 %.
3032576 8 Dans les exemples précédents, on a supposé que les trames S avaient un nombre impair de bits. La disparité ponctuelle de telles trames n'est jamais nulle, de sorte que la décision d'inversion porte sans ambiguïté sur le signe de la disparité. On envisage ci-après des trames S ayant un nombre pair de bits. Dans ce cas, la 5 disparité ponctuelle de chaque trame peut être positive, négative, ou nulle. Les cas des disparités ponctuelles positives et négatives sont traités de la même manière que pour des trames à nombre impair de bits, en insérant systématiquement un bit de polarité dans le flot émis. Par contre, lorsque la disparité ponctuelle est nulle, la trame est transmise inchangée et aucun bit de polarité n'est inséré dans le flot émis.
10 Les figures 4A et 4B sont des chronogrammes illustrant deux cas d'application d'un exemple de code T15/S6, utilisant des trames S à nombre pair de bits. A la figure 4A, lorsque la disparité courante RD(Tx) du flot émis atteint le seuil T=15, la trame S contient les bits 011011. La disparité ponctuelle de cette trame vaut 2, entraînant l'inversion de la trame dans le flot émis, et l'ajout d'un bit de polarité P 15 valant 1. A la figure 4B, lorsque la disparité courante RD(Tx) du flot émis atteint le seuil T=15, la trame S contient les bits 011010. La disparité ponctuelle de cette trame vaut 0. La trame est conservée telle quelle dans le flot émis, et aucun bit de polarité P n'est ajouté. Une trame ayant une disparité ponctuelle nulle ne modifie pas la valeur de la disparité 20 courante. Ainsi, la disparité courante retrouve le seuil T au dernier bit de la trame, comme cela est représenté. Dans ce cas il est préférable de réactiver la détection de seuil dès le dernier bit de la trame, comme cela est indiqué par un cadre en trait gras. Le nombre de combinaisons menant à une disparité nulle dans une trame à nombre pair de bits, c'est-à-dire le nombre de combinaisons où le nombre de bits à 1 de la trame est 25 égal au nombre de bits à 0, est de l'ordre du tiers des combinaisons possibles. Ainsi, la perte de bande passante est statistiquement réduite d'un tiers par rapport à un code utilisant des trames à nombre impair de bits. Des simulations faites avec des données aléatoires pour un code T64/S64, le pendant « pair » du code T64/S63 utilisé à la figure 3, révèlent une perte de bande passante utile 30 de l'ordre de 0,11 %. Cette perte est en effet inférieure à celle produite par le code T64/S63. Le code T64/S64, bornant la disparité courante à ±96, est équivalent au code 3032576 9 64b/65b utilisé dans le protocole Interlaken, mais la perte de bande passante est plus de dix fois inférieure. Si on souhaite borner la disparité courante à ±3, comme le fait le code 8b/10b, on peut utiliser le code à trames apériodiques T2/S2. Le code T2/S2 engendre statistiquement 5 une perte de bande passante de l'ordre de 14,3 %, ce qui est meilleur que les 25 % du code 8b/10b. La figure 5 est un schéma-bloc d'un mode de réalisation de circuit de conditionnement côté émission pouvant mettre en oeuvre un codage à trames apériodiques. Les données à émettre peuvent préalablement être brouillées par un registre à décalage à contre- 10 réaction linéaire LFSR. Le registre LFSR produit alors le flot source SRC sur lequel est appliqué le codage. Le flot SRC est introduit dans un registre à décalage S-REG de S bits servant à stocker les trames S en attente d'une décision d'inversion. Un circuit 10 calcule la disparité ponctuelle du contenu du registre S-REG et fournit le résultat RD(S) à un circuit de commande 12. Le circuit 12 reçoit par ailleurs les seuils ±T et la disparité 15 courante RD(Tx) calculée par un circuit 14 sur le flot de bits émis Tx. Le flot Tx arrive du registre S-REG à travers un inverseur commandé 16 et un circuit d'insertion de bit de polarité 18. Initialement, l'inverseur 16 et le circuit 18 sont commandés pour être « transparents », de sorte que le flot Tx correspond directement à la sortie du registre S-REG. Quand la 20 disparité courante RD(Tx) atteint l'un des seuils ±T, le contenu courant du registre S-REG définit une trame S. Le circuit de commande compare le signe de la disparité ponctuelle RD(S) produite par le circuit 10 au signe du seuil atteint. Si les signes sont les mêmes, l'inverseur commandé 16 est mis en mode inverseur et le circuit 18 est configuré pour insérer le bit de polarité 1 derrière la trame S extraite du 25 registre S-REG. Si les signes sont opposés, l'inverseur commandé 16 est mis en mode transparent et le circuit 18 est commandé pour insérer le bit de polarité 0 derrière la trame S extraite du registre S-REG. Finalement, si la disparité RD(S) est nulle, l'inverseur commandé 16 et le circuit 18 30 sont mis en mode transparent. Comme cela est représenté, on peut dans certaines applications prévoir dans le flot émis Tx un circuit d'insertion de bits de bourrage 20. Un tel circuit a classiquement pour rôle 3032576 10 de casser les séquences trop longues de bits consécutifs de même état, en insérant une transition lorsque le nombre de bits consécutifs de même état atteint un seuil. Cela facilite la récupération de l'horloge du côté récepteur. Toutefois, l'insertion de bits de bourrage de façon classique dans le flot Tx est 5 incompatible avec la volonté de borner la disparité courante du flot Tx. Pour résoudre cette incompatibilité, on propose d'insérer une paire de bits de bourrage d'états opposés pour chaque bit de bourrage qu'aurait inséré un circuit classique. Par exemple, là où un circuit classique aurait inséré le bit 1 à la suite d'une série de zéros, le circuit modifié 20 insère la paire de bits 10, et là où le circuit classique aurait inséré le bit 0 à la suite d'une 10 série de uns, le circuit modifié 20 insère la paire de bits 01. Chaque paire de bits insérés de ce type n'a aucun effet sur la disparité courante, puisque le deuxième bit compense le premier. La figure 6 est un schéma-bloc d'un mode de réalisation de circuit de conditionnement côté réception pouvant mettre en oeuvre le décodage d'un code à trames apériodiques.
15 Dans le cas où le circuit d'émission est pourvu d'un circuit d'insertion de bits de bourrage 20, le circuit de réception est précédé d'un circuit 20' conçu pour retirer les bits de bourrage, plus spécifiquement les paires de bits de bourrage. Le flot de bits entrant Rx, fourni le cas échéant par le circuit 20', est introduit dans un registre à décalage S-REG de S bits servant à stocker les trames S dont la polarité doit 20 être rétablie. Un circuit 10' calcule la disparité ponctuelle du contenu du registre S-REG et fournit le résultat RD(S) à un circuit de commande 12'. Le circuit 12' reçoit par ailleurs les seuils ±T, le bit de polarité P prélevé dans le flot Rx, et la disparité courante RD(Rx) calculée par un circuit 14' sur le flot de bits reçus Rx, retardé d'une trame par le registre S-REG. Le flot de bits rétabli DEST arrive du registre S-REG à travers un 25 circuit de suppression de bits de polarité 18' et un inverseur commandé 16'. Initialement, l'inverseur 16' et le circuit 18' sont commandés pour être « transparents », de sorte que le flot DEST correspond directement à la sortie du registre S-REG. Quand la disparité courante RD(Rx) atteint l'un des seuils ±T, le registre S-REG contient une trame S et le bit courant du flot Rx est le bit de polarité P correspondant.
30 Si les trames ont un nombre impair de bits, le circuit 10' n'est pas utilisé. Le bit de polarité P indique directement au circuit de commande 12' le mode à choisir pour l'inverseur 16' pendant l'extraction de la trame S du registre S-REG. Une fois que la 3032576 11 trame a été extraite, le circuit 18' est commandé pour supprimer le bit de parité arrivant derrière la trame. Dans le cas où le nombre de bits des trames est pair, à la détection de seuil, le circuit de commande vérifie en outre la disparité ponctuelle RD(S) produite par le circuit 10'. Si 5 elle est nulle, il n'y a pas de bit de parité et les circuits 16' et 18' sont laissés en mode transparent jusqu'à la prochaine détection de seuil. De nombreuses variantes et applications des codages en ligne à trames apériodiques décrits ici apparaîtront à l'homme du métier. Des exemples particuliers de valeurs pour T et S ont été indiqués à titre illustratif. Bien entendu, les valeurs de T et S ne sont pas 10 limitées à ces seuls exemples, et l'homme du métier pourra utiliser d'autres valeurs pour adapter les codes à ses besoins.

Claims (9)

  1. REVENDICATIONS1. Procédé d'émission de données en série, comprenant les étapes suivantes : - calculer la disparité courante (RD(Tx)) d'un flot de bits en cours d'émission (Tx) ; - lorsque la disparité courante atteint un seuil (T), calculer une disparité ponctuelle (RD(S)) sur une trame subséquente (S) du flot ; - si la disparité ponctuelle est de même signe que le seuil, inverser les états des bits de la trame dans le flot de bits émis ; et - insérer dans le flot de bits émis un bit de polarité (P) ayant un état signalant l'inversion.
  2. 2. Procédé selon la revendication 1, dans lequel le bit de polarité est inséré après la trame (S).
  3. 3. Procédé selon la revendication 1, dans lequel la trame (S) inclut un nombre pair de bits et le procédé comprend en outre les étapes suivantes : - si la disparité ponctuelle est de signe opposé à celui du seuil, laisser les bits de la trame inchangés dans le flot de bits émis et insérer un bit de polarité ayant un état signalant l'absence d'inversion ; et - si la disparité ponctuelle est nulle, laisser les bits de la trame inchangés dans le flot de bits émis et omettre l'insertion d'un bit de polarité.
  4. 4. Procédé selon la revendication 1, comprenant les étapes suivantes : - si le nombre de bits consécutifs à un premier état (1) dans le flot de bits émis atteint un deuxième seuil, insérer la paire de bits 01 ; et - si le nombre de bits consécutifs à un deuxième état (0) dans le flot de bits émis atteint le deuxième seuil, insérer la paire de bits 10.
  5. 5. Procédé selon la revendication 1, comprenant l'étape suivante : - appliquer un brouillage au flot de bits avant l'étape de calcul de la disparité courante. 3032576 13
  6. 6. Procédé de réception de données en série, comprenant les étapes suivantes : - calculer la disparité courante (RD(Rx)) d'un flot de bits en cours de réception (Rx) - lorsque la disparité courante atteint un seuil (T), examiner un bit de polarité 5 subséquent (P) dans le flot ; - si le bit de polarité indique une inversion, inverser dans le flot de bits reçu les états des bits d'une trame suivant le bit pour lequel le seuil de disparité a été atteint ; et - supprimer le bit de polarité du flot de bits reçu. 10
  7. 7. Procédé selon la revendication 6, dans lequel le bit examiné comme bit de polarité est situé après la trame.
  8. 8. Procédé selon la revendication 6, dans lequel la trame (S) inclut un nombre pair de bits et le procédé comprend en outre les étapes suivantes : - si le bit de polarité indique une absence d'inversion, laisser les bits de la trame 15 inchangés dans le flot de bits reçu et supprimer le bit de polarité ; - calculer la disparité ponctuelle sur la trame ; - si la disparité ponctuelle est nulle, laisser les bits de la trame inchangés dans le flot de bits reçu.
  9. 9. Procédé selon la revendication 6, comprenant l'étape suivante avant l'étape de 20 calcul de disparité courante : - si le nombre de bits consécutifs à 1 ou à 0 dans le flot de bits en cours de réception atteint un deuxième seuil, supprimer les deux bits suivants dans le flot.
FR1550912A 2015-02-05 2015-02-05 Procede de codage en ligne a bit de polarite utilisant des trames aperiodiques Expired - Fee Related FR3032576B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1550912A FR3032576B1 (fr) 2015-02-05 2015-02-05 Procede de codage en ligne a bit de polarite utilisant des trames aperiodiques
US14/961,996 US9847798B2 (en) 2015-02-05 2015-12-08 Method for polarity bit line encoding using aperiodic frames
US15/693,986 US10056923B2 (en) 2015-02-05 2017-09-01 Method for polarity bit line encoding using aperiodic frames

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1550912A FR3032576B1 (fr) 2015-02-05 2015-02-05 Procede de codage en ligne a bit de polarite utilisant des trames aperiodiques

Publications (2)

Publication Number Publication Date
FR3032576A1 true FR3032576A1 (fr) 2016-08-12
FR3032576B1 FR3032576B1 (fr) 2017-03-10

Family

ID=53483917

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1550912A Expired - Fee Related FR3032576B1 (fr) 2015-02-05 2015-02-05 Procede de codage en ligne a bit de polarite utilisant des trames aperiodiques

Country Status (2)

Country Link
US (2) US9847798B2 (fr)
FR (1) FR3032576B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992009162A1 (fr) * 1990-11-13 1992-05-29 Hewlett-Packard Company Code de ligne sans composante cc et synchronisation de bits et de blocs pour transmission de donnees quelconques
US6351501B1 (en) * 1998-06-29 2002-02-26 National Semiconductro Corporation Apparatus and method for providing direct current balanced code
WO2002043319A2 (fr) * 2000-11-22 2002-05-30 Silicon Image Architecture de communications pour dispositifs de memorisation de donnees

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1276693A (en) 1969-06-30 1972-06-07 Riken Vitamin Oil Co Ltd Process for preparing powders of lipophilic food emulsifiers
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
DE69829960D1 (de) * 1998-07-07 2005-06-02 Agilent Technologies Inc Blockkode mit begrenzter Disparität
US6496540B1 (en) 1998-07-22 2002-12-17 International Business Machines Corporation Transformation of parallel interface into coded format with preservation of baud-rate
KR100279752B1 (ko) * 1998-11-11 2001-02-01 정선종 고속 광 전송 시스템을 위한 비트 삽입/조작 선로 부호의 부/복호화 장치
JP2004147041A (ja) * 2002-10-24 2004-05-20 Mitsubishi Electric Corp 検出回路及び復号回路
US7187307B1 (en) 2003-06-12 2007-03-06 Silicon Image, Inc. Method and system for encapsulation of multiple levels of communication protocol functionality within line codes
US7259699B1 (en) * 2005-11-23 2007-08-21 Altera Corporation Circuitry for providing configurable running disparity enforcement in 8B/10B encoding and error detection
JP5657242B2 (ja) 2009-12-09 2015-01-21 株式会社東芝 半導体装置及びメモリシステム
US9490836B2 (en) * 2012-10-26 2016-11-08 Altera Corporation Apparatus for improved encoding and associated methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992009162A1 (fr) * 1990-11-13 1992-05-29 Hewlett-Packard Company Code de ligne sans composante cc et synchronisation de bits et de blocs pour transmission de donnees quelconques
US6351501B1 (en) * 1998-06-29 2002-02-26 National Semiconductro Corporation Apparatus and method for providing direct current balanced code
WO2002043319A2 (fr) * 2000-11-22 2002-05-30 Silicon Image Architecture de communications pour dispositifs de memorisation de donnees

Also Published As

Publication number Publication date
US20160233896A1 (en) 2016-08-11
FR3032576B1 (fr) 2017-03-10
US10056923B2 (en) 2018-08-21
US20170366207A1 (en) 2017-12-21
US9847798B2 (en) 2017-12-19

Similar Documents

Publication Publication Date Title
FR2880482A1 (fr) Dispositif de conversion d'un signal transmis en un signal numerique
EP0054829B1 (fr) Procédé et dispositif de détection de la séquence d'apprentissage d'un égaliseur autoadaptatif
EP0605312A1 (fr) Procédé de transmission d'informations à débit élevé par allocation multiple de blocs, procédé de réception associé et dispositif de réception pour sa mise en oeuvre
FR2884663A1 (fr) Procede de communication entre un lecteur et un marqueur d'indentification sans fil, lecteur et marqueur associes
EP2661814A1 (fr) Procédé de décodage et décodeur
EP3235201B1 (fr) Indentification conjointe de signaux confondus en telecommunications numeriques non cooperatives
FR2939926A1 (fr) Transmission sur bus i2c
FR3032576A1 (fr) Procede de codage en ligne a bit de polarite utilisant des trames aperiodiques
EP2661815A1 (fr) Procédé de correction de messages contenant des bits de bourrage
EP1720263B1 (fr) Dispositif de réception avec mécanisme de récupération de données, adapté à un système de transmission utilisant un étalement de spectre à séquence directe
FR2679721A1 (fr) Procede d'egalisation adaptative reduisant l'interference intersymbole, et dispositif de reception et application correspondants.
EP0098198B1 (fr) Procédé et système de compression de débit de données transmises entre au moins un émetteur et un récepteur d'images de télévision
EP0384795B1 (fr) Procédé et dispositif de transmission d'informations entre stations d'un réseau de communication, notamment pour véhicule automobile
FR2997809A1 (fr) Methode et dispositif d'egalisation pour canal de transmission non-lineaire
FR2884661A1 (fr) Procede et dispositif de decodage d'un code a longueur variable prenant en compte une information de probabilite a priori
FR3011996A1 (fr) Transmission serie a faible niveau d'interferences electromagnetiques
FR2646742A1 (fr) Dispositif pour synchroniser un signal pseudo-binaire avec un signal d'horloge regeneree a sauts de phase
FR2613893A1 (fr) Procede de commutation de signaux numeriques asynchrones, et dispositif pour la mise en oeuvre de ce procede
WO2002098092A1 (fr) Procede de codage
EP3350931B1 (fr) Procédé d'optimisation de transmission de flux de données vidéo dans un réseau sans fil
EP0368417B1 (fr) Appareil muni d'un dispositif de restitution de la composante continue amélioré
FR2873532A1 (fr) Procede de codage et de decodage d'une sequence d'elements, signal, codeur, decodeur, programmes d'ordinateur et moyens de stockage correspondants
EP0588701A1 (fr) Procédé et dispositifs pour la transmission simultanée de deux signaux binaires hétérochrones par un même support
WO2020115423A1 (fr) Procédé de traitement d'un flux de données dans un dispositif récepteur
FR2865872A1 (fr) Procede de reception multi modulation s'appliquant a la demodulation de signaux issus de modulations dont les symboles sont inclus dans une constellation principale

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20160812

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 6

ST Notification of lapse

Effective date: 20211005