基于Atmega8的数字功放设计

发布者:静逸心境最新更新时间:2006-11-15 来源: 国外电子元器件关键字:PWM  A/D  计数 手机看文章 扫描二维码
随时随地手机看文章
1 引言

数字功放由于其效率高、易与数字音源对接等优点而在现实生活中具有越来越广泛的应用。它主要包含两部分,图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。而在设置反向比较输出时,其输出正好与同向比较时相反。从两路PWM的产生过程来看,两路的变化是同时的,因而避免了由于两路延时不同所引起的额外损耗。

  2.3 功率放大部分

功率放大部分采用两片IRF7389,每一片中内置一对VMOS管,N沟道和P沟道的导通电阻分别为46、98mΩVGS=4.5V时,最大输出功率为30W。此外,IRF7389还内置高速恢复二极管,能降低谐波失真。图2中的C17 、C16是加速电容,可用来改善激励波形,以使VMOS管迅速由截止转换为导通,或由导通迅速转为截止,以达到减少死区时间,改善输出波形之目的。图2中的 R7、R8主要起保护作用。

3 软件设计及系统实验

本系统软件由AD中断服务程序、定时中断服务程序、PWM程序、按键中断服务程序组成。

系统上电后, AD中断程序、时钟中断程序、



  PWM程序首先进行初始化,然后在程序运行初始阶段进行音量的AGC控制。考虑到人耳对接收声音强度的对数关系,放大器的增益从2倍到20倍间设计成对数增加方式,而无须手动调整放大倍数,从而使输出能保证在一定范围内,以使放大器工作在线性区。具体过程见图3所示。在播放过程中,可以通过按键调用中断子程序来调节音量。

Atmega8的AD转换在转换精度要求低于 10位时,ADC的采样时钟可以高于200kHz,因而可获得更高的采样率。另外设置SFIOR寄存器中的ADHSM 位可提高ADC的时钟频率。本系统采用ADC内部参考电源和连续转换模式,并选用ADC4通道(精度为8位),实验测得的转换速度可达40kHz。

PWM的A、B通道初始化采用相同的工作方式,零输入时,A、B同相输出。而当正信号输入时,A通道的脉宽增加,此时由于B通道的比较值与A通道互补,所以B通道脉宽减少;当有负信号输入时,A通道的脉宽减少,B通道的脉宽增加。

通过测试本系统在5V电源下,负载为8Ω时的最大输出不失真正弦波峰峰值为8.4V(即4.2×2),输出功率为1.1W,16MHz时的电源电流为278mA,效率为80%。而在32MHz时,AD的等效精度会提高,音质更好,但系统静态功耗电流将增加,然而,由于该损耗基本固定,因此用Atmega8来设计数字功放更适合在较大功率的场合使用。此外,加大IRF7389源极间电压可增大输出PWM电平,从而增大输出功率,进一步提高效率。

4 结束语

选用Atmega8单片机设计功放非常简单,而且灵活性好,可扩展性强,通过调整程序还可满足不同需求。通过修改数字滤波程序即可改变功放频响,若再加一片存储器,即可实现录音、复读、设定播放时间和显示音量等。而这些功能仅仅通过集成D类功放是无法完成的。

关键字:PWM  A/D  计数 引用地址:基于Atmega8的数字功放设计

上一篇:基于Atmega8的数字功放设计
下一篇:基于单片机的FPGA并行配置方法

推荐阅读最新更新时间:2024-03-16 12:18

