USB-High-Speed (ULPI) Routing

Phil Salmony
|  Erstellt: Oktober 3, 2022  |  Aktualisiert am: November 24, 2022
USB-High-Speed (ULPI) Routing

Es gibt heute viele USB-Varianten auf dem Markt, von Variationen des Protokolls selbst bis hin zu Variationen innerhalb des Protokolls. In diesem Artikel untersuchen wir die ULPI-Schnittstelle (UTMI+ Low Pin Interface), die in USB-High-Speed (HS) PHYs zu finden ist.

Im Vergleich zur UTMI+ Spezifikation und Schnittstelle ist ULPI, wie der Name schon sagt, eine Variante dieses Busses mit geringer Pin-Anzahl. Dies hilft uns PCB-Entwicklern, da wir nicht so viele Leiterbahnen heraus routen und deren Länge anpassen müssen. Dies ist sowohl für Designs mit beschränktem Platz als auch aus EMI-Gründen vorteilhaft.

ULPI ist eine High-Speed-Schnittstelle, die es der endgültigen USB-HS-Implementierung ermöglicht, eine bestimmte maximale Bitrate von 480 Mbps zu erreichen. Daher müssen wir beim Routing vorsichtig sein, um EMI- und SI-Probleme zu vermeiden.

Für einen tieferen Einblick sollten Sie sich unbedingt dieses Video ansehen.

ULPI-Grundlagen

Ein USB-HS-PHY ist - sehr einfach ausgedrückt - ein Übergangspunkt zwischen einer ULPI-Schnittstelle und einem USB-Differenzialpaar, das ein USB-Stecker erkennt. Die ULPI-Schnittstelle ist mit einem kompatiblen IC verbunden, wie zum Beispiel einem fortschrittlichen Mikrocontroller, FPGA oder System-on-Chip (SoC).

Die ULPI-Schnittstelle besteht aus einem 8-Bit-breiten, bidirektionalen Daten-Bus (DATA[7:0]), einem Taktsignal (CLK) mit einer Frequenz von 60 MHz und verschiedenen Steuersignalen (DIR, STP, NXT).

Anstiegs- und Abfallzeiten

Obwohl die Taktfrequenz mit 60 MHz niedrig erscheinen mag, müssen wir uns daran erinnern, dass es nicht unbedingt um die Taktfrequenz geht, sondern um die Anstiegs- und Abfallzeiten.

Das liegt daran, dass die Flanken unseres digitalen (fast) rechteckigen Signals den größten Teil der hochfrequenten Informationen enthalten. Auch ohne detaillierte Analyse lässt sich das leicht erkennen, wenn man die Fourierreihe einer Rechteckwelle betrachtet, die sich aus der Grundwelle (in unserem Fall 60 MHz) und ungeraden Harmonischen zusammensetzt, die sich mit abnehmender Leistung bis ins Unendliche erstrecken.

Leider sind Anstiegs- und Abfallzeiten auf dem Datenblatt eines Herstellers in der Regel schwierig zu finden und müssen über IBIS-Dateien extrahiert werden. Datenblätter geben uns üblicherweise nur einen „besten Fall” für Anstiegs- und Abfallzeiten - was leider nicht sehr nützlich ist.

In jedem Fall müssen wir aufgrund der hochfrequenten Harmonischen sowie der durch die ULPI-Schnittstelle auferlegten Zeitbeschränkungen beim Routing vorsichtig sein.

Kontrollierte Impedanz

ULPI-Signale erfordern bei den betreffenden Frequenzen eine Impedanzkontrolle, und bei längeren Leiterbahnen fungieren die Leiterbahnen als Übertragungsleitungen. Daher muss die Impedanz auf den Treiber und den Empfänger abgestimmt werden.

Normalerweise benötigen wir ULPI-Leiterbahnen mit einer kontrollierten Impedanz von 50 Ohm. Die Impedanzkalkulation für Leiterbahnen ist nicht Teil dieses Artikels, jedoch ist in Altium Designer ein sehr praktischer 2D-Feldlöser eingebaut.

Sie müssen Ihren PCB-Aufbau kennen und diese Informationen in den „Lagenaufbau-Manager” von Altium Designer eingeben. Dann können Sie zur Registerkarte „Impedanz“ navigieren und Altium Designer die erforderliche Leiterbahnbreite für eine bestimmte Impedanz berechnen lassen.

Lagenaufbau-Manager von Altium


