Wenn Sie irgendetwas mit S-Parametern machen, sind Sie auf Kausalitätsprobleme gestoßen. Das erste Mal zu hören, dass Ihre S-Parameter nicht-kausal sind, ist eine unangenehme Erfahrung. Ein Kunde könnte sagen: „Ihre S-Parameter bestehen mein Kausalitätstool nicht. Bitte korrigieren Sie sie und senden Sie mir neue Daten. Danke.“ Danke in der Tat. Nachdem Sie diese Nachricht erhalten haben, sind Sie wahrscheinlich zu Ihrem ansässigen SI-Experten, Google, gegangen und haben Kausalität eingegeben.
Wenn Sie fertig sind, zu lesen, was Aristoteles über das Thema zu sagen hat, haben Sie immer noch nichts, was Sie Ihrem Kunden geben können. Viele Ingenieure stecken an diesem Punkt fest. Glücklicherweise gibt es einige einfache Methoden, die Sie verwenden können, um die Kausalität von S-Parametern in Ihren Simulationen und experimentellen Daten zu überprüfen und durchzusetzen.
Kausalität bedeutet einfach, dass eine Wirkung nach einer Ursache eintreten muss. Sie schlagen mit einem Hammer auf eine Glocke, dann klingelt die Glocke. Es wäre seltsam, wenn nicht sogar beunruhigend, wenn die Glocke klingeln würde, während der Hammer sich ihr nähert. In Systemen, die durch S-Parameter beschrieben werden, muss eine Reaktion nach einem Stimulus erfolgen. Es gibt drei typische Stimuli, die Signalintegritäts-Ingenieure analysieren: einen Impuls, einen Schritt und einen Puls.
Die inverse Fourier-Transformation eines S-Parameters ist eine Übertragungsfunktion für eine bestimmte Art von Signal. Zum Beispiel definiert Kurokawas Behandlung von Übertragungsleitungs-S-Parametern die Eingänge und Ausgänge in einem N-Port-Netzwerk in Bezug auf äquivalente Leistung, und die S-Parameter wirken wie eine Übertragungsfunktion für diesen speziellen Typ von Signal. Die meisten Ingenieure sind mit einer Standard-Übertragungsfunktion in Bezug auf Eingangs- und Ausgangsspannung vertrauter. Unabhängig davon, wie Sie eine Übertragungsfunktion definieren (als S-Parameter oder Filter), hat jede Übertragungsfunktion eine Impulsantwortfunktion.
Das Erste, was man tun sollte, um Kausalität mit minimalem Aufwand zu überprüfen, ist die inverse Fourier-Transformation eines S-Parameters zu nehmen und nach Antworten vor dem Zeitpunkt des Stimulus (t = null Sekunden) zu suchen. Vor null Sekunden sollte das System in Ruhe sein, und jeder von null verschiedene Wert deutet auf eine Kausalitätsverletzung hin.
Ich sage gerne, dass die rohe inverse Fourier-Transformation eines S-Parameters eine „native Anstiegszeit“ hat. Das bedeutet, der S-Parameter ist vollkommen ungefiltert und zeigt alle verfügbaren Informationen. Eine Impulsantwort mit nativer Anstiegszeit wird immer nicht-kausal erscheinen, weil sie bandbegrenzt ist. Diese Bandbreitenbegrenzung bedeutet, dass man effektiv die inverse Fourier-Transformation einer Rechteckfunktion, rect(f), durchführt, die eine Sinc-Funktion, sinc(t), ist. Sinc-Funktionen sehen aus wie eine Impulsantwort mit zusätzlichem Klingeln vor und nach dem Höhepunkt des Pulses. Da es vor null Sekunden klingelt, ist die Funktion nicht-kausal. Das impliziert, dass alle S-Parameter per Definition nicht-kausal sind, und ja, das ist wahr. Ich habe unten in Abbildung 1 ein Beispiel, das dieses Phänomen zeigt, das manchmal als „das Gibbs-Phänomen“ nach J. Willard Gibbs bezeichnet wird.
Der schwarze Plot ist die Impulsantwort eines Reflexions-S-Parameter-Vektors, und der rote Plot ist die inverse Fourier-Transformation einer Sinc-Funktion mit derselben Bandbreite wie die Impulsantwort, 100 GHz. Man kann den Trend identisch mit Magnitudenunterschieden sehen. Tatsächlich habe ich diese Plots normalisiert, um hervorzuheben, wie das Klingeln der Sinc-Funktion entspricht, und die Werte waren tatsächlich weniger ähnlich, als ich gezeigt habe. Daher kann man nicht einfach die Sinc-Funktion von der Impulsantwort subtrahieren, um eine kausale Antwort zu erhalten.
Stattdessen sollte man eine Fensterfunktion vor der Anwendung der inversen Fourier-Transformation anwenden, um das Klingeln zu beseitigen. Eine Fensterfunktion im Frequenzbereich ist ein Filter, der hochfrequente Inhalte aus der Übertragungsfunktion entfernt. Im Zeitbereich erzwingt eine Fensterfunktion die periodische Natur, die erforderlich ist, um die diskrete Fourier-Transformation der Zeitdomänenfunktion mit minimaler Verzerrung durchzuführen. Es gibt viele Fensterfunktionen zur Auswahl. Hier sind einige Beispiele.
wo N die Anzahl der Punkte ist und L = N + 1.
Wo,
N die Anzahl der Punkte ist.
Wo,
a0 = 0,42,
a1 = 0,50 und
a2 = 0,08.
Im folgenden Beispiel habe ich die Blackman-Fensterfunktion auf dieselbe Impulsantwort angewendet, die in Abbildung 1 im Vergleich zur gleichen Sinc-Funktion gezeigt wird. Dieses Mal ist die Antwort eindeutig kausal ohne Artefakte aus dem bandbegrenzten Spektrum.
Sie können diese Technik verwenden, um sicherzustellen, dass Ihre Diagramme keine falschen nicht-kausalen Artefakte aufweisen, die durch die Umwandlung vom Frequenzbereich in den Zeitbereich entstehen. Diese Technik behebt jedoch nicht Ihre S-Parameter. Es dient nur dazu, den Effekt zu visualisieren und zu sehen, ob eine Kausalitätsverletzung wirklich vorliegt.
Das Entfernen der Einbettung ist der häufigste Grund für nicht-kausale S-Parameter. Eric Bogatin, Signalintegritäts-Evangelist, nennt das Phänomen „Geisterglieder“. Es tritt auf, wenn die Vorrichtung de-embeddet wurde, aber die Vorrichtung scheint immer noch vor null Sekunden präsent zu sein. Das Impedanzdiagramm unten in Abbildung 6 ist ein Beispiel für Geisterglieder. Wenn die Blackman-Fensterfunktion auf diesen S-Parameter im Frequenzbereich vor der Anwendung der inversen Fourier-Transformation angewendet wird, wird immer noch ein nicht-Null-Verhalten vor null Sekunden beobachtet.
Die einfachste Methode, dieses Problem zu beheben, besteht darin, Kausalität durch Definition durchzusetzen. Man multipliziert einfach die Impulsantwort mit der Einheitssprungfunktion - siehe Abbildung 7. Dies ist übrigens dasselbe, wie eine Hilbert-Transformation anzuwenden. Dies zu tun und Passivität durchzusetzen (ein weiterer zukünftiger Blog) wird die meisten Ihrer Probleme mit Kundenbeschwerden über die Qualität der S-Parameter lindern.
Um Ihnen zu helfen zu verstehen, was hier vor sich geht, habe ich unten in Abbildung 8 ein Workflow-Diagramm platziert, das einen einfachen Prozess zur Durchsetzung der Kausalität von S-Parametern zeigt.
Ich denke, das ist eine berechtigte Frage. Wenn man in Lehrbüchern über Kausalität liest, geschieht dies im Kontext linearer Systeme. In seiner einfachsten Form erfüllt ein lineares System das Prinzip der Superposition und Homogenität. Darüber hinaus müssen lineare Systeme kausal sein, um in Echtzeit zu funktionieren. Wenn ein System nicht-kausal ist, kann es nicht für die Systemanalyse verwendet werden, was der Kerngrund ist, warum kausale S-Parameter wichtig sind. SerDes Anbieter benötigen kausale Kanäle, um die Leistung ihrer Produkte mit internen Werkzeugen genau vorhersagen zu können. Für den Rest der Signalintegritäts-Welt benötigen wir kausale S-Parameter für Werkzeuge wie ADS, Channel Operating Margin (COM), Seasim und (mein Favorit) PyBERT. Diese Werkzeuge helfen uns, das erwartete Ergebnis einer Verbindung mit einer gegebenen Siliziumtechnologie vorherzusagen.
Das Ergebnis der Verwendung eines nicht-kausalen S-Parameters in einem Simulationstool ist eine falsche Leistungsverschlechterung. Vor einigen Jahren stieß ich darauf, als ich Kabelbaugruppen gemäß der IEEE 802.3 100GBASE-CR4 Spezifikation bewertete. Diese Spezifikation verwendet COM als normatives Maß, und es gelang mir nicht, meine simulierten Kabelbaugruppen bestehen zu lassen. Das war ein großes Problem, denn ich konnte mein Management nicht davon überzeugen, dass mein Design funktionierte, ohne Modelle zu haben, die die Spezifikation erfüllten. Mein Verlust lag innerhalb der Standardgrenzen, und alle meine S-Parameter bestanden die informativen Masken. Der Kanal enthielt das Modul Compliance Board (MCB), den Steckverbinder, die Kabelbaugruppen-PCB und das Rohkabel (siehe Abbildung 9).
Ich erstellte die MCB-Fixture-Modelle mit Keysight AFR, fand das Steckverbindermodell auf der Website eines Steckverbinderunternehmens und erstellte alle anderen Modelle mit einem kommerziellen 3D-EM-Solver. Stück für Stück suchte ich nach dem Problem. Schließlich verwendete ich ein gemessenes Kabel anstelle des modellierten Kabels. Ich dachte nicht, dass es einen Unterschied geben würde, da die gemessenen S-Parameter des Kabels in Größe und Phase fast identisch mit meinem Modell aussahen. Dennoch, zu meiner Überraschung, begannen meine Simulationen plötzlich zu bestehen.
Ich habe die eigentliche Ursache damals nicht verstanden, aber das war wirklich ein Weckruf für mich. Mir war klar, dass eine ordnungsgemäße S-Parameter-Kausalität und Modellierung buchstäblich über Erfolg oder Misserfolg eines Designs entscheiden können. Jahre später fand ich den richtigen Weg, um RLGC-Generierung für kausale Übertragungsleitungen durchzuführen. Als Nächstes zeige ich Ihnen ein Anzeichen für nicht-kausale Modelle, das Sie selbst finden können. Das untenstehende Diagramm in Abbildung 10 zeigt Impulsantworten von zehn Zoll langen Streifenleiter-Modellen: eines kausal, das andere nicht-kausal.
Das Erste, was zu beachten ist, ist, dass die Impulsantwort kein offensichtliches Problem aufweist: Die Antwort vor null Sekunden ist null. Das Anzeichen für die nicht-kausale Antwort ist die Form. Es erscheint, als ob es ein gespiegeltes Bild der Intersymbol-Interferenz (ISI) zur Zeit gibt, wo der Impuls seinen Höhepunkt erreicht. Im Gegensatz dazu hat die kausale Antwort eine scharfe ansteigende Kante, und die ISI fällt exponentiell auf null. Obwohl die nicht-kausale Antwort mehr Signal zu haben scheint, zeigen die Kanalergebnisse, dass ihre Qualität eindeutig schlechter ist. Ich habe die Ergebnisse und Beiträge der Kanalbetriebsmarge unten.
COM = 8,47 dB
ISI-Varianz: 0,49 mV
COM = 7,55
ISI-Varianz: 0,71 mV
Prozentual betrachtet scheint es nicht allzu schlecht zu sein. Das ISI beträgt 15% im Vergleich zu 10% nicht-kausal zu kausal. Wenn man jedoch die Rauschzahl des ISI betrachtet, sieht man, dass das ISI im nicht-kausalen Verlauf um 45% höher ist! In den meisten Systemen, mit denen ich zu tun hatte, treiben die Kunden die Hardware an ihre Grenzen, und nicht-kausale Übertragungsleitungsmodelle geben Systemdesignern fälschlicherweise an, dass ihr Design fehlerhaft ist, obwohl es das nicht ist.
Ich werde Ihnen schnell erzählen, wie Sie sicherstellen können, dass die Modelle, die Sie erstellen, kausal sind. Zuerst stellen Sie sicher, dass Ihre dielektrischen Eigenschaften frequenzabhängig und kausal sind. Der beste Weg, dies zu tun, ist die Verwendung des Infinite Pole Model von Djordjevic et al. Diese Methode wird am klarsten in Hall und Hecks Advanced Signal Integrity for High-Speed Design erklärt. Zweitens, wenn Sie RLGC-Modelle erstellen, stellen Sie sicher, dass alle Parameter frequenzabhängig sind. Solange Sie mit frequenzabhängigen Dielektrika modellieren, sind R, G und C einfach. L ist normalerweise das Problem. Wenn Sie feststellen, dass Ihr L nicht frequenzabhängig ist, versuchen Sie diese Formel, und es könnte die Dinge beheben. Die Ergebnisse können jedoch variieren.
Versuchen Sie nicht, sich selbst zu hart zu beurteilen, wenn Sie mit einem S-Parameter-Kausalitätsproblem konfrontiert sind. Das Problem ist in der Branche immer noch weit verbreitet, selbst wenn erstklassige Werkzeuge verwendet werden. Wenn Milliarden-Dollar-Unternehmen Probleme haben, dann sind Sie in guter Gesellschaft! Versuchen Sie stattdessen, es als eine Gelegenheit zur Verbesserung Ihrer Fourier-Transformationsfähigkeiten und Ihres Wissens über Signalintegrität zu betrachten.
Der Silberstreifen für Komponentenhersteller liegt hier in nicht-kausalen Übertragungsleitungsmodellen, die dazu führen, dass Endbenutzer in der Regel keine ernsthaften Probleme erkennen. Die meisten Systemdesigner verwenden die heuristische Kausalitätsprüfung, die nur Reflexions-S-Parameter-Probleme erfasst, die durch Geisterglieder verursacht werden, und dieses Problem lässt sich leicht mit der oben gezeigten Methode beheben.
Möchten Sie mehr darüber erfahren, wie Altium Ihnen bei Ihrem nächsten PCB-Design helfen kann? Sprechen Sie mit einem Experten bei Altium oder entdecken Sie, wie die Nutzung eines PCB-Übertragungsleitungs-Rechners das Design erleichtert.