完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
标签 > ISD4004
ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。本章还详细介绍了ISD4004使用,ISD1820,isd4004语音模块程序,isd4004与单片机等内容。
ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。
简述
●单片8 至16 分钟语音录放
●内置微控制器串行通信接口
●3V 单电源工作
●多段信息处理
●工作电流25-30mA,维持电流1μA
●不耗电信息保存100 年(典型值)
●高质量、自然的语音还原技术
●10 万次录音周期(典型值)
●自动静噪功能
●片内免调整时钟,可选用外部时钟
ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。
简述
●单片8 至16 分钟语音录放
●内置微控制器串行通信接口
●3V 单电源工作
●多段信息处理
●工作电流25-30mA,维持电流1μA
●不耗电信息保存100 年(典型值)
●高质量、自然的语音还原技术
●10 万次录音周期(典型值)
●自动静噪功能
●片内免调整时钟,可选用外部时钟
ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或Microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内FLASH存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率可为 4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于FLASH存贮器中,可在断电情况下保存100 年(典型值),反复录音10 万次。
引脚描述
电源:(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 或OVF 时,本端变低并保持。中断状态在下一个SPI 周期开始时清除。中断状态也可用RINT 指令读取。OVF 标志----指示ISD的录、放操作已到达存储器的未尾。EOM 标志----只在放音中检测到内部的EOM 标志时,此状态位才置1。行地址时钟(RAC) 漏极开路输出。每个RAC 周期表示ISD 存储器的操作进行了一行(ISD4004 系列中的存贮器共2400 行)。该信号175ms 保持高电平,低电平为25ms。快进模式下,RAC 的218.75μs 是高电平,31.25μs 为低电平。该端可用于存储管理技术。外部时钟(XCLK) 本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在 +1%内。商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。自动静噪(AMCAP) 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mF 的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1mF 的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA 则禁止自动静噪。
一种基于单片机控制的ISD4004语音芯片应用电路
硬件电路设计
在目前市场上流通的语音报站器,大多采用的不是ISD4004系列的芯片。这固然由于ISD4004推出不久以及其价格偏高有关。但随着ISD4004应用的增多以及价格的回落,再加上ISD4004系列芯片本身又具有的多次重复录放、自带存储器、使用简单等优点。可以相信,在语音报站器中采用 ISD4004系列语音芯片也是完全可行的。笔者设计了该装置的硬件电路并进行了上车调试,取得了较为满意的效果。
本文讨论的语音报站器主要是指装在车上的放音电路,不包含录音电路,在实际应用中由录音电路完成报站内容的录音工作,并存储到语音芯片中。本文主要结合ISD4004在放音电路中的使用来介绍ISD4004的典型应用。
2.1 硬件电路图
本文讨论的报站器主电路主要由单片机89C52和ISD4004构成。该系统的硬件电路连接如图1所示:
图1
本系统可以主要分为三部分。单片机控制部分、放音部分和显示部分。本文的显示电路采用的是通过P3.0,P3.1控制的两个7段数码管的静态显示,在此不作详细介绍。控制部分则主要由单片机89C52构成,包含必要的按键电路、复位电路和看门狗电路等外围电路。放音部分主要由ISD4004构成,包含配套的变压电路,功放电路等。
从图中可以看出89C52和ISD4004之间的连接较少,单片机的P1.0-P1.3引脚接按键,控制报站器工作过程中的放音与否和放音内容。P1.6 接ISD4004的片选引脚/SS,控制ISD4004的选通与否。P1.7接ISD4004的串行输入引脚MOSI,从该引脚读入放音的地址。 P3.0,P3.1控制外围显示电路,在报站器工作过程中显示出当前的站号。P3.2和P3.3分别接ISD4004的串行时钟引脚SCLK和中断引脚 /INT。对于ISD4004芯片所需要的连接还有音频信号输出引脚AUDOUT,该引脚通过一个滤波电容与扬声器连接,AMCAP为自动静音端,使用时通过一个电容接地。此外由于ISD4004的工作电压为3伏,而单片机所需供电电压为5伏,因此需要采用变压电路得到3伏电压供ISD4004使用。
3 软件设计
3.1 程序流程图
如图2所示:
图2
3.2 程序工作思想
电路上电后,程序首先完成程序的初始化,随后查询按键状态,进入系统待机状态。如果有按键按下,则转去执行该按键指向的工作程序。按键包括放音键,停止键,加一,减一键以及特殊语键。在待机状态下,如果放音键首次被按下,程序将首先判断是去还是回(公交车路径一般是既去又回的),并点亮相应的指示灯。自动读出第一站的放音内容,站号显示1。如果不是首次按下,程序则首先判断当前站号,并以该站号为依据获得存放该站放音内容的首地址。调用放音子程序,读入前面获得的本站放音内容首地址,开始放音。每一句放音完毕后,ISD4004的中断引脚(25脚)会自动送一低电平信号。在硬件设计中,该引脚与单片机的 P3.3连接。因此,会引起一次中断,在中断子程序中会有一个计数器记录中断次数,从而判断何时一站结束,站号加一并刷新显示。加一键按下后则使程序放音内容转向下一站,减一键则使程序放音内容转向上一站,相应的站号显示也将随之刷新。特殊语键按下后,程序转向执行特殊语放音(譬如拐弯请注意等语句)。停止键被按下将中止当前的放音状态。
3.3 部分工作子程序
为了便于读者对ISD4004应用的理解,本文给出了部分操作程序。
该部分程序主要完成放音操作,把获得的放音内容的地址送到ISD4004中,完成放音。下面给出的就是放音部分程序。放音子程序:
PLAY:
ACALL POWERUP ;上电子程序
ACALL DELAY25 ;延迟子程序,至少延迟25ms
CLR P1.6 ;选中ISD4004
MOV PLAY2,#11100000B ;存放SETPLAY命令
MOV A,PLAY0 ;送放音地址低8位
ACALL SEND ;调用送地址子程序
MOV A,PLAY1 ;送放音地址高8位
ACALL SEND
MOV A,PLAY2 ;送SETPLAY命令
ACALL SEND
SETB P1.6
CLR P1.6
MOV PLAYING,#11110000B ;送入放音指令
MOV A,PLAYING
ACALL SEND
SETB P1.6
RET
POWERUP: ;送上电指令子程序
MOV POWING,#00100000B ;送入语音芯片上电信号
MOV A,POWUPING
CLR P1.6
ACALL SEND
SETB P1.6
RET
SEND: ;向ISD4004送指令,地址等的子程序
CLR MOSI
CLR P3.2
MOV R1,#8
OUTBIT1:
CLR P3.2 ;时钟下降
RRC A
MOV MOSI,C ;输出1位
NOP
NOP
NOP
SETB P3.2 ;时钟上升沿到
NOP
NOP
NOP
DJNZ R1,OUTBIT1
RET
3.4 编程以及调试时要注意的一些问题
在放音程序中,要严格按照ISD4004的要求编程。首先要送上电指令,然后等待25毫秒的延迟,再送16位放音起始地址,最后送8位的开始放音指令。
在放音电路的调试过程中,首先测量ISD4004的工作电压是否3伏,如果是则进入下级调试。再看是否可以送入放音地址,对此可以测量AUDOUT引脚的电压,若为1.2伏则说明可以读入放音地址。随后测量是否能够放音,可以测量AUDOUT引脚电压,若为1.2伏,则说明ISD4004芯片工作正常,应该可以放音。如果还没有听到放音,则可以调试后级放音电路,看是否后级电路的问题。
4 结束语
本文通过对ISD4004语音芯片在语音报站器中的一个实际应用的简单介绍,使读者熟悉了1SD4004的基本应用。同时本文介绍的报站器电路已经经过上车实验调试,能够可靠稳定工作。
基于ISD4004语音芯片和AT89S52单片机的语音播报记
引 言 本文介绍一种以语音存储与自动播放系统为基础的语音播报记事器设计。该设计以ISD4004:语音芯片和AT89S52单片机为中心,很好地实...
高科技产品设计人员持续以微型化为主要目标,横跨多重电子应用领域、全球领先的半导体供应商意法半导体发布全球最小且具时间、日历及闹钟功能的晶振与实时时钟(R...
2011-08-05 标签:ISD4004 7995 2
ISD4004语音芯片C51驱动程序源代码 /*spi isd4004.h*/#include "reg51.h"#include "intrins....
编辑推荐厂商产品技术软件/工具OS/语言教程专题
电机控制 | DSP | 氮化镓 | 功率放大器 | ChatGPT | 自动驾驶 | TI | 瑞萨电子 |
BLDC | PLC | 碳化硅 | 二极管 | OpenAI | 元宇宙 | 安森美 | ADI |
无刷电机 | FOC | IGBT | 逆变器 | 文心一言 | 5G | 英飞凌 | 罗姆 |
直流电机 | PID | MOSFET | 传感器 | 人工智能 | 物联网 | NXP | 赛灵思 |
步进电机 | SPWM | 充电桩 | IPM | 机器视觉 | 无人机 | 三菱电机 | ST |
伺服电机 | SVPWM | 光伏发电 | UPS | AR | 智能电网 | 国民技术 | Microchip |
开关电源 | 步进电机 | 无线充电 | LabVIEW | EMC | PLC | OLED | 单片机 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 蓝牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太网 | 仿真器 | RISC | RAM | 寄存器 | GPU |
语音识别 | 万用表 | CPLD | 耦合 | 电路仿真 | 电容滤波 | 保护电路 | 看门狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 阈值电压 | UART | 机器学习 | TensorFlow |
Arduino | BeagleBone | 树莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 华秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |