Por que a transmissão serial digital é usada em qualquer lugar? ou seja, SATA, PCIe, USB

47

Ao olhar para SATA, PCIe, USB, SD UHS-II, percebi que eles são todos iguais: fluxo de bits serial digital, transmitido usando pares diferenciais (geralmente codificados em 8b / 10b), com algumas diferenças nas camadas de link / protocolo.
Por quê então? Por que isso se tornou o padrão?
Por que não existem protocolos de comunicação de sistema generalizados que empregam fortemente alguns métodos avançados de modulação para uma melhor taxa de símbolos? Estou esquecendo de algo? Não se trata de "serial versus paralelo", mas de "sinalização digital versus analógico modulado"

artemonster
fonte
7
Bem, que alternativas existem?
PlasmaHH
27
Bem, costumava ser paralelo, mas você precisaria de muitos cabos de cobre e muito largos.
precisa saber é o seguinte
7
E é assim que a DDR ainda funciona hoje.
MSalters
10
E a série ultrapassou em paralelo os cabos das impressoras, etc., quando a eletrônica ficou tão barata que o conversor serial-paralelo era mais barato que o fio.
Hot Licks
4
Por que você não sugere "alguns métodos avançados de modulação", para que possamos entender o que você quer dizer e comparar com "fluxos de bits seriais"?
Ale..chenski 31/08/18

Respostas:

30

Por que não existem protocolos de comunicação de sistema generalizados que empregam fortemente alguns métodos avançados de modulação para uma melhor taxa de símbolos?

Se a conexão básica de cobre entre dois pontos suporta uma taxa de bits digital que excede a taxa de dados necessária para ser transmitida pelo "aplicativo", então por que se preocupar com outra coisa que não seja a sinalização diferencial de alta velocidade padrão?

Empregar um esquema de modulação avançada geralmente é feito quando o "canal" possui uma largura de banda muito mais limitada que o cobre ou a fibra.

Andy aka
fonte
obrigado! Embora houvesse respostas realmente boas, essa é a que eu estava procurando!
Artemonster 31/08/19
3
Uma pergunta simples requer uma resposta simples, mas você não pode impedir que as pessoas desejem cobrir mais terreno do que o exigido pela pergunta original.
Andy aka
1
e isso é uma coisa boa :) Eu aprendi muito com outras respostas, pois elas eram bastante informativas.
Artemonster 31/08/19
68

Existem duas razões principais para o aumento do número de

1) é possível. Os transistores de baixo custo conseguem gerenciar a comutação de GHz há uma década, tempo suficiente para que a capacidade seja usada e se torne padrão.

2) é necessário. Se você deseja mudar os dados de velocidade muito alta mais do que algumas polegadas. Essa distância começa a descartar links do mobo para a placa PCI e definitivamente descarta o mobo no disco rígido ou o mobo / settopbox para exibir as conexões.

A razão para isso é distorcida. Se você transmitir vários sinais paralelos ao longo de um cabo, eles deverão chegar dentro de uma pequena fração do mesmo período de relógio. Isso mantém a taxa de clock baixa, portanto a largura do cabo precisa aumentar. À medida que as taxas de dados aumentam, isso se torna cada vez mais insensível. A perspectiva de aumentar a taxa no futuro é ATA inexistente, com largura dupla ou quádrupla?

A maneira de matar o demônio enviesado é serial. Uma linha é sempre sincronizada consigo mesma, não há nada para ser inclinado. A linha carrega dados que possuem auto-clock. Ou seja, usa um esquema de codificação de dados (geralmente 8b / 10b, às vezes muito mais alto) que fornece uma densidade de transição mínima garantida que permite a extração do relógio.

A perspectiva de aumentar a taxa de dados ou a distância no futuro é excelente. Cada geração traz transistores mais rápidos e mais experiência na criação do meio. Vimos como isso aconteceu com a SATA, que começou em 1,5 Gb / s, depois passou por 3 e agora é de 6 Gb / s. Até cabos baratos podem fornecer impedância suficientemente consistente e perdas razoáveis, e equalizadores são incorporados ao silício da interface para lidar com perdas dependentes da frequência. A fibra óptica está disponível para execuções muito longas.

Para taxas de dados mais altas, vários links seriais podem ser operados em paralelo. Isso não é o mesmo que colocar os condutores em paralelo, que precisam corresponder a tempo a menos de um ciclo de clock. Essas faixas seriais precisam ser correspondidas apenas dentro de um quadro de dados de alto nível, que pode ter µs ou até ms de comprimento.

