·
218
·
2008 年 1 月号
基于
ISD4004
芯片的语音录放系统设计
许昌学院
04
级电子信息工程本科一班 孟振中
单片机的应用无处不在,利用单片机控制语音的录放也多
不胜举。用单片机控制语音芯片,再把单片机和语音芯片嵌入
到通信设备,智能仪器,治安报警及儿童玩具中,就可做成语音
播放的机器,应用范围广泛。本文介绍的是用
AT89C51
单片
机及
ISD4004
语音芯片设计一个语音录放的播报器。它用语
音芯片存储语音,并用单片机控制语音芯片。该系统功能多,
录放音音质好,外围电路简单。
1.ISD4004
芯片的性能
ISD4004
系列语音芯片是美国
ISD
公司采用直接模拟量
存储技术推出的语音录放器件,该芯片采用了直接模拟量存储
技术,将语音信息通过多级存储技术以接近原始模拟量的形式
存储,声音信号无需进行
A/D
转换和数据压缩就可以直接存
放,录制的声音失真小,音质好,无背景噪声。而录制的声音信
号在播放时也无需
D/A
转换和语音合成等复杂的数字信号处
理过程。
同相模拟输入
(
ANA IN+
)
:这是录音信号的同相输入端,
输入放大器可用单端或差分驱动。
反相模拟输入
(
ANA IN-
)
:差分驱动时,这是录音信号的反
相输入端。
音频输出
(
AUD OUT
)
:音频输出端。
片选
(
SS
)
:此端为低,即选中
ISD4004
系列。
串行输入
(
MOSI
)
:单行输入端,主控制器应在串行时钟上
升沿之前半个周期将数据放到本端,供
ISD
输入。
串行输出
(
MISO
)
:
ISD4004
串行输出端,
ISD4004
未选中
时,本端呈高阻态。
串行时钟
(
SCLK
)
:
ISD4004
的时钟输入端,由主控制器产
生,用于同步
MOSI
和
MISO
的数据传输。
中断
(
INT
)
:本端为漏极开路输出,
ISD4004
在任何操作
(
包
括快进
)
中检测到
EOM
或
OVF
时,本端变低并保持,中断状态
在下一个
SPI
周期开始清除。
行地址时钟
(
RAC
)
:漏极开始输出。
外部时钟
(
XCLK
)
:本端有内部下拉元件,芯片内部的采样
时钟在出厂前已调校,误差在±
1%
内,在不外接时钟时,此端
必须接地。
自动静噪
(
AM CAP
)
:当录音信号电平下降到内部设定的
某个阈值以下时,自动静噪功能使信号衰弱,有助于消除无信
号
(
静音
)
时的噪声。
ISD4004
工作于
SPI
串行接口。
SPI
协议是一个同步串行
数据传输协议,协议假定微控制器的
SPI
移位寄存器在
SCLK
的下降沿动作,因此对
ISD4004
而言,在时钟上升沿锁存
MOSI
引脚的数据,在下降沿将数据送至
MISO
引脚。
SPI
接口指令
如表
1
所示。
表
1 SPI
接口指令
指令 8 位控制码<16 位地址> 操作摘要
POWERUP
上电:等待TPUD后器件
可以工作
00100XXX〈XXXXXXXXXX-
XXXXXX〉
SET PLAY 11100XXX〈A15~A0〉
从指定地址放音,必须后
跟 PLAY 指令
从当前地址放音
(
直至
EOM 或 OVF
)
11110XXX〈XXXXXXXXXX-
XXXXXX〉
PLAY
SET REC 10100XXX〈A15~A0〉
从指定地址录音,必须后
跟 REC 指令
从指定地址录音,必须后
跟 REC 指令
11101XXX〈A15~A0〉
REC
SET MC
10110XXX〈XXXXXXXXXX-
XXXXXX〉
从指定地址快进,必须后
跟 MC 指令
执行快进直到 EOM
停止当前操作
读状态:OVF 和 EOM
停止当前操作并掉电
0X01XXXX〈XXXXXXXXXX-
XXXXXX〉
0X110XXX〈XXXXXXXXXX-
XXXXXX〉
11111XXX〈XXXXXXXXXX-
XXXXXX〉
0X110XXX〈XXXXXXXXXX-
XXXXXX〉
RINT
STOPWRDN
STOP
MC
X
为
0
或为
1
均可。
ISD4004
的分段地址
(
A0~A15
)
为
0000H~0960H
。
2.
硬件电路的设计
本文的语音录放系统所采用的是录放时间为
8min
的
ISD4004
语音芯片。该语音录放电路主要由单片机
AT89C51
,
ISD4004
构成,本系统可以主要分为三部分单片机控制部分、
录音部分和放音部分。控制部分则主要由单片机
AT89C51
构
成,包含必要的按键电路、复位电路和指示电路等外围电路。
录放音部分主要由
ISD4004
构成,包含配套的变压电路、功放
电路等。该电路通过操作
3
个微动开关实现功能转换,操作命
令由串行通信接口(
SPI
)送入。在电路原理图中整个电路又可
具体分为单片机控制指示电路、
ISD4004
语音录放电路、话筒
输入电路、音频功率放大电路等几部分。单片机
AT89C51
的
串行口工作于同步移位寄存器方式,同步移位脉冲由
P1.1
输
出至
ISD4004
的串行时钟输入端
SCLK
。因
AT89C51
单片机
没有硬件
SPI
总线接口,在使用
AT89C51
单片机对
ISD4004
进行控制时,可以通过单片机的
I/O
引脚采用软件模拟的方式
实现
SPI
总接口。
3
软件设计
软件设计步骤:
①初始化部分:初始化操作包括单片机控制部分的初始
高 教 视 窗
前 沿