Frage:
MCLK im I2S-Audioprotokoll
Funkyguy
2014-03-12 04:22:26 UTC
view on stackexchange narkive permalink

Ich arbeite in einem meiner Projekte mit dem I2S-Audioprotokoll und möchte es in einem meiner Abschlussprojekte für eine Klasse von mir verwenden. Ganz ehrlich, ich verstehe die MCLK-Linie nicht ganz. Sie würden denken, "Oh, das steht nur für Master Clock" und Sie haben vielleicht Recht, aber da alles mit Audio- und Abtastraten zu tun hat, bin ich verwirrt.

Ich verwende die CS42436 im Softwaremodus: Kurz gesagt, es werden 3 Signale aufgenommen (die ich in Frage stelle).

MCLK - Haupttakt (Eingang) - Taktquelle für die Delta-Sigma-Modulatoren und Digitalfilter .

SCLK - Serielle Uhr (Eingang) - Serielle Uhr für das serielle Audio-Interface. Die Eingangsfrequenz muss 256 x Fs betragen.

FS - Frame Sync (Eingang) - Signalisiert den Start eines neuen TDM-Frames im digitalen TDM-Schnittstellenformat.

Kann jemand die Verwendung erklären? Diese Taktsignale in Bezug auf dieses Bild?

I2S Protocol

Ich weiß, dass das mittlere Signal die serielle Uhr ist, aber die anderen beiden verstehe ich überhaupt nicht.

Vier antworten:
markt
2014-03-12 06:30:29 UTC
view on stackexchange narkive permalink

Das oberste Signal ist Frame Sync (FS). FS wird verwendet, um anzuzeigen, ob das Audio für den linken oder den rechten Kanal bestimmt ist. Betrachten Sie sie jedoch nicht als "links" und "rechts", das sind nur willkürliche Namen. Stellen Sie sich diese als Kanal 0 (FS clear) und Kanal 1 (FS set) vor, die zeitlich auf eine einzelne Kommunikationsverbindung gemultiplext sind.

Das untere Signal sind die seriellen Daten, die in (?) Getaktet werden. Ihre MCU.

MCLK ist in diesem Diagramm nicht sichtbar. Dies ist die Uhr, die vom Audio-Codec (in Ihrem Fall einem CS42436) verwendet wird, um seinen eigenen internen Betrieb zu messen und / oder zu steuern. Es ist eine relativ hohe Frequenz; Ein gemeinsamer Wert ist 256 * Fs (wobei Fs die Abtastrate ist, z. B. 44,1 kHz). Werte im Bereich von 10 bis 60 MHz sind ziemlich typisch.

