基于单片机89C52与CPLD的数字语音存储与回放系统(CY62256)

出处:tracyii 发布于:2007-04-20 13:00:38

本系统以89C52单片机和MAX7000S系列EPM7128SLC84-15的CPLD器件为主控制器,实现将语音信号经脉冲编码调制、增量调制、"插值法"后压缩存储与回放的系统,用户可以通过按键选择录、放音的模式,同时液晶显示屏显示提示信息、录、放音的时间长度信号。

系统组成框图如所示,主要由语音处理前向通道、A/D转换模块、单片机控制兼数据处理模块、D/A转换模块、键盘显示模块及后向处理通道等组成。89C52单片机构成系统的控制中心,控制系统的主要功能和显示:EPM7128SLC84-15内部已集成373、138和分频器。

输入的微弱信号由射极跟随器隔离后通过前级放大电路放大到振幅在2.5V之内,再通过300Hz~3.4kHz的带通滤波器滤除50Hz的市电影响和高频噪声;ADC0809的参考电压选择+5V,其采集的电压信号范围是0~+5V,因为语音信号是双极性信号,经滤波器输出信号幅值为±2.5V,因此须加1个+2.5V直流偏置电压,使语音信号变为0~+5V的单极性信号,使ADC0809采样有效,并保证一定的采样;DAC0809的时钟选640kHz左右的经典时钟值,只须将单片机的ALE端二分频后(用1MHz触发)即可正常采集语音信号和输出LCD显示信息。

采样后的单极性信号经A/D转换后进入单片机进行相应处理,然后D/A转换成模拟信号输出,再通过300Hz~3.4kHz的带通滤波器滤波,经音频功放将语音信号放大输出,系统原理图如所示。

硬件设计

前级放大模块 因话筒的输出阻抗不可忽略,故放大前须进行隔离,尽量减小信号输出阻抗,本文采用射极跟随隔离电路。话筒输出的电压峰一峰值约几百毫伏,只需将信号放大几倍后使其峰一峰值达到5V左右即可,采用多级放大,同时系统在加法器输入端及A/D输入端均加上射极跟随隔离,减少系统噪声干扰,电路原理图如所示。

主控制器电路设计 89C52单片机为系统的控制中心,主要实现以下的功能:一方面控制LCD显示语音信号的相关信息、按键识别和功能选择;另一方面控制CY62256的存储和A /D、D/A转换,实现语音的存储和回放。

EPM7128SLC84-15中的373、分频器及138电路均在其内部实现,减少芯片的使用,降低成本,并为系统的功能扩展提供条件。

滤波模块设计 在设计带通滤波器时,按品质因数Q的大小分为窄带Q>10和宽带Q<10两种情况,fh为上限频率,为f1下限频率,为f0中心频率,Q为品质因数,则
时,应采用高通一低通级联的方式实现。

本文的设计的300Hz~3.4kHz的带通滤波器采用两级低通滤波器、两级高通滤波器级联方式,提高品质因素Q值,二阶压控电压源滤波电路如所示,高通和低通都只有。

低通滤波器的截止频率为3.4kHz,级R1=6.8kΩ,R2取50kΩ的可调电阻器,C=6.8nF,C1=2.2nF;第二级R1取10kΩ的可调电阻器,R2=20kΩ,C=6.8nF,C1=2.2nF。

高通滤波器的截止频率为300Hz,级R1=3.9kΩ+150Ω,R2取100kΩ的可调电阻器,C1=C2=100nF:第二级R1取100kΩ的可调电阻器,R2=9.1 kΩ,C1=C2=100nF。

Multisim2001软件模拟设计的参数值,幅频特性曲线如所示,带通宽度、截止点和矩形系数都达到系统要求。

音频功放模块的设计 后级音频功放采用LM386音频功放,原理图如所示。

软件设计

89C52单片机内部的程序流程图如所示。其中DPCM编码模式编程时将8位的存储空间分成两份,使存储量增加4倍,放音时间增加一倍。每4个bit存放4个增量,其中第1位为符号位,0表示正数,1表示负数,其他3位均表示数值,数值范围为-7~7。

由于在PCM编码和DPCM编码模式下都要采用8kHz的采样率,所以每次压缩中断服务程序必须在不超过125μs的时间内完成,压缩录音处理程序的代码必须进行可能的优化,以减少程序执行时闻,以免采样和数据处理或信息显示发生冲突,同时也避免在中断采样时造成采样点的丢失。

本文在录音过程中处于静音状态时,外界的输入噪声通过软件设计,在程序设计中加入判断输入信号幅值范围的语句,控制零电平左右内的语音信号全部按零电平进行存储,以消除静音状态的噪音。

CPLD源程序 语音存储回放系统CPLD源程序如表1所示。

系统调试与测试

本文采用Tektronix TDS 1002双信道数字示波器、SG173SB3直流稳压稳流电源、Agilent 33120A信号发生器、FLUKE17B型4位数字万用表仪器进行测试。

调试时采用模拟与数字分离调试、级联调试的方法,先对各模拟电路分块调试,当每个模拟电路都达到设计标准后,将前向输入部分与后级输出部分用导线连起来,输入语音信号,检查扬声器能否输出正常放大的语音信号,同时调节各部分放大电路、滤波电路和功率放大电路,使输出语音信号更清晰;然后再将模拟与数字电路级联,用单片机控制A/D采集、D/A转换,同时将数据不存储在RAM区的方式调试,直至信号采集与转换后清晰地放出语音信号,再调试直接存储回放的PCM模式;对整个系统的按键、显示及各种语音信号压缩编码模式进行调试。

滤波模块的调试 测试滤波器的截止频率fc和放大倍数Av,若fc不满足设计要求,则应对RC滤波器的电路进行分析和调整,Q值越大,滤波器的衰减速率越大,滤波效果好,但Q值变大的同时也会使得幅频特性曲线在衰减的区域出现上升部分,通常情况下取Q=0.707;同时适当调整R的取值即可改变截止频率的大小,从而调节网络的滤波特性。

指标测试 300Hz~3.4kHz带通滤波模块的前级、后级二阶RC有源滤波电路幅频特性参数分别如表2、表3所示。

语音存储回放效果测试 经过分别对C51和CPLD的软件调试和仿真,采用不同的编码方式进行测试,各种编码方式的终放音效果记录如表4所示。


  

参考文献:

[1]. 89C52 datasheet https://www.dzsc.com/datasheet/89C52_105388.html.
[2]. MAX7000S datasheet https://www.dzsc.com/datasheet/MAX7000S_1018714.html.
[3]. EPM7128SLC84-15 datasheet https://www.dzsc.com/datasheet/EPM7128SLC84-15_1054460.html.
[4]. CPLD datasheet https://www.dzsc.com/datasheet/CPLD_1136600.html.
[5]. ADC0809 datasheet https://www.dzsc.com/datasheet/ADC0809_123186.html.
[6]. CY62256 datasheet https://www.dzsc.com/datasheet/CY62256_1067685.html.
[7]. LM386 datasheet https://www.dzsc.com/datasheet/LM386_1054627.html.


关键词:PLD存储单片机

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!