Simulieren
Schaltungssimulation
Führe die analoge Seite eines Schaltplans aus seiner Netlist aus: Arbeitspunkt, Wechselstrom, Transienten und Rauschen, mit Op-Amps und Dioden, die aus ihren Datenblättern modelliert werden, und Prüfungen der Ergebnisse.
Eine Schaltungssimulation führt die analoge Seite eines Schaltplans direkt aus seiner Netliste aus: den Arbeitspunkt jedes Mal, und einen AC-Sweep, eine Transiente und eine Rauschanalyse, wenn die Spezifikation danach fragt. Es wird kein Layout benötigt, daher beantwortet sie die Fragen, die den Schaltplan entscheiden: Liegt der Bias dort, wo er sein sollte, wie hoch ist die Verstärkung bei 1 kHz, wo schneidet der Ausgang ab, wie laut ist das Rauschen.
Eine starten
agentee new sim preamp-ac --kind circuitDas Preamp-Beispiel führt einen 9-V-Op-Amp-Preamp durch jede Analyse. Dies ist sein AC- und Rauschlauf, gekürzt:
name = "preamp-ac"
kind = "circuit"
schematic = "preamp"
record = ["VCC", "VREF", "GAIN_OUT", "FILT_OUT", "OUT"]
[[drives]]
net = "VBAT"
dc = "9V"
[[drives]]
net = "IN"
ac = 1
resistance = "100ohm"
[ac]
from = "1Hz"
to = "1MHz"
points = 20
[noise]
output = "OUT"
input = "IN"
from = "20Hz"
to = "20kHz"
[[checks]]
v = "VREF"
min = 4.1
max = 4.3
[[checks]]
v = "OUT"
at = "1kHz"
min = 18.3
max = 19.3
[[checks]]
noise = "OUT"
at = "1kHz"
max = "500n"
[[blocks]]
ref = "U1"
kind = "opamp"
gain = 1e5
gbw = "0.7MHz"
en = "40n"
vos = "3mV"
headroom_high = "1.5V"
headroom_low = "5mV"agentee sim preamp-ac
agentee render sim:preamp-ac -o preamp-ac.pngDer Lauf schreibt preamp-ac.result.json neben die Spezifikation, mit dem Arbeitspunkt jedes Netzes, dem Strom durch jedes Bauteil, jeder Prüfung und ihrem Wert, und den Kurven der aufgezeichneten Netze. Der Viewer und render plotten die Verstärkung, Phase und das Rauschen.
Treiber
Nur ein Treiber treibt ein Netz, daher gib jeder Versorgung einen. Ein Treiber ist eine Spannungsquelle zur Masse, oder zum Netz in return, mit resistance in Reihe. current = true macht ihn zu einer Stromquelle, so nimmt der Preamp den Ruhestrom des Op-Amps von seiner Schiene ab. ac markiert den Eingang der AC- und Rauschanalysen. Für die Transiente nimmt ein Treiber steps (stückweise linear), einen pulse oder eine sine.
Masse ist jedes Netz, das GND, 0V, GROUND heißt oder mit VSS beginnt.
Analysen
- Arbeitspunkt: immer. Newton-Iteration mit Junction-Begrenzung, dann gmin-Stepping, dann Quell-Stepping, wenn er nicht konvergiert.
- AC:
[ac]sweep vonfrombistomitpointspro Dekade, linearisiert am Arbeitspunkt. Verstärkungen sind in dB gegenüber demac-Treiber. - Transiente:
[tran]läuft bisstopmitstepals größtem Schritt. Es speichert auch das Spektrum jedes aufgezeichneten Netzes über seine zweite Hälfte. - Rauschen:
[noise]gibt die Dichte anoutputund, mitinput, die auf den Eingang bezogene Kurve, plus das RMS über das Band. Widerstände, Junction-Stromdichten, MOSFET-Kanäle und Op-Amp-entragen alle bei.
Prüfungen
Eine Prüfung liest eine Zahl und hält sie zwischen min und max. Was sie liest, hängt von at ab:
| Prüfung | liest |
|---|---|
v = "NET" | die Spannung am Arbeitspunkt |
v = "NET", at = "5ms" | die Spannung in der Transiente |
v = "NET", at = "1kHz" | die AC-Verstärkung in dB |
phase = "NET", at = "1kHz" | die Phase in Grad |
noise = "NET", at = "1kHz" | die Rauschdichte in V/rtHz |
i = "R1" | der Strom durch ein zweipoliges Bauteil, Pin 1 zu Pin 2 |
peak, trough, rms, freq, thd | die Transiente zwischen from und to |
Eine fehlgeschlagene Prüfung ist ein Fehler auf der Simulation. Erhöhe die 1-kHz-Prüfung oben auf min = 19 und der Lauf schlägt fehl, und agentee check meldet sie als Fehler, solange dieses Ergebnis aktuell ist:
error: ./preamp-ac.sim.toml: preamp-ac result: v(OUT) at 1kHz is 18.7870 dB, wanted 19 to 19.3 dBDas Ergebnis wird veraltet, wenn sich die Spezifikation oder die Netliste des Schaltplans ändert: Die Prüfung notiert es als veraltet und lässt ihre Fehler fallen, bis die Simulation erneut ausgeführt wird, daher führe die Simulation nach jeder Änderung an der Schaltung erneut aus. Starte einen thd- oder freq-Span nach dem Einschwingen der Schaltung, oder der Einschalt-Schritt wird als Verzerrung gelesen.
Modelle stammen aus dem Datenblatt
Jedes Bauteil wird zu einem Element durch seinen Referenzbuchstaben: R, C und L nach Wert, D als Diode, Q als BJT oder MOSFET nach seinen Pin-Namen. Stecker, Testpunkte, Löcher und Kristalle werden weggelassen, und alles andere ist ein Fehler, bis es einen Block hat oder in ignore liegt.
Die eingebauten Bauteile sind generische Platzhalter: eine Siliziumdiode, ein Kleinsignal-BJT, ein Logikpegel-MOSFET. Ein Ergebnis, das auf einem davon beruht, beschreibt den Platzhalter, nicht dein Bauteil. Gib jedem wichtigen Bauteil einen [[blocks]]-Eintrag mit Werten aus seinem Datenblatt:
- OPs sind ein einzelner Pol mit
gain,gbw,rout,vos,en,ib,slew,psrrund einem sanften Clampheadroomzu jeder Schiene. Jede Einheit eines Dual- oder Quad-OPs ist ein eigener OP auf gemeinsamen Schienen. - Dioden nehmen
isundn. Passe sie an zwei typische VF-Punkte an, die einen Dekade Strom auseinanderliegen:n = dV / (Vt ln 10), dannis = I / exp(V / (n Vt)). - BJTs und MOSFETs nehmen
is,bf,vaodervth,k,lambdaund ihre Kapazitäten. - LDOs halten
vout, bis die Eingangsseite innerhalb vondropoutliegt, und folgen ihr dann nach unten. - Potentiometer nehmen eine
positionvon 0 bis 1, damit der Abgriff wie beim echten Bauteil belastet und belastet wird.
Lege das Datenblatt und die Tabelle, aus der jeder Wert stammt, in die description der Simulation. Die nächste Person, die das Ergebnis liest, oft der Agent, weiß dann, worauf es beruht.
Beispiele
examples/preamp: der Arbeitspunkt, die Verstärkung und das Rauschen einer Verstärkerstufe und eines Sallen-Key-Filters auf einem LM358, der Thump beim Einschalten, das Clipping und die Batterieumkehrdiode.examples/ladder-vcf: ein Transistor-Ladder-Filter, dessen Simulationen 1 V/okt-Tracking bei drei CVs, den Resonanzspitzen und die Selbstoszillation in einer Transientenprüfung prüfen.examples/lna:lna-supplyprüft das OR-en zweier Stromversorgungseingänge über Schottky-Dioden, undlna-biastee, wie viel HF das Bias-Tee auf die Versorgung lässt.
Jeder Schlüssel steht im Schaltplan-Referenz.