Sie sind auf Seite 1von 17

1 Einleitung

Gegenstand des Projektes war die Entwicklung eines miniaturisierten Langzeit-Transientenloggers, der zur Transportberwachung empfindlicher Gter dienen soll. Dabei werden bei auftretenden Ereignissen (z.B. Sturz des Transportguts) alle relevanten Informationen (Zeit, Beschleunigungen usw.) in Echtzeit ausgewertet und in komprimierter Form gespeichert. Fr einen mglichst langen, autonomen Betrieb des Systems wird in Ruhephasen (keine Ereignisse) ein extrem niedriger Energieverbrauch gefordert. Im Gegensatz dazu ist in kurzen Arbeitsphasen eine sehr hohe Rechenleistung notwendig. Dieses und andere mobile, autonome Systeme besitzen in der Regel einen Energiespeicher mit begrenzter Kapazitt. Um dennoch eine lange Betriebsdauer zu ermglichen, werden verschiedene Energiesparkonzepte eingesetzt. In diesem Zusammenhang ist eine neue Idee, die Verarbeitungsgeschwindigkeit des Systems bedarfsabhngig durch eine Variation der Taktfrequenz zu regeln und somit den mittleren Energieverbrauch zu senken. Fr das Projekt wird ein problemloses, schnelles Umschalten zwischen dem niedrigen Timer-Takt (ca. 32kHz) in der Ruhephase und dem bis zu 2000 mal hheren Prozessortakt in der Arbeitsphase gefordert. Dafr ist besonders eine Frequenzvervielfachung mit Phasenregelung geeignet. Baublcke, die auf Grundlage dieses Prinzips eine Vervielfachung einer Referenzfrequenz erlauben, werden als Phase Locked Loop (PLL) bezeichnet. Bekannte integrierbare PLL-Lsungen basieren auf dem in Abbildung 1 dargestellten Regelkreis. Das Grundprinzip einer PLL besteht darin, einen bezglich der Frequenz steuerbaren Oszillator (clkout) so einzustellen, da das aus der Teilung mit dem Faktor K entstehende Signal clkdiv dem Referenzsignal clkref entspricht. Dabei wird aus dem detektierten Phasenfehler dieser beiden Signale mittels eines Schleifenfilters die Einstellung des Oszillators abgeleitet. Die Dimensionierung der einzelnen Baublcke bestimmt wesentlich die Eigenschaften der PLL (z. B. Stabilitt der Regelung, Einschwingverhalten, Fangbereich der PLL, Regelfehler nach einrasten der PLL).

clkref(fref)
Phasendetektor Schleifenfilter einstellbarer Oszillator

clkout(fout)

clkdiv

Frequenzteiler

fdiv = fout/K
K

Abbildung 1: Blockschaltbild eines PLL-Frequenzsynthesizers

Die erforderlichen Komponenten einer PLL knnen mit analogen, gemischt analog/digitalen oder rein digitalen Baublcken in einer integrierten Schaltung realisiert werden. PLL-Lsungen in rein analoger oder analog/digitaler Schaltungstechnik sind teuer, da sie

hohe Genauigkeitsanforderungen an die Bauelemente stellen (groe Bauelemente, hoher


Flchenverbrauch)

stabile Betriebsbedingungen erfordern (Temperatur, Betriebsspannung usw.) schwierig testbar sind.


Daraus resultiert ein sehr hoher Aufwand fr die Entwicklung derartiger PLLs, der bei jeder Variation der Technologie bzw. des Einsatzgebietes von neuem erforderlich ist. Das Ziel des Teilprojektes war es deshalb, robuste, rein digitale System- und Schaltungskonzepte zu entwickeln, die ohne hohen Entwicklungaufwand relativ einfach an neuere Fertigungstechnologien angepat werden knnen bzw. selbst adaptiv Fertigungstoleranzen ausgleichen. Diese Konzepte sollten an einem Demonstrator, dem miniaturisierten Langzeit-Transientenlogger, erprobt werden. Eine ausfhrliche Literatur- und Patentrecherche hat ergeben, da es keine robuste, synthesefhige digitale PLL gibt, die fr verschiedene Einsatzgebiete, Fertigungstechnologien und Parameterbereiche (Vervielfachungsfaktor, Fangbereich, kurze Einschwingzeit usw.) flexibel anpabar ist. Im folgenden werden zwei entworfene PLL-Varianten vorgestellt.

