固体录音机.docx
- 文档编号:25260763
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:41
- 大小:544.84KB
固体录音机.docx
《固体录音机.docx》由会员分享,可在线阅读,更多相关《固体录音机.docx(41页珍藏版)》请在冰豆网上搜索。
固体录音机
摘要
用单片机控制语音芯片,再把单片机和语音芯片嵌入到通信设备,智能仪器,娱乐设备,治安报警及儿童玩具中,就可做成语音播放的机器。
本文介绍了基于AT89S52单片机及ISD1760语音板为主要部件的语音录放电路的工作原理、硬件和软件的设计。
ISD1760系列工作电压为2.4到5.5V,单片录放时间26s至120s,音质好,适用于移动电话及其他便携式电子产品中。
芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口SPI送入。
论文概述了语音录放电路的原理,并且在介绍语音录放系统功能的基础上,提出了系统的总体构成。
针对录放系统的录音、放音部分的总体设计方案进行了论证。
进一步介绍了单片机AT89S52在系统中的应用,分析了系统各部分的硬件及软件设计与实现。
关键词:
ISD1760;AT89S52单片机;语音录放
Abstract
Withthesingle-chipmicrocomputercontrol,andthenmakethepronunciationchipmicrocontrollerandpronunciationchipembeddedincommunicationequipment,intelligentinstruments,securityalarmandchildren'stoys,socanmakeaspeechbroadcastmachine.
ThispaperintroducesISD1760basedonAT89S52singlechipcomputerandofthemainpartsofspeechplateastheworkingprincipleofvoicerecordingcircuitandthedesignofhardwareandsoftware.ISD1760seriesworkingvoltage,monolithic2.4Vto5.5V,recordingtime26to120seconds,timbre,suitableformobilephonesandotherportableelectronics.ChipdesignisbasedonalltheoperationmustbySPIinto.Thispapersummarizestheprincipleofvoicerecordingcircuit,andintroducesthefunctionofspeechonthebasisofrecordingsystem,putsforwardthegeneralstructureofthesystem.Recordingsystemfortherecording,playbackpartoftheoveralldesignschemeisdemonstrated.ThispaperintroducesmicrocontrollerAT89S52singleapplicationsinsystem,theapplicationsystemwereanalyzedeachpartofhardwareandsoftwarerealization.
Keywords:
ISD1760;AT89S52microcontroller;voicerecordingandplayback.
引言
语音,作为一种典型的非平稳随机信号,是人类交流信息最自然、最有效、最方便的手段,在人类文明和社会进步中起着重要的作用。
随着电子通信业的出现和计算机技术的发展,人们开始可以从数字信号处理的角度了解语音。
语音信号的研究可以从时域和频域两个方面进行。
其中时域的分析处理有两种方法:
一是进行语音信号分析,这属于小型处理的范畴,主要是通过信号的加减、时移、倍乘、卷积、求相关函数等来实现;另一种是生成和变换成各种调制信号,这属于非线性的范畴,主要是对信号平均累加器的动态范围进行压缩扩张,用门限方法对噪声的抑制。
对频域分析处理,即对信号的频率特性在频谱中加以分析研究,这拓展了信号分析的范围,是对不确定信号分析的主要方法。
随着计算机技术处理和信息技术的发展,语音交互已经成为人机交互的必要手段,而语音信号的采集处理是人机交互的前提和基础。
声卡是计算机对语音信息进行加工的重要部件,它具有对信号滤波、放大、采样保持、A/D和D/A转换等功能。
进入90年代以来,语音信号处理在实用化方面取得了许多实质性的进展。
一方面,对声音语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。
另一方面,为了语音识别使用化的需要,讲着自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题备受关注。
1绪论
1.1系统设计的意义
语音不仅是人与人之间进行信息交流最直接、最方便和最有效的工具,而且也是人与机器之间进行通信的重要工具。
1874年电话的发展可以认为是现代处理的开端。
电话的理论基础是尽可能不失真地传送语音波形。
这种“波形原则”几乎统治了其后整整一百年。
1939年产生了一种概念全新的语音处理技术,这就是著名的通道声码器技术。
声码器的理论基础是认为语音是由人的声带振动产生的生源(载波)受到运动的声道的控制(调制)而产生的,因而将载波和调制两部分分开来进行传送便可极大地压缩频带。
这一概念已经包含着其后出现的语音参数模型的基本思想。
40年代后期,研制成功了能够把语音信号的时变谱用语音表示出来的仪器——语音仪,为语音信号分析提供了一个有力的工具。
对于语音信号,数字处理比模拟处理具有更多的优点。
这是因为:
第一,数字技术能够完成许多很复杂的信号处理工作;第二,通过语音进行交换的信息本质上具有离散的性质,因为语音可以看成是因素的组合,这就特别适合于数字处理;第三,数字系统具有高可靠性、价廉、紧凑、快速等特点,很容易完成实时处理任务;第四,数字语音适合于在强干扰通信中传输,易于和数据一起在通信网中传输,也易于进行加密传输。
因此数字语音信号处理是主要研究方向。
单片机的应用无处不在,利用单片机控制语音的录放也多不胜举。
用单片机控制语音芯片,再把单片机和语音芯片嵌入到通信设备,智能仪器,治安报警及儿童玩具中,就可做成语音播放的机器,应用范围广泛。
用单片机控制语音芯片设计语音录放系统,该系统功能多,录放音音质好,外围电路简单。
1.2系统设计的目的
设计一个数字语音录放系统,可以应用于通讯设备、娱乐设备、智能仪表、治安报亭、语音报站、报数报价、语音讲解、语音记录、语音复读、教学仪器、智能玩具、电子礼品等领域。
要求放音质量好,用二极管显示工作状态。
系统具有较强的抗干扰能力,便于安装和扩展。
同时通过设计,提高学生综合运用模数电子技术、Protel99SE设计电子产品,KEILC51软件编程和查阅资料及撰写科技论文的能力。
1.3系统的主要工作方法
(1)收集整理相关资料和文献,熟悉单片机应用技术以及单片机外围电路的相关知识,并设计出总体方案。
(2)设计硬件原理图,绘制PCB图,焊接电路板,单片机和ISD1760的具体连接。
(3)利用keil技术编辑软件,结合单片机控制技术,实现录、放、快进、等功能。
并使用proteus仿真实现模数数模采集、存储、读取功能。
2单片机控制技术和开发环境介绍
2.1AT89S52单片机性能和引脚介绍
2.1.1概述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程
Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.1.2AT89S52单片机主要性能参数
1、与MCS-51单片机产品兼容;
2、8K字节在系统可编程Flash存储器;
3、1000次擦写周期;
4、全静态操作:
0Hz-33MHz;
5、三级加密程序存储器;
6、32个可编程I/O口线;
7、三个16位定时器/计数器;
8、八个中断源;
9、全双工UART串行通道;
10、低功耗空闲和掉电模式;
11、掉电后中断可唤醒;
12、看门狗定时器;
13、双数据指针;
14、掉电标识符
2.1.3引脚功能说明
图1AT89S52引脚图DIP封装图2AT89S52引脚图PLCC封装
2.2keil开发环境和建立工程
2.2.1keil简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
2.2.2keil工程建立
启动uVison3,点击“FileNew…”在工程管理器的右侧打开一个新的文件输入窗口,在这个窗口里输入一个源程序,注意大小写及每行后的分号,不要错输及漏输。
输入完毕之后,选择“FileSave”,给这个文件取名保存,取名字的时候必须要加上扩展名,一般C语言程序均以“.C”为扩展名,这里将其命名为mian.c,保存完毕后可以将该文件关闭。
Keil不能直接对单个的C语言源程序进行处理,还必须选择单片机型号;确定编译、汇编、连接的参数;指定调试的方式;而且一些项目中往往有多个文件,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译和连接等操作。
点击“Project->New Project…”菜单,出现对话框,要求给将要建立的工程起一个名字,这里起名为yuyin,不需要输入扩展名。
点击“保存”按钮,出现第二个对话框,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil支持的CPU很多,这里选择Atmel公司的89S52芯片。
点击ATMEL前面的“+”号,展开该层,点击其中的89S52,然后再点击“确定”按钮,回到主窗口,此时,在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,选中其中的“Add file to GroupSource Group1”,出现一个对话框,要求寻找源文件。
2.3ISD1760介绍
2.3.1性能简述和引脚图
ISD1700系列芯片是华邦公司新推出的单片优质语音录放电路,该芯
片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),
双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。
芯片内部
包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内
存等的全方位整合系统功能。
图3ISD1700引脚图
2.3.2芯片特点
·可录、放音十万次,存储内容可以断电保留一百年
·两种控制方式,两种录音输入方式,两种放音输出方式
·可处理多达255段以上信息
·有丰富多样的工作状态提示
·多种采样频率对应多种录放时间
·音质好,电压范围宽,应用灵活,物美价廉
2.3.3电特性
·工作电压:
2.4V-5.5V,,最高不能超过6V
·静态电流:
0.5-1μA
·工作电流:
20mA
·用户可利用震荡电阻来自定芯片的采样频率,从而决定芯片的录放时间和录放音质。
下表为ISD1700的参数表:
图4芯片的采样率
图5振荡电阻
2.3.4管脚功能说明
表1引脚说明
管脚名称
PDIP/SOIC
TSOP管脚
功能
VCCD
1
22
数字电路电源
/LED
2
23
LED指示信号输出
/RESET
3
24
芯片复位
MISO
4
25
SPI接口的串行输出。
ISD1700在SCLK下降沿之前的半个周期将数据放置在MISO端。
数据在SCLK的下降沿时移出
MOSI
5
26
SPI接口的数据输入端口。
主控制
芯片在SCLK上升沿之前的半个周期将数据放置在MOSI端。
数据在SCLK上升沿被锁存在芯片内。
此管脚在空闲时,应该被拉高
SCLK
6
27
SPI接口的时钟。
由主控制芯片产生,并且被用来同步芯片MOSI和MISO端各自的数据输入和输出。
此管脚空闲时,必须拉高
/SS
7
28
为低时,选择该芯片成为当前被控制设备并且开启SPI接口。
空闲时,需要拉高
VSSA
8
1
模拟地
AnaIn
9
2
芯片录音或直通时,辅助的模拟
输入。
需要一个交流耦合电容(典型值为0.1uF),并且输入信号的幅值不能超出1.0Vpp。
APC寄存器的D3可以决定Analn信号被立刻录制到存储器中,与Mic信号混合被录制到存储器中,或者被缓存到喇叭端并经由直通线路从AUD/AUX输出。
MIC+
10
3
麦克风输入+
MIC-
11
4
麦克风输入-
VSSP2
12
5
负极PWM喇叭驱动器地
VSSP1
13
9
正极PWM喇叭驱动器地
SP-
14
6
喇叭输出-
SP+
15
8
喇叭输出+
VCCP
16
7
PWM喇叭驱动器电源
AUD/
AUX
17
10
辅助输出,决定于APC寄存器的
D7,用来输出一个AUD或AUX输出。
AUD是一个单端电流输出,而AuxOut是一个单端电压输出。
他们能够被用来驱动一个外部扬声器。
出厂默认设置为AUD。
APC寄存器的D9可以使其掉电。
AGC
18
11
自动增益控制
/VOL
19
12
音量控制
ROSC
20
13
振荡电阻ROSC用一个电阻连接
到地,决定芯片的采样频率
VCCA
21
14
模拟电路电源
/FT
22
15
在独立芯片模式下,当FT一直为
低,Analn直通线路被激活。
Analn信号被立刻从Analn经由音量控制线路发射到喇叭以及AUD/AUX输出。
D0所控制。
该管脚有一个内部上拉设备和一个内部防抖动设计,当在SPI模式下,SPI无视这个输入,而且直通线路被APC寄存器的,允许使用按键开关来控制开始和结束。
/PLAY
23
16
播放控制端
/REC
24
17
录音控制端
/ERASE
25
18
擦除控制端
/FWD
26
19
快进控制端
RDY/INT
27
20
一个开路输出。
Ready(独立模式):
该管脚在录音,放音,擦除和快进操作时保持为低,保持为高时进入空闲状态
Interrupt(SPI模式):
在完成SPI命令后,会产生一个低信号的中断。
一旦中断消除,该脚变回为高。
VSSD
28
21
数字地
2.3.5独立按键工作模式
ISD1760的独立按键工作模式录放电路非常简单,而且功能强大。
不仅有录、放功能,还有快进、擦除、音量控制、直通放音和复位等功能。
这些功能仅仅通过按键就可完成。
录音操作:
按下REC键,/REC管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。
录音结束后,录音指针自动移向下一个有效地址。
而放音指针则指向刚刚录完的那段语音地址。
放音操作:
放音操作有两种模式,分别是边沿触发和电平触发,都由/PLAY管脚触发。
A)边沿触发模式:
点按一下PLAY键,/PLAY管脚电平变低便开始播放当前段的语音,并在遇到EOM标志后自动停止。
放音结束后,播放指针停留在刚播放的语音起始地址处,再次点按放音键会重新播放刚才的语音。
在放音期间,LED灯会闪烁直到放音结束时熄灭。
如果在放音期间点按放音键会停止放音。
B)电平放音模式:
如果一直按住PLAY键,使/PLAY管脚电平持续为低,那么会将芯片内所有语音信息播放出来,并且循环播放直到松开按键将/PLAY管脚电平拉高。
在放音期间LED闪烁。
当放音停止,播放指针会停留在当前停止的语音段起始位置。
快进操作:
点按一下FWD按钮将/FWD端拉低,会启动快进操作。
快进操作用来将播放指针移向下一段语音信息。
当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。
当下降沿来到/FWD端时,快进操作还要决定于芯片当时的状态:
A)如果芯片在掉电状态并且当前播放指针的位置不在最后一段,那么指针会前进一段,到达下一段语音处。
B)如果芯片在掉电状态并且当前播放指针的位置在最后一段,那么指针会返回到第一段语音处。
C)如果芯片正在播放一段语音(非最后一段),那么此时放音停止,播放指针前进到下一段,紧接着播放新的语音。
D)如果芯片正在播放最一段语音,那么此时,放音停止,播放指针返回到第一段语音,紧接着播放第一段语音。
擦除操作:
擦除操作分为单段擦除和全体擦除两种擦除方式,区别如下:
A)单个擦除:
只有第一段或最后一段语音可以被单个擦除。
点按一下ERASE健将/ERASE管脚拉低,这时具体的擦除情况要看播放指针的状态:
·如果芯片空闲并且播放指针指向第一段语音,则会删除第一段语音,播放指针指向新的第一段语音(执行擦除操作前的第二段)
·如果芯片空闲并且播放指针指向最后一段语音,则会删除最后一段语音,播放指针指向新的最后一段语音(执行擦除操作前的倒数第二段)
·如果芯片空闲并且播放指针指向没有指向第一或最后一段语音,则不会删除任何语音,播放指针也不会被改变
·如果芯片当前正在播放第一段或最后一段语音,点按下ERASE键会删除当前语音。
B)全体擦除:
当按下ERASE键将/ERASE管脚电平拉低超过2.5秒钟,会触发全体擦除操作,删除全部语音信息。
复位操作:
如果用RESET控制此管脚,建议/RESET管脚与地之间连接一个0.1μF
电容。
当/RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。
音量操作:
点按一下VOL键将/VOL管脚拉低会改变音量大小。
每按一下,音量会减小一档,再到达最小档后再按的话,会增加音量直到最大档,如此循环。
总共有8个音量档供用户选择,每一档会改变4dB。
复位操作会将音量档放在默认位置,即最大音量。
FT直通操作:
将/FT管脚与GND短接,持续保持在低电平会启动直通模式。
出厂设定的是在芯片空闲状态,直通操作会将语音从Analn端直接通往喇叭端或AUD输出口。
在录音期间开启FT功能,会同时录下Analn进入的语音信号。
3系统总体设计
3.1硬件电路设计
本文的数字语音录放系统所采用的是录放时间为26s至120s的ISD1760语音芯片。
该语音录放电路主要由单片机AT89S52,ISD1760构成,本系统可以主要分为三部分:
单片机控制部分、录音部分和放音部分。
控制部分则主要由单片机AT89S52构成,包含必要的按键电路、复位电路和指示电路等外围电路。
3.1.1硬件总体电路图
图11原理图
3.1.2各电路图分解
主控电路:
采用的是AT89S52组建的最小系统。
用来控制ISD1760的录放音操作。
图12主控电路
录音电路:
图13录音电路
放音电路:
图14放音电路
3.2软件设计
3.2.1ISD1760的SPI模式
(1)SPI协议总述:
ISD1700系列的SPI串行接口操作遵照以下协议:
1.一个SPI处理开始于/SS管脚的下降沿。
2.在一个完整的SPI指令传输周期,/SS管脚必须保持低电平。
3.数据在SCLK的上升沿锁存在芯片的MOSI管脚,在SCLK的下降
沿从MISO管脚输出,并且首先移出低位。
4.SPI指令操作码包括命令字节,数据字节和地址字节,这决定于1700的指令类型
5.当命令字及地址数据输入到MOSI管脚时,同时状态寄存器和当前行地址信息从MISO管脚移出。
6.一个SPI处理在/SS变高后启动。
7.在完成一个SPI命令的操作后,会启动一个中断信息,并且持续保持为低,直到芯片收到CLR_INT命令或者芯片复位。
(2)SPI处理的格式:
图6描述了SPI处理的格式。
指令数据以数据队列的形式从MOSI移入芯片,第一个移入的字节是命令字节,这个字节决定了紧跟其后的数据类型。
与此同时,芯片状态以及当前行地址信息以数据队列的方式通过MISO被返给主机。
图6SPI协议的数据格式
A)MOSI数据格式:
MOSI是SPI接口的“主机输出从机接收端”。
数据在SCLK的上升沿锁存进芯片,并且低位首先移出。
1760的SPI指令格式依赖于命令的类型,根据不同类型的命令,指令可能是两个字节,也可能多达7个字节。
MOSI的一般序列由下表列出,送到芯片的第一个字节是命令字节,这个字节确定了芯片将要完成的任务。
其中命令字节的C4确定LED功能是否被激活。
当C4=1,LED指示被开启,功能开启后,每一个SPI指令启动后,LED灯会闪亮一下。
在命令字节之后,与之相关联的数据字节有可能包括对用来存储信息进行精确操作的起始和结束地址。
图7MOSI数据顺序
多数的指令为两个字节,需要地址信息的指令则为七个字节。
例如LD_APC指令为三个字节,在其第二和第三字节是指令的数据字节。
有两种11位地址的设置,即 S0>和 E0>,作为二进制地址的存放位置。 芯片存储地址从第一个提示音的地址0X0000开始计算,但是0x000-0x00F地址平均保留给了4个提示音。 从0x010地址开始,才是非保留的存储区域,即真正的录音区。 B)MISO数据格式: MISO即1760的“主机接收从机发送”管脚,数据在SCLK的下降沿从MISO管脚输出,并且低位首先移出。 对应每一个指令,MISO会伴随着指令码的输入,在前两个字节返回芯片当前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 固体 录音机
![提示](https://static.bdocx.com/images/bang_tan.gif)