Wenn Sie mit einem Hochgeschwindigkeitsgerät arbeiten, müssen Sie wahrscheinlich differentielle Paare zwischen Komponenten verlegen. Viele Hochgeschwindigkeits-PCBs enthalten differentielle Schnittstellen, die spezifische ungerade Modus-/differentielle Impedanzwerte erfordern, und der PCB-Layout-Designer muss diese Geometriebeschränkungen in ihrem PCB-Editor festlegen, um sicherzustellen, dass die Leiterbahnen die richtigen Impedanzwerte haben.
Der schnellste und genaueste Weg, dies zu tun, ist die Impedanzberechnung und die Einrichtung von Designregeln in einen einzigen Arbeitsablauf zu integrieren. Altium Designer hilft Ihnen dabei mit der Funktion des Layer Stack Managers, der sein Berechnungsergebnis an den PCB Rules and Constraints Editor weitergibt. Weitere Funktionen wie Entkopplungslängenlimit, Gesamtleiterbahnlängenlimit und Längen-/Verzögerungsabweichungslimits.
Wenn Sie in Ihrem Gerät differentielle Paare verwenden müssen, müssen Sie definieren, welche Netze differentielle Signalübertragung nutzen, um mit Ihren Komponenten zu kommunizieren. Es reicht nicht aus, einfach ein Netz zu platzieren; ein Netz muss speziell als Teil eines differentiellen Signals gekennzeichnet werden. Der Schaltplan- und Layout-Editor in Altium Designer® umfassen Net-Definitionsfunktionen, und Sie können differentielle Paare innerhalb eines Signalnetzes definieren. Zuerst müssen Sie einige Komponenten auswählen, die miteinander kommunizieren werden, sie in Ihrem Schaltplan platzieren und definieren, welche Ports differentielle Signalübertragung verwenden werden.
Hier haben wir drei Ziele:
Um zu beginnen, werden wir uns das untenstehende Schaltbild anschauen und die differentiellen Paare definieren, die wir benötigen, um unser differentielles Signal zu erstellen. Dieses Schaltbild enthält einen Microchip LAN9514I-JZX USB/Ethernet-Controller, einen Edge-Connector und einige abgeschirmte USB-Steckverbinder. Diese Komponenten können im Manufacturer Part Search Panel innerhalb von Altium Designer gefunden werden. Aus Gründen der Kürze werden wir uns nur „Teil A“ aus dieser Pinliste ansehen, der im Schaltbild mit dem Designator „U1A“ gekennzeichnet ist. Einige der Ausgänge werden mit dem Board-Edge-Connector verbunden, und andere Netze werden zu USB-Steckverbindern geroutet.
USB/Ethernet-Controller und einige Verbindungen in Altium Designer
Beachten Sie, dass ich in diesem Schaltbild die USB-Ausgänge als differentielle Paare mit einem speziellen Direktivsymbol definiert habe. Sie können festlegen, welche Verbindungen differentielle Paare sind, indem Sie im Menü „Place“ auf die Option „Directives“ gehen und „Differential Pair“ auswählen. Sie können das Direktivsymbol auf den Verbindungen platzieren, die als differentielle Paare funktionieren sollen. Wählen Sie einfach alle Netze aus, die Teil eines differentiellen Paares sein werden.
Als nächstes wird jede Hälfte eines differentiellen Paares als positiv oder negativ definiert, indem der Netzname verwendet wird. Das positive Ende muss mit „_P“ am Ende des Netzlabels benannt werden, und das negative Ende muss mit „_N“ benannt werden. Ich habe dies für die USB1-USB3-Leitungen im obigen Schaltplan gemacht. Wir können das Gleiche für die RX-Leitungen im unteren linken Bereich von U1A tun. Beachten Sie, dass diese normalerweise mit einem Magnetik- und Bob-Smith-Abschlussschaltkreis verbunden wären, bevor sie zu einem RJ45-Stecker geführt werden, aber wir verwenden einfach die oben dargestellte einfache Situation, um das Routing von differentiellen Paaren zu veranschaulichen.
Um Ihre differentiellen Paare erfolgreich zu routen, ist es notwendig, Differentialpaar-Klassen und Netz-Klassen einzurichten. Das Ziel hierbei ist es, mehrere Paare zusammenzufassen, sodass die gleichen Designregeln auf alle Paare in der Gruppe angewendet werden können. Diese Gruppe ist eine Differentialpaar-Klasse, und Sie werden geometrische Anforderungen und Längenabgleichsanforderungen im Designregel-Editor anwenden.
Da wir eine Differentialpaar-Klasse definieren müssen, werden wir dies jeder Anweisung hinzufügen. Ich habe Klassen USB1 oder USB 3 für jede der Verbindungen im Schaltplan definiert. Wenn Sie auf das Directive-Symbol doppelklicken, können Sie Klassen und Designregeln für eine Verbindung in einem Differentialpaar definieren. Sie können auch mit der rechten Maustaste auf das Directive-Symbol klicken und auf „Eigenschaften“ klicken. Dadurch wird ein Dialogfeld geöffnet, das es Ihnen ermöglicht, ein Label, Klassen und Regeln für ein Differentialpaar festzulegen. Hier werden wir der „Diff. Pair Net Class“ jedem Paar hinzufügen und einen Klassennamen für dieses Netz zuweisen. Dies wird unten für USB1_P gezeigt.
Definition einer Differentialpaar-Netzklasse
Sie müssen auch Entwurfsregeln zu dieser Direktive hinzufügen. Dies kann innerhalb des oben gezeigten Dialogs erfolgen, um eine Entwurfsregel auf ein einzelnes Netz anzuwenden. Wenn Sie etwas wie Längenabstimmung für ein differentielles Paar oder für eine Gruppe von differentiellen Paaren durchführen möchten, ist es besser, dies im PCB-Editor zu tun. Wenn Sie eine Regel aus dem oben genannten Dialog erstellen, wird eine neue Entwurfsregel erstellt, die nur für dieses Netz gilt. Da wir die Längenanpassung auf einzelne USB1- bis USB3-Verbindungen anwenden möchten, können wir einfach die oben gezeigten Differentialpaar-Klassen definieren und warten, bis das Schema erfasst ist, um eine Entwurfsregel für diese Netze festzulegen.
Bevor Sie Ihr Schaltbild erfassen und mit dem Routing beginnen, müssen Sie ein neues PcbDoc erstellen, das ein Impedanzprofil für Ihre differentiellen Paare enthält. Für dieses einfache Beispiel habe ich eine 4-Lagen-PCB mit einem Single-Ended-Impedanzprofil (50 Ohm, benannt S50) und einem differentiellen Paar-Impedanzprofil (90 Ohm, benannt D90) erstellt. Das differentielle Paar-Impedanzprofil wird für die USB-Leitungen verwendet, da diese eine definierte differentielle Impedanz benötigen. Dies können Sie über den Layer Stack Manager innerhalb des PCB-Editors tun. Mein Stackup und Impedanzprofil sind unten dargestellt.
Beachten Sie, dass ich den Abstand zwischen den Leiterbahnen im differentiellen Paar auf den Standardwert von 5 mil festgelegt habe. Sie könnten jedoch erwägen, dies zu ändern, lesen Sie diesen Artikel für Anleitungen zur Einstellung Ihres Abstands zwischen differentiellen Paar-Leiterbahnen.
Ein Impedanzprofil für das Routing differentieller Paare definieren
An diesem Punkt können wir das Schema als Layout erfassen und die von uns definierten differentiellen Paare verlegen. Ich habe differentielle Paare für den Rest der Verbindungen zwischen dem FPGA und dem Stecker definiert. Zuerst fügen Sie Ihrem Projekt eine neue PCB hinzu und erfassen Ihr Schema. Dies können Sie tun, indem Sie Ihre leere PCB öffnen und im Menü „Design“ auf „Import Changes From…“ klicken. Beachten Sie, dass standardmäßig ein Room erstellt wird, es sei denn, Sie deaktivieren die Option im Dialogfeld für die Engineering Change Order.
Bevor wir mit dem Routing beginnen, müssen wir Designregeln für die differentiellen Paarnetze in unserem Schema definieren. Dies geschieht, indem man im PCB-Editor den Dialog Design -> Regeln öffnet. Hier müssen wir die folgenden Regeln für diese Netze definieren, damit sie der USB-Spezifikation entsprechen:
Wenn Sie die Designregeln für diese Paare definieren, können Sie eine Regel für jedes Netz erstellen und das Impedanzprofil auswählen, das Sie verwenden möchten. Dies wird unten gezeigt.
Definieren von Designregeln für einzelne Netze
Da wir mit mehreren differentiellen Paaren arbeiten, die alle dieselben Entwurfsregeln benötigen, ist es eine bessere Option, eine einzelne Entwurfsregel zu erstellen, die auf unsere Differentialpaar-Klasse angewendet wird. Um Klassen zu überprüfen und zu erstellen, öffnen Sie das Dialogfeld Design -> Klassen im PCB-Editor. Gehen Sie zum Eintrag Differentialpaar-Klassen, klicken Sie mit der rechten Maustaste und erstellen Sie eine neue Klasse. Solange Sie Ihre differentiellen Paare korrekt im Schaltplan definiert haben, können Sie diese Paare jetzt Ihrer neuen Klasse hinzufügen. Dies wird im Bild unten gezeigt.
Definieren einer Klasse für eine Gruppe von USB-Differentialpaaren
Nun können Sie zum Editor für Entwurfsregeln gehen und die Netzklasse auswählen, die Sie gerade für die Toleranz der Länge und die Routing-Beschränkungen erstellt haben, genau wie es für einzelne Netze gemacht wurde. Unter dem Eintrag "Wo das Objekt übereinstimmt" im Fenster der Entwurfsregel wählen Sie die Differentialpaar-Klasse aus, die Sie im obigen Fenster definiert haben. Die Entwurfsregel wird nun auf alle Netze in der Klasse angewendet (USB1, USB2 und USB3). Dies wird das Impedanzprofil anwenden, das Sie im Layer Stack Manager definiert haben, solange Sie die Option im Fenster der Entwurfsregel auswählen.
Zusätzliche Entwurfsregeln, die erforderlich sein könnten, um eine konsistente Impedanz zu gewährleisten und die Signalintegrität aufrechtzuerhalten, umfassen:
Die meisten dieser Regelungseinstellungen können im Abschnitt High Speed des PCB Design Rules and Constraints Editor gefunden werden.
Nun ist es an der Zeit, Änderungen aus dem Schaltplan zu importieren und mit dem PCB-Layout zu beginnen. Wir haben im Vorfeld viel Arbeit in die Festlegung der Beschränkungen investiert, bevor wir das PCB-Layout erstellen, aber jetzt werden die von uns festgelegten Designregeln sicherstellen, dass die gerouteten Leiterbahnen die erforderliche Impedanz, Abstände und Längenanpassungsregeln haben, während die Paare geroutet werden. Sobald Sie die Komponenten nach Ihren Wünschen angeordnet haben, wählen Sie die Option Interaktives Differenzpaar-Routing oben im Fenster des PCB-Editors.
Das Bild unten zeigt die Komponente, mit der wir in der Mitte der Route arbeiten möchten. Wenn Sie den interaktiven Router verwenden, müssen Sie nur auf ein Ende des Netzes klicken, und beide Leiterbahnen werden im Tandem geroutet, während Sie sich über die Platine bewegen.
Während es nicht ideal ist, Hindernisse zwischen den Leiterbahnen Ihres differentiellen Paares fallen zu lassen, kann der Router die Leiterbahnen automatisch um das Hindernis herum bewegen, während der Routingvorgang läuft. Um dies zu veranschaulichen, wurde ein Widerstand auf dem Routingpfad platziert, wie unten gezeigt. Wenn sich die Leiterbahnen der Komponente nähern, werden sie automatisch um die Komponente herum mit dem kleinstmöglichen Abstand bewegt. Dann können Sie auf der gegenüberliegenden Seite der Komponente klicken, um Ihr Routing um die Komponente herum festzulegen, und Sie können das Routing in Richtung des Ziels fortsetzen.
Beachten Sie, dass dies einen Designregelfehler für die maximale entkoppelte Länge auslösen kann, aber im Allgemeinen wird hier die Hindernisvermeidung befolgt, während Sie sich um die Komponente herum bewegen.
Für kompliziertere Komponenten, wie BGA mit hoher Ballanzahl oder einen SMD-Stecker mit engem Pinabstand, müssen Sie eine Fanout-Strategie verwenden, um Verbindungen für Ihre Leiterbahnen zu erstellen. Zusätzliche Routing-Einstellungen für diese Komponenten können gesteuert werden, indem Sie ein Raumobjekt um die Komponente erstellen. Sie können dann spezifische Einschränkungen, wie Abstände, innerhalb dieser Region festlegen, indem Sie die benutzerdefinierte Abfrage "Innerhalb des Raums" verwenden, wenn Sie Designregeln definieren. Dies ermöglicht es Ihnen, die Verjüngung zwischen den Pins, Entkopplungslängen, parallele Segmente und Abstände nur innerhalb der Raumregion zu steuern, was Impedanzinkongruenzen, die in die Komponenten-Pinbelegungen schauen, minimiert.
Das Bild unten zeigt zwei geroutete differentielle Paare. Dies ist ein schneller und einfacher Prozess dank der interaktiven Routing-Tools in Altium Designer. An diesem Punkt können Sie den Längenabgleich für jedes Paar oder über mehrere Paare hinweg anwenden. Schauen Sie sich diesen Artikel an, um zu sehen, wie Sie den Längenabgleich für differentielle Paare anwenden.
Abgeschlossenes Routing differentieller Paare in Altium Designer
Sie könnten auch das xSignals-Paket verwenden, um die Signalintegrität für diese Netze oder für eine Gruppe von Netzen zu untersuchen. Die Untersuchung einer Gruppe von Netzen erfordert die Definition einer xSignals-Klasse aus dem Dialog Design -> Klassen, genau wie es für die Erstellung einer Differentialpaar-Klasse gemacht wurde. Dies ermöglicht es Ihnen, die ansteigenden und abfallenden Kanten von Signalen sowie jedes Überschwingen/Unterschwingen zu untersuchen. Andere Hochgeschwindigkeits-Designregeln können auf dieses Layout in derselben Weise angewendet werden, wie es für Längentoleranz und differentielle Impedanz gemacht wurde. Die hier gezeigten Designregeln sind der Schlüssel zu schnellem und einfachem Routing von Differentialpaaren.
Altium Designer vereinheitlicht Informationen in Ihrem Design mit Ihren Routing-Tools und stellt sicher, dass Ihr nächstes Gerät wie beabsichtigt funktioniert. Die integrierte Umgebung in Altium Designer ermöglicht es allen Ihren Tools, mit demselben regelbasierten Design-Engine zu kommunizieren. Die besten Schemazeichnungs-, CAD-, Simulations- und Routing-Tools sind genau das, was Sie benötigen, um die besten PCBs zu erstellen.
Sprechen Sie noch heute mit einem Altium Designer-Experten, wenn Sie mehr über Altium Designer erfahren möchten.