版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的数字语音录音存储系统设计【摘要】本论文主要讲述了数字化语音存储系统的设计,以及如何对声音的采集和音频进行处理,并给出一种基于STC89C52单片机为核心控制芯片来实现简易数字信号存储与回放功能。该设计包括硬件电路模块,软件模块两个大的模块。本文首先对目前语音录放系统的研究背景、进展等现状进行分析,然后提出了以STC89C52单片机和ISD4004语音芯片为硬件主体,按键模块、LCD1602显示模块、LM386语音功放模块、稳压模块等外围模块的数字化语音存储系统解决方案。软件模块则由主程序的设计、录放音程序的设计以及按键程序的设计。本设计可以实现录放4段总时长为8分钟音频,并且具有掉电保护,音量大小可调的功能,并在日常生活中有一定的实用性。关键词:数字化语音存储系统;STC89C52;ISD4004目录第一章前言 -第一章前言1.1研究背景随着科技的飞速发展,人们的生活越来越智能化,生活质量普遍提高的同时对生产效率的要求也逐步提高。而智能仪器仪表和工业控制系统中语音录放系统占了一个极为重要的地位,它不仅可以使机器变得更加智能,还可以为人们的操作提供便利,这样既可以提高生产效率,也可以使操作者的门槛降低,为社会上更多人提供就业机会。当今社会把语音作为服务手段的行业层出不穷,比如电脑语音时钟、语音型数字万用表、移动手机智能语音系统、电脑智能语音系统、医院智能叫号机、语音监控报警系统、交通智能语音报站系统、语音监控报警系统以及卫星导航系统等。语音系统出现在我们生活中的每个角落,也可以说它是社会生活与生产中不可缺少的东西,它的发展也是社会进步的必然结果,我们都知道电子系统需要建立在硬件系统之上,语音系统也不例外,它的控制核心在于单片机。单片机具有体积小、功耗低、控制功能强、拓展灵活、使用方便、效率高和微型化等优点,它已然渗透到我们生活的各个领域,比如汽车的导航、安全、娱乐系统,现在好多汽车无法出厂大多都是因为芯片短缺的问题,可见单片机是和我们生活息息相关的。而军事领域的各类导航系统、各工厂里的自动化实时控制和数据处理系统、计算机网络通讯与数据传输系统、我们常用的各种IC卡、全自动洗衣机系统等都体现了单片机的强大控制能力。言归正传,数字语音录放技术是利用数字化技术对语音信号进行采集、处理,然后将语音信号转换成数字信号存储在一些存储设备中,在需要时再将数字信号转换成语音信号输出的过程。相对而言,数字设备比模拟设备更易于集成、小型化、成本低、稳定、操作简便等优点。从而使数字语音录放系统在各个领域都有着广泛的应用。例如对讲机、复读机、监控环境中的语音采集系统,都是数字语音录放系统的典型应用。语音系统最重要的一个环节就是对语音信号的处理,比较常用的方法就是采用滤波器处理接收到的模拟语音信号,再通过A/D转换将其转换为数字信号,由单片机控制储存在储存器中。当需要信号输出时,使信号在单片机的控制下从存储器中调出,经D/A转换器转换成模拟信号,再通过I/V变换成电压信号,滤波后通过功放将语音信号输出。但这样做的缺点使输出不够稳定,语音信号会出现杂音或是失真等情况,这也是模拟电路不可避免的缺点。为了解决这个问题,我们可以通过选用专门的语音芯片,利用它模拟信号直接存储技术来解决。语音芯片既可以很方便的与单片机系统相结合,它的体积和质量也能符合单片机系统的要求,所以基于单片机和语音芯片的语音系统应运而生。1.2国内外研究现状对比近几年来,语音信号处理技术的发展可谓十分迅速,而新技术的出现也为语音录放系统指引了新的方向。此项技术发展得也相对成熟一些,对语音信号的前期采集、中期的处理从之前的对波形编码和压缩转变为现在的参数编码和压缩,这种方案大大减少了所需储存的数据,节省了硬件的储存空间。举个例子,原始语音段一般都是采用8KHz抽样,16bits的线性PCM编码进行采集,在系统中就直接将采集后的数据进行存储,但采用参数编码对采集后的数据进行压缩的话,储存量就会大大的减少,如果需要恢复语音时就可利用编码后的参数进行合成,这样可以大幅度的提高语音空间的利用率。目前比较典型的语音芯片从早些的ISD2560,ISD1420到现在的ISD4004、ISD1700。这些ISD系列时由美国ISD公司研发的专业语音处理芯片,它采用模拟信号直接存储技术,将声音信号直接写入储存单元,并不需要A/D或D/A转换,所以采用ISD芯片可以很大限度的提高语音的真实度和质量,可避免因一般固体语音电路的量化和压缩所导致的量化噪声和失真的情况。ISD芯片的功能也十分强大,它可以即录即放、数据掉电保存、10万次的擦写寿命、手动操作和CPU控制兼容、可多片级联、无需开发系统等,给我们课题的研究提供了极大的便利。如今市场上有将STC89C52单片机与ISD语音芯片组合成的语音系统,用串口通信,芯片中用一些常用的语音词汇,用户不需要了解语音的工作原理,只需要通过串口按一定协议发送代码就可以发送语音。1.3主要研究内容本课题的主要研究内容是要通过单片机来完成人机交互和声音的采集、编码、解码,并以单片机为控制核心实现语音存储与回放系统。为达成本次研究目标,需要准备以下几个方面的工作:1.在C语言的基础上研究语音存储与回放的代码。2.确定单片机系统的构成,研究音质的好坏和录音时间长短。3.科学规划电路,做出能实现数字语音的存储与回放的成品。4.通过对单片机C语言的学习,在单片机上实现数字存储与回放系统的设计。简而言之,本次设计就利用单片机和语音芯片来实现一个录音放音系统。对于此系统的最基本的要求便是可以录音、播放,重复录音以及播放要求。通过大量资料的查阅,我发现STC89C52该款单片机资源丰富,再加上与ISD4004语音芯片的结合来实现语音的存储与回放,通过单片机的控制可以实现语音的多录多放的功能。第二章设计方案2.1总体方案的论证在查阅了一些文献资料之后,我初步设想了两种设计方案。闪存器STC89C52A/D转换器D/A转换器采样带通滤波器闪存器STC89C52A/D转换器D/A转换器采样带通滤波器放大器带通滤波器放大器MICSPERKER图2-1方案一电路结构图这种电路系统在录音时,先通过MIC将模拟信号转换成微弱的电信号,再通过音频放大器放大信号,带通滤波器滤波,然后有A/D转换器将模拟信号转换成数字信号,单片机将数字信号存储在储存器中,当需要放音时,单片机将数字信号从存储器中读出,再经D/A转换器还原为模拟信号,经滤波放大后从SPEAKER输出。这种方法虽然过程简单,但语音信号很容易受外界的影响而失真,并且信号的储存压缩比较复杂,硬件电路不宜调试。方案二:采用STC89C52和ISD4004专用语音芯片的组合来达成语音存储与回放的功能,实现对语音的录放。用ISD公司生产的ISD4004语音芯片来处理语音信号,使电路具有抗干扰能力强,储存方便,调试简单,功能集成度高等优点。在一块芯片上集成了麦克风前置放大器、自动增益控制电路、抗混淆和平滑滤波器、模拟存储阵列。扬声器驱动器、控制接口和内部精确时钟。在芯片外部外接麦克风、功放、LCD屏幕、扬声器、电源、开关、电阻电容元件,就构成了一个完整的语音录放系统。电路的结构图如2-2所示。IISD4004LCD1602STC89C52LM386中断键盘MICSPEAKER图2-2方案二电路结构图因为方案二中ISD4004芯片可以直接将模拟量存到片内FLASH中,所以省去了模拟信号与数字信号转换的过程,减少的外界对音频的干扰,极大的提高了音频段的音质,相比之下,方案二更适合本课题的设计。2.2方案确定2.2.1单片机芯片的选择如图2-3,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节可编程Flash储存器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统的51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用提供高灵活、很有效的解决方案。图2-3STC89C52实物图STC89C52芯片具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持两种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,震荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。图2-4为STC89C52引脚图。图2-4STC89C52引脚图主要特性有:1.8K字节程序储存空间;2.512字节数据存储空间;3.内带4K字节EEPROM储存空间;4.可直接使用串口下载;器件参数:增强型8051单片机,6时钟/机器周期和12时钟机器周期可以任意选择,指令集代码完全兼容传统8051。工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达到48MHz。用户应用程序空间为8K字节。片上集成512字节RAM。通用I/O口(32个),复位后为:P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。具有EEPROM功能。共3个16位定时器/计数器。即定时器T0、T1、T2。外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。通用异步串行口(UART),还可用定时器软件实现多个UART。工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)。PDIP封装。2.2.2显示模块的选择如图2-5,LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。而点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成。显示屏上64×16个显示单元与显示RAM区的1024字节相对应,每一字节的内容与显示屏上相应位置的亮暗对应。例如显示屏第一行的亮、暗通过RAM区的000H~00FH的16字节的内容决定,当(000H)=FFH时,屏幕左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,屏幕右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H…,(00EH)=00H,(00FH)=00H时,在屏幕的顶部显示一条由8条亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。它能够显示英文字母、阿拉伯数字、日文片假名和一般性符号。图2-5LCD1602实物图LCD1602具有如下特性:1、+5V电压,对比度可调2、内含复位电路3、提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能4、有80字节显示数据存储器DDRAM5、内建有160个5X7点阵的字型的字符发生器CGROM6、8个可由用户自定义的5X7的字符发生器CGRAM技术参数:显示容量:16×2个字符。芯片工作电压:4.5~5.5V。工作电流:2mA(5.0V)。模块的最佳工作电压:5.0V。字符尺寸:2.95mm×4.35mm(宽×高)。如表2-1为LCD1602引脚功能表表2-1LCD引脚功能表编号符号引脚说明标号符号引脚说明1VSS电源地9D2|数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极LCD1602液晶模块内部的控制器共有11条控制指令,见表2。表2LCD1602控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清屏00000000012光标复位000000001x3输入方式设置00000001I/DS4显示开关控制0000001DCB5光标或字符移位控制000001S/CR/Lxx6功能设置00001DLNFxx7字符发生存储器地址设置0001字符发生存储器地址8数据存储器地址设置001显示数据存储器地址9读忙标志或地址01BF计数器地址10写入数据至CGRAM或DDRAM10要写入的数据内容11从CGRAM或DDRAM中读取数据11读取的数据内容LCD1602液晶模块的读/写操作、显示屏和光标的操作都是通过指令编程来实现的(其中,1为高电平,0为低电平),分别介绍如下。(1)指令1:清屏。指令码01H,光标复位到地址00H。(2)指令2:光标复位。光标复位到地址00H。(3)指令3:输入方式设置。其中,I/D表示光标的移动方向,高电平右移,低电平左移;S表示显示屏上所有文字是否左移或右移,高电平表示有效,低电平表示无效。(4)指令4:显示开关控制。其中,D用于控制整体显示的开与关,高电平表示开显示,低电平表示关显示;C用于控制光标的开与关,高电平表示有光标,低电平表示无光标;B用于控制光标是否闪烁,高电平闪烁,低电平不闪烁。(5)指令5:光标或字符移位控制。其中,S/C表示在高电平时移动显示的文字,低电平时移动光标。(6)指令6:功能设置命令。其中,DL表示在高电平时为8位总线,低电平时为4位总线;N表示在低电平时为单行显示,高电平时双行显示;F表示在低电平时显示5×7的点阵字符,高电平时显示5×10的点阵字符。(7)指令7:字符发生器RAM地址设置。(8)指令8:DDRAM地址设置。(9)指令9:读忙信号和光标地址。其中,BF为忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平则表示不忙。(10)指令10:写数据。(11)指令11:读数据。
LCD1602与单片机的连接有两种方式,一种是直接控制方式,另一种是所谓的间接控制方式。它们的区别只是所用的数据线的数量不同,其他都一样。1.直接控制方式LCD1602的8根数据线和3根控制线E,RS和R/W与单片机相连后即可正常工作。一般应用中只须往LCD1602中写入命令和数据,因此,可将LCD1602的R/W读/写选择控制端直接接地,这样可节省1根数据线。VO引脚是液晶对比度调试端,通常连接一个10kΩ的电位器即可实现对比度的调整;也可采用将一个适当大小的电阻从该引脚接地的方法进行调整,不过电阻的大小应通过调试决定。2.间接控制方式间接控制方式也称为四线制工作方式,是利用HD44780所具有的4位数据总线的功能,将电路接口简化的一种方式。为了减少接线数量,只采用引脚DB4~DB7与单片机进行通信,先传数据或命令的高4位,再传低4位。采用四线并口通信,可以减少对微控制器I/O的需求,当设计产品过程中单片机的I/O资源紧张时,可以考虑使用此方法。这里我们选用直连的方式。2.2.3语音模块的选择ISD4004系列工作电压3V,单片录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。主要功能单片8至16分钟语音录放内置微控制器串行通信接口3V单电源工作多段信息处理工作电流25-30mA,维持电流1μA不耗电信息保存100年(典型值)高质量、自然的语音还原技术10万次录音周期(典型值)自动静噪功能片内免调整时钟,可选用外部时钟型号时间输入采样典型带宽最大段数最小段长外部钟频ISD4004-088分钟8.0kHz3.4kHz1200200ms1024.0kHzISD4004-1010分钟6.4kHz2.7kHz1200250ms819.2kHzISD4004-1212分钟5.3kHz2.3kHz1200300ms682.7kHzISD4004-1616分钟4.0kHz1.7kHz1200400ms512.0kHzISD4004系列工作电压3V,单片录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内FLASH存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和"金属声"。采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于FLASH存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。这里我们选用ISD4004-08芯片,因为串行接口协议:ISD4004工作于SPI
串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI
移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟上升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。协议的具体内容为:1.所有串行数据传输开始于SS下降沿。2.SS在传输期间必须保持为低电平,在两条指令之间则保持为高电平。3.数据在时钟上升沿移入,在下降沿移出。4.SS变低,输入指令和地址后,ISD才能开始录放操作。5.指令格式是(8位控制码)加(16位地址码)。6.ISD的任何操作(含快进)如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。7.使用"读"指令使中断状态位移出ISD的MISO
引脚时,控制及地址数据也应同步从MOSI端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。8.所有操作在运行位(RUN)置1时开始,置0时结束。9.所有指令都在SS端上升沿开始执行。上电顺序:器件延时TPUD(8kHz采样时,约为25毫秒)后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令。例如,从00从处发音,应遵循如下时序:1.发POWERUP命令;2.等待TPUD(上电延时);3.发地址值为00的SETPLAY命令;4.发PLAY命令。器件会从此00地址开始放音,当出现EOM时,立即中断,停止放音。如果从00处录音,则按以下时序:1.发POWERUP命令;2.等待TPUD(上电延时);3.发POWERUP命令4.等待2倍TPUD;5.发地址值为00的SETREC命令;6.发REC命令。器件便从00地址开始录音,一直到出现OVF(存贮器末尾)时,录音停止。2.2.4改善输入和输出音质的解决方案LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地为参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。特性:静态功耗低,约为4mA,可用于电池供电;工作电压范围宽,4-12Vor5-18V;外围元件少;电压增益可调,20-200;低失真度;工作原理:第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。第二级为共射放大电路,T7为放大管,恒流源作有源负载,以增大放大倍数。第三级中的T8和T9管复合成PNP型管,与NPN型管T10构成准互补输出级。二极管D1和D2为输出级提供合适的偏置电压,可以消除交越失真。引脚2为反相输入端,引脚3为同相输入端。电路由单电源供电,故为OTL电路。输出端(引脚5)应外接输出电容后再接负载。电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。引脚:LM386的外形和引脚的排列如图2所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10μF。查LM386的datasheet,电源电压4-12V或5-18V(LM386N-4);静态消耗电流为4mA;电压增益为20-200;在1、8脚开路时,带宽为300KHz;输入阻抗为50K;音频功率0.5W。应用注意事项:尽管LM386的应用非常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如插拔音频插头、旋音量调节钮)都会带来的瞬态冲击,在输出喇叭上会产生噪声。1、通过接在1脚、8脚间的电容(1脚接电容+极)来改变增益,断开时增益为20。因2、PCB设计时,所有外围元件尽可能靠近LM386。3、选好调节音量的电位器。阻值不要太大,10K最合适,太大也会影响音质。4、尽可能采用双音频输入/输出。好处是:“+”、“-”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。5、第7脚(BYPASS)的旁路电容必不可少,实际应用时,BYPASS端必须外接一个电解电容到地,起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致,加了旁路电容之后就可以相应的减少这个噪声,所以这个电容是必不可少的。6、减少输出耦合电容。此电容的作用有二:隔直+耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率(fc=1/(2π*RL*Cout))提高。分别测试,发现10uF/4.7uF最为合适。7、电源的处理也很关键。如果系统中有多组电源,由于电压不同、负载不同以及并联的去耦电容不同,每组电源的上升、下降时间必有差异。这里非常可行的方法是将上电、掉电时间短的电源放到+12V处,选择上升相对较慢的电源作为LM386的Vs,但不要低于4V。2.2.5系统的最终方案的确定本语音录放系统主要由信号处理模块、语音录放模块、和音频放大模块三部分组成。并选用STC89C52为主控器。利用51型单片机对ISD语音芯片的控制实现对语音的录放。并加入功放、麦克、扬声器等人性化功能。其中芯片与单片机的选择是重中之重,在查阅了很多文献资料之后,对本次选用的芯片与单片机有了一定的了解。其中,信号处理模块主要根据电话的铃流特点,摘挂机不同时产生不同的电压。采用电压比较器进行信号处理并把处理结果送往主控器。由主控器控制语音模块的录放。语音录放模块主要由ISD语音芯片及一些外围元件组成,主要完成语音的录放及语音的存储等。音频放大模块主要由LM386及部分外围器件构成,主要是对录放的声音信号进行放大。目前可以与单片机配合使用的语音芯片有很多,其中不乏性能十分优越的语音芯片,美国ISD公司生产的ISD40O4语音芯片就是它们中的一员。ISD4004芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。引脚包括电源、时钟、语音信号模拟输入/输出端、与MCU接口(SPI接口)几部分。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音。ISD4004系列单片录放时间为8~16min,采样频率可为4.0/5.3/6.4/8.0kHz,频率越低,录放时间越长,而音质则有所下降。芯片设计基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Mi—crowire)送入。由于ISD4004的众多优点,本设计就采用它作为录放音器件。录音时为了改善语音质量,要提高输出端的信噪比,因此系统的输出端经音频功率放大器LM386放大输出后驱动扬声器。该设计中为了使用户使用更加方便,每段录音的长短以及录音时间都会显示给用户。但是难免不会有电池掉电的可能性,尤其是掉电之后,语音闹钟时间也会丢失。为此在该设计中调用单片机内部EEPROM,在掉电之后,存储的这些闹钟数据、录音时间等数据也不会丢失。第三章硬件设计3.1电路设计总体原理图系统总体分为七个模块,分别为STC89C52单片机控制模块、ISD4004芯片语音录放模块、录放状态指示灯模块(红灯亮起为音频的录制,绿灯亮起为音频的播放)、电源供电插口模块、中断按键模块(录音键、放音键、切换键)、LCD1602显示模块和变压器模块。3.2系统整体工作原理3.2.1语音信号输入电路因为本次设计是数字语音录放系统,而VCCD是数字信号专用的引脚,所以这里接电源。AIN+、AIN-分别为语音芯片的同相输入端和反相输入端,音频通过MIC组成的电路将语音传入这两个引脚。SS引脚为片选引脚,连接的是STC89C52单片机的WR引脚,此端为低电平,两条指令之间为高电平。MOSI是串行输入端,连接的是单片机的P1口,单片机应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。3.2.2LM386音频功放输出电路本设计中从语音芯片输出的语音信号很微弱,不能直接驱动扬声器,所以要在语音芯片和扬声器之间加上一个功率放大电路。功率放大电路使用美国国家半导体公司生产的音频功率放大器LM386并配合少许电容电阻构成(如图3-4所示)。其中3号端口为芯片的INPUT引脚,连接的是ISD4004芯片的OUT引脚。5号端口为OUT引脚,连接扬声器作为音频输出。该功放电路的放大效果良好,噪音小,可以满足该设计的要求。其集成功放电压可达到26dB,机电压放大倍数为20,其中R4为可调电阻,可调节扬声器的音量。3.2.3LCD1602电路LCD1602芯片P00-P07引脚连接的是单片机的数据端口。P26是LCD1602芯片的使能端,连接单片机的P2.6口,高电平时读取信息,下降沿执行指令。P27是LCD1602芯片的读写端,低电平时向LCD写入指令或数据,高电平时从LCD读取信息。3.2.4中断按键按键S0、S1、S2分别连接单片机的P1.2、P1.3、P1.4,通过编程实现对音频的录音,放音以及切换。第四章软件设计4.1软件设计总体流程本设计的程序代码在Keil环境下编写,Keil可以使用汇编语言和C语言,但C语言使用灵活,调试方便,所以该设计选择C语言。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。使用C语言编程,Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。该设计中用到的是KeiluVision4版本。KeiluVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。该设计以MCS-51系列单片机为核心器件组成一个数字语音存储和回放系统。系统显示器为LCD1602。本设计中程序设计包括以下几个部分,即主程序、LCD显示程序、键盘程序、ISD4004录放音程序,图4-1为主程序流程图。初始化键盘扫描录音初始化键盘扫描录音放音切换复位LCD显示4.2录音程序的设计录音子程序的关键就是找出录音语音数据的首地址。存程序执行中通过段数变量,在地址数组中查找到对应该序号的首地址数据,向ISD芯片发出SETREC地址和REC指令,就可以开始录音。在录音过程中,开启单片机的定时器,对ISD4004芯片的录音时间进行记录并写入单片机中。图4-2为录音子程序流程图。录音子程序读取EEPROM中该录段数向ISD4004发送SETREC指令I录音子程序读取EEPROM中该录段数向ISD4004发送SETREC指令ISD4004当前状态为录音地址计数器清零并开启定时器记录声音长短向ISD4004发送REC指令结束4.3放音程序的设计要实现对存储在ISD语音芯片中指定的音频数据播放,在放音程序执时,同样要凌取存放在EEPROM中该序号语音数据的首地址信息。为了能实现连续播放和循环播放的功能,在程序执行中对ISD4004输出的信号进行检测并进行处理。图4-3为放音子程序流程图。放音子程序通过变量读取首地址向ISD4004发送SETPLAY指令ISD4004当前状态为放音放音子程序通过变量读取首地址向ISD4004发送SETPLAY指令ISD4004当前状态为放音向ISD4004发送PLAY指令结束4.4按键程序的设计按键有两个直接,有四个由与门搭建连接了一个外部中断I/O口。利用了外部中断将使按键更加精准。中断键盘一按下,INT0口由高电平到低电平(外部中断0设为下降沿触发),此时进入外部中断0中断程序中,将按键状态由0变为1,主程序中检测检测到按键状态变为1后,执行相关程序代码,然后状态又由0变为1。 直接的按键在按下后接地,主程序检测其相应I/O口状态,I/O口为低电平时就表示有按键按下。但由于按键为机械开关结构,因此机械触点的弹性及电压突跳等原因,往往在触点闭合或断开的瞬间会出现电压抖动,为保证键识别的准确,在电压抖动的情况下不能进行状态的输入,为此需进行去抖动处理。硬件消抖需要加入硬件,会提高设计成本,同时使电路复杂,在干扰性方面使电路更加麻烦,所以一般采用软件消抖。软件消抖就是用时间延迟避开消抖,待稳定后再次扫描,一般延迟消抖时间为10-20ms。第五章系统调试5.1电路系统实物图5.2调试进入界面显示可录制4段音频切换到第一段音频切换到第二段音频切换到第三段音频切换到第四段音频录制第一段音频,红灯亮起代表正在录制音频。播放第一段音频,绿灯亮起代表正在播放音频。5.3系统的不足和改进目前系统的不足是播放音频还是有一定的噪音,可能由以下原因造成:
(1)电路系统是用洞洞板完全手工焊制,线路之间可能会存在干扰;
(2)ISD4004的数字地线和模拟地线全部接到了一起,而没有分开接地,所以存在干扰;
(3)语音输入端没有放大电路,噪声没有得到足够的抑制。
另外当需要录制长段音频时会因为语音芯片的限制,导致该录音时间过短,无法达到要求。对此可选取存储空间大一些的芯片来取代。而且该语音芯片不是数字信息存储,不能和PC端交互,在改良时,也可以选取数字存储类的芯片。采用单片机内部时钟会占用单片机资源,后续的改良可外接时钟芯片。相对来讲,本设计结构简单,调试起来比较方便,单片机留有I/O口,方便于系统的升级和拓展,所以后续可在本设计的基础上增添一些其他功能,来针对一些特定环境下的使用。目前此系统可用于公交车报站系统,医院叫号系统等,如果加入GPS定位系统,就可以作为交通运输中的自动报站系统。这样会使此系统的应用范围更加广泛。第六章结论本文按照“提出问题、分析问题、解决问题、总结问题”的写作思路展开,详细的阐述了基于单片机的数字语音回放系统的硬件、软件设计的全过程,并且从这些过程中分析提炼出了相关的技术难点以及相对应的解决思路,在完成这一切的同时,我从两个角度方面完成了所做的设计:第一,如何实现语音录放;第二,在完成既定功能的同时,如何提升录放音频的质量。在这一整个过程中,我通过查阅文献资料,请教老师和同学学到了很多新的知识,同时也提高了自己解决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年武汉海关后勤管理中心招聘编制外聘用人员1人笔试历年参考题库附带答案详解
- 2025年成都港汇人力资源管理有限公司面向社会公开招聘国有企业工作人员笔试历年参考题库附带答案详解
- 2025年度海南省粮油产业有限公司公开招聘4人笔试历年参考题库附带答案详解
- 2026陕西西安外国语大学专任教师、新疆籍少数民族辅导员岗位招聘42人备考题库【考点梳理】附答案详解
- 中国矿业大学(北京)人事处招聘人事人才辅助岗位1人备考题库含完整答案详解(夺冠)
- 2026塔城地区水务集团有限公司招聘6人模拟试卷及参考答案详解【典型题】
- 陕西省西安市西咸新区泾河新城2025届三下数学期中综合测试模拟试题含答案
- 陕西省汉中市2025-2026学年四下数学期末学业质量监测模拟试题含解析
- 2025年度中国邮政集团有限公司山西省分公司社会招聘117人笔试历年参考题库附带答案详解
- 2025年广西柳州市“国资犇牛”秋季专场招聘45人活动笔试历年参考题库附带答案详解
- 餐饮食品安全管理人员知识模拟习题及答案
- 冀教版四年级下册数学计算题每日一练(带答案共15天)
- 装配式二次结构施工方案
- 房地产售后服务及维修保障措施
- 【高分复习笔记】东南大学等四校合编《土力学》(第3版)笔记和课后习题(含考研真题)详解
- 《地方国有企业中层管理者绩效考核体系研究》
- 长沙理工大学城南学院《光纤通信原理》2022-2023学年第一学期期末试卷
- 2024年无人机测绘操控员(高级)技能鉴定理论考试题库资料(含答案)
- DL∕T 2010-2019 高压无功补偿装置继电保护配置及整定技术规范
- 青岛版五年级下册分数的加减法练习200题及答案
- 《电路分析基础》网孔分析法
评论
0/150
提交评论