À quoi sert l'encodage 8b / 10b?


8

Dans la couche physique de l'USB 3.0, il y a un encodeur 8b / 10b .

Wikipedia dit que cela a éliminé le décalage DC, tandis que le tutoriel que je lis dit

c'est un schéma de codage commun dans les conceptions série à haute vitesse

Quel est le but de cet encodage dans le contexte de l'USB? De plus, quelles autres applications et avantages ce codage offre-t-il dans d'autres types d'appareils?


Il s'avère plus tard dans le tutoriel, cela est expliqué. Toujours curieux de savoir dans quels autres domaines cet encodage est utilisé.
Vorac

2
Pouvez-vous expliquer pourquoi ils expliquent pourquoi?
Andyz Smith

Réponses:


9

La réponse simple pour un codage comme 8b / 10b est qu'il garantit que le flux de données codées a au moins une certaine quantité de transitions de données. Sans un tel encodage, un long flux de 0 ou de 1 aurait tendance à ressembler à une tentative d'envoi de courant continu via le canal.

La même philosophie s'applique au codage Manchester où la bande passante nette à transmettre à travers le canal est deux fois la bande passante réelle des données. Les avantages vantés pour le 8b / 10b est que la bande passante de transmission utilisée est bien inférieure au 2X imposé par Manchester.

On veut éviter DC par le canal pour un certain nombre de raisons. Bien que chaque canal de transmission ait des types d'exigences différents, la principale considération est que le courant continu ne passe pas très bien par les circuits couplés par condensateur ou transformateur. L'autre grande considération, même pour les circuits à couplage direct, est que des transitions sont nécessaires pour pouvoir synchroniser un circuit PLL à l'extrémité du récepteur afin que la synchronisation puisse être récupérée pour permettre le stroboscope des bits de données au bon moment.


et la raison pour laquelle il est important de ne pas le faire "ressembler à DC" ...?
Andyz Smith

Voir le commentaire ajouté en réponse ....
Michael Karas

1
"DC ne passe pas très bien par les circuits couplés par condensateur ou transformateur" - pourrait aussi bien laisser les deux derniers mots éteints :)
Mels

Je serais un peu inquiet s'il y avait un transformateur ou un condensateur devant le détecteur de signal sensible dans une conception de transmission numérique à haute vitesse, mais oui, je suis avec vous et le cadencement et le stroboscope sont ce à quoi je pense vraiment. je veux dire, c'est la principale différence entre la transmission synchrone et asychronique. et la raison pour laquelle l'asynchrone est choisi maintes et maintes fois, même s'il gaspille des bits, en raison de sa résistance au bruit.
Andyz Smith

@AndyzSmith "Les aspects électriques de chaque chemin sont caractérisés comme un émetteur, un canal et un récepteur; ils représentent collectivement une liaison différentielle unidirectionnelle. Chaque liaison différentielle est couplée en CA avec des condensateurs situés du côté émetteur de la liaison différentielle." USB 3.0, section 3.2.1
Vorac

2

Outre les belles propriétés mentionnées par d'autres, les autres bonnes choses que 8b10b vous offre incluent: 1. Discrimination facile au niveau du récepteur entre le contrôle de liaison et les symboles de données 2. Détection facile de ~ 75% des erreurs.

Il est également étonnamment facile de construire des émetteurs et des récepteurs 8b10b en logique programmable; le brevet IBM d'origine spécifie toutes les opérations logiques requises (et si vous êtes trop paresseux pour cela, Chuck Benz l' a fait pour vous dans Verilog).

Wikipédia a également une page très utile sur 8b10b.


1

Il est expliqué plus loin dans le didacticiel lié, à la page 15.

Les raisons énumérées pour appliquer cet encodage à USB 3.0 sont:

  • récupération d'horloge - sans l'encodage, les longs flux de 1 ou de 0 ressembleraient à DC
  • détection d'erreurs - lorsque le récepteur décode le symbole 10 bits, il existe de nombreux symboles impossibles; la réception de l'un d'eux signale une erreur.

Un collègue a une autre hypothèse. Paraphraser:

Le câble a une inductance et une capacité. Cela lisse le front d'attaque des impulsions. Ainsi, la transmission d'un seul 1 laisserait le bus dans un certain état électrique, tandis que la transmission de plusieurs 1 le laisserait dans un état électrique différent (plus proche de l'état stationnaire). Par conséquent, l'envoi d'un 0 post-mots aura un potentiel différent dans les deux scénarios.


Troisièmement, voici une citation de la norme, section 3.2.1

Le récepteur a besoin de suffisamment de transitions pour récupérer de manière fiable l'horloge et les données du flux binaire. Pour garantir que des transitions adéquates se produisent dans le flux binaire indépendamment du contenu de données transmis, l'émetteur code les données et contrôle les caractères en symboles à l'aide d'un code 8b / 10b.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.