音频功率放大模块(以下简称功放)用于处理模拟信号,将功率较低的输入信号进行线性放大,输出大功率的信号以驱动换能器。通常,电子发烧友自己设计功放,与各类音源和喇叭匹配,以得到满意的音响效果。在测试中,实验工作者通常使用来源可靠的功放驱动设备进行试验。使用生产厂家设计制造的功放固然便捷高效,但这种功放对于实验者来说是“黑盒子”,实验中很多关于功放的参数难以获得。因此,动手能力强的实验工作者往往自行设计功放。本文参考芯片Datasheet与相关文章,对TDA2050供电方案进行了讨论。本文旨在分享个人已有成果,减少重复研究,其中难免留存谬误,只望诸君谨慎辨别,不吝赐教。

1 手册分析


1.1 基本参数

依据手册[1],部分基本参数简列如下:

参数 符号 最小值 最大值 典型值 条件
供电电压 $V_S$ $\pm 4.5$V $\pm 25$V    
输入阻抗(Pin 1) $R_i$ $500$ K$\Omega$      
热保护温度 $T_{sdj}$     $150$ $^{\circ}$C  
-3分贝动态范围   $20~80,000$ Hz

$R_L=4 \Omega$

$V_i=200 mV$

压摆率 $SR$ $5$ V/$\mu$s   $8$ V/$\mu$s  
输入噪音 $e_N$   $10 \mu$V    
输入偏置电流  $I_b$    0.5 $\mu$A 0.1 $\mu$A $V_S=\pm22 V$
失调电流 $I_{OS}$   $\pm200$ nA   $V_S=\pm22 V$
失调电压  $V_{OS}$    $\pm$15 mV    $V_S=\pm22 V$ 

1.2 输出功率$P_O$与供电电压$V_S$

本文设计过程中以信号失真度为首要指标,在功放线性工作条件下进行供电电路的调整。手册中给出了两个关于负载的案例:

负载 $R_L$ 供电  总谐波失真 THD 频率 功率
$4 \Omega$ $\pm$ 18V $10$% $1$KHz $35$W
$8$ $\Omega$ $\pm$ $22$V $10$% $1$KHz $32$W

据说$4\Omega$负载用分立供电能够达到最大输出功率,因此本文就针对分立供电$4\Omega$负载的情况进行分析。手册中,对于该情况进行了性能实验,相关图线如下:

释:测试图线

由Figure8可知,图中条件下,输出功率$P_O$在低于$24$W的情况时的谐波失真较低;Figure7表明,$V_S$越大,线性输出的动态越大,即$d$的等高线纵坐标越高。事实上通过测试能够绘制每一个频点的$V_S$-$P_O$-$d$曲面图。如果交流供电有$10\%$的偏差,设计供电$V_S=20$V时能够保证$24$W的输出动态。

1.3 原理图

由图中所示,脚1和脚2所连电路为明显的镜像结构,应该是差分放大电路,具有克服温飘的优点。向脚2输入信号中馈入交4的反相信号可以构成正反馈。

1.4 推荐电路

手册中给出了推荐电路以及相关说明:

本文依据手册以及文章[3]的描述,将供电电路分为以下六个部分:

  1. 增益调整:关于R2与R3
  2. 偏置电流:关于R1与R3
  3. 输入滤波:关于脚IN、脚1、脚GND
  4. 反馈滤波:关于R2与C2
  5. Zobel网络:关于R4与C7
  6. 供电退耦:C3~C6

2 供电电路分析


相关分析主要参考了手册的描述以及文章[3]。上述资料在设计过程中大多仅使用截止频率作为考察指标,而不是频率响应。这导致电路响应无法定量分析,运放模块依旧呈现“黑盒子”的状态。作者初入电子制作,“黑盒子”使得作者十分不安,因此文中引入了诸多定量分析。未来可通过进一步建模与实验,给功放模块的定量分析提供支持。

2.1 增益调整

依据手册,闭环增益应在$24$dB以上,推荐增益为$30.5$,建议在$30$~$31$dB之间。假设开环与闭环增益分别为$G_{O}$(Open)与$G_{C}$(Close),依据[8]中的解释,闭环增益为:

$$
G_C=\dfrac{G_O}{1+G_O\dfrac{R_{in}}{R_{in}+R_f}}\sim \dfrac{R_{in}+R_f}{R_{in}}
$$

开环增益为运放的固有参数,手册中$80$dB对应$10^4$倍。由上式可以计算得到电阻$R_{in}$的范围。当$R_f$为$22000\Omega$时,$R_{in}$应小于$1480\Omega$,推荐区间为$638\sim 721\Omega$,推荐值为$677\Omega$。

手册给出的增益控制范围比较小,不知当增益超过这个范围时运放是否稳定。输出功率的控制有待结合实验,进一步研究。

2.2 偏置电流

偏置电流的存在保证了运放在线性响应范围内工作。限于精力不在此展开,详见[9]。[3]中的建议是$R2+R3=R5$。

2.3 输入滤波

文章[3]中提到,输入滤波旨在滤除直流与电磁短波信号,设计时的频段为$3.5$Hz至$350$KHz。设脚1与输入电压分别为$V_{1}$与$V_{in}$,则其比值为:

$$
\dfrac{V_1}{V_{in}}=\dfrac{\mathcal{Z}\dfrac{1}{j\omega C_2}}{\dfrac{1}{j\omega C_1}+R_1+\mathcal{Z}(R_3+\dfrac{1}{j\omega C_2})}
$$

其中:

$$
\mathcal{Z}=\dfrac{R_2}{R_2+R_3+\dfrac{1}{j\omega C_2}}
$$

绘制响应曲线如下:

2.4 反馈滤波

文章[3]中建议,反馈滤波的截止频率要低于输入滤波的$3$~$5$倍。不难发现加上了电容$C3$之后,电路的闭环增益成为了频率的函数:

$$
G_C=\dfrac{R5+R4+\dfrac{1}{j\omega C_2}}{R4+\dfrac{1}{j\omega C_2}}
$$

绘制响应曲线如下:

由图可知,电容$C3$越大,闭环增益的低频下限越低。对于$C3$电容本身而言,其任务是消除开关电源的噪声干扰。因而在选取容值的时候需进行实验,以确定开关电源噪声频段,之后再合理选择容值。此外,还要注意工作频段内闭环增益的数值,确保芯片稳定工作。在绘制频响曲线的时候,选取的原件参数与文章[3]一致。

2.5 Zobel网络

如果负载为动圈类换能器,动圈存在寄生电感,对于交变信号会产生电动势,馈入反馈环,使得电路震荡;另一方面,动圈能够接收电磁波信号,以感生电动势的形式进入反馈环。因此Zobel电路一方面承担了稳定高频信号的作用,同时为反馈环路滤除掉了电磁干扰。

Zobel电路的电阻很小,高频时视为短路,需要承受较大电流。因此电阻需选择能够承受$1$W以上的功率电阻,同时电容推荐使用低等效串联电阻(ESR)的金属膜电容。

假设负载电阻$4\Omega$,寄生电感$1$mH,计算得到负载和Zobel电路并联阻抗以及Zobel电路单独的阻抗。可以发现,Zobel对于$1$mH的负载力不从心。仿真显示,对于$20\mu$H的负载,Zobel电路能够抑制脚4阻抗的突变。

2.6 供电退耦

当功放板工作时,电路中能量损耗也会产生波动,IC供电脚的电流随之变化。由于供电电路也有较为复杂的阻抗,相关阻抗对于变化的电流会产生各种响应。退耦电容在此起到能量存储的角色,大电容针对低频信号进行供电,小电容针对高频信号进行供电。

文章[3]中建议将电容放置在管脚较近的地方,同时电容选型时应选择等效串联电阻与电感较低的型号。

缘起


前不久帮人修了一块功放板。因板子IC芯片烧了,故买了相同型号的IC安装上去了。为了尽快修好,拍的时候拍了两家店的,心想未来自己会动手搞功放。板子修好后剩了若干D2050,两个铭文为TDA2050的IC。后来朋友需要,送走了一部分D2050,剩下的一直雪藏。近日终于有空继续之前的长周期工作,其中功放设计部分这周终于初步完成,遂写此文以记之。本人属电子小白,虽修过模电数电与相关实验,但全靠老师慈怀方得以不挂科,相关分析技能多还了回去。整理过程中发现诸多问题,限于篇幅恕不展开,简列如下:

  1. 分立驱动(Split Supply)与独一驱动(Single Supply)的区别,详见[2]。
  2. 偏置电流与失调电流,详见[6][9]。
  3. 交流电源与接地设计,详见[3]。
  4. 散热设计,详见[1,3,4]。
  5. 真实负载阻抗与信源阻抗。