Ich habe derzeit einen 24-MHz-Oszillator in meiner Leiterplatte. Ich gehe davon aus, dass das in Ordnung wäre.
Es hängt wirklich vom Codec und Ihren Genauigkeitsanforderungen ab. In Ihrem Fall sieht es nach meinem kurzen Blick auf das CS42436-Datenblatt (S. 33, S.5.4.1) so aus, als müssten Sie es entweder mit 256 * Fs oder 512 * Fs versorgen, damit es richtig funktioniert. Sie müssen das Datenblatt Ihrer MCU untersuchen, um festzustellen, ob sie über eine PLL verfügt, mit der die I2S-MCLK mit einer genau auf die Anforderungen des Codecs zugeschnittenen Frequenz versorgt werden kann (z. B. 11,2866 MHz für 44,1 ksps bei 256 * Fs).
Warum gibt es MCLK?Gibt es Vorteile bei der Verwendung?
> Warum gibt es MCLK? Dies ist der Takteingang der digitalen Schaltung (DSP oder was auch immer) des DAC.Einige DACs erfordern es, andere machen es selbst, andere können externe Oszillatoren auf der Leiterplatte akzeptieren.
@PkP Wenn das System sowohl mit MCLK als auch mit PLL funktionieren kann, ist eine Lösung normalerweise besser als die andere?MCLK kann EMI bei ~ 12 MHz erhöhen?Ist der eine oder andere weniger nervös?Es ist wirklich die PLL von MCU gegen die PLL von CODEC?
@endolith, können Sie normalerweise nicht frei wählen, welches Sie verwenden.Da zwei Takte niemals gleich sind, müssen beide Enden der Verbindung denselben Takt verwenden, um den Beispieltakt abzuleiten.Wenn ein Ende Samples mit 96000,1 Hz verbraucht und das andere Ende sie mit 96000,2 Hz erzeugt, treten Knalle, Klicks und Schrecklichkeiten im Klang auf.Das erste, was zu tun ist, ist zu überlegen, wer der Datenmaster ist, wer der Datenslave ist, wer der Clockmaster ist und wie der Clock-Slave den Sample-Clock vom Clock-Master-Clock ableitet.Alle Variationen sind in i2s möglich, siehe Spezifikation für "i2s erweitert"
@endolith, die beste Anordnung ist die, bei der die analoge Schnittstelle der Clock-Master ist, z.Im Falle eines DAC ist der DAC der Taktmaster und der Mikrocontroller erzeugt Abtastwerte, die mit dem Takt des DAC übereinstimmen.Und im Fall von ADC ist der ADC der Taktmaster und erzeugt Abtastwerte, und die MCU verbraucht die Abtastwerte mit der ADC-Rate.Diese beiden Raten sind nicht gleich. Wenn Sie also sowohl ADC als auch DAC haben, müssen Sie entweder eine davon als Clock-Slave einstellen oder die Abtastratenkonvertierung in einem DSP durchführen.96.00001 kHz ist nicht die gleiche Abtastrate wie 96.00002 kHz!
@PkP Nun, in meinem Fall gibt es einen Kristall und die MCU generiert MCLK aus PLL und BCLK aus der Teilung von MCLK, sodass sie immer synchron sind, aber der CODEC unterstützt auch die Generierung seiner eigenen MCLK aus BCLK mit interner PLL.Ich bin mir nicht sicher, ob es einen Qualitätsvorteil gibt.Wenn Sie jedoch keine 12-MHz-MCLK auf eine Spur setzen, scheint dies für EMI / RFI besser zu sein.
@endolith, du hast recht.Es ist ein Kompromiss zwischen EMI und der Klangqualität, da die Uhrrekonstruktion niemals perfekt sein kann.Wenn Sie die Leiterplatte herstellen, schließen Sie den Trace trotzdem an und entscheiden Sie dann, ob Sie ihn verwenden möchten oder nicht.Ich würde den 12-MHz-Trace verwenden und ihn nur dann optimieren, wenn das EMI zu einem echten Problem wird.Ich schlage außerdem vor, dass Sie der Ablaufverfolgung einen Footprint für eine Filterkomponente hinzufügen (möglicherweise am Anfang mit einem Kurzschluss ausstatten).
@PkP Ja, ich habe es trotzdem angeschlossen und arbeite jetzt an der Firmware.Vielen Dank für den Rat, macht Sinn, dass die Wiederherstellung schnellerer MCLK von langsamerer BCLK weniger gut ist.
"Betrachten Sie sie als Kanal 0 (FS klar) und Kanal 1 (FS eingestellt)" Technisch nennt der Standard sie Kanal 1 und 2 .: /
Ritesh Patel
2016-01-12 19:23:33 UTC
view on stackexchange narkive permalink

Der serielle Takt beträgt nicht 256 * Fs, der serielle Takt ist Ihre Abtastfrequenz (Fs) * Anzahl der Bits / Kanal * Anzahl der Kanäle. Zum Beispiel 2 Kanäle für Stereo und 1 Kanal für Mono.

Es ist also eine kleine Uhr (BCLK)?
Für diesen Chip muss SCLK tatsächlich 256 * Fs betragen.Aber das wäre historisch nicht der Fall.
Angelo Dureghello
2019-04-10 15:04:48 UTC
view on stackexchange narkive permalink

Der Master-Takt generiert das Timing des i2s-Streams, sodass daraus Bitclock- und Frame-Sync-Signale abgeleitet werden.Es kann von einem mit dem DAC (i2s-master) verbundenen Kristall abgeleitet werden.Oder es kann die CPU sein, die dem DAC einen MCLK bereitstellt, der immer noch Master ist.

Prabin CA
2020-01-16 12:00:21 UTC
view on stackexchange narkive permalink
  1. Frame Sync oder LR-Takt (linker rechter Kanal) oder allgemein als Wortsynchronisation bezeichnet. Dies ist die Samplerate, mit der Sie die Audiodateien abspielen oder aufnehmen.

  2. Bittakt oder genannter I2S-Takt, abgeleitet von Frame Sync * Anzahl der Kanäle (in I2S it 2, dh L und R) und Anzahl der Bits pro Kanal (abhängig vom Abtastformat 8, 16,32-Bit-Modi)

  3. Dies sind real abgetastete PCM-Daten zum Aufzeichnen oder Abspielen über I2S-Datenleitungen (entweder rein oder raus).

  4. ol>

    Master Clock (Mclk): Mlck wird im Master-Modus von LRCK und SCK abgeleitet (zum Synchronisieren der internen Peration des Audio-Codecs).Dies kann auch im Slave-Modus aktiviert / deaktiviert werden (wenn der Master mclk nicht geben kann).



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...