Obviamente, a vantagem na largura de dados não se aplica apenas aos cabos e conectores. Serial também beneficia a área da placa PCB entre conectores e área de chip, pinagem de chip e área de silício de chip.

Eu tenho um ângulo pessoal sobre isso. Como designer que trabalhava em software definido por rádio (SDR) a partir dos anos 90, costumava falar com pessoas como Analog Devices e Xilinx (e todas as outras empresas da ADC e FPGA) (elas nos visitavam e pediam de vez em quando) para me fazendo executar tantas conexões diferenciais paralelas entre ADCs de multi-100MHz e FPGAs, quando estávamos começando a ver o SATA emergir para substituir o ATA. Finalmente chegamos ao JESD204x, então agora podemos conectar conversores e FPGAs com apenas algumas linhas seriais.

Neil_UK
fonte
7
O PCI express 3 e 4 usam codificação 128b / 130b.
Peter Smith
11
Qual é a Nb/(N+2)bnomenclatura que as pessoas estão usando aqui?
detly 30/08/18
17
@detly os 8b / 10b , 64b / 66b são formas de codificação de código de linha . No contexto de comunicação serial, a codificação de linha é necessária para garantir a recuperação do Clock] ( en.wikipedia.org/wiki/Clock_recovery ).
Trevor Boyd Smith
4
@tolos - o fator de velocidade para a maioria dos sabores de materiais comuns de PCB é de cerca de 50% (6 pol / ns).
Peter Smith
4
@ supercat é exatamente como são tratadas várias faixas, cada faixa tem seu próprio relógio independente. Os dados são estruturados e espalhados por todas as faixas. Quando o receptor possui todos os quadros, ele atua nos dados. Isso permite distorção relacionada ao comprimento do quadro de dados, que pode ser nós ou até ms, como eu disse na minha resposta. Esse é o significado do número de faixas no PCIe e como o 2xHDMI é tratado em um monitor de alto desempenho.
Neil_UK
24

Se você deseja um exemplo de algo amplamente usado, mas diferente, veja a Ethernet 1000BASE-T gigabit. Isso usa cabos paralelos e codificação de sinal não trivial.

Principalmente, as pessoas usam barramentos seriais porque são simples. Barramentos paralelos usam mais cabos e sofrem distorção de sinal com altas taxas de dados em cabos longos.

Simon B
fonte
9
O GbE foi criado jogando dinheiro com o problema de enviar mais dados sobre as vastas quantidades de cabeamento Cat 5 existente. Provavelmente não pareceria se uma nova interface fosse projetada sem preocupação com a compatibilidade com versões anteriores. Cf como o 10GbE não está realizando incursões sérias em ambientes comerciais / domésticos, pois requer a instalação de novos cabos Cat 6a.
Barleyman
10GbE ainda pode funcionar em cat5e ou cat5, dependendo do comprimento e / ou qualidade do cabo.
user3549596
12

Para adicionar às outras respostas finas:

Os problemas observados em outras respostas (principalmente a inclinação entre os sinais paralelos e os custos de fios extras no cabo) aumentam à medida que as distâncias dos sinais aumentam. Assim, existe uma distância na qual o serial se torna superior ao paralelo e essa distância diminui à medida que as taxas de dados aumentam.

A transferência de dados paralelos ainda acontece: dentro dos chips e também a maioria dos sinais dentro das placas de circuito. No entanto, as distâncias necessárias para os periféricos externos - e mesmo para os drives internos - agora são muito longas e rápidas demais para que as interfaces paralelas continuem práticas. Assim, os sinais aos quais um usuário final será exposto agora são amplamente seriais.

DrSheldon
fonte
4
Provavelmente, o melhor exemplo de sinalização paralela de alta velocidade é a memória RAM, especialmente em PCs.
Jan Dorniak
Excelente resposta, aponta diretamente para a questão raiz da sincronização do tempo entre domínios espaciais. Uma coisa a nota, você ainda pode ter mais de 2 símbolos em um link serial, obtendo, assim, algum benefício de comunicações paralelas, utilizando modulação para codificar mais bits por baud
crasic
@ JanDorniak, vale a pena notar que a memória DDR * possui bits estroboscópicos de dados usados ​​para sincronização. Isso permite que um barramento amplo seja dividido em vários barramentos menores. É mais fácil rotear vários barramentos paralelos de 8 bits do que rotear um único barramento de 32 bits.
Calebe Reister
@CalebReister não sabia disso. Ainda é paralelo. Pessoalmente, tive uma situação em que um PC moderno funcionaria ou não, dependendo de qual slot o DDR4 foi inserido. Acabou sendo UEFI forçando uma latência menor do que a memória era capaz.
Jan Dorniak
11

