主芯片是DM3730, 音频使用的是 TPS65950的Audio 外设。
DM3730使用MCBSP输出8Khz音频数据,通过I2C设置 TPS65950相关寄存器。 采用Audio R2和L2的混合输出,I2C数字输入接口, 立体声输入。输出经由 IFH_RIGHT_P/M输出。
问题现象:
正常输出波形如下:
偶发开机后异常波形如下:且并不是每一次声音都异常,整个不断电过程中,声音正常和异常同时存在。断电再上电后可恢复。
测试内容:
I2C模拟器测试输出数据如下,正常和异常时相同:
经测试,在异常后,尝试重新配置下TPS65950的Audio模块后,声音正常。
对比驱动代码和datasheet, 发现有两点疑问.
1、 datasheet上描述如下:
驱动代码中,并没有等待这个标志位清零,而是直接执行了下面的步骤。
2、datasheet描述如下:
驱动代码没有同时设置 HFL的这两个标志位。
我的问题是,请问上述两处不同是否会导致问题现象发生,因为问题现象发生概率不大,需要找到最终问题的原因。
weifeng liu1:
在TI的英文论坛上同步发了帖子,连接如下:
e2e.ti.com/…/3068448
Annie Liu:
正如工程师Pavel所说,为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上的音频板块:https://e2e.ti.com/support/audio/f/6,将由资深的工程师为您提供帮助。