Hiho liebe Leute,
ich möchte mir einen Wecker bauen - und suche gerade nach dem
"optimalen" Weg, den Alarmton zu generieren.
Ich möchte kein simples Gepiepse mit Hilfe irgendwelcher Tabellen im AVR
generieren, sondern würde lieber einen "echten" digitalisierten Sound
(Feuerwehrsirene) wiedergeben.
Was für mich quasi schon feststeht ist, dass ich ein AT45-Dataflash von
ATMEL per SPI an den ATmega88 anbinde.
Die Frage ist nun: Wie geht es am optimalsten/einfachsten weiter?
Variante 1: (Im Moment mein Favorit)
Den Dataflash per SPI am AVR, Ausgang vom Dataflash direkt verbunden mit
dem Eingang von einem 74HCT595 zur Seriell-Parallel-Wandlung - dahinter
dann einen 8-bit DAC.
Diese Variante würde mir ersparen, die Daten erst nochmal im AVR umladen
und wieder hinaustakten zu müssen. (Gewünschte Samplerate ist mindestens
11025Hz, falls möglich eventuell 22050Hz, dann aber mit 2x74HCT595 und
einem 16-Bit R2R als DAC)
Würde das denn so wie gezeichnet funktionieren?
Variante 2:
Den Dataflash per SPI am AVR, Daten werden per PWM vom AVR in ein
analoges Signal konvertiert.
Hmm... Wenn ich das jetzt so selber lese, dann scheint Variante 2
vermutlich die "einfache" Version zu sein. g
Trotzdem die Frage: Würde die Schaltung aus dem Anhang so funktionieren?
(Abblock-Kondensatoren, Pullups, NF-Verstärker usw. habe ich mit absicht
weggelassen, weil es nur eine kleine Skizze sein sollte.)
Welche Variante lässt sich für den AVR ressourcenschonender umsetzen?
Der hat ja noch andere Dinge zu tun, wie z.B. DCF77-Auswertung,
Displaymultiplexing (5 Stück 5x7-Matrix)...
Vielen Dank für eure Aufmerksamkeit,
Gruß
Timm
Der DAC befindet sich im "Write Mode", wenn CS und WR beide LOW sind.
Da das Schieberegister schon einen Latch hat, würde ich mir das
nochmalige "Latchen" beim DAC sparen, dachte ich mir.
So nebenbei:
SCL (Pin 10) am Schieberegister muss natürlich noch auf VCC hochgezogen
werden - habe ich in der Skizze leider vergessen.
Öhm ja... sehr gut aufgepasst! g
Nach dem Einstellen des Beitrages hier das war mir das auch aufgefallen
- aber die Skizze oben sollte eben nur eine Skizze sein - was also die
Auswahl der Pins angeht bin ich noch flexibel.
Also Rx/Tx werde ich schon für eine Anbindung an den PC brauchen, um den
Dataflash per AVR zu beschreiben.
Hallo,
falls Du noch ausweichen willst: schau Dir mal den DAC7512 an, habe für
ähnliche Zwecke auch mit einen AT45DB081D an einem Mega88 hängen.
gespielt wird 22kHz/16Bit Mono, kann man auch gut Musik drüber jagen,
klingt verblüffend gut.
TI schickt auch Sample...
Gruß aus Berlin
Michael
16-Bit-Sound mit einem 12-Bit DAC? Schneidest du jedesmal 4 Bit "vorne"
oder "hinten" ab?
Im Grunde finde ich aber, das 8-Bit für einen Wecksound reichen sollten.
Irgendjemand hier aus dem Forum meinte zum Thema Weckser einmal "Wecker
müssen fürchterlich klingen, sonst steht man nicht auf!".
Das Sirenengeheul, dass ich im Moment vorliegen habe ist mit 8-Bit
aufgenommen worden, daher würde ein 16-Bit DAC mir keine Vorteile
bringen (für diesen speziellen Anwendungsfall meine ich)
Es sei denn, ich baue mir den Audio-Rekorder von Travel Rec. mal nach
und klettere Samstag mittag mal auf das Dach der Grundschule damit...
g
Timm K. wrote:
> 16-Bit-Sound mit einem 12-Bit DAC? Schneidest du jedesmal 4 Bit "vorne"> oder "hinten" ab?
Alles um 4 bit nach rechts schieben.
> Im Grunde finde ich aber, das 8-Bit für einen Wecksound reichen sollten.> Irgendjemand hier aus dem Forum meinte zum Thema Weckser einmal "Wecker> müssen fürchterlich klingen, sonst steht man nicht auf!".
:-))
Naja, ich habe einen DAC gesucht und diesen gefunden.
Keine Außenbeschaltung, schneller als der AVR je kann und war eben recht
schnell beschaffbar zum Test.
> Das Sirenengeheul, dass ich im Moment vorliegen habe ist mit 8-Bit> aufgenommen worden, daher würde ein 16-Bit DAC mir keine Vorteile> bringen (für diesen speziellen Anwendungsfall meine ich)
Ist dafür ja auch ausreichend, bei mir hängt allerdings ein TPA3001
dahiner zum Krach machen, da sind die zusätzlichen 4Bit schon gut für
die Dynamik.
Allerdings würde ich dann für Deinen Wecker wohl nur ein R2R-Netzwerk an
einen Port hängen und mit 8Bit ausgeben.
Billig, schnell, problemlos.
Gruß aus Berlin
Michael
Ich seh in der Schaltung keinen einzigen Kondensator... ich weiss ja
nicht ob das so optimal funktionieren wird, selbst wenn die Schaltung an
sich stimmt. Und VREF hast Du auch nicht angeschlossen... das koennte
aber ok sein, ich kenne den DAC nicht.