Perché dobbiamo utilizzare la codifica Manchester per le trasmissioni Ethernet?


11

Quando si desidera trasferire i dati da un computer a un altro, i dati (in formato binario) verranno prima inviati alla scheda NIC ( Network Interface Card ) in cui i dati verranno codificati (ad esempio con il timer dell'orologio) e inviati sulla rete sotto un segnale elettronico.

Un esempio di codifica Manchester:

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

Perché la scheda NIC non trasferisce direttamente i dati binari ma deve prima codificarli?

Risposte:


13

Perché l'uso della codifica manchester ha un bel vantaggio, l'auto-clock (tasso di errore più basso e una trasmissione più affidabile).

Questo perché piuttosto guardando i +5 volt a 0 volt per codificare un po ', dipenderà dalla direzione di una trasmissione come viene codificato un po'.

inserisci qui la descrizione dell'immagine
Fonte immagine

Normalmente è necessario prima sincronizzare un orologio prima di poter trasmettere. A causa di questa codifica Manchester Encoding non ha bisogno di questo.


No, non chiedo il vantaggio della codifica Machester, voglio solo sapere perché è necessaria la codifica?
hqt

2
Come ho detto, perché quando non li codifichi, devi sincronizzare l'orologio separatamente, il che significa che avrai un tasso di errore più elevato e una trasmissione più bassa.
Lucas Kauffman,

Ma penso che, se si codifica (codifica Machester o anche un'altra codifica), due clock devono comunque funzionare allo stesso modo frequentemente, altrimenti decodificherà in modo errato.
hqt

No, perché l'orologio fa parte del modo in cui è codificato, poiché vedi che non vai su e giù alla linea di base, invece la linea di base è lì per dirti quando non viene inviato nulla. Quindi un orologio separato non è più necessario
Lucas Kauffman,

3
Motivo aggiuntivo: impedisce lunghe tirature di 0 o 1 secondi, quindi gli errori (ad es. Disconnessioni) saranno più evidenti.
Tucuxi,

13

Ci sono almeno tre (potrebbero esserci più) motivi per usare una codifica (come la codifica Manchester che menzioni) quando si trasmettono informazioni digitali:

  • I dati e l'orologio sono combinati in un segnale. Se l'orologio non è stato inviato con i dati, il ricevitore non saprebbe quando campionare il segnale per estrarre i valori digitali. Anche se il trasmettitore e il ricevitore sono in qualche modo perfettamente sincronizzati, il ritardo infinitesimale del mezzo di trasmissione dovrebbe essere tenuto in considerazione. L'altra alternativa è quella di accompagnare la linea di dati con una linea di clock, ma ciò raddoppia il numero di fili. È più economico e più affidabile raddoppiare (o dimezzare, a seconda della prospettiva) i requisiti (o le capacità) di larghezza di banda del cavo e del ricetrasmettitore rispetto all'uso di più fili e connettori più voluminosi.
  • Una lunga stringa di null (zero) non sembrerà più una linea morta o disconnessa. Una lunga puntura di quelli non sembra più un livello bloccato.
  • Il segnale codificato ha un profilo energetico più bilanciato , ovvero la tensione mediata nel tempo dovrebbe tendere verso lo zero. Il segnale logico sul circuito stampato utilizza 0 volt per zero logico e una tensione positiva (5 volt per il vecchio TTL, 3,3 volt o meno per la logica moderna) per quello logico. Solo la logica dei dati di tutti gli zeri avrebbe un profilo energetico nullo; qualsiasi altro modello di dati avrebbe sempre un livello di tensione medio maggiore di zero e un campo magnetico caratteristico. Ma poiché codifiche come Manchester usano livelli di tensione sia positivi che negativi, i campi magnetici creati dal segnale trasmesso sono molto più piccoli in quanto tenderanno ad annullarsi a vicenda. Ciò consente di raggruppare i fili più vicini tra loro in cavi, creando tuttavia meno interferenze tra loro. (Anche gli schemi di trasmissione lenti come RS / EIA-232 utilizzano livelli di tensione sia positivi che negativi per bilanciare il profilo energetico. Probabilmente le connessioni scheda-scheda a meno di 0,5 metri e all'interno di un armadio utilizzerebbero solo tensioni positive.)

IEEE 1284 utilizza solo tensioni positive, livelli TTL.
Ignacio Vazquez-Abrams,

@ IgnacioVazquez-Abrams - LOL, OK hai trovato un'eccezione, ma ho coperto quell'osservazione con "probabilmente". E in genere utilizza un cavo a nastro (piatto e largo) con conduttori di segnale terra-segnale-terra alternati. Il punto che stavo cercando era di menzionare dove molto probabilmente avresti trovato dei datalink solo a tensione positiva; Non stavo cercando di caratterizzare una limitazione dell'applicazione.
segatura,

3

Per conoscere completamente il motivo per cui viene utilizzata la codifica Manchester, è necessario tenere presente quanto segue:

  1. Segnali di clock
  2. Segnali sincroni
  3. Codifica

Dopodiché, il motivo è: "ciò che è necessario è un modo per i ricevitori di determinare in modo inequivocabile l'inizio, la fine o la metà di ogni bit senza riferimento a un clock esterno

E infine, per fare questo, la codifica Manchester è uno degli approcci.


3

Fondamentalmente il codice di Manchester viene utilizzato di preferenza rispetto a molti altri tipi, poiché si auto sincronizza.

La sincronizzazione può essere persa con altri tipi quando sono presenti una stringa di zero o uno in cui i dati non cambiano. Il codice Manchester non ha questo problema a causa del fatto che ci sarà sempre un cambiamento nel livello del segnale, ogni volta che i dati sono presenti.

L'unico problema con il codice di Manchester è che è necessario raddoppiare la frequenza della velocità dei dati, poiché 8 bit vengono trasformati in 16 bit di dati. Quindi, se hai bisogno di una velocità di trasmissione dati di 5K, avrai bisogno di una velocità di trasmissione di 10K.

Addendum Spero che il collegamento sia consentito, ma nel caso in cui non lo sia, vai al sito Maxim e cerca la codifica dei dati di Manchester per le comunicazioni radio. http://www.maximintegrated.com/en/app-notes/index.mvp/id/3435 Questo dovrebbe aiutare chiunque a comprendere i meriti di questa codifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.