当前位置:文档之家› 数字功放的原理与制作

数字功放的原理与制作

数字功放的原理与制作
一、数字功放原理解析
数字功放,顾名思义就是将数字信号进行功率放大。

数字信号通常用"0"来代表低电平,"1"代表高电平,从而组成一连串的方波信号。

由于数字信号只有高低电平之分,因此,当用功放管对其进行放大时,功放管完全可以工作在开关状态,而不是放大状态,这样就大大减小了管子静态功耗,提高了效率。

为了实现数字功放,必须将模拟信号转化为数字信号,在这里通过M8L内部自带的十位模数转换器转换即可,然后用M8L的OCR1A和OCR1B引脚产生占空可变的脉冲串,即PWM。

PWM信号是以一个固定频率为基础的,为了产生不同的模拟电平,可以通过改变这个脉冲串的占空比实现。

要输出高的模拟电平,就增大占空比,反之减小。

这样,通过PWM
就将模拟信号转换为数字信号。

将PWM信号通过功放管进行进一步放大,再通过低通滤波器就可以产生模拟电平了。

50%的占空比输出电源电平的一半,75%的占空比会产生75%电源电平。

模拟滤波器可以是一个简单的无源的RC滤波器。

滤波器滤除频率比较高的PWM信号,留下模拟信号。

在用作数字功放驱动扬声器时,如果不是为了特殊的需要,为了最大限度地提高输出功率,可以不用低通滤波器滤波,因为扬声器就像个低通滤波器,它对高频的PWM信号是不会响应的。

通常扬声器的响应频率范围为20Hz~20 kHz,远小于PWM信号的频率。

二、电路工作原理
电路原理图如图1所示,电路分为四个部分,包括前置放大、A/D与PWM转换、功率放大及滤波等。

1.前置放大电路
LM358组成同向放大电路,音频信号从LM358同向输人端输入,放大增益由R2和R1的阻值大小决定,电压放大倍数:Av=l+R2/R1。

R3、R4和R5组成分压电路,当没有信号输入时,同向输入端的电压为2.5 V,经过C4、R2和R1组成的交流负反馈电路,输出端电压仍为2.5V。

当有信号输入时,同向输入端的电压随着音频信号的变化而变化,经过C4、R2和R1组成的交流负反馈电路,输出电压Vout=Vin*Av。

输出信号将以2.5V为轴,上下变动。

由于工作电压为+5V,为了保证波形不失真,输入信号的峰值应小于2.5V/Av。

LM358为单电源双运放,增益频带宽为1MHz,也可双单源工作。

LM358的引脚图如图2所示。

2.A/D与PWM转换
这是电路的重要组成部分,由单片机M8L完成。

M8L功能齐全、接口丰富。

它有6通道A/D,包括4路10位A/D和2路8位A/D。

片中的2个PWM通道可实现任意小于16位相位和频率可调的脉宽调制输出。

M8L的PWM有3种工作模式:快速PWM模式、相位可调PWM模式和相位频率可调PWM模式。

本电路采用的是快速PWM模式。

M8L内部A/D转换是通过逐次逼近的方法将输入的模拟电压转换成一个10位的数字量。

最小值代表GND,最大值代表AREF引脚上的电压再减去1LSB。

通过写ADMUX寄存器也可以把AVCC或内部2.56V的参考电压连接到AREF引脚。

在AREF上外加电容可以对片内参考电压进行解耦以提高噪声抑制性能。

笔者采用的是8倍时钟分频,工作在连续A/D转换模式,每次A/D 转换时间需要13个ADC时钟,此时的A/D转换速率为16MHz/8/13=153.8kHz。

为了提高ADC的抗干扰能力,ADC使用10位精度采样,然后将得到的值除以4作为OCR1A的值,OCR1B则为OCR1A 的补码,即255-OCRlA。

快速PWM模式可用来产生高频的PWM波形。

快速PWM模式与其他PWM模式的不同之处是其单边斜坡工作方式。

计数器从BOTTOM计到TOP,然后立即回到BOTTOM重新开始。

对于普通的比较输出模式,输出比较引脚OC1x在TCNT1与OCR1x匹配时置位,在TOP时清零;对于反向比较输出模式,OCRlx
的动作正好相反。

由于使用了单边斜坡模式,快速PWM模式的工作频率比使用双斜坡的相位修正PWM 模式高一倍。

此高频操作特性使得快速PWM模式十分适合于功率调节,整流和DAC应用。

高频可以减小
外部元器件(电感,电容)的物理尺寸,从而降低系统成本。

