您好!
我已设置为从 TLV320AIC3120接收 I2S 音频数据。 现在、我尝试闭环控制编解码器、以尝试将 I2S 的输入数据速率与 USB 堆栈的输出数据速率匹配。 如何调整编解码器以使这些数据速率同步。 我担心 USB 的数据速率会因计算机的不同而有所不同。 我在四处走动时对 PLL J.D 系数进行了小幅调整、这种调整很有用、但在不关闭 PLL 的情况下、似乎不建议这样做(我在飞行中的微小变化时没有做过这种调整)。 我有哪些选项可以使这些数据速率保持同步?
谢谢、
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.
您好!
我已设置为从 TLV320AIC3120接收 I2S 音频数据。 现在、我尝试闭环控制编解码器、以尝试将 I2S 的输入数据速率与 USB 堆栈的输出数据速率匹配。 如何调整编解码器以使这些数据速率同步。 我担心 USB 的数据速率会因计算机的不同而有所不同。 我在四处走动时对 PLL J.D 系数进行了小幅调整、这种调整很有用、但在不关闭 PLL 的情况下、似乎不建议这样做(我在飞行中的微小变化时没有做过这种调整)。 我有哪些选项可以使这些数据速率保持同步?
谢谢、
Jacob、
当数据速率发生变化时、编解码器应该关闭 DACs/ADC、然后 PLL 系数发生变化、然后 ADC/DAC 重新加电。
USB 处理器应该具有某种固件来处理此问题。 它会知道数据速率何时发生变化。 如果 USB 处理器的 MCLK 保持不变、 则无需更改 PLL 系数 、只需更改分频器。 这可以稍微简化一些事情。
AIC3120的功能将取决于 USB 处理器的功能。
-Steve Wilson
Steve、
我不希望大幅改变数据速率。 我的输入和输出数据速率与 MCU 上的音频数据缓冲器不是完全同步、因此我最终会得到一个缓冲器正在运行或正在运行。 我希望只对时钟速率进行少量调整、以使缓冲器同步。 我希望修改 PLL D 系数、因为我可以对时钟速率进行非常小的更改。
在我的实验中、我在没有关闭任何东西的情况下动态更改了 D 系数(以小步长)、但似乎没有任何中断。 这是不是强烈推荐的、还是对 D 系数的微小变化是可以的?
或者、调整主输入时钟是否是编解码器的更好方法? 要比更改 PLL 系数更好?
或者、我是否会获得更好的跳过或填充样本结果?
谢谢、