Requisiti di Routing per un'Interfaccia USB su un PCB a 2 Strati

Zachariah Peterson
|  Creato: ottobre 30, 2021  |  Aggiornato: gennaio 27, 2024
PCB USB a 2 strati

In un blog precedente, ho discusso alcuni dei punti fondamentali nella preparazione delle regole di routing per PCB a 2 strati per supportare il routing e il layout con segnali digitali. In particolare, abbiamo esaminato alcune delle regole di stackup e di routing necessarie per supportare un'interfaccia digitale come I2C o SPI su un PCB a 2 strati. Quando si lavora con queste interfacce, alcune semplici linee guida possono aiutare a garantire l'integrità del segnale sulla tua scheda e ridurre le EMI.

Che dire di un'interfaccia controllata dall'impedenza come USB? La necessità di controllo dell'impedenza, e sapere quando può essere violata, è il punto principale per il routing di qualcosa come USB su un PCB a 2 strati. In questo articolo, mostrerò come dovresti instradare un protocollo ad alta velocità come USB. In particolare, esamineremo le importanti regole di progettazione necessarie per il routing della scheda, in particolare la limitazione della lunghezza che potremmo accettare per le tracce che trasportano dati USB. Se non hai ancora letto l'articolo precedente di questa serie, dacci un'occhiata poiché pone alcune delle basi concettuali necessarie per comprendere i limiti che vengono imposti sui requisiti di routing USB.

Iniziare: Requisiti di Routing ad Alta Velocità USB

Nell'articolo precedente sulla realizzazione di percorsi su PCB a 2 strati, abbiamo esaminato una procedura per determinare la lunghezza massima possibile di una linea che si potrebbe utilizzare nel proprio progetto senza la necessità di applicare l'adattamento dell'impedenza. Abbiamo scoperto che il limite di lunghezza dipende dal livello di deviazione dell'impedenza in ingresso che si può tollerare lungo la lunghezza della linea di trasmissione. In particolare, a seconda che si consideri il 10% al 25% della distanza di viaggio del segnale come fattore importante per limitare la lunghezza della traccia.

Per questa dimostrazione, voglio esaminare il routing USB 2.0 su questa scheda secondo lo standard High Speed, e mi sto concentrando su questo standard per un motivo specifico. L'USB 2.0 (High Speed) è ancora utilizzato in alcuni sistemi poiché offre connettività con dispositivi più vecchi insieme a un rapido tasso di trasferimento dati, ed è ancora utilizzato su piattaforme popolari come Arduino con un connettore di tipo B.

Giusto per illustrare due possibili progetti, ho confrontato il tasso di trasmissione dati e il tempo di salita di due specifiche USB 2.0 (Full Speed e High Speed):

Tempo minimo di salita/discesa del driver

- 500 ps (High Speed)

- 4 - 20 ns (Full Speed)

Massima differenza di skew tra coppie differenziali

- 100 ps (High Speed)

- 1 a 5 ns (Velocità Piena)

Obiettivo di impedenza

- 90 Ohm differenziali

Il processo che mostrerò di seguito viene eseguito per i segnali USB 2.0 con il tempo di salita e lo skew ad Alta Velocità, ma potresti applicare lo stesso processo all'USB 3.0 o a qualsiasi altra interfaccia ad alta velocità. Ricorda solo: il routing su una scheda a 2 strati non è appropriato per ogni interfaccia. Ad esempio, non conosco nessuno che raccomanderebbe il routing DDR4 su una scheda a 2 strati a causa dei limiti di lunghezza ridotti e del rumore irradiato da questi segnali veloci.

Lunghezza Critica

Prima di tutto, vorremmo conoscere la lunghezza critica per un segnale USB che viene instradato su un tipico PCB a 2 strati. Per un nucleo di materiale FR4 con Dk = 4.8, avremmo un ritardo di propagazione di circa 150 ps/pollice, o circa 6 pollici/ns. Con il nostro tempo di salita di 500 ps per la specifica ad Alta Velocità, ciò dà una distanza di propagazione del segnale di 3 pollici durante il tempo di salita. Se siamo molto conservatori e usiamo un limite del 10% sulla lunghezza critica, ciò dà una lunghezza critica di 0,3 pollici!

