音频驱动篇之pop音攻略

接触音频驱动工作也有2年的时间了,这这段时间里深刻感受了手机行业的更新换代是MB的迅速。2年的时间里,从TI到QUALCOMM,从android2.1到4.2,从单核到四核。经我参与的项目就有20款,日子是相当的难过。
  今天回头来说一些我在研发过程中遇到的一些音频难点问题与大家分享,希望对从事音频驱动行业的兄弟们有些许帮助,同时也希望大家有好的想法可以和我沟通,与大家分享。
一、pop音产生的原因
   (1)模块(通信模块出来的信号就带有脉冲跳变)
        解决思路:在模块打开或关闭之前,对模块音频增益做渐变处理。
   (2)PA产生
        解决思路:对PA增益做渐变处理
   (3)CODEC产生
        解决思路:对声卡通路顺序进行控制选择、对声卡增益进行渐变处理
二、pop音产生的一些场景
 (1)接听电话时
      解决思路:首先打开模块音频通路,其次在对方响铃的时候(phone)再设置音频模式,然后对codec的增益设为最小,接着对功放进行渐变处理,最后对codec的增益进行递增到正常大小操作。
 (2)主动挂断电话时
      解决思路:首先phone在获取挂断状态的第一时间内先设置音频模式后再进行其他操作,其次对功放进行渐变减小,最后设置codec。
 (3)被动挂断电话
     解决思路:如果不是模块产生的pop音,其解决方法如主动挂断电话场景解决方法一致。如果是模块产生则需要模块在挂断电话的时候做渐变处理。
 (4)设备切换时
    解决思路:主要在设备切换的时候加延迟解决。
 (5)播放音乐/音乐切换
    解决思路:在播放器打开或在音乐切换暂停时,对音量进行渐变处理。

 

 

 

 

 

 

 

 

 

 

 

1. 板级电容/电感发声
情况就是你设备开机之后,啥也没干,然后听到呲啦刺啦的声音,这种情况我遇到过一次,这个是
不合理的结构设计或者走线导致的,硬件实力挖坑,需要改版解决。
2.播放声音长时间有杂音
这个锅我们送给硬件,这个是芯片之间有干扰;需要硬件检查个别芯片的地是不是干净的。

3. 插拔USB出现POP音
还是需要硬件背锅,相关电路加磁珠有可能优化此问题.

4. 播放声音的瞬间有POP音
这个可能是硬件也可能是软件的锅;使用高通QXDM工具分析问题,若0x1586之前都没有问题,那么此问题是硬件导致的,否则是软件导致的;

软件可以从以下两个方面尝试解决:

4.1 PA上下电相关代码使用延迟队列。
4.2 也有可能有人写的代码不规范,自己封装了mixer,但是没有加入到DAPM里面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章