Forum: Mikrocontroller und Digitale Elektronik TDA1543 DAC mit SPI ansteuern


von Stephan Müller (Gast)


Lesenswert?

hallo..

hier hat doch sicherlich jemand bisle Ahnung von seriellen DA
Wandlern..
es geht um die digitale Datenübertragung vom Controller zum DA Wandler
über die SPI Schnittstelle.
Der 16bit DA Wandler empfängt ja die Daten seriel, und die Bit-Frequenz
wird durch den Clockeingang bestimmt.
Mein Controller hat dafür einen super SPI Port, mit dem ich das auch
schon getestet hab, funktioniert ! An diesem Port kann ich auch die
SCK BitFrequenz einstellen, allerdings nur mit festen Werten..
Jetzt hab ich eine Frage:
Wenn ich Musik mit einer Samplingrate von 44Khz abspielen lassen will,

muss ich dann die Frequenz für die Bitübertragung (baudrate) genau auf
44100*16 Hz einstellen ? Das wären genau 705,6 Khz, diese Frequenz kann
man aber nicht exakt am SPI Port vom µC einstellen...

Funktioniert es auch, wenn ich die Baudrate auf z.b. 1 Mhz stell und
nachdem das Datenwort übertragen worden ist einfach die restliche zeit
nichts übertrage und warte bis der nächste Takt von 44,1Khz auftritt??

Die Frage ist, ob der DA Wandler unbedingt nach den 16 Bitzyklen schon
das nächste Wort verlangt oder ob ich da ein delay reinschieben kann,
von z.b. 6 Zyklen und dann erst das nächste Wort sende.

Weil wie will ich sonst über den SPI Kanal meines µC Daten wortweise
mit 44khz übertragen, wenn ich diese gar nicht fest einstellen kann ?

thanx!
mfg
Stephan

von Till (Gast)


Lesenswert?

"Funktioniert es auch, wenn ich die Baudrate auf z.b. 1 Mhz stell und
nachdem das Datenwort übertragen worden ist einfach die restliche zeit

nichts übertrage und warte bis der nächste Takt von 44,1Khz
auftritt??"

Wesentlich für die genaue Einhaltung der Samplingrate bei der
Wiedergabe ist die Wordclock, Pin 2. Die Bitclock kann auch "zu
schnell" laufen, und es können pro word mehr als 16 Bit übertragen
werden. Dazu ist es hilfreich sich von Philips die I2S Spezification
anzuschauen. Wichtig ist nun nämlich >wo< im jeweilige word, das z.B.
auch 30 Bit lang sein könnte, die wichtigen 16 bit information stecken.
das ist bei diverse Audio DACs unterschiedlich gehandhabt, interessant
dazu z.B. das Datenblatt des CS8412 Stichwort Ausgabeformate.

Der 1543 erwartet zweierkomplement formatierte Daten, MSB first, Das
erste Datenbit der 16 signifikanten Bits innerhalb des beliebig langen
Worts liegt dabei einen Bitclockzyklus später als die Flanke der
Wordclock. Anzuschauen und zu lesen in den Datenblättern des TDA1543,
TDA1541A und der Beschreibung des Philips DAC Formats auf I2S von
Philips.
http://www.semiconductors.philips.com/acrobat/various/I2SBUS.pdf
auch hier: http://www.elektronik-kompendium.de/public/riederer/I2S.htm

von Stephan Müller (Gast)


Lesenswert?

yeah,
dann funktioniert des höchstwahrscheinlich so wie ich es will !

:-)

von Till (Gast)


Lesenswert?

wenn es klappt würde es mich interessieren. poste doch die
ausgaberoutine hier, falls nichts dagegen spricht.

von Stephan Müller (Gast)


Lesenswert?

jo das geht aber noch ne weile bis ich so weit bin!
aber es war wichtig für mich zu wissen, für die weitere planung...

mfg

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
Noch kein Account? Hier anmelden.