调试 tlv320aic3104irhb
现在问题是使用了 mich1rp/mich1rm、录音有很多噪音。
微1rp /微1rm 记录期间的转储寄存器:
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.
调试 tlv320aic3104irhb
现在问题是使用了 mich1rp/mich1rm、录音有很多噪音。
微1rp /微1rm 记录期间的转储寄存器:
尊敬的 Jack:
很遗憾您遇到噪音。 常见原因有多种、例如 PLL 配置和音频格式不正确。
对于 PLL、我看到它被启用并被设置为以下值。
P = 1
J = 7
D = 3500
R = 1
这些系数满足 PLL 要求并期望时钟输入为13.374MHz。 是这样吗?
关于音频格式、从您提供的寄存器转储中、 器件配置为16位 I2S。 如果您可以提供 BCLK、WCLK 和 DOUT 的示波器截图(理想情况下全部在同一个捕获上)、那将会有所帮助。
此致、
Aaron Estrada
尊敬的 Jack:
从 MCLK 示波器屏幕截图中可以看到、MCLK 接近12.288MHz。 您能不能澄清预期的 MCLK 值是多少? 如果频率为12.288MHz、则不需要 PLL、并且可以使用时钟分频器。 请确认这是 MCLK 频率、我可以通过正确的时钟配置发送。
BCLK 和 WCLK 的示波器快照没有 WCLK 频率。 根据16位数据和 BCLK 频率、WCLK 看起来像是16kHz。 您可以确认吗? 如果 WCLK 为16kHz、则寄存器2配置错误、应设置为0x44。
我期待您的答复。
此致、
Aaron Estrada
尊敬的 Jack:
对于12.288MHz 时钟、8kHz FS 和16位字、请参阅以下设置(注意、所有寄存器配置在第0页):
-将寄存器2设置为0xAA (设置 Fsref / 6、其中 Fsref 为48kHz)
-将寄存器3设置为0x10 (这是默认值并设置 Q = 2。 Fsref = 12.288MHz/(128*2)= 48kHz)
-将寄存器101设置为0x01 (这选择 CODEC CLKIN 使用 CLKDIV_OUT 而不是 PLLDIV_OUT)
所有其他 PLL 系数(J、D、R)均可设置为默认值。 在这种情况下、MCLK = 12.288MHz 是48kHz 的整数倍、不需要 PLL。 请告诉我这是否有帮助!
此致、
Aaron Estrada
Aaron Estrada 您好:
寄存器值表
谢谢你
更新后的寄存器配置似乎没有反映我建议的更改。 我在下面再次发布了它们。
对于12.288MHz 时钟、8kHz FS 和16位字、请参阅以下设置(注意、所有寄存器配置在第0页):
-将寄存器2设置为0xAA (设置 Fsref / 6、其中 Fsref 为48kHz)
-将寄存器3设置为0x10 (这是默认值并设置 Q = 2。 Fsref = 12.288MHz/(128*2)= 48kHz)
-将寄存器101设置为0x01 (这选择 CODEC CLKIN 使用 CLKDIV_OUT 而不是 PLLDIV_OUT)
所有其他 PLL 系数(J、D、R)均可设置为默认值。 在这种情况下、MCLK = 12.288MHz 是48kHz 的整数倍、不需要 PLL。
此致、
Aaron Estrada
寄存器值表