Perché non implementare 1 Gbps, quando tutto ciò di cui ho bisogno è 20 Mbps?


27

sfondo

Sto lavorando con un cliente su un grande progetto che richiede che sia progettato un chip di rete personalizzato per risolvere i requisiti di trasferimento dei dati all'interno del progetto. La rete ha lo scopo di inviare piccoli pacchetti a pochi pollici da un PCB all'altro attraverso un singolo cavo a doppino intrecciato. Progetteremo e specificheremo il protocollo di rete e un'altra società sarà responsabile dell'implementazione del silicio.

Stimo che la velocità dei dati di 20 Mbps tra i nodi sarà in grado di far fronte facilmente alla quantità di dati che devono essere inviati, con un ampio margine nel caso in cui la quantità di dati aumentasse in futuro.

Problema

Il cliente mi sta chiedendo perché sto specificando solo 20 Mbps. Perché non qualcosa come 1Gbps? Non sarebbe meglio? Intuitivamente, ritengo che alzare massicciamente la velocità dei dati oltre ciò che sarebbe necessario sia una cattiva idea. Inizialmente, ho pensato che il cablaggio avrebbe dovuto essere schermato (cosa che non voglio), ma guardando le categorie di cavi Ethernet, vedo che Gigabit Ethernet può funzionare su un cavo Cat 6, che non ha bisogno di essere schermato.

Altri vincoli

  • Il progetto è disperatamente limitato nello spazio e non abbiamo spazio per cose come la magnetica, a meno che non sia un componente molto piccolo (massimo 0603).
  • I cavi devono essere il più sottili e flessibili possibile.
  • Il dispositivo funzionerà con l'alimentazione plug-in, quindi non sono richiesti requisiti di bassa potenza.

Domanda

Quali sono i problemi, in termini di progettazione del silicio, cablaggio e qualsiasi altra cosa, che possono essere affrontati a 1 Gbps, che non sarebbero così gravi a 20 Mbps? Dovrei seguire il suggerimento del mio cliente di implementare la rete a 1 Gbps o dovrei insistere per implementare solo ciò che è richiesto?

Siamo sotto stretto accordo di riservatezza, quindi non posso fornire troppi dettagli sui nostri requisiti. Per favore, lascia un commento se è necessario un chiarimento.


3
Se l'applicazione necessita di un throughput di 20 Mbps, probabilmente uno standard più vecchio di 100 Mbps sarebbe sufficiente, considerando tutte le spese generali e simili. Quindi la domanda si riduce ai costi di implementazione, alla disponibilità futura delle parti. Hai controllato i costi corrispondenti? Inoltre, cosa intendi con "in termini di design del silicio"? Stai pensando di progettare il tuo silicio?
Ale..chenski,

9
1 Gbps potrebbe essere un eccesso ... 100 Mbps potrebbe essere un passo successivo più adatto in termini di velocità .... se il cliente si preoccupa di rendere il dispositivo a prova di futuro, magari esplorare l'uso della compressione dei dati ...... forse dimostrare di al cliente la quantità di dati raggiunta con 20 Mbps ... mostra loro un video di YouTube HD e spiega che la larghezza di banda è di soli 8 Mbps o giù di

12
Perché vuoi un protocollo "di rete" per una connessione punto-punto?
Il fotone

20
Progettare "un protocollo di rete" da zero non sembra un'idea particolarmente saggia. Potrebbe essere piuttosto costoso per la progettazione, l'implementazione del livello fisico, la convalida del livello fisico, quindi il livello del protocollo, tutto il software associato e la sua convalida, ecc. Ecc. Hai sentito parlare di HSIC, una sorta di USB oltre 1.2VLVCMOS?
Ale..chenski,

20
Per favore, organizza una demo con circuiti integrati Ethernet 100M senza elementi magnetici per dimostrare all'utente e a te stesso cosa si può fare con le parti standard standard. Non utilizzare silicone personalizzato, protocolli personalizzati, senza capire perché quelli standard non lo faranno.
Neil_UK,

Risposte:


24

Alcuni motivi:

