[RK3399] ES8316+NS4150 播放视频只有背景音,播放歌曲有的有声音,有的无声音

CPU:RK3399

系统:Android

音频IC:ES8316

功放IC:NS4150

以前也在 RK3399 上调试过 ES8316,功能都正常,新主板只是更换了功放IC,就出现无声音的问题(仔细听是喇叭声音很小很小)。

音乐播放器中,有的歌曲有声音,有个无声音

视频播放器中,只能听到背景音,人物说话声听不见

系统声音设置中,闹钟音量正常,媒体音量和通知音量无声音

下面是音频相关的原理图:

既然闹钟声音正常,就不用考虑底层音频模块加载的问题

1、调整设置中的媒体音量和闹钟音量,用示波器测试 SPK_EN 引脚,引脚在播放时都被拉高,而且电压也相同。

2、使用指令播放 1KHz 正弦波,用示波器测量 ES8316 的输出是很完美的正弦波,频率差不多就是1KHz,但就是没声音。

rk3399_all:/ # tinyplay /sdcard/1k.wav -D 0 -d 0 -p 1024 -n 3
tinyplay /sdcard/1k.wav -D 0 -d 0 -p 1024 -n 3
Playing sample: 2 ch, 44100 hz, 16 bit

3、使用 i2c-tools 工具读取有声音和没声音时 ES8316 的寄存器值,完全一致,也没有哪个寄存器有问题。

4、此时只能从硬件差异化找问题

ES8316 文档中明确标明,19脚(ROUT)和 20脚(ROUT)输出的是左右声道模拟信号。

查看功放 NS4150 的文档,其不仅支持单端输入,还支持差分输入,但是两种电路有点差异,如下:

 再查看原理图中功放的电路,明显支持的是差分输入,与 ES8316 输出的模拟信号不符合,只需将功放输入端差分输入改为单端输入即可。

原文地址:https://www.cnblogs.com/lialong1st/p/11653912.html