当前位置:首页 > 发言稿 > 基于单片机的语音采集系统设计与实现 单片机实现语音播报
 

基于单片机的语音采集系统设计与实现 单片机实现语音播报

发布时间:2019-06-28 04:05:27 影响了:

  摘要:根据ISD4004语音芯片的特点,利用单片机STC89C52控制ISD4004语音芯片实现了一个语音采集系统,该系统可以实现数字化语音的存储和回放。实验结果表明:该系统界面友好,操作简单,可将其应用于商业领域。
  关键词:单片机;STC89C52;ISD4004;SPI
  中图分类号:TP391文献标识码:A文章编号:1009-3044(2012)17-4235-04
  传统的数字语音合成设计十分的复杂,先要对需要的各段语音建立数学模型,经过自适应差分脉冲编码调制(Adaptive Differential Pulse Code Modulation,ADPCM),变换成数字量,再将它们写入EPROM存储器中作为音源并换算好地址,然后设计电路板,装配包括数模转换器、处理器、多级滤波器、逻辑接口电路、音频放大器等在内的各种电子器件。元器件数目多,制作周期长,而且产品体积大,成本高,音质方面不容易做得很好,背景噪音较大,音源更换也极不方便。为了尝试解决上述的种种问题,主要出现了两种解决方案。第一种是采用集成度更高的微处理器,即在微处理器内集成语音处理的大部分功能,但是该方案导致软件设计更加复杂,同时成本也大幅上升;第二种是采用专门的语音集成电路(Integrated circuit,IC),这种方法设计简单,成本相对较低。
  本文采用了ISD4004语音芯片,与普通的录音/重放芯片相比,ISD4004具有如下特点:
  1)记录声音没有长度的限制,并且声音记录不需要A/D转换和压缩;
  2)快速闪存作为存储介质,无需电源可保存长达100年,重复记录10万次以上;
  3)记录时间长(本文采用的为8分钟的ISD4004语音芯片);
  4)外围电路简单。
  1系统的硬件平台
  1.1 SPI总线简介
  本系统采用串行外设接口(Serial Peripheral interface,SPI)总线实现单片机与ISD4004的通信。SPI主要应用在EEPROM、FLASH、实时时钟、AD转换器、数字信号处理器和数字信号解码器之间[2]。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、
  主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS[3]。
  1.2 STC89C52简介
  STC89C52是一种低功耗、高性能8位CMOS微控制器,具有8K在系统可编程Flash存储器。STC89C52具有以下标准功能:8k字节Flash、512字节RAM、32位I/O口线、看门狗定时器、内置4KB EEPROM、MAX810复位电路、三个16位定时器/计数器、一个6向量2级中断结构和全双工串行口[4]。
  1.3 ISD4004简介
  ISD4004芯片工作电压为3V,单片录放时间为8至16分钟,且音质好,适用于移动电话及其他便携式电子产品中。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪存中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可以设定为4.0、5.3、6.4、8.0kHz,频率越低录放时间越长,但音质则会所下降,片内信息存于闪存中,可在断电情况下保存100年(典型值),反复录音10万次[5]。
  2系统工作原理及总体设计
  本语音系统具有以下功能:MIC录音功能、耳机插口语音录音功能、喇叭音频输出功能、耳机音频输出功能。
  本系统通过STC89C52单片机控制ISD4004芯片实现语音的录放功能。芯片的所有操作必须由STC89C52单片机控制,操作命令通过SPI总线发送到ISD4004芯片。
  单片机模块主要完成硬件初始化以及响应用户键盘输入的命令,并把命令发送到ISD4004芯片中。两者之间的通信是通过SPI总线实现的。ISD4004模块响应由单片机发送过来的命令,完成语音的采集、存储、播放等功能。语音的采集与播放都附加了外围电路,其中采集是依靠MIC或者对录线收集声音的模拟信号传送到ISD4004中,而语音播放则是把ISD4004中的语音信号传送到麦克风或者是对录线中。该系统的系统结构框图如图1所示。
  3硬件电路设计
  3.1 ISD4004变压电路
  由于ISD4004的工作电压为3伏,而单片机所需要供电电压为5伏,因此需要采用变压电路得到3伏的电压供ISD4004使用。AMS1117[6]是一个稳压器,它可以把5V的电压降到3V。电源转换电路如图2所示。
  4软件设计
  程序主要分三个模块:录音,放音,停止。这三个子程序都是以模拟SPI时序的方式把相应的命令发送到ISD4004片内。其中录音和放音都需要先进行上电操作才能发送命令。主程序查询用户按键状态,当有按键按下时通过调用相应的子程序进行响应。4.1主程序
  电路上电后,主程序首先完成程序的初始化,随后查询按键状态,之后进入系统待机状态。如果有按键按下,则转去执行按键指向的工作程序,并点亮相应的指示灯。子程序执行完了之后,返回主程序等待下个命令。主程序流程图如图5所示。
  5结论
  本系统使用STC89C52单片机控制ISD4004实现了一个语音采集系统,实现了语音的录入与播放,此系统设计灵活,成本低,语音器件抗干扰性强,应用效果良好。通过实验验证表明:该语音录放系统录音和放音效果良好,单片机控制准确。该电路可嵌入到其他电路中,实现各种功能复杂的语音系统,具有一定的实用价值。
  参考文献:
  [1]邢海霞,索明何,张怀强.基于ISD2560语音系统的设计与实现[J].科技信息:科学·教研,2007(9):5-7.
  [2]白明方,杨瑞峰.基于SPI总线的双机通信系统[J].机械管理开发,2010,25(6):1-4.
  [3]张文超,卢可义,刘振方.几种可用于测控仪器的串行总线研究和应用选择原则[J].测控技术,2005,24(2):5-6.
  [4] STC89C52数据手册.宏晶科技[EB/OL]. [2011-4-30]..
  [5]邢海霞,索明何,张怀强.基于ISD2560语音系统的设计与实现[J].科技信息:科学·教研,2007 (9):5-7.
  [6] AMS1117数据手册.百度文库[EB/OL].[ 2011-5-01]. .
  [7]江明.可识别音源方向的驻极体话筒[J].实用影音技术,2004(6):1-2.

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3