Hm ja, ich wollte es nicht zu kompliziert aufschreiben, aber habe es dann wiedermal zu einfach aufgeschrieben.
Es geht um Klingeltöne in CD-Qualität, also 44.1 kHz / 16 Bit, 5-30s aber Mono. Den ganzen Kram packe ich passend formatiert via USB auf einen SPI-Flash von Winbond. Der AVR soll dann die Daten holen und auf einem kleinen 3W Speaker ausgeben.
Man könnte es ggf. sogar so clever lösen, dass die Daten gar nicht durch den AVR laufen, indem man den SPI-Flash mit dem I2S-DAC verbindet und einfach die CLK laufen lässt. Bei I2S muss man dabei aber dieses LRCLK mitsynchronisieren. Tricky, aber möglich. Falls es nicht geht, muss man das ganze durch den AVR pipen, d.h. man muss zwei USARTS parallel laufen lassen.
Da ich in AVR Assembler ganz fit bin, sehe ich da kein Problem. Ich habe da schon wilderes gemacht.
Ich kämpfe aber noch mit dem Teil "auf einem kleinen 3W Speaker ausgeben"... Da fehlt mir einfach die Erfahrung im analogen Bereich. Ich habe mir jetzt einfach mal den TFA9879 ausgesucht. Der nimmt I2S entgegen und kümmert sich um den Rest. I2S muss dann wohl einfach irgendwie gehen.
Es gab jedoch wesentlich mehr Auswahl an Class-D Verstärker mit analogen Eingängen, also wollte ich mich da schlau machen, wie ich so einen ansteuern könnte. Aber da kam ich nicht weiter. Alle Monoverstärker haben zwei Eingangspins, wollen also differentiellen Input haben. Differentielle DACs habe ich aber gar nicht gefunden (von ein paar überteuerten Ausnahmen für irgendwelche exotischen Anwendungen mal abgesehen).
Teilweise werden die wohl auch single-ended angeschlossen, also der IN- einfach gegrounded. Dabei geht aber die halbe Dynamik flöten und man muss seriell mit Kerkos DC blocken.
Wie man es richtig macht, ist mir immernoch nicht klar :(
Bin für jede Hilfe dankbar :)