Perché la trasmissione seriale digitale è usata ovunque? cioè SATA, PCIe, USB


47

Guardando SATA, PCIe, USB, SD UHS-II mi è sembrato che fossero tutti uguali: bitstream seriale digitale, trasmesso usando coppie differenziali (solitamente codificate 8b / 10b), con alcune differenze nei livelli link / protocollo.
Perchè così? Perché questo è diventato lo standard?
Perché non ci sono protocolli di comunicazione di sistema diffusi che impiegano pesantemente alcuni metodi di modulazione avanzati per una migliore frequenza dei simboli? Mi sto perdendo qualcosa? Questa non è una questione di "seriale vs parallelo" ma una questione di "segnalazione digitale vs analogico modulato"


7
Bene, quali alternative ci sono?
PlasmaHH,

27
Bene, c'era un tempo parallelo, ma avresti bisogno di molto rame e cavi molto larghi.
Jeroen3,

7
Ed è ovviamente così che DDR funziona ancora oggi.
Salteri il

10
E il seriale ha superato il parallelo per i cavi della stampante, ecc., Quando l'elettronica è diventata così economica che il convertitore seriale-parallelo era più economico del filo.
Hot Licks,

4
Perché non suggerisci "alcuni metodi di modulazione avanzata", così possiamo capire cosa intendi e confrontare con "flussi di bit seriali"?
Ale..chenski,

Risposte:


30

Perché non ci sono protocolli di comunicazione di sistema diffusi che impiegano pesantemente alcuni metodi avanzati di modulazione per un migliore symbol rate?

Se la connessione di rame di base tra due punti supporta una velocità in bit digitale che supera la velocità di trasmissione dei dati necessaria per essere trasmessa dall '"applicazione", allora perché preoccuparsi di qualcos'altro oltre alla normale segnalazione differenziale ad alta velocità?

L'impiego di uno schema di modulazione avanzato viene solitamente eseguito quando il "canale" ha una larghezza di banda molto più limitata del rame o della fibra.


Grazie! Altgough ci sono state davvero delle buone risposte, questa è quella che stavo cercando!
Artemister,

3
Una domanda semplice richiede una risposta semplice, ma non si può smettere di voler coprire più terreno di quanto richiesto dalla domanda originale.
Andy aka

1
e questa è una buona cosa :) Ho imparato molto dalle altre risposte dato che erano piuttosto istruttive.
Artemister,

68

Ci sono due ragioni principali per l'ascesa del seriale

1) è possibile. I transistor a basso costo sono stati in grado di gestire la commutazione GHz da un decennio ormai, abbastanza a lungo da poter essere utilizzati e diventare standard.

2) È necessario Se si desidera spostare i dati ad altissima velocità di più di qualche centimetro. Questa distanza inizia a escludere i collegamenti mobo-card PCI e sicuramente esclude mobo sul disco fisso o mobo / settopbox per visualizzare le connessioni.

La ragione di ciò è inclinata. Se si trasmettono più segnali paralleli lungo un cavo, devono arrivare entro una piccola frazione dello stesso periodo di clock. Ciò mantiene la frequenza di clock inferiore, quindi la larghezza del cavo deve aumentare. Man mano che la velocità di trasmissione dei dati aumenta, diventa sempre più complicato. La prospettiva di aumentare il tasso nel futuro è inesistente, doppia o quadrupla ATA qualcuno?

Il modo di uccidere il demone obliquo è di passare in serie. Una riga è sempre sincronizzata con se stessa, non c'è nulla per cui deviare. La linea trasporta dati che sono auto-sincronizzati. Cioè, utilizza uno schema di codifica dei dati (spesso 8b / 10b, a volte molto più elevato) che fornisce una densità di transizione minima garantita che consente l'estrazione dell'orologio.

La prospettiva di aumentare la velocità dei dati o la distanza nel futuro è eccellente. Ogni generazione porta transistor più veloci e più esperienza nella realizzazione del mediio. Abbiamo visto come si è svolto con SATA, che è iniziato a 1,5 Gb / s, quindi è passato da 3 a 6 Gb / s. Anche i cavi economici possono fornire impedenza sufficientemente coerente e una perdita ragionevole, e gli equalizzatori sono integrati nel silicio dell'interfaccia per gestire la perdita dipendente dalla frequenza. La fibra ottica è disponibile per lunghe tirature.

Per velocità di trasmissione dati più elevate, è possibile gestire più collegamenti seriali in parallelo. Ciò non equivale a mettere i conduttori in parallelo, che devono essere abbinati nel tempo a meno di un ciclo di clock. Queste corsie seriali devono solo essere abbinate all'interno di un frame di dati di alto livello, che può essere lungo µs o addirittura ms.