2 Ergebnisse
Ziel war die Entwicklung einer vollstndig digitalen PLL, d.h. alle Baublcke (Phasendetektor, Schleifenfilter, einstellbarer Oszillator, Frequenzteiler der Rckkopplungsschleife (vgl. Abbildung 1)) sind auf Basis digitaler Standardzellen aufgebaut. Diese Implementierung erlaubt eine Minimierung des Entwurfsaufwandes und somit der Entwicklungskosten.

2.1 Variante 1 - PLL-Konzept mit gebrochenem Teiler


Den Kern einer vollstndig digitalen PLL bildet ein digital einstellbarer Oszillator (DCO). Abbildung 2 zeigt einen mglichen Aufbau dieses Baublocks. Der dargestellte Ringoszillator besteht aus einer einfachen Inverterkette (ungerade Anzahl von Elementen) und erzeugt eine konstante Frequenz fosc. Aus dieser wird, wiederum mit Hilfe eines einstellbaren Taktteilers (Faktor N), die gewnschte Ausgangsfrequenz fout erzeugt. Die Einstellung des Taktteilers N resultiert aus dem detektierten Phasenfehler. Eine Erhhung/Verringerung dieses Wertes hat eine geringere/hhere Ausgangsfrequenz fout zur Folge. Ohne weitere Manahmen sind mit diesem Aufbau nur ganzzahlige Teilungsverhltnisse realisierbar (z.B. N = 4 vgl. Abbildung 2), wobei folgender Zusammenhang besteht:

f osc f out = ------N

(1)

Fr das Projekt wird eine Modulo-M-Einheit als Frequenzteiler eingesetzt. Dadurch ist es mglich, auch Frequenzen, die einen nichtganzzahligen Teiler erfordern, mit hoher Genauigkeit zu erzeugen. Die Idee dabei ist, den Teilungsfaktor periodisch zwischen zwei ganzzahligen Werten (z.B. 2 und 3) zu wechseln, um im Mittel einen gebrochenen Wert (z.B. 2,3) zu erhalten.

Ringoszillator
(feste Frequenz)

fosc

einstellbarer Taktteiler

fout

Inverterkette

Beispiel: N = 4

fosc fout

Abbildung 2: Digital einstellbarer Oszillator (DCO) - ganzzahliger Teiler

Teilerverhltnis 2,3 ; N = 7; M = 16
clkosc
6 5 3 4 2 1

Accu > 0 Accu = 0 Accu < 0

0
-2 -M +N -9 -4 -5 -6 -7 -8 -1 -3

-M +N
9

MSB/clkout Teiler
3 2 2 3 2 2 2

Abbildung 3: Prinzip des Teilens mittels einer Modulo-M-Einheit (gebrochener Teiler)

Abbildung 3 stellt dieses Prinzips schematisch dar. Es existieren die Parameter N und M (M>N). Ein Akkumulator wird mit dem negativen Wert N-M vorgeladen. Daraufhin wird mit jeder steigenden Flanke des Ringsoszillatortaktes (clkosc) der positive Wert N aufaddiert. Wenn dadurch ein Vorzeichenwechsel erfolgt, d.h. das hchstwertige Bit (MSB) des Akkus von 1 (negativ) auf 0 (positiv) wechselt, wird im darauffolgenden Takt zustzlich zur Addition von N eine Subtraktion von M durchgefhrt. Das MSB des Akkus stellt gleichzeitig den Ausgangstakt des DCOs clkout bzw. fout dar. Es gilt im Mittel folgender Zusammenhang:

N f out = f osc ---M

(2)

Abbildung 4 zeigt den implementierten DCO und den Aufbau der eingesetzten Modulo-M-Einheit im Detail. Am Akkumulatoreingang liegt ber einen Multiplexer, abhngig von dessen MSB, der Wert N oder N-M an.

NM

Akkumulator

MSB

Ringoszillator

clkosc
Register

clkout

Modulo-M-Einheit Abbildung 4: DCO mit Modulo-M-Einheit als gebrochenem Teiler

clkref(fref)
Phasendetektor

up

Schleifenfilter
down

sel_m_n

clkdiv
Frequenzteiler
1

N-M

DCO
K

fdiv = fout/K

(s. Abbildung 4)

clkout(fout)
Abbildung 5: Blockschaltbild der kompletten PLL-Schaltung

