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!
Die PWM-Frequenz dürfte etwas langsam sein. Mit Tiny15 geht das besser, dessen PWM-Timer hat PLL. ...
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.
http://atmel.com/dyn/resources/prod_documents/doc1456.pdf http://atmel.com/dyn/resources/prod_documents/avr335.zip Genau das was du suchst...
@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.
@...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.
Mir fällt de tiny26 ein. Der hat PLL und zwei Ports. Den kann man Speed mäßig ziemlich hochjagn. Am einfachsten alle Datasheets durgucke. 73
> Und gibt es da ein irgend welche Quellen wie der Timer dann > konfiguriert werden muß? Ja, Quellen gibt es, die Datasheets zu den AVRs, die man sich kostenlos bei www.atmel.com herunterladen kann. Ich habe mal etwas mit dem Tiny15 und der Soundausgabe experimentiert, das kannst Du hier nachlesen: http://www.hanneslux.de/avr/divers/index.html ...
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?
@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?
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 :-))
Da gibt es z.B. 'ne nette fertige Lösung von Peter Dannegger als Soundmodul für Modellbau. Musst mal suchen, wurde hier im Forum drüber berichtet. ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.