Técnicas avançadas de modulação exigem que você transmita e receba sinais analógicos. ADCs e DACs rodando a centenas de MHz tendem a ser caros e consomem bastante energia. O processamento de sinal necessário para decodificação também é caro em termos de silício e energia.

É simplesmente mais barato criar um meio de comunicação melhor que suporte sinais binários.

Dmitry Grigoryev
fonte
1
bom ponto. спасибо за ответ :)
artemonster
8

Por que o fluxo de bits seriais se tornou tão comum?

O uso de links seriais tem a vantagem de reduzir o tamanho físico da conexão. As arquiteturas modernas de circuitos integrados têm tantos pinos que isso criou uma forte necessidade de minimizar as demandas de interconexão física em seu projeto. Isso levou ao desenvolvimento de circuitos que operam em velocidades extremas nas interfaces desses circuitos usando protocolos seriais. Pelo mesmo motivo, é natural minimizar as demandas de interconexão física em outras partes de qualquer outro link de dados.

A demanda original por esse tipo de tecnologia também pode ter origem nos projetos de transmissão de dados por fibra óptica.

Depois que a tecnologia para suportar links de alta velocidade se tornou muito comum, era natural aplicá-la em muitos outros lugares, porque o tamanho físico das conexões seriais é muito menor que as conexões paralelas.

Por que não existem protocolos de comunicação de sistema generalizados que empregam fortemente alguns métodos avançados de modulação para uma melhor taxa de símbolos?

No nível da codificação, os esquemas de codificação para comunicação digital podem ser tão simples quanto NRZ (Non-Return to Zero) , um código de linha um pouco mais complicado (por exemplo, 8B / 10B) ou muito mais complicado, como o QAM (Quadrature Amplitude Modulation) .

A complexidade acrescenta custo, mas as escolhas também dependem de fatores que, em última análise, dependem da teoria da informação e dos limites de capacidade de um link. A lei de Shannon, do teorema de Shannon-Hartley, descreve a capacidade máxima de um canal (pense nisso como "a conexão" ou "link"):

Capacidade máxima em bits / segundo = largura de banda * Log2 (1 + sinal / ruído)

Para links de rádio (algo como LTE ou WiFi), a largura de banda será limitada, geralmente por regulamentos legais. Nesses casos, QAM e protocolos igualmente complexos podem ser usados ​​para obter a maior taxa de dados possível. Nesses casos, a relação sinal / ruído geralmente é bastante baixa (10 a 100 ou, em decibéis, 10 a 20 dB). Ele só pode subir tão alto antes que um limite superior seja atingido sob a largura de banda fornecida e a relação sinal / ruído.

Para um link de fio, a largura de banda não é regulada por nada além da praticidade da implementação. As ligações elétricas podem ter uma relação sinal / ruído muito alta, superior a 1000 (30 dB). Como mencionado em outras respostas, a largura de banda é limitada pelo design dos transistores que acionam o fio e pelo recebimento do sinal e pelo design do próprio fio (uma linha de transmissão).

Quando a largura de banda se torna um fator limitante, mas a relação sinal / ruído não é, o designer encontra outras maneiras de aumentar a taxa de dados. Torna-se uma decisão econômica optar por um esquema de codificação mais complexo ou por mais conexão:

Você realmente verá protocolos seriais / paralelos usados ​​quando um único fio ainda é muito lento. O PCI-Express faz isso para superar as limitações de largura de banda do hardware usando várias faixas.

Nas transmissões por fibra, elas não precisam adicionar mais fibras (embora possam usar outras se já estiverem no lugar e não estiverem sendo usadas). Pode usar a multiplexação por divisão de ondas . Geralmente, isso é feito para fornecer vários canais paralelos independentes, e o problema de inclinação mencionado em outras respostas não é uma preocupação para canais independentes.

