EMV-Simulation mit LTspice

Verbesserung der Signalintegrität

2. Dezember 2024, 6:00 Uhr | Richard Anslow und Sylvain Le Bras
© Gorodenkoff – stock.adobe.com

LTspice lässt sich mit C-Programmen kombinieren, um leitungsgebundene Netzwerke hinsichtlich der Signalintegrität zu verstehen und zu optimieren. Auf diese Weise können Entwickler iterative Labortests und teure Prototypen durch Simulationen einsparen – wie am Beispiel Single-Pair Ethernet gezeigt.

Diesen Artikel anhören

Bei der Signalintegrität geht es keineswegs nur darum, eine funktionsfähige Verbindung für einen Prototypen zu realisieren [1]. Auch wenn eine Verbindung anscheinend problemlos funktioniert, ist es aus den folgenden Gründen ratsam, die Signalqualität eingehend zu überprüfen:

  • Zuverlässigkeit: Die Distanz, der Durchsatz und das Umfeld können die Bitfehlerrate so weit ansteigen lassen, dass die Fehlerkorrektur-Mechanismen eines Systems schließlich an ihre Grenzen stoßen.
  • Einhaltung der IEEE-Normen: Die Einhaltung der IEEE-Richtlinien gewährleistet nahtlose Interaktionen zwischen den verschiedenen Netzwerkkomponenten.
  • Einhaltung der EMV-Richtlinien: Steile Signalflanken und Überschwinger sind wegen des damit einhergehenden hohen Oberschwingungsgehalts oftmals die Ursache dafür, dass EMV-Richtlinien nicht eingehalten werden.

passend zum Thema

Behebung von Signalintegritätsproblemen mithilfe von LTspice

Dieser Beitrag hilft Entwicklern bei der Beantwortung wichtiger Fragen, beispielsweise:

  • Wie wahrscheinlich ist es, dass mein System eine hinreichende Signalintegrität aufweist?
  • Welchen Signalaspekt sollte ich als erstes verbessern – die Anstiegsgeschwindigkeit, die Verschaltung, den Jitter oder die Anpassung?
  • Mein System funktioniert zwar, aber wird dies auch mit zunehmender Alterung, bei Temperaturänderungen oder unter dem Einfluss von Bauteiltoleranzen so bleiben?
Analyse mit LTspice.
Bild 1. Beispiel einer mit LTspice vorgenommenen Analyse.
© Analog Devices

Nach dem Lesen dieses Aufsatzes sollten Entwickler in der Lage sein,

  • Signalintegritäts-Analysen mit LTspice durchzuführen,
  • repräsentative Testvektoren zu generieren, zu importieren und anzuwenden, Analysen durchzuführen und Resultate wie in Bild 1 zu erzielen,
  • eine statistische Validierung eines Systems über mehrere randomisierte Parameter vorzunehmen.

Durchführung einer Augendiagramm-Simulation

Augendiagramme sind eine zweckmäßige Möglichkeit, die sender- oder empfängerseitige Konformität eines Signals festzustellen. Bei Augendiagrammen handelt es sich um eine Darstellung eines Signals im Zeitbereich, wobei es mithilfe einer Art Nachleucht-Effekt möglich ist, eine große Zahl von Symbolen darzustellen und sich davon zu überzeugen, dass die Signalpegel, der Jitter und die Anstiegsgeschwindigkeiten den Vorgaben entsprechen.

LTspice bringt zwar einige der für Augendiagramm-Auswertungen nötigen Hilfsmittel mit, aber für eine vollwertige Analyse sind weitere Schritte erforderlich.

Generieren einer PWL-Datei mit einem Testvektor

LTspice bietet eine effiziente Möglichkeit, einen Testvektor in die Simulation einzuspielen. Das Durchspielen einer großen Datenmenge ist außerdem zwingend notwendig zur Abdeckung einer Situation, in der es zu Normabweichungen kommen kann.

Einige solcher Abweichungen treten in sehr bestimmten Situationen zutage, wie etwa:

  • Lange Abfolgen gleicher Bits.
  • Nicht nullsymmetrische Sequenzen.
  • Übersprechen von anderen Übertragungskanälen in der Nähe.

