ISD4004系列语音芯片批量录音实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【摘 要】ISD4004 语音录放芯片在很多领域中有广泛的应用,但将语音信号录制到芯片的过程中存在诸多问题。 文章介绍了该系列芯片的特点和工作原理,然后提出通过 PC 机的音频输出接口和 RS232 串行接口,结合单片机 实现 ISD4000 系列语音芯片批量录制各种经过处理后的音频信号,并可实现对任意段音频输出的方法。 【关键词】单片机;ISD4004;串行接口;音频信号 【中图分类号】TN912.3 【文献标识码】B 【文章编号】1674-0688(2009)20-0110-04
2009 年第 20 期 (总第 266 期)
企业科技与发展 Enterprise Science And Technology & Development
NO.20, 2009 (Cumulatively NO.266)
ISD4004 系列语音芯片批量录音实现
谭文娣,梁德坚,刘玉琼
(柳州铁道职业技术学院,广西 柳州 545007)
个中断源),具备串行设备接口 (SIO 和 UART)。
由于 SPCE061A 单片机不具备 SPI 和 I2C 接口,采用 IO
端口模拟 SPI 总线控制语音芯片,由 EEPROM 记录各段语音
的首地址和语音的总数,而与 PC 机 RS232 通信的接口电路采
用 MAX232A 构成,单片机通过 UART 接受 PC 机送来的控制
110
设接口) 数据总线送入。SPI 协议是一个同步串行数据传输协
2.1 上位控制程序
议,协议假定微控制器的 SPI 移位寄存器在 SCLK 的下降沿动
PC 机端的上位控制程序采用 VB 设计,程序中调用 Win-
作,因此对 ISD4004 而言,在时钟上升沿锁存 MOSI 引脚的数 据,在下降沿将数据送至 MISO 引脚。SPI 的接口指令如表 1。
11100xxx 10100 xxx <A15-A0>
从当前地址开始放录音(直至 EOM 或 OVF)。 从指定地址开始录音,须后跟 REC 指令,使录音继续。
RS232 通信接口,与录放电路建立连接。WMP 开始播
REC SETMC MC
10110xxx 11101 xxx <A15-A0> 11111xxx
图 1 ISD4004 系列芯片内部框图 ISD4004 系列语音芯片的所有操作必须基于微控制器控 制,操作命令可通过 SPI (Serial Peripheral Interface,串行外
【作者简介】谭文娣,柳州铁道职业技术学院教师;梁德坚,柳州铁道职业技术学院教师;刘玉琼,柳州铁道职业技术学院教师。
单片机程序主要由串口通信服务程序、录音程序、停止程
序和放音程序等几部分构成。
串口通信服务程序,接受 PC 机的发过来的控制指令,根
据相应的指令,执行语音录、放程序。图 8 是串口通信的流程
图。
录音子程序的关键就是找出欲录音语音数据的首地址位于
ISD4004 存储地址中的哪一行。在程序执行中通过录音序列
的存储器分为 2 400 行,对器件寻址就是选择一行,从行首开
始录、放操作,而每行中的各列是不可寻址的。每一行的所有
操作都从第一列开始。ISD4004 的地址分辨率为 200 ms,其中
每行有 175 ms 的高电平,25 ms 的低电平 (见图 7)。每个录
放周期都从这 200 ms 的“语音存储块”的块首开始。为此,
8 bit 的数据格式仅为 8 位控制码,如 POWERUP、PLAY 等指
令。24 bit 的数据格式为 8 位控制码+16 位地址码,如 SET-
PLAY 指令。ISD4004 系列芯片的 SPI 数据传送均为低位先发
送高位后发送。图 2、图 3 为 ISD4004 SPI 数据格式。
图 2 ISD4004 SPI 8 bit 数据格式
指令,执行相应的控制程序,然后经过处理的语音信号由 PC
机的音频输出端送入 ISD004 的模拟信号输入端进行录音。
ISD4004 系列语音芯片控制指令只有地址输入,分段录音
时,内部各语音段地址无法直接读出,不能实现任意段录放音
等操作,但 ISD4004 系列语音芯片内置了特殊的信息寻址机
制,即行地址时钟 (以下简称 RAC)。ISD4004 系列语音芯片
dows Media Player (WMP) 播放器控件,播放各种需要的影音 文件。由于是采用 WMP 播放器控件,支持多种格式的影音文
表 1 ISD4004 系列语音芯片 SPI 接口指令表
件 (如 *.WAV、*.MP3、*.MID、*.MPG、*.AVI 等),
指令 ROWERUP SETPLAY
停止当前操作。 停止当前操作并掉电。
播放下一个影音文件,同时向录放电路的单片机发出
RINT
0x110 xxx
读状态:OVF 和 EOM。
录音指令。如此周而复始,直至结束。图 5 为上位机
ISD4004 系列芯片的 SPI 数据格式分为 2 种:8 bit 和 24 bit。 控制程序播放器界面,图 6 为控制软件流程图。
1 ISD4000 语音芯片简介
ISD4004 系列语音集成电路工作电压 3 V,单片录放时间 4~16 min,音质好,适用于移动电话及其他便携式电子产品 中。芯片采用 CMOS 技术,内含振荡器、防混淆滤波器、平 滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵
列。芯片设计基于所有操作必须由微控制器控制,操作命令可 通过 SPI 串行通信接口送入。芯片采用多电平直接模拟量存储 技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非 常真实、自然地再现语音、音乐、音调和效果声,避免出现一 般固体录音电路因量化和压缩造成的量化噪声和“金属声”。 采样频率可为 4.0 kHz、5.3 kHz、6.4 kHz,8.0 kHz,频率越 低,录放时间越长,而音质则有所下降;片内信息存于闪烁存 贮器中,可在断电情况下保存 100 年 (典型值),反复录音 10 万次。图 1 为 ISD4004 系列芯片内部框。
从当前地址开始录音(直至 OVF 或停止)。 从指定地址开始快进,须后跟 MC 指令,使快进继续。 执行快进,直到 EOM,若再无信息,则进入 OVF 状态。
放时,向录放电路的单片机发出录音指令,当播放完 一个影音文件后,向单片机发出停止指令,然后接着
STOP STOPPWRDN
0x110 xxx 0x01 xxxx
图 3 ISD4004 SPI 24 bit 数据格式
2 批量录制系统的设计
ISD4004 系列语音芯片批量录制系统由 2 部分构成,一部 分是自行设计 PC 机端的上位控制和播放程序,将语音信号和 控制信号,通过 PC 机的音频输出接口和 RS232 串行接口,与 系统的另外一部分语音录放电路相连接,PC 机端软件控制语 音的播放时机,并发出指令控制录放系统开始录音和停止,实 现批量语音录制。图 4 为系统硬件连接框图。
XCLK AINAIN+ ACAP
内部时钟
时钟分频
采样时钟
五极点
Amp
低通滤波
AGC 电路
译 模拟收发
码 器
33664400Kk Cell 非易失多级
存储阵列
五极点 平滑滤波
自动静音
Amp
电源电路
控 制 电路
AOUT
VCCA VSSA VSSD VCCD SCLK SS MOSI MISO INT RAC AM CAP
I2C数据总线
按键
单 片机
E2PR O M
RS232
EXT1 EXT2
PC机音频输出
SPI数据总线
RAC INT ISD 400 4
音频输入
图 4 系统硬件连接框图
功放
111
图 5 控制程序播放界面
上 位机 程序 选取 录音 文件 生成 播放 列表
读取 播放 列表 开始 播放
N
播放 器状 态=
“正在 连接”
语音提示功能已广泛地应用在系统操作语音提示、电话自 动应答系统、便携式语音记录装置、智能玩具等诸多方面,其 中美国 ISD 公司的 ISD4000 系列产品就提供这样的功能。在语 音输出应用方面,需预先将需要的语音录入到语音芯片中,并 在应用过程中提供方便寻址方式,播放出需要的语音信号。
以往向语音芯片录音的方式大多采用手动控制、单曲录 制,人员工作量大,还可能由于人员操作失误等因素,造成录 音引入不必要的杂音或是造成录音不完整等情况。鉴于此情 况,笔者设计了 ISD4004 系列芯片批量录音系统。本系统通过 PC 机端程序,支持 *.MP3、*.WAV、*.MPG、*.AVI 等影音格 式文件的播放,通过 RS232 接口,结合单片机控制,很好地 实现 ISD4000 系列语音芯片批量录制各种经过处理后的音频信 号,并可实现对芯片内存储任意段音频的输出,满足系统应用 的需求。
The Realization of ISD4004 Series Voice Chip Batch Recording
TAN Wen-di, LIANG De-jian, LIU Yu-qiong
【Abstract】ISD4004 voice recording and playing chip are widely used in many areas, but there are many problems in the process of voice recorder to chip. This article briefly describes the characteristics of the series of chips and how it works and then puts forward by PC audio output interface and RS232 serial interface, combined with a single-chip ISD4000 series recording a voice chip bulk after all kinds of audio signals, and allows any section of the audio output. 【Key words】MCU; ISD4004; serial interface; audio signals
图 7 行地址时钟信号 RAC
(/INT) 输出低电平信号 并一直保持信号输出。将
中断输出信号连入单片机的外部中断输入端,单片机开启外部
中断,检测 /INT 端的状态,在中断服务程序中用 RINT 指令,
读取 EOM 和 OVF 的状态,并作相应处理,完成语音存储芯片
的内容连续播放或循环播RAC 行地址信号进行计数,
就可以计算各语音段时长,并用 EEPROM 存储各段语音数据
在 ISD4004 中的首地址,完成对语音存储器地址的管理。
ISD4004 系列语音芯
片 在 任 何 操 作 (包 括 快
进) 中 检 测 到 EOM 或
OVF 时 , 中 断 输 出 端
号,在 EEPROM 中查找到对应该序号的首地址数据,向 ISD
串口中断服务程序
读取串口数据
串口数据=录音 Y 调用录音子程序
N
Y
串口数据=停止
调用停止子程序
口电路、ISD4004 语音芯片、音频功放电路等部分构成。
控制核心采用凌阳科技公司的 SPCE061A 单片机,它是凌
阳科技公司推出的一款 16 位结构的微控制器,内置 32 K 字的
FLASH,有 32 位可编程输入 (输出) 端口,提供丰富的中断
源 (包括 2 个定时器中断、2 个外部中断、1 个串口中断等 14
Y
串口 向单 片机 发送 录音 指令
播放 器状 态= “ 已完 成”
N
Y
串口 向单 片机 发送 停止 指令
播 放列 表中
N
最 后一 首?
Y
结束
图 6 PC 机端控制软件流程图
2.2 录放控制电路
录放控制电路具有完成语音数据的分段录放、各语音段首
地址的记录等功能,主要由单片机、存储器电路、串行通信接
8 位控制码,16 位地址码 00100xxx 11100xxx<A15-A0>
操作摘要 上电:等待 TPUD 后器件可以工作。 从指定地址开始放音,须后跟 PLAY 指令,使放音继续。
通过建立播放列表文件,自动播放所选择的多个影音 文件,利用 MSCOMM 串口通信控件,通过 PC 机的
PLAY SETREC
相关文档
最新文档