Jim
fonte
1
Boa resposta. Isso me faz curioso para saber se alguém poderia (ou já tem?) Fazer algo como implementar 256-QAM em velocidades USB3 taxas de transferência verdadeiramente surpreendente ...
mbrig
FWIW, o mundo das fibras está começando a desenvolver e implantar esquemas de modulação mais complexos. O PAM-4 está chegando para Ethernet 100 e 400 G e os sistemas de telecomunicações estão (acredito, mas não é o meu campo) começando a usar QAM coerente.
The
mas, realmente, se o SNR de uma linha de fio é tão bom, por que não espremer cada pedaço de largura de banda possível? Por que pressionar as frequências GHZ (com todos os problemas relevantes), onde você pode ir muito mais devagar e empregar alguma modulação / codificação. Não seria mais conveniente?
Artemonster 31/08/19
Você pode fazer isso. Torna-se uma decisão econômica.
Jim
1
O QAM requer uma operadora, portanto, não faz muito sentido fazer outra coisa senão o PAM para digital de 'banda base'. É usado no domínio óptico, usando a própria luz como transportadora. Sobre o cobre, você basicamente construiria um transceptor de rádio. Isso exigiria muito mais circuitos analógicos de alta velocidade e toda a complexidade e aumento do consumo de energia que vem com isso. Serializadores e desserializadores são relativamente simples em comparação. IMHO, é mais provável ver moduladores e detectores fotônicos de silício integrados do que mudar para QAM sobre cobre.
Alex.forencich 01/09/19
1

Pegue quatro caminhões semi com uma carga útil. Quatro pistas por estrada lateral. Para os caminhões transportarem com sucesso a carga útil paralela, eles precisam estar perfeitamente lado a lado, não se pode estar à frente ou atrás dos outros em mais de uma polegada, digamos. Colinas, curvas, não importa. Varie demais e é uma falha total.

Mas peça que eles sigam uma pista e a distância entre eles possa variar. Embora seja verdade que, linearmente, leva quatro vezes a distância da frente do primeiro caminhão até a traseira do último para mover as cargas, mas elas não precisam estar perfeitamente espaçadas. Dentro do comprimento de um caminhão, é necessário que a cabine, a carga útil e o comprimento da carga útil sejam posicionados e espaçados adequadamente.

Eles chegam a ser paralelos, pcie, rede, etc., mas, embora sejam tecnicamente vários caminhos de dados separados, eles não são paralelos, pois precisam sair e chegar ao mesmo tempo, usando a analogia do caminhão com os quatro caminhões. podem dirigir em quatro faixas aproximadamente paralelas, mas podem variar, os caminhões são marcados por qual faixa eles chegaram, de modo que, quando chegam ao outro extremo, as cargas úteis podem ser combinadas novamente no conjunto de dados original. E / ou cada pista pode ser um conjunto de dados em série e, com mais faixas, você pode mover mais conjuntos de dados ao mesmo tempo.

old_timer
fonte
As faixas não precisam estar perfeitamente "alinhadas". As interfaces modernas de várias faixas usam métodos mais sofisticados de alinhamento de símbolos do que estar perfeitamente lado a lado.
Ale..chenski 31/08/18
1
Certo, foi o que eu disse.
old_timer
1

Como complemento ao comentário de Dmitry Grigoryev .

A transmissão analógica é sempre mais suscetível a erros do que a transmissão digital. Uma transmissão serial digital, por exemplo, possui flancos com clock, em que um sinal analógico está de alguma forma flutuando entre 0V e VDD. Portanto, interferências são muito mais difíceis de detectar. Pode-se levar isso em conta e usar sinalização diferencial, como é feito em áudio.

Mas então você se depara com essa troca de velocidade versus precisão de DACs / ADCs. Se você tiver que sistemas digitais conversando entre si, faz mais sentido usar uma transmissão digital, pois você não precisa de uma tradução demorada do DA-AD.

No entanto, se você tem um computador analógico executando com tensões de controle analógico, ainda existem alguns por aí, eles se parecem com sintetizadores modulares analógicos basicamente, as coisas são diferentes e, normalmente, você pode construir computadores analógicos apenas para tarefas específicas. Apresentação engraçada em alemão sobre computação analógica.

Falando sobre sintetizadores modulares analógicos, eles também são algum tipo de computador analógico, especialmente projetado para fazer calulações na alteração de sinais.

Portanto, há transmissão analógica na computação, mas limitada a campos muito específicos.

Tillo Reilly
fonte