Naturalmente il vantaggio nella larghezza dei dati non si applica solo ai cavi e ai connettori. Il seriale trae vantaggio anche dall'area della scheda PCB tra connettori e chip, pinout del chip e area del silicio del chip.

Ho un'angolazione personale su questo. Come designer che lavora alla radio definita dal software (SDR) dagli anni '90 in poi, mi occupavo di formare persone come Analog Devices e Xilinx (e tutte le altre società ADC e FPGA) (visitavano e chiedevano di tanto in tanto) per facendomi eseguire così tante connessioni differenziali parallele tra ADC multi-100MHz e FPGA, quando stavamo appena iniziando a vedere emergere SATA per spostare ATA. Abbiamo finalmente ottenuto JESD204x, quindi ora possiamo collegare convertitori e FPGA con solo poche linee seriali.


7
PCI Express 3 e 4 utilizzano la codifica 128b / 130b.
Peter Smith,

11
Qual è la Nb/(N+2)bnomenclatura che le persone usano qui?
detenere il

17
@detly 8b / 10b , 64b / 66b sono entrambe forme di codifica Line-Code . Nel contesto delle comunicazioni seriali, è necessaria la codifica di linea per assicurarsi di poter eseguire Clock-Recovery] ( en.wikipedia.org/wiki/Clock_recovery ).
Trevor Boyd Smith,

4
@tolos - il fattore di velocità per la maggior parte dei tipi di materiali PCB ordinari è di circa il 50% (6 in / ns).
Peter Smith,

4
@supercat è esattamente come vengono gestite più corsie, ogni corsia ha il suo clock indipendente. I dati sono inquadrati e diffusi su tutte le corsie. Quando il ricevitore ha tutti i frame, agisce sui dati. Ciò consente l'inclinazione relativa alla lunghezza del frame di dati, che può essere noi o addirittura ms, come ho detto nella mia risposta. Questo è il significato del numero di corsie in PCIe e di come 2xHDMI viene gestito su un display ad alte prestazioni.
Neil_UK,

24

Se vuoi un esempio di qualcosa che è ampiamente usato, ma diverso, guarda 1000BASE-T gigabit Ethernet. Che utilizza cavi paralleli e codifica del segnale non banale.

Per lo più, le persone usano bus seriali perché sono semplici. I bus paralleli utilizzano più cavi e soffrono di inclinazione del segnale ad elevate velocità di trasmissione dei dati su cavi lunghi.


9
GbE è stato creato lanciando denaro al problema di trasferire più dati sulle enormi quantità di cavi Cat 5 esistenti. Probabilmente non sembrerebbe proprio come se una nuova interfaccia fosse progettata senza alcuna preoccupazione per la retrocompatibilità. Cfr. Come 10GbE non sta facendo seri problemi in ambito commerciale / domestico in quanto richiede l'installazione di nuovi cavi Cat 6a.
Barleyman il

10GbE potrebbe ancora funzionare su cat5e o cat5 a seconda della lunghezza e / o della qualità del cavo.
user3549596

12

Per aggiungere alle altre belle risposte:

I problemi rilevati in altre risposte (in particolare, l'inclinazione tra segnali paralleli e i costi dei fili aggiuntivi nel cavo) aumentano con l'aumentare delle distanze dei segnali. Pertanto, esiste una distanza alla quale il seriale diventa superiore al parallelo e tale distanza è diminuita con l'aumentare della velocità dei dati.

Il trasferimento di dati parallelo avviene ancora: all'interno dei chip e anche la maggior parte dei segnali all'interno dei circuiti. Tuttavia, le distanze necessarie per le periferiche esterne - e persino per le unità interne - sono ora troppo lontane e troppo veloci perché le interfacce parallele rimangano pratiche. Pertanto, i segnali a cui sarà ora esposto un utente finale sono in gran parte seriali.


4
Probabilmente il miglior esempio di segnalazione parallela ad alta velocità è la memoria RAM, specialmente nei PC.
Jan Dorniak,

Ottima risposta, punta direttamente al problema principale della sincronizzazione temporale tra domini spaziali. Una cosa da notare, puoi ancora avere più di 2 simboli su un collegamento seriale, ottenendo così alcuni vantaggi delle comunicazioni parallele usando la modulazione per codificare più bit per baud
crasic

@JanDorniak, vale la pena notare che la memoria DDR * ha bit strobo dati utilizzati per la sincronizzazione. Ciò consente di suddividere un bus largo in più bus più piccoli. È più facile instradare più bus paralleli a 8 bit piuttosto che indirizzare un singolo bus a 32 bit.
Caleb Reister,

@CalebReister non lo sapeva. È ancora parallelo. Personalmente ho avuto una situazione in cui un PC moderno avrebbe funzionato o meno a seconda dello slot in cui era inserito il DDR4. È finito come UEFI forzando una latenza inferiore rispetto alla memoria.
Jan Dorniak,

11

Tecniche di modulazione avanzate richiederebbero di trasmettere e ricevere segnali analogici. Gli ADC e i DAC che funzionano a centinaia di MHz tendono ad essere costosi e consumano un po 'di energia. L'elaborazione del segnale richiesta per la decodifica è anche costosa in termini di silicio e potenza.

È semplicemente più economico creare un mezzo di comunicazione migliore in grado di supportare segnali binari.


1
buon punto. спасибо за ответ :)
artemonster

