Altium Spice Simulation - Signal Analysis

Der in Altium Designer integrierte Simulator unterstützt zur Beschreibung analoger Bauteile die Standard SPICE-Syntax. Alle Modellbeschreibungen, ihre Syntax und auch die möglichen Parameter lassen diese Nähe erkennen. In Ergänzung zur Funktionsbeschreibung im Altium Designer kann somit problemlos auch auf die vielfältig vorhandene Literatur zu Spice zurückgegriffen werden.

Transient & Fourier Analysis

Altium Menue Transient Analyses Setup

Die Transientenanalyse erzeugt ein Bild, als Spannungs- Zeit- Diagramm, wie es einem Oszilloskopen entspricht, indem die Variablen (Spannung oder Strom) in Funktion der Zeit über eine vom Benutzer spezifizierte Zeitspanne berechnet werden. Zur Bestimmung der DC-Vorspannung der Schaltung wird dabei automatisch vor der eigentlichen Transientenanalyse, eine Analyse des Arbeitspunktes durchgeführt. Zusätzlich kann die Fourier Analyse mit ausgegeben werden.

Fourier-Analyse: Der Simulator kann, gestützt auf den letzten während einer vorangegangenen Transientenanalyse berechneten Zyklus, eine Fourieranalyse durchführen. Ist die Grundfrequenz eines untersuchten Signals beispielsweise 1.0kHz, so werden die Transienten Daten des letzten 1ms dauernden Zyklus' für die Fourier-Analyse benutzt. Zur Parameterbestimmung kann ein erster Durchlauf mit "Use Transient Defaults" durchgeführt werden. Die dabei gewonnenen Parameter können dann variiert werden:

Transient Start / Stop Time, ergibt den Messzeitraum
Transient Step Time, ergibt die Auflösung des Diagramms
Transient MaxStep Time, vergrößert bei geringer Signaländerung den Meßschritt und rechnet schneller
Enable Fourier, plottet das Fourier Diagramm
Fourier Fundamental Frequency, (Grundfrequenz) muss dabei kleiner als die Grundfrequenz gewählt werden.
Fourier Number of Harmonics, ergibt mit der Vielfachen der Grundfrequenz die Grenze des Diagramms vor.

Eine Transientenanalyse beginnt immer im Zeitpunkt Null. Im Zeitintervall zwischen Null und dem Start Zeitpunkt analysiert der Simulator zwar die Schaltung, speichert das Resultat aber nicht. Im Zeitintervall zwischen dem Start- und dem Stopp-Zeitpunkt fährt er mit der Schaltungsanalyse fort und speichert die Resultate, um diese nach Ablauf der Simulation darzustellen.

"Step Time" ist das nominelle Zeit-Inkrement für die Analyse, doch variiert der Simulator diesen Zeitschritt automatisch, um Konvergenz zu erzielen.

"Maximum Step" begrenzt die variierende Größe des Zeitschritts auf einen bestimmten Wert. Als Vorgabe setzt der Simulator für diesen Wert entweder die "Step Time" ein oder ein fünfzigstel des Zeit-Intervalls Start bis Stopp, d.h. den jeweils kleineren dieser beiden Werte. Normalerweise haben "Step Time" und "Maximum Step" denselben Wert.

Ist die Option "Use Initial Conditions" aktiviert, startet die Transientenanalyse von definierten Anfangsbedingungen aus, ohne vorher den Arbeitspunkt zu bestimmen. Diese Option ist dann zu benutzen, wenn eine nicht vom Ruhe-Arbeitspunkt der Schaltung ausgehende Transientenanalyse durchgeführt werden soll. In diesem Fall muss entweder für jede von der Simulation betroffene Schaltungskomponente die gewünschte Anfangsbedingung definieren oder ".IC"-Symbol auf das Schema platziert werden.

Mit Doppelklick auf eine Komponente (Bauteil/Part) kann sein "IC Part Field" editiert werden. Für Komponenten ohne im "IC Part Field" eingetragene Definition der Anfangsbedingung ("Initial Condition") wird der Wert Null angenommen.