La topologia che dobbiamo instradare qui è semplicemente una linea seriale con coppie differenziali. Quindi hai tre elementi:

  • Il componente driver, o il tuo processore con l'interfaccia USB
  • Le resistenze di terminazione (vedi la sezione qui sotto)
  • Il connettore che terrà il tuo cavo USB

Potresti chiederti, come viene fatto su una piattaforma come Arduino? Dai un'occhiata all'immagine qui sotto di un Arduino Mega che puoi acquistare su Amazon. Il controller USB è posizionato vicino al connettore ed è sicuramente entro 1 pollice.

USB 2-layer PCB Arduino
Esempio di scheda Arduino Mega. Nota il chip controllore USB è vicino al connettore di tipo B.

Troverai un posizionamento e un instradamento simili su altre schede Arduino. Per evitare una mancata corrispondenza dell'impedenza di ingresso con il connettore, il cavo e il ricevitore, vorremmo seguire il consiglio mostrato sopra e mantenere il percorso corto sul nostro PCB a 2 strati. Tuttavia, non dobbiamo essere così conservativi da applicare un limite del 10%. Invece, se andiamo con un limite del 25%, avremo una distanza di instradamento molto più confortevole di 0,75 pollici, che è molto più gestibile su un PCB a 2 strati.

Nota che questo è per la specifica ad Alta Velocità. Sotto la specifica a Velocità Piena, abbiamo una lunghezza critica più rilassata di 2,4 pollici (limite del 10%) o 6 pollici (limite del 25%) per un tempo di salita di 4 ns.

Una cosa importante da notare è questa: non esiste un limite fisso (10%, 25% o altro) in cui abbiamo una lunghezza critica valida, e a seconda delle dimensioni del tuo PCB, potresti essere oltre la lunghezza critica e ora necessitare di progettare per l'impedenza corretta. Il limite dipende da diversi fattori, e determinare la percentuale giusta per la tua lunghezza critica richiede comunque il calcolo di molteplici valori di impedenza. Piuttosto che sviluppare una regola basata su questa lunghezza critica, è sempre più facile progettare direttamente per l'impedenza USB richiesta.

Resistori di Terminazione

Successivamente, dobbiamo considerare come viene terminato l'output del driver. Dato che stiamo parlando specificamente di USB, nota che la specifica USB 2.0 richiede alcune resistenze di terminazione sulle linee D+ e D- vicino al connettore per abbinare le impedenze. Queste potrebbero essere integrate nel trasmettitore USB sul die, oppure potrebbero essere necessarie come componente esterno. I valori tipici sono 15 Ohm, 22 Ohm o 45 Ohm, anche se potrebbero essere utilizzati altri valori; assicurati di controllare il datasheet del tuo componente per vedere quale terminazione è necessaria. Solo come esempio, il TUSB2077APTR USB Hub controller utilizza resistenze di terminazione da 27 Ohm. Assicurati di controllare il datasheet per verificare se hai bisogno di queste resistenze esterne.

Differenza di Fase

Con un limite di skew di 100 ps nello standard ad Alta Velocità, possiamo ora calcolare la differenza di lunghezza consentita tra i due lati della coppia differenziale (i segnali D+ e D-). Prendendo la stima approssimativa del ritardo di propagazione di 6 ns/pollice per il routing sullo strato superficiale e moltiplicandola per il limite di skew, otteniamo una differenza di lunghezza della traccia di 0,6 pollici (600 mil). Questo è molto grande! Abbiamo molta libertà per permettere un certo abbinamento della lunghezza delle tracce. Tuttavia, c'è un punto importante qui: questo include l'intera lunghezza dell'interconnessione (la tua scheda + cavo + scheda ricevente). Pertanto, solo per essere sicuri, fai del tuo meglio per limitare lo skew il più possibile instradando le coppie insieme e imponendo un po' di abbinamento della lunghezza dove possibile. Questo è abbastanza facile perché i chip del controller USB posizioneranno generalmente i segnali D+ e D- sullo stesso bordo del chip.

Quando la differenza di lunghezza è breve, potrebbe non essere necessario implementare l'accordatura della lunghezza poiché occupa spazio nel layout del PCB. Solo per vedere cosa faranno altri sistemi funzionali, guarda l'immagine del layout del PCB di Arduino UNO mostrata di seguito (nota: è stata convertita da file Eagle). Le linee USB sono state evidenziate nell'immagine. Se misuriamo le lunghezze dei lati positivo e negativo di queste linee (coprendo ciascun lato delle resistenze di terminazione), troviamo che la differenza di lunghezza è di circa 180 mils. Questo è il motivo per cui queste linee non sono state accordate in lunghezza tra l'Arduino e il connettore USB.

