数字化语音存储与回放系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字化语音存储与回放系统的设计
班级:电信1202 姓名:吴建亮学号:201203090224 一、设计题目
设计一个数字语音存储与回放系统,其系统框图如图图1.1所示。设计要求如下:语音录放时间≧60s;语音输出功率≧0.5W,回放语音质量良好;设置“录音”、“放音”键,能显示录放时间;采用语音压缩算法,在不增加存储器容量的基础上增加录放时间。
麦克风语音输入通
道
ADC
喇叭语音输出通
道
DAC
微控置器存储器图1.1 数字化语音存储与回放系统框图
二、方案设计
数字化语音存储与回放系统的基本原理:语音的存储与回放系统将语音信号转化为电信号,经放大、滤波处理后通过A/D转换器转化为数字信号,然后将数字化的语音信号存放在大容量的存储器中;回放时,从存储器中取出数字化的语音信号,经D/A转化器转化为模拟信号,经滤波放大后驱动扬声器发出声音。如图2.1所示为以C8051F360为核心的语音存储与回放系统原理框图。
麦克风前置放
大器
带通滤
波器
C8051F360
ADC0 IDA0
带通滤
波器
功率放
大器
喇叭
键盘和显示
外部存储器
图2.1 语音存储回放系统原理框图
三、模拟子系统设计
1.语音输入通道电路的设计
在语音存储与回放系统中,通过麦克风将声音信号转化为电信号。麦克风内部含有一个电容元件和场效应管构成的内部前置放大器。电容随机械振动发生变
化,从而产生与声波成比例的变化电压。麦克风在使用时需要通过一个电阻R1连接到电源对其进行偏置。R1的阻值决定了麦克风的输出电阻和增益,通常在1~10kΩ之间。麦克风输出的电信号比较微弱,信号增值在1~20mV之间。
前置放大器就是对麦克风输出的语音信号进行放大一边对其进一步处理。前置放大电路有两种设计方案。一种方案是针对双麦克风设计的前置放大器,由一级差分放大器和一级增益可调反向放大器组成的设计方案。本次系统设计中,为了是器材简单,使用了后一种。
语音存储与回放系统中,模拟量输入通道和输出通道均需要带通滤波器。带通滤波器的通带范围为300Hz~3。4kHz,主要实现的功能如下:(1)保证300Hz~3。4kHz的语音信号不失真的通过滤波器。
(2)滤除带通外的低频信号,减少工频等分量的干扰,减小噪声影响。
(3)滤除带通外的告辞谐波信号,减少因8kHz采样率引起的混叠失真,根据实际情况,该上限频率在2.7kHz左右。
根据上述条件设计的语音输入通道如图3.1所示。
图3.1语音输入通道
2.语音输出通道设计
当语音回放是,语音信号从C8051F360单片机的IDA0输出。IDA0输出的语音心哈既包含了直流分量,也包含了由于最小分辨电压产生的高频噪声。因此在语言输出通道应设置带通滤波电路。为了能提供0.5W的功率输出,语音信号还要经过功放电路进行功率放大。为了简化电路设计,语音输出通道选用了滤波和功放二合一的设计方案,其原理图如图3.2所示。
图3.2 语音输出通道电路原理图
四、大容量存储接口设计
M25P16与C8051F360单片机的接口如图4.1所示。通过交叉开关将4线制SPI总线配置到P3.1、P3.2、P3.3、P3.4引脚上,分别与M25P16的时钟输入端C、数据输出端Q、数据输入端D和片选信号S相连。图4.1中的W为写保护引
脚,用于防止芯片内某些区域的数据被擦除或修改,当W接高电平时,写保护
功能无效。M25P16的HOLD引脚为保持信号,低电平时用于暂停芯片的串行通信。
SCK(P3.1) MISO(P3.2) MOSI(P3.3) NSS(P3.4)C
Q
D
VCC S
HOLD
VSS
W
C8051F360M25P16
+5V 图4.1 C8051单片机和M25P16的接口
五、系统软件设计
语音存储回放系统软件的基本功能是通过按键控制系统实现录音和放音。录音时,采集语音信号并将采集的数据存入M25P16中,放音时,从M25P16中读取数据送入DAC,系统分为以下几个框架:
(1)人机接口的功能设计;
(2)键盘处理程序设计;
(3)M25P16的读写方案设计;
(4)A/D和D/A转换器的控制;
(5)擦除、录音和放音及时;
(6)C8051F360单片机内部资源的使用;
在语音存储与回放系统中,需要使用C8051F360单片机的ADC0、IDA0、SP10、定时器T0、定时器T1、定时器T2等资源,因此,在主程序的初始化程序中,需要对这些内部资源初始化。
根据上述分析。语音存储回放系统的软件由主程序、键盘中断服务程序、ADC0中断服务程序、定时器T1中断服务程序、定时器T2中断服务程序组成。
主程序流程图5.1所示。在主程序中完成初始化然后循环检测有无按键输入,并根据键值做相应的处理。
中断程序如图5.2、图5.3和图5.4所示。
详细的程序请见附件。
C8051F360和
M25P16初始
化
开始
禁止ADC0,禁
止T1、T2中
断
显示初始界
面
键有效标
志=1?清键有效标
志
显示“正在录音”允许ADC0,禁止T1中断
M25P16地址初始化
秒寄存器清零
允许定时器T2中断显示“正在
擦除”秒寄存器清
零允许定时器
T2中断调用M25P16
擦除子程序禁止ADC0,禁
止中T1、T2
断显示初始界
面显示“正在放音”禁止ADC0,
允许T1中断
M25P16地址
初始化
秒寄存器清
零允许定时器T2中断
根据键值散转
“擦除”
键?
”放音“键?“录音”
键?
N
Y
图5.1主程序流程图