Anbinden eines Audio Codec ICs (AK4556) an einen STM32F3xx

OP #6373834
Lesenswert?

Ich bin grade am Durchlesen von Datenblättern der Audio CODECs von 
AsahiKasei und frage mich, wie ich einen AK4556 oder auch einen "nur" 
ADC Wandler (AK 5720) an einen STM32F3xx oder 4xx anbinden kann.

Diese ICs brauchen einen Master-Clock, der ein Vielfaches der 
Samplefrequenz ist, also liegen wir irgendwo zwischen 10 und 30MHz. Dann 
muss man die Daten ja auch irgendwie auslesen/einspielen. Ich krieg das 
aus dem Datenblatt nicht raus, ob das serielle Interface synchron zum 
Master-Takt sein muss. Da die Idee wäre, viele AK5720 als Eingänge 
parallel einzulesen, könnte ich mir im asynchronen Fall vorstellen, alle 
ADCs parallel einzulesen und dies in einer Prozessorschleife zu tun (den 
seriellen Clock sozusagen durch die Programmschleife vorzugeben).

Wie synchronisiert man prinzipiell den Prozessor mit diesen Bauteilen?
Muss ich einen Master-Clock extern erzeugen, den in den AK UND den STM32 
füttern und dann über Interrupts alle 256 Clocks die Daten auslesen?
Gast #6373838
Lesenswert?

Ob dein spezifischer STM32 das hat weiß ich nicht, aber es gibt etliche 
Modelle mit SAI (serial audio interface glaube ich). Hier kannst du über 
eine separate PLL den MCLK erzeugen, PCLK wird auch intern abgeleitet 
und du kannst glaube ich sogar mindestens zwei SAI synchronisieren.

Ich habe mal auf einem STM32F413VGT6 einen CS4344 verwendet. Natürlich 
musste ich da nichts extern erzeugen.
Gast #6373886
Lesenswert?

Noch eine Frage dazu: in allen Tabellen der Datasheets der ADC ICs 
finden sich meist Mehrfachangaben der Verhältnisse des Mastertaktes MCLK 
und der Samplefrequenz fs. Ermitteln diese ICs die richtige 
Samplefrequenz (und folglich das Teilerverhältnis) in der 
Initialisierungsphase aus der Frequenz von LRCK selbst?
Gast #6374095
Lesenswert?

Beim CS4344 habe ich 44kHz oder irgend eine beliebige anere krumme Zahl 
verwendet. Das ist gar nicht so entscheident, im Dateblatt steht nälich:
1
MCLK/LRCK must be an integer ratio, as shown in Table 1. The LRCK frequency is equal to Fs, the fre-quency at which words for each channel are input to the device. The MCLK-to-LRCK frequency ratio andspeed mode is detected automatically during the initialization sequence by counting the number of MCLKtransitions during a single LRCK period and by detecting the absolute speed of MCLK. Internal dividers areset to generate the proper clocks. Table 1 illustrates several standard audio sample rates and the requiredMCLK and LRCK frequencies. Please note there is no required phase relationship, but MCLK, LRCK andSCLK must be synchronous.

Es muss also lediglich das Verhältnis der CLKs zueinander stimmen, wenn 
ich mich richtig erinner.
Gast #6374157
Lesenswert?

Vielen Dank für den Auszug aus dem Datenblatt. In (unterschiedlichen) 
Datenblättern der AKM Wandler sucht man danach vergeblich ... wird wohl 
als selbstverständlich angenommen.

Irgendwie wird bei all diesen Signalen schnell klar, dass das per 
Software kaum zu realisieren ist. Gut nur, das ST das auch erkannt hat 
und ein SAI in den F4 verbaut hat.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren