Por que precisamos usar a codificação Manchester para transmissões Ethernet?

11

Quando você deseja transferir dados de um computador para outro, seus dados (em formato binário) irão primeiro para a NIC ( Placa de Interface de Rede ), na qual os dados serão codificados (com marcação do relógio por exemplo) e enviados pela rede em um sinal eletrônico.

Um exemplo de codificação Manchester:

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

Por que a NIC não transfere diretamente os dados binários, mas deve codificá-los primeiro?

hqt
fonte

Respostas:

13

Porque o uso da codificação manchester tem uma boa vantagem, o relógio automático (menor taxa de erro e uma transmissão mais confiável).

Isso ocorre porque, ao olhar para +5 volts a 0 volts para codificar um bit, isso dependerá da direção da transmissão de como um bit é codificado.

insira a descrição da imagem aqui
Fonte da imagem

Normalmente você precisaria primeiro sincronizar um relógio antes de poder transmitir. Por causa dessa codificação, a Manchester Encoding não precisa disso.

Lucas Kauffman
fonte
Não, eu não aproveito a Codificação Machester, só quero saber por que precisa de codificação?
Hqt 5/08/12
2
Como eu disse, porque quando você não os codifica, é necessário sincronizar o relógio separadamente, o que significa que você terá uma taxa de erro mais alta e uma transmissão mais baixa.
Lucas Kauffman
Mas acho que, se você codificar (codificação Machester ou outra codificação também), dois relógios ainda devem funcionar com a mesma frequência frequentemente, ou decodificarão errado.
Hqt 5/08/12
Não, não porque o relógio faz parte da maneira como é codificado, pois você vê que não sobe nem desce até a linha de base, mas a linha de base está lá para avisar quando nada está sendo enviado. Portanto, um relógio separado não é mais necessário
Lucas Kauffman
3
Motivo adicional: impede execuções longas de 0s ou 1s; portanto, erros (por exemplo: desconexões) serão mais evidentes.
Tucuxi
13

Há pelo menos três (pode haver mais) motivos para usar uma codificação (como a codificação Manchester mencionada) ao transmitir informações digitais:

  • Os dados e o relógio são combinados em um sinal. Se o relógio não fosse enviado com os dados, o receptor não saberia quando amostrar o sinal para extrair os valores digitais. Mesmo que o transmissor e o receptor estejam de alguma forma perfeitamente sincronizados, o atraso infinitesimal do meio de transmissão teria que ser considerado. A outra alternativa é acompanhar a linha de dados com uma linha de relógio, mas isso dobra o número de fios. É mais barato e mais confiável duplicar (ou reduzir pela metade, dependendo da perspectiva) os requisitos (ou recursos) de largura de banda de cabo e transceptor do que usar mais conectores de fios e de maior volume.
  • Uma longa sequência de nulos (zeros) não será mais uma linha morta ou desconectada. Uma longa picada de uns não parece mais um nível preso.
  • O sinal codificado tem um perfil de energia mais equilibrado , ou seja, a tensão média ao longo do tempo deve tender para zero. O sinal lógico na placa de circuito usa 0 volts para o zero lógico e uma tensão positiva (5 volts para o TTL antigo, 3,3 volts ou menos para a lógica moderna) para a lógica um. Somente a lógica de dados de todos os zeros teria um perfil de energia nulo; qualquer outro padrão de dados sempre teria um nível de tensão média maior que zero e um campo magnético característico. Mas como codificações como Manchester usam níveis de tensão positivos e negativos, os campos magnéticos criados pelo sinal transmitido são muito menores, pois tendem a se cancelar. Isso permite que os fios sejam agrupados mais próximos nos cabos, criando menos interferência entre si. (Mesmo esquemas de transmissão lenta como RS / EIA-232 usam níveis de tensão positivos e negativos para equilibrar o perfil de energia. Provavelmente, as conexões placa a placa a menos de 0,5 metro e dentro de um gabinete usariam apenas tensões positivas.)
serragem
fonte
O IEEE 1284 usa apenas tensões positivas, níveis TTL.
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams - LOL, OK, você encontrou uma exceção, mas eu abracei essa observação com "provavelmente". E normalmente usa cabo de fita (ou seja, plano e largo) com condutores de sinal de terra e de sinal de terra alternados. O ponto que eu estava tentando era mencionar onde você provavelmente encontraria datalinks somente de voltagem positiva; Eu não estava tentando caracterizar uma restrição de aplicativo.
sawdust
3

Para conhecer completamente o motivo pelo qual o Manchester Encoding é usado, é preciso estar ciente do seguinte:

  1. Sinais de relógio
  2. Sinais síncronos
  3. Codificação

Depois disso, o motivo é: "o que é necessário é uma maneira de os receptores determinar inequivocamente o início, o fim ou o meio de cada bit, sem referência a um relógio externo.

E, finalmente, para fazer isso, a codificação Manchester é uma das abordagens.

Sandeep Kumar
fonte
3

Basicamente, o código Manchester é usado de preferência em relação a muitos outros tipos, porque é auto-sincronizado.

A sincronização pode ser perdida com outros tipos quando houver uma sequência de zeros ou uma onde os dados não estão sendo alterados. O código Manchester não apresenta esse problema, pois sempre haverá uma alteração no nível do sinal, sempre que houver dados.

O único problema com o código Manchester é que você precisa dobrar a frequência da sua taxa de dados, pois 8 bits são transformados em 16 bits de dados. Portanto, se você precisar de uma taxa de dados de 5K, precisará de uma taxa de transmissão de 10K.

Adendo Espero que o link seja permitido, mas, caso não seja, acesse o site Maxim e pesquise a Manchester Data Encoding para Radio Communications. http://www.maximintegrated.com/en/app-notes/index.mvp/id/3435 Isso deve ajudar alguém a entender os méritos dessa codificação.

Late Developer
fonte