Elektronikprojekte
DDS Signalgenerator
Das "Herz" des DDS Signalgenerators besteht aus dem DDS Chip AD9833 (IC7) und dem 25MHz Taktgenerator Q2. Diese
arbeiten mit einer Versorgungsspannung von 3,3V, die in IC8 generiert wird.
Der AD9833 kann Frequenzen von ca. 0,1 Hz bis 12,5 MHz erzeugen und diese als Sinus-, Dreieck- oder Rechteck-Signal
an Pin10 ausgeben. Die Signalformen Sinus und Dreieck werden in einem internen DAC (Digital Analog Converter) erzeugt
und haben einen Pegel von ca. 0,6Vpp, wobei der mittlere Pegel bei ca. +0,3V liegt. Das Rechtecksignal schwingt zwischen
0V und der Versorgungsspannung, d.h. +3,3V. Die Daten für die zu erzeugende Frequenz und die Signalform werden seriell
über Pin6 (SDAT) und Pin7 (SCLK) an den AD9833 übertragen. Hierfür wird Pin8 (SYNC) auf low gelegt.
Die Frequenzinformation wird als 28-Bit Wort an das Frequenzregister übertragen und berechnet sich zu:
FreqReg = Fout x 268.435.456 / Fmclk
FreqReg
= 28-Bit Wort an Frequenzregister
Fout
= Frequenz, die an Pin10 ausgegeben wird
268.435.456
= 2 hoch 28 = Konstante
Fmclk
= Frequenz des Taktgenerators, z.B. 25MHz
Soll z.B. eine Frequenz von 1.000 Hz erzeugt werden, berechnet sich FreqReg zu:
FreqReg = 1.000Hz x 268.435.456 / 25.000.000Hz = 10.737 (dezimal, gerundet)
Damit ist die Frequenz nicht exakt 1.000,00Hz, sondern:
Fout = 10.737 x 25.000.000Hz / 268.435.456 = 999,96Hz
Die niedrigste erzeugbare Frequenz ist: 1 x 25.000.000Hz / 268.435.456 = 0,09313Hz
Detaillierte Informationen finden sich in dem Datenblatt des AD9833.
Je nach gewählter Signalform (Sinus/Dreieck oder Rechteck) wird das Ausgangssignal des AD9833 in unterschiedlichen
Signalwegen weiterverarbeitet. Zum Umschalten der Signalwege wird ein 3-fach 2-Wege Analogschalter 74HC4053 (IC9)
verwendet. Die Umschaltung erfolgt über einen Low Pegel an den Pins 9-11 für Rechteck, bzw. einen High Pegel an Pin 9-
11für Sinus/Dreieck.
Das Ausgangssignal des AD9833 liegt an Pin 15 von IC9 und wird bei Rechtecksignalen an Pin1 ausgegeben und über
einen einstellbaren Spannungsteiler (R41-R43) auf ca. 0,5V reduziert. Das reduzierte Signal wird von Pin13 auf Pin14
durchgeschaltet und gelangt an den Eingang der nachfolgenden Verstärkerstufe (IC14).
Bei Sinus oder Dreiecksignalen wird das Signal von Pin15 an Pin2 ausgegeben. Von dort durchläuft das Signal einen
elliptischen Filter 9ter Ordnung, bestehend aus L2-L5, C29-C37 und R44. Der Filter dient der Glättung des stufenförmigen
(digitalen) Sinus- bzw. Dreieck-Signals. Zusätzlich wird das Signal bei 10MHz um ca. 4dB angehoben, um frequenzbedingte
Verluste insbesondere in IC15/IC16 zu kompensieren. Die folgenden Bilder zeigen die Wellenformen vor dem Filter (oben)
und am Analogausgang (unten) für Sinussignale von 5 und 10 MHz und den Frequenzgang für den Analogausgang bei
Sinussignalen:
In der angegebenen Dimensionierung sind die Sinussignale bis ca. 10MHz nutzbar (bis ca. 2MHz bei Dreiecksignalen).
IDer Ausgang des Filters geht auf Pin12 von IC9, wird auf Pin14 durchgeschaltet und gelangt an den Eingang der
nachfolgenden Verstärkerstufe (IC14).
Die Verstärkerstufe mit dem AD8055 dient einerseits zur Verstärkung des Signalpegels von ca. 500mVpp um das 4,6-fache
auf ca. 2,4Vpp und andererseits zur Offsetkorrektur des Rechtecksignals (ca. +250mV) und des Sinus-/Dreieck-Signals (ca.
+300mV). Hierfür wird eine programmierbare Offset-Korrekturspannung an R56 angelegt, die je nach Signalform
unterschiedlich sein kann. Die
Korrekturspannung wird in Kanal B des dualen DAC (Digital Analog Converter) MCP4812 (IC10) erzeugt und an VoutB
(Pin6) ausgegeben. Die Spannung kann zwischen 0,0 und 2,0V mit einer Auflösung von 10 Bit, d.h. ca. 2mV, eingestellt
werden. Da eine Auflösung von 2mV zu grob für die Offset Korrektur ist, wird die Spannung in dem Spannungsteiler R45-
R46 auf 40% reduziert, d.h. die Auflösung beträgt am Ausgang des Spannungsteilers ca. 0,8mV. Die Korrekturspannung
geht auf einen weiteren OpAmp (IC11A), der als Impedanzwandler mit der Verstärkung von 1 arbeitet. Die Einstellung der
Offset Korrekturspannungen für Sinus/Dreieck bzw. Rechteck erfolgt über den Menüpunkt 4.5 Offset. Die Ansteuerung des
DAC erfolgt seriell über Pin3 (SCK=clock) und Pin4 (SDI=data). Für die Datenübertragung wird Pin2 (CS=Chip Select) auf
Masse gelegt.
Der Ausgang der Verstärkerstufe (IC14, Pin6) geht auf einen 8-stufigen Spannungsteiler (R60-R68) mit einem
Spannungsverhältnis von 0,4 bzw. -8dB pro Stufe. Über den 8 Kanal Analog Multiplexer 74HC4051 (IC15) wird die gewählte
Spannungsteiler Stufe durchgeschaltet und über den Puffer (IC17B) auf einen weiteren 8-stufigen Spannungsteiler (R69-
R76)/Multiplexer (IC16)mit einem Spannungsverhältnis von 0,89 bzw. -1dB pro Stufe geführt, sodass der Signalpegel von 0
bis -63dB mit 1dB Auflösung eingestellt werden kann.
Die Ansteuerung erfolgt über ein 6-Bit Wort an den Pins 9-11(IC15:Bit 5-3, IC16:Bit 2-0), wobei "000000" einer
Pegelabsenkung von -63dB und "111111" 0dB entspricht. Der Signalpegel wird seriell von dem Mikrocontroller an das
Schieberegister 74HCT4094 (IC12) gesendet und parallel an den Pins DB0-DB5 ausgegeben. Als 7tes Bit (DB6) ist die
Umschaltung zwischen Sinus/Rechteck in das Datenwort integriert.
Der Ausgang des 2ten Multiplexer (Pin3, IC16) geht auf den Eingang der Ausgangsstufe mit dem 2-fach HF-OpAmp AD8056
(IC17A). Die Verstärkung ist über R78 zwischen 1 und 2,5 einstellbar. Der maximale Ausgangshub beträgt je nach
Belastung ca. +/- 3,5V, ich würde jedoch empfehlen den Ausgang auf +/-2V, d.h. 4Vpp einzustellen. R77 dient der Offset
Korrektur bei kleinen Signalpegeln.
Für den TTL Ausgang wird das Signal am Ausgang (Pin6) von IC14 abgenommen und über R52,C43/C44 an den Eingang
(Pin2) des 4-fach NAND Gatters 74HC132 (IC13) geleitet.
Über R51/R53 wird das Signal auf den mittleren Pegel der Schwellenspannungen von IC11 (ca.2,3V) angehoben. Mit dem
2ten Eingang (Pin1) kann der TTL Ausgang Ein- bzw. Ausgeschaltet werden. Der Ausgang Pin3 geht einerseits für die
Frequenzmessung auf die Steckverbindung SV11 und andererseits auf einen weiteren Eingang (Pin 12), dessen Ausgang
über R54 zur Buchse SV8 geführt wird. Der 2te Eingang (Pin13) liegt auf +5V.
Der TTL Ausgang "verunstaltet" die Signale des Analogausgangs durch Spannungsspitzen in den Umschaltpunkten,
insbesondere bei hohen Frequenzen und geringem Pegel. Zur Reduzierung dieser Störungen hat IC13 separate
Zuleitungen für die Spannungsversorgung. Trotzdem würde ich empfehlen, den TTL Ausgang nur einzuschalten, wenn er
benötigt wird.
In der Betriebsart Wobbel und VCO wird die Frequenz als Spannungssignal am Ausgang VoutA (Pin8) des DAC (IC10)
ausgegeben. Die Spannung ist proportional der Frequenz bzw. dem Logarithmus der Frequenz. Über den Menüpunkt 4.6.
DAC Gain kann als Ausgangsspannung 0-2V oder 0-4V gewählt werden.
In den Betriebsarten VCO und Wobbel wird die untere Frequenz Fu festgelegt, z.B. 20Hz. Die obere Frequenz Fo ergibt
sich aus der gewählten Anzahl Dekaden:
1 Dekade:
Fo = 10 x Fu
z.B. Fo= 10 x 20Hz = 200Hz
2 Dekaden:
Fo = 100 x Fu
z.B. Fo= 100 x 20Hz = 2.000Hz
3 Dekaden:
Fo = 1.000 x Fu
z.B. Fo= 1.000 x 20Hz = 20.000Hz
Der Frequenzverlauf zwischen Fu und Fo kann linear oder logarithmisch gewählt werden. Für die logarithmische Kennlinie
ist eine Logarithmentabelle mit 256 Werten hinterlegt. Zwischenwerte werden linear interpoliert.
In der Betriebsart Wobbel kann zusätzlich die Anzahl der Schritte gewählt werden, in denen der Frequenzbereich
durchfahren wird. Die Anzahl kann 32, 64, 128, 256, 512 oder 1024 Schritte
betragen. Diese Schritte können entweder manuell über die Up/Down Taster
oder automatisch über eine wählbare Zeit/Schritt abgefahren werden. Die
Zeit pro Schritt (dt) kann 1ms, 2ms, 5ms, 10ms, 20ms, 50ms, 0,1s, 0,2s,
0,5s, 1s oder 2s betragen. Die Abbildung zeigt als Beispiel den
Frequenzgang einer Korrekturschaltung für ein Elektret Mikrofon für 5-50
kHz mit logarithmischer Teilung, 32 Schritten und 10ms/Schritt.
Das Frequenzsignal kann entweder kontinuierlich oder als "Burst"
ausgegeben werden. Bei der Wahl "Burst" wird das Signal mit 1, 2, 4, 8, 16
oder 32 Perioden ausgegeben, abhängig davon wie viele Perioden in die
Hälfte der gewählten Zeit pro Schritt (dt) passen. In der zweiten Hälfte, bzw.
dem Rest von dt wird kein Signal ausgegeben.
Ich verwende diese Betriebsart zur reflektionsarmen Frequenzgangmessung
an Lautsprechern im Wohnraum: Bei einer Deckenhöhe von 2,5m,
Platzierung des Lautsprechers/Mikrofons auf 1,25m und 1m Mikrofonabstand
ergibt sich eine Laufzeitdifferenz zwischen direktem Schall und reflektiertem
Schall von 5ms, d.h. man hat 5ms reflektionsarme Messzeit. Unter
Berücksichtigung der Einschwingzeit sind so Frequenzgangmessungen ab
ca. 200Hz aufwärts möglich.
Aufbau der Elektronik
Ich habe die gesamte Schaltung auf Streifenrasterplatinen aufgebaut (siehe auch Sonstiges => Streifenrasterplatinen). Für
eine gute Signalqualität sollte speziell für die Signalgenerator Platine auf IC Fassungen weitestgehend verzichtet werden.
Die Platinen für das Display und die Taster sind mit Drahtwinkeln direkt mit der Hauptplatine verlötet.
Das Platinenlayout, ein Bestückungsplan, eine Zeichnung für Leiterbahnunterbrechungen, sowie die Stückliste befinden
sich im Download Ordner am Ende der Seite. Nachfolgend noch einige Fotos des Aufbaus.
Abgleicharbeiten
Die erforderlichen Abgleicharbeiten erfolgen entweder über Trimmer oder softwaremäßig über das Einstellungsmenü. Für
die Einstellungen ist ein Voltmeter ausreichend, ein Oszilloskop kann hilfreich sein. Eine detaillierte Anleitung befindet sich
im Downloadordner am Ende der Seite.
Bedienung
Die Bedienung erfolgt über die Taster Ta1-Ta6. Über die Menü Taste (Ta1) wird das Menü aufgerufen, über das die
Einstellungen vorgenommen werden. Die einzelnen Menüpunkte werden mit den Up/Down Tasten angezeigt. Mit der OK
Taste wird der entsprechende Menüpunkt aufgerufen. Innerhalb des Untermenüs wird der Cursor mit den Rechts/Links
Tasten bewegt und der Wert mit den Up/Down Tasten verändert. Mit der OK Taste werden die Einstellungen übernommen
und das Menü verlassen, mit der Menü Taste geht man eine Menüstufe zurück, ohne Änderungen zu übernehmen.
Der Menüpunkt 4.Einstellungen hat zusätzliche Untermenüs für die in der Regel einmaligen Grundeinstellungen des Geräts.
Alle gewählten Einstellungen werden in dem internen EEPROM gespeichert und beim Einschalten des Gerätes geladen,
d.h. das Gerät startet mit den zuletzt benutzten Einstellungen.
Eine detaillierte Beschreibung der Einstellmöglichkeiten befindet sich im Downloadordner am Ende der Seite.
Download
Der unten aufgeführte Ordner beinhaltet alle relevanten Dateien, die für den Nachbau benötigt werden (siehe auch
Sonstiges => Zeichnungen)
DDS_Frequenzzaehler_V3.zip
Wesentliche Änderungen:
23.12.2015
Seite erstellt
17.10.2016
Hardware: Stromversorgung, Vorverstärker Analogeingang
Software: Erhöhung Wobbelfrequenz, Betriebsweise "Burst"
19.10.2020
Hardware: neuer Vorverstärker Analogeingang, Signalpegel Analogausgang in 1dB
Schritten einstellbar, neuer TTL Ausgang (abschaltbar).
Software: komplette Überarbeitung, Offset einstellbar.
Frequenzzähler / DDS Signalgenerator