Der komplette Aufbau der entworfenen PLL ist in Abbildung 5 dargestellt. ber das Signal sel_m_n ist es mglich, einen Parameter (M oder N) zu whlen, der zur Regelung der Frequenz genutzt werden soll, whrend der andere konstant bleibt. Im Betriebszustand der PLL wird abhngig vom detektierten Phasenfehler zwischen dem Referenztakt clkref und dem ber einen Teiler rckgekoppelten Ausgangstakt clkdiv der ausgewhlte Parameter variiert. Die erzeugte Ausgangsfrequenz fout entspricht dann dem gewnschten Vielfachen (Teilungsfaktor der Rckkopplung) der Referenzfrequenz fref. Die in Abbildung 5 dargestellte PLL-Struktur wurde mittels einer Hardwarebeschreibungssprache (VHDL) implementiert. Der entstandene VHDL-Code ist vollstndig synthesefhig. Um ein schnelles Einrasten der PLL zu garantieren, ist es bei einem Wechsel der Fertigungstechnologie lediglich erforderlich, wenige Initialisierungsparameter im VHDL-Code anzupassen. Zur funktionellen Verifikation wurden umfangreiche Simulationen dieser Schaltung durchgefhrt. Daraufhin erfolgte die Fertigung eines Testchips beim Projektpartner Fraunhofer-Institut IPMS Dresden in der FhG IMS2Technologie (0,6 m CMOS). Die Abbildung 6 zeigt das generierte Chip-Layout und ein Foto des Testaufbaus (Demonstrator 1) der realisierten, funktionsfhigen digitalen PLL.

Abbildung 6: Chip-Layout und Testaufbau (Demonstrator 1)

Abbildung 7: Foto des Testers HP82000

Durch umfangreiche Messungen am Tester HP82000 (s. Abbildung 7) wurde die korrekte Funktion der PLL nachgewiesen. Weiterhin wurde festgestellt, da die Einschwingzeit der PLL bei der Regelung von M krzer ist als bei der Regelung von N. Diese Untersuchung konnte mit Hilfe des Testers am realen Schaltkreis in Echtzeit durchgefhrt werden. Im Gegensatz dazu wren Simulationen dieser Testflle sehr zeitaufwendig gewesen. Abbildung 8 stellt die gemessene Einschwingzeit als Funktion der Ausgangsfrequenz bei der Regelung von M dar. Es ist deutlich zu erkennen, da die geforderte Einschwingzeit von maximal 1 ms im gesamten Frequenzbereich unterschritten wird.

0.9

0.8

0.7

Einschwingzeit / ms

0.6

0.5

0.4

0.3

0.2

0.1

0 40

60

80 100 120 Frequenz des Ringoszillators / MHz Ausgangsfrequenz/MHz

140

Abbildung 8. Abhngigkeit der Einschwingzeit von der Ringoszillatorfrequenz

2.2 Erweiterung der ersten PLL-Variante fr das Transientenlogger-System


Ausgehend von den Erfahrungen mit dem ersten Testchip, Funktionserweiterungen vorgenommen und die PLL daran angepat. wurden verschiedene

Abbildung 9 zeigt die Struktur der PLL-Schaltung, die zusammen mit den restlichen Komponenten des Langzeit-Transientenloggers implementiert und beim Projektpartner ZMD gefertigt wurde. Die Ausgangsfrequenz fout ist durch das Steuerwort freq_sel in vier Frequenzstufen (10,24 / 20,48 / 30,72 / 34,816 MHz) programmierbar. Der Block Taktverwaltung berechntet den Mittelwert der Ausgangsfrequenz. Wenn sich diese im gewnschten Wertebereich befindet, wird das Signal locked gesetzt. Dieser Wertebereich kann durch vier mgliche Fehlerstufen (2,5%, 5%, 10%, 20%) eingestellt werden, die angeben, wie stark die Ausgangsfrequenz im Mittel ber eine Referenzfrequenzperiode vom Idealwert abweichen darf. Die Einstellung dieses Bereichs erfolgt ber das Signal fehler_sel. Der Block Frequenzteiler2 stellt dem analogen Frontend (A/D-Wandler) den Takt clk_front zur Verfgung. Der Aufbau und die Funktion der Baublcke Phasendetektor, DCO und Frequenzteiler ist unverndert (s. 2.1).

clkref(fref)
Phasendetektor

up

Schleifenfilter
down

freq_sel

clkdiv

N-M

Frequenzteiler1
1

clkout(fout)
K

fdiv = fout/K

DCO

clkout
Frequenzteiler2

clkfront

Taktverwaltung
F F

locked

fehler_sel

freq_sel

Abbildung 9: Blockschaltbild der erweiterten PLL-Schaltung

0.9

0.8

0.7

Einschwingzeit / ms

