D题带啸叫检测与抑制的音频功率放大器改另存解析Word下载.docx
《D题带啸叫检测与抑制的音频功率放大器改另存解析Word下载.docx》由会员分享,可在线阅读,更多相关《D题带啸叫检测与抑制的音频功率放大器改另存解析Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
1.前级放大电路的分析3
2.带通滤波器的分析与计算5
3.功率放大电路的分析6
三、电路与程序设计7
1.电路的设计7
1.1系统总体框图7
1.2前级放大电路原理图7
1.3带通滤波电路原理图8
1.4功率放大电路原理图9
1.5电源电路原理图9
2.程序的设计10
2.1程序功能描述与设计思路10
2.2程序流程图10
四、测试方案与测试结果11
1.测试方案11
1.1硬件测试11
1.2硬件软件联调11
2.测试条件与仪器12
3.测试结果及分析12
3.1测试结果(数据)12
3.2数据分析13
五、结论13
1.设计总结13
2.心得体会13
六、参考文献14
附录15
附录1:
电路原理图15
附录2:
波形图17
附录3:
源程序20
一、方案论证
本系统主要由拾音电路、啸叫检测与抑制电路、功率放大电路组成,如下图,下面分别论证这几个模块的选择。
1.拾音电路的论证与选择
1.1前级放大电路的论证与选择
方案一:
分立三极管VT8050。
选用VT8050中功率管,其功率大,可直接将音频信号放大,但其放大的是电流信号,本系统需要放大电压信号,故不适合本系统。
方案二:
TLC2274C放大。
TLC2274C内含四运放,使用起来比较方便,但由TLC2274C构成的前级放大电路,经测试效果不是很好。
方案三:
LM386放大。
LM386是一种音频集成功放,具有自身功率低、电压增益可调整、外接元件和总谐波失真小等优点,广泛应用于录音机和收音机中,实际测试效果也不错,可以使用。
综合以上三种方案,选择方案三。
1.2带通滤波电路的论证与选择
由电容和电阻构成的无源带通滤波器,其电路简单,但带负载能力差。
由LM324构成的带通滤波器,输入信号先经低通滤波,再经高通滤波,完成所需频段的频率响应,但其仿真效果不是很好。
TLC2274C构成带通滤波电路,信号经二级低通滤波,再经二级高通滤波,其效果不错。
2.啸叫检测电路的论证与选择
由于啸叫时整个系统输出功率将达到峰值,电压也将长时间停留在一个较高的值,可以通过电压实现啸叫检测,但由于耗能较大不予考虑。
通过频率检测来实现啸叫的检测,如果单片机检测高频波则启动判断,此方案不仅实现了频率的实时显示,又将啸叫检测加入其中,并未增加其他多余电路,通过实际的方案论证,此方案可以满足设计要求。
综合以上两种方案,选择方案二。
3.啸叫抑制电路的论证与选择
将啸叫通过一个反向比例放大器再用加法运算放大器按照一定比例添加到输入端,能量相互抵消以后即可减弱啸叫,但由于啸叫采样较为复杂,无法使用一只全向麦克风来采样到理想的啸叫,所以此方案无法满足设计要求。
通过降低输出功率来减小音响与话筒的相互作用,通过单片机通过调节数字电位器来控制TPA3112的PLIMIT脚的值来控制功率输出,将功率控制在不产生啸叫的范围之内,此方案会对最后的功率输出产生一定的影响,但是由于控制迅速有效并且不外加电路不会产生额外的功耗所以选用此方案。
4.功率放大电路的论证与选择
LM3886放大电路。
在额定工作电压下最大可达68W的连续不失真平均功率,同样具有比较完善的过压过流过热保护功能,最可贵的是它具有自动抗开关机时的电流冲击的功能,使扬声器能够安全的工作,但由于题目选型限制要求,不适合本系统。
TPA3112D1放大电路。
经过实际应用测试后,效果非常好,可以使用。
二、理论分析与计算
1.前级放大电路的分析
电子学中放大的目的在于将微弱的变化信号放大成较大的信号,放大电路可以用有输入口和输出口的四端网络表示,如图:
电压放大倍数
:
,
是复数,反映了输出和输入的幅值比与相位差。
和
分别是输入和输出电压的有效值。
LM386内部电路如图1:
图1LM386内部电路
第一级差分放大电路(双入单出),第二级共射放大电路(恒流源作有源负载),第三级OTL功放电路,输出端应外接输出电容后再接负载。
电阻R7从输出端连接到T2的发射极形成反馈通道,并与R5和R6构成反馈网络,引入深度电压串联负反馈。
LM386的电压放大倍数:
1.当引脚1和8之间开路时
;
2.当引脚1和8之间外接电阻R时可调整增益在20倍到200倍之间变化;
3.当引脚1和8之间对交流信号相当于短路时
4.在引脚1和5之间外接电阻,也可改变电路的电压放大倍数;
结论:
电压放大倍数可以调节,调节范围为20~200。
LM386引脚图如图2所示:
图2LM386引脚图
2.带通滤波器的分析与计算
带通滤波器是一个允许特定频段的波通过同时屏蔽其他频段的设备。
比如RLC振荡回路就是一个模拟带通滤波器。
也就是说带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。
一个模拟带通滤波器的例子是电阻-电感-电容电路(RLCcircuit)。
这些滤波器也可以用低通滤波器同高通滤波器组合来产生。
一个理想的带通滤波器应该有一个完全平坦的通带,在通带内没有放大或者衰减,并且在通带之外所有频率都被完全衰减掉,另外,通带外的转换在极小的频率范围完成。
实际上,并不存在理想的带通滤波器。
滤波器并不能够将期望频率范围外的所有频率完全衰减掉,尤其是在所要的通带外还有一个被衰减但是没有被隔离的范围。
这通常称为滤波器的滚降现象,并且使用每十倍频的衰减幅度的dB数来表示。
通常,滤波器的设计尽量保证滚降范围越窄越好,这样滤波器的性能就与设计更加接近。
在频带较低的剪切频率f1和较高的剪切频率f2之间是共振频率,这里滤波器的增益最大,滤波器的带宽就是f2和f1之间的差值。
中心频率fo:
通带频率范围的中心频率点,在中心频率上滤波器对信号的抑制作用最弱,所以信号通过滤波器的损耗,即插入损耗最小(插损最小点)。
品质因数
B为带通滤波器的带宽
截止频率
由所给的截止频率范围可算出相关参数。
3.功率放大电路的分析
PLIMIT控制参数和程序
通过TPA3112技术手册可知PLIMIT的典型电压值为6.95V时输出功率为最大值,0.77V时输出功率为最小值,本系统通过数字电位器进行分压,控制PLIMIT的电压为6.95V、1.87V、1.50V、1.15V、0.77V五个功率档位。
由于数字电位器本身的设计不能达到理想的0Ω即最小增益,本系统采用两个电磁继电器来控制前级放大来实现50mW的最低功率和5W的最高功率。
由于继电器在仅使用MSP430单片机的情况下无法使用,所以采用一个S8050三极管进行扩流,如图3:
图3继电器驱动电路
图中R1为2K,R2为5.1K,二极管使用1N4148。
三、电路与程序设计
1.电路的设计
1.1系统总体框图
系统总体框图如图4所示:
图4系统总体框图
1.2前级放大电路原理图
前级放大电路由LM386实现,电路图如图5:
图5LM386前级放大电路
1.3带通滤波电路原理图
带通滤波电路由TLC2274C先经过低通滤波,再经过高通滤波组成,其电路图如图6(a)和图6(b):
图6(a)低通滤波
图6(b)高通滤波
1.4功率放大电路原理图
功率放大电路由TPA3112D1及其外围电路组成,其原理图如图7:
图7TPA3112D1功率放大电路
1.5电源电路原理图
电源电路由+12V直流单电源输入,经过7805三端稳压芯片,为整个系统提供+5V电源,确保电路的正常稳定工作。
这部分电路比较简单,其电路图如图8:
图8稳压电源电路
2.程序的设计
2.1程序功能描述与设计思路
1.程序功能描述
本程序用来调节数字电位器,通过调节数字电位器的阻值来控制功率放大器的输出功率,使输出功率范围为50mW~5W,从而满足题目需要。
2.程序设计思路
本程序通过按键来对数字电位器进行调节,每按一下按键程序响应一次来程控数字电位器增加或减少一定的步距,从而有不同的输出功率。
2.2程序流程图
程序流程图如图9所示:
图9程序流程图
四、测试方案与测试结果
1.测试方案
1.1硬件测试
将硬件电路按模块进行测试,测试前确保连线供电正确。
首先确保各模块工作正常,功能完善;
其次按照信号传播方向逐个加入后续电路进行测量,确保各模块共地,并将测量参数记录成表,进行电路数据分析。
1.2硬件软件联调
将单片机的控制引脚与相应电路连接并确保连线无误,运行程序,根据具体电路实际调整程序。
2.测试条件与仪器
测试条件:
检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:
数字示波器,信号发生器,稳压电源,学生电源,数字万用表,交流毫伏表。
3.测试结果及分析
3.1测试结果(数据)
输入音频信号有效值为20mV时,功率放大器的最大不失真功率测试如下表1:
表1功率放大器的最大不失真功率测试
功率限制
电位器调节
输出电压
(V)
输出功率
(W)
误差
(%)
第一次
6.34
5.024
0.48
第二次
6.57
5.396
7.2
第三次
6.40
5.12
2.4
输入音频信号有效值为20mV时,程控设置功率放大器的输出功率测试如下表2:
表2程控设置功率放大器的输出功率测试
按键控制功率计数次数
0.65
0.0528
0.83
0.0861
1.81
0.410
第四次
3.00
1.125
第五次
4.11
2.120
第六次
5.07
3.213
第七次
5.82
4.234
第八次
第九次
通过调节数字电位器X9C103负载两端电压波形变化过程见附录二。
3.2数据分析
通过测试,所得数据满足题目要求,当输入音频信号有效值为20mV时,满足功率放大器的最大不失真功率为5W,误差小于10%,误差在合理的范围内;
通过程控数字电位器X9C103,从而调节功率放大器的输出功率,使功率在50mW~5W范围之内,满足要求。
5、结论
1.设计总结
分立元件组成的功放,如果电路选择的好,参数选择恰当,元件性能优良,设计和调试的好,则性能也很优良。
许多优质功放均是分立功放,但只要其中一个环节出现问题,则性能会低于一般集成功放,且为了不致过载、过流、过热等损坏元件,需要加以复杂的保护电路,在分立元件组成的功放中由二极管、电阻、电容等器件组成的核心电路,提供了自由调整的余地,集成功放电路成熟,低频性能好,内部设计具有复合保护电路,可以增加其工作的可靠性,尤其集成厚膜器件参数稳定,无须调整,信噪比较小,而且电路布局合理,外围电路简单,保护功能齐全,还可外加散热片解决散热问题。
2.心得体会
通过本次比赛,使我们更加扎实的掌握了有关音频方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考、讨论,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我们在这方面的知识欠缺和经验不足。
实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
在整个系统设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。
此次比赛即将结束,在设计中遇到的很多问题,都是一些微小、容易被忽视却又容易出现的错误。
在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功地做成想做的事,才能在今后的道路上披荆斩棘。
六、参考文献
[1]
童诗白,华成英.
模拟电子技术基础(第四版)[M].
北京:
高等教育出版社,2006.
[2]运算放大器及其应用彭军编著
[3]
Texas
Instruments
Inc.
LM324
-0.4-V
to
26-V
Input
Quadruple
Operational
Amplifiers
[4]
TLC227x,
TLC227xA:
Advanced
LinCMOS
Rail-to-Rail
Op
Amps
附录
电路原理图
波形图
源程序
程序1:
数字电位器
#include<
msp430g2553.h>
//CSP1.1
//INCP1.2
//U/DP1.3
#defineNOKEY0//未按下状态
#defineKEY_one1//按键1按下状态
#defineKEY_two2//按键2按下状态
unsignedcharKEY=0;
//按zzz键状态处理
unsignedintB=5;
//初始化NB
voidX9C103_Dec_N_Step(unsignedcharn);
voidX9C103_Inc_N_Step(unsignedcharn);
voidDelay(unsignedintt);
voidX9C103_up_N_Step(unsignedcharn);
voidX9C103_down_N_Step(unsignedcharn);
voidDelay(unsignedintt)
{
unsignedinti;
for(i=0;
i<
t;
i++);
}
voidX9C103_up_N_Step(unsignedcharn)
unsignedchari=0;
P1OUT&
=~BIT1;
Delay(3);
for(i=n;
i>
0;
i--)
{
P1OUT|=BIT3;
Delay(600);
P1OUT|=BIT2;
Delay
(2);
=~BIT2;
}
P1OUT|=BIT1;
voidX9C103_down_N_Step(unsignedcharn)
=~BIT3;
voidGPIO()
P1DIR|=(BIT1+BIT2+BIT3);
P2DIR&
=~(BIT2+BIT3);
P2REN|=BIT2;
//配置p2.2上拉电阻
P2REN|=BIT3;
//配置p2.3上拉电阻
voidmain(void)
WDTCTL=WDTPW+WDTHOLD;
//关闭看门狗
BCSCTL1=CALBC1_1MHZ;
//1M内部时钟
DCOCTL=CALDCO_1MHZ;
GPIO();
TACCTL0|=CCIE;
//进中断
TACCR0=2500;
//计到2.5K,约20ms
TACTL=TASSEL_2+ID_3+MC_1+TACLR;
//设置TIMERA的时钟源为SMCLK(1M),8分频后(125K),计数模式为up,到CCR0再自动从0开始计数
_BIS_SR(GIE);
//开总中断
while
(1)
{
switch(KEY)//按键动作
case1:
//按键1状态时进行按键处理
X9C103_down_N_Step(B);
KEY=0;
break;
case2:
//按键2状态时进行操作
X9C103_up_N_Step(B);
//必须要,需要退出循环
#pragmavector=TIMER0_A0_VECTOR
__interruptvoidTimer_A(void)
TACCTL0&
=~CCIE;
//关中断
staticunsignedcharKEY_State=0;
//按键的状态变量
if((P2IN&
BIT2)==0)
__delay_cycles(500);
while((P2IN&
BIT2)==0);
KEY_State=KEY_one;
//按下按键1后,进入按下状态
KEY=KEY_State;
elseif((P2IN&
BIT3)==0)
if((P2IN&
BIT3)==0);
KEY_State=KEY_two;
//按下按键2后,进入按下状态
TACCTL0|=CCIE;
//开中断