AIOT人人都是极客

文章数:1086 被阅读:1552441

账号入驻

ALSA子系统 | POP音排查

最新更新时间:2022-12-05
    阅读数:

POP音基本原理

这个POP音的产生主要是因为codec开始工作时,耳机等输出或mic输入声道上的直流电平跳变产生的;手机或一般的手持设备上不会有负电压,音源信号必须在一个直流电平上(如1/2VDD上)输出,这样一个从0电平到1/2VDD的直流跳变,通过隔直电容后到耳机上必然会产生POP音,同样地对于喇叭输出也类似;codec内部操作某些寄存器也会产生pop,有的时间比较长,需要增加延时。

一般出现在音频开始工作、结束工作或者动态切换通路时,出现这种问题的原因有很多,需要具体情况具体分析。

大部分情况下在PA之后加延时都能解决,当然,加了PA延时可能也不起作用,即使加了一秒的延时,还会惊喜的发现pop会在一秒之后出现。这就要分析下具体是啥原因造成的了。

还有就是,如果左右声道都是采用全差分方式输出的话,那是不需要隔直电容,但是耳机就不能够用标准四线耳机插孔,这种全差分的方式,耳机一般都是用的专用输出插头(与调试接口共用)。

POP音常见原因

引起POP原因可能有多种,可排查以下几点:

  1. 音源与PA开启关断时序不合理(可通过抓取音频输出波形与PA使能引脚波形来判定)

因为有的功放PA使能之后要一定时间才能稳定工作,在这个时间内,codec有任何变化都会被放大出来。

正常时序理应如下:

  • 上电时序:1.打开codec输出。2.PA拉高使能。3.延时一小段后送入相应音源。
  • 下电时序:1.关闭相应音源。2.PA 拉低。3.延时一小段以后关闭codec输出。
  1. 输入电容,电阻失配引起;

  2. 原理图错误:AB类差分输入应用;

例如板子是差分输出,但是配置了单端输出。

  1. 音源本身问题;

如果音频经过AU软件修改,文件尾部被附带了一段软件信息。

  1. 控制音频PA使能引脚的GPIO口下拉能力弱,或其他地方有上拉,导致长时间未关断;

有的方案PA是常开的。

  1. 部分PA芯片的使能会存在Pa音,单独操作PA使能开关查看是否POP音是本身产生的。

通用解决方法

  1. 一般来说, IC 上、掉电时的 POP 音是由于偏置电压的瞬间跳变引起的。所以要减小 POP 音就必须抑制 IC 的偏置电压bias的瞬变。Layout上的体现方法就是增大bias的滤波电容。偏置电容变得过大会导致 IC 的建立时间变长,另外电容过大还会导致 THD+N 变差。

  2. 通过改变上下电时序,是在噪声出来之前关掉末端输出,通过软件修改PA mute和spk mute的时序,即为在codec驱动代码中定义的dapm的通路上调准顺序,在回调中增加delay时间,是内部产生的杂音不走到下一级输出,使其提前关闭。

  3. 预充电的方法,再加上上拉和下拉电阻将电容的直流电压稳定住,可能效果会比较好。当然首先要确认这个直流偏置1/2VDD到底是多高(有些是可以设置的,有些固定),才好设计上下拉电阻的大小,这样调整后,感觉效果还可以,pop noise几乎感觉不到。

  4. 有些CODEC在软件上有一个寄存器可以设置这个直流电平的上升时间,让它在一定时间内跳变到1/2VDD,而不是很陡的一个上升沿,这样可以在一定程度改善这个POP音。

开关机的POP 音问题目前是整个音频功放的瓶颈问题,目前最好的一个解决方法是方法二。

对于正常工作时切换内部音频通路产生POP,切换之前可以将输出(HP,LineOut)Mute,切换完成后再unMute。

解决POP音小诀窍:从末端各个环节进行切分,然后细分codec内部数字和模拟模块的各个部件的上下电顺序,以及保持时间大小。

最后我看网上还有些说抖动enable开通技术的,这也太会玩了吧,反正我是没有用过,反倒是有些codec有寄存器配置支持爬坡使能,让它在一定时间内跳变到1/2VDD,而不是很陡的一个上升沿,这样可以在一定程度改善这个POP音。

end


人人极客社区 


关注,回复【peter】海量Linux资料赠送

精彩文章合集

文章推荐

【专辑】Linux内存管理
【专辑】Linux进程管理
专辑Linux文件系统
专辑Linux中断管理
专辑Linux同步管理
【专辑】Linux电源管理
【专辑】Linux时钟管理
【专辑】Linux性能分析
【专辑】Linux DMA
【专辑】Linux 驱动
【专辑】图形显示

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved