Dynamische PLL-Simulationen gehören zu den zeitaufwendigeren Entwicklungsaufgaben, vor allem, wenn das Aufstartverhalten oder die Reaktion auf Frequenzsprünge untersucht werden sollen. Aber es gibt eine trickreiche Möglichkeit, den Zeitaufwand in Grenzen zu halten. Dazu verlegt man die Simulation in die Ebene, die der PLL am besten liegt: in die Phasenebene.
PLL Simulationsmodell
Das hier beschriebene Simulationsmodell für LTspice nutzt aus, dass die PLL einen Phasenintegrator darstellt. Die Phase eines sinusförmigen Signals schreitet längs der Zeitachse gemäss folgender Beziehung voran:
d_phi(t) / d_t = 2*Pi*f (t)
oder
phi(t) = 2*Pi* Integral( f(t)dt )
Wird nun die Frequenz eines Signals als Spannung dargestellt, dann ergibt die zeitliche Integration dieser Spannung die Phase des Signals. Ohne Berücksichtigung der Periodizität mit 2*Pi steigt die Phase längs der Zeitachse an. Es werden also folgende Analogien verwendet:
Frequenz: Spannung
Phase: Integral der Spannung
Der Phasendetektor ermittelt den Phasenunterschied zwischen Referenz- und Oszillatorsignal. Allerdings ist die tatsächliche Übertragungsfunktion des Phasendetektors periodisch mit 2*Pi (zwoPi...). Diese Periodizität wird im Modell unter Verwendung der LTspice-Syntax für verhaltensgesteuerte Quellen (BV) durch die folgende Funktion erreicht:
V_pfd=Kd * (V_fref - V_fout) / (2*Pi) - int( (V_fref - V_fout) / (2*Pi))
Kd entspricht der Steilheit des Phasendetektors, sie wird aber aus Vereinfachungsgründen im Modell zu 1 angenommen. Kd wird in der Realität z.B. durch den Charge-Pump-Strom beeinflusst. Den Charge-Pump-Strom kann man ebensogut beim Loopfilter berücksichtigen. Die Division durch 2*Pi normiert gleichzeitig das Ausgangssignal auf 2*Pi, so dass einem Phasenunterschied von Pi/2 (90°) einer Ausgangsspannung von 0.25 entspricht.
Das Loop-Filter beinhaltet sowohl einen Integral- als auch einem Proportionalanteil, wobei beide Teile in der Stromebene realisiert sind. Der Proportionalanteil schiebt während eines Vergleichsintervalls die Phase, der Integralanteil bewirkt die Frequenzänderung. Die Stromquellen des Loop-Filters werden direkt durch die periodische Phasendifferenz gesteuert. Es spielt dabei keine Rolle, ob das Loop-Filter einen konstanten Strom über eine variable Zeit (die Zeitdauer des Phasenunterschiedes) integriert oder einen variablen Strom über eine konstante Zeitdauer, so wie das hier umgesetzt wurde.
Integral- und Proportionalanteil des Loopfilters sind getrennt einstellbar Ki bzw Kp), wobei der Proportionalstrom als proportionale Kopie des Integralstromes implementiert ist. Der Charge-Pump-Strom des Integralanteils (Ipd) und die Steilheit des Spannungs-Stromumsetzers (Kvi) sind parametrisierbar, ebenso die Oszillatorsteilheit (Ko). Da die Ausgangsfrequenz durch eine Spannung repräsentiert wird, kann eine Frequenzteilung durch einfache Spannungsteilung (ndiv) vorgenommen werden.
PLL Testbench
Hier nun das komplette Modell, so direkt lauffähig unter LTspice:Nachfolgend sind die Simulationsergebnisse für Anlauf sowie die Reaktion auf einen Frequenzsprung einer 13.56MHz-PLL dargestellt.
0 Kommentare:
Kommentar veröffentlichen