Hallo,
ich dekodiere MP3 in einem LPC2106, stehe nun aber vor dem Problem den Ton nach draußen zu bekommen.
Audio-DACs scheint es nur mit I2S und ähnlichen Schnittstellen zu geben, aber ich bin mir nicht sicher ob sich das ohne CPLD realisieren lässt. Fast alle DACs fordern, dass LRCK (Worttakt) synchron zu MCK (Mastertakt) ist, aber phasenverschoben sein darf. Was genau habe ich mir darunter vorzustellen? Ich habe mir z.B. überlegt den Timer auf
2*Samplerate zu setzen, LRCK vom Timer toggeln zu lassen, und im Timerint. eine SPI-Übertragung für die 16 Datenbits pro Kanal anzustoßen (die natürlich nicht länger als bis zum nächsten Tick dauern darf). Der Controller muss seinen Takt dabei per PLL aus MCK erzeugen, ein kleiner Fehler wäre also vermutlich vorhanden. Falls das etwas ausmacht könnte man LRCK notfalls auch direkt aus MCK runterteilen und die SPI-Übertragung vom externen Interrupt anstoßen lassen.Würde das so funktionieren?
Der VS1011 hat ein zahmes SPI-Interface und interen Buffer, ist zum DA-Wandeln von schon dekodierten Daten aber irgendwie witzlos.
Und schließlich könnte ich noch einen gewöhnlichen Nicht-Audio-DAC mit SPI nehmen, das hätte aber den Nachteil dass ich noch Filter und Verstärker brauche und es vermutlich schwieriger ist zu All-in-one-DACs vergleichbare Qualität zu erzielen.
Habt ihr irgendwelche Ideen/Vorschläge?
Gruß Andreas