Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage DDS


von Olaf (Gast)


Lesenswert?

Hallo zusammen,

ich baue gerade den Funktionsgenerator aus den Projekten im Wiki,
programmiere aber in Bascom.
Irgendwie erschließt sich mir die Vorgehensweise mit dem
Phasenakkumulator nicht. Die 256 Funktionswerte mit unterschiedlichem
Takt auf den Port legen leuchtet mir noch ein, aber so ist es ja
offensichtlich nicht gemeint.
Hat jemand eine andere Quelle zum Nachlesen oder kann mir mit ein paar
Worten nochmal das Prinzip erklären. Irgendwie stehe ich auf dem
Schlauch.

Danke und Gruß
Olaf

von Benedikt (Gast)


Lesenswert?

Bascom und DDS sind an sich ein Widerspruch, aber egal...

DDS verwendet den sogenannten Phasenakkumulator. Zu diesem werden in
periodischen Abständen Werte hinzuaddiert.
Der addierte Wert ist direkt proportional zur Ausgangsfrequenz:
Je größere der Wert, desto schneller steigt der Wert im Akkumulator.
Jetzt benötigt man nur noch eine 256 Byte große Tabelle, um eine andere
Kurvenform als Dreieck auszugeben.

von Olaf (Gast)


Lesenswert?

Danke erstmal für die Bemühungen, wie Du es beschrieben hast, so stehts
auch im Projekt. Werde wohl doch erstmal in der Basisliteratur stöbern.


Danke und Grüße
Olaf

von Martin (Gast)


Lesenswert?

Hi Olaf,

vorsichtig! Der Funktionsgenerator aus den Projekten im Wiki hat
irgendwie n'e Wanze im Assembler!
Die angegebene Frequenz im Display stimmt nicht mit der ausgegebenen
Frequenz überein. Z.B. die vorprogrammierte und angezeigte Frequenz von
1000Hz ergibt eine Ausgangsfrequenz von etwa 153Hz ! Schreib dein
Programm besser selbst!
Gruß Martin

von Olaf (Gast)


Lesenswert?

Hallo Martin,

danke für den Hinweis. Das mit dem eigenen Programm habe ich schon
gemacht, funktioniert auch prinzipiell in BASCOM, allerdings erst mal
auf absolutem Testniveau. Bin noch nicht weiter dazu gekommen.
Mein Problem lag einfach im Verständnis zur Funktionsweise des
Phasenakkus.

Gruß Olaf

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Martin: Irrtum, der angezeigte Wert stimmt exakt mit der ausgegebenen
Frequenz überein wenn man einen Quarz mit der richtigen Frequenz
verwendet, siehe Schaltplan.

von Martin (Gast)


Lesenswert?

Hi Andreas,

eben nicht, habe exakt den angegebenen Quarz (6,5536MHz)eingesetzt!
Wenn ich mal mehr Zeit habe werde ich den Fehler suchen

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Du hast vergessen den AVR auf externen Takt umzuschalten.

von Johannes Raschke (Gast)


Lesenswert?

Von Analog Devices gibt es eine Appnote zum Thema DDS. Die bezieht sich
zwar auf die integrierten DDS-Bausteine, erklärt aber die prinzipielle
Funktionsweise ziemlich gut...

Hier die URL:
http://www.analog.com/UploadedFiles/Tutorials/450968421DDS_Tutorial_rev12-2-99.pdf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.