AD9833

Hallo zusammen,

ich habe mich in den letzten Tagen mit dem AD9833 auseinandergesetzt und habe hierzu ein paar experimente gemacht. Das Youtube-Video zu diesen ersten versuchen findet ihr hier:

 

 

Währenddessen habe ich angefangen ein Computerprogramm zu schreiben, welches anhand der Eingaben des Nutzers die entsprechenden Daten für den DDS-Chip generiert und sie an einen Mikrocontroller weiter gibt, welcher die entsprechenden Datensätze an den AD9833 weitergibt. Dieses Programm werde ich hier nach seiner Fertigstellung inklusive Quellcode und Schaltungsunterlagen veröffentlichen.

Grundlagen der DDS-Technik

Die abkürzung DDS steht für Direkte Digital Synthese. Das Gesamtverfahren ist recht simpel zu verstehen aber schwer zu realisieren. Mittels eines Refferenztaktes werden Werte aus einem Speicher, der sog. "Lookup-Tabelle", an einen Digital-Analog-Wandler (DAC) übermittelt. wenn man nun diese Werte über mehrere Zyklen des Takes hält, so sinkt logischerweise die Ausgangsfrequenz. Wenn man um einen Wert auszugeben also 4 takte braucht und man den wert aber 8 Takte ausgibt, so ist die Ausgangsfrequenz 1/8 des Refferenztaktes. Ändert sich die Frequenz des Refferenztaktes durch Schwankungen, so ändert sich logischerweise die Ausgangsfrequenz um einen gewissen Faktor.

Es gibt eine Menge an DDS-Chips, welche normalerweise ein Lookup-Tabelle von 4096 oder 8192 Werten für den Bereich einer kompletten Sinus-Periode von 360° oder zwei Pi haben. Normalerweise ist es nicht möglich diese Lookup-Tabelle auszulesen. Man steuert das IC mittels von Kontroll und Frequenzregistern.
Ich habe für dieses Beispiel den AD9833 von Analog Devices gewählt, da dieses IC recht günstig ist und von seinen Funktionen ausreichend ist.