Nebenbei bemerkt muss das USB-High-Speed-Differenzialpaar mit einer differenziellen Impedanz von 90 Ohm geroutet werden.

Verzögerungsanpassung

Verzögerungsanpassung


Neben der Kontrolle unserer Leiterbahnimpedanz müssen wir auch die Leiterbahnen verzögert anpassen. Die ULPI-Spezifikation kann in Kombination mit den Zeitspezifikationen des PHY-Datenblatts verwendet werden, um das Zeitbudget zu bestimmen.

Wenn Sie bisher noch keine Zeitbudgets berechnet haben, lesen Sie unbedingt das Benutzerhandbuch Xilinx User Guide UG863 und insbesondere den Abschnitt USB2.0. Darin erfahren Sie, wie Sie die maximal zulässige Leiterbahnlänge berechnen sowie die maximalen Verzögerungsabweichungen zwischen ULPI-Signalleitungen und der CLK-Leiterbahn.

Denken Sie bei jedem Szenario mit Verzögerungsanpassung daran, die Pin-Verzögerungen Ihres Controllergehäuses zu berücksichtigen. Pin- und Gehäuseverzögerungen, so wie es bei den Anstiegs- und Abfallzeiten der Fall war, können manchmal schwierig zu bekommen sein. Diese Gehäuseverzögerungen können jedoch in der Größenordnung von 100 Pikosekunden liegen, was in bestimmten Fällen Ihr Zeitbudget aus dem Gleichgewicht bringen kann.

Zusätzlich muss eine Via-Verzögerung berücksichtigt werden. Eine einfache Routing-Methode, die es Ihnen ermöglicht, die Via-Verzögerung zu ignorieren, besteht darin, alle Leiterbahnen gleich zu routen. Im Wesentlichen bedeutet dies, für alle ULPI-Signale die gleiche Anzahl von Vias und die gleichen Lagenübergänge zu verwenden.

Referenzebenen

Denken Sie daran, solide Referenzebenen (vorzugsweise 0V-Ebenen) direkt neben Ihren Signalleiterbahnen zu haben. Am besten mit einem dünnen Dielektrikum dazwischen. Verlegen Sie außerdem keine ULPI-Leiterbahnen über Spalten oder Hohlräume in der Referenzebene.

Referenzebenen


Stellen Sie zu guter Letzt sicher, dass Sie eine „Übergangs”-Via (bei 0V) in der Nähe der Signal-Via platzieren, wenn Sie zwischen Referenzen und Lagen mit einer Signal-Via wechseln. Dadurch wird sichergestellt, dass während des Z-Achsentransfers die Rückleitung noch gut definiert ist und ein guter Übergang der Referenzebene gewährleistet wird.

Referenzebenen


ULPI-Routing erfordert besondere Aufmerksamkeit, wenn es um PCB-Layout und -Routing geht. Mit etwas Überlegung und der Beachtung der Richtlinien in diesem Artikel können auch Sie funktionierende ULPI-Designs erstellen und dabei EMI- und SI-Probleme vermeiden.

Altium Designer hilft Ihnen dabei mit seinem fortschrittlichen 2D-Feldlöser für Impedanzberechnungen sowie mit Tools zur Verzögerungs- und Längenanpassung.
 

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Phil Salmony ist ein professioneller Hardware-Design-Entwickler und Ersteller von didaktischen technischen Inhalten. Nach seinem Master-Abschluss in Electrical and Control Systems Engineering an der University of Cambridge begann er seine Ingenieurskarriere bei einem großen deutschen Luft- und Raumfahrtunternehmen. Später war er Mitbegründer eines Drohnen-Startups in Dänemark, wo er als leitender Elektronik- und Leiterplatten-Design-Entwickler mit einem Fokus auf eingebettete Mixed-Signal-Systeme tätig war. Derzeit betreibt er seine technische Beratungsfirma von Deutschland aus, mit der er sich hauptsächlich auf digitale Elektronik und Leiterplattendesign konzentriert.

Neben seiner Beratertätigkeit betreibt Phil seinen eigenen YouTube-Kanal (Phil's Lab), wo er didaktische Technikvideos zu Themen wie PCB-Design, digitaler Signalverarbeitung und Mixed-Signal-Elektronik erstellt.

Ähnliche Resourcen

Verwandte technische Dokumentation

Zur Startseite
Thank you, you are now subscribed to updates.