DC Sweep Analysis

Die DC-Durchlaufanalyse liefert eine Kurve oder auch eine Kurvenschar, wie man sie von einem Kennlinienschreiber her kennt. Sie führt eine Reihe von Arbeitspunkt-Analysen durch, wobei die Spannung einer bestimmten Quelle in vordefinierten Schritten verändert wird, so dass sich dann daraus die DC-Übertragungsfunktion der Schaltung ergibt.

Bei der Gleichstromsimulation wird zunächst der Gleichstrom-Arbeitspunkt bestimmt. Dabei wird die Schaltung so modifiziert, daß Spulen durch Kurzschlüsse und Kondensatoren durch Unterbrechungen ersetzt werden. Grundsätzlich beginnt jede Gleichstromanalyse mit der Berechnung des Arbeitspunktes. Dies erfordert bei linearen (passiven) Schaltungen, eine einfache Lösung eines linearen Gleichungssystems, andernfalls wird eine iterative Lösung eines nichtlinearen Gleichungssystems durchgeführt.

Bei Bedarf kann zusätzlich zur ersten eine variable Sekundärquelle eingesetzt werden. "Source Name" ist der Name der Quelle in der Schaltung, die schrittweise verändert wird. Die für "Start Value", "Stop Value" und "Step Value" eingegebenen Werte bestimmen den zu überstreichenden Spannungs- oder Strom Bereich und die Auflösung. Die "Primary"-Quelle ist erforderlich, eine "Secondary" nicht. Wird eine zweite Quelle eingesetzt, überstreicht die erste ihren ganzen Bereich in jedem Schritt der zweiten.

AC Small Signal Analysis

Altium Menue Transient AC-Analyses Setup

Ergebnisse sind daher nur bei Kleinsignalbetrieb sinnvoll. Mit Hilfe der komplexen Wechselstromrechnung werden für die so linearisierte Schaltung Amplituden und Phasenwinkel der gesuchten Netzwerkgrößen bei den vorgeschriebenen Frequenzen berechnet. Das erwartete Ergebnis einer Kleinsignalanalyse ist in der Regel eine Übertragungsfunktion (Spannungsverstärkung, Transimpedanz usw..).

Mindestens eine Quelle mit einem Wert-Eintrag im "AC Part Field" muss in der Schaltung vorhanden sein. Diese Quelle wird während der Simulation durch einen Sinusgenerator ersetzt, der den Frequenzbereich zwischen "Start Frequency" und "Stop Frequency" überstreicht. Die Frequenzsprünge werden dabei durch die Anzahl "Test Points" und den "Sweep Type" gegeben.

Der gewählte "Sweep Type" definiert, wie die unter "Test Points" spezifizierten Abtastpunkte interpretiert werden.
- Drei Möglichkeiten sind wählbar:
"Linear" - Lineare Frequenzvariation im überstrichenen Frequenzbereich.
"Decade" - Frequenzvariation auf der Basis von Dekaden.
"Octave" - Frequenzvariation auf der Basis von Oktaven.

Amplitude und Phase der Sinusquelle werden in den "Part Fields" der Quelle spezifiziert. Mit einem Doppelklick auf das Quellen-Symbol, können diese Werte eingetragen werden. Die Amplitude (in Volt) muss im "AC Part Field", die Phase (in Bogengrad) im "AC Phase Part Field" stehen. Wird die Amplitude auf 1 gesetzt, so bezieht sich die Ausgangsvariablen auf 0 dB.

Noise Analysis

Altium Menue Transient Noise-Analyses Setup

Mit Hilfe der Rausch-Analyse kann das Rauschen einer Schaltung simuliert werden, zu dem vor allem Widerstände und Halbleiter ihren Teil beitragen. Der Simulator kann die spektrale Rauschdichte darstellen, die in Volt-Quadrat pro Hertz (V^2/Hz) ausgedrückt wird. Kapazitäten, Induktivitäten und gesteuerte Spannungsquellen werden als rauschfrei betrachtet.

