基于8051F单片机的数字音频信号源的幅度控制

发布者:学海星空最新更新时间:2008-12-30 来源: 国外电子元器件关键字:MCU 手机看文章 扫描二维码
随时随地手机看文章

1 引言
    音频模拟信号电路常需要在很大范围内调节电平,而高精度电路的调节范同达100 dB以上.相当于二进制线性数字18位,同时也要求具有较高的调节步进值。使用数字信号源直接改变幅值,一般只有几dB的分辨率。市面上很多音频衰减器的衰减量、衰减量步进值、特性阻抗都是特定的。但在实际应用中,需要音频衰减器具有不同的参数;而且在一些应用中还希望衰减量能够按照需要随意设计,并且可以随时调整。针对这些需求,介绍了一种基于单片机由电阻衰减器和模拟开关组成的音频控制系统。该系统可通过单片机及上位PC机设置音频信号的衰减量,控制衰减量的增减。该系统具有适用广泛,使用方便,移植性高等特点。

2 系统总体设计
    基于805lF330的音频控制系统结构如图l所示,它主要由8051F330单片机、衰减器模块、控制模块等部分组成。单片机以中断方式向控制模块发送控制信号,通过控制模块改变衰减器衰减量,以产生所需衰减量的音频信号。衰减器模块是用于衰减音频信号,采用电阻衰减器网络进行设计;采用模拟开关CD4053来控制衰减量大小。上位PC机通过8051F330单片机控制衰减器模块的衰减量,以达到控制音频信号衰减量的目的。

2.1 音频衰减器模块
    信号衰减器是一类用于传输系统降低信号电平,使其不产生显著畸变的无源网络,用于信号源去耦,调节电路的传输电平,或缓冲阻抗变换的影响,改善阻抗匹配。衰减器已广泛应用于无线电测试仪器、仪表、传输线、标准衰减器及邮电、通讯、信号载波、广播电视、计算机等系统中,工作频率可达到VHF(甚高频),适用于音频信号衰减。衰减器结构是根据电阻排列形式可分为T、H、π、L、O型,最常用的有T型与π型,其衰减器结构如图2所示。

    图2中,zin、Zout分别为衰减器的输入、输出阻抗。在实际应用中,根据衰减器的输入、输出阻抗和所需衰减量计算电阻阻值。
2.2 控制模块设计
    衰减电路控制模块如图3所示,根据若干组T型网络构成衰减器的基本单元,其衰减量可根据需要计算组合;使用开关电路以切换若干组基本单元,其控制由数字控制部分传送的二进制代码来实现。若控制A1接通,则表示R1部分被短路,总衰减量为R2+R3;同理,若控制B1接通,则表示R2部分被短路,总衰减量为Rl+R3。

    控制模块中的开关电路选用三组二路模拟开关CD4053,其引脚配置如图4所示。图中,VDD与VEE为电源端,应保持VDD>VEE,且VCD-VEE等于5 V、10 V或15 V均能正常工作;VSS为接地端;INH为使能端,低有效;A、B、C为控制位;XO、Xl、Y0、Yl、ZO、Z1为输入端;X、Y、Z为输出端。当INH=O时,各引脚逻辑关系如表l所示。

2.3 音频信号源
    C8051F330单片机内置一路10位电流数/模转换器,可将数字信号转化为模拟电流,输出电流由IDAC数据寄存器决定一音频信号采用DDS造波法生成,或读取预先存储在存储器内的音频信号,也可使用其他音频信号源,在此不作赘述。由于C8051F330输出的是电流信号,需要在输出端和地之间接入一只电阻R4来得到电压信号。


3 基于单片机的高精度音频控制系统实例
    如图5所示,将R1~R7的7级T形电阻衰减器串联,组成基本音频衰减器通路,采用一组数控开关切换若干组基本单元接入音频通路或被短路接出,改变控制量。选用三组二路模拟开关CD4053作为数控开关切换各级衰减器接入音频通路或被短路接出,改变控制量。

    以R7为例,当U5 CD413153的引脚A为高电平时,控制X引脚模拟接通X1引脚,控制节点h和g断开,R7接入音频通路产生相应衰减;U5 CD4053的A引脚为低电平时,X引脚模拟接通X0引脚,节点h和g接通短路,音频信号不经过R7衰减器。为节省单片机I/O口,利用8位串入并出移位寄存器74HCl64向CD4053输出控制信号实现集中多路输出。单片机给74LSl64输出QG~QA的控制信号,每位对应一级衰减器,若需接入某级衰减器,则对应位置为1;若不需接入该级衰减器,则该位置为0。
    应用使用7级衰减器,设定衰减值:R1=1 dB、R2=2 dB、R3=4 dB、R4=8 dB、R5=16 dB、R6=32 dB,R7=40 dB,则可以满足O~103 dB,步进值为l的衰减需求。若要产生83 dB的衰减,则选接入Rl、R2、R4、R6、R7。相应地,电路中节点c和d短路,U3 CD4053的C引脚应为低电平,即QE=O,节点e与f短路,U4 CD4053的B引脚为低电平,即QC=0,对应控制信号为:0G~QA=llOl01l。若要产生29 dB的衰减,则选接入Rl、R3、R4、R5,衰减值为29 dB,对应控制信号为QG~QA=1011100。依次类推,可将O~103 dB范围内每1 dB值对应控制信号编写为数组,可预先存入C8051F330,使用时查表读出即可。
    如果需要更大的衰减值,可采用更多级的衰减器。在软件设计上,可利用中断,待控制信号完全输出后,再接通主信号通路,以避免产生不必要的噪声,也避免程序跑飞。

4 结语
    实际电路设计所需的衰减器衰减量以及前后级的阻抗匹配常常不同,市场上衰减器只有固定的衰减值、衰减量步进值及匹配阻抗。采用组合衰减器网络,在实际运用中根据设计需要,自主设计所需衰减器的级数、衰减值组合,并灵活计算使用衰减器电阻值,具有极高的灵活性和可移植性;大大降低了设计成本,具有极高的实用价值。

关键字:MCU 引用地址:基于8051F单片机的数字音频信号源的幅度控制

上一篇:基于单片机的室内甲醛测试系统
下一篇:新唐科技推出8位微控制器N79E352

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

AVR单片机 usart串口使用范例
usart简介: 通用同步和异步串行接收器和转发器(USART) 是一个高度灵活的串行通讯设备。主要特点为: 全双工操作( 独立的串行接收和发送寄存器) 异步或同步操作 主机或从机提供时钟的同步操作 高精度的波特率发生器 支持5, 6, 7, 8, 或9 个数据位和1 个或2 个停止位 硬件支持的奇偶校验操作 数据过速检测 帧错误检测 噪声滤波,包括错误的起始位检测,以及数字低通滤波器 三个独立的中断:发送结束中断, 发送数据寄存器空中断,以及接收结束中断 多处理器通讯模式 倍速异步通讯模式 调试结果与实物图 串口硬件电路采用的是MAX232cse,硬件连接电路图,详见开发板电路的详细介绍。 在labview中用程序调试
[单片机]
AVR<font color='red'>单片机</font> usart串口使用范例
基于单片机的电动汽车多功能充电系统设计
引言   由于石油危机和日益严重的环境污染,电动汽车发展已经是大势所趋。蓄电池为电动汽车提供动力,而蓄电池充电性能直接影响蓄电池的使用和寿命,蓄电池一般分为铅蓄电池、镍镉电池、镍氢电池和锂离子电池。由于蓄电池种类繁多且容量不一,不同种类和容量的蓄电池往往需要不同的充电器匹配,如果蓄电池的充电器匹配不好会出现过充过热等不安全现象,从而影响蓄电池的正常使用并缩短蓄电池寿命。因此,设计一款基于单片机控制的能为各类蓄电池充电的多功能充电系统是十分必要的。多功能充电系统能快速稳定地为不同类型和不同容量的蓄电池充电,我们在软件上针对不同类型的蓄电池设计了相应的充电方法,使每种蓄电池都能在最佳充电方法下充电。对于不同容量的蓄电池,在选择好充电
[汽车电子]
基于<font color='red'>单片机</font>的电动汽车多功能充电系统设计
基于AT89C52单片机的烟雾报警器设计
随着社会高速发展,火灾对于人类的生产生活造成了巨大的危害。烟雾报警器是用来监测环境中烟雾的浓度,以便人们及早发现事故隐患,采取有效措施,避免事故发生,确保工业生产和人们生活的安全。 1 系统总体设计方案 烟雾检测报警器由以下3部分组成:烟雾信号采集电路、模数转换电路和单片机控制电路。其系统结构框图如图1所示。烟雾信号采集电路由烟雾传感器和模拟放大电路组成,将烟雾信号转化为模拟的电信号。模数转换电路将烟雾检测电路送出的模拟信号转换成数字信号后送入单片机。单片机对该数字信号进行滤波处理,并与预设值进行比较,如果大于则启动报警电路发出报警声音,反之则为正常状态。为方便监控,使仪器测试人员及用户能够直观地观察到环境中的可燃烟雾浓度
[单片机]
基于AT89C52<font color='red'>单片机</font>的烟雾报警器设计
基于单片机的多参数测量仪设计
  本文给出了一种由单片机MSP430F149和部分外围电路来构成多参数测量仪的设计方案。详细介绍了测量RLC、频率及相位差的具体方法,同时给出了硬件电路和软件程序框图。   引言   现在常用的仪表一般还是传统的模拟式仪表,漂移大,程控性能不好,而有些仪表功能过于单一,不能满足实际需求。为此,本文考虑到实际的科研实验需要,给出了一种可同时测量RLC、频率及相位差的测量仪的设计方法。   1 系统组成与硬件电路设计   1.1 系统组成   该仪器包括信号产生与接收模块、信号的放大整形滤波处理模块、单片机中央处理器、显示模块LCD12864和外部按键控制模块等几个部分,其系统组成结构框图如图1所示。      本系
[单片机]
基于<font color='red'>单片机</font>的多参数测量仪设计
51单片机keilC中头文件absacc.h作用
当51单片机通过8255和锁存器74LS273来扩展IO时,经常用到头文件absacc.h。 在程序中,用 #include absacc.h 即可使用其中定义的宏来访问绝对地址,包括:CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD 例如: rval=CBYTE ;指向程序存贮器的0002h地址 rval=XWORD ;指向外RAM的0004h地址 KEIL 中ABSACC.H 定义如下: #ifndef __ABSACC_H__ #define __ABSACC_H__ #define CBYTE ((unsigned char volatile code *) 0) #de
[单片机]
C51中的NOP指令使用
方法1: 在keil C51中,直接调用库函数: #include intrins.h // 声明了void _nop_(void); _nop_(); // 产生一条NOP指令 作用:对于延时很短的,要求在us级的,采用 _nop_ 函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。 方法2: 插入方式: __asm //是两个下划线 { nop; }
[单片机]
基于8xC749单片机的电动自行车智能充电器的设计与实现
    摘要: 介绍了PHILIPS公司的8xC749微处理器为核心的智能充电控制器的控制原理,讨论充电器的硬件结构和各主要组成部分的设计思想,并介绍智能充电器中的两种新技术:均衡充电和脉冲充电。结合铅酸电池对充电器的控制算法进行探讨。     关键词: 充电器  智能控制器  均衡充电  脉冲充电  8xC749单片机     随着经济的发展,越来越多的电器走进人们的日常生活,家庭使用的小容量蓄电池的比例将会逐渐增加。因此,研究如何延长蓄电池的寿命,提高蓄电池的使用效率,并设计、生产出高质量、高效率、符合家庭使用要求的充电器,有着十分重要的意义。     评估蓄电池的优劣有很多指标,其
[应用]
模糊控制算法子程序
程序为模糊控制程序,基于8位单片机,为模糊控制算法程序,实现简单的模糊控制,经实践总结得出,当调整幅度较大时,会出现振荡,系统难以达到稳定,这就需要更高一级的算法控制调整,当调整幅度较小时,系统可以很快达到稳定。 以下为模糊算法源程序: #include reg52.h //------------------------------------------------------------------------------------ // 定义差距输入常量 #define GAP_ZERO 0x00 #define GAP_VSMALL 0x01 #define GAP_SMALL 0x02 #def
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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