0.6

0.5

0.4

0.3

0.2

0.1

120

140

160

180 200 220 240 Frequenz des Ringoszillators / MHz Ausgangsfrequenz/MHz

260

280

300

Abbildung 10: Einschwingszeit der erweiterten PLL-Schaltung

Die Funktionalitt dieser Schaltung wurde durch ausgiebige Simulationen fr verschiedene Frequenzspezifikationen berprft. Abbildung 10 zeigt die damit bestimmten Einschwingzeiten der PLL. Zu erkennen ist, da diese fr den gesamten Frequenzbereich geringer sind als der in der Spezifikation geforderten maximale Wert von 1 ms. Um bereits vor der Fertigstellung des Chips Untersuchungen an der PLL im realen Betrieb durchfhren zu knnen, wurde auf Basis universeller programmierbarer Logik (Xilinx Virtex FPGA) ein Prototyp der erweiterten PLL-Architektur hergestellt. Die Untersuchungen in Echtzeit besttigten die Simulationsergebnisse.

2.2.1 Problematik des Takt-Jitters


Der bei dieser PLL-Variante stattfindende periodische Wechsel zwischen zwei ganzzahligen Teilungsfaktoren (vgl. 2.1) fhrt dazu, da die Periode des Ausgangstaktes clkout nicht konstant ist. Diese Abweichung wird als Jitter bezeichnet. Der Jitter T Jitter kann maximal eine Periode des festen Ringoszillatortaktes clkosc betragen (s. (3) und Abbildung 11).

1T Jitter = ------f osc

(3)

Im Bezug auf den auftretenden Takt-Jitter mssen folgende Auswirkungen auf das System des Langzeit-Transientenloggers bercksichtigt werden: 1. Maximal nutzbare Performance des Prozessors Abhngig von ihrer Architektur sowie der eingesetzten Fertigungstechnologie besitzen Prozessoren eine maximale Taktfrequenz, bei welcher deren volle Leistungsfhigkeit ausgenutzt werden kann. Bei Frequenzen oberhalb dieses Wertes ist kein fehlerfreier Betrieb garantiert, whrend niedrigere Frequenzen zu Leistungseinbuen fhren. Wenn die PLL im Mittel die maximale Prozessortaktfrequenz, d.h. die krzesten erlaubten Taktzyklen erzeugt, enthlt das generierte Taktsignal, bedingt durch den Jitter, Takte, die krzer sind, als die minimal zulssige Lnge. Das kann zu einem Verarbeitungsfehler fhren. Um das zu verhindern, lt man die PLL einen Takt erzeugen, der selbst unter Bercksichtigung des maximal mglichen Jitters keine Zyklen enthlt, die krzer sind als die minimal zulssigen. Die daraus resultierende Frequenz liegt allerdings im Mittel unterhalb der maximalen Taktfrequenz des Prozessor, was dazu fhrt, da dessen Performance ebenso unter ihrem Maximum liegt. Wenn z.B. der Jitter im Verhltnis zu einer Periode der maximalen Prozessorfrequenz 20% betrgt, mu man die PLL eine Taktfrequenz mit einer mittleren Periodelnge erzeugen lassen, die im Mittel mindestens 20% lnger ist als das theoretische Minimum, was zu einer Leistungseinbue in der gleichen Grenordnung fhren kann. 2. Auswirkungen auf den A/D-Wandler Bei A/D-Wandlern, die ein Taktsignal als Zeitbasis nutzen (z.B. Delta-Sigma-Prinzip), kann Takt-Jitter zu ungenauen Ergebnissen der Wandlung fhren. Beim entworfenen Transientenlogger-System ist der Takt clkfront fr das analoge Frontend (A/D-Wandler) wesentlich niedriger als der Prozessortakt (clkout). Das Taktsignal clkfront wird durch eine ganzzahlige Teilung des Taktes clkout generiert, was ebenso zu einer Teilung bzw. Reduzierung des Jitters fhrt. Somit ist in der vorliegenden Anwendung der Einflu des Jitters auf den A/D-Wandler vernachlssigbar klein.

Beispiel :

M = 2.5 ---N

fosc fout
2 3 2 3

Jitter

Jitter

Abbildung 11: Jitter des PLL-Ausgangstaktes

10

Diese Betrachtungen zeigen, da Takt-Jitter die Zuverlssigkeit und Leistungsfhigkeit des Systems begrenzen kann. Bei der vorgestellten PLL-Variante ist die Verringerung des Takt-Jitters ausschlielich durch eine Erhhung der Ringoszillatorfrequenz fosc realisierbar, allerdings nur in einem von der Fertigungstechnologie abhngigen Rahmen. Da die Regelungslogik der PLL (Schleifenfilter) und die Modulo-M-Einheit (gebrochener Teiler) mit der Ausgangsfrequenz des Ringoszillators betrieben werden, bestimmt deren Leistungsfhigkeit (hchste Taktfrequenz) direkt das Maximum der Ringoszillatorfrequenz und somit den minimal mglichen Jitter. Die Leistungsfhigkeit dieser PLL-Variante ist demnach stark technologieabhngig. Eine Technologie fr schnelle Bauelemente erlaubt eine hohe Oszillatorfrequenz, die zu einem geringen Jitter fhrt. Lt die Technologie nur eine geringe Oszillatorfrequenz zu, ist der Jitter entsprechend hher. Als besonderes Problem ist zu erwhnen, da whrend des Projektes die Herstellungstechnologie gewechselt werden mute, da der Projektpartner AMI ausschied und die Entwicklungsarbeit von ZMD bernommen wurde. Durch die von der ursprnglichen Technologie stark abweichenden Parameter der ZMD-Technologie (Verzgerungszeiten, Verlustleistung usw.) ergaben sich erhebliche Anpassungsprobleme, die zu einem unerwartet hohen Entwurfsaufwand fhrten. Bedingt durch die oben erluterten Zusammenhnge stieg der Takt-Jitter stark an. Weiterhin erwies sich das Festlegen von Initialisierungsparametern im VHDL-Code, die fr ein schnelles Einrasten der PLL erforderlich sind, als problematisch. Deren Werte muten am Ende des Entwurfsprozesses an Hand des generierten ChipLayouts berprft werden. Dabei festgestellte Abweichungen von der ursprnglichen Annahme fhrten zu zustzlichen Entwurfsiterationen und zeigten die Grenzen der Technologieinvarianz dieser PLLVariante auf. Trotz dieser Eigenschaften erfllt die entworfene PLL-Variante auf Basis der ZMDTechnologie die in der Spezifikation festgelegten Forderungen.

3 Variante 2 - Selbstadaptive PLL fr autonome Systeme


Die aus dem vollzogenen Technologiewechsel gewonnen Erkenntnisse bilden die Grundlage des Konzeptes der zweiten PLL-Variante. Die dabei angestrebten Ziele waren: 1. ein konzeptionell reduzierter Takt-Jitter, um das mgliche Einsatzgebiet der PLL zu erweitern 2. eine gesteigerte Konfigurierbarkeit mittels eines robusten Regelalgorithmus, der keine Initialisierungsparameter bentigt und somit vollkommen technologieinvariant ist 3. ein niedrigerer Energieverbrauch der PLL, um die mgliche Betriebsdauer autonomer Systeme weiter zu erhhen.

3.1 Konzept der zweiten PLL-Variante


Abbildung 12 zeigt den fr die zweite PLL-Variante eingesetzten Ringoszillator, der wiederum Teil des DCOs ist (vgl. Abbildung 3). Der grundlegende Unterschied zum Ringoszillator der ersten PLLVariante besteht darin, da die Ausgangsfrequenz nicht fest sondern durch das Steuerwort L regelbar ist. Dieses Steuerwort bestimmt die Anzahl der fr die Frequenzsynthese im Ringoszillator genutzten Verzgerungsglieder (AND-OR-Glieder), die nachfolgend als Kettenlnge bezeichnet wird. In Abbildung 12 ist der Signalweg und der daraus resultierende Takt beispielhaft fr die Kettenlngen L=2 und L=3 dargestellt. Das Steuerwort ist one-hot kodiert, das bedeutet z.B. fr eine einzustellende Kettenlnge von zwei AND-OR-Gliedern, da das 2. Bit des n Bit breiten Vektors L auf 1 gesetzt ist, whrend alle anderen 0 sind.

11

start
L0
1

L1 1

Ln-1

clkosc

AND-OR

start

L=2

clkosc

start

L=3

clkosc

Abbildung 12: Ringoszillator mit einstellbarer Kettenlnge

Um im Mittel Frequenzen zu erzeugen, die nicht aus einer diskreten Kettenlnge resultieren, erfolgt ein periodischer Wechsel zwischen zwei benachbarten Werten (L1 und L2). Dafr wird die unter 2.1 vorgestellte Modulo-M-Einheit eingesetzt, deren MSB hier mittels eines Multiplexers die aktuelle Kettenlnge des Ringoszillators bestimmt. Fr die mittlere Ausgangsfrequenz fout gilt dabei folgender Zusammenhang:

