目前、我们的代码正在 TAS5828M 上开始播放、如下所示:
- MUTE 引脚已置位
- 将器件设置为 Hi-Z 模式(设置寄存器3 DEVICE_CTRL2 = 0x02)
- I2S 时钟开始
- 等待 PLL 锁定(读取寄存器39 CLKDET_STATUS = 0x08)
- 等待 XX 毫秒
- 将器件设置为播放模式 (设置寄存器3 DEVICE_CTRL2 = 0x03)
- 等待100ms
- 释放静音引脚
如果 XX 大约为500ms、音频输出开始平滑,
如果 XX 小于500ms 时、系统会对输出进行一次音频点击。
有趣的是、只要存在 I2S 时钟、在 HiZ/Play 或打开/关闭静音之间切换不会导致点击。 我只在 I2S 时钟重新启动的情况下看到过这种情况。
您还可以在步骤5和7更改延迟、只要它们相加达到大约600ms、就没有点击。
我们希望在避免点击的同时减少这个600ms 的延迟。 有什么方法可以做到这一点吗?