比比看,DPM/PWM两种逆变电源控制方式谁更优?
电流型双环控制技术在DC/DC变换器中广泛应用,较单电压环控制可以获得更优良的动态和静态性能。其基本思路是以外环电压调节器的输出作为内环电流给定,检测电感(或开关)电流与之比较,再由比较器的输出控制功率开关,使电感和功率开关的峰值电流直接跟随电压调节器的输出而变化。如此构成的电流、电压双闭环变换器系统瞬态性能好、稳态精度高,特别是具有内在的对功率开关电流的限流能力。 逆变 器(DC/AC变换器)由于交流输出,其控制较DC/DC变换器复杂得多,早期采用开关点预置的开环控制方式,近年来瞬时反馈控制方式被广泛研究,多种各具特色的实现方案被提出,其中三态DPM(离散脉冲调制)电流滞环跟踪控制方式性能优良,易于实现。本文将电流型PWM控制方
[电源管理]
比比看,DPM/<font color='red'>PWM</font>两种逆变电源控制方式谁更优?
C51单片机 定时器模拟单路输出PWM
前言 本博文基于STC89C52RC和Keil5 C51环境开发; 如有不足之处还请多多指教; 需要的东西 定时器0; 管脚P1.0; 代码如下: #include STC89C5xRC.H #define ENABLE 1 #define DISENABLE 0 typedef unsigned char uchar8; sbit P1_0 = P1^0; bit Flag = 0; /* 占空比的时间计算: 占空比 = 高电平时间 /(高电平时间+低电平时间); */ //高电平时间(初始值为:0x02EE,即十进制750) uchar8 Timer0_TH0_High_Level_Time = 0
[单片机]
三相电压型PWM整流器前馈解耦控制策略
1.引言 本文在分析三相电压型PWM整流器工作原理的基础上,建立了dq同步旋转坐标系下三相电压型PWM整流器的数学模型,分别设计了基于前馈解耦控制的电流内环控制器和电压外环控制器。最后通过仿真和实验验证该控制策略的正确性和有效性。   PWM整流器与传统的不控整流或相控整流方式相比,具有网侧电流谐波含量少、功率因数高、能量可双向流动、动态响应快等优点,成为当今电力电子领域研究的一个热点。因此,研究高性能的PWM整流器控制策略具有重要现实意义。   2.三相电压型PWM 整流器数学模型 三相电压型PWM 整流器的原理图如图1 示,图1中各物理量定义如下:ea、eb、ec 为电网电压,ia、ib、ic 为交流侧各相电流
[电源管理]
三相电压型<font color='red'>PWM</font>整流器前馈解耦控制策略
远翔FP6277:7A同步整流PWM升压IC
FP6277是一个带有PWM/PSM控制的电流模式增压直流-直流转换器。它的PWM电路与内置的30mΩ高侧开关和30mΩ低侧开关,使该调节器的功率高效。内部补偿网络还将外部组件计数最小化到只有6。一个内部的0.6V电压被连接到误差放大器,非反相输入器作为精度参考电压。内置的软启动功能可以减少涌入电流。 特色 ➢PWM/PSM控制 ➢输入电压范围:2.4V~4.5V ➢可调输出高达5.3V ➢关机电流: 1uA ➢振荡器频率:500KHz ➢参考电压:0.6V+/-2% ➢关机期间断开负载 ➢周期电流限制 ➢低RDS(开启):30mΩ左右 ➢保护:OTP、OCP、SCP ➢内部补偿 ➢内部软启动:7ms ➢封装:SOP-8L(E
[嵌入式]
远翔FP6277:7<font color='red'>A</font>同步整流<font color='red'>PWM</font>升压IC
atmega16片上A/D程序-CVAVR程序
/***************************************************** File name : AD_on chip.c Chip type : ATmega16L Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Da ta Stack size : 256 Function : 内部AD转换,数码管显示 ***********************************************
[单片机]
如何采用MSP430单片机实现PWM信号
概念 PWM信号是一种具有固定周期、不定占空比的数字信号。 如果Timer_A的计数器工作在增计数模式,输出采用输出模式7(复位/置位模式) 利用寄存器TAxCCR0控制PWM波形的周期,用其他某个寄存器TAxCCRx来控制占空比(t高电平/ T周期) 题目 设ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = DCOCLK = 32 * ACLK = 1.048576MHz,利用TImer_A输出周期 512/32768 = 15.625ms,占空比分别为75%和25%的PWM矩波形。 代码如下: #include “msp430x44x.h” void main() { W
[单片机]
如何采用MSP430单片机实现<font color='red'>PWM</font>信号
流量仪表之如何解决电磁流量计的A/D饱和问题
作为工业生产测量、测算中常用的一种流量仪表,电磁流量计为工业行业和企业生产提供了强大的保障和支持,但是电磁流量计在实际应用中仍然也会出现这样或那样的问题,以至于给工作人员造成困扰,比如说,流量仪表电磁流量计在应用的时候出现A/D饱和现象,遇到此种问题,我们应该如何应对呢? 实际上,电磁流量计出现A/D饱和现象,通常是由电磁流量计安装布置不妥或管道内介质中混有异相物等引起的。下面我们详细介绍针对此种现象,我们应该如何处理:   一、介质中混有异相物的处理方法: 1、气穴形成的失误 2、液体中混有气体(泡) 3、磨损和沉积结垢 4、气体中冷凝液   二、电磁流量计安装布置不妥主要表现在以下方面:
[测试测量]
PWM调光方法在LED亮度调节中的应用
   LED 是一种固态电光源, 是一种 半导体照明 器件,其电学特性具有很强的离散性。它具有体积小、机械强度大、功耗低、寿命长, 便于调节控制及无污染等特征,有极大发展前景的新型光源产品。LED 调光方法的实现分为两种: 模拟调光和数字调光, 其中模拟调光是通过改变LED 回路中电流大小达到调光; 数字调光又称 PWM 调光, 通过PWM 波开启和关闭LED 来改变正向电流的导通时间以达到 亮度 调节的效果。模拟调光通过改变LED 回路中的电流来调节LED 的亮度, 缺点是在可调节的电流范围内, 可调档位受到限制;PWM 波调光可通过改变高低电平的占空比来任意改变LED 的开启时间, 从而使亮度调节的档位增多。本文拟用两种方法共
[电源管理]
<font color='red'>PWM</font>调光方法在LED亮度调节中的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved