ISD4004应用电路及程序
ISD4004按自己所需地址录放音或者按顺序录放音(包含ISD4004资料——绝对好用)
#include <reg52.h>#define unchar unsigned char#define uint unsigned intsbit SS =P1^0; //片选sbit MOSI=P1^1; //数据输入sbit MISO=P1^2; //数据输出sbit SCLK=P1^3; //ISD4004时钟sbit INT =P1^4; //中断sbit LED =P0^1; //指示灯sbit LED1=P0^0; //指示灯:亮是录音/不亮是放音sbit PR =P1^7; //录音和放音选择开关sbit STOP=P1^5; //复位sbit AN =P1^6; //执行unchar code voice[ ]={0x0000,0x000f,0x001e,0x002f,0x003c,0x004b,0x005a,0x0069,0x0078,0x0087,0x0096,0x00a5,0x00b4, 0x00c3,0x00d2};//一共录音15段,1-10段内容为数字0—9,11-15段内容音为:拾、点、分、秒、现在北京时间void delay(unsigned int time) //延迟n微秒{while(time!=0){time--;}}void delayms(unsigned int time) //延迟n毫秒{TMOD=0x01;for(time;time>0;time--){TH0=0xfc;TL0=0x18;TR0=1;while(TF0!=1){;}TF0=0;TR0=0;}void isd_send(unsigned char isdx)//spi串行发送子程序,8位数据{unsigned char isx_counter;SS=0;//ss=0,打开spi通信端SCLK=0;for(isx_counter=0;isx_counter<8;isx_counter++)//先发低位再发高位,依次发送。
ISD4004
ISD4004语音芯片的工作原理及智能控制系统中的应用作者:北方工业大学工学院张常年王振红李洋来源:《国外电子元器件》摘要:ISD4044是一种采用ChipCorder专利技术的语音芯片。
此芯片无须A/D转换和压缩就可以直接储存,没有A/D转换误差,在一个记录位(BIT)可存储250级声音信号,相当于通常的A/D记录的8倍。
片内集成了晶体振荡器、麦克前置放大器、自动增益控制等,只要很少的外围器件,就可以构成个完整声音录放系统。
本文介绍了ISD4004的原理、特点、功能及其在智能控制系统中的应用。
关键词:ISD4004 单片机 89C511 概述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):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚小,模拟和数字电源端最好分别走线。
isd4004电路图和程序
5电压增益为50倍放大电路电压增益200倍放大电路//***************************************************** // ISD4002-89c51开发板演示例程C51版本*// 作者:中青世纪Lell *// 2008.2.27 *// *// 更多ISD4000使用心得请登陆中青世纪论坛*// /bbs *// *//*****************************************************#include <reg51.h>sbit SS = P1^0; //片选sbit SCLK = P1^1; //ISD4003时钟sbit MOSI = P1^2; //数据输入sbit MISO = P1^3; //数据输出sbit LED = P1^7; //指示灯sbit ISD_INT= P3^2; //中断sbit AN = P1^6; //执行sbit STOP = P1^5; //复位sbit PR = P1^4; //PR=1录音PR=0放音void delay(unsigned int time) //延迟n微秒{while(time!=0){time-- ;}}void delayms(unsigned int time) //延迟n毫秒{ TMOD=0x01;for(time;time>0;time--){TH0=0xfc;TL0=0x18;TR0=1;while(TF0!=1){;}TF0=0;TR0=0;}}//************************************//ISD4002 spi串行发送子程序,8位数据//************************************void spi_send(unsigned char isdx){ unsigned char isx_counter;SS=0; //ss=0,打开spi通信端SCLK=0;for(isx_counter=0;isx_counter<8;isx_counter++) //先发低位再发高位,依次发送。
[原创]ISD4000系列芯片录放C51程序示例
; 清发送中断标志位
; 送放音低位地址 A -A O 7
MO U . F A V S B
P. 2 J C I :B TIP Y Y , 3 L
S MP P Y2 J L
P Y : V A, O O L 3MO 并 E H MO U , F A V S B
+3 V
AT8 C51 9
VCC TO
I SD4 00 0
)Yk 一 LC ., L F0 A- ,
RA T S T = PU E 飞 AS
STOP }
RC A
ss
VCCD VCCA
AO UT
l k3 竺 巨 0 Q上 塑 0
6 1 弓 } 工n 吕 1, 苦.
+5v
P1 2 4 P1 P1 XD 5 R
Pl P1 b 1
M OS T
M 1 5U
4一1 .4 7 1 E }
0.V I F lk 0 n 30 Q 0k 0 1+ .1 22 Q .k
00 7 F .4 u 10 0 +5 V 1Q k
21 Y 1 2F S + 0 1 u 1 6K
l u 0F
z H 工之 N l
-L 口 下
P1 TXD 7 XT AL1 1 P 3
S CLK
I NT
3p 0 F
XT AL2 GND
VS S AM CAP VS S VS S VS S XCL
lk OQ
MI C
图 2 硬件原理图
① 串口工作于方式 。 发送方式, X (30用 R D P .) 于发送操作命令 , X (31用于串口时钟。 T D . P ) O R C为行信号输人端, O A 每完成一行的录音、 放音及搜索操作, 该端输出一个正脉冲。本例中将 R C接于 A 8C 1定 时器 。外部输人端 T A T 95 O (34 ,A P . C的计数值, ) R 对应当前的行地址, 可用于 对录放信息的精确定位。 0 D 内部 功 放 驱 动 能 力 较 低, 接 一 个 3I S 外 L 8 可驱动 。5 的喇叭。 M36 . W
ISD4004语音芯片的工作原理及其在智能控制系统中的应用(1)
相输入端 信号通过耦合电容输入,最大幅度为峰峰值 16 mV
2 400 行) 该信号 175 ms 保持高电平 低电平为 25 ms 快
音频输出 (AUD OUT) 提供音频输出 可驱动 5 kÙ 的负载
进模式下 RAC 的 218.75 ìs 是高电平 31.25 ìs 为低电平
片选 (SS) 此端为低 即向该 ISD4004 芯片发送指令 两条 该端可用于存储管理技术
Phonetic Chip ISD4004 and Its Application in Intelligent Control System
ZHANG Chang-nian, WANG Zhen-hong, LI Yang
(North China University of Technology, Beijing 100041)
元器件应用
ISD4004 语音芯片的工作原理及其 在智能控制系统中的应用
张常年 王振红 李 洋
北方工业大学工学院 北京 100041
摘要:ISD4004 是一种采用 CchipCorder 专利技术的语音芯片 即此芯片无须 A/D 转换和压缩就可以直接储存
没有 A/D 转换误差 在一个记录位 bit 可存储 250 级声音信号 相当于通常的 A/D 记录的 8 倍 片内集成了晶体
引脚的数据 在下降沿将数据送至 MISO 引脚
2 SPI 接口指令 如表 1
表 1 SPI 接口指令
指令 POWERUP SET PLAY PLAY SET REC REC SET MC MC STOP STOP WRDN RINT
8 位控制码<16 位地址> 00100XXX<XXXXXXXXXXXXXXXX> 11100XXX< A15-A0> 11110XXX< XXXXXXXXXXXXXXXX > 10100XXX<A15 –A0> 10110XXX< XXXXXXXXXXXXXXXX > 11101XXX<A15 –A0> 11111XXX< XXXXXXXXXXXXXXXX > 0X110XXX< XXXXXXXXXXXXXXXX > 0X01XXXX< XXXXXXXXXXXXXXXX > 0X110XXX< XXXXXXXXXXXXXXXX >
ISD4004系列录放芯片在电话查询系统中的应用
图 5 是一个用 A T89C8252 构成的 48min 语音 查询系统的实例 ,该产品已在一家公司搬迁时 ,用于 公司新电话号码的查询中 。
该 系 统 采 用 三 片 ISD4004 , 控 制 器 采 用 A T89C8252 。ISD4004 的片选信号SS由控制器的脚
36 (228)
图 1 ISD4004 的内部结构框图
《电子技术》1999 年第 5 期
ISD4004 与普通的录音/ 重放芯片相比 ,有如下 特点 :
(1) 记录的声音没有段长度的限制 ; (2) 声音的记录无需 A/ D 转换和压缩 ,放音自 然 、完美 ; (3) 快速闪存作为存储介质 ,无须电源可保存 数据长达 100 年 ,重复记录 10 000 次以上 ; (4) 内置的闪速存储器 ,记录时间长达 16min ; (5) 接口简单 , SPI 接口提供全部数据和控制 操作 ; (6) 3V 电压供电 , 待机耗 电 1μA , 放 音 耗 电 30mA ,录音耗电 25mA 。
ISD4004 可以设置放音或录音的起始地址 ,但 是无法设置放音或录音的结束地址 ,给存储器的利
图 3 SPI 的控制位示意图
《电子技术》1999 年第 5 期
(229) 37
用带来了极大的不便 。但器件提供了地址计数器指 针 ,通过读 SPI 总线的 M ISO 的寄存器的 P0~ P10 位和 EOM 位 ,就知道该信息的结束地址 ,通过查询 信息的起始地址 ,就可以唯一确定一条信息的位置 。
停止当前操 作
S TO P PO WDN
ቤተ መጻሕፍቲ ባይዱ
0 X01 X〈XXXXXXXXXXX〉
停止当前操 作并进入待 机状态
一种基于单片机控制的ISD4004语音芯片应用电路
一种基于单片机控制的ISD4004语音芯片应用电路1 前言ISD4004 语音芯片是由美国ISD 公司推出不久的新产品。
关于该语音芯片的引脚说明以及内部电路等,因为很容易在ISD 公司提供的芯片资料中查到,笔者就不在本文作过多的描述。
只简单对其特点做一介绍。
与普通的录音/重放芯片相比,ISD4004 具有如下特点:首先是记录声音没有段长度限制,并且声音记录不需要A/D 转换和压缩。
其次,快速闪存作为存储介质,无需电源可保存数据长达100 年,重复记录10000 次以上。
此外,ISD4004 具有记录时间长(可达16 分钟,本文采用的为8 分钟的ISD4004 语音芯片)的优点。
最后,ISD4004 开发应用具有所需外围电路简单的优点,这一点从本文介绍的其在语音报站器中的实际应用中可以体会到。
2 硬件电路设计在目前市场上流通的语音报站器,大多采用的不是ISD4004 系列的芯片。
这固然由于ISD4004 推出不久以及其价格偏高有关。
但随着ISD4004 应用的增多以及价格的回落,再加上ISD4004 系列芯片本身又具有的多次重复录放、自带存储器、使用简单等优点。
可以相信,在语音报站器中采用ISD4004 系列语音芯片也是完全可行的。
笔者设计了该装置的硬件电路并进行了上车调试,取得了较为满意的效果。
本文讨论的语音报站器主要是指装在车上的放音电路,不包含录音电路,在实际应用中由录音电路完成报站内容的录音工作,并存储到语音芯片中。
本文主要结合ISD4004 在放音电路中的使用来介绍ISD4004 的典型应用。
2.1 硬件电路图本文讨论的报站器主电路主要由单片机89C52 和ISD4004 构成。
该系统的硬件电路连接如图1 所示:。
16分钟单片语音录放电路ISD4004
16分钟单片语音录放电路ISD4004美国ISD 公司生产的语音录放电路系列品种齐全,不仅有单片6~20 秒的、32~120 秒和60~240 秒的,还有非单片时间长达1 小时(外接存储器)的语音电路。
ISD4000 系列中的4002、4003 和4004 单片录放时间分别为2~4 分钟、4~8 分钟和8~16 分钟,这是现阶段音质最好的单片录放时间最长的语音电路。
ISD4004 和该公司其他品种一样,仍然采用直接模拟量存储(DAST)专利技术,信号无需经过D/A、A/D 转换,数字压缩和语音合成等复杂的数字信号处理过程,减少失真,所以音质好;由于4004 内含大容量的闪速存储器(2840K)一片(单片)电路就能实现长达16 分钟的录单或放音;外围电路简单,体积小;3V 单电波供电;耗电省,维持电流仅1μA;可以和微控制器或微总线接口;根据取样频率8.0、6.4、5.3、4.0kHz 不同,相应的录放时间有8、10、12、16 分钟,供客户选择;封装形式多种多样,除常见的PDIP、SOIC、TSOP 外,还有和芯片尺寸大小差不多的微型封装(CSP);既可适于民用,又有工业级(-40~+85℃)产品。
ISD4004 PDIP/SOIC 双列直插式和小型封装各引脚功能如下:VCCA(18 引脚)、VCCD(27 引脚)分别为模拟信号和数字信号3V 电源正端;VSSA(11、12、23)、VSSD(4)分别为上述两种信号电流接地引脚;ANA IN+、-(16、17)分别为模拟信号非反相和反相信号输入引脚;AUD OUT(13);音频信号输出端(负载阻抗5kΩ),可经交流模耦合到下一级放大器;SS(1):当该引脚出现低电平时,此片4004 被选中;MOSI(2)、MISO(3):4004 和微控制器或微总线接口端;。
ISD4004语音合成系统在铁路车辆监控中的应用
系统软件设计 由电路设计可知 # 系统软件设计的关键是 -B&C$
.&%> $中断引脚 (8= 等 & ()’*##* 工作于 )4( 同步串行数据传输协议 #在录
放音操作检测到存储器末尾 <?@ 或内部 A<. 标志时
单片机与 ()’*##* 之间的串行通信 & 其软件部分功能 主要包括 ’ 串行数据命令字控制录音 % 放音 $ 串行 数据 地址字控制录音 % 放音所操作的语音段在 ()’*##* 中 的段数 ! 即语音存储位置 " 及语音组合 $ 检 测外部硬件 中断 %内部定时器中断以打断录放音及控制放音遍数 $ 按键识别及 %&’ 显示操作类型及语音段数 &
,8,9(8: &" #I! ! !" ,8,9(8/ !+ ,;’(<9<;= ,;’9<;= .(&F<42<8A 4!C $* F,& FC ,;’(<9<;= 接 (8=! $C (8= !# 1 功放和扬声器 $" E&%> ,.9&,4 !* &!! ()’*##*/!".
+ &* 4!! $ #I$$ ! 4!# $4!+ ! F* !# 1 &C #I! ! !H
(8= 引脚会变为低电平 # 因此通过对 .<)(#.&%> #)) # (8=等引脚的操作就可以实现语音的录入和回放 &
在此 #采用 -B&C$ 的通用 (0< 口中的 4! 口对 ()’D
*##* 的引脚进行控制 # 其中 4!##4!! #4!+ 引脚分 别 接 ()’*##* 的串行时钟 )&%>%数据输入 .<)(%片选 )) 引
ISD4004语音芯片在电话远程控制系统中的应用
ISD4004语音芯片在电话远程控制系统中的应用摘要: ISD4004语音芯片以其独特的优势广泛应用于各种语音系统。
本文结合ISD4004芯片的特点,介绍了ISD4004芯片在电话远程控制系统中的实际应用,并对其功能和在此系统中硬件电路的实现及软件设计做了简单介绍。
关键词:ISD4004 单片机电话远程控制系统随着通信技术的发展,电话机已成为现代社会生活的必需品,而利用电话机对家用电器进行远程控制也已成为可能。
由AT89系列单片机作为中央处理器,双音多频发送接收器MT8888进行远程通信,ISD4004作为语音处理芯片的电话远程控制系统可应用于智能控制、工业控制等领域。
其主要功能如下:(1)家电远程控制功能:可通过电话异地拨号,经密码验证后,在语音的提示下,可进行远程控制家电。
(2)电话录音功能:通过电话直接录音,操作时均为语音提示。
(3)一键呼出功能:当家里有紧急情况时,通过一键呼出按钮, 主机会自动将已设置好的几组号码循环拨出,发出事先录制好的求救信息。
在电话控制系统中,语音部分使本系统更加人性化,通过语音提示,操作更加方便、快捷。
语音的实现是通过单片机与语音芯片之间的通信来完成的,此系统中采用的语音芯片是ISD4004。
ISD4004 是由美国ISD 公司制造的一种语音芯片,其特点是单片录放时间较长,可长达16分钟;片内信息存于闪烁存贮器中,可在断电情况下保存100年;反复录音可达10万次;拥有高质量、自然的语音还原技术。
1 硬件电路设计在电话远程控制系统中,ISD4004与单片机及其他器件的硬件电路连接,单片机P2.0接ISD4004的串行输入引脚MOSI,从该引脚读入放音的地址,P2.1接ISD4004的片选引脚SS,控制ISD4004的选通与否,P2.2接ISD4004的串行时钟引脚SCLK。
音频信号输出引脚AUDOUT通过音频功放LM386与扬声器连接。
麦克风的两端分别与录音信号同相和反相输入端连接。
ISD4004语音芯片在语音报站器中的应用
ISD4004 语音芯片在语音报站器中的应用 摘要ISD4004语音系列芯片是美国ISD公司推出的产品,具 有可多次重复录放、存储时间长、使用时不需扩充存储器、所需外围电路 简单等特点。
介绍了ISD4004芯片在语音报站器中的一个实际应用,并说明 了其功能和使用方法,从而使读者对ISD4004系列语音芯片的使用 有个初步的了解。
关键词 4004 单片机语音报站器 ISD4004语音芯片是由美国ISD公司推出的新产品。
关于该语音芯片的引脚说明以及内部电路等,很容易在ISD公司提 供的芯片资料中查到,笔者就不进行过多的描述,只简单地对其特点做一 介绍。
与普通的录音/重放芯片相比,ISD4004具有如下特点首先, 记录声音没有段长度限制, 并且声音记录不需要A/D转换和压缩; 其次, 将快速闪存作为存储介质,无需电源即可保存数据长达100年,重复记 录10000次以上;此外,ISD4004具有记录时间长可达16分 钟,本文采用的为8分钟的ISD4004语音芯片的优点;最后,IS D4004的开发应用具有所需外围电路简单的优点,这一点从本文介绍 的其在语音报站器中的实际应用可以体会到。
1语音报站器硬件电路设计 目前市场上流通的语音报站器,大多采用的不是ISD4004系列 的芯片,这与其刚推出不久以及价格偏高有关。
但随着ISD4004应用的增多以及价格的回落,再加上ISD4 004系列芯片本身的优点,可以相信,在语音报站器中采用ISD40 04系列语音芯片是完全可行的。
笔者设计了该装置的硬件电路,并进行了上车调试,取得了较为满意 的效果。
图 1 报站器硬件电路连接图 本文讨论的语音报站器主要是指装在车上的放音电路,不包含录音电 路。
而在实际应用中,录音电路则完成报站内容的录音工作,并收录内容 存储到语音芯片中。
本文主要结合ISD4004在放音电路中的使用介绍ISD40 04的典型应用。
本文讨论的报站器主电路主要由单片机89C52和ISD400 4构成。
ISD4004系列语音芯片中文资料
ISD4004系列单片语音录放电路一、简述●单片8至16分钟语音录放●内置微控制器串行通信接口●3V单电源工作●多段信息处理●工作电流25-30mA,维持电流1μA●不耗电信息保存100年(典型值)●高质量、自然的语音还原技术●10万次录音周期(典型值)●自动静噪功能●片内免调整时钟,可选用外部时钟ISD4004系列工作电压3V,单片录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中。
芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。
芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。
芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和"金属声"。
采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。
二、引脚描述电源:(VCCA,VCCD)为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。
地线:(VSSA,VSSD)芯片内部的模拟和数字电路也使用不同的地线。
同相模拟输入(ANA IN+)这是录音信号的同相输入端。
输入放大器可用单端或差分驱动。
单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3KΩ电阻输入阻抗决定了芯片频带的低端截止频率。
差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000系列相同。
反相模拟输入(ANA IN-)差分驱动时,这是录音信号的反相输入端。
基于51单片机的ISD4004语音控制器
电子报/2006年/4月/23日/第015版单片机应用基于51单片机的ISD4004语音控制器成都吴圣江美国华邦公司的ISD4004系列语音芯片,应用电路简单、不怕掉电、存储量大、编程方便,适合于不同的应用场合。
该系列有4种规格的芯片,分别是8分钟、10分钟、12分钟和16分钟。
由于不同规格的芯片内部的存储器容量相同,录音时间的长短是通过降低采样频率来实现的,因此,如果需要较好的音质,则应该选用录音时间较短的产品。
该系列的语音芯片必须使用SPI接口与外部的微控制器或微处理器通信,而低档的AT89×51系列单片机没有专门的硬件SPI模块,故笔者使用软件模拟SPI的方式来控制ISD4004(下面简称ISD)。
硬件设计:考虑到该装置的操作易用性和方便性,使用了红外遥控和液晶显示来实现友好的用户交互界面。
红外遥控可以使用普通的家用遥控器,液晶部分采用Nokia的3310手机屏。
这主要是基于以下原因:普通的中文液晶显示模块价格不菲(100元以上),英文的液晶模块使用者又不大习惯,而3310液晶屏支持中文显示,价格十分便宜(成都报价仅15元),美中不足是需要自制一块液晶背光板。
语音放大部分用一片TDA2822,外围仅几个元件,十分简单。
硬件电路见图1。
控制部分:AT89S51单片机的INT0脚接一体化红外接收头的数据输出端。
当接收到红外遥控信号时,红外接收头输出一连串的高、低电平,此时单片机产生外部中断,同时结合其内部的软件定时器,分别计算红外编码高、低电平的持续时间,并以此判断红外编码,此部分在软件中有详细的注释。
读取的红外编码有4组,分别是系统码及其反码,信息码及其反码。
在INT0中断服务程序读取码值之后,将其放在一个数组中,红外码格式如图2所示。
中断服务程序将头脉冲和结束码自动丢弃。
系统码用于区分不同的遥控器,以防干扰。
3310液晶显示不是本文介绍的重点,读者也可选用其他显示方式。
由于ISD使用的是3V电源,而89551使用的是5V电源,因此在单片机的I/O口输出时,应该串10kΩ电阻后再接到ISD的SPI接口,而MISO口是由ISD输出、89S51输入的,为使89S51能准确地识别其电平,要在ISD的MISO脚加一只NPN三极管接成的反相器,向89S51的MISO 提供足够电压。
ISD4004语音器件信息快进功能的巧妙应用
微 处 理 机M I CROPROCESS ORSI S D4004语音器件信息快进功能的巧妙应用周志勇,徐家恺,刘 兵(南京大学电子科学与工程系,南京210093) 摘 要:简单介绍了I S D4004系列单芯片语音录放器件的工作原理,提出了利用单片机对I S D 器件进行操作控制,特别是利用I S D信息快进功能进行快速搜索语音段的地址,实现语音段的随机录音和组合放音。
关键词:I S D4004;信息快进;单片机;F LASH;串行通信接口中图分类号:TP368.1 文献标识码:A 文章编号:1002-2279(2007)05-0104-03I SD4004Vo i ce D evi ce s’M e s sage C ue i ng and its I ngen i o u s App li ca ti o nZHOU Zhi-Yong,XU J ia-kai,L I U B ing(D epart m ent of Electronic Science and Engineering,N anjing U niversity,N anjing210093,China) Abstract:This article intr oduces the p rinci p le of I S D4004series single-chi p voice record/p layback devices;bring up an ingeni ous way t o realize address quick search,random recording and combined p layback f or voice seg ments with the contr ol of a single-chi p M icr ocomputer.The article als o gives hard ware design bl ock diagra m,circuit diagra m and fl ow chart of s oft w are.Key words:I S D4004;Message Cueing;Single-chi p M icr ocomputer;F LASH;SP I1 引 言近年来,语音存储大量使用数字技术,将模拟信号经过A/D转换和压缩处理后存储到EEPROM或F LASH中,在量化和压缩过程中容易造成量化噪声和“金属声”。
ISD4004语音芯片的工作原理及智能控制系统中的应用
摘要:ISD4044 是一种采用ChipCorder 专利技术的语音芯片。
此芯片无须A/D 转换和压缩就可以直接储存,没有A/D 转换误差,在一个记录位(BIT)可存储250级声音信号,相当于通常的A/D 记录的8 倍。
片内集成了晶体振荡器、麦克前置放大器、自动增益控制等,只要很少的外围器件,就可以构成个完整声音录放系统。
本文介绍了ISD4004 的原理、特点、功能及其在智能控制系统中的应用。
关键词:ISD4004 单片机89C511 概述ISD4004 是美国ISD 公司制造的一种新款语音芯片。
与ISD 其它系列语音产品不同的是,ISD4004是一种微控制器“从”设备,而“主”控制器可以是内置有SPI 兼容接口的微控制器,也可以用I/O 仿真SPI通信协议。
ISD4004 系列工作电压为3V,单片录放时间为8~16 分钟,音质好,适用于移动电话及其它便携式电子产品中。
该芯片采用CMOS 技术,内含振荡器、抗混叠滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。
芯片的所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或Micr owire)送入。
ISD4004 采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能非常真实、自然地再现语音、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。
采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100 年(典型值),反复录音10万次。
2 引脚功能描述ISD4004 的引脚排列如图1 所示,各引脚功能如下:电源(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚小,模拟和数字电源端最好分别走线。
尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。
基于ISD4004和51单片机的公交车报站系统含程序和原理图
第
随着科学技术的日益发展和进步,无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。
达到准确报站的目的。
然而,这三种方式都不太适合乡镇的发展现状。第一种设备造价过高,定位精度也难以达到要求;第二种站台建设投入较大,站点一旦变更,射频发射装置即须移动,较为麻烦;第三种需要公交线路严格固定,稍有改变,报站就难以准确。为此,本文试图设计一种既方便易行又经济实惠的公交车自动报站系统。
The system includes micro-controller module, voice recording and playback circuitry, station number, station name display modules, interface circuit of the keyboard, reset circuit and power supply. The system uses 51 Single-chip Microcomputer to control speech synthesis chip and liquid crystal display module. Speech synthesis chip ISD4004 adopts the patented technology for semiconductor memory directly simulated data storage of analog voice, that analog voice data is written directly to the individual storage units, not through A/D and D/A conversion, so we can receive the natural emergence of better voice effects and avoid the quantization of noise and distortion caused by the quantization and compression in the generally solid voice circuit. Besides, LCD makes the reporting system more practical.
ISD4004 中文资料与基本程序
ISD4004 中文资料与基本程序-语音芯片1.ISD4000系列语音录放电路分为以下三个系列:2.4002-120/150/180/240 2、2.5、3、4分钟3.4003-04/05/06/08M 4、5、6、8分钟4.4004-08/10/12/16M 8、10、12、16分钟4004系列独有的特性除前面介绍的ISD语音电路主要特性外,4000系列独有的特性为:1. 3v单电源供电。
2.内置微机串行通信接口。
五、典型应用线路图/********************************************************************ISD4004基本程序 AVR meag16Pafone SPI端口 1M内部晶振13th April 2007 It took me about 3 days********************************************************************/#i nclude<iom16v.h>#i nclude<macros.h>#define uchar unsigned char#define DDR_SPI DDRB#define DD_MOSI 5#define DD_SCK 7#define DD_SS 4//*******************************延时100ms*****************************void delay100ms(){unsigned char i,j;for(j = 0;j<316;j++)for(i = 0;i<316;i++);//1MHz的晶振}//************************初始化SPI***********************************void SPI_MasterInit(){DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK)|(1<<DD_SS);//设置MOSI,SCK,SS为OUTPUT,其它为INPUTSPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|BIT(SPR1)|BIT(DORD);//SPI使能,主机方式,设置SCK为fosc/1 28,上升沿,LSB First}//****************************数据传送函数**********************************void SpiTransmit(unsigned char data){SPDR = (unsigned char)data;while(!(SPSR&(1<<SPIF)));//Wait for transmission finish}//****************cmdSend*********************************void cmdSend(unsigned int Addr,unsigned char cmd){PORTB = PORTB&(~(1<<DD_SS));//变低SSNOP();//为保证那个500nsSpiTransmit(Addr); //传地址低位SpiTransmit(Addr>>8); //传地址高字节SpiTransmit(cmd); //传命令PORTB = PORTB|(1<<DD_SS);//变高SSNOP();//为保证那个500ns}//*************************放音函数**********************void play(unsigned int addrs){cmdSend(0x0000,0x20);//Power updelay100ms();//上电延时cmdSend(addrs,0xe0);//发地址值为addr的Setplay命令cmdSend(0x0000,0xf0);//发Play命令}//************录音函数*******************************void rec(unsigned int addrs){cmdSend(0x0000,0x20);//发POWER UP命令;delay100ms();//等待TPUD(上电延时);cmdSend(0x0000,0x20);//发POWER UP命令cmdSend(addrs,0xa0);//发地址值为00的SETREC命令;cmdSend(0x0000,0xb0);//发REC命令。
isd4004 ds18b20 89c52温度报警器
摘要温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发和广泛的应用。
本文设计了一种基于STC89C52单片机的温度检测及报警系统。
该系统将多个单总线温度传感器DS18B20并接在控制器的一个端口上,对各个传感器温度进行多路循环采集,将采集到的温度值与设定值进行比较,当超出设定的上限温度时,通过语音报警系统发出报警信号。
该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。
关键词:数字温度传感器;DS18B20;STC89C52。
AbstractTemperature detection and control of industrial production process, one of the more typical applications, with sensors in production and life is more widely used, using a new single-bus digital temperature sensor to achieve the test and control the temperature more rapidly development, this paper is designed based on STC89C52 temperature detection and alarm systems. The system will be more than a single-bus temperature sensor DS18B20 and connected to a port on the controller, the temperature sensors on each loop collection, the temperature will be collected to compare with the set value, when the temperature exceeds the upper limit set , Through the buzzer alarm. The system design and layout simple and compact structure, small size, light weight, anti-jamming capability, cost-effective to expand convenience, in large warehouses, factories, construction and other areas of intelligent multi-point temperature measurement in a wide range of applications prospects.Key words: digital temperature sensor; DS18B20; STC89C52.目录摘要 (I)Abstract (II)第一章绪论 (1)1.1课题意义和发展情况 (1)1.2单片机的概述 (3)第二章设计方案的论证 (5)2.1主控制器的选择 (5)2.2温度传感器的选择 (6)2.3语音报警模块的选择 (7)2.4系统总体设计方案: (8)第三章系统的硬件设计 (9)3.1 测温电路的设计 (9)3.2 ISD4004原理 (16)3.3 LCD1602显示电路 (19)3.4 最小系统电路设计 (23)3.5 实时时钟电路 (24)3.6存储部分采用AT24C64来存储数据 (24)第四章系统的软件设计 (26)4.1主程序设计 (26)4.2部分程序设计 (27)第五章结论与展望 (37)参考文献 (39)附录:设计部分程序 (41)第一章绪论1.1课题意义和发展情况1.1.1选题的意义,内容及背景防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。
一种基于单片机控制ISD4004语音芯片应用电路
一种基于单片机控制ISD4004语音芯片应用电路
冯志慧;许利军;薛鹏涛;翁梅;余华;周志强
【期刊名称】《微计算机信息》
【年(卷),期】2003(000)007
【摘要】ISD4004语音系列芯片是美国ISD公司推出的产品,具有多次重复录放,存储时间长,使用时不需扩充存储器,所需外围电路简单等特点.本文将结合ISD4004芯片在语音报站器中的一个实际应用,对其功能和使用方法做一简单介绍,从而使读青对ISD4004系列语音芯片的使用有个初步的了解.
【总页数】2页(P55-56)
【作者】冯志慧;许利军;薛鹏涛;翁梅;余华;周志强
【作者单位】450002,河南农业大学现代教育技术部;450002,河南农业大学现代教育技术部;450002,河南农业大学现代教育技术部;450002,河南农业大学现代教育技术部;450002,河南农业大学现代教育技术部;450002,河南农业大学现代教育技术部【正文语种】中文
【中图分类】TP302.7
【相关文献】
1.ISD4004语音芯片的工作原理及在智能控制系统中的应用 [J], 张常年;王振红;李洋
2.ISD4004语音芯片的工作原理及其在智能控制系统中的应用 [J], 张常年;王振红;李洋
3.ISD4004语音芯片在电话远程控制系统中的应用 [J], 高艳
4.基于ISD4004语音芯片的语言学习机的设计 [J], 颜拥军; 刘振宇; 刘立; 许刚理
5.基于单片机仿真器的单片机应用电路板故障测试系统的研究 [J], 覃战冰;邓斌因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISD4004应用电路及程序
2011年08月05日 09:42 本站整理作者:秩名用户评论(1)
关键字:ISD4004(7)
ISD4004应用电路图:
ISD4004电压是3.3V,所以本把5V的电压串联了两个二极管,这样得到的电压会是3.6伏左右,已经符合ISD4004的供电电压,这个图已经是很简化的一个图了,录音输入只采用负端单端输入方式,本人已经试过可以用。
信号放大和功率放大电路:
运放采用典型的运放芯片NE5532,对ISD4004信号进行跟随和放大,为后级功放提供了保障。
ISD4004驱动程序如下:
个人亲自测试并应用过,此程序肯定可以用。
但v4扦测未通过
#include
#include
#define uchar unsigned char
#define uint unsigned int
// ISD4004 Control bit
#define SS_1 (PORTB |= BIT(0))
#define SS_0 (PORTB &= ~BIT(0))
#define SCLK_1 (PORTB |= BIT(1))
#define SCLK_0 (PORTB &= ~BIT(1))
#define MOSI_1 (PORTB |= BIT(2))
#define MOSI_0 (PORTB &= ~BIT(2))
#define MISO_1 (PORTB |= BIT(3))
#define MISO_0 (PORTB &= ~BIT(3))
uchar temp,flag;
void delay_ms(uint i)
{
uint a,k;
for(a=0;a
void Send_Data(uint ISD4004Data)
{
uchar i;
for(i=0;i> i;
temp= temp & 0x01;
if(temp) {MOSI_1;}
else {MOSI_0;}
SCLK_0;
SCLK_1;
MOSI_0;
}
}
void PowerUp(void)
{
SS_0;
Send_Data(0x20);
SS_1;
}
void Stop(void)
{
SS_0; //先把SS拉低
Send_Data( 0x10);
SS_1; //把SS拉高,
}
void Record(uint RecAddr)
{
PowerUp();
delay_ms(50);
PowerUp();
delay_ms(100);
SS_0;
Send_Data((uchar)RecAddr); Send_Data((uchar)(RecAddr>>8)); Send_Data(0xA0);
SS_1;
SS_0;
Send_Data(0xB0);
SS_1;
}
void Play(uint Address)
{
PowerUp();
delay_ms(50);
SS_0;
Send_Data((uchar)Address); Send_Data((uchar)(Address>>8)); Send_Data( 0xE0);
SS_1;
SS_0;
Send_Data(0xF0);
SS_1;
}
//*************************单片机端口初始化*************************** void port_init()
{
DDRA = 0xFF;
PORTA = 0x00;
DDRB = 0xFF;
PORTB = 0xFF;
DDRC = 0x00;
PORTC = 0xFF;
PINC = 0xff;
DDRD = 0x00;
PORTD = 0xff;
}
////////////////////////
void main()
{
port_init();
while(1)
{
if(!(PIND&0x10)&&(flag==0))
{
delay_ms(5);
if(!(PIND&0x10)&&(flag==0))
{
flag = 1;
//Record(0x600);
while(!(PIND&0x10));
}
}
if(!(PIND&0x10)&&(flag == 1))
{
delay_ms(5);
if(!(PIND&0x10)&&(flag == 1))
{
flag=2;
Stop();
while(!(PIND&0x10));
}
}
if(!(PIND&0x10)&&(flag == 2)) {
delay_ms(5);
if(!(PIND&0x10)&&(flag == 2)) {
flag=0;
Play(0x600);
while(!(PIND&0x10));
}
}
}
}。