www.wernerhirsch.de Elektronikprojekte Home Elektronikprojekte Sonstiges Kontakt/Copyright/Haftung
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