基于51单片机和ISD4003的语音系统的设计
本文设计了一种基于51单片机的多功能学生宿舍语音系统,其中语音录放部分主要以ISD4003芯片为主控芯片,可以很好的实现播报课表、留言等功能。除此之外,本系统还在此基础上添加了温度检测、万年历等相关功能。
一、总体结构
该系统以STC89C52单片机为核心控制部分,使用ISD4003作为语音录放芯片实现分段录音选择放音、语音播放课表以及留言的功能。除此之外,该系统还具有12864汉显功能、红外遥控功能、温度检测功能、万年历功能以及闹铃功能等。系统设计框图如下:
液晶显示模块 显示:时间、温度等信息。 红外遥控模块 注:控制开关、留言、查看课表、时间等 STC89C52单片机 注:主控制器 语音模块 提示信息:每日课表、计划事情、留言等 时钟芯片、温度检测芯片等
图1 系统框图
二、ISD4003语音录放电路
ISD4003是美国ISD公司继ISD33000系列之后最新推出的时限为8分钟的
长时语音录放电路。这种录放电路采用了多电平直接模拟量存储技术,将每个采样值直接存储在片内的快闪存储器中,因此能够非常真实、自然地再现语音、音乐,音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。
管脚排列图
VSSA RAC NC NC /INT XCLK VCCD SCLK SS MOSI MISO VSSD NC NC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 /SS MOSI MISO NC NC VSSD VCCA NC ANA IN+ NC ANA IN- NC NC NC AMCAP NC NC AUDOUT NC NC VSSA VSSA VSSA VSSA AUDOUT NC NC AMCAP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 SCLK VCCD XCLK /INT RAC VSSA NC NC NC NC VCCA ANA IN+ ANA IN- NC TSOP PDIP / SOIC 图2 ISD4003管脚图
SPI(串行外部接口)
ISD4002、4003、4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4000系列而言,在时钟上升沿锁存MOSI引脚数据,在下降沿将数据送至MISO引脚。协议具体内容如下:
1. 所有串行数据传输开始于SS下降沿。
2. SS在传输期间必须保持为低电平,两条指令之间则保持为高电平。 3. 数据在时钟上升沿移入,在下降沿移出。
4. SS变低,输入指令和地址后,ISD才能开始录放操作。
5. 4002/4003指令格式是5位控制码加11位地址码,4004是8位控制码加16位地址码。(请参阅指令表)
6. ISD的任何操作(含快进)如果遇到EOM和OVF,则产生一个中断,该中断状态在一个SPI周期开始时被清除。
7. 使用“读”指令会使中断状态位移出ISD的MISO引脚时,控制及地址数据也同步
从MOSI端移入。因此,要注意移入的数据是否与器件当前进行的操作兼容,当然,也允许在SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前操作可以不兼容)。
8. 所有操作在运行位(RUN)置1时开始,置0结束。 9. 所有指令都在SS端上升沿开始执行。
4002、4003系列指令表
指令 POWERUP SETPLAY PLAY SETREC REC SETMC MC 5位控制码,<11位地址> 00100
ISD4003语音录放电路
本文设计的ISD4003语音录放电路如图3所示。经多次调试试验后,按该电路连接组成的语音录放模块效果良好。
图3 ISD4003语音录放电路
三、其他硬件电路设计
本系统硬件电路主要由STC89C52单片机控制电路、ISD4003语音录放电路、12864汉显电路、红外解码电路、18B20温度检测电路、1302时钟电路等等。这里除了ISD4003语音录放电路外,其他模块我们都可以很容易地找到其原理及应用,这里不再累述而直接给出整体电路原理图。系统整体电路图如图4所示:
图4 整体硬件电路
四、软件设计
硬件电路搭建完成之后,整个设计的关键就是软件程序的设计了。在这里给出主程序的流程图和语音部分的源代码,以方便大家参考应用。主程序流程图如图5:
相关推荐: