介绍了由Flash 单片机AT89C2051 及数码语音芯片ISD2560 组成的电脑语音系统设计出了系统的硬件电路,给出了录、放音实用的源程序。目前基于单片微机的语音系统的应用越来越广泛,如电脑语音钟、语音型数字万用表、手机话费查询系统、排队机、监控系统语音报警以及公共汽车报站器等等。
语音芯片应用电路
ISD2560 是ISD 系列单片语音录放集成电路的一种,是一种永久记忆型录放语音电路,录音时间为60 秒,能重复录放达10 万次。它采用直接电平存储技术,省去了A/D、D/A 转换器。ISD2560 集成度高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器、和480KB 的EERPOM 等。内部EERPOM存储单元,均匀分为600 行,具有600 个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100MS。ISD2560 控制电平与TTL 电平兼容,接口简单,使用方便。
ISD2560 内置了若干操作模式,可用最少的外围器件实现最多的功能。操作模式也有地址端控制;当最高位都为1 时,其他地址端最高就选择某个模式。因此操作模式和直接寻址相互排斥。操作模式可由微控制器也可有硬件实现。基本电路原理图如下:录音按下录音键接地,是PD 端、P/R 端为低电平,此时启动录音;结束时松开按键,单片机有让P/R 端回到高电平,既完成一段语音的录制。同样的方法可录取第二段、第三段等。值得注意的是,录音时间不能超过预先设定的每段语音的时间。放音的操作更为简单,按下录音键接高电平,使P/D 端P/R 端为低电平启动方音功能;结束时,松开按键,即完成一段语音的播放。
采样单片机控制语音芯片
录音时,按下录音键,单片机通过D 端口线设置语音段的起始地址,再使PD 端、P/R 端为低电平启动录音;结束时,松开按键,单片机有让P/R 端回到高电平,即完成一段语音的录制。同样的方法可以录取第二段、第三段等。值得注意的是,录音时间不能超过预先设定的每段语音的时间。
放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。P/R 端设为低电平,并让/CE 端产生一负脉冲启动放音,这时单片机只需要等待ISD2560信息结束信号。信号为一负脉冲,在负脉冲的上升沿,该段语音才播放结束,所以单片机必须要检测到的上升沿才能播放第二段,否则播放的语音就不连续。ISD2560 与单片AT89C2051 的接口电路以及外围电路如图所示。单片机的P1 口、P3.4 和P3.5 分别与ISD2560 的地址线相连,用以设置语音段的起始地址。P3.0~P3.3 用以控制录放音状态。P3.7 连接一按键,供录音时使用。由TL7705 构成可靠复位及电源监视电路。
ISD2560 虽然提供了地址输入线,但它的内部信息段的地址却无法读出。本系统采用单片机来控制,不需读出信息地址,而直接设置信息段起始地址。其实现方式有两种:一是由于ISD2560的地址分辨率为100 ms,所以可用单片机内部定时器定时100 ms,然后再利用一计数器对单片机定时次数进行计数,则计数器的计数值为语音段所占用的地址单元。该方式能充分利用ISD2560内部的E2PROM,在字段较多时可利用该方法。二是语音字段如果较少,则可根据每一字段的内容多少,直接分配地址单元。一般按每1 s 说3 个字计算,60 s 可说180 个字,再根据ISD2560 的地址分辨率为100 ms,即可计算出语音段所需的地址单元数。本电路采用第二种方式。
电子发烧友网技术编辑点评分析:
Flash单片机AT89C2051 和录放时间达60s 的数码语音芯片ISD2560 设计了一套智能语音录放系统,实现了语音的分段录取、组合回放,通过软件的修改还可以实现整段取,循环播放,而且不必使用专门的ISD 语音开发设备。
大家如有问题,欢迎在评论处讨论。
——电子发烧友网整理,转载请注明出处!
----------------------------------------
评论
查看更多