Instradamento USB ad alta velocità (ULPI)

Phil Salmony
|  Creato: October 3, 2022  |  Aggiornato: March 17, 2024
Instradamento USB ad alta velocità (ULPI)

Oggi esistono molte varianti di USB sul mercato, dalle variazioni del protocollo stesso a variazioni all'interno del protocollo. In questo articolo esamineremo l'interfaccia ULPI (UTMI+ Low Pin Interface), disponibile in PHY (USB ad alta velocità).

In confronto alla specifica e all'interfaccia UTMI+, come suggerisce il nome, ULPI è una variazione a basso numero di pin di questo bus. Questa soluzione ci aiuta come ingegneri progettisti di PCB, poiché non abbiamo bisogno di routing e corrispondenze, né di molte tracce. Questo rappresenta un vantaggio per i progetti con vincoli di spazio, nonché per motivi EMI.

L'ULPI è un'interfaccia ad alta velocità che consente l'implementazione finale di USB HS per ottenere un bitrate massimo specifico di 480 Mbps. Dobbiamo quindi fare attenzione con il routing per evitare problemi di EMI e SI.

Per informazioni più approfondite, guarda questo video.

Nozioni di base sull'ULPI

Un USB HS PHY è, in parole molto semplici, un punto di transizione tra un'interfaccia ULPI e una coppia differenziale USB rilevata da un connettore USB. L'interfaccia ULPI è esposta a un IC compatibile, come un microcontrollore avanzato, un FPGA o un System on Chip (SoC).

L'interfaccia ULPI è composta da un bus dati bidirezionale a 8 bit (DATA[7:0]), un segnale clock (CLK) in esecuzione a una frequenza di 60 MHz e vari segnali di controllo (DIR, STP, NXT).

Tempi di risalita e discesa

Sebbene la frequenza di clock a 60 Mhz possa sembrare bassa, dobbiamo ricordare a noi stessi che non siamo necessariamente preoccupati per la frequenza di clock, ma piuttosto per i tempi di risalita e discesa.

Ciò è dovuto al fatto che i bordi del nostro segnale a onda (quasi) quadra digitale contengono la maggior parte delle informazioni ad alta frequenza. Senza un'analisi dettagliata, questo si può vedere facilmente osservando la serie di Fourier di un'onda quadra, che è composta dalla fondamentale (nel nostro caso, 60 MHz) e da armoniche dispari che si estendono all'infinito con livelli di potenza decrescenti.

Purtroppo, i tempi di risalita e discesa sono generalmente difficili da trovare nella scheda tecnica di un produttore e devono essere estratti tramite file IBIS. In genere, le schede tecniche ci forniscono solo un "caso migliore" per i tempi di risalita e discesa, un'informazione non propriamente utile.

In ogni caso, a causa di questo contenuto armonico ad alta frequenza e dei vincoli di temporizzazione imposti dall'interfaccia ULPI, è necessario prestare attenzione durante la fase di instradamento.

Impedenza controllata

I segnali ULPI richiedono il controllo dell'impedenza, in base alle frequenze interessate, mentre per le tracce più lunghe, le tracce funzioneranno da linee di trasmissione. Pertanto, l'impedenza deve essere adattata al driver e al ricevitore.

In genere, richiediamo che le tracce ULPI abbiano un'impedenza controllata di 50 Ohm. Il calcolo dell'impedenza per le tracce non fa parte di questo articolo, tuttavia, Altium Designer dispone di un risolutore di campo 2D integrato molto pratico.

Dovrai conoscere l'accumulo del tuo PCB e inserire queste informazioni in "Layer Stack Manager" di Altium Designer. Quindi, puoi passare alla scheda "Impedenza" e lasciare che Altium Designer calcoli la larghezza della traccia richiesta per una determinata impedenza.

Impedenza controllata


In breve, la coppia differenziale USB ad alta velocità deve essere instradata con un'impedenza differenziale di 90 Ohm.

Abbinamento dei ritardi

Abbinamento dei ritardi


Oltre a controllare la nostra impedenza di traccia, dobbiamo anche abbinare i ritardi delle tracce. La specifica ULPI, in combinazione con le specifiche di tempistica del datasheet PHY, può essere utilizzata per determinare il budget temporale.

Se non hai mai calcolato i budget temporale prima d'ora, consulta la guida per l'utente di Xilinx UG863 e in particolare la sezione USB 2.0, che ti fornirà i calcoli per la lunghezza massima consentita della traccia e le variazioni del ritardo massimo tra le tracce del segnale ULPI e la traccia CLK.

In qualsiasi scenario di abbinamento dei ritardi, ricorda di prendere in considerazione i ritardi dei pin del pacchetto del controller. I ritardi di pin e pacchetto, come nel caso dei tempi di risalita e discesa, talvolta possono essere piuttosto difficili da trovare. Tuttavia, questi ritardi del pacchetto possono essere dell'ordine di 100 picosecondi, che in alcuni casi può far saltare il budget temporale.

Inoltre, è necessario tenere conto del ritardo delle vie. Un metodo di instradamento semplice che ti consente di ignorare il ritardo consiste nell'instradare tutte le tracce allo stesso modo. In sostanza, ciò significa utilizzare lo stesso numero di vie e le stesse transizioni dei layer per tutti i segnali ULPI.

Piani di riferimento

Ricorda di avere piani di riferimento solidi (preferibilmente, piani "0V") direttamente adiacenti alle tracce del segnale. Preferibilmente, con un dielettrico sottile in mezzo. Inoltre, non instradare le tracce ULPI su divisioni o vuoti nel piano di riferimento.

Piani di riferimento


Infine, ogni volta che si effettua la transizione tra riferimenti e layer con una via di segnale, assicurarsi di posizionare una via di "transizione" (a "0V") accanto alla via di segnale. In questo modo, durante la transizione dell'asse Z, il percorso di ritorno sarà ancora ben definito e garantisce una buona transizione del piano di riferimento.

Piani di riferimento


Il routing ULPI richiede attenzione quando si tratta di layout e routing PCB. Tuttavia, con un po' di riflessione e seguendo le linee guida in questo articolo, anche tu potrai creare progetti ULPI funzionanti evitando problemi EMI e SI.

Altium Designer può aiutarti lungo il percorso, con il suo avanzato risolutore di campo 2D per i calcoli dell'impedenza, nonché gli strumenti di corrispondenza di ritardo e lunghezza.
 

Sull'Autore

Sull'Autore

Phil Salmony è un ingegnere professionista che si occupa di progettazione hardware e della creazione di contenuti di ingegneria educativa. Dopo essersi laureato all'Università di Cambridge con una laurea specialistica in ingegneria dei sistemi elettrici e di controllo, ha iniziato la sua carriera di ingegnere presso una grande azienda aerospaziale tedesca. In seguito, ha cofondato una startup di droni in Danimarca, dove ha ricoperto il ruolo di ingegnere capo per la progettazione di componenti elettronici e PCB, concentrandosi su sistemi integrati a segnale misto. Attualmente gestisce il suo servizio di consulenza tecnica in Germania, concentrandosi prevalentemente sull'elettronica digitale e sulla progettazione PCB.

Oltre all'attività di consulenza, Phil gestisce il suo canale YouTube (Phil's Lab), dove crea video di progettazione didattica su argomenti quali la progettazione PCB, l'elaborazione digitale dei segnali e l'elettronica a segnale misto.

Risorse correlate

Documentazione Tecnica Correlata

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