Instradamento del segnale USB - Scambia le linee dati usando vias?


16

Sto realizzando il mio secondo progetto USB, ma i pin D + / D- sull'MCU (atemga16u2) non sono nell'ordine giusto per il connettore micro B. Qual è la migliore pratica per instradare questi per andare nel modo giusto? La mia idea attuale è quella di ruotare gli atmega di 180 gradi e di instradarli sotto, ma sembra che le tracce siano abbastanza lunghe.

Potrei anche far cadere una delle linee sotto l'altra, ma sono sicuro che rovinerebbe le lunghezze della coppia differenziale.

Questo dispositivo non supererà la velocità massima, quindi posso cavarmela con un routing non perfetto.

Instradamento sotto l'MCU con vias


Se hai abbastanza spazio, mantieni le tracce sul livello superiore e inserisci il connettore dall'altro lato. Potrebbe valere la pena di ruotare anche il chip.
Armandas,

Intendi l'altro lato come nel livello inferiore? Purtroppo non posso farlo a causa di problemi di spazio.
monty,

No, l'altro lato come dall'alto (come mostrato nell'immagine), anziché dal basso, come fai ora.
Armandas,

Alla massima velocità USB puoi cavartela molto. Sicuramente, resistori 0805 o addirittura 1206 0 ohm per unire l'uno sull'altro su un singolo strato, ecc. Hai già resistori in linea (come fanno molti progetti) in modo da poterli sfruttare.
Chris Stratton,

Risposte:


8

Dal momento che è difficile descriverlo nei commenti, lo inserirò come una risposta.

Se lo spazio lo consente, puoi indirizzare i tuoi segnali in questo modo:

inserisci qui la descrizione dell'immagine


Mi hai appena battuto prima di caricare il mio: i.imgur.com/nELi3dP.png Ora, il foglio dati dice che dovrebbe essere una zona libera dal segnale - dovrei andare bene?
monty,

@monty Ho dimenticato che il microUSB è tutto in metallo. Consiglierei di seguire le istruzioni della scheda tecnica quando possibile.
Armandas,

@monty Prenderò in prestito la tua immagine per la mia risposta, se va bene.
Armandas,

C'è qualche vantaggio nell'indirizzare entrambe le tracce in quel modo? Perché non instradare l'uno R2dalla posizione delle sei del pad superiore alla posizione delle dodici del pad inferiore e quindi indirizzare solo la traccia R1intorno?
par

3
@par USB utilizza la segnalazione differenziale, quindi è necessario abbinare le lunghezze delle tracce e tenerle insieme per mantenere l'impedenza differenziale. In questo caso potrebbe non importare troppo (a causa della bassa velocità, come menzionato da altri), ma è una buona pratica e un'abitudine che bisogna sviluppare.
Armandas,

23

In aggiunta alla risposta di Armandas:

Se vuoi usare i via, c'è un semplice trucco per scambiare le linee: ruota le vie di 90 gradi, cioè mettile "sopra" l'una con l'altra. Se inserisci entrambi i via da sinistra nel livello superiore e li lasci a sinistra nel livello inferiore, entrambe le linee vengono scambiate gratuitamente:

Scambiare due linee con vias

(Solo un rapido disegno come il mio computer schematico mi ha appena detto che è assolutamente necessario installare gli aggiornamenti in questo momento ...)

Con USB Full Speed ​​non devi preoccuparti della corrispondenza della lunghezza sulla coppia differenziale. Il segnale elettrico si propaga a circa 20 cm / ns nella traccia.

Poiché il segnale viene trasmesso a 12 MBit / s ogni bit ha una lunghezza di 83 ns. Supponendo che il campionamento venga eseguito nel mezzo di ciascun periodo di bit e i tempi di salita e discesa dei segnali non siano più lunghi di 30 ns (che è molto conservativo), c'è ancora un margine di 41 ns - 30 ns / 2 = 26 ns, corrispondente ad una lunghezza della traccia di 5 metri. Detto questo, si può tranquillamente presumere che una discrepanza di diversi centimetri non sia assolutamente un problema.


Un'altra buona opzione.
Armandas,

Potresti fornire una foto? Sto facendo fatica a immaginare cosa stai descrivendo.
vini_i,

@vini_i Ecco qua - aggiunto un disegno di tracce.
asdfex,

Se tutto fosse sul livello superiore, ad esempio, lo lasceresti cadere sul fondo e loro lo riporterebbero indietro con la croce?
vini_i,

1
Puoi spiegare brevemente la tua equazione 41ns - 30 / 2ns? L'intero periodo è 83 ns e stai rimuovendo metà del tempo di salita per ottenere la quantità di tempo in cui il segnale è 1 o 0 valido, sì? Perché non dovresti rimuovere anche metà del tempo di caduta? e perché stai usando solo 41ns (metà del periodo di bit) invece di 83ns completi? Quindi perché non dovrebbe essere 83 ns (periodo completo) -30/2 -30 / 2 = 53 ns? In pratica stai dicendo che hai un margine di +/- 26 ns in entrambe le direzioni per darti un margine di 53 ns pieno?
scuba
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.