现在位置:范文先生网>理工论文>电子通信论文>ISD4004语音芯片在语音报站器中的应用

ISD4004语音芯片在语音报站器中的应用

时间:2023-02-20 23:39:00 电子通信论文 我要投稿
  • 相关推荐

ISD4004语音芯片在语音报站器中的应用

摘要:ISD4004语音系列芯片是美国ISD公司推出的产品,具有可多次重复录放、存储时间长、使用时不需扩充存储器、所需外围电路简单等特点。介绍了ISD4004芯片在语音报站器中的一个实际应用,并说明了其功能和使用方法,从而使读者对ISD4004系列语音芯片的使用有个初步的了解。
  关键词:ISD4004单片机语音报站器
  
  ISD4004语音芯片是由美国ISD公司推出的新产品。关于该语音芯片的引脚说明以及内部电路等,很容易在ISD公司提供的芯片资料中查到,笔者就不进行过多的描述,只简单地对其特点做一介绍。
  
  与普通的录音/重放芯片相比,ISD4004具有如下特点:首先,记录声音没有段长度限制,并且声音记录不需要A/D转换和压缩;其次,将快速闪存作为存储介质,无需电源即可保存数据长达100年,重复记录10000次以上;此外,ISD4004具有记录时间长(可达16分钟,本文采用的为8分钟的ISD4004语音芯片)的优点;最后,ISD4004的开发应用具有所需外围电路简单的优点,这一点从本文介绍的其在语音报站器中的实际应用可以体会到。
  
  1语音报站器硬件电路设计
  
  目前市场上流通的语音报站器,大多采用的不是ISD4004系列的芯片,这与其刚推出不久以及价格偏高有关。但随着ISD4004应用的增多以及价格的回落,再加上ISD4004系列芯片本身的优点,可以相信,在语音报站器中采用ISD4004系列语音芯片是完全可行的。笔者设计了该装置的硬件电路,并进行了上车调试,取得了较为满意的效果。
  
  图1报站器硬件电路连接图
  
  本文讨论的语音报站器主要是指装在车上的放音电路,不包含录音电路。而在实际应用中,录音电路则完成报站内容的录音工作,并收录内容存储到语音芯片中。本文主要结合ISD4004在放音电路中的使用介绍ISD4004的典型应用。
  
  本文讨论的报站器主电路主要由单片机89C52和ISD4004构成。该系统的硬件电路连接图如图1所示。
  
  本系统主要分为三部分:单片机控制部分、放音部分和显示部分。显示电路采用的是通过P3.0、P3.1控制的两个7段数码管的静态显示器,在此不作详细介绍;控制部分主要由单片机89C52构成,包含必要的按键电路、复位电路和看门狗电路等外围电路;放音部分主要由ISD4004构成,包含配套的变压电路、功放电路等。
  
  从图1中可以看出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的工作电压为3V,而单片机所需供电电压为5V,因此需要采用变压电路得到3V电压供ISD4004使用。
  
  2软件设计
  
  程序流程图如图2所示。
  
  电路上电后,首先完成程序的初始化,随后查询按键状态,进入系统待机状态。如果有按键按下,则转去执行该按键指向的工作程序。按键包括放音键、停止键、加一键、减一键以及特殊语键。在待机状态下,如果放音键首次被按下,程序将首先判断是去还是回(公交车路径一般是既去又回的),并点亮相应的指示灯,自动读出第一站的放音内容,站号显示1。如果不是首次按下,则首先判断当前站号,并以该站号为依据获得存放该站放音内容的首地址;然后调用放音子程序,读入前面获得的本站放音内容首地址,开始放音。每一句放音完毕后,ISD4004的中断引脚(25脚)会自动送一低电平信号。在硬件设计中,该引脚与单片机的P3.3连接,因此会引起一次中断,在中断子程序中有一个计数器记录中断次数,从而判断何时当前一站结束,站号加一并刷新显示。加一键按下后,程序放音内容转向下一站;减一键按下后,则使程序放音内容转向上一站,相应的站号显示也将随之刷新;特殊语键按下后,程序转向执行特殊语放音(譬如“拐弯请注意”等语句);停止键按下,将中止当前的放音状态。
  
  
  
  
  
  为了便于读者对ISD4004应用的理解,本文给出了部分程序。
  
  该部分程序主要完成放音操作,把获得的放音内容的地址送到ISD4004中,完成放音。
  
  PLAY?
  
  ACALLPOWERUP?上电子程序
  
  ACALLDELAY25?延迟子程序,至少延
  
  迟25ms
  
  CLRP1.6?选中ISD4004
  
  MOVPLAY2?#11100000B?存放SETPLAY命令
  
  MOVA?PLAY0?送放音地址低8位
  
  ACALLSEND?调用送地址子程序
  
  MOVA?PLAY1?送放音地址高8位
  
  ACALLSEND
  
  MOVA?PLAY2?送SETPLAY命令
  
  ACALLSEND
  
  SETBP1.6
  
  CLRP1.6
  
  MOVPLAYING?#11110000B?送入放音指令
  
  MOVA?PLAYING
  
  ACALLSEND
  
  SETBP1.6
  
  RET
  
  POWERUP??送上电指令子程序
  
  MOVPOWING?#00100000B?送入语音芯片上电信号
  
  MOVA?POWUPING
  
  CLRP1.6
  
  ACALLSEND
  
  SETBP1.6
  
  RET
  
  SEND:?向ISD4004送指令、
  
  地址等的子程序
  
  CLRMOSI
  
  CLRP3.2
  
  MOVR1?#8
  
  OUTBIT1?
  
  CLRP3.2?时钟下降
  
  RRCA
  
  MOVMOSI?C?输出1位
  
  NOP
  
  NOP
  
  SETBP3.2?时钟上升沿到
  
  NOP
  
  NOP
  
  NOP
  
  DJNZR1?OUTBIT1
  
  RET
  
  放音程序中,要严格按照ISD4004的要求编程。首先要送上电指令,然后等待25μs的延迟,再送16位放音起始地址,最后送8位的开始放音指令。
  
  在放音电路的调试过程中,首先测量ISD4004的工作电压是否是3V,如果是则进入下级调试。再看是否可以送入放音地址,对此可以测量AUDOUT引脚的电压,若为1.2V则说明可以读入放音地址。再后测量是否能够放音,可以测量AUDOUT引脚电压,若为1.2V则说明ISD4004芯片工作正常,可以放音。如果没有听到放音则调试后级放音电路,看是否是后级电路有问题。
  
  本文介绍的报站器电路已经经过上车实验调试,能够稳定可靠工作。

【ISD4004语音芯片在语音报站器中的应用】相关文章:

ISD2560语音芯片在排队机系统中的应用08-06

SPCE061A在语音遥控器中的应用08-06

语音识别在家电遥控器中的应用08-06

VoIP语音卡在路由器中的应用及硬件设计08-06

语音处理芯片AC48105在低速语音编码设备中的应用08-06

AMBE-1000在语音压缩中的应用08-06

AMBE-1000声码器在语音通信系统中的应用08-06

铁电存储器在新型语音电子门锁系统中的应用08-06

蓝牙芯片ROK 101 007在语音系统中的应用08-06