Atmega8/16 WAV über PWM???

OP #403561
Lesenswert?
• ▲
▼
Hallo, ist es möglich ein Wav (Telefonqualität 8Bit/8KHz) über einen
Atmega8 oder Atmega16 per PWM auszugeben?
Wenn ja wie realisiert man sowas, am liebsten wäre mir die
Programmierung in C. Hat jemand vieleicht ein kleines
Beispielprogramm?
Dürfte ja eigentlich nicht so schwer sein wenn der Timer mal richtig
initialisiert ist. Oder liege ich da total scheif?

Danke schonmal für eure Hilfe!
Gast #403563
Lesenswert?
• ▲
▼
Ich kenne mich zwar mit Mikrocontroller praktisch nich aus, aber ist der
PWM nicht ein digitaler ausgang? Aslo dauerndes wechseln von 0 und 1 am
Ausgang?
Damit könntest du meines Wissens nach nur "piipen" aber wenn du
Stimmen oder sonst welche Geräusche ausgeben möchtest brauchst du ein
Analogausgang.
Gast #403565
Lesenswert?
• ▲
▼
@unbekannter:
Das pipen hörst du nur, wenn die PWM frequenz zu niedrig ist.
Einer PWM Frequenz von 30kHz z.b. könnte wohl kein normaler
lautsprecher mehr folgen, und es würde nur noch das "aufmodulierte"
NF signal durchkommen. Eleganter wäre ein Tiefpassfilter, der die hohe
Frequenz filtert und nur den NF anteil durchlässt.
OP #403566
Lesenswert?
• ▲
▼
@...HanneS... Lux
Das mit dem PLL hört sich gut an gibt es da acu einen MC mit mehr
Ports?
Und gibt es da ein irgend welche Quellen wie der Timer dann
konfiguriert werden muß?
Ich hab echt schon alle möglichen Seiten durchsucht und nichts
passendes gefunden.

@Fly
Danke für die AppNotes, die muß ich erstmal Studieren um da
durchzusteigen.
Gast #403569
Lesenswert?
• ▲
▼
Weshalb studierst du nicht die Links die ich gepostet habe?! Das ist
ganz genau dass was du suchst! Inkl. Schema und dokumentiertem
Sourcecode und das beste ist: Es funktioniert garantiert!
Kannst du kein Englisch?
OP #403570
Lesenswert?
• ▲
▼
@Fly
Ich hab doch geschrieben das ich mir die Appnotes mal anschauen muß!
und ja ich kann Englisch.
@All
ich habe mir mal die Appnotes reingezogen und hab das ganze mal auf
einem Atmega8@8Mhz umgesetzt.
Ich habe das Wav-File zum testen im Programmspeicher untergebracht
und schicke die Daten dann auf OCR1B.
Den WAV habe ich mit 8BIT und 4000Hz codiert.
Es kommt auch was raus was sich wie der WAV-File anhört nur ist die
Qualität bei (8Bit 4000Hz) nicht mehr so doll.
Ich werde bei gelegenheit mal (8Bit 8000Hz) testen.
Das piepen der PWM-Frequenz kann man noch wohl rausfiltern.
Ich denke das ein MC mit PLL wohl ein besseres ergebnis ausgibt und man
sich den Filter Sparen kann.
Ich werde mal den Tiny26 checken.
Was mir jetzt noch fehlt ist ein geeigneter Speicher zu ablegen der
WAV-Files, ich denke 64KB/128KB würden ausreichen.
Hat da jemand eine Idee?
Gast #403571
Lesenswert?
• ▲
▼
mmhh ganz ehrlich, wenn du den controller nur sound ausgeben lässt, und
diese nicht im flash ablegen willst, kannst du ja einen eeprom oder
flash IC nehmen... Kleiner controller, der am adress und datenbus
hängt, evtl über schieberegister o.ä. und hinten einen kleinen 8bit
dac. da musst du nichts filtern, und bist glücklich :-))

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren