功放TAS5719耳机POP noise分析 对策
驱动功放时,遇到POP noise 是常见的问题,以前遇到此问题,首先想到的对策就是mute the output.本人一直来对此种解法感觉不爽,心里不快。最近遇到开机时耳机有很强的POP,决定好好研究一下产生的原因,一来想了结一下心中的不快,二来想找出根本的原因,以便以后遇到此类问题有个根本的对策。废话到此。
- 开机耳机POP noise 问题
本人遇到两种情况,其实就是两种不同的电路,然其解决思路基本相同。
情况一:IC(以下IC即指TAS5719)的A_SEL脚接电阻下地,并和HP_SD相连(HP_SD不受MCU控制)
- POP niose产生原因:IC上电复位后不能马上切到耳机,此时IC工作还没有稳定,大致在5-6s后再进行切换。
- 对策:当开机时,耳机已经插入。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控制
- pop noise 产生原因:IC上电复位后不能马上切到耳机,此时IC工作还没有稳定,大致在5-6s后再进行切换。
- 对策:当开机时,耳机已经插入。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.
总结:
- 以上两种电路,开机时POP noise 产生的地方都是在IC初始化之后没有足够的延时就进行耳机和喇叭模式的切换导致的。
- 不论电路怎么设计,IC写寄存器之前要有至少100ms的延时,再有不论是寄存器进行耳机/喇叭使能切换还是使能引脚进行切换,都要在IC复位工作稳定后再做切换,这样才能避免noise的产生。
- 在耳机切换时,因耳机和喇叭的输出是有差别的,所以在耳机切换的时候要写入各自的当前音量。
以上仅为个人实践所得,如有不当或需更进之处请多多指教。
功放TAS5719耳机POP noise分析 对策的更多相关文章
- 杂音 & pop 音的解决方法
杂音 & pop 音的解决方法 1. 喇叭有严重的"吱吱"破音,绝大多数的原因有可能在于V(out)电压不稳定,所以最好测一下无负载时的输出电压.同时也可以测量 VCC – ...
- POP音原因
一,通话时调节音量,有POP音. POP音产生原因在于,音量变化太大导致有POP音,需要以淡入淡出的方式调节音量.请申请MOLY00108114 & MOLY00108143这两个Modem ...
- 【转】自定义iOS的Back按钮(backBarButtonItem)和pop交互手势(interactivepopgesturerecognizer) --- 不错
原文网址:http://blog.csdn.net/joonsheng/article/details/41362499 序 说到自定义UINavigetionController的返回按钮,iOS7 ...
- Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第4节: recycler中获取对象
Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第四节: recycler中获取对象 这一小节剖析如何从对象回收站中获取对象: 我们回顾上一小节demo的ma ...
- 逆向与反汇编实战(一)--PEiD分析复现
1.准备 简介: PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名. 整个过程需要测试文件成品:htt ...
- 一个无锁消息队列引发的血案(五)——RingQueue(中) 休眠的艺术
目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的 ...
- kafka启动报java.net.UnknownHostException
kafka启动报java.net.UnknownHostException 参考资料: 1.https://blog.csdn.net/zdxiq000/article/details/6258765 ...
- 基于ARM的射频识别读卡器电路设计
http://tech.yktworld.com/201010/201010032128115666.html 来源:一卡通世界 作者:江小平,李中捷,余晓峰 2010-10-3 ...
- pop3密码嗅探
成品与代码可在 https://pan.baidu.com/s/1MPfU2T_6YN6mgxUL0wrZxw 下载 来说下pop协议, 英文版,https://tools.ietf.org/html ...
随机推荐
- 解决Umbraco中Generated文件夹下面model问题
在Visual Studio中开发Umbraco项目时,有一个文件夹叫Generated, 在Umbraco 的back office中的Document Type产生的model都会自动进入这个文件 ...
- 4.Windows应急响应:勒索病毒
0x00 前言 勒索病毒,是一种新型电脑病毒,主要以邮件.程序木马.网页挂马的形式进行传播.该病毒性质恶劣. 危害极大,一旦感染将给用户带来无法估量的损失.这种病毒利用各种加密算法对文件进行加密,被感 ...
- 如何保持blog的高质量(相对于自己的进步而言的)
多写! 多改!! 多删!!!
- c#事件1
Private void button_clicked( object sender ,RouteEventArgs e) sender :引发事件的对象 源 e : 路由事件,提供可能重要 ...
- ZOJ - 3777(状压dp)
The 11th Zhejiang Provincial Collegiate Programming Contest is coming! As a problem setter, Edward i ...
- Go:定时执行任务time.sleep和time.tick的优劣
golang 写循环执行的定时任务,常见的有以下三种实现方式:1.time.Sleep方法: for { time.Sleep(time.Second) fmt.Println("我在定时执 ...
- Perfect service(树形dp)
Perfect service(树形dp) 有n台机器形成树状结构,要求在其中一些机器上安装服务器,使得每台不是服务器的计算机恰好和一台服务器计算机相邻.求服务器的最小数量.n<=10000. ...
- tput 命令行使用说明
转载自:https://blog.csdn.net/fdipzone/article/details/9993961 什么是 tput?tput 命令将通过 terminfo 数据库对您的终端会话进行 ...
- [Leetcode]009.Palindrome Number
public class Solution { public boolean isPalindrome(int x) { if (x<0 || (x!=0 && x%10==0) ...
- weblogic.xml
<?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app xmlns="ht ...