Energia

Una velocità più veloce significa più potenza. Non solo hai bisogno di circuiti analogici più veloci, che consumeranno più energia, ma tutta l'elettronica che li circonda deve essere più veloce. I tuoi sistemi digitali, le tue chiusure, la gestione dell'orologio, ecc. Se ottieni 1 Gbps utilizzando la segnalazione multilivello, ora hai bisogno di ADC e DAC migliori. Potrebbe essere necessario iniziare a gestire filtri più complessi. Potresti iniziare a richiedere FEC che deve anche tenere il passo.

Dimensione del chip

Più veloce significa che sta succedendo di più. È necessaria una migliore stabilità del clock, il che significa circuiti più grandi. È necessario un tempismo migliore, il che significa un sistema di recupero dell'orologio più complesso. Potrebbe essere necessario passare all'utilizzo di DSP per eseguire l'equalizzazione del canale. Il tuo FEC potenzialmente necessario necessita di spazio per i chip.

Sensibilità ambientale

Se passi da poche decine di megabaud a tutto ciò che è necessario per gigabit, diventerai molto più sensibile all'ambiente. Piccole discrepanze che potrebbero essere impercettibili a poche decine di MHz diventano tronconi risonanti a frequenze più alte. Le riflessioni potrebbero iniziare a causare prestazioni intermittenti. Un cavo intaccato a causa di abuso nel corso degli anni (non conosco l'ambiente di applicazione per il tuo prodotto) potrebbe andare bene per le velocità più basse, ma può causare scarse prestazioni quando vai più in alto.

Sforzo di progettazione

Penso che sia ovvio da tutte le questioni aggiuntive che ho discusso in precedenza che il tempo e lo sforzo di progettare un collegamento di comunicazione più veloce siano significativi. Questo da solo dovrebbe essere una ragione sufficiente.

EMI

Una velocità maggiore significa che soddisfare i requisiti EMI potrebbe essere più difficile.


5
@Rocketmagnet: vale anche la pena sottolineare che l'802.3 1000Base-T gig-E su Cat5e invia segnali in entrambe le direzioni contemporaneamente su 4 coppie di cavi, oltre a utilizzare una codifica multilivello, per mantenere le frequenze allo stesso 125 MHz come 100Base-T . Quindi ogni ricevitore deve sottrarre ciò che il proprio trasmettitore sta inviando, per ottenere solo il segnale inviato dall'altra estremità.
Peter Cordes,

2
@PeterCordes - È molto interessante, lo esaminerò. Ma sembra molto più complessità rispetto al LVDS di base.
Rocketmagnet,

2
@Rocketmagnet: sì, GigE sembra una scelta molto scadente per questo. C'è un motivo per cui i ricetrasmettitori GigE utilizzano più potenza di 100M.
Peter Cordes,

24

I segnali TTL (single-ended, non terminato) possono gestire facilmente 20 Mbps o più, ad esempio SPI. Se stai andando solo pochi pollici, cavo a nastro e connettori IDC (o un backplane di qualche tipo) ti porteranno da una scheda all'altra.

1 Gbps ti mette nel regno di dover affrontare tracce, connettori e cavi controllati da impedenza. I ricevitori dovranno utilizzare le tecniche PLL / DLL per mantenere la sincronizzazione e separare clock / dati, mentre alla velocità più lenta sarà sufficiente la normale logica sincrona. L'eccessivo 50 × e il mal di testa aggiuntivo non ne valgono la pena, se sei sicuro che 20 Mbps saranno sufficienti per il prossimo futuro.


Una volta ho progettato (circa 25 anni fa) un protocollo bus seriale personalizzato per il controllo e lo stato da scheda a scheda tra le schede in un rack di telecomunicazione. Sorta di un incrocio tra I 2 C e SPI - segnali unidirezionali come SPI, ma indirizzi di dispositivi integrati come I 2 C.


Supponendo che stiamo già pensando di utilizzare tracce, cavi e connettori a impedenza controllata, ci sono altri problemi?
Rocketmagnet,

1
I ricevitori dovranno utilizzare le tecniche PLL / DLL per mantenere la sincronizzazione e separare clock / dati. Alla velocità più lenta, sarà sufficiente la normale logica sincrona.
Dave Tweed

10
Dipende dai dettagli sulla tua tecnologia di implementazione che probabilmente non sei libero di divulgare. Se si utilizzano FPGA (come implicito nell'uso del tag), si noti che tutti i principali fornitori hanno soluzioni fisse per la comunicazione chip-to-chip a varie velocità. Ti consigliamo di usarlo per il tuo livello fisico e implementare il tuo protocollo personalizzato su di esso.
Dave Tweed

1
La progettazione di un blocco pll non è banale e l'acquisto dell'IP può facilmente riportarti a 50-100k $
Mike

1
@Tustique Pensi che sia banale progettare il tuo PLL sul silicio?
user253751

14

La domanda ovvia è: "1 Gbps significa 1000BASET Ethernet?" Se questo è ciò che sta pensando il cliente, la tua esigenza che "non abbiamo spazio per cose come i magnetici" lo esclude immediatamente. Ethernet utilizza la magnetica sul livello fisico e quando ho progettato un'interfaccia alcuni anni fa, la magnetica faceva parte di un cubo di circa 1 pollice.

Dici che stai usando FPGA, ma non dici di chi. Se vai con Xilinx, dovresti essere consapevole che i modelli attuali supportano nativamente LVDS, che sembrerebbe ideale per il tuo scopo. I primi sistemi LVDS (televisori ad alta definizione) funzionavano a 122 Mbps e la tecnologia può andare ben oltre un Gbps, se proprio necessario. Essendo differenziale, e supponendo che le tue due schede non utilizzino terreni fluttuanti, l'immunità al rumore è eccellente.

Per quanto riguarda la tua specifica scelta di frequenze di clock, aggiungere più headroom di quanto pensi di aver bisogno è una di quelle decisioni che possono salvare la tua pancetta in futuro, quindi non escluderei di scegliere qualcosa come 100 MHz, ma dipende da te. Potresti conoscere il tuo cliente con la legge di Roberge (Jim Roberge era un noto professore di ingegneria elettrica presso il MIT qualche decennio fa): "Coloro che chiedono più larghezza di banda di quella di cui hanno bisogno meritano ciò che ottengono". Certo, stava parlando di servosistemi, ma il principio rimane buono su una gamma notevolmente ampia di discipline.


7
La rete Ethernet non ha bisogno dei magneti se si effettua una connessione non standard. È abbastanza affidabile se implementato senza l'isolamento.
Jack Creasey,

1
@JackCreasey ma si può ancora chiamarlo Ethernet ?
Mels

2
Certamente non è conforme allo standard IEEE 802.3. Non si collegherà a un endpoint conforme, ma ho detto che non sarebbe conforme senza i magnetici. Dubito che passerebbe la suite di test per i segnali sulla connessione backplane, ma dovrebbe passare tutto il resto compreso il jitter. Lo chiamerei ancora Ethernet, ma potresti non farlo.
Jack Creasey,

2
Cordiali saluti: l'unico risultato di Google per "Coloro che chiedono più larghezza di banda di quella di cui hanno bisogno meritano ciò che ottengono". è questa risposta.
user253751

11

L'applicazione che descrivi non ha senso passare direttamente a una soluzione di silicio personalizzata. Le velocità dati che prevedi possono essere facilmente gestite dalla tecnologia FPGA a prezzi moderati e l'FPGA può essere programmato per implementare il protocollo speciale se ritieni davvero che tale protocollo sia necessario.

Molto più spesso dovresti prendere in considerazione un livello fisico standard e quindi costruire il protocollo personalizzato su di esso. Per una larghezza di banda del canale di comunicazione netta di 20 Mbps, è necessario pianificare un sovraccarico del protocollo di una certa quantità poiché l'inquadramento, la codifica del controllo degli errori e la sincronizzazione consumano parte della larghezza di banda. Quindi forse prendere in considerazione una maggiore larghezza di banda grezza per soddisfare questo sovraccarico.

Una volta che il tuo progetto è stato provato, puoi andare dal fornitore FPGA e farli produrre un design a chip rigido dalla programmazione FPGA. Questo approccio mitiga tutti i primi rischi di sviluppo e riduce i costi complessivi di NRE di una quantità enorme rispetto all '"immersione nel silicio personalizzato solo perché sembra interessante".


Questo è esattamente il percorso che intendiamo prendere.
Rocketmagnet,

11

La vera domanda è: perché progettare un protocollo quando tutto esiste già.

Per le soluzioni Ethenet prendi 10/100 e non 1GbE perché è ancora un po 'più economico e molto più facile da impaginare. A proposito, Ethernet può funzionare senza magneti. Ma richiede MAC, che può essere IC aggiuntivo. O ne hai uno in un microcontrollore?

20 Mbps è qualcosa che si adatta a Rs485 o tale strato, che è ancora più economico e più semplice. Le coppie intrecciate vengono fornite con tutti i tipi di cavi, più o meno flessibili, con connettori o appena saldati al PCB.

Ah, soprattutto. È più facile sbagliare con 1Gb. Ma se hanno bisogno di spazio per un'ulteriore crescita, limita di meno.

In conclusione: è necessario comprendere i requisiti di sistema.


10

Suggerirei il percorso più semplice con la migliore probabilità di successo e il minimo sovraccarico del software sarebbe quello di implementare una connessione Ethernet a 100 Mbps. Puoi implementarlo senza alcun intervento magnetico quando le distanze sono piccole.

Ecco un inizio con le informazioni sul controller PCI-Ethernet Intel 8255 e una nota applicativa sulle connessioni senza magnetica.
Non sto suggerendo di usare l'8255, ma è possibile ottenere l'IP (10/100 / 1000Mbps) per qualsiasi FPGA che probabilmente si utilizzerà molto facilmente ed è ben eseguito il debug.

Supponendo che tu abbia un processore nel mix, supportare un controller Ethernet standard è un modo di sforzo software molto basso per implementare la rete punto a punto.
Abbiamo usato un sacco di questo tipo di connessioni punto a punto su schede madri specializzate Intel, erano facili da eseguire il debug e molto affidabili.


4
Sebbene Ethernet possa fare il protocollo, 100 Base Ethernet ha un requisito di distanza minima di 1 metro (questo mi ha fatto alcuni anni fa usando una Ethernet su implementazione backplane). L'OP ha menzionato che la distanza era di pochi pollici, il che esclude piuttosto la connessione Ethernet a livello fisico.
Peter Smith,

1
@PeterSmith, la distanza minima NON si applica a Ethernet senza i magneti. Questo funzionerà fino a pochi pollici.
Jack Creasey,

5

Le risposte qui sono tecniche, fornisco una prospettiva di ingegneria dei requisiti:

La mia opinione è semplice

  • Sono necessari almeno 20 Mbps per farlo funzionare, quindi non specificare 20 ma "20 o più" per l'applicazione.

  • qualsiasi hardware più veloce soddisfa anche le tue esigenze

  • se l'HW più veloce è più economico / più facile da sviluppare a causa degli standard esistenti, anche questi possono essere soddisfatti da questi.

  • Se il cliente desidera di più, prova a capire se c'è qualcosa dietro (potrebbe essere che pianifichino già aggiornamenti e vogliano rimanere compatibili tra le schede durante lo scambio)


3

Potenza, integrità del segnale e tempistica. Ho lavorato su un chip con un'interfaccia di 25 gbps e questo significava una frequenza di clock di 1,6 GHz e una tonnellata di potenza. Se avessimo potuto correre a 19.2 la frequenza di clock sarebbe stata di 1,2 GHz. Più di 200ps di margine extra per periodo di clock, sarebbe stato di grande aiuto.

Non ho mai progettato la scheda ma mi aspetto che 20 Mbps non siano un problema. 1 Gbps non è ancora così difficile ma molto più difficile di 20 Mbps.

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.