8

Perché il flusso di bit seriale è diventato così comune?

L'uso dei collegamenti seriali ha il vantaggio di ridurre le dimensioni fisiche della connessione. Le moderne architetture di circuiti integrati hanno così tanti pin che questo ha creato una forte necessità di ridurre al minimo le esigenze di interconnessione fisica sul loro design. Ciò ha portato allo sviluppo di circuiti che funzionano a velocità estreme alle interfacce di questi circuiti utilizzando protocolli seriali. Per lo stesso motivo, è naturale ridurre al minimo le esigenze di interconnessione fisica altrove in qualsiasi altro collegamento dati.

La richiesta originale di questo tipo di tecnologia potrebbe avere le sue origini anche nei progetti di trasmissione di dati in fibra ottica.

Una volta che la tecnologia per supportare i collegamenti ad alta velocità è diventata molto comune, era naturale applicarla in molti altri luoghi, poiché la dimensione fisica delle connessioni seriali è molto più piccola delle connessioni parallele.

Perché non ci sono protocolli di comunicazione di sistema diffusi che impiegano pesantemente alcuni metodi di modulazione avanzati per una migliore frequenza dei simboli?

A livello di codifica, gli schemi di codifica per la comunicazione digitale possono essere semplici come NRZ (Non-Return to Zero) , un codice di linea leggermente più complicato (ad esempio 8B / 10B) o molto più complicato, come QAM (Quadrature Amplitude Modulation) .

La complessità aggiunge costi, ma le scelte dipendono anche da fattori che alla fine si basano sulla teoria dell'informazione e sui limiti di capacità di un collegamento. La legge di Shannon, dal teorema di Shannon-Hartley, descrive la capacità massima di un canale (pensala come "la connessione" o "collegamento"):

Capacità massima in bit / secondo = larghezza di banda * Log2 (1 + segnale / rumore)

Per i collegamenti radio (qualcosa come LTE o WiFi), la larghezza di banda sarà limitata, spesso dalle normative legali. In questi casi è possibile utilizzare QAM e protocolli similmente complessi per ottenere la massima velocità di trasmissione dati possibile. In questi casi, il rapporto segnale-rumore è spesso piuttosto basso (da 10 a 100 o, in decibel da 10 a 20 dB). Può andare così in alto solo prima che venga raggiunto un limite superiore sotto la larghezza di banda data e il rapporto segnale rumore.

Per un collegamento a filo, la larghezza di banda non è regolata da altro che dalla praticità dell'implementazione. I collegamenti dei fili possono avere un rapporto segnale / rumore molto elevato, maggiore di 1000 (30 dB). Come menzionato in altre risposte, la larghezza di banda è limitata dal design dei transistor che guidano il filo e ricevono il segnale e dal design del filo stesso (una linea di trasmissione).

Quando la larghezza di banda diventa un fattore limitante ma il rapporto segnale / rumore non lo è, il progettista trova altri modi per aumentare la velocità di trasmissione dei dati. Diventa una decisione economica se passare a uno schema di codifica più complesso o passare a più fili:

Vedrai davvero protocolli seriali / paralleli usati quando un singolo filo è ancora troppo lento. PCI-Express lo fa per superare i limiti di larghezza di banda dell'hardware utilizzando più corsie.

Nelle trasmissioni di fibre, non devono aggiungere più fibre (anche se potrebbero usarne altre se sono già in atto e non utilizzate). È possibile utilizzare il multiplexing della divisione d'onda . In generale, questo viene fatto per fornire più canali paralleli indipendenti e il problema di inclinazione menzionato in altre risposte non riguarda i canali indipendenti.


1
Bella risposta. Mi incuriosisce se qualcuno potrebbe (o abbia già fatto?) Fare qualcosa come implementare 256-QAM a velocità USB3 per velocità di trasferimento davvero sorprendenti ...
mbrig

FWIW, il mondo delle fibre sta iniziando a sviluppare e implementare schemi di modulazione più complessi. PAM-4 sta arrivando per Ethernet da 100 e 400 G e i sistemi di telecomunicazione (credo, ma non è il mio campo) stanno iniziando a utilizzare la QAM coerente.
Il fotone

ma, davvero, se l'SNR di una linea metallica è così buono, perché non spremere ogni possibile pezzo di larghezza di banda? Perché spingere nelle frequenze GHZ (con tutti i problemi rilevanti), dove potresti andare molto più lentamente e utilizzare una modulazione / codifica. Non sarebbe più conveniente?
Artemister,

Ce la puoi fare. Diventa una decisione economica.
Jim,

1
QAM richiede un corriere, quindi non ha molto senso fare qualcosa di diverso da PAM per il digitale "baseband". È usato nel dominio ottico, usando la luce stessa come vettore. Sul rame, fondamentalmente costruiresti un ricetrasmettitore radio. Ciò richiederebbe circuiti analogici molto più veloci e tutta la complessità e l'aumento del consumo energetico che ne deriva. I serializzatori e i deserializzatori sono relativamente semplici in confronto. IMHO, abbiamo maggiori probabilità di vedere modulatori e rivelatori fotonici al silicio integrati che passare a QAM su rame.
alex.forencich,

1

Prendi quattro semi camion con un carico utile. Autostrada a quattro corsie per lato. Affinché i camion possano trasportare con successo il carico utile in parallelo devono essere perfettamente affiancati, uno non può essere avanti o indietro rispetto agli altri di più di un pollice, diciamo. Colline, curve, non importa. Varia troppo ed è un fallimento totale.

Ma fai loro prendere una corsia e la distanza tra loro può variare. Mentre è vero che linearmente ci vogliono quattro volte la distanza dalla parte anteriore del primo camion alla parte posteriore dell'ultimo per spostare i carichi utili, ma non devono essere perfettamente distanziati. Solo all'interno della lunghezza di un camion deve avere la cabina e il carico utile e la lunghezza del carico utile per essere correttamente posizionati e distanziati.

Arrivano addirittura al punto di essere paralleli, pcie, di rete, ecc., Ma mentre quelli sono tecnicamente multipli percorsi dati separati, non sono paralleli in quanto devono partire e arrivare allo stesso tempo, usando l'analogia dei camion i quattro camion possono guidare su quattro corsie approssimativamente parallele ma possono variare, i camion sono contrassegnati dalla corsia in cui sono arrivati ​​in modo tale che quando arrivano all'altra estremità i carichi utili possono essere ricomposti nel set di dati originale. E / o ogni corsia può essere un set di dati in serie e avendo più corsie è possibile spostare più set di dati contemporaneamente.


Le corsie non devono essere perfettamente "allineate". Le moderne interfacce a più corsie utilizzano metodi più sofisticati di allineamento dei simboli che essere perfettamente fianco a fianco.
Ale..chenski,

1
Bene, questo è quello che ho detto.
old_timer

1

In aggiunta al commento di Dmitry Grigoryev .

La trasmissione analogica è sempre più soggetta a errori rispetto alla trasmissione digitale. Una trasmissione seriale digitale, ad esempio, ha fianchi con clock, in cui un segnale analogico fluttua in qualche modo tra 0 V e VDD. Quindi le interferenze sono molto più difficili da rilevare. Si potrebbe tenerne conto e utilizzare la segnalazione differenziale, come fatto in Audio.

Ma poi ti imbatti in quella velocità rispetto al commercio accurato di DAC / ADC. Se devi comunicare tra sistemi digitali, è molto più logico utilizzare una trasmissione digitale, poiché non hai bisogno di tempo per la traduzione DA-AD.

Tuttavia, se hai un computer analogico in esecuzione su tensioni di controllo analogiche, ce ne sono ancora alcuni in giro, sembrano fondamentalmente sintetizzatori modulari analogici, le cose sono diverse e in genere puoi costruire computer analogici solo per attività specifiche. Divertente presentazione in tedesco sull'informatica analogica.

Parlando di sintetizzatori modulari analogici, sono anche una sorta di computer analogici, appositamente progettati per effettuare chiamate su cambi di segnale.

Quindi esiste una trasmissione analogica nell'informatica, ma limitata a campi molto specifici.

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.