mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sinus-Frequenz mit Mega8 erzeugen


Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

wie stelle ich es am einfachsten an mit einem Mega-8 2 feste Frequenzen
(Sinus) zu erzeugen (entweder die eine oder die andere). Die Frequenzen
sind 1200 und 2200 Hz.
Ich dachte da an PWM. Sollte ich die Werte ins Flash legen oder lieber
jedesmal neu berechnen? Hat evtl. jemand etwas Beispiel-Src, möglichst
in C.

Und dann kommt noch das ganze andersrum. Will meinen, wie erkenne ich
am einfachsten diese 2 Frequenzen?

Das ganze soll für ein AFSK-Modem mit 1200 Baud sein.

Danke für Tips!

Autor: Andreas Jakob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

Hier findest Du oberflächliche Infos.
Ist wohl ein kommerzielles Produkt.
Ich hab kürzlich genau wegen derselben Idee
ein wenig gesucht.

http://www.bkme.de/prod/avrdspdoc.htm

http://www.bkme.de/prod/avrdsp.htm

Grüße
Andreas

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Hier findest Du oberflächliche Infos.

so kann man das nicht formulieren: auf oberflächliche Fragen bekommst
du in diesem Forum allenfalls ebenbürtige Antworten, wenn du dich mit
der Materie auseinandersetzt und detailierte Fragen stellst folgen die
prägnaten Antworten für gewöhnlich innerhalb von einzelnen Stunden.

Zur Lösung: einen Quadranten vorgerechnet im Flash abspeichern und
timergesteuert durchlaufen. Die Erkennung wurde vor Kurzem auch
erklärt: Eingangssignal auf Komperator und dann auf einen ext.
Interrupt. Der Int. startet einen Timer und je nach dem ob der nächste
Puls (=Int.) oder der Timer zuschlägt ist es die eine oder die andere
Frequenz.

Die Berechnung der Preload und Comparewerte für die Timer in
Abhängigkeit der Frequenzen und deines Quarzes kannst du mit Hilfe des
avr-Datenblattes recht einfach errechnen.

grüsse leo9

Autor: Andreas Jakob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leo9,

die Aussage mit den oberflächlichen Infos war auf
den Link bezogen, absolut nicht auf dieses Forum :-)
Das Forum ist wirklich Spitze.


Grüße
Andreas

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Andreas:

dann sorry für mein Statement, hab ich wohl wohl falsch verstanden.

grüsse leo9

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/projects/dds
und etwas Hirnschmalz sollten eigentlich reichen.
Gruß Bernhard

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und dann kommt noch das ganze andersrum. Will meinen, wie erkenne ich
am einfachsten diese 2 Frequenzen?
Schau Dich dooch mal um im C-Tut gibt es  Beispiele
http://www.mikrocontroller.net/articles/c/

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

danke für die Infos. Werde das mal durcharbeiten.
Das dds-Projekt habe ich mir bereits angesehen. Allerdings will ich
nicht so viele Pins dafür "opfern".
Die nächsten Fragen kommen bestimmt. Dann wirds sicherlich wesentlich
konkreter. Derzeit geht es erstmal um den "groben Entwurf" wie das
überhaupt realisiert werden soll.

Jens

Autor: baeri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

bist du mit deinem Projekt schon weiter gekommen?

Möchte in absehbarer Zeit auch etwas in dieser Richtung
versuchen..

baeri

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Baeri,

habe gerad die 1. Prototyp-Platine geätzt.
Die 2 Töne werde ich wie hier vorgeschlagen erzeugen (Sinus berechnet
im Flash ablegen).
Erkennen der unterschiedlichen Töne will ich folgendermaßen
realisieren: Das Signal gelangt auf einen OP der dieses "gnadenlos
übersteuert". Somit erhalte ich ein Rechteck. Der Ausgang des OP geht
dann auf einen Interrupt-Eingang der ATMega. Bei Flankenwechsel wird
der Interrupt ausgelöst und ich starte einen Timer, den ich beim
nächsten Flankenwechsel stoppe. Aus der Zeit ermittel ich, welche der 2
Frequenzen es war (so die Theorie).

Wenns läuft werde ich hier mal darüber berichten.

Jens

Autor: baeri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jens,
wollte nur mal wieder nachfragen, wie es bei dir ausschaut,
und ob du schon brauchbare ergebnisse erziehlt hast?
Ich habe vor kurzem auch versucht, selber etwas auf die Beine zu
stellen, aber mit meinen sehr mageren AVR Kenntnissen wird das wohl
noch eine weile in Anspruch nehmen! :-(

Autor: manu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

hört sich nach einem interessanten Projekt an. Gibt es schon
resultate?

Autor: Hubert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter diesem Link laufen bereits einige gute Projekte. Die wollen zwar
Bausätze verkaufen und werden daher die SW nicht hergeben aber allein
die Schaltungen geben schon interessante Ansatzpunkte.
www.bausatz.aatis.de/AS096_9k6-Ansteckmodem/as096_9k6-ansteckmodem.html

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.