Woher weiß dieser Audio-ADC, mit welcher Rate das Audio abgetastet werden soll?

Das fragliche Teil ist PCM1808 . Dieses Gerät benötigt einen externen Systemtakt am SCKI-Pin. Vom Master-Gerät benötigt es LRCK, BCK & DOUT. Der LRCK wählt den linken/rechten Kanal aus. BCK ist das Taktsignal, das in den ADC gesendet wird, um die DOUT-Bits auszutreiben. Die Komponente hat eine Auflösung von 24 Bit.

Nehmen wir nun an, ich habe einen 16,384-MHz-Quarz. Gemäß Tabelle 1 könnte dies eine Abtastfrequenz von 32 KHz oder 64 KHz bedeuten. Im Datenblatt heißt es: "Der PCM1808 verfügt über eine Systemtakterkennungsschaltung, die automatisch erkennt, ob die Systemuhr im Slave-Modus mit 256 fS, 384 fS oder 512 fS arbeitet." Ich weiß nicht, woher weiß das Gerät, ob ich automatisch mit 32 kHz oder 64 kHz abtasten möchte!? Das erscheint mir mehrdeutig, fast wie Zauberei.

Muss das Master-Gerät dann den ADC kontinuierlich lesen? Ich meine, es wird Zeiten geben, in denen Leseproben nicht benötigt werden. Was passiert, wenn ich den ADC überhaupt nicht lese? Muss ich einen Befehl senden, damit es einschläft und aufwacht?

Das Master-Gerät wird vom gleichen 16,384-MHz-Takt gespeist. Offensichtlich sendet es das BCK-Signal jedoch nicht mit der gleichen Rate von 16,384 MHz aus. Wenn man das I2S-Datenformat verwendet, mit welcher Rate liest das Master-Gerät den ADC, um alle Samples zu erhalten, indem es BCK sendet und Daten auf DOUT liest, und wie wird dies sichergestellt? Ist es die Verwendung von Timer-Interrupts oder spezieller integrierter Hardware für I2S-Datenübertragungen?

Bei I2S steuert der Master die Abtastrate, indem er den Bittakt steuert. Die Anzahl der Bits pro Wort und die Anzahl der Kanäle ist entweder fest oder vom Master vorprogrammiert. en.wikipedia.org/wiki/I%C2%B2S
Betrachten Sie das Verhältnis zwischen LRCK und der Abtastrate.
Dies kann auch hilfreich sein, um I2S zu verstehen. Es ist eine Frage, die ich vor einiger Zeit hatte: electronic.stackexchange.com/questions/102588/…

Antworten (1)

Wenn Sie sich Tabelle 2 ansehen, sehen Sie, dass die MD0- und MD1-Pins steuern, wie der Master den Takteingang verwendet (entweder 256, 384 oder 512 * fs). Sobald Sie eine dieser Optionen ausgewählt haben, können Sie Ihre Quarzfrequenz verwenden, um Ihnen die Abtastfrequenz mitzuteilen.

Sobald Sie die Abtastfrequenz kennen, können Sie die Auflösung verwenden, um Ihnen die BCK-Rate zu geben. Dieser spezielle Teil hat eine 24-Bit-Auflösung. Jeder "Frame" von Audio besteht aus zwei Kanälen, links und rechts. Jeder Kanal hat einen 24-Bit-Wert. Daher besteht jede Abtastung aus 24 Datenbits. Wenn Sie beispielsweise eine Abtastrate von 64 kHz verwenden (indem Sie 256 fs mit den Pins MD0 und MD1 auswählen), können Sie die BCK-Rate abrufen:

24 Bit/Abtastung * 64.000 Abtastungen/Sek. = 1.536.000 Bit/Sek

Daher beträgt Ihre BCK-Frequenz 1,536 MHz. Ihre L/R-Uhr wird 24-mal langsamer sein, da sie oszilliert, wenn der Kanal umschaltet, was alle 24 Bits ist.