In questo spazio ristretto, l'interfaccia funzionerà comunque correttamente perché la differenza di lunghezze è solo di circa 180 mils, che è molto inferiore alla tolleranza di skew. Anche con l'effetto peggiore della trama delle fibre su un laminato di vetro a tessitura larga, lo skew totale (in termini di lunghezza) sarebbe solo equivalente a meno di circa 230 mils, ancora molto inferiore alla tolleranza di skew per questa interfaccia.

Il Tuo Stile di Routing: Coppie Differenziali Accoppiate o Microstrisce Differenziali Coplanari

Come ho sottolineato nel blog precedente, non è possibile utilizzare la larghezza della traccia corrispondente all'impedenza caratteristica in High Speed USB 2.0 e soddisfare comunque la specifica di impedenza. Ricorda, la larghezza della traccia su un PCB di spessore standard con due strati era di circa 110 mils per Dk - 4.8. Come possiamo possibilmente rispettare la specifica di impedenza del paio differenziale in USB 2.0 ad alta velocità con quella larghezza della traccia?

In realtà, non abbiamo bisogno di usare quella larghezza della traccia a causa del modo in cui le tracce nei paia differenziali si accoppieranno l'una all'altra. Se usi il tuo calcolatore di impilamento dei layer con un PCB a 2 strati spesso per calcolare l'impedenza differenziale per microstrisce, scoprirai che la larghezza della traccia effettiva necessaria è molto più piccola ed è una funzione della spaziatura. Per le nostre linee microstrip di esempio su un PCB a 2 strati, il Layer Stack Manager in Altium Designer ci dice che la larghezza della traccia è di circa 16 mils per una spaziatura di 5 mils.

USB 2-layer PCB impedance
Risultati dell'impedenza microstrip differenziale nel Gestore dello stack di livelli Altium Designer

Potresti utilizzare tracce più sottili con questi microstrip differenziali, ma dovresti usare uno spazio più piccolo. In questo progetto, siamo vicini al limite delle distanze tra traccia e traccia per l'incisione, quindi mantenere una distanza di 5 mil tra le tracce va bene poiché stiamo rispettando sia la specifica per segnali singoli sia quella differenziale con queste larghezze di traccia. Come facciamo a sapere che stiamo rispettando la parte della specifica per segnali singoli? Questo perché: la larghezza della traccia data sopra è per l'impedenza in modo dispari di una singola traccia, non l'impedenza caratteristica! Ecco perché devi attenerti a questo particolare valore per la larghezza della traccia e non usare il valore dell'impedenza caratteristica per un microstrip singolo in isolamento.

C'è un'alternativa di cui non abbiamo discusso: l'uso di coppie microstrip differenziali coplanari. Facendo scorrere il piano di massa fino ai microstrip sullo strato superficiale, e posizionando il piano di massa sotto i segnali sullo strato inferiore, puoi ottenere un'impedenza differenziale di 90 Ohm con tracce larghe 9,5 mil, uno spazio tra le tracce di 5 mil e uno spazio fino al terra di 5 mil. Possiamo vedere dai valori sottostanti che raggiungiamo piacevolmente l'impedenza richiesta di 90 Ohm nella specifica USB 2.0 con questi valori.

USB 2-layer PCB coplanar impedance
Risultati dell'impedenza differenziale coplanare nel Gestore dello stack di livelli Altium Designer

Con questo arrangiamento, non dovremo preoccuparci tanto del problema della lunghezza critica e del problema della larghezza della traccia in un circuito a 2 strati. Tuttavia, è necessario notare che questa larghezza e spaziatura devono essere mantenute per tutta la lunghezza del percorso. Il routing USB tratta le tracce come tracce singole separate che si trovano a trasportare un segnale differenziale, quindi potresti instradarle separatamente.

All'interno del Layout PCB

La topologia di routing è piuttosto semplice: instradare dal chip USB ai resistori di terminazione/pull-up/pull-down, e poi al connettore, tutto come coppie differenziali. L'immagine qui sotto mostra la topologia di routing ad alto livello con resistori di pull-up e pull-down. Sono richiesti anche alcuni condensatori sotto lo standard USB 2.0 come mostrato di seguito.

