Crashkurs PLL-Synthesizer


crashkurs
PLL-Synthesizer
+
BONUS
jetzt als PDF.

Downloaden,
ausdrucken &
offline lesen
.

wie immer gratis!

Crashkurs PLL

Navigation


3-Leiter-Bus home

Das 3-Leiter-Bus Interface

3-Leiter-Bus Wiki

Die Befehle

Monitor-Mode

Master-Mode

Das Setup

Store/Recall-Funktion

Read-Funktion

 

Beispiele mit PLL-ICs


Grundlage PLL-Synthesizer

Der PLL-Crashkurs


Start

BLOG

Download-Bereich

Beispiel LM7001:


Das folgende Beispiel zeigt das Laden des PLL-ICs LM7001. Der LM7001 ist speziell für den Einsatz in einem AM/FM-Receiver konzipiert. Deshalb müssen wir mit einigen Einschränkungen leben.

Der Referenz-Teiler des LM7001 kann nicht frei programmiert werden und gibt uns 7 verschiedene Teilerfaktoren vor, die nur mit einem Referenz-Quarz von 7,2 MHz sinnvoll sind.
Eine kleine sinnvolle Ausnahme bildet lediglich der Faktor Nr.5 = 800.
Mit einem 4 MHz-Quarz erhält man 5kHz-Raster und mit einem 8 MHz-Quarz 10kHz-Raster.

Die folgende Tabelle zeigt die Frequenz-Raster bei 7,2 MHz Referenzquarz am LM7001.
(Beispiel Nr.0: 7,2MHz / 72 = 100kHz)

Nr

Faktor

Raster

Nr

Faktor

Raster

0 72 100 kHz 4 720 10 kHz
1 144 50 kHz 5 800 9 kHz
2 288 25 kHz 6 7200 1 kHz
3 1440 5 kHz 7 1440 5 kHz

Weiterhin ist der Ausgang des Phasen-Detectors negativ polarisiert was bedeutet, daß ein invertierendes (aktives) Schleifenfilter eingesetzt werden muß. In den Anwendungshinweisen im Datenblatt des LM7001 ist ein entsprechendes Beispiel mit einem FET-Transistor gezeigt.


Angenommen, wir wollen den PLL-Oszillator bei einem "Kanalraster" von 50 kHz auf 108 MHz abstimmen und die Referenzfrequenz beträgt 7,2 MHz. Ein Vorteiler kommt nicht zu Einsatz, da der N-Teiler (FMin) bis 130MHz direkt verarbeiten kann.

Die Referenzfrequenz wird vom Referenzteiler R auf die Vergleichsfrequenz 50kHz geteilt. Die VCO-Frequenz muß ebenfalls auf die Vergleichsfrequenz 50 kHz geteilt werden, schließlich soll aus der Phasenlage zwei gleicher Frequenzen (50kHz) die Abstimmspannung des VCOs abgeleitet werden.

Die VCO-Frequenz kann übrigens nur ein ganzzahliges Vielfaches der Vergleichsfrequenz sein.
In unserem Beispiel ergibt sich also ein "Kanalraster" von 50kHz.

Im folgenden Bild ist das Prinzip eines PLL-Oszillators ohne Vorteiler dargestellt.

PLL-Prinzip zum Beispiel LM7001

Na da woll'n wir mal.
Ermitteln wir erst einmal die Teilerfaktoren.

Der Teilerfaktor für den Referenzteiler ist:
R = 7,2MHz / 50kHz = 144,

der Teilerfaktor für den N-Teiler ist:
N = 108MHz / 50kHz = 2160,

So, jetzt haben wir alle Daten zusammen, um den PLL-Oszillator auf die 108 MHz abzustimmen.
Ich fasse noch mal zusammen:
Referenzteiler = 144
N-Teiler = 2160

Keine Panik, wenn das bis hier alles unklar ist!
Eine genaue Erläuterung der Rechnerei oben, findest Du unter Funktion eines PLL-Synthesizers.

Oder lade Dir gleich den PLL-Crashkurs herrunter.

Das folgende Bild zeigt das Blockschaltbild des LM7001 mit seinen 2 Zählern (N und R) und dem Schieberegistern. Die Referenzfrequenz liegt an Xin, und die VCO-Frequenz liegt direkt, an FMin oder AMin an. Der 3-Leiter-Bus besteht aus den Leitungen CL, DATA und CE (Enable). Die Funktion der anderen Leitungen kann im Datenblatt nachgelesen werden.

LM7001

Eine Low-High-Flanke an CL schiebt das Datenbit an DATA in die internen Schieberegister wärend die CE-Leitung auf High liegt.

Jetzt aber mal zum praktischen Teil:

Wie wir bereits errechnet haben wird der Referenz-Teiler R auf 144 (b001) gesetzt,
und der 14-Bit N-Zähler mit 2160 geladen, um den VCO (wie oben beschrieben) auf 108 MHz abzustimmen.
Die folgende Tabelle zeigt die erforderliche Bitfolge um die programmierbaren Teiler mit ihren Werten zu laden.

Tabelle:
Bitfolge zum Laden des N- und des R-Teiler mit den Werten N=2160
und R0-R2 = R-Teiler =144 (b001 siehe Tabelle oben),
S = 0 AMin aktiv oder S = 1 FMin aktiv

20 21 22 23 24 25 26 27 28 29 210 211 212 213 T0 T1 B0 B1 B2 TB R0 R1 R2 S
0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 x x x x 0 0 1 1
        16 32 64         2048                       2160

 

Jetzt kommt das 3-Leiter-Bus Interface ins Spiel.

Um die oben ermittelte Bitfolge an den LM7001 zu senden, sind folgende Schritte notwendig:

Das 3-Leiter-Bus Interface mit dem 3-Leiter-Bus des LM7001 verbinden.

3-Leiter-Bus Interface LM7001
CLK CL
DATA DATA
E1 CE
(siehe auch unter Wiki)

Überprüfen ob das Setup wie folgt eingestellt ist und gegebenen Falls so einstellen.

setup: (toggle mit S,C,E,L)
ClockSET= 0, ClockPOL= 0, EnablePOL= 0, EnableLEN= 1

Das 3-Leiter-Bus Interface als Master einstellen.

mode: master

Die zu sendenden Bitfolgen eingeben.

input: 000011100001000011100011E1

Und mit "Enter" die eingegebenen Bitfolgen ausgeben.

send: 000011100001000011100011E1

Die Zähler-Latch R und N sind jetzt geladen und der VCO sollte (wie oben beschrieben) bei genau 108MHz schwingen, wenn er eingephast ist.

Das Terminal-Fenster könnte danach wie folgt aussehen:

Beispiel-Terminal LM7001

Jetzt auch der Quellcode zum Interface verfügbar!

Fazit:

Das 3-Leiter-Bus Interface kann einem die Rechenarbeit nicht abnehmen, soll es auch nicht. Dafür kann man sich eigene Programme schreiben die dann evtl. auf das Interface aufsetzen. Das Interface ist ausschließlich für die Elektronikwerkstatt (Fehlersuche/Reparatur/Entwicklung) gedacht, um mal schnell ein paar Bits hin und her zu schieben. Ich habe z.B. für alle Sender- und Empfängerbaugruppen die ich öfters reparieren muß eine Excel-Tabelle angelegt, in die nur die gewünschte Frequenz eingetragen, und anschließend die resultierenden Bitfolgen abgelesen werden können.

Jetzt auch eine Muster-Tabellenkalkulation zum MC145158 verfügbar!