摘要:ISD4044是一种采用ChipCorder专利技术的语音芯片。此芯片无须A/D转换和压缩就可以直接储存,没有A/D转换误差,在一个记录位(BIT)可存储250级声音信号,相当于通常的A/D记录的8倍。片内集成了晶体振荡器、麦克前置放大器、自动增益控制等,只要很少的外围器件,就可以构成个完整声音录放系统。本文介绍了ISD4004的原理、特点、功能及其在智能控制系统中的应用。
关键词:ISD4004 单片机 89C51
1 概述
ISD4004是美国ISD公司制造的一种新款语音芯片。与ISD其它系列语音产品不同的是,ISD4004是一种微控制器“从”设备,而“主”控制器可以是内置有SPI兼容接口的微控制器,也可以用I/O仿真SPI通信协议。ISD4004系列工作电压为3V,单片录放时间为8~16分钟,音质好,适用于移动电话及其它便携式电子产品中。该芯片采用CMOS技术,内含振荡器、抗混叠滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片的所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。ISD4004采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能非常真实、自然地再现语音、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,音质则有所下降, 片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。
2 引脚功能描述
ISD4004的引脚排列如图1所示,各引脚功能如下:
电源(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚小,模拟和数字电源端最好分别走线。尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。
地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。
同相模拟输入(ANA IN+):录音信号 的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3kΩ电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,与ISD33000系列相同。
反相模拟输入(ANA IN-):差分驱动时,为录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV。
音频输出(AUD OUT):提供音频输出,可驱动5kΩ的负载。
片选(SS):此端为低,即向该ISD4004芯片发送指令,两条指令之间为高电平。
串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。
串行输出(MISO):ISD的串行输出端。ISD未选中时,本端呈高阻态。
串行时钟(SCLK):ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。
中断(INT):本端为漏极开路输出。ISD在任何操作(包括快进)中检测到EOM或IVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取。
OVF标志用来指示ISD的录、放操作已到达存储器的末尾。只在放音中检测到内部的EOM标志时,此状态位才置1。
行地址时钟(RAC):漏极开路输出。每个RAC周期表示ISD存储器的操作进行了一行(ISD4004系列中的存贮器共2400行)。该信号保持高电平的时间为175ms,低电平时间为25ms。在快进模式,RAC可保持高电平218.75μs,低电平31.
25μs。该端可用于存储管理技术。
3 工作原理与功能特性
ISD4004声音录放采用CchipCorder专利技术,即无须A/D转换和压缩就可以直接储存,没有A/D转换误差,在个记录位(BIT)可存储250级声音信号,相当于通常的A/D记录的8倍。
3.1 SPI(串行外设接口)
ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,该协议假定微控制器的SPI移位寄存器在SCLK的下降沿工作,因此对于ISD4004而言,在时钟上升沿将锁存MOSI引脚的数据,而在下降沿则将数据送至MISO引脚。
3.2 SPI接口指令
SPI的接口指令如表1所列。
表1 SPI的接口指令
指 令 | 8位控制码<16位地址> | 操 作 摘 要 |
POWERUP | 00100XXX |
上电:等待TPUD后操作可以工作 |
SET PLAY | 11100XXX |
从指定地址开始放音。必须后跟PLAY指令使放音继续 |
PLAY | 11110XXX |
从当前地址开始录音(直至EOM或OVF) |
SET REC | 10100XXX |
从指定地址开始录音。必须后跟REC指令录音继续 |
REC | 10110XXX |
从当前址开始录音(直至OVF或停止) |
SET MC | 11101XXX |
从指定地址开始快,必须后跟MC指令快进继续 |
MC | 11111XXX |
停止当前操作 |
STOP WRDN | 0X01XXXX |
停止当前操作并掉电 |
RINT | 0X110XXX |
读状态:OVF和EOM |
3.3 SPI端口的控制位
SPI端口控制位如图2所示。
3.4 SPI控制寄存器
SPI控制寄存器控制器件可以实现如录放、录音、信息检索(快进)、上电/掉电、开始和停止操作、忽略地址指针等功能。具体控制位如表2所列。
表2 控制寄存器功能表
位 | 值 | 功 能 | 位 | 值 | 功 能 |
RUN | 允许/禁止操作 | PU | 电源控制 | ||
1 | 开始 | 1 | 上电 | ||
0 | 停止 | 0 | 停电 | ||
P/R | 录/放模式 | IAB | 操作是否使用指令地址 | ||
1 | 放音 | 1 | 忽略输入地址寄存内容 | ||
0 | 录音 | 0 | 使用输入地址寄存的内容 | ||
快进模式 | P15P0 | 行指针寄存器输出 | |||
1 | 允许快进 | A15A0 | 输入地址寄存器 | ||
0 | 禁止 |
当IAB置0时,录、放操作从A9~A0地址开始。为了能连贯地录、放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI指令将IAB置1,否则器件在同一个地址上将反复循环。这一点对语音提示功能很有用。RAC脚和IAB位可用于信息管理。
4 在智能控制中的典型应用
本系统是以单片机,语音处理芯片及报警传感器为基础,利用公共电话网络建立起来的智能家居服务系统。它具有以下主要功能:
(1)家电控制功能:打电话在通过密码校验后,在语音的提示下,进行远程控制家电、查询其工作状态及家电定时操作。
(2)电话录音功能:可来电留主及用户自己录音。
(3)自动语音报警功能:在无的情况下,监控系统检测到非法闯入,能自动拔打报警电话。在叫通后,能接报警信息以语音的形式发送出去。
由上可以看到,在整个家居服务系统中,要多次实现语音提示,应答,查询等功能。这些功能的实现是靠单片机89C51与ISD4004之间的通讯来完成的。89C51与ISD4004的连接如图3所示。
MIC是麦克风,即语音信号的输入端,输出的模拟语音信号通过三极管组成放大器加到ISD4004语音芯片的输入端。
该系统的录音子程序如下:
LUYIN: ;用户录音子程序
MOV R0,# # # # # # # # # #
ACALL FAST ;语音提示如何修改
JB P3.5,$
MOV A,#20H ;语音芯片上电
ACALL ISDX
SETB P1.0
ACALL YS50 ;上电延时
ACALL YS50
MOV A,# # # # #
;“# # # # # #”表示是录音具体地址
ACALL ISDX ;置录音地址
MOV A,#0A0H
ACALL ISDX
SETB P1.0
LUY1:MOV R1,#20H ;录音开始
LUY2:ACALL YS50
DJNZ R1,LUY2
MOV A,#0B0H ;录音
ACALL ISDX
SETB 1.0
JNB P3.3,$
LUY9:MOV A,#30H
ACALL ISDX
SETB P1.0
LUY3:MOV R5,#10H
LUY5:JNB P1.4,LUY4 ;检查录音是否超时
JNB P3.5,LUY3
DJNZ R5,LUY5
MOV A,#30H ;录音停止
ACALL ISDX
SETB P1.0
LUY6:MOV R4,#0FFH
LUY7:MOV R5,#0FFH
LUY8:MOV R6,#0FFH
LUYA:JNB P3.5,LUY9
DJNZ R6,LUYA
DJNZ R5,LUY8
DJNZ E4,LUY7
SJMP GUANJI
LUY4:MOV R0,# # # # # #;“录音超过,请重录制”
ACALL FSAT
SJMP LUYIN
放音子程序:
FANGYI:MOV R0,# # # # # #;“提示放音程序开始工作”
ACALL FAST
FANGY2:MOV R1,#0FFH
FANGY3:MOV R2,#0FFH
FANGY4:MOV A,#0FFH
MOV P0,A
SETB P0.7
SETB P0.4
CLR P0.5
SETB P0.6
MOV A,P0 ;读8880状态寄存器
JB ACC.2,FANGY6
FANGY6:DJNZ R2,FANGY4
DJNZ R1,FANGY3
SJMP GUANJI
CLR P0.4
MOV A,P0 ;读8880接收数据寄存器
ANL A,#0FH ;屏蔽高四位
CJNE A,#02H,FANGYI;查询是否“2”键按下,是则放音
FANGY5:MOV A,#0FFH
MOV P0,A
SETB P0.7
SETB P0.4
CLR P0.5
SETB P0.6
MOV A,P0
JNB ACC.2,FANGY5
MOV R0,# # # # #
ACALL FAST
INC R0
SJMP FANGY2
上一篇:数字温度测量模块LTM8003及其应用
下一篇:WB系列电量隔离传感器/变送器选型