Wenn die Daten also mit einer Zufallsfunktion erzeugt werden, bedeutet dies beispielsweise, dass bei der Generierung mit einer Zufallsfunktion unter Umständen Tausende von Symbolen verwendet werden müssen, um sicherzustellen, dass eine bestimmte Folge von elf aufeinanderfolgenden High-Levels auftritt.

Verbesserung der Signalintegrität Bilder 2-5

PWL-Testvektor
© Analog Devices
Code zum Generieren eines Testvektors.
© Analog Devices
Vom C-Programm erzeugter Testvektor.
© Analog Devices

Alle Bilder anzeigen (4)

Bild 2 zeigt das von LTspice erwartete PWL-Datenformat. Die Datei enthält folgende Informationen:

  • Beim ersten Wert handelt es sich um die Zeit.
  • Der zweite Wert ist die Ausgabe – Spannung, Strom, Temperatur usw.
  • -> ist das Tab-Zeichen (ASCII #09)
  • CR steht für Carriage Return (ASCII #13)
  • LF steht für Line Feed (ASCII #10)

Zum Generieren eines Testvektors bieten sich mehrere Optionen an. Für die in diesem Beitrag beschriebenen Simulationen wurde die Programmiersprache C gewählt.

Nur wenige Codezeilen reichen zum Erstellen umfangreicher Testvektoren, die in eine Simulation eingespielt werden können. Bild 3 zeigt einen Auszug aus dem Code zum Generieren des Testvektors, Bild 4 gibt den vom C-Programm erzeugten Signalverlauf wieder.

Konzepte wie das Bit Stuffing, die bei der leitungsgebundenen Kommunikation zum Einsatz kommen, lassen sich ebenfalls mit wenigen Codezeilen umsetzen, wie in Bild 5 verdeutlicht.

Generieren einer PWL-Datei mit einem erfassten Testvektor

Eine weitere Möglichkeit ist es, echte Daten zu erfassen und in LTspice zu importieren. Wenn ein Entwickler die Daten einmal mit seiner Laborausrüstung erfasst hat, sind zum LTspice-Import nur noch wenige Arbeitsgänge erforderlich.

Bild 6 etwa gibt einen per Oszilloskop erfassten Signalverlauf auf einem USB-1.0-Kanal wieder.

Bild 7 zeigt ein typisches Beispiel für einen in einem Oszilloskop abgespeicherten Datensatz. Auch wenn das jeweilige Format von diesem Beispiel abweichen sollte, gelten die angegebenen Regeln zum Import der Daten in LTspice dennoch.

Damit dieser Datensatz in einer LTspice-Simulation verwendet werden kann, sind ein paar Modifikationen erforderlich:

  • Die Headerzeile muss entfernt werden.
  • Die an LTspice übergebene PWL-Datei darf nur eine Datenspalte aufweisen.
  • Zeitwerte dürfen nur positive Vorzeichen haben.

Anschließend sind die Daten für die Verwendung in LTspice bereit (Bild 8).

Verbesserung der Signalintegrität Bilder 6-8

Gemessenes USB-Signal.
© Analog Devices
Rohdaten des gemessenen USB-Signals.
© Analog Devices
In LTspice aus den gemessenen USB-Rohdaten generiertes Signal.
© Analog Devices

Alle Bilder anzeigen (3)

Verwendung einer Testvektor-PWL-Datei

Um die solcherart erstellte PWL-Datei zu benutzen, reicht es aus, eine Spannungsquelle samt Dateipfad in die Schaltung einzufügen (siehe Bild 9).

Es können sowohl relative als auch absolute Dateipfade verwendet werden, jedoch ist die Benutzung relativer Pfade wie in Bild 10 ratsam, damit die Simulation portierbar ist und beispielsweise auch von Kollegen genutzt werden kann.

Aktivierung und Feinabstimmung der Augendiagramm-Funktion

Um das gesamte Potenzial dieses gut versteckten Features von LTspice ausschöpfen zu können, muss zunächst die Simulation gestartet werden.

Sobald die Simulation beendet ist und die Signale angezeigt werden (Bild 11), muss einfach mit der rechten Maustaste auf die horizontale (Zeit-)Achse geklickt werden. In dem nun erscheinenden Dialog wird eine mit „Eye Diagram“ beschriftete Schaltfläche (Bild 12) angezeigt.

Auf das Anklicken dieser Schaltfläche hin öffnet sich ein Fenster (Bild 13), in dem die Augendiagramm-Darstellung aktiviert und abgestimmt werden kann. Die verschiedenen Felder sind selbsterklärend.

Nach erfolgter Validierung erhält der Entwickler die Darstellung in Bild 14.

Verbesserung der Signalintegrität Bilder 9-14

PWL-Option
© Analog Devices
Relativer Dateipfad in LTspice.
© Analog Devices
LTSpice-Ausgabefenster
© Analog Devices

Alle Bilder anzeigen (6)

Berechnen und Anzeigen einer Augendiagramm-Maske

Augendiagramm mit Maske.
Bild 15. Augendiagramm mit Augendiagramm-Maske.
© Analog Devices

Um das Bewerten der Signalintegrität zu vereinfachen, kann das Augendiagramm mit einer Augendiagramm-Maske verknüpft werden. Diese ist zwar keine standardmäßige Funktion von LTspice, lässt sich aber dennoch implementieren – ähnlich wie die EMV-Grenzlinie in [2].

Die Spezifikation des Augendiagramms ist ein Standard, sodass ein Großteil der Maske aus einem reduzierten Variablensatz hergeleitet werden kann, wie in Bild 15 beschrieben.

Die Buchstaben A bis E in der Augendiagramm-Maske haben folgende Bedeutung:

  • A. Flache Breite des Auges: In bestimmten Maskendefinitionen kann sie null sein.
  • B. Augenbreite: Sie ist entscheidend zum Erfassen von Parametern wie dem maximalen Jitter, der Anstiegsgeschwindigkeit und der Baudrate.
  • C. Augenhöhe: Sie kann abhängig davon variieren, ob dieser Parameter am diesseitigen oder jenseitigen Ende des Kabels erfasst wird.
  • D. Augenmitte: Sie definiert die Mittenspannung des Auges.
  • E. Verzögerung: Dieser Wert wird nur in LTspice genutzt, um das Signal innerhalb des Darstellungsfensters zu verschieben.

Erstellen einer Augendiagramm-Maske

Im Aufsatz [2] haben wir beschrieben, wie es mithilfe von Zeichenelementen möglich ist, EMV-Grenzlinien in ein FFT-Spektrum einzublenden. Die gleichen Werkzeuge werden in diesem Beitrag zum Zeichnen einer Augendiagramm-Maske genutzt.

Das Erstellen der Augendiagramm-Maske ist natürlich komplexer als das Generieren und Einblenden einer EMV-Grenzlinie. Wir verwenden eine Webseite mit JavaScript [P2] zum Erstellen der Augendiagramm-Definition, die dann in die Plot-Settings-Datei (*.plt) des LTspice-Signaldisplays eingefügt werden kann. Mit dem JavaScript-Programm (Bild 16) können Ingenieure ihre Schaltung vervollständigen. Augendiagramm-Definitionen für gängige leitungsgebundene Schnittstellen sind bereits als fertige Presets verfügbar und können über Optionsschaltflächen ausgewählt werden (Bild 16). Die einzelnen Felder werden daraufhin automatisch mit typischen Werten befüllt.

Durch Abändern der Werte in den einzelnen Feldern ist zusätzlich eine Feinabstimmung der Augendiagramm-Definition möglich (Bild 17).

Auf das Anklicken der „Update“-Schaltfläche hin werden die entsprechenden Plot-Settings-Befehle generiert. Die Linien können mit der bereits in [2] beschriebenen Methode in die Plot-Settings-Datei eingefügt werden (Bild 18).

Möglicherweise sind Änderungen an der Zahl der darzustellenden Augen und der Delay-Einstellung von LTspice notwendig, um eine optimale Darstellung zu erhalten (siehe Bild 19).

Verbesserung der Signalintegrität Bilder 16-19

Eye Diagram Generator
© Analog Devices
Eingabefelder der Augendiagramm-Maske.
© Analog Devices
Plot-Settings-Anweisungen
© Analog Devices

Alle Bilder anzeigen (4)


  1. Verbesserung der Signalintegrität
  2. Bewertung der Konformität über den Toleranzbereich
  3. Anwendung auf eine 10BASE-T1L-Verbindung
  4. Literatur
  5. Programme

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Analog Devices GmbH

Weitere Artikel zu Würth Elektronik eiSos GmbH & Co. KG

Weitere Artikel zu Entwicklungswerkzeuge