M f out = ---------------------------------------------N ------------------- + ------------------- M Nf osc ( L 1 ) f osc ( L 2 ) L2 = L1 + 1 MN

(4)

(5) (6)

Abbildung 13 zeigt den fr die zweite PLL-Variante entworfenen DCO, der es ermglicht, eine im Mittel ber eine Referenzperiode sehr genaue Ausgangsfrequenz fout zu erzeugen. Die Parameter N und L1 werden abhngig vom detektierten Phasenfehler geregelt, um das gewnschte Vielfache der Referenzfrequenz zu erhalten. Die Kettenlnge L2 ist um eins grer als L1, und der Parameter M ist auf einen festen Wert eingestellt.

12

N NM

Modulo-MEinheit

L1 L2

Ringoszillator
(variable Kettenlnge)

clkout(fout)

Abbildung 13: DCO der zweiten PLL-Variante

Die Kombination aus einem Ringoszillator mit einstellbarer Kettenlnge und einer Steuereinheit (Modulo-M-Einheit), die diesen Wert periodisch zwischen zwei Lngen wechselt, ist ein vollkommen neuer Ansatz und wurde in Verbindung mit einer vollstndig digitalen PLL zum Patent angemeldet. hnlich zu der unter 2.1 vorgestellten PLL-Variante ist durch den Wechsel zwischen zwei Kettenlngen die Periode des Ausgangsignals clkout nicht konstant, was Jitter im Ausgangsignal zur Folge hat. Der maximale Jitter T Jitter dieser PLL-Implementierung betrgt die Differenz zwischen den Periodendauern die aus zwei aufeinanderfolgenden Kettenlngen resultieren. Dieser Wert ist gleich zweimal der mittleren Verzgerungszeit eines AND-OR-Gliedes ((6), vgl. 2.2.1).

T Jitter = 2

(7)

Abbildung 14 stellt den unterschiedlichen Jitter der beiden PLL-Varianten schematisch dar. Genaue Aussagen ber den Grad der Jitter-Reduzierung sind nur auf Grundlage einer konkreten Technologie mglich. Auf FPGAs basierende Untersuchungen haben ergeben, da fr diese spezielle Implementierungsbasis der Jitter der zweiten PLL-Variante ca. ein Zehntel des entsprechenden Wertes der ersten Version betrgt.

fosc
Erste PLL-Variante

fout
2 3 2 3

Jitter

T(L1)

T(L2)

fosc=fout
Zweite PLL-Variante Jitter Abbildung 14: Vergleich des Jitters der beiden PLL-Varianten

13

Des weiteren wurde die Frequenzregelung verbessert. Fr ein schnelles Einrasten der ersten PLLVariante waren von der Fertigungstechnologie abhngige Initialisierungsparameter erforderlich. Diese wurden mit Hilfe eines Simulationsmodelles bestimmt und im VHDL-Code fest eingestellt. Es war notwendig, anhand des generierten Chip-Layouts zu berprfen, ob die zu Beginn des Entwurfsprozesses auf Modellbasis getroffenen Annahmen der Realitt entsprechen. War das nicht der Fall, mute entweder das automatisch generierte Chip-Layout von Hand nachbearbeitet oder eine nderung der Parameter im VHDL-Code und die damit verbundene erneute Synthese der Schaltung, gefolgt von der Generierung des Chip-Layouts, durchgefhrt werden. Dieses Vorgehen fhrt zu einem hohen Entwurfsaufwand. Fr die zweite PLL-Variante wurde deshalb ein Regelalgorithmus implementiert, der ein schnelles Einrasten der PLL erlaubt und dabei keine technologieabhngigen Initialisierungsparameter bentigt. Dieser Algorithmus besitzt einen suchenden Charakter. Im Initialzustand ist der Ringoszillator auf die Hlfte seiner maximalen Lnge (z.B. 64) eingestellt. Der Parameter N ist 0, d.h. die Modulo-M-Einheit ist deaktiviert, es erfolgt kein Wechsel zwischen zwei benachbarten Kettenlngen. Beim Start der Frequenzvervielfachung wird zuerst in 6 Schritten (fr eine maximale Kettenlnge von 128) die fr die gewnschte Ausgangsfrequenz erforderliche Lnge L1 gesucht. Das geschieht mittels sukzessiver Approximation, was bedeutet, da die Schrittweite nach jeder Regelaktion halbiert wird. Daraufhin wird mit dem selben Algorithmus der erforderliche Parameter N in 8 Schritten (fr N als 9 Bit Wert) bestimmt. Wenn fr N eine Schrittweite von eins erreicht ist, erfolgt die Regelung mit der grtmglichen Genauigkeit, und das Signal locked wird gesetzt, um anzuzeigen, da sich die PLL im eingerasteten Zustand befindet. Weitere Regelschritte knnen durch die Variation von Laufzeitvariablen (z.B. Temperatur und Spannung) ntig sein und werden mit der kleinstmglichen Schritteweite ( N 1 ) ausgefhrt. Kommt es dadurch zu einem ber- bzw. Unterlauf des Parameters N, erfolgt automatisch eine Erhhung bzw. Verringerung der Kettenlnge L1 um 1. Abbildung 15 verdeutlicht diesen Regelungsablauf an einem konkreten Beispiel. Der Wert f out stellt dabei die ber eine Referenzperiode des Taktes clkref gemittelte Ausgangsfrequenz dar. In die Regelung werden sowohl die fallende als auch die steigende Flanke des Referenztaktes einbezogen. Damit ergibt sich eine definierte Einschwingzeit von 0,2 ms (7 Referenztakte (32kHz)). Dieser Wert liegt deutlich unter dem zulssigen Maximum von 1 ms.

