基于Atmega8的数字功放设计
发布时间:2008/5/27 0:00:00 访问次数:557
    
     摘要:mega8是一款高性能、低功耗,采用先进risc精简指令,内置pwm和a/d的8位单片机,用它设计数字功放不仅成本低、硬件简单,而且易实现各种扩展功能。文中介绍了如何利用avr系列单片机mega8及新型vmos管irf7389来设计高效数字功放的方法,同时给出了相应的电路原理图、程序流程和测试结果。 关键词:mega8;数字功放;pwm;ad8605;irf73891 引言 数字功放由于其效率高、易与数字音源对接等优点而在现实生活中具有越来越广泛的应用。它主要包含两部分,图1为数字功放的基本框图。其中pwm变换大致有两种,一是模拟pwm,即将输入的模拟信号或数字信号经d/a后与三角波进行比较,这种变换必须要有频率上百khz、线性度好、满幅的三角波,而且还要有高速模拟比较器,否则将影响pwm波形在解调后的波形,这些都将增加成本和设计复杂度(使用集成d类功放或d类控制芯片另当别论)。二是数字式pwm,即将输入数字信号或模拟信号经a/d后与计数器相比较,即用计数的方法代替三角波,从而避免了三角波非线性所引起的失真。同传统的模拟方式相比,数字方式具有设计简单,效率更高,抗干扰性更强等优点。而atmega8单片机中的定时器1可以工作在pwm模式,它只要将其ad中的值移到pwm的输出比较寄存器中即可完成pwm调制,实现起来相当简便。 为了提高输出功率,大多数d类功放都以btl方式来驱动。而无论是模拟式还是数字式pwm,btl两路输出信号的选择也都有两种方案,即同相驱动和反相驱动。前者在零信号时,其两路信号的叠加效果几乎为零,而后者在零信号时,叠加在滤波器上的电压会变大,当然可以通过修改滤波器参数来降低其在负载上的压降,但这样会增加系统功耗,而且不便于整体实现。因此,本文选用数字式pwm,并采取同相驱动方式实现数字功放功能,从而进一步降低了静态功耗,提高了效率。 2 硬件设计 该设计的硬件电路分为三部分,包括前置放大、a/d与pwm转换、功率放大及滤波等,其硬件电路原理如图2所示。本系统的pwm频率至少要调制到信号最高频率(20khz)的5倍以上,才能保证音频信号很好的还原。若工作频率为16mhz,则pwm的计数最大值(以下简称top)将为: fclk-i/o/fpwm=16mhz/100khz=160。此外,a/d的采样值(最大255)也必须除以一定的数值才能作为pwm输出比较寄存器(以下简称ocr1a/ocr1b)的值,这显然会降低ad的等效精度。而要保证ad原有的精度和pwm频率,则应提高晶振。经测试:mega8在32mhz下还可正常工作,此时ad采样值可直接作为ocr1a/ocr1b值,此时的pwm频率为32mhz/255=125.5khz。2.1 前置放大 前置放大部分主要由ad公司的低功耗、低噪声、单电源、轨对轨输入输出放大器ad8605和数字电位器组成。ad8605的静态电流只有0.9ma(5v),电源范围为2.7v~5.5v,带宽为10mhz。数字电位器采用的x9c102有100个台阶,大小为1kω最小可达40ω,它和ad8605可组成同相放大器。图2中的r2选为1kω,放大倍数可在2到250之间调整。2.2 a/d及pwm部分 本设计中的a/d和pwm都是通过mega8来完成的。在avr家族中,atmega8是一个非常特殊的单片机,它内部集成了较大容量的存储器和丰富的硬件接口电路,具有avr高档单片机mega系列的全部性能和特点,但由于采用了小引脚封装(dip 28),所以其价格与低档单片机相当,因而性价比极高,而且有isp功能,下载极其方便。图2 atmega8单片机功能齐全、接口丰富。它有6通道a/d,包括4路10位a/d和2路8位a/d。而片中的3个pwm通道可实现任意小于16位,以及相位和频率可调的脉宽调制输出。此外,atmega8中的每个i/o引脚均采用推挽式驱动,因此不仅能提供大电流驱动,而且还可以吸收20ma的电流。atmega8的pwm有3种工作模式:快速pwm模式、相位可调pwm模式和相位频率可调pwm模式。其中后两者都采用双程计数器,所以其pwm频率只有快速模式的一半。本文选用第一种工作模式。该模式是利用定时器/计数器1来完成的,而且计数器为单程向上加1,从0x0000一直加到top,在下一计数脉冲到来时清零,然后再从0x0000开始加1计数。在设置正向比较匹配输出时,当计数值与ocr1a/ocr1b的值相同时,对输出比较匹配位(以下简称oc1a/oc1b)进行置位操作当计数器的值从top返回0x00时则清零oc1a/oc1b。而在设置反向比较输出时,
    
     摘要:mega8是一款高性能、低功耗,采用先进risc精简指令,内置pwm和a/d的8位单片机,用它设计数字功放不仅成本低、硬件简单,而且易实现各种扩展功能。文中介绍了如何利用avr系列单片机mega8及新型vmos管irf7389来设计高效数字功放的方法,同时给出了相应的电路原理图、程序流程和测试结果。 关键词:mega8;数字功放;pwm;ad8605;irf73891 引言 数字功放由于其效率高、易与数字音源对接等优点而在现实生活中具有越来越广泛的应用。它主要包含两部分,图1为数字功放的基本框图。其中pwm变换大致有两种,一是模拟pwm,即将输入的模拟信号或数字信号经d/a后与三角波进行比较,这种变换必须要有频率上百khz、线性度好、满幅的三角波,而且还要有高速模拟比较器,否则将影响pwm波形在解调后的波形,这些都将增加成本和设计复杂度(使用集成d类功放或d类控制芯片另当别论)。二是数字式pwm,即将输入数字信号或模拟信号经a/d后与计数器相比较,即用计数的方法代替三角波,从而避免了三角波非线性所引起的失真。同传统的模拟方式相比,数字方式具有设计简单,效率更高,抗干扰性更强等优点。而atmega8单片机中的定时器1可以工作在pwm模式,它只要将其ad中的值移到pwm的输出比较寄存器中即可完成pwm调制,实现起来相当简便。 为了提高输出功率,大多数d类功放都以btl方式来驱动。而无论是模拟式还是数字式pwm,btl两路输出信号的选择也都有两种方案,即同相驱动和反相驱动。前者在零信号时,其两路信号的叠加效果几乎为零,而后者在零信号时,叠加在滤波器上的电压会变大,当然可以通过修改滤波器参数来降低其在负载上的压降,但这样会增加系统功耗,而且不便于整体实现。因此,本文选用数字式pwm,并采取同相驱动方式实现数字功放功能,从而进一步降低了静态功耗,提高了效率。 2 硬件设计 该设计的硬件电路分为三部分,包括前置放大、a/d与pwm转换、功率放大及滤波等,其硬件电路原理如图2所示。本系统的pwm频率至少要调制到信号最高频率(20khz)的5倍以上,才能保证音频信号很好的还原。若工作频率为16mhz,则pwm的计数最大值(以下简称top)将为: fclk-i/o/fpwm=16mhz/100khz=160。此外,a/d的采样值(最大255)也必须除以一定的数值才能作为pwm输出比较寄存器(以下简称ocr1a/ocr1b)的值,这显然会降低ad的等效精度。而要保证ad原有的精度和pwm频率,则应提高晶振。经测试:mega8在32mhz下还可正常工作,此时ad采样值可直接作为ocr1a/ocr1b值,此时的pwm频率为32mhz/255=125.5khz。2.1 前置放大 前置放大部分主要由ad公司的低功耗、低噪声、单电源、轨对轨输入输出放大器ad8605和数字电位器组成。ad8605的静态电流只有0.9ma(5v),电源范围为2.7v~5.5v,带宽为10mhz。数字电位器采用的x9c102有100个台阶,大小为1kω最小可达40ω,它和ad8605可组成同相放大器。图2中的r2选为1kω,放大倍数可在2到250之间调整。2.2 a/d及pwm部分 本设计中的a/d和pwm都是通过mega8来完成的。在avr家族中,atmega8是一个非常特殊的单片机,它内部集成了较大容量的存储器和丰富的硬件接口电路,具有avr高档单片机mega系列的全部性能和特点,但由于采用了小引脚封装(dip 28),所以其价格与低档单片机相当,因而性价比极高,而且有isp功能,下载极其方便。图2 atmega8单片机功能齐全、接口丰富。它有6通道a/d,包括4路10位a/d和2路8位a/d。而片中的3个pwm通道可实现任意小于16位,以及相位和频率可调的脉宽调制输出。此外,atmega8中的每个i/o引脚均采用推挽式驱动,因此不仅能提供大电流驱动,而且还可以吸收20ma的电流。atmega8的pwm有3种工作模式:快速pwm模式、相位可调pwm模式和相位频率可调pwm模式。其中后两者都采用双程计数器,所以其pwm频率只有快速模式的一半。本文选用第一种工作模式。该模式是利用定时器/计数器1来完成的,而且计数器为单程向上加1,从0x0000一直加到top,在下一计数脉冲到来时清零,然后再从0x0000开始加1计数。在设置正向比较匹配输出时,当计数值与ocr1a/ocr1b的值相同时,对输出比较匹配位(以下简称oc1a/oc1b)进行置位操作当计数器的值从top返回0x00时则清零oc1a/oc1b。而在设置反向比较输出时,
上一篇:怎样用单片机驱动LED数码管显示