mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage DDS


Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Andreas,

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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast vergessen den AVR auf externen Takt umzuschalten.

Autor: Johannes Raschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/4509...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.