基于单片机的数码录音与播放系统.docx
《基于单片机的数码录音与播放系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的数码录音与播放系统.docx(21页珍藏版)》请在冰豆网上搜索。
基于单片机的数码录音与播放系统
基于单片机的数码录音与播放系统
摘要
本设计是基于单片机的数码录音机设计,主要任务是实现录音和播放功能。
系统可以使用单片机的外扩A/D和D/A转换器来实现录音播放功能,也可以选用专用的语音芯片。
本文设计一款具有按键控制、录音、播放模式的单片机语音录放系统;硬件部分选用美国Atmel公司的AT89C52单片机作为主控芯片,并与ISD2560语音录放芯片相结合,添加外围的控制电路、键盘、扬声器等设备来实现语音录放功能,软件部分主要采用单片机C语言来编写主控芯片的控制程序和EEPROM读写程序;该设计能真实的再现语音的自然效果。
关键词语音芯片ISD2560;单片机AT89C52
1绪论
语音是人类最自然、方便、快捷的交流方式,让人和机器能够通过自然语音进行交流是人们长期以来的梦想。
随着单片机技术的日益发展,人们已经不再满足于键盘输入,屏显输出这样传统的输入/输出方式,希望拥有更好的人机界面,更便捷的操作方式。
具有语音功能的单片机系统于是应运而生,而且得到了广泛的应用。
近年来计算机在各行业的日益普及应用,给各行业带来了崭新的面貌。
与此同时用户逐步对各种计算机应用系统提出了更高的要求,他们希望自己的系统有更高的自动化程度和更方便的人机界面。
语音技术的进展给这种应用需要提供了一种有力的技术支持,逐渐被广大用户所接受,并广泛用于各种需要语音响应的场合。
智能仪器、仪表、监控设备、工业控制系统等都有这种需求。
所以研究语音播报器对生产,生活都有极其重要的意义。
2课题的技术发展
2.1语音芯片
本课题涉及的主要技术主要包括单片机技术和语音芯片技术。
随录随放型语音IC:
这类IC具有完整的录音机功能,和录音磁带机一样,它可以自由地通过话筒或模拟音频线路来进行录音,把语音存储到IC内部,在用户需要的时候,就可以还原存储的语音通过驱动喇叭放音。
2.2单片机
单片机全称单片微型计算机(SingleChipMicrocomputer),顾名思义,它指的是一种单硅片上集成微型计算机主要功能集成芯片.单片机的出现要归功于大规模集成电路技术的发展,就组成和功能而言,可以毫不夸张地说,它正如一个微型计算机系统,内部集成了中央处理器(CPU)、随机数据存储器(RAM)、只读程序存储器(ROM)、定时器/计数器、输入/输出(I/O)接口电路和串行通信接口等主要功能部件。
单片机按系统可分为:
MCS-51单片机、AVR单片机、PIC单片机。
2.2.1单片机硬件开发原理
单片机系统硬件开发原理:
单片机硬件开发主要包括设计系统的电路原理图,绘制印刷电路板(PCB板)、印刷板的焊接与测试。
而一个单片机应用系统的硬件电路设计包含两部分内容:
系统扩展,即单片机内部的功能单元,如RAM、ROM、I/O接口、定时器、计数器、中断系统等,容量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计恰当的电路;系统配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。
系统的扩展和配置设计应遵循下列原则:
1.尽可能选择典型电路,并符合单片机的常规用法。
为硬件系统的标准化、模块化打下良好基础。
2.系统的扩展与外围设备配置的水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。
3.硬件结构应结合应用软件方案一并考虑。
硬件结构与软件方案会相互影响,考虑的原则是:
软件能实现的功能尽可能由软件来实现,以简化硬件结构。
但必须注意,由软件实现的硬件功能,其响应时间比直接用硬件实现要长,而且占用CPU时间。
因此,选择软件方案时,要考虑到这些因素。
4.整个系统中相关的器件要尽可能做到性能相匹配,例如选用晶振频率较高时,存储器存取时间有限,应该选择允许存取速度较高的芯片;选择CMOS芯片单片机构成低功耗系统时,系统的所有芯片都应该选择低功耗的产品。
2.2.2单片机软件开发原理
单片机软件开发原理:
单片机系统软件是根据系统功能要求设计的,应可靠地实现系统的各种功能。
优秀的系统软件开发应遵循以下原则:
1.软件结构清晰、简捷、流程合理。
2.各功能程序实现模块化、子程序化、这样既便于调试、链接,又便于移植、修改。
3.程序存储区、数据存储区规划合理,既能节约内存容量,又使操作方便。
4.运行状态实现标志化。
各个功能程序运行状态、运行结果以及运行要求都设置状态标志以便查询,程序的转移、运行、控制都可通过状态标志条件来控制。
5.经过调试修改后的程序应进行规范化,除去修改“痕迹”。
规范化的程序便于交流、借鉴,也为今后的软件模块化、标准化打下了基础。
3任务分析及设计方案
3.1任务分析
设计基于单片机的数码录音机系统。
主要任务是实现简单录音和播放功能。
系统可以使用单片机外扩A/D转换器和D/A转换器来实现上述录播放功能,也可以选用专用录音芯片。
设计中应给出相应的方案分析,最终选择一种方案,并设计相关软硬件系统。
基本要求:
1、有开关按键控制系统;
2、有录音、播放模式的控制;
3、能够对不超过60秒的语音实现录音。
本设计的主要任务:
根据设计要求,提出基于单片机的语音录放器的硬件设计方案,并应用Protel软件完成硬件电路原理图设计。
通过对单片机的编程开发可以实现语音的录放等基本功能。
具体包括如下几个部分:
1.学习单片机的工作原理,并应用Protel软件设计出单片机的最小系统和语音系统的控制电路,使其能可靠工作。
2.学习有关语音方面的相关知识,采用集成语音芯片来实现语音的录放功能。
要求掌握该芯片的工作原理,完成其外围电路和单片机的接口电路,包括话筒和扬声器的电路设计。
3.2总体方案设计
语音芯片存储播放声音的基本工作方式为:
声音—模拟量—A/D—存储—D/A—模拟量—播放。
采用AD/DA方式的语音芯片外围电路比较复杂,声音质量也有一定的失真。
而存在一类语音芯片采用EEPROM存储方法,将模拟语音数据直接写入半导体存储单元中,不需加A/D和D/A变换电路,使用方便,且语音音质自然。
在我的设计中即采用这种模拟语音数据直接存储到语音芯片的设计。
以单片机为核心的语音录放系统的功能框图,如图2-1所示。
图3-1单片机语音录放系统框图
其中单片机最小系统完成单片机的基本特征,它包括时钟、电源、复位等部分。
如图3-2所示。
图3-2单片机最小系统框图
语音录放系统则选用专门语音录放芯片ISD2560芯片作为核心,结合外围话筒和麦克风来完成语音录放功能。
进行语音录放的操作如下:
按下开始键,启动录音,松开开始键,结束录音。
3.3元器件选择
本文所述系统主要器件包括单片机,语音芯片ISD2560等。
3.3.1单片机选择
我们采用AT89C52这款单片机。
3.3.2语音芯片的选取
目前市场上流行的语音芯片很多,从性价比的角度考虑,美国ISD公司的ISD系列语音芯片可谓一枝独秀。
ISD系列语音芯片具有以下优点。
1.采用模拟数据在半导体存储器直接存储的专利技术,即将模拟语音数据直接写入单个存储单元,不需经过A/D、D/A的转换。
2.内部集成了大容量的电可擦除只读存储器(EEPROM),不再需要扩展存储器。
3.控制简单,控制引脚与TTL电平兼容。
4.集成度高、使用方便。
5.能较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩所造成的量化噪声和失真现象。
图3-3ISD2560内部原理图
ISD2560内部原理图,如图3-3所示。
该系列芯片集成度很高,内部集成了高精度的时钟电路,故而无需外部配置晶振,录音应用电路也得到大大简化。
ISD2560可进行录、放两种操作。
录入时,语音信号经过换能器MIC转变为信号,该信号经过隔直电容去除直流分量后送入前置放大器,由于器件具有高输入阻抗,故耦合电容容量很小,可为0.17,微弱的电信号经过前置放大后由ANAOUT脚输出,经过隔直电容后送入ANAOUT脚,这种配置方式可以方便用户自行设计性能更加优良的前置放大器代替芯片内部已有的功能部件,另外ANAIN可作为线输入口,直接输入电声信号,既而信号进入自动增益AGC放大器,信号电平得到调理,使其符合存储电路的动态范围,AGC响应时间由连接在AGC脚的外界电阻、电容值确定。
为使得采样信号不产生失真,采样系统必须满足乃奎斯特采样定律。
ISD2560的采样频率8K,故实际应用中,为存储不失真音频信息,放大后的信号必须经过一个低通滤波器后方可送入存储单元,该滤波器为一五极点抗干扰滤波器,高频频限为3.4K,完全满足乃奎斯特定律,该器件典型带宽为3.4K。
语音音质非常好,调理完毕的信号在内部时钟的作用下以闭环控制形式送入模拟存序列列。
ISD2560内部原理图,如图3-3所示。
该系列芯片集成度很高,内部集成了高精度的时钟电路,故而无需外部配置晶振,录音应用电路也得到大大简化。
ISD2560可进行录、放两种操作。
录入时,语音信号经过换能器MIC转变为信号,该信号经过隔直电容去除直流分量后送入前置放大器,由于器件具有高输入阻抗,故耦合电容容量很小,可为0.17,微弱的电信号经过前置放大后由ANAOUT脚输出,经过隔直电容后送入ANAOUT脚,这种配置方式可以方便用户自行设计性能更加优良的前置放大器代替芯片内部已有的功能部件,另外ANAIN可作为线输入口,直接输入电声信号,既而信号进入自动增益AGC放大器,信号电平得到调理,使其符合存储电路的动态范围,AGC响应时间由连接在AGC脚的外界电阻、电容值确定。
为使得采样信号不产生失真,采样系统必须满足乃奎斯特采样定律。
ISD2560的采样频率8K,故实际应用中,为存储不失真音频信息,放大后的信号必须经过一个低通滤波器后方可送入存储单元,该滤波器为一五极点抗干扰滤波器,高频频限为3.4K,完全满足乃奎斯特定律,该器件典型带宽为3.4K。
语音音质非常好,调理完毕
图3-4闭环存储电路
被采样信号经采样电路取样保持,同时电子被泵入模拟存储单元,此时两者被送入比较器的比较端,当两者电平相等时则停止向EPROM中写入数据,这样模拟信息得到了存储。
4硬件电路设计
单片机实现语音录放的硬件电路由单片机芯片AT89C52和语音芯片ISD2560及它们的接口带你路构成。
电路实现的功能如下:
1.按下开始健,启动录音;松开开始健,结束录音。
注意,录音时间不能超过预先设定的每段语音的时间。
2.结束录音后,循环播放所录声音3次。
利用Protel进行电路设计需要二个步骤,如图4-1所示。
图4-1protel设计电路步骤图
4.1AT89C52单片机最小系统
单片机是实现语音录放的硬件设计的核心器件之一,由它控制语音芯片实现对声音的存储和播放。
该设计用Atmel公司的AT89C52作为单片机芯片,它完全能够
满足要求,而且极为常用,价格便宜,易于获取。
单片机最小系统如下图所示
图4-2单片机最小系统图
4.1.1AT89C52介绍
AT89C52功能管脚,如图3-3所示:
图4-3AT89C52引脚分布图
可知AT89C52单片机包括GND,VCC在内的40个引脚
4.1.2单片机的电源电路
在电源引脚并联一个0.1uf的小电容目的是:
滤波。
如图3-4所示。
图4-4电源电路
4.1.3AT89C52单片机的复位电路
AT89C52单片机在启动时需要复位,使CPU及各系统各部件处于确定的初始状态,并从出态开始工作。
如图4-5所示。
图4-5
复位电路
4.1.4AT89C52单片机时钟电路
AT89C52芯片内部有一个高增益反相放大器,用于构成振荡器,反相放大器的输入端为XTAL1。
输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。
电容C1和C2通常取22pf左右,可稳定频率并对振荡频率有微调作用。
震荡脉冲频率范围为0-24MHZ。
如图4-6所示。
图4-6时钟电路图
4.1.5录音/播放控制电路
用P1.0做录音播放控制电路,加阻值为1k的下拉电阻,当按键未按下时,P1.0为低电平;按键按下后为高电平。
如图4-7所示。
图4-7录音/播放控制电路
4.2语音芯片ISD2560电路
4.2.1ISD2560主要功能特性及引脚说明
根据上面的说明,语音芯片选用ISD公司的ISD2560共有3种封装形式:
32脚的TSOP封装、28脚的DIP封装和25脚的SOIC封装。
该设计选用SOID封装,其引脚分布,如下图4-8所示。
图4-8语音芯片ISD2560引脚分布示意图
由于ISD2560内置了若干种操作模式,因而可用最少的外围器件实现最多的功能。
具体操作模式如表4-1所示:
表4-1ISD2560语音芯片操作模式
模式
功能
典型应用
组合使用模式
M0
信息检索
快进通过信息
M4、M5、M6
M1
删除EOM
在最后一条信息结束处放EOM
M3、M4、M5、M6
M2
末用
保留
N/A
M3
循环
从0地址连续M6的多段信息
M1、M5、M6
M4
连续寻址
录∕放连续的多段信息
M0、M1、M5
M5
CE电平有效
允许暂停
M0、M1、M3、M4
M6
按键模式
简化外围电路
M0、M1、M3
4.2.2ISD2560部分原理图及说明
语音录放电路语音芯片ISD2560原理图;如图4-9所示。
图4-9语音芯片原理图
ISD2560芯片集成度高,内部EEPROM存储器单元均分为600行,存600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨100ms,此外,ISD2560还具备微控制器所需的控制接口,通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能。
数码录音机整体电路图,如图3-10所示。
图4-10数码录音机整体电图
4.3PCB图
由于要求最终实现实物演示,因而根据原理图画出如下图,将PCB图送至工厂加工成印制电路板,完成对应器件焊接,烧写程序后即可完成实物演示。
由于制版费较贵,加上元器件购买花销较高,因而实物演示等工作未能进行。
如图3-12所示。
图4-11语音录放电路的PCB图
5软件设计
单片机实现语音录放的软件设计较为简单,主要通过单片机对ISD2560的控制实现指定地址入口的录音和循环播放。
5.1程序流程
程序流程要实现下面过程:
“开始”键按下后,单片机控制PD、P/R引脚为低电平,并指定录音地址,启动录音过程。
在预先设定的时间内(<60s)结束录音,松开“开始”键,单片机控制P/R引脚回到高电平,即完成一段语音的录制。
之后打开外部中断0,指定放音地址,启动放音程序,每次放音结束时,EOM输出会触发单片机的外部中断0,经过适当的延时后,重新启动第二次放音,这样重复3次后关闭外部中断0,流程结束,等待下一次录音。
程序流程图如4-1所示:
图5-1语音录放系统程序流程图
5.2录音子程序流程图
“开始”键按下后,即系统上电后,系统初始化,然后判断开始键是否按下,如果按下则单片机控制PD,P/R引脚低电平,并指向录音地址,启动录音过程。
录音子系统程序流程图,如图4-2所示。
调用录音函数,录音函数为:
/*录音函数*/
Voidrecord(void)
{
CE=0;//片选有效
PD=0;//非节电模式
PR=0;//录音
}
当CE=0时芯片使能输入引脚,使能所有的录音操作。
当PD=0时使芯片开始工作,而进入非节电模式。
当PR=0时开始录音,录音时,由地址线提供起始地址,直到录音持续到CE或PD变高,或自动溢出。
在预定设定的时间内,(小于60s)结束录音,松开“开始”键单片机控制P/R引脚回到高电平,即完成一段语音的录音。
图5-2录音程序流程图
5.3放音子程序流程图
放音子程序流程图,如图5-3所示。
结束录音后,打开外部中断0,指定放音地址,启动放音程序,其放音函数为:
/*放音函数*/
Voidplayback(void)
{CE=0;//片选有效
PD=0;//非节电模式
PR=1;}//放音
当CE=0时芯片使能输入引脚,使能所有的放音操作。
当PD=0时使芯片开始工作,而进入非节电模式。
当PR=1时为高电平,这时选择放音,这时由地址输入提供其实地址,放音持续到EOM位标志。
图5-3放音系统流程图
结论
我设计的课题是语音播放器,经过几个多月的思考和准备,我已完成了老师规定的任务,通过做本设计,加深学习了AT89C52单片机的各项功能能,对ISD2560有了更深层次的了解,对C语言编写程序有了进一步的把握,我对我所做的语音播放器有如下总结:
单片机实现语音录放介绍了一种基于51单片机控制的语音录放系统,它采用ISD单片语音录放集成电路系列中的ISD2560实现语音的存储和播放,ISD2560采用直接电平存储技术,不仅省去了A/D、D/A转换器。
而且语音自然真实。
单片机实现语音录放主要表现在以下三点:
1、语音芯片ISD2560与单片机接口的电路设计。
2、ISD2560地址/模式输入脚的使用,特别是高2位A8、A9的使用。
3、控制脚PD、P/R和信息结尾标志输出脚EOM的使用。