This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SRC4192:具有多个采样率的 I2S 输入、可通过主时钟转换为固定输出采样率

Guru**** 2392905 points
Other Parts Discussed in Thread: SRC4192

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/802213/src4192-i2s-inputs-with-multiple-sample-rates-to-be-converted-into-a-fixed-output-sample-rate-with-master-clock

器件型号:SRC4192

您好!

我需要将一个具有44.1kS/s 或48/96/192KS/s 采样率的3线 I2S 输入转换为具有固定采样率(例如48ks/s)的4线 I2S、并添加了主时钟(例如、本地振荡器的24.576MHz)。 根据我从数据表中了解到的内容、SRC4192应该能够在输入端口设置为从端口、输出端口设置为主端口的情况下实现。 我只是想知道在输入端具有44.1kS/s 或48/96/192KS/s 是否会产生任何问题(例如、内部缓冲)、因为上述采样率没有整数比... 是否需要根据输入速率是44.1kS/s 还是48/96/192KS/s (例如22.5792MHz 或 24.576MHz)提供2个不同的本地振荡器,然后在它们之间切换? 在这种情况下,如何自动决定振荡器选择? 或者、采样率转换是通过使用单个本机振荡器频率在内部正确执行的吗?

第二个问题与单个 LRCLK 帧内发送的输入 I2S 数据位数有关。 在我的系统中、在每个 LRCLK 帧中、我有32个数据位、其中最后8个位为0。 换句话说、每个通道帧的32位数据字在最后一个 LSB 中填充为0、因此最终实数数据位为24。 我想 SRC4192仍然可以处理这个问题、因为我假设一旦输入串行缓冲器满24位、更多进入 BCKL 的边沿就不会在输入寄存器中产生任何进一步的位移位。 还是我错了?

非常感谢。

此致

Simone

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Simone、

    1.是的、这是 SRC4192的一个非常常见的用例。 速率不需要是整数倍、您可以想象一些最常用的转换是从44.1到48K、反之亦然。 只需要1个参考时钟、参考时钟应为24.576、因为您使用它来推导 I2S 主器件输出(48K)的时钟

    使用 I2S 时、一切都是左对齐的、最大位分辨率为24位、只需占用前24位。 如果情况是您有16个数据位、16个填充位= 0、那么这也是可以的。 如果数据正确对齐、则需要专门为每个位分辨率设置格式。

    此致、
    -Steve Wilson