Ethernet RMII su PCB a due strati


10

INTRODUZIONE: sto mirando a progettare un sistema Ethernet collegato come un hobby (cioè un sacco di tempo ma non desiderando spendere molto). I miei vincoli di progettazione sarebbero idealmente aderenti a un PCB a 2 strati da 100 mm x 100 mm con fori min di 0,3 mm e binario / gioco minimo di 0,15 mm, fino a 0,6 mm di spessore totale. Il costo di produzione di un PCB a 4 strati nel mio noto produttore supera quello dei componenti per le quantità di cui ho bisogno (solo uno in realtà, ma fino a 10 PCB vanno allo stesso costo nel mio caso particolare).

IL MIO APPROCCIO: UN microcontoller ATSAME54N20 con MAC Ethernet integrato collegato con un RMII a un PHY KSZ8091RNA in Altium Designer.

 Microcontoller ATSAME54N20 con Ethernet MAC incorporato collegato con un RMII a un PHY KSZ8091RNA in Altium Designer.

Schema di ATSAME54N20 e KSZ8091RNA

DOMANDA 1: Quali sono le mie probabilità di successo? Mantenere l'impedenza caratteristica di 68 ohm a GND (GND ancora non versato) per le tracce RMII sembra impossibile anche con l'opzione di impilamento dell'altezza totale di 0,6 mm, ma la lunghezza massima della traccia è inferiore a 30 mm, con tracce come CLK lunghe 4 mm. È probabile che sorgano problemi di suoneria e di riflessione in un circuito come questo?

DOMANDA 2: Entrambe le tracce TX vengono instradate insieme e separate da quelle RX, sebbene non sia stata eseguita alcuna corrispondenza di lunghezza. Devo prendere in considerazione tolleranze di adattamento di lunghezze strette?

DOMANDA 3: NET evidenziato risparmia passando attraverso due pin inutilizzati che verrebbero impostati su alta impedenza. Questa è pratica comune? In questo modo viene influenzata l'integrità del segnale? L'uso di vias è una pratica migliore?

NOTA 1: ho trovato argomenti che trattano di eseguire tracce attraverso i pin pad NC, nel mio caso mi chiedo dei pin non utilizzati ben documentati. Mi sono anche imbattuto in questo post , ma sto pianificando di rifare da solo questa scheda di saldatura e non ho esperienza nel farlo, quindi preferirei evitare di tagliare i perni e gestire forze di tensione superficiale irregolari che agiscono sul chip.

NOTA 2: le tracce di impedenza differenziale da 100ohm dal PHY ai magnetici non sono ancora state eseguite, ma escono dal PHY senza avvicinarsi ai segnali RMII.

NOTA 3: colgo l'occasione per ringraziare la comunità per le loro conoscenze e il loro aiuto. Spero che qualcuno trovi utile il mio post in futuro!


AZIONE SUPPLEMENTARE:

inserisci qui la descrizione dell'immagine

  • Tutte le reti RMII sono state abbinate in lunghezza a 29,9 mm +/- 0,1 mm.
  • I pin non utilizzati non sono stati utilizzati per l'esecuzione di tracce.
  • Lo stackup è costituito da una scheda di spessore totale di 1,6 mm e non è stata effettuata alcuna impedenza controllata.
  • GND deve ancora essere versato, insieme ad alcuni poligoni da 3,3 V, senza infrangere sotto alcuna traccia.

Questo design è migliore?

Sembra che potrebbe funzionare?


SEGUI SU 2:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine - È stata implementata una guida d'onda complanare a terra per una corrispondenza di impedenza più stretta.

inserisci qui la descrizione dell'immagine

La risposta più completa all'impedenza della linea di trasmissione corretta per le tracce RMII che ho trovato è stata Wikipedia:

I segnali RMII sono trattati come segnali aggregati piuttosto che linee di trasmissione; non è necessaria alcuna terminazione o impedenza controllata; l'azionamento di uscita (e quindi la velocità di risposta) deve essere il più lento possibile (tempi di salita da 1 a 5 ns) per consentire ciò. I driver dovrebbero essere in grado di pilotare 25 pF di capacità che consente tracce PCB fino a 0,30 m. Almeno lo standard dice che i segnali non devono essere trattati come linee di trasmissione. Tuttavia, con una frequenza del bordo di 1 ns una traccia più lunga di circa 2,7 cm, gli effetti della linea di trasmissione potrebbero rappresentare un problema significativo; a 5 ns, le tracce possono essere 5 volte più lunghe. La versione IEEE del relativo standard MII specifica l'impedenza di traccia di 68 Ω. National consiglia di eseguire tracce di 50 Ω con resistori di terminazione serie 33 Ω (aggiunge impedenza di uscita del driver) per la modalità MII o RMII per ridurre i riflessi.