f out
-16

L2 = L1 + 1 M = konst. 511
-4

-2

-128 +64

-32 +8

-4 +2

-1 +1

f soll
+1

-1 +1

+256

PLL unlocked
+8

PLL locked

+32

0 L 1 127
clkref locked

Grobregelung (Kettenlnge L1)

Feinregelung (Parameter N)

0 N 511
t

Abbildung 15: Frequenzregelung durch sukzessive Approximation

14

clkref(fref)
Phasendetektor

up

Schleifenfilter
down
(Regelung durch sukzessive Approximation)

locked

clkdiv
Frequenzteiler1
1

N-M

L1 L2

clkout(fout)
K

DCO
(Ringoszillator mit variabler Kettenlnge + Modulo-MEinheit)

fdiv = fout/K

Frequenzteiler2 clkfront
1

clkout
F K F

fsel
Dekoder

Abbildung 16. Blockschaltbild der zweiten Variante der PLL-Schaltung

Die gesamte PLL-Schaltung wurde in vollstndig synthesefhigem VHDL beschrieben. Abbildung 16 zeigt deren Struktur. Durch eine ganzzahlige Teilung des Ausgangstaktes clkout wird wiederum der Takt clkfront fr das analoge Frontend generiert. Der dafr erforderliche Teilungsfaktor F steht in einem definierten Verhltnis zum Teilungsfaktor K der Rckkopplung, aus dem sich die Ausgangsfrequenz fout ergibt. Die Gre des Faktors K und somit der Ausgangsfrequenz ist mit Hilfe des Eingangssignals fsel (4 Bit) in 16 Stufen mittels eines Dekoders einstellbar. Die Funktionalitt der gesamten Schaltung wurde durch Simulationen berprft. Weiterhin erfolgte eine Implementierung in einer FPGA, um sie im realen Betrieb zu testen (s. 3.2). Da im Unterschied zur ersten PLL-Variante die Ausgangsfrequenz fout gleich der Oszillatorfrequenz fosc ist, arbeiten der Phasendetektor und die Regelungslogik (Schleifenfilter) mit einem im Vergleich zur ersten PLL-Variante wesentlich langsameren Takt, was zu einer geringeren Leistungsaufnahme der PLL-Schaltung und somit einer Verlngerung der mglichen Betriebsdauer des Gesamtsystems fhrt.

15

PC
clkref
4

PLL
reset

JTAG

FPGA (Xilinx Virtex) FPGA-Plattform

clkfront
Oszilloskop

Abbildung 17. Aufbau des Demonstrators 2

3.2 Demonstrator 2 (Zweite PLL-Variante)


Dieser Demonstrator wurde entwickelt, um die Funktionalitt der zweiten PLL-Variante in Echtzeit zu testen. Er bildet anschaulich die gesamte Funktionalitt des angestrebten PLL/Prozessor-Systems nach. Abbildung 17 zeigt den Aufbau des Demonstrators schematisch. Er besteht aus einer FPGA auf einer universellen Plattform, einem PC und einem Oszilloskop. Die PLL-relevante Funktionalitt des digitalen Signalprozessors (DSP) wird durch ein C-Programm auf dem PC nachgebildet. Die Kommunikation zwischen dem PC und der PLL erfolgt ber das JTAG-Interface der FPGA. Das Oszilloskop dient zur Visualisierung der Ausgangssignale der PLL. Abbildung 18 zeigt ein Foto des kompletten Aufbaus. Das C-Programm, das auf dem PC ausgefhrt wird, ermglicht die Programmierung der gewnschten Zielfrequenz und das Starten/Stoppen der Frequenzvervielfachung.