USB 2-layer PCB routing
Topologia di tracciamento per il routing USB 2.0 a piena velocità e ad alta velocità.

Il routing è piuttosto semplice: rispetta le pratiche standard di routing per coppie differenziali passando tra ogni parte del sistema e non avrai problemi con la registrazione del segnale o l'adattamento dell'impedenza. Mantieni percorsi brevi con collegamenti diretti che partono dalle linee della coppia differenziale per effettuare connessioni a GND/VCC per le resistenze di pull-down e pull-up. Assicurati di controllare il circuito di applicazione per il tuo dispositivo nei tuoi datasheet poiché le linee D+/D- potrebbero avere ulteriori condensatori esterni sul dispositivo; vedrai questo sul dispositivo TUSB2077A che ho citato sopra.

Mostreremo un esempio reale nel layout del PCB in un prossimo blog. Per ora, prova a farlo tu stesso e vedi se riesci a realizzare il routing.

Riassunto

In questo blog e nel nostro post del blog precedente, abbiamo esaminato alcune delle regole di routing importanti da seguire quando si configura e si effettua il routing di un'interfaccia ad alta velocità come l'USB su un PCB a 2 strati. Ecco le nostre linee guida finali per il routing:

  • Se non hai accesso a un calcolatore di impedenza differenziale, o non sai come calcolarlo, allora mantieni le lunghezze delle tracce inferiori a 0,75 pollici senza controllo dell'impedenza
  • Mantieni la discrepanza di lunghezza della coppia differenziale entro 0,6 pollici - questo è molto facile da fare
  • Se puoi accedere a un calcolatore di impedenza differenziale, allora usa microstrip differenziali o microstrip coplanari differenziali (entrambi con impedenza controllata) e progetta secondo la specifica di impedenza differenziale di 90 Ohm

Le linee guida per il routing mostrate qui non garantiranno sempre la compatibilità elettromagnetica, ci sono altri aspetti del progetto da considerare, che a volte sono realizzati in modo scadente nei PCB a 2 strati. Tuttavia, queste linee guida aiuteranno certamente con l'EMI se stai lavorando con la specifica Full Speed. La mia preferenza personale è di usare un PCB a 4 strati per bus digitali seriali e protocolli ad alta velocità, in particolare se la scheda è più grande o se deve andare in produzione in volumi.

Se stai utilizzando USB 3.0, allora hai requisiti rigorosi sulla corrispondenza delle lunghezze a causa dei rapidi tassi di transizione, e dovresti posizionare l'interfaccia vicino al connettore come abbiamo fatto con la specifica Full Speed elencata sopra.

Quando devi tracciare un'interfaccia come l'USB su un PCB a 2 strati o su una scheda multistrato più avanzata, utilizza gli strumenti di layout e tracciamento PCB in CircuitMaker. Tutti gli utenti di CircuitMaker possono creare schemi, layout PCB e documentazione di produzione necessari per trasformare un'idea in un prodotto. Gli utenti hanno anche accesso a uno spazio personale sulla piattaforma Altium 365™, dove possono caricare e memorizzare i dati di progettazione nel cloud, e visualizzare facilmente i progetti tramite un browser web in una piattaforma sicura.

Inizia a usare CircuitMaker oggi e resta sintonizzato per il nuovo CircuitMaker Pro di Altium.

Sull'Autore

Sull'Autore

Zachariah Peterson ha una vasta esperienza tecnica nel mondo accademico e industriale. Prima di lavorare nel settore dei PCB, ha insegnato alla Portland State University. Ha condotto la sua Fisica M.S. ricerche sui sensori di gas chemisorptivi e il suo dottorato di ricerca in fisica applicata, ricerca sulla teoria e stabilità del laser casuale. Il suo background nella ricerca scientifica abbraccia temi quali laser a nanoparticelle, dispositivi semiconduttori elettronici e optoelettronici, sistemi ambientali e analisi finanziaria. Il suo lavoro è stato pubblicato in diverse riviste specializzate e atti di conferenze e ha scritto centinaia di blog tecnici sulla progettazione di PCB per numerose aziende. Zachariah lavora con altre società del settore PCB fornendo servizi di progettazione e ricerca. È membro della IEEE Photonics Society e dell'American Physical Society.

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.