Alcuni altri includono le specifiche RMII v1.2:

Tutte le connessioni sono intese come connessioni punto-punto su PCB. In genere queste connessioni possono essere trattate come percorsi elettricamente corti e i riflessi delle linee di trasmissione possono essere tranquillamente ignorati. Né un connettore né un'impedenza caratteristica per tracce di PCB elettricamente lunghe rientrano nell'ambito di questa specifica. Si consiglia di mantenere il drive di uscita il più basso possibile per ridurre al minimo il rumore a livello di scheda e l'IME.

E una linea guida di Sun Microsystems:

Come i segnali MII, i segnali GMII verranno terminati alla fonte per preservare l'integrità del segnale secondo la seguente equazione: Rd (impedenza buffer) + Rs (impedenza di terminazione sorgente = Z0 (impedenza linea di trasmissione).

  • Tutte le reti RMII sono state abbinate in lunghezza a 40 mm +/- 0,1 mm.
  • I pin non utilizzati non sono stati utilizzati per eseguire tracce di segnale.
  • I pin non utilizzati sono stati utilizzati per la connessione GND e 3.3V.
  • Stackup è costituito da una tavola di spessore totale di 1,6 mm.

Questo design è migliore?

Sembra che potrebbe funzionare?

È accettabile legare alcuni pin a 3.3 V o GND? Potrei fare a meno di questa pratica.

Quante vie devo posizionare lungo la guida d'onda complanare? C'è spazio extra per più bancomat via.

Le tracce GND tra le tracce del segnale arrivano fino a 0,15 mm di larghezza, va bene?

Grazie in anticipo per il gentile aiuto nel rispondere! Lo apprezzo molto !


3
Un pin "NC" non significa che non è collegato all'interno del chip: significa che non è necessario connettersi a loro. Il motivo per cui sono presenti pin NC su un chip varia, ma potrebbero essere pin riservati, pin utilizzati per i test, ecc. Il collegamento a questi potrebbe causare comportamenti imprevedibili.
TimB

1
Grazie per aver pubblicato il follow-up. Pensavo avessi detto di impilare con 0.6mm (che è un PCB molto sottile), non 1.6mm? In entrambi i casi non fa molta differenza per i calcoli di impedenza. All'interno del vincolo (indesiderabile) di voler fare questo su 2 strati, direi che questa è una soluzione più sicura e che è stata affrontata la differenza di propagazione del segnale (sospetto che non siano mai stati a questa velocità). Tuttavia non sembra che tu abbia trattato l'aspetto dell'impedenza del progetto? I calcoli che ho fatto nella mia risposta erano per uno scenario a onda complanare, in cui riempi i segnali tra Gnd, quindi ora sono sbagliati.
Techydude,

1
In primo luogo, ora è ~ 140ohms (microstrip calc), in precedenza ~ 86ohms (calclanar-wave calc). Ti esorto, almeno per l'esercizio di apprendimento, a cercare l'impedenza di sorgente di entrambi i circuiti integrati, a confermare il mio calcolo Z0 back-of-the-envelope e a capire se hai un problema di riflessioni / squilli (supponendo la fine della ricezione è Hi-Z). In secondo luogo, tutti i segnali ritornano attraverso Ground, ma questo è particolarmente importante per l'alta velocità (crosstalk, EMI, ecc.), Quindi bisogna sempre essere considerati, altrimenti sei solo "metà del lavoro", quindi siamo interessati a vedere come si fa il piano gnd lato inferiore :-), se non il lato superiore.
Techydude,

1
questo è venuto su un google casuale che potrebbe aiutare, se non si ha familiarità con la teoria della linea di trasmissione e la matematica. Personalmente non lo sostengo, ma sembra 'abbastanza buono' per questo caso :-): web.cecs.pdx.edu/~greenwd/xmsnLine_notes.pdf
Techydude

2
È necessario utilizzare resistori in serie, in particolare sull'orologio. A titolo di esempio, è possibile cercare lo schema e il layout di "Scheda ethernet LAN8720" e "Scheda et8 DP83848".
TEMLIB,

Risposte:


6

Penso che saresti buono per 100BaseT (segnali RMII 50MHz), anche se per altri motivi penso che questo sia ancora un design rischioso. Non ho tempo di analizzare a fondo i tempi e l'impedenza, ma posso offrire i seguenti commenti preconfezionati:

a) Anche se non ho idea di dove ti trovi o se hai accesso a una carta di credito, i PCB a 4 strati sono molto convenienti da molti produttori di PCB. OSHpark.com mi viene in mente. Affrontando questa limitazione, si evita anche il problema (b) (punto successivo).

