1. 前言
在声音生成过程中发生了内部时钟错误。
当问题发生时,测试I2S时钟如下(采用12K采样率):
根据数据表,AMP应该被恢复, 然而,AMP似乎被卡在内部时钟错误发生后。
可能我们知道什么样的条件可以触发AMP卡在时钟错误状态。
当时钟问题发生时,SPK_SD和SPK_FAULT是高的,这意味着AMP没有问题。
MCU的I2S声音数据正常,但AMP输出无声音。
2. 注意事项
本仪器对MCLK、SCLK和LRCK的比值非常敏感,建议误差控制在±1以内。 否则可能导致设备无法恢复正常。
2.1 检查时钟
除了SPK_FAULT引脚,是否可以用I2C确认是否有故障? 检查设备在没有输出时是否进入睡眠模式
2.2 判断sleep模式
如果卡死是由于错误引起的, 如果错误条件已经消除, 则需要拨动SPK_SD位来清除故障。 并检查SPK_SLEEP/ADR引脚,查看设备是否处于Sleep模式。
2.3 MCLK时钟
从设计角度来看,MCLK的设置在513.88左右。 然而,AMP仍然没有任何问题。 再次检查比率是否为+/-1。 没有来自AMP数据表的数据。
3. 复现流程
从之前的信息中,我假设设备首先工作在正常状态, 然后将I2S时钟速率改变为一个异常值触