Die folgenden Rauschmessungen sind möglich:

Die Rausch-Analyse wird im "Noise Analysis" des "Analyses Setup"-Dialogs konfiguriert.

Transfer Function Analysis

Analyse der Übertragungsfunktion:

Die Übertragungsfunktions-Analyse berechnet den DC-Eingangswiderstand, den DC-Ausgangswiderstand und die DC-Verstärkung einer Schaltung. Die Analyse der Übertragungsfunktion wird im "Transfer Function"-Tab des "Analyses Setup"-Dialogs konfiguriert. (Dialog öffnen: Menü Simulate " Analyses Setup). Bestimmen Sie die Quelle, die für die Berechnungen das Eingangssignal liefern soll und den Netzknoten, auf den sich die Berechnungen zu beziehen haben (Vorgabe = 0).

Analyse der Übertragungsfunktion durchführen:

Mit folgenden Schritten wird die Übertragungsfunktion durchgeführt:
1. Die Übertragungsfunktions-Analyse-Parameter wie beschrieben konfigurieren
2. Die Option "Transfer Function" im "General"-Tab des "Analyses Setup"-Dialogs aktivieren
3. Den Simulations-Vorgang starten.
Das Simulations-Ergebnis wird im Kurvenanalyse-Fenster angezeigt. Tritt während des Erzeugens der Netzliste ein Fehler auf, wird die Simulation gestoppt und es erscheint ein Fenster mit der Fehlerdatei.

Temperature Sweep

Altium Menue Transient Temperatur-Analyses Setup
Eine Temperaturvarianz-Analyse kann in Verbindung mit einer oder mehreren der drei Standard-Analysen (Transienten, AC-Kleinsignal, DC-Durchlauf) erfolgen. Die Schaltung wird bei jeder innerhalb eines Bereichs spezifizierten Temperatur analysiert und das Resultat in mehreren entsprechenden Kurven dargestellt. Die Temperaturvarianz-Analyse wird im "Temperature Sweep"-Tab des "Analyses Setup"-Dialogs konfiguriert. (Öffnen des Dialogs: Menü Simulate " Analyses Setup). Konfigurieren Sie eine oder mehrere der Standard-Analysen, damit deren jede dann bei den eingegebenen Temperaturen durchgeführt wird.
Achtung: Die Standart Spice R - L - C Modelle die über Parameter eingestellt werden verfügen über keine Temperatur - Koeffizient und ergeben somit auch keine Temperaturdrift

Parameter Sweep

Altium Menue Transient Analyses Setup Parameter Sweep

Dieses Feature kann nur zusammen mit der Transient Analysis, DC Sweep Analysis, AC Small Signal Analysis und / oder Noise Analysis genutzt werden. Der Analyse-Typ "Parameter Sweep" untersucht, was mit der Schaltung geschieht, wenn Sie den Wert eines Bauteils in definierten Schritten in einem spezifizierten Bereich verändern. Der Simulator führt mehrere Durchgänge der aktivierten Analyse- Typen durch (Transienten, AC Kleinsignal, DC-Durchlauf). Nur elementare Bauteile und deren Modell-Werte können bei der Parametervarianz-Analyse variiert werden.

Die Daten von Teilschaltungen / ICs bleiben dabei unverändert. Sie können einen zweiten Parameter des Bauteils angeben, der variiert werden soll. Ist das der Fall, wird der erste Parameter bei jedem Änderungsschritt des zweiten über seinen ganzen zu überstreichenden Bereich variiert. Ein Beispiel (der erste zu variierende sei P = Primär-, der zweite S = Sekundär-Parameter genannt): Sind die Schrittgrößen ("Step Value") so gewählt, dass sich sowohl für den ersten wie für den zweiten Parameter je drei Simulations-Durchläufe ergeben, wird das Bauteil nacheinander die folgenden Werte annehmen: P1 und S1, P2 und S1, P3 und S1, dann weiter P1 und S2, P2 und S2, P3 und S2, und so fort ...

Über Parameter Sweep können ein oder zwei Bauteilwerte variiert werden.
Folgende Eingaben sind nötig: "Parameter", "Start Value", "Stop Value", und "Step Value". Der "Parameter"-Eintrag kann aus bloss einem Designator (z.B. C2 ) oder einem Designator mit "Device"-Parameter in eckigen Klammern (z.B. U5[tp_val] ) bestehen.

Hier ein paar gültige Beispiele (Eintrag- und was damit variiert wird):
        RF - Wert des Widerstands RF
        Q3[bf] - Stromverstärkung (beta forward) des Transistors Q3
        R3[r] - Wert des Potentiometers R3
        option[temp] - Temperatur
        U5[tp_val] - Durchlauf-Verzögerungszeit des digitalen Bausteins U5

Normalerweise macht man eher eine Temperaturvarianz-Analyse, wenn man den Temperaturgang der Schaltung untersuchen will. Die Temperatur kann jedoch auch in der Parametervarianz-Analyse verändert werden. Das ist dann sinnvoll, wenn Sie in einer Simulation mit zwei zu variierenden Parametern die Temperatur als Primär- oder Sekundär-Parameter einsetzen.

Wenn Sie auf dem "Parameter Sweep"-Tab unter "Sweep Type" die Option "Relative Values" aktivieren, werden die in die Felder "Start Value", "Stop Value" und "Step Value" eingetragenen Werte zu den dem "Parameter" bereits gegebenen Werte oder "Default Values" hinzuaddiert.

Das nachfolgende Beispiel soll das verdeutlichen:
1. Der "Parameter" Rl sei ein Widerstand mit (vorgegebenem) Wert 1k.
2. Die "Start"-, "Stop"- und "Step"-Einträge lauten -50, 50, und 20.
3."Relative Values" aktivieren.
Damit erhält Rl während der Simulation mit sechs Durchläufen nacheinander den Wert 950, 970, 990, 1010, 1030 und 1050 Ohm.

Monte Carlo Analysis

Altium Menue Transient Monte Carlo Analyses Setup
Dieses Feature kann nur zusammen mit der Transient Analysis, DC Sweep Analysis, AC Small Signal Analysis und / oder Noise Analysis genutzt werden. Die Monte-Carlo-Analyse führt mehrere Simulations-Durchgänge aus, bei denen die Bauteile-Toleranzen innerhalb der spezifizierten Toleranzbereiche willkürlich variiert werden. Der Simulator speichert Monte-Carlo-Daten nur für Netzknoten, die Sie im "Setup Analyses"-Dialog in die Liste "Active Variables" eingetragen haben. Nur elementare Bauteil- und deren Modell-Werte können bei der Monte-Carlo-Analyse variiert werden. Die Daten von Teilschaltungen / ICs bleiben dabei unverändert.

Die Monte-Carlo-Analyse wird im "Monte Carlo Analysis" des "Analyses Setup"-Dialogs konfiguriert.

Für einzelne Bauteilgruppen R - L - C - Transistoren können gemeinsame Abweichungen vorgegeben werden. Default Digital Tp Tolerance Streuung der Laufzeit in Digital ICs. In Specific Tolerances können für einzelne Bauteile Abweichungen vorgegeben werden.

Die Monte-Carlo-Analyse wird im "Monte Carlo"-Tab des "Analyses Setup"-Dialogs konfiguriert. Auf dem Tab "Analyses Setup" sind folgende Optionen vorhanden: "Number of Runs" gibt die gewünschte Anzahl Simulationsdurchgänge ein. Bei einer Eingabe von 10 werden 10 Simulationen mit je verschiedenen Bauteile-Werten im Bereich der für jedes Bauteil spezifizierten Toleranzen durchgeführt.
Weitere Information auch im Altium Tutorial TU0113 Seite 310 / 311

In "Default Tolerances" können für sechs Kategorien von Bauteilen allgemein gültige Toleranzen spezifizieren: Widerstand, Kondensator, Induktivität, Gleichspannungsquelle, Transistor (Stromverstärkung vorwärts) und "Digital Tp" (= Transfer propagation, Durchlauf-Verzögerungszeit gültig für jede Gate-Stufe in digitalen Bausteinen). Die Toleranzen können als effektiver Wert oder in Prozent eingegeben werden.
Wird 10 eingegeben, variiert der Wert eines 1k-Widerstands von 990 bis 1010 Ohm, wird 10% eingegeben, liegt sein Toleranzbereich zwischen 900 und 1100 Ohm.

Der Wert jedes Bauteils wird unabhängig von andern Bauteilen einzeln zufallsmäßig variiert. Gibt es z.B. in einer Schaltung zwei 10%-ige 1k-Widerstände, so kann während des ersten Simulations-Durchlaufs der eine den Wert 953 Ohm und der andere 1022 Ohm erhalten. Der Simulator erzeugt für jedes Bauteil eine separate Zufallszahl.

In "Specific Device Tolerances" können zudem für jedes einzelne Bauteil eine spezifische Toleranz angeben werden, die dann Vorrang vor den "Default Tolerances" hat.

Der "Designator" selektiert das Bauteil, für das eine spezifische Toleranz anzugeben ist.

Der "Parameter" gibt einen Parameter ein, falls das Bauteil einen braucht. Parameter sind: Durchlauf-Verzögerungszeit für ein digitales Bauteil, Vorwärts-Stromverstärkung für einen Transistor sowie der Widerstandswert eines Potentiometers

Die "Device Tolerance" bezeichnet die Toleranz für dieses Bauteil.

Die "Device Tracking Number" benutzt das System zur Ermittlung der Zufallszahl. Ordnen Sie Bauteilen, deren Toleranz korreliert sein soll, eine "Tracking Number" zu. Haben zwei Bauteile dieselbe "Device Tracking Number" und "Device Distribution", wird bei der Berechnung ihrer Werte während eines Simulationsdurchlaufs für beide dieselbe Zufallszahl benutzt.

Die "Device Distribution" beeinflusst die statistische Verteilung, wie oben unter "Default Distribution" beschrieben. "Lot Tolerance, Tracking and Distribution" Diese Einstellungen werden genau gleich gehandhabt wie die "Device"-Einstellungen. Sie bieten eine zweite Möglichkeit, Bauteile-Toleranzen zu definieren und zu korrelieren. Es können entweder "Device"- oder "Los"-Toleranzen oder beide zusammen angegeben werden. Der Simulator berechnet die beiden unabhängig voneinander mit verschiedenen Zufallszahlen und kombiniert sie dann. Kombinierte "Device"- und "Los"-Toleranzen sind notwendig, wenn die Toleranzwerte einerseits nicht korrelieren, aber auch nicht völlig unabhängig voneinander sind.
Ein Beispiel dafür wären zwei verschiedene Device- Netzwerke. Die Toleranz von Fertigungs Los zum nächsten (oder auch von Wafer zu Wafer) kann hier erheblich sein, während die Toleranzen im selben Gehäuse nur wenig voneinander abweichen.

Ein Beispiel: Zwei Widerstände mit gleichem Wert mit einer "Device"-Toleranz von 1% und einer "Lot"-Toleranz von 4%, beide mit derselben "Tracking Number". Bei jedem Monte-Carlo-Durchlauf wird den beiden Widerständen zuerst dieselbe "Lot"-Varianz von +/- 4% zugeordnet. Zusätzlich erhält jeder Widerstand eine "Device"-Varianz von +/- 1%, also eine Gesamt-Toleranz von 5%. Während eines MC-Durchlaufs weichen die Widerstände jedoch nur max. 2% ( 2x Device-Toleranz) voneinander ab.