Pourquoi devons-nous utiliser le codage Manchester pour les transmissions Ethernet?


11

Lorsque vous souhaitez transférer des données d'un ordinateur à un autre, vos données (sous forme binaire) iront d'abord sur la carte d' interface réseau (NIC ) où les données seront encodées (avec une horloge de minuterie cochée par exemple) et envoyées sur le réseau sous un signal électronique.

Un exemple de Manchester Encoding:

101110011001   // data
101010101010   // timer tick on network
000100110011   // result using XOR

Pourquoi la carte réseau ne transfère-t-elle pas directement les données binaires mais doit-elle d'abord les coder?

Réponses:


13

Parce que l'utilisation de l'encodage manchester a un bel avantage, le self-clocking (taux d'erreur plus faible et une transmission plus fiable).

En effet, plutôt que de regarder les +5 volts à 0 volt pour coder un bit, cela dépendra de la direction d'une transmission comment un bit est codé.

entrez la description de l'image ici
Source d'image

Normalement, vous devez d'abord synchroniser une horloge avant de pouvoir transmettre. En raison de cet encodage, Manchester Encoding n'en a pas besoin.


Non, je ne demande pas l'avantage du codage Machester, je veux juste savoir pourquoi avoir besoin d'un codage?
hqt

2
Comme je l'ai dit, parce que lorsque vous ne les codez pas, vous devez synchroniser l'horloge séparément, ce qui signifie que vous aurez un taux d'erreur plus élevé et une transmission plus faible.
Lucas Kauffman

Mais je pense que si vous encodez (encodage Machester ou un autre encodage aussi), deux horloges doivent toujours fonctionner en même temps fréquemment, sinon elles décoderont mal.
hqt

Non, ce n'est pas le cas, car l'horloge fait partie de la façon dont elle est codée, car vous voyez que vous n'allez pas de haut en bas à la ligne de base, mais la ligne de base est là pour vous dire quand rien n'est envoyé. Donc, une horloge séparée n'est plus nécessaire
Lucas Kauffman

3
Raison supplémentaire: empêche les longues exécutions de 0 ou 1, donc les erreurs (par exemple: déconnexions) seront plus évidentes.
tucuxi

13

Il y a au moins trois (il peut y en avoir plus) raisons d'utiliser un codage (tel que le codage Manchester que vous mentionnez) lors de la transmission d'informations numériques:

  • Les données et l'horloge sont combinées en un seul signal. Si l'horloge n'était pas envoyée avec les données, le récepteur ne saurait pas quand échantillonner le signal pour extraire les valeurs numériques. Même si l'émetteur et le récepteur sont en quelque sorte parfaitement synchronisés, le retard infinitésimal du support de transmission devrait être pris en compte. L'autre alternative consiste à accompagner la ligne de données d'une ligne d'horloge, mais cela double le nombre de fils. Il est moins cher et plus fiable de doubler (ou de réduire de moitié, selon la perspective) les exigences (ou capacités) de bande passante du câble et de l'émetteur-récepteur que d'utiliser plus de connecteurs de fils et plus volumineux.
  • Une longue chaîne de valeurs nulles (zéros) ne ressemblera plus à une ligne morte ou déconnectée. Une longue piqûre ne ressemble plus à un niveau bloqué.
  • Le signal codé a un profil d'énergie plus équilibré , c'est-à-dire que la tension moyenne dans le temps devrait tendre vers zéro. Le signal logique sur la carte de circuit imprimé utilise 0 volt pour le zéro logique et une tension positive (5 volts pour l'ancien TTL, 3,3 volts ou moins pour la logique moderne) pour la logique un. Seule la logique de données de tous les zéros aurait un profil d'énergie nul; tout autre motif de données aurait toujours un niveau de tension moyen supérieur à zéro et un champ magnétique caractéristique. Mais comme les codages tels que Manchester utilisent à la fois des niveaux de tension positifs et négatifs, les champs magnétiques créés par le signal transmis sont beaucoup plus petits car ils auront tendance à s'annuler. Cela permet aux fils d'être regroupés plus près les uns des autres dans les câbles tout en créant moins d'interférences les uns avec les autres. (Même les schémas de transmission lents comme RS / EIA-232 utilisent des niveaux de tension positifs et négatifs pour équilibrer le profil énergétique. Les connexions carte à carte de moins de 0,5 mètre et dans un boîtier n'utiliseraient que des tensions positives.)

IEEE 1284 utilise uniquement des tensions positives, des niveaux TTL.
Ignacio Vazquez-Abrams

@ IgnacioVazquez-Abrams - LOL, OK vous avez trouvé une exception, mais j'ai couvert cette remarque avec "probablement". Et il utilise généralement des câbles plats (c.-à-d. Plats et larges) avec des conducteurs alternatifs de signal de masse et de signal de masse. Le point que j'essayais était de mentionner où vous trouveriez très probablement des liaisons de données à tension positive uniquement; Je n'essayais pas de caractériser une restriction d'application.
sciure de bois

3

Pour connaître complètement la raison pour laquelle le codage Manchester est utilisé, il faut être conscient des points suivants:

  1. Signaux d'horloge
  2. Signaux synchrones
  3. Codage

Après cela, la raison est: "ce qui est nécessaire est un moyen pour les récepteurs de déterminer sans ambiguïté le début, la fin ou le milieu de chaque bit sans référence à une horloge externe

Et enfin, pour ce faire, le codage Manchester est l'une des approches.


3

Fondamentalement, le code Manchester est utilisé de préférence par rapport à de nombreux autres types, car il est auto-synchronisé.

La synchronisation peut être perdue avec d'autres types lorsqu'il existe une chaîne de zéro ou de un où les données ne changent pas. Le code de Manchester n'a pas ce problème car il y aura toujours un changement de niveau du signal, chaque fois que des données sont présentes.

Le seul problème avec le code Manchester est que vous avez besoin du double de la fréquence de votre débit de données, car 8 bits sont transformés en 16 bits de données. Donc, si vous avez besoin d'un débit de données de 5K, vous aurez besoin d'un débit en bauds de 10K.

Addendum J'espère que le lien est autorisé mais juste au cas où il ne le serait pas, allez sur le site Maxim et recherchez Manchester Data Encoding for Radio Communications. http://www.maximintegrated.com/en/app-notes/index.mvp/id/3435 Cela devrait aider quiconque à comprendre les mérites de cet encodage.

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.