驱动功放时,遇到POP noise 是常见的问题,以前遇到此问题,首先想到的对策就是mute the output.本人一直来对此种解法感觉不爽,心里不快。最近遇到开机时耳机有很强的POP,决定好好研究一下产生的原因,一来想了结一下心中的不快,二来想找出根本的原因,以便以后遇到此类问题有个根本的对策。废话到此。

  • 开机耳机POP noise 问题

本人遇到两种情况,其实就是两种不同的电路,然其解决思路基本相同。

情况一:IC(以下IC即指TAS5719)的A_SEL脚接电阻下地,并和HP_SD相连(HP_SD不受MCU控制)

  1. POP niose产生原因:IC上电复位后不能马上切到耳机,此时IC工作还没有稳定,大致在5-6s后再进行切换。
  2. 对策:当开机时,耳机已经插入。IC先进行复位,然后进行初始化设置,再写耳机和喇叭切换的寄存器值。从IC复位到写切耳机的寄存器的间隔时间需要5-6s。 即复位后5-6s才给0x05寄存器写入0x13切到耳机模式;

流程:IC上电复位后延时100ms-->IC初始化-->IC复位后5-6s,0x05寄存器写0x13(耳机模式,A_SEL设为输出),此时A_SEL脚为高

情况二:IC的A_SEL脚接磁珠下地(A_SEL始终为低),不和HP_SD相连,HP_SD(耳机使能)由MCU控制

  1. pop noise 产生原因:IC上电复位后不能马上切到耳机,此时IC工作还没有稳定,大致在5-6s后再进行切换。
  2. 对策:当开机时,耳机已经插入。IC先进行复位,然后进行初始化设置,再拉高耳机使能脚。从IC复位到拉高耳机使能脚的间隔时间需要5-6s。即IC初始化的时候0x05寄存器写入0x10,复位后5-6sMCU拉高HP_SD切到耳机模式;

流程: IC上电复位后延时100ms-->IC初始化,0x05寄存器写入0x10-->IC复位后5-6s,HP_SD拉高(耳机使能,A_SEL设为输出),A_SEL脚始终为低.

此电路下,插入耳机0x05寄存器写入0x10后要延时(实验为1S),再拉高HP_SD,此为避免插入耳机产生POP noise.

总结:

  1. 以上两种电路,开机时POP noise 产生的地方都是在IC初始化之后没有足够的延时就进行耳机和喇叭模式的切换导致的。
  2. 不论电路怎么设计,IC写寄存器之前要有至少100ms的延时,再有不论是寄存器进行耳机/喇叭使能切换还是使能引脚进行切换,都要在IC复位工作稳定后再做切换,这样才能避免noise的产生。
  3. 在耳机切换时,因耳机和喇叭的输出是有差别的,所以在耳机切换的时候要写入各自的当前音量。

以上仅为个人实践所得,如有不当或需更进之处请多多指教。

功放TAS5719耳机POP noise分析 对策的更多相关文章

  1. 杂音 & pop 音的解决方法

    杂音 & pop 音的解决方法 1. 喇叭有严重的"吱吱"破音,绝大多数的原因有可能在于V(out)电压不稳定,所以最好测一下无负载时的输出电压.同时也可以测量 VCC – ...

  2. POP音原因

    一,通话时调节音量,有POP音. POP音产生原因在于,音量变化太大导致有POP音,需要以淡入淡出的方式调节音量.请申请MOLY00108114 & MOLY00108143这两个Modem ...

  3. 【转】自定义iOS的Back按钮(backBarButtonItem)和pop交互手势(interactivepopgesturerecognizer) --- 不错

    原文网址:http://blog.csdn.net/joonsheng/article/details/41362499 序 说到自定义UINavigetionController的返回按钮,iOS7 ...

  4. Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第4节: recycler中获取对象

    Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第四节: recycler中获取对象 这一小节剖析如何从对象回收站中获取对象: 我们回顾上一小节demo的ma ...

  5. 逆向与反汇编实战(一)--PEiD分析复现

    1.准备 简介: PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名. 整个过程需要测试文件成品:htt ...

  6. 一个无锁消息队列引发的血案(五)——RingQueue(中) 休眠的艺术

    目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的 ...

  7. kafka启动报java.net.UnknownHostException

    kafka启动报java.net.UnknownHostException 参考资料: 1.https://blog.csdn.net/zdxiq000/article/details/6258765 ...

  8. 基于ARM的射频识别读卡器电路设计

    http://tech.yktworld.com/201010/201010032128115666.html 来源:一卡通世界      作者:江小平,李中捷,余晓峰      2010-10-3 ...

  9. pop3密码嗅探

    成品与代码可在 https://pan.baidu.com/s/1MPfU2T_6YN6mgxUL0wrZxw 下载 来说下pop协议, 英文版,https://tools.ietf.org/html ...

随机推荐

  1. javascript的DI

    学习AngularJS的原因之一就是觉得他的DI很牛叉,为了更好的学习,在研究源码之前,想自己按照自己的思路先实现个DI,希望这个思路能够对学习源码有帮助. (function(){ var conf ...

  2. 15. Bypass 360主机卫士SQL注入防御(多姿势)

    在服务器客户端领域,曾经出现过一款 360 主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影. 从半年前的测试虚拟机里面,翻出了 360 主机卫士 Apache 版的 ...

  3. 【mysql存储引擎】

    看你的mysql现在已提供什么存储引擎: mysql> show engines;   看你的mysql当前默认的存储引擎: mysql> show variables like '%st ...

  4. gitlab私服搭建

    1.什么是gitlab: gitlab 是一个用于仓库管理系统的开源项目,它以git为代码管理工具,因此代码可以管到它上边来.搭建私服gitlab可以方便我们有条不紊的管理我们的代码.闲话不说,上代码 ...

  5. Unable to round-trip http request to upstream: EOF问题

    Unable to round-trip http request to upstream: EOF, 今天我用的phpstudy环境中的网站页面忽然打不开了,报错“Unable to round-t ...

  6. 清橙 A1210. 光棱坦克

    A1210. 光棱坦克 时间限制:1.0s   内存限制:512.0MB   总提交次数:   AC次数:   平均分:   将本题分享到:        查看未格式化的试题   提交   试题讨论 ...

  7. 洛谷P1310 表达式的值

    P1310 表达式的值 题目描述 对于1 位二进制变量定义两种运算: 运算的优先级是: 先计算括号内的,再计算括号外的. “× ”运算优先于“⊕”运算,即计算表达式时,先计算× 运算,再计算⊕运算.例 ...

  8. mongodb you can't add a second

    问题信息: Due to limitations of the com.mongodb.BasicDBObject, you can't add a second 'createTime' expre ...

  9. 分析师分析业务维度,(个人制作分析思维导图Xmind)

    个人在咨询公司做过分析师(分析师必须懂运营),该咨询公司主要针对电商,零售 结合公司的搭建的CRM系统及报表体系,列了个分析师分析维度,搭建公司自己的BI系统 个人经验:分析师的分析思维可以多看看艾瑞 ...

  10. python中深复制和浅复制区别

    在python中,对象赋值实际上是对象的的引用,当创建一个对象,然后把它赋值给另外一个变量的时候,python没有拷贝这个对象,而只是拷贝了这个对象的引用,多以就出现了浅复制,即复制后原对象改变后,复 ...