基于单片机的语音播报器设计1.docx
- 文档编号:10098502
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:27
- 大小:256.65KB
基于单片机的语音播报器设计1.docx
《基于单片机的语音播报器设计1.docx》由会员分享,可在线阅读,更多相关《基于单片机的语音播报器设计1.docx(27页珍藏版)》请在冰豆网上搜索。
基于单片机的语音播报器设计1
唐山工业职业技术学院
毕业设计说明书
设计题目:
单片机控制的语音录放器
学生姓名:
班级08应电11
专业:
应用电子技术
设计指导教师___于东东___________
设计辅导教师____于东东_____________
(完成日期)2011年4月12日
前言
随着人类社会的不断进步,随着语音芯片的普及,语音录放被广泛应用于车站报站器,语音型数字万用表,出租车语音报站器,排队机等,并且面向家庭个人使用的方向发展,更加人性化。
随着电子技术的广泛应用,其自动化程度越来越高,使用范围越来越广,前景十分喜人。
自动语音提示技术是计算机语音处理技术的一种应用,属于语音再生合成技术范畴。
录放系统具有电路简明、应用方便、单片录放、不怕掉电、音色纯正、性价比高等特性,与此相关的语音系统已广泛地用于通信、工控、医疗、报警示讯等领域。
同时,随着大规模语音处理集成电路的发展,在传统的控制领域,语音提示的应用也越来越广泛。
语音是人类最自然、方便、快捷的交流方式,让人和机器能够通过自然语音进行交流是人们长期以来的梦想。
随着单片机的技术的日益发展,人们已经不再满足于键盘输入,屏显输出这样传统的输入/输出方式,希望拥有更友好的人机界面,更便捷的操作方式。
具有语音功能的单片机系统于是应运而生,而且得到了广泛的应用。
近年来计算机在各行业的日益普及应用,给各行业带来了崭新的面貌。
与此同时用户逐步对各种计算机应用系统提出了更高的要求,他们希望自己的系统有更高的自动化程度和更方便的人机界面。
语音技术的进展给这种应用需要提供了一种有力的技术支持,逐渐被广大用户所接受,并广泛用于各种需要语音响应的场合。
智能仪器、仪表、监控设备、工业控制系统等都有这种需求。
所以研究语音录放器对生产,生活都有极其重要的意义。
语音芯片的发展是极其迅速的,语音IC有很多种类,随着技术的发展,新产品不断涌现,原来可望而不可及的昂贵品种也能进入廉价的市场领域,原来设计控制都极为复杂的品种也随着集成技术的发展变得非常简单,因此,语音IC领域充满了生机和活力。
1、怕断电且语声的存储、保存需要比较大的电流的语声IC。
2、怕断电且语声保存需要很小的电流的语声IC。
3、不怕断电的语声IC,像一些数码录音笔,它以FLASHRAM闪烁存储器IC为介质,完全断电后语声还能保存十年以上。
1总体方案设计
1.1本设计的主要任务要求
根据设计要求,提出基于单片机的语音播放器的硬件电路设计方案,并应用Peotel软件完成硬件电路原理图设计。
通过对单片机的编程开发可实现语音的录放等基本功能。
具体包括如下几个部分:
1.学习单片机的工作原理,并应用protel软件设计出单片机的最小系统和语音系统的控制电路,使其能可靠工作。
2.学习有关语音方面的相关知识,拟采用集成语音芯片来实现语音的录放的功能。
要求掌握该芯片的工作原理,完成其外围电路和与单片机的接口电路,包括话筒和扬声器的电路设计。
3.学习C程序设计语言,对单片机进行编程开发。
并完成仿真和调试,实现语音播放器的基本功能。
1.2总体设计方案
为了实现语音录放所需的功能,即按下开始键,启动录音,松开开始键,结束录音。
结束录音后,循环播放所录音。
而且为了使语音录放器的音质好,功能强,实验运行效果较好,使用起来也很简单。
所以本设计采用的设计框图如图1.1所示:
图1.1总体设计框图
由上面的框图可知:
本设计框图包括,按键,单片机,语音芯片,话筒和扬声器。
其中单片机为本设计的控制核心,它控制语音芯片,实现对声音的存储和播放。
语音芯片实现对语音的录入和播放。
2硬件电路设计
2.1微处理器的选取
近年来,随着科学技术的发展,微型计算机技术日益发展,已经在许多领域得到了广泛的应用。
随着集成电路工艺的发展,出现了单片机、DSP,ARM等多种单片机。
DSP:
它从16位~32位,内部采用哈佛结构,特别适合数据处理。
其中16位DSP适合中高级工控到简单语音/图片(不含视频)处理;其中32位DSP适合复杂语音/图片/视频处理。
ARM:
是32位单片机,由于结构和计算速度的原因,目前适合做事务处理或者中低端应用,从中高级工控到简单语音/图片(不含视频)处理。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的发展方案。
51单片机虽然和DSP,ARM相比处理速度和运算速度上都比较慢,但它的体积小、质量轻、价格便宜,它的速度可以满足本次实验的要求,所以我们采用AT89C51这款单片机。
AT89C51内部原理图如2.1图所示:
图2.1AT89C51单片机内部原理图
2.2语音芯片的选取
目前市场流行的语音芯片有很多,从性价比的角度来考虑,美国ISD公司的ISD系列语音芯片可谓是一只独秀。
ISD系列语音芯片具有以下优点:
一.采用模拟量数据存储在半导体存储器直接存储的专利技术,即将模拟量数据直接写入单个存储单元,不需要经过A/D,D/A转换。
二.内部集成了大容量的EEPROM,不再需要扩展存储器。
三.控制简单,控制引脚与TTL电平兼容。
四.集成度高,使用方便。
五.能较好的真时再现语音的自然效果,避免了一搬固体语音电路的因为量化和压缩所造成的量化噪声和失真现象。
因此本例选用ISD公司的语音芯片ISD2560。
ISD2560的录音时间为60秒.ISD2560采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPROM单元中,因此能够非常真实,自然得再现语音,音乐,音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。
ISD2560内部包括前置放大器,内部时钟,定时器,采样时钟,滤波器,自动增益控制,逻辑控制,模拟收发器,解码器和480k字节的EEPROM。
ISD2560内部原理图如图2.2所示:
图2.2ISD2560内部原理图
由内部框图可见该系列芯片集成度很高,内部集成了高精度的时钟电路,故而无需外部配置晶振,其应用电路也得到大大简化。
ISD2560可进行录、放两种操作。
录入时,语音信号经过换能器MIC转变为电信号,该信号经过隔直电容去除直流分量后送入前置放大器,由于器件具有高输入阻抗,故耦合电容容量很小,可为0.17,微弱的电信号经过前置放大后由ANAOUT脚输出,经过隔直电容后送入ANAOUT脚,这种配置方式可以方便用户自行设计性能更加优良的前置放大器代替芯片内部已有的功能部件,另外ANAIN可作为线输入口,直接输入电声信号,既而信号进入自动增益AGC放大器,信号电平得到调理,使其符合存储电路的动态范围,AGC响应时间由连接在AGC脚的外接电阻、电容值确定。
为使得采样信号不产生失真,采样系统必须满足奈奎斯特采样定律。
ISD2560的采样频率8K,故实际应用中,为存储不失真音频信息,放大后的信号必须经过一个低通滤波器后方可送入存储单元,该滤波器为一五极点抗干扰滤波器,高频频限为3.4K,完全满足奈奎斯特定律,该器件典型带宽为3.4K。
语音音质非常好。
调理完毕的信号在内部时钟的作用下以闭环控制形式送入模拟存储阵列。
如2.3图所示:
图2.3闭环存储电路
被采样信号经采样电路取样保持,同时电子被泵入模拟存储单元,此时两者被送入比较器的比较端,当两者电平相等时则停止向EPROM中写入数据,这样模拟信息得到了存储。
在器件的放音模式下,录入的模拟电压在取样脉冲的作用下,顺序的从模拟矩阵中读出并恢复为原始波形,经五极点平滑滤波器后入混合器,以便与外界其他信号混合,而后送入功率放大器,并由SP+,SP-端输出,可直接驱动扬声器。
ISD2560应用电压:
单5V供电
录/放时间:
60S
寻址空间:
1024位
最多语音分段:
600支持OVF溢出
支持节电模式:
录放操作周期外电流仅为0.5uA
综合本设计的设计方案可知:
主要的硬件电路有单片机最小系统和语音模块的电路及其外围电路,及其接口电路。
其中单片机最小系统包括电源电路,复位电路和时钟电路。
所以根据上面的内容,可以将本例的功能硬件模块划分为:
单片机最小系统:
系统的控制电路。
语音录放电路:
包括语音芯片的外围电路和单片机的接口电路。
软件部分用C语言编写程序,单片机程序控制语音芯片的正常工作。
并且利用伟福仿真器对单片机进行编程开发,仿真和调试。
2.3AT89C51单片机最小系统
2.3.1AT89C51引脚分布图及管脚说明
图2.489C51单片机引脚结构图
由上图可知89C51单片机共有包括GND,VCC在内的40个引脚下面着重介绍几个重要的引脚。
P0口由一个输出锁存器,2个三态级输入缓冲器和输出驱动电路及控制电路组成。
驱动电路有上拉场效应管FETT1和驱动场效应管FETT2组成。
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口是一个准双向口,用作I/O口。
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口比P1口多了一个MUX开关和转换开关控制部分。
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口是一个多功能端口。
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器读选通)
P3.7/RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG为地址锁存允许信号端。
当89C51单片机上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率的六分之一。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
/PSEN为程序存储允许输出信号端。
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
XTAL2接外部晶体和微调电容的一端。
在AT89C51片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。
若采用外部时钟电路,则该引脚悬空。
要检查AT89C51的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。
XTAL1接外部晶体和微调电容的另一端。
在片内,它是振荡电路反相放大器的输入端。
在采用外部时钟时,该引脚输入外部时钟脉冲。
2.4ISD2560语音芯片引脚功能
ISD2560共有三种封装形式:
32引脚的TSOP封装,28引脚的DIP封装和28引脚的SOIC封装。
本设计选用SOIC封装,其引脚分布如图2.5所示:
图2.5ISD2560引脚分布图
AO/MO-A6/M6,A7-A9(1-10引脚):
地址线/模式输入。
共有1024种组合状态。
最前面的600个状态作为状态内部存储器的寻址用,最后256个状态作为操作模式。
当A8或A9有一个为零时,作为地址线,作为当前录音/放音操作的起始地址,地址端直用作输入,不输出操作过程中的内部地址信息,地址输入在CE的下降沿被锁存。
当A8和A9均为1时,为模式输入,共有6种操作模式,由M0-M6决定,允许多种模式同时存在。
SP+,SP-(14,15引脚):
扬声器输出。
可驱动16欧以上的扬声器(内存放音时功率为12.2mW,AUXIN放音是功率为50mW)。
ISD2500系列的所有的器件在芯片上都有一个差分扬声器驱动器。
扬声器输出端在录音和节电模式是保持为VSSA电平,因此多个ISD2500系列器件同时使用时,它们的扬声器输入端不能并接。
MICIN(17引脚):
话筒输入引脚。
麦克的输入通过此引脚将信号送至片内的前置放大器,片内自动增益控制电路(AGC)将此前置放大器的增益控制在-15—24dB。
MICREF(18引脚):
话筒参考输入引脚。
此引脚是前置放大器的反向输入,当以差分形式连接话筒时,可减小噪声,提高共模抑制比。
AGC(19引脚):
自动增益控制引脚。
AGC可动态调整前置增益以补偿话筒输入
电平的宽幅变化,使得录制变化很大的音量(从耳语道喧嚣声)时失真都保持最小。
响应时间取决于该端内置的5千欧电阻和从该端到VSSA端所接电容的时间常数。
ANAIN(20引脚):
模拟输入引脚。
此引脚为芯片录音信号输入端。
对话筒输入来说,应将ANAOUT引脚通过外接电容连至此引脚,该电容和本端的3千欧输入阻抗决定了芯片频带的附加低端截至频率。
ANAOUT(21引脚):
模拟输出引脚。
此引脚为前置放大器的输出,其前置电压增益取决于AGC引脚的电平。
CE(23引脚):
芯片使能输入引脚,低电平有效。
此引脚为低电平使能所有的录音和播放操作。
芯片在该引脚的下降沿和锁存地址线和P/R引脚的状态。
另外,此引脚在模式6也有特殊的意义。
PD(24引脚):
节电控制引脚。
此引脚变高后可使芯片停止而进入节电状态。
芯片发生溢出,即OVF引脚输出低电平后,应将此引脚变高以将地址指针复位到录音/放音空间的开始位置。
EOM(25引脚):
信息结尾标志输出引脚,低电平有效。
EOM标志在录音时由芯片自控插入到该信息段的结尾。
当放音遇到EOM时,此引脚输出低电平脉冲。
另外,ISD2560芯片内部会自动检测电源电压以维护信息的完整性,当电压低于3.5V时此引脚变低,此时芯片只能放音。
在模式6状态下,可用来驱动LED,以指示芯片当前的工作状态。
P/R(27引脚):
录音/放音模式选择引脚。
此引脚在CE的下降沿锁存。
高电平选择放音,低电平选择录音。
录音时,由地址线提供起始地址,直到录音持续到CE或PD变高,或内存溢出;如果是前一种情况,芯片将自动在录音结束处写入EOM标志。
放音时,由地址输入提供起始地址,放音持续到EOM标志。
2.5语录音/放音电路的语音芯片ISD2560的原理图
图2.6语录/放音电路的语音芯片ISD2560的原理图
图2.6中U2为语音芯片ISD2560,SP和MP分别为扬声器和话筒。
U2的外围电路图中已经详细给出,包括具体的电阻和电容的数值。
由于ISD2560是数模的混合芯片,因此对数字信号和模拟信号的处理是PCB设计需要着重考虑的问题。
在芯片内部使用不同的模拟地和数字地,模拟电源和数字电源,他们分别通过VSSA,VSSD,VCCA和VCCD引出,VSSA,VSSD两引脚最好通过低电阻抗通路连接到平面;VCCA和VCCD最好也分别走线,并应尽可能在靠近供电端处相连,电源脚附近的去耦电容应尽量靠近芯片。
2.6语音录放电路的单片机原理图
图2.7语音录放电路的单片机电路图
在图2.7中,UI为单片机芯片AT89C51,工作于11.0592MHz的时钟。
单片机的P0端口和P2.0、P2.1引脚提供语音芯片ISD2560的地址/模式输入,通过P2.1和P2.0引脚,单片机可以配置ISD2560操作模式。
单片机的P1.5引脚控制语音芯片ISD2560的录音/放音模式的选择,低电平置ISD2560为录音状态,高电平置ISD2560为放音状态。
单片机的P1.6引脚和ISD2560的节电控制输入相连,单片机通过此引脚可以控制芯片的开关。
单片机的P1.7引脚用于控制语音芯片的片选,低电平时选中芯片。
单片机的INT0引脚,P1.4引脚和ISD2560DE的EOM标志输出相连,EOM标志在录音时由芯片自动插入到录音信息的结尾处,放音遇到EOM时,会产生低电平脉冲(约12.5ms)触发单片机中断,单片机必须在检测到此输出的上升沿后才播放新的录音,否则播放的语音就不连续,而且会产生啪啪声。
2.7扬声器和话筒的电路
扬声器输出(SP+、SP-):
可驱动16Ω以上的喇叭(内存放音时功率为12.2mWAUX1N放音时功率为50mW)。
单端输出时必须在输出端和喇叭间接耦合电容而双端输出则不用电容就能将功率提高至4倍。
话筒输入(MIC):
该端连至片内前置放大器。
片内自动增益控制电路(AGC)可将增益控制在-15-24dB。
外接话筒应通过串联电容耦合到该端。
耦合电容值和该端的10KΩ输入阻抗决定了芯片频带的低频截止点。
话筒参考(MICREF):
该端是前置放大器的反向输入。
当以差分形式连接话筒时,可减小噪声,并提高共模抑制比。
3软件设计
3.1ISD2560录放音软件设计
录音时,按下录音键,单片机通过口线设置语音段的起始地址,再使PD端、P/R端和CE端为低电平启动录音;结束时,松开按键,单片机又让CE端回到高电平,完成一段语音的录制。
同样的方法可录取第二段、第三段…….。
特别值得注意的是,录音时间不能超过预先设定的每段语音的时间。
放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。
再将P/R端设为高电平,PD端设为低电平,并让CE端产生一负脉冲启动放音,这时单片机只需等待ISD2560的信息结束信号,即EOM的产生。
信号为一负脉冲,在负脉冲的上升沿,该段语音才播放结束,所以单片机必须要检测到EOM的上升沿才能播放第二段,否则播放的语音就不连续,而且会产生啪啪声,这一点在编制软件时一定要注意。
具体的软件设计和录放音时序图见表3.1和图3.1和图3.2所示。
表3.1ISD2560软件设计地址表
图3.1ISD语音芯片放音时序图
图3.2ISD2560语音芯片录音时序图
3.1.1ISD2560操作模式
由于ISD2560内置了若干操作模式,因而可用最少的外围器件实现最多的功能。
具体的操作模式见表3.2。
表3.2ISD2560语音芯片操作模式图
模式
功能
典型应用
组合使用模式
M0
信息检索
快进通过信息
M4,M5,M6
M1
删除EOM
在最后一条信息结束处放EOM
M3,M4,M5,M6
M2
未用
保留
N/A
M3
循环
从0地址连续放音
M1,M5,M6
M4
连续寻址
录音/放音连续的多段信息
M0,M1,M5
M5
CE电平有效
允许暂停
M0,M1,M3,M4
M6
按键模式
简化外围电路
M0,M1,M3
操作模式可有微控制也可由硬件实现。
使用操作模式要注意两点:
所有的操作最初都是从0地址(即存储空间的起始端)开始。
后续的操作根据选用的模式可从其它地址开始。
但是,电路由录音或放音转录音(M6模式除外),或都执行了掉电周期后,地址计数器将复位为0.
当CE变低且最高两地址为同位高时,执行操作模式。
这种操作模式将一直有效,知道CE再次由高变低,芯片重新锁存当前的地址/模式引脚电平并执行相应的操作为止。
3.2分段录放音
2500系列最多可分为600段,只要在分段录/放操作前(不少于300纳秒),给地址A0-A9赋值,录音及放音功能均从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志(EOM);而放音芯片遇到EOM标志即自动停止放音。
2500系列地址空间是这样分配的:
地址0-599作为分段用(见表3.3),地址600-767来使用,地址768-1023为工作模式选择。
表3.3ISD2560地址空间分配图
3.3程序流程图
本设计主要通过单片机对ISD2560的控制实现指定地址入口的录音和循环播放。
程序要实现下面的过程:
“开始”键按下后,即系统上电后,系统初始化,然后判断开始键是否按下,如果按下则单片机控制PD,P/R引脚低电平,并指向录音地址,启动录音过程。
调用录音函数,录音函数为:
/*录音函数*/
Voidrecord(void)
{
CE=0;//片选有效
PD=0;//非节电模式
PR=0;//录音
}
当CE=0时芯片使能输入引脚,使能所有的的录音操作。
当PD=0时使芯片开始工作,而进入非节电模式。
当PR=0时开始录音,录音时,由地址线提供起始地址,直到录音持续到CE或PD变高,或自动溢出。
在预先设定的时间内,(小于60s)结束录音,松开“开始”键单片机控制P/R引脚回到高电平,即完成一段语音的录制。
之后打开外部中断0,指定放音地址,启动放音程序,其放音函数为:
*放音函数*/
Voidplayback(void)
{CE=0;//片选有效
PD=0;//非节电模式
PR=1;}//放音
当CE=0时芯片使能输入引脚,使能所有的的放音操作。
当PD=0时使芯片开始工作,而进入非节电模式。
当PR=1时为高电平,这时选择放音,这时由地址输入提供起始地址,放音持续到EOM位标志。
每次放音结束时,EOM输出会触发单片机的外部中断0,经过适当的延时后,重新启动第二次放音,这样重复三次后关闭外部中断0,流程结束,等待下一次录音。
程序流程如图3.3所示:
N
Y
N
Y
图3.3程序流程图
结论
我设计的课题是语音录放器,经过几个多月的思考和准备,我已经完成了老师规定的任务。
通过做本设计,我熟悉了Protel软件,基本上学会其使用方法。
更加深入的学习了AT89C51单片机的各项功能。
对ISD2560有了更深层次的了解。
对C语言编写程序有了进一步的把握。
我所做的语音录放器有如下总结:
89C51单片机虽然和DSP,ARM相比处理速度和运算速度上都比较慢,但它的体积小、质量轻、价格便宜,容易获取。
它的速度可以满足本次实验的要求,所以我采用AT89C51这款单片机的时候很方便。
ISD25
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 语音 播报 设计