当前位置:首页 > 工作总结 > [基于STC单片机的语音存储与回放系统设计] 单片机语音采集及回放
 

[基于STC单片机的语音存储与回放系统设计] 单片机语音采集及回放

发布时间:2019-06-12 03:58:29 影响了:

  摘 要: 以STC89C52单片机为核心控制单元,结合语音控制芯片ISD4004,实现一种简单的语音存储与回放系统。系统硬件部分包含单片机控制电路、ISD4004语音处理电路等电路;软件部分为系统主程序以及录/放音子程序。该系统具有操作性强、可靠性高、电路设计简单等特点,可用于不同的语音服务场所。
  关键词: 单片机;语音芯片;存储;回放
  中图分类号:TN912.2 文献标识码:A 文章编号:1671-7597(2012)0720051-02
  0 引言
  随着科技的快速发展,语音技术将在嵌入式系统、无线互联网以及语音翻译等行业得到广泛的运用。与传统的磁带语音录放系统因体积大、使用不便、放音不清晰相比,本文提出以STC单片机为核心控制单元的体积小巧,功耗低的语音存储与回放系统,可以有效的解决传统的语音录放系统在电子与信息处理的使用中受到的限制问题。
  1 系统构成
  系统通过话筒录入语音数据,经过滤波电路、采样保持电路等处理,由STC89C52单片机控制芯片将语音信号储存在寄存器中。回放时,由单片机控制芯片提取寄存器中的数据,通过功率放大器将语音信号放大后回放出来。同时系统将按键与液晶显示器配合,可以达到对系统的实时控制,从而系统实现了语音数据采样、储存、回放。系统主要分为语音采集部分、控制部分、存储部分、回放部分以及程序部分五个部分。
  2 语音信号的处理与控制
  2.1 控制处理单元
  系统采用12M晶振器的STC89C52单片机作为核心控制单元,其包括按键、晶振、复位等基本的外围电路。在设计过程中,考虑传统的语音录放系统采用数字化、分立器件搭建而成,使语音信号易失真。因此,系统选用美国ISD公司生产的可反复录取10万次的ISD4004语音芯片。该芯片内部集成振荡、滤波、放大等电路,并且可直接把模拟量的语音信号存储在高密度多电平闪烁存贮陈列中,掉电不丢失存储的信息,因此避免了一般固体录音技术[1]或电路因量化和压缩造成的噪声干扰以及信息丢失。该芯片采用CMOS技术,有4.0、5.3、6.4、8.0kHz的采样频率,录放时间8分钟至16分钟,选择的采样频率越高,录放时间越短。
  ISD4004语音芯片设计有串行通信接口(SPI或Microwire),
  因此可以通过MCU写入操作指令对其控制。当从设备使能信号(SS或CS)为下降沿时,MCU才与ISD4004进行串行数据传输,并且数据传输的过程中,CS始终保持低电平,如果出现CS上升沿,则会执行相应的指令操作,其相关时序与SPI端口控制位[2]如图1、图2所示。
  图1 8位命令格式
  ISD4004MP语音芯片在录放音的过程中需遵循上电顺序,用户发完上电指令后,需要等待器件延时(上电延时),才能发操作指令。如果从地址的开始录音直到存贮器末尾才停止,则需要发两次上电指令,等待3次器件延时,具体时序是:发上电指令-等待上电延时-发上电指令-等待上电延时-等待上电延时。
  图2 SPI端口控制位
  2.2 硬件电路设计
  系统硬件电路主要由STC89C52小系统电路、ISD4004组成,包括小系统电路(晶振电路、复位电路)、按键控制电路、ISD4004语音录放电路、话筒输入电路、功率放大电路、电源电路六部分构成,具体的电路图略。ISD4004的16、17脚为语音信号的输入端口,音频信号由13脚输出,并且该端口接放大器的输入端,从而进行音频放大。ISD4004的片选信号CS由STC89C52单片机的IO口P2.0提供。STC89C52单片机的P3.1(TXD)接ISD4004语音芯片的串行时钟(SCLK)的时钟输入端(8引脚),而数据的输入输出则由P3.0(RXD)控制。因STC89C52单片机不具备(SPI)接口[3-4],因此数据的复用通过三态门74LS125来控制,当MCU作为输出时,端口接在ISD4004的10引脚(MOSI)上;当MCU作为接收端时,端口接在ISD4004的11引脚(MISO)。ISD4004语音芯片的中断控制信号(5引脚)由STC89C52单片机的INT0输入。ISD4004的自动静噪端(AMCAP)常常1μF电容构成内部峰值检测电路,最后与地连接,本系统采用的是禁止自动静噪。
  单片机的P1.0-P1.5作为按键的输入端,并且P1.5(Ks)用于选择启用或取消循环录音功能。通过端口设置可以看出,系统采用了6个开关(1个微动开关和5个微型按钮开关)来控制相关的功能转换,开关的状态通过MCU来读取,通过SPI接口送入ISD4004中。
  除此之外,系统还需设计降压电路,常用的51单片机电源电压都是5V,而ISD4004语音芯片采用3V单电源工作,因此,系统选用LM1117低压差电压调节器调节成3.3V电压,其电路采用经典的低压降三端线性稳压电路[5]。
  3 系统软件设计
  在该系统的设计中,总体思路把系统分为录音、停止和放音三种状态,状态的改变用按键控制。当处于录音状态时,RECORD_Q为0,播放按键脉冲无效,录音按键脉冲有效;当处于播放状态时,PLAY_Q为0,录音按键脉冲无效,播放按键脉冲有效;当处于停止状态时,录音和播放按键脉冲无效,系统程序流程图如图3所示。
  图3 系统程序流程图
  主程序先对系统进行初始化,然后只处理键盘事件,判断按键值,并据此设置相应的系统状态和调用相应的函数子程序。录音功能均从设定的地址开始,录音结束由停止键决定,在录音过程中ISD4004内部自动在该段的结束位置插入EOM(结束标志),而放音时ISD4004遇到EOM标志则自动停止放音。在分段录音或放音中,需要按住K1键开始录音,放开K1键结束录音;再按住K1键,开始录第二段,以此类推;按一下K2键,开始放音,等该段放音结束,继续等待;再按下K2键,放第二段,以此类推。
  4 结束语
  传统的语音存储与回放系统相比,采用STC52单片机与ISD4004语音芯片设计的语音存储与回放系统,器件少、操作方便、音质较好、话音清晰等多方面的优点。在实际应用中,该系统可以运用到众多场合,具有一定的参考价值。
  基金项目:西南科技大学大学生创新基金项目(CX11-116)资助
  参考文献:
  [1]唐明道,语音录放集成电路[J].Electronic Product World,Jan 1997(3):40.
  [2]ISD.ISD4004 datasheet [DB/OL].
  Http://nerc.vk5bbs.ampr.org/pages/techdata/data/Winbond/ISD4004
  _Rev1.2.pdf.
  [3]万光毅,单片机实验与实践教程[M].北京:北京航空航天大学出版社,2002.
  [4]张友德,单片微型机原理、应用与实践[M].上海:复旦大学出版社,1998.
  [5]SGS.LM1117 datasheet [DB/OL].http://
  Fdetil_913F07FDCD0357D4.html.
  作者简介:
  王君玲(1991-),女,汉族,西南科技大学国防科技学院,本科在读,研究方向:核工程与核技术、核电子;任立学(1978-),男,汉族,讲师,硕士,研究方向:计算机运用、计算机网络安全、信息对抗技术。

猜你想看
相关文章

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

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