参考:

  [1]TDA2050-Datasheet

  [2]A Single-Supply Op-Amp Circuit Collection

  [3]HOW TO DESIGN AND BUILD AN AMPLIFIER WITH THE TDA2050

  [4]Circuit 32w hi-fi audio power amplifier

  [5]32 watt Amplifier Circuit using TDA2050

  [6]part-1 输入偏置电流和输入失调电流

  [7]深度解析输入偏置电流和输入失调电流的定义来源以及对电路的影响

  [8]Op Amp Gain: explanation & equations

  [9]Input Offset Voltage (VOS) & Input Bias Current (IB)

TDA2050功率放大器研究的更多相关文章

  1. 闲来无聊,研究一下Web服务器 的源程序

    web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...

  2. SQLSERVER聚集索引与非聚集索引的再次研究(上)

    SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻 ...

  3. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  4. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  5. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  6. SQLSERVER聚集索引与非聚集索引的再次研究(下)

    SQLSERVER聚集索引与非聚集索引的再次研究(下) 上篇主要说了聚集索引和简单介绍了一下非聚集索引,相信大家一定对聚集索引和非聚集索引开始有一点了解了. 这篇文章只是作为参考,里面的观点不一定正确 ...

  7. 开源Word读写组件DocX 的深入研究和问题总结

    一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...

  8. 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)

    前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...

  9. Oracle研究专题:Oracle系统安装与配置

    最近开始研究Oracle数据库,盖因公司的系统要么Oracle要么是mysql吧. 作为一个IT工作者,没有碰过Oracle是一件很匪夷所思得事情. 想到过去几年,乃至接触IT行业开始就只有玩过sql ...

随机推荐

  1. apt源换国内源

    vim /etc/apt/sources.list deb http://mirrors.163.com/debian/ jessie main non-free contribdeb http:// ...

  2. Gym 101987K TV Show Game(2-SAT)

    题目链接:https://vj.z180.cn/b4aacc08fc7aab6ce14e7baf13816c24?v=1571542994 题目要求n个灯(R,B),给出m组赋值方式,每一组中至少有两 ...

  3. Iterator接口(迭代器)的使用

    Iterator接口(迭代器) 前言 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK专门提供了一个接口java.util.Iterator.Iterator接口也是Java集合中的一 ...

  4. 项目引入nacos 日志不显示问题

    禁用nacos的日志即可解决 idea当中 添加vm options参数即可 -Dnacos.logging.default.config.enabled=false 打包后的启动命令  java - ...

  5. 让Spring不再难懂-mvc篇

    spring mvc简介与运行原理 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器 ...

  6. iOS商品详情、ffmpeg播放器、指示器集锦、自定义圆弧菜单、实用工具等源码

    iOS精选源码 电商商品详情 Swift.两种方式实现tableViewCell拖拽功能 ffmpeg+openGL播放器 微信聊天表情雨.表情下落.表情动画 iOS指示器集锦 弹窗增加 picker ...

  7. 利用数目找中位数(牛客第七场E)

    https://ac.nowcoder.com/acm/contest/887/E 树状数组做法(代码有注释) #include<bits/stdc++.h> using namespac ...

  8. GIL锁和进程/线程池

    GIL锁 1.GIL锁 全局解释器锁,就是一个把互斥锁,将并发变成串行,同一时刻只能有一个线程使用共享资源,牺牲效率,保证数据安全,也让程序员避免自己一个个加锁,减轻开发负担 带来的问题 感觉单核处理 ...

  9. [LC] 169. Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  10. DB2数据库多行一列转换成 一行一列

    在db2中遇到多行一列转为一行一列的需求时,用db2函数 LISTAGG可以实现该功能.语法如下: SELECT   [分组的字段 ] , LISTAGG([需要聚合的字段名], ',')   FRO ...