寄存器配置如下:(COMlA1:COM1A0=1:0)/(COM1B1:COMlB0=1:0)。

从两路PWM的产生过程来看,两路的变化是同时的,因而避免了由于两路延时不同所引起的额外损耗。

M8L最高工作频率为16MHz,PWM采用8位精度,此时的PWM频率为16Mttz/255=62.7kHz。

PWM的A、B通道初始化采用相同的工作方式,零输入时,ADC采样电压为电源电压的一半,此时得到OCR1A和OCR1B的值都为128,A、B同相输出。

而当有信号输人时,A通道的脉宽增加,此时由于B 通道的比较值与A通道互补,所以B通道脉宽减少;当有负信号输入时,A通道的脉宽减少,B通道的脉宽增加。

由于实现了互补对称放大,此时信号强度将为单个的两倍。

3.功率放大
由6只常用的三极管组成同相驱动方式实现数字功放功能,从而进一步降低了静态功耗,提高了效率。

这种做法的好处就是:只有当PB1和PB2两引脚的电平不相同时,才会引起两只对管(VT3和VT6或VT4和VT5)的导通,相反,当电平相同时,两只对管不导通,电流几乎为零。

4.滤波
由于M8L内部结构的原因,应在ADC采样前进行低通滤波,这里采用的是RC低通滤波器,由R6和C6组成。

另外,最好在AREF引脚与负极之间并接一个阻值较大的电容,用来滤除杂波。

三、软件设计及制作
1.软件设计
本系统软件由AD中断服务程序、PWM程序、按键操作程序组成。

程序流程框图如图3所示。

2.制作与调试
笔者制作的数字功放板如图4所示。

从电路板上可以看出,笔者先将单片机和运放做在了两块独立的板子上,然后拼合在一起。

这样做的好处就是:可以先测试运放工作是否正常。

在这里,R3和R4的选择很关键,阻值必须相等,这样才会在输出端得到以2.5V为轴线的输出波形,也是整个电路的设计关键。

如果手头上有示波器,分析波形再好不过
了。

本人使用的音源是电脑输出的,幅度较小,因此对其进行了放大,放大倍数为Av=1+R2/R1=6.6倍。

读者可以根据情况,适当改变。

ATmega8L后缀为L,属于低功耗、宽电压、低速的型号,无后缀的为高速型。

通常市售的多为ATmega8 L。

许多资料都称ATmega8L最大时钟为8MHz,实际上,经笔者测试,16MHz时,也能正常工作。

如果用高于16MHz晶振,此时M8L将以低于16MHz的某个频率工作。

为了安全起见,如果你的串行下载线性能不是很好,最好不要外挂16MHz的晶振去写程序,否则,将会导致串行编程失败。

笔者使用的下载界面见图5,下载线制作方便,USB供电。

改写时应先将熔丝位的低8位的CKSEL3-0全置为"1",然后点击写入即可,如图5所示。

为了单片机工作的稳定性,要在复位脚加-10kΩ的上拉电阻。

程序较为简单,写好程序后,方可通电测试。

先断开功率放大部分,在单片机的PB1和PB2脚上接上小功率的扬声器,小于1W即可。

测试时外部音源音量应调节适中,否则会产生噪声。

读者也可用示波器观察其波形。

调节音量大小,如果能听到正常的声音,说明已成功。

如果噪声较大,可能是音量较大,或者是运放的增益太大,可适当减小增益。

如果没有输出任何声音,说明PWM没有产生,应检查一下程序,PW M的控制字是否设置正确,A/D转换是否打开。

测试功率放大部分最好的办法就是用随声听里面的3V直流电机。

先去掉输出电容C7,
直接接上电机,用+5V供电。

用手捏其中一输入端,观察电机的转向,再用手捏另一输入端,观察电机的转向。

如果两次转向正好相反,说明工作正常。

如果没有或只有一路工作,应检测对管是否损坏。

电源分为两个部分,M8L和LM358采用+5V供电,功率放大部分电源VCC除了可以共用电源外,还可以使用高于+5V的独立电源,这样可以进一步提高输出功率。

SB为播放和停止开关。

通过笔者测试,共用电源时,电流随着音乐的节奏而变化,在音乐不失真的情况下,最大电流不超过150 mA。

静态时,电流约为20mA。

此时单片机的能耗是主要的。

功率放大部分电源VCC使用+8V电源工作时,功率放大部分的最大电流为80mA,此时输出音量与本人用TDA2003制作的功放电路相当。

而TDA2 003功放电路的电压为12V,电流为150mA左右。

通过比较可知,数字功放的效率要比模拟功放的高很多。

相关主题