ISD1420有没有替代品?
中青世纪 www.atvoc.com
目前, WINBOND 公司已经通告各大代理商, ISD1420 和 ISD2500 系列芯片已经宣布停产,各大代理商已经不接任何关于 ISD1420 的定单,所以原装 ISD1420P/S/SI 均已全线断货;目前市场中 ISD1420 的存货均为国内封装,即 OEM 产品,有 DIP , SOP , COB 三种封装形式,其性能和原装(菲律宾或台湾省封装)相当,但随着 ISD1420 及 2500 系列裸片的停产,国内封装的芯片也即将在市场中消失。由于 ISD1420 与 2500 系列芯片在使用上及即将面临的市场状况基本相同,所以本文仅以 1420 为例进行阐述,但同样适用于 2500 系列芯片。
随着 ISD1420 系列芯片的停产,原有的,以及正在研发中的以 1420 系列芯片为核心的录放电路产品,必然面临着产品转型的问题。那么,有没有一种芯片可以和 1420 系列完全兼容呢?答案是否定的, WINBOND 公司新推出的 1600 系列和 1700 系列,与 1420 的控制模式并不相同。只是在录放音时间上,涵盖了 1420 和 2500 系列芯片的录放音秒数。 1600 系列芯片是单段录放芯片,与现在的 1820 芯片类似,由于操作比较简单, 应用面很窄,就不过多赘述。而 1700 系列则是多段可录放的芯片,目前来看, WINBOND 公司是想用 1700 系列来代替 1420 、 2500 、 4000 全系列的语音芯片, 1700 系列芯片的录放时间覆盖了 20 秒到 960 秒,控制方式上也把手动控制模式和 SPI 串行控制模式结合一体。本文的主旨就是简要介绍一下如何使用 1700 在功能上代替 1420 ,给大家一个直观 映像——其实用 1700 进行产品转型并不困难。
与 1420 用并行地址口线控制不同, 1700 系列是通过 SPI 协议来对芯片进行精确的操控。通过 SPI 协议可以明显节省单片机的控制口线,方便设计者规划线路板。另外,如果您觉得产品中加入单片机太麻烦,那么您可以选择使用 1700 系列的按键模式,该模式通过按键即可对 1700 系列进行录音,放音,快进,擦除,复位,调整音量等几乎所有的功能。
1700 的按键模式 :
用过 1420 的朋友,应该知道该芯片有两种控制模式:一种是地址模式,另一种是操作模式。地址模式是通过改变并行地址线来输送语音的起始地址,达到多段录放音的功能。而操作模式是通过一些管脚定义来对芯片进行录放操作。
而 1420 的地址模式必须要精确计算录音时间与地址单元的换算,才能确定每段语音的起始地址,除非使用我公司生产的 ISD1425 高级语音编程拷贝机 进行自动分段录音并将地址读出,否则使用起来还是很麻烦的。而操作模式虽然可以不用担心语音地址的问题,但在多段录放上的操作略显繁琐,完成一个功能要进行多个管脚的操作,使用起来不是很方便。
相对 1420 的地址模式和操作模式, 1700 也有两种控制方式:独立按键模式和 SPI 接口控制模式。我们可以把 1700 的按键模式看作是 1420 系列的操作模式。同样是用对管脚的定义来进行操控。在介绍之前,让我们先来看一下 1700 的电路图。
图中 /REC , /PLAY , /ERASE , /FWD , /VOL , /RESET , /FT 管脚分别对应的功能定义是:录音,放音,擦除,快进,音量控制,复位,直通功能。这些管脚均可用按键对其控制,其中擦除,音量控制等操作与本文关系不大,就不在这里赘述,有兴趣的朋友可以去中青公司网站 www.atvoc.com 了解相关内容。
/REC 管脚是低有效, 电平变低后开始录音,直到电平拉高或者芯片录满时结束。录音结束后,录音指针自动移向下一个有效地址。而放音指针则指向刚刚录完的那段语音地址
/PLAY 管脚的操作有两种模式,分别是边沿触发和电平触发,都由 PLAY 管脚触发。当 /PLAY 管脚电平变低便开始播放当前段的语音,并在遇到 EOM 标志后自动停止。放音结束后,播放指针停留在刚播放的语音起始地址处,当管脚电平再次拉低时会重新播放刚才的语音。如果在放音期间点按放音键会停止放音;如果一直按住放音键,使 /PLAY 管脚电平持续为低,那么会将芯片内所有语音信息播放出来,并且循环播放直到松开按键将 PLAY 管脚电平拉高。
/FWD 管脚拉低,会启动快进操作。快进操作用来将播放指针移向下一段语音信息。当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。该管脚还要结合芯片当时的状态来决定快进的效果:
A)?如果芯片在掉电状态并且当前播放指针的位置不在最后一段,那么指针 会前进一段,到达下一段
语音处?
B)?如果芯片在掉电状态并且当前播放指针的位置在最后一段,那么指针会返回到第一段语音处。
C)?如果芯片正在播放一段语音(非最后一段),那么此时放音停止,播放指针前进到下一段,紧接着播放新的语音。
D)?如果芯片正在播放最一段语音,那么此时,放音停止,播放指针返回到第一段语音,紧接着播放第一段语音?
/RESET 管脚拉低后,芯片复位,录、放音指针到最后一段语音信息处。
由以上介绍可以看出, 1700 系列按键模式来控制多段语音的操作,其实就是在控制录、放音指针。很像 1420 操作模式的连续地址录放功能,和信息快速检索功能。
需要注意的是,给芯片 /RESET 管脚低电平使其复位后,放音指针和录音指针在最后一段语音信息处,比如说芯片中录入 3 段语音,复位后 , 按 PLAY 键后会播放第 3 段语音,而按 REC 键则录制新的第 4 段语音。这种设计区别于以往 ISD 芯片复位后地址指针在第一段语音信息处,这是出于保护芯片录音内容考虑的。因为根据经验,在 2560 系列, 4000 系列芯片中,都有过芯片上电丢失第一段语音的现象。第一段语音一旦丢失,补录会非常麻烦,必须精确掌握录音时间,否则很容易覆盖掉后面的语音内容。而如果复位或上电后语音地址在最后一段,那么即使语音丢失,直接录音就可以,而不用担心覆盖住原先的语音内容。
当然,如果您想用单片机控制,又觉得 SPI 协议太复杂,那完全可以将单片机口线接到 1700 系列按键模式的控制管脚,这些管脚都是低有效,只要通过单片机口线给出低脉冲,即可对芯片进行操控。需要注意的是, /RESEC 管脚的低电平至少需要保持 1 μsec 。
那么,综上所述,通过控制 /FWD 管脚来选段,控制 /REC 、 /PLAY 管脚进行录、放操作,即可轻松实现多段录、放语音的功能。实际在控制上要比 1420 和 2560 还要简单,并且功能上更加强大,更加人性化
1700 的 SPI 控制模式
1700 芯片的 SPI 控制模式相对 4000 系列芯片功能更为强大,但相对来说,使用也较复杂一些, 1700 提供了多达 23 条控制指令,并且控制字最多可达 6 字节。这些控制命令可以对 1700 精确的控制,甚至可以精确到一个存储单元。 1700 内部有各种状态寄存器,可以通过 MISO 管脚读出芯片当时的状态。
1700 SPI 模式,只需 4 根口线即可对 1700 进行操控,极大节约了单片机口线。由于 SPI 控制操作与 1420 区别较大,不是本文重点,就不过多赘述。有兴趣的朋友可以上中青公司的技术论坛上( www.atvoc.com/bbs )一起讨论研究。今后几天本网站会陆续贴出关于 1700 系列 SPI 控制模式的介绍,敬请关注!
也可以到论坛里我们一起讨论http://www.atvoc.com/bbs
ISD1420 的芯片的功能
不知道您用的是ISD1420P 5W功放板、ISD1420语音组合精灵板、ISD1420T开发录放实验板……,同一系列的产品比较多,功用也不同。
有关功ISD1420语音组合精灵板的内容如下:
ISD1420语音组合精灵板是一块最小化的语音模块,用户可以不需要了解语音芯片及语音合成等的内部机理,只需简单的外部串口控制,就可以直接在喇叭上获得理想的语音合成效果。板上语音芯片可插拔,选用ISD1420芯片。
本精灵板结构紧凑体积仅半个烟盒大小,以标准组件模块方式灵活自如地应用在各种用户系统及各种产品空间中。该精灵板虽体积小巧但包含了大量最新的器件和技术成果,如先进数字音频录放芯片(ISD1420)音质好断电不丢信息可自由录入语音内容;片内可擦写程序存储器的单片机(AT89C2051)使控制灵活功能强大;低压差微功耗的三端稳压器(HT7251)使输入电源电压范围扩至5-12伏、板载LM386功放可提供0.5W的喇叭输出。独有语音黑匣子功能设计可以记录本板放音的历史过程,使本板不但具备语音合成输出功能,也增有数据采集、存储功能……
一、设计
1、分段录制好音源芯片ISD1420。将需要的语音单词先通过磁带录音机或多媒体电脑录制好,分成若干段(最大64段),再通过"ISD1425高级语音编程拷贝机"全部自动分段写入到ISD1420芯片中,将此音源芯片插入本精灵板。--ISD芯片可即录即放反复修改内容,内部语音及分段信息在断电后也能保持100年。
2、本精灵板上ISD1420语音芯片录好了31段如下常用字词:"幺(00)、零(01)、壹(02)、贰(03)、叁(04)、肆(05)、伍(06)、六(07)、柒(08)、捌(09)、玖(0A)、十(0B)、百(0C)、千(0D)、万(0E)、温度(0F)、度(10)、正(11)、负(12)、现在(13)、正常(14)、偏高(15)、偏低(16)、上升(17)、下降(18)、号(19)、小时(1A)、分(1B)、秒(1C)、点(1D),嘟(1E)"等。
★如需其它专业广播级语音,请另行联系。
3、根据需要编写系统串行通讯程序,指令如下:
标准5V的RS232串口协议方式(TX、RX双线,串口方式一、无校验):
串口速率: 4800 bit/s(12M晶振时置FA)
引导码: AA AA
静音延迟0.5秒:DD (在一句话中停顿一会,起逗号作用)
句结束放音存储码: FF (立刻语音合成放音,并存储该指令,以后可检查复听)
句结束存储无音码: FE (存储该指令,以后可检查复听;但现在并不组合放音出来)
TX端放音忙信号: 低电平有效 (空闲为高电平,语音合成放音期间变为低电平输出。)
数据码: 码址与语音段位序号对应,如00为第一段,01为第二段,02为第三段,…….每句话最多48段。
★厂家免费提供范例式的接口源程序供参考,也可以提供其他特定要求的接口设计。
4、举例说一句"嘟,现在温度126.5度,偏高。",应发码:AA AA 1E DD 13 0F 02 0C 03 0B 07 1D 06 10 DD 15 FF。
二、使用
1、性能:电源电压5-12V,静态电流13mA,工作电流150mA,接口电平5V,外接喇叭8W,输出音频功率0.5W。
2、合成:按需要和规定提供控制指令(5V的RS232方式),用户可使用控制单片机的任意口线模拟通讯,本板即调用ISD语音芯片的相应段语音内容连续播放出来,语音合成放音期间TX端输出低电平。
3、检听:按一下板上按钮,或给"AN"端提供高电平脉冲,即可听到最近一次的语音组合发音内容,再按则听到前一次的内容,如此可一直向前检索复听,一般可查听近2000段纪录,可方便地作为设备运行黑匣子使用。语音结束5秒钟后没有按键,系统即复位,再按键即播放最新一段的语音。持续按键不放即按从后到前的顺序依次播放以前的语音组合句的记录。
4、换片学习:如果更换语音芯片的内容或更换芯片,即需要先让系统学习一遍(将语音芯片的分段地址都搜索并存储起来)。将短路跳针置于1-2位置按一下AN按钮,喇叭里会发出一些零乱的声音,放音完毕后即将短路跳针置回2-3,系统断电再通电即可控制使用。
5、通讯问题:如果用户使用微机或主频是11.0592MHZ的单片机控制,本板上的12M晶振也应改为11.0592MHZ晶振。
ISD1420语音组合精灵板串行接口发码测试程序AT89C2051单片机 12MHz
**** 初始化 ****
ORG 0000H ;
主程序
MAIN: MOV SP,#10H ;
MOV P1,#0FFH ;
MOV P3,#0FFH ;
CLR ET1 ;
CLR ES ;
CLR EX1 ;
CLR EX0 ;
CLR EA ;
MOV R3,#0DDH ;
JJK: MOV R0,#40H ;键输入存储的首地址
MOV SP,#10H ;
MOV P1,#0FFH ;
MOV P3,#0FFH ;
MOV SCON,#50H ;串行口工作于方式1
MOV PCON,#00H ;SMOD=0=fosc/32 (SMOD=1=fosc/16)
MOV TMOD,#20H ;定时器1工作于方式2 自动装入的8位计数器
MOV TH1,#0FAH ;波特率设置4800 1位起始位 8位数据位 1位停止位
MOV TL1,#0FAH ;
WW2: SETB T1 ;
MOV P1,#0EFH ;
JB RXD,WWWL ;
AJMP FCCC ;
WWWL: JNB P1.0,WW0 ;
JNB P1.1,WW0 ;
JNB P1.2,WW0 ;
JNB P1.3,WW0 ;
MOV P1,#0DFH ;
JNB P1.0,WW0 ;
JNB P1.1,WW0 ;
JNB P1.2,WW0 ;
JNB P1.3,WW0 ;
MOV P1,#0BFH ;
JNB P1.0,WW0 ;
JNB P1.1,WW0 ;
JNB P1.2,WW0 ;
JNB P1.3,WW0 ;
AJMP WW2 ;
WW0:MOV A,P1 ;
CLR T1 ;
MOV 30H,#100 ;
DD0: JNB P1.0,$ ;
JNB P1.1,$ ;
JNB P1.2,$ ;
JNB P1.3,$ ;
ACALL Y100 ;
DJNZ 30H,DD0 ;
SETB T1 ;
CJNE A,#0E7H,JJ1 ;
MOV A,#01H ;
JJ1: CJNE A,#0D7H,JJ2 ;
MOV A,#02H ;
JJ2: CJNE A,#0B7H,JJ3 ;
MOV A,#03H ;
JJ3: CJNE A,#0EBH,JJ4 ;
MOV A,#04H ;
JJ4: CJNE A,#0DBH,JJ5 ;
MOV A,#05H ;
JJ5: CJNE A,#0BBH,JJ6 ;
MOV A,#06H ;
JJ6: CJNE A,#0EDH,JJ7 ;
MOV A,#07H ;
JJ7: CJNE A,#0DDH,JJ8 ;
MOV A,#08H ;
JJ8: CJNE A,#0BDH,JJ9 ;
MOV A,#09H ;
JJ9: CJNE A,#0EEH,JJ0 ;每一段的结束键
MOV A,#0AH ;
JJ0: CJNE A,#0DEH,JJA ;
MOV A,#00H ;
JJA: CJNE A,#0BEH,JJB ;
MOV A,R3 ;
CJNE A,#0DDH,JJBB ;
AJMP MAIN ;
JJBB: CJNE A,#0AAH,JJBB1 ;
AJMP FMM;
JJBB1: DEC R0 ;
AJMP AA ;输入结束
JJB: MOV R3,#00H ;
MOV @R0,A ;
INC R0 ;
AJMP WW2 ;没有输入结束键继续输入
AA: DEC R0 ;
MOV 3FH,#0AH ;
MOV 26H,#28H ;
AA0: MOV 20H,#00H ;
MOV 21H,#00H ;
MOV 22H,#00H ;
MOV 23H,#00H ;
MOV R1,#23H ;
AA1: MOV A,@R0 ;
CJNE A,#0AH,AA2 ;
MOV 18H,R0 ;
结果在 25H,24H 20H 21H 22H 23H
ACALL AH ;
调四位BCD码转换十六位二进制数 千 百 十 个
MOV 19H,R1 ;
MOV R1,26H ;
MOV @R1,24H ;
INC R1 ;
MOV @R1,25H ;
INC R1 ;
MOV 26H,R1 ;
MOV R1,19H ;
MOV R0,18H ;
DEC R0 ;
CJNE R0,#3EH,AA0 ;
AJMP FMM ;
AA2: MOV @R1,A ;
DEC R0 ;
DEC R1 ;
AJMP AA1 ;
FMM: MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV R1,26H ;
DEC R1 ;
FMM2: JB T0,FMM1 ;
T0=0 1420 T0=1 2500
DEC R1 ;
FMM1: MOV A,@R1 ;
ACALL OUT ;
DEC R1 ;
CJNE R1,#27H,FMM2 ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
MOV R3,#0AAH ;
AJMP JJK ;
发CCH CCH
FCCC: MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV A,#0AAH ;发码0AAH
ACALL OUT ;
MOV A,#0CCH ;
ACALL OUT ;
MOV A,#0CCH ;
ACALL OUT ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
MOV A,#0FFH ;发码0FFH
ACALL OUT ;
AJMP MAIN ;
******************** 发送子程序 **********************
OUT: MOV TMOD,#20H ;定时器1工作于方式2 自动装入的8位计数器
MOV SCON,#50H ;串行口工作于方式1
MOV PCON,#00H ;
SMOD=0=fosc/32 (SMOD=1=fosc/16)
MOV TH1,#0FAH ;波特率设置4800 1位起始位 8位数据位 1位停止位
MOV TL1,#0FAH ;
SETB TR1 ;
MOV SBUF,A ;数据在A
JNB TI,$ ;
CLR TI ;
RET ;
****************** 1mS延时 ****************************
Y100: MOV TMOD,#01H ;
MOV TL0,#20H ;10mS延时初值置入
MOV TH0,#0FCH ;(65536-X)*1=10MS
SETB TR0 ;65536-(10000/1)
JNB TF0,$ ;
CLR TF0 ;
CLR TR0 ;
RET ;
BCD码转换成二进制数
AH: MOV R7,#03H ;
MOV R0,#20H ;
MOV 25H,#00H ;
MOV A,@R0 ;
MOV 24H,A ; R2
ML10: MOV A,24H ;
MOV B,#0AH ;
MUL AB ;
MOV 24H,A ; R2
MOV A,B ;
XCH A,25H ;
MOV B,#0AH ;
MUL AB ;
ADD A,25H ;
MOV 25H,A ;
INC R0 ;
MOV A,@R0 ;
ADD A,24H ;
MOV 24H,A ;
MOV A,25H ;
ADDC A,#00H ;
MOV 25H,A ;
DJNZ R7,ML10 ;
RET ;
END
一种可以代替ISD1420和2500系列语音芯片
伴随着ISD1420,2560,2590,25120,ISD2560,ISD2590,ISD25120的停产,段货,很多人都在在能替代的产品,07年新推出的ISD1700系列语音芯片ISD1720,ISD1730,ISD1760,ISD1790P,ISD17120,1720P,1730,1760,1790......等能替代它,无论是从功能,运用环境,运用场合,都是你最好的选择,并且编程拷贝ISD1700系列语音芯片的高级语音编程拷贝机也研究出来了,拷贝方便,简单。公司的技术支持雄厚
咨询服务电话:010-62101485/4408/4419
负责人:裴细锋13501161074
中青世纪(www.atvoc.com)
ISD2560和ISD1420芯片的区别(急)
ISD1420语音芯片资料
ISD1420为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利--直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。不仅语音质量优胜,而且断电语音保护。
ISD2500系列单片语音录放电路
美国ISD公司的2500芯片,按录放时间60秒,75秒,90秒和120秒分成ISD2560,2575,2590和25120四个品种.
ISD2500系列和1400系列语音电路一样,具有抗断电,音质好,使用方便等优点.它的最大特点在于片内E2PROM容量为480K(1400系列为128K),所以录放时间长;有10个地址输入端(1400系列仅为8个),寻址能力可达1024位;最多能分600段;设有OVF(溢出)端,便于多个器件级联.
语音芯片ISD1420的相关信息
一、特点:1、WT588D语音芯片特征· 模块封装(带SPI-Flash及外围电路)有DIP16、DIP28,芯片封装有DIP18、SSOP20和LQFP32形式;· 根据外挂或者内置SPI-Flash的不同,播放时长也不同,支持2M~32Mbit的SPI-Flash存储器;· 内嵌DSP高速音频处理器,处理速度快;· 内置13Bit/DA转换器,以及12Bit/PWM输出,音质好;· PWM输出可直接推动0.5W/8Ω扬声器,推挽电流充沛;· 支持DAC/PWM两种输出方式;· 支持加载WAV音频格式;· 支持加载6K~22KHz采样率音频;· 支持对已加载语音播放试听;· 可通过专业上位机操作软件,随意组合语音,可插入静音,插入的静音不占用内存的容量,一个已加载语音可重复调用到多个地址;· 220段可控制地址位,单个地址位最多可加载128段语音,地址位内的语音组合播放;· 最多可加载500段用于编辑的语音;· USB下载方式,支持在线下载/脱机下载;即便是在WT588D语音芯片通电的情况下,也一样可以正常下载数据到SPI-Flash;· 芯片复位时间5ms;· 支持MP3控制模式、按键控制模式、3×8按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式;· 三线串口控制模式切换到三线串口控制控制端口扩展输出模式只需发送数据就可以进行切换。切换后仍可把切换前的最后一工作状态带进切换后的模式工作;· 任意设定显示语音播放状态信号的BUSY输出方式;· 抗干扰性强,可应用在工业领域;· 220段可控制地址位,单个地址位最多可加载128段语音,地址位内的语音组合播放;· 语音播放停止马上进入休眠模式,芯片转为完全停止状态;· 15种按键控制模式,任意一个按键可设定任意一种控制模式;· 配套WT588D VoiceChip上位机软件,接口简单,使用方便。能极大限度的发挥出WT588D语音单片机的各项功能;· 简单的单片机编写方式,摆脱以往复杂繁琐的汇编思维;· 单个芯片支持外挂多个存储器;· 插入的静音时间范围10ms~25min;· 工作电压DC2.8V~5.5V;· 静态休眠电流小于10uA;· 支持8和弦MIDI播放(此功能有待开放)。
ISD1420的地址模式
ISD1420地址输入端具有双重功能,根据地址中的A6、A7的电平状态决定A0~A7的功能。如果A6、A7有一个低电平,A0~A7输入全解释为地址位,作为起始地址用,此时地址线仅作为输入端,在操作过程中不能输出内部地址信息。根据PLAYE、PLAYL或REC的下降沿信号,地址输入被锁定。如果A6、7同为高电平时,它们即为模式位。在这里我们只用到地址功能来分段控制,所以我们需要保证A6、A7不可同时为1,这里我们可以用软件进行保护。地址输入端A0~A7有效值范围为00000000~10011111,这表明最多可被划分为160个存贮单元,可录放多达160段语音信息。由A0~A7决定每段语音的起始地址,而起始地址又直接反映了录放的起始时间。其关系见公式:TQ=0.125s×(128A7+64A6+32A5+16A4+8A3+4A2+2A1+0)例如:第一段语音从0秒开始,地址设置为00000000;第二段语音从2秒开始,地址设置为00010000;第三段语音从5秒开始,地址设置为00100000;第四段语音从12秒开始,地址设置为01010000;