b) Il collegamento ai pad "NC" è rischioso e praticamente un no-no in un ambiente professionale. Forse sono davvero "NC", o forse sono "riservati" per un uso futuro su un pezzo di silicio aggiornato che non solo va in un nuovo circuito integrato strettamente correlato, ma anche nella produzione futura di questo circuito integrato. Ovviamente ci sarà un telaio di piombo lì dentro, ma forse anche unendo il filo al silicio. Semplicemente non lo sai, non oggi e non in futuro. Questo è il motivo per cui il mfg dice "No Connect"! Quel NC "ben documentato" (dice chi?) Oggi potrebbe essere collegato ad un po 'di silicio domani. Ma forse questo non importa nella tua situazione per una tantum.

c) La velocità del segnale attraverso il rame su FR4 è di circa 6 "/ 15 cm per ns. A giudicare dalla scheda tecnica KSZ8091 (7.0 Diagrammi di temporizzazione), penso che vorresti che i tuoi tempi fossero precisi entro 1 ns. Quindi hai un sacco di spazio (lunghezza) con cui lavorare qui, molto più del layout attualmente "angusto"; dal punto di vista dei tempi non è necessario essere così vicini all'MCU. Personalmente non sarei troppo preso dai tempi e dalla lunghezza- in questa situazione, non credo che avrà importanza. Detto questo, è buona prassi che questi segnali veloci abbiano la stessa lunghezza, perché questo conta in progetti più veloci. Buona cosa, hai lo spazio per tirare il PHY chip più lontano dall'MCU per offrire spazio per la corrispondenza della lunghezza.

d) Integrità e impedenza del segnale: con la terra inferiore di 0,6 mm di distanza, non si ottiene molto controllo di accoppiamento o impedenza. Ecco perché esistono PCB a 4 strati :-). Se fossi in te userei quello spazio extra (distanza tra PHY e MCU) disponibile (dal punto di vista del timing) per aggiungere anche alcuni resistori 0402 in serie con questi segnali da 50 MHz (posizionati più vicino alla sorgente), in modo da avere l'opzione per rallentarli e aumentare il componente R dell'impedenza, nel caso in cui lo squillo (riflessi) sia un problema. Se rimani con un 2-strato, allora userei anche quello spazio disponibile tra PHY e MCU per aggiungere un po 'di rame collegato a terra sul lato superiore tra questi segnali ad alta velocità.

Schermata Saturn PCB Toolkit

È interessante notare che ho visto qualcosa di curioso negli switch Gigabit Ethernet GS105 a 5 porte GS105 economici (a destra) e ancora più economici (a sinistra). IIRC, essendo Gigabit, saranno segnali di ~ 250MHz ai magnetici, dove si potrebbe pensare che il controllo di impedenza sarebbe più importante. Ancora una volta, sospetto che i loro magnetici siano classificati solo per 10 / 100BaseT, non per 1000, ma sembrano anche riuscire a cavarsela!

Netgear GS105 a sinistra, GS305 a destra

Il modello GS105 ancora più economico è solo 2 strati:

Netgear GS105, PCB a 2 strati!


Grazie mille ! Farò un altro tentativo di progettazione e riporterò indietro, i circuiti integrati verranno allontanati e le lunghezze verranno abbinate. Per quanto riguarda il tuo punto b), sto usando pin regolari per evitare vie. Possono essere configurati come output o altro. Quanto pensi che la capacità dei pin extra influenzerà la corrispondenza della lunghezza? Grazie mille per quelle foto, sono confortanti!
Juan Manuel López Manzano

3
@ JuanManuelLópezManzano Oh merda, pensavo avessi detto che erano pin No-Connect ?! Ma sono GPIO che intendi configurare come ingressi Hi-Z? Inferno no - idea terribile. Non solo hai effettivamente la capacità dei circuiti GPIO on-silicon effettivi e li applichi ad alcuni, ma non a tutti, i segnali RMII, ma hai anche il rischio che un firmware SNAFU produca output e danneggi i driver di output ( di IC MCU o PHY) - e dopo aver confermato che quei GPIO specifici passano Hi-Z durante il RESET. Proprio no. Hai un margine temporale più che sufficiente per far fronte ai via.
Techydude,

1

Per RMII, credo che tu voglia che le tracce siano tutte abbinate alla linea dell'orologio. Ma su alcune tracce avrai una capacità extra dai pad extra, che li rallenterà di più, e non sono sicuro di come spiegarlo.

10 Mbps sono abbastanza buoni? Se è così, potresti essere a posto.


10 Mbps sarebbe ok. Sto progettando un'alternativa con tracce più sottili (più lontano dal target di impedenza caratteristica) ma adattando le lunghezze. Se qualcuno sa come rendere conto dei pad extra fammelo sapere!
Juan Manuel López Manzano
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.