Abbildung 18: Foto des FPGA-basierten Demonstrators der zweiten PLL-Variante

clkout

16

60

50

Frequenz des Ringoszillators / MHz

40

30

20

10

20

40 60 80 Anzahl der Verzgerungsglieder im Ringoszillator

100

120

Abbildung 19: Frequenz des Ringoszillators als Funktion der Kettenlnge

Weiterhin kann man eine automatisische Messung der Ringoszillatorfrequenzen fr alle einstellbaren Kettenlngen durchfhren. Abbildung 19 zeigt die Ergebnisse dieser Frequenzmessung.

4 Verwertbarkeit der Ergebnisse


Die im Rahmen dieses Projekts entwickelten PLL-Schaltungen basieren auf rein digitalen Baublcken. Die Hardwarebeschreibungen sind synthetisierbar und knnen schnell auf verschiedene Technologien und Frequenzspezifikationen angepat werden. Dabei ist kein erneuter Entwurf der Schaltung ntig. Zudem sind diese Strukturen rekonfigurierbar, d.h. es knnen verschiedene Ausgangsfrequenzen eingestellt werden. Weiterhin kann der Langzeit-Transientenlogger, durch die kurze Einschwingzeit beider PLL-Varianten, schnell auf Ereignisse reagieren. Damit sind die in der Zielstellung enthaltenen Anforderungen an die PLL-Schaltung erfllt. Die zweite Variante der PLL-Schaltung ist besonders leistungsfhig. Der Jitter im Ausgangssignal dieser Schaltung ist minimal. Das erlaubt einen Einsatz der PLL fr Aufgaben, die ber die Erfordernisse dieses Projektes hinausgehen. Ein weiterer Vorteil ist der niedrigere Energieverbrauch dieser Schaltung. Sie ist somit besonders fr mobile, autonome Anwendungen wie den LangzeitTransientenlogger geeignet, die ber einen Energiespeicher mit begrenzter Kapazitt verfgen.

5 PLL-Entwicklung durch andere Stellen


Whrend der Bearbeitungszeit dieses Projekts wurden in der Literatur Vorschlge und Konzepte fr digitale PLLs verffentlicht [1], [2]. Diese Schaltungen basieren noch auf digital einstellbaren Oszillatoren, deren Strukturen jeweils fr eine bestimmte Technologie optimiert sind. Deren Anpassung an andere Technologien ist weiterhin mit hohem Aufwand verbunden.

17

6 Verffentlichungen
Die Forschungsergebnisse dieses Projektes wurden auf den internationalen Konferenzen Mixed Design of Integrated Circuits and Systems 2002 in Wroclaw, Polen [3] und IEEE International Conference on Field-Programmable Technology 2003 in Tokyo, Japan [4] vorgestellt. Des weiteren erfolgte eine Patentanmeldung mit dem Titel Oszillatorsystem zur Erzeugung eines Taktsignals beim Deutschen Patent- und Markenamt (Vertreter-Nr.: 230 359).

7 Literaturverzeichnis
[1] Ching-Che Chung, Chen-Yi Lee, An All-Digital Phase-Locked Loop for High-Speed Clock Generation, IEEE Journal of Solid-State Circuits, Februar 2003, pp. 347-351. [2] Thomas Olsson and Peter Nilsson, An all-Digital PLL Clock Multiplier, Proceedings. 2002 IEEE Asia-Pacific Conference on ASICs, Taiwan, 6.-8. August 2002, pp. 275-278 [3] R. Stefo, J. Schreiter, J. Dohndorf, R. Schffny, A portable All-Digital Phase-Locked Loop for Frequency Synthesis, 9th International Conference, Design of Integrated Circuits and Systems (MIXDES02), Polen, Juni 2002, pp. 217-222 [4] R. Stefo, J. Schreiter, J. Schller, R. Schffny, High Resolution ADPLL Frequency Synthesizer for FPGA- and ASIC-based Applications, IEEE International Conference on Field-Programmable Technology, Japan, Dezember 2003, pp. 28-34

18