用ISD器件实现分段录音与随机组合放音的方法

出处:电子技术应用 发布于:2011-06-15 10:59:01

  随着集成电路技术的发展, 语音处理器的性能越来越高, 应用范围也愈来愈广。美国ISD 公司的ISD 系列单片语音芯片采用直接模拟存储技术(DA ST),把语音信号以模拟形式直接存储在片内存储器中,无需A/D 转换和压缩,从而减少了语音失真,并且可以反复录放,开发使用方便,非常适合于现场录放音系统。

  本文通过分析ISD的工作原理和内部特性,用单片机的定时中断来计算各段的时长和起始地址,从而实现了分段录音与组合放音。该方法已应用在电缆故障自动定位仪中。

  1 ISD 2500系列芯片简介

  ISD系列语音芯片是美国ISD(Information Storage Device)公司的新产品,它打破了传统的先A/D再D/A的模式,而采用独特的直接存储模拟信号技术,从而大大提高了存储密度,且使模拟信号得到保存。ISD系列芯片以其音质自然、使用方便、单片存储、反复录放、低功耗、抗断电等众多优点立即在语音应用领域确立了其不可争辩的霸主地位,它在通讯设备、智能仪表、治安报警、语音报站、报数报价、语音讲解、语音记录、语音复读、教学仪器、智能玩具、电子礼品等场合获得了广泛的应用。

  ISD2500系列芯片按录放时间60秒、75秒、90秒和120秒分成ISD2560、2575、2590和25120四个品种。ISD2500系列和1400系列语音芯片一样,具有抗断电、音质好,使用方便,无需专用的语音开发系统等相同优点。它的特点在于片内E2PROM容量为480K(1400系列为128K),所以录放时间长;有10个地址输入端(1400系列仅为8个),寻址能力可达1024位;多能分600段;设有OVF(溢出)端,便于多个器件级联。

  2 工作原理

  2500系列有10个地址输入端A0~A9,录址能力可达1024位,地址空间为0~1023。其分配情况是:地址0~299作为分段用,地址600~767未使用,地址768~1023为工作模式选择(即A8、A9均为高)。2500系列的地址线有两种用途,一是作为工作模式控制,二是作为分段录放音的起始段地址。当位地址(MSB)A8、A9都为高电平时(即地址768~1023),地址端A0~A6就作为工作模式选择端M0~M6,对应7种工作模式。当A8、A9任一位为低或都为低时(即地址0~599),只要在分段录/放音操作前(不少于300ns)给地址A0~A9赋值,操作就从该地址开始。

  每个信息段的录放音时间等于总时间除以600。如ISD2560的总时间为60s,则每个信息段的录放音时间为100ms;ISD25120的总时间为120s,则每个信息段的时间为200ms。一般录音从0地址开始,首先通过CPU将它赋给A0~A9,然后通过单片机控制ISD启动录音,同时启动单片机的定时器开始计时,每到一个信息段的时间,就给地址计数加1。当单片机停止控制ISD录音时,同时停止定时器计时。此时地址计数器的值即为该段语音的未地址,加1即为下一段语音的首地址,并将它存在EEPROM中,为下一将放音提供的地址信息。通过CPU将该地址赋给A0~A9,即可录制下一段语音。依次下去,即可在录制完所有语音段的同时得到各段的起始地址。这里不用同时保存各语音段的起始地址和结束地址,因为各个段是相邻的,前一段的末地址加1即是本段的起始地址,且每个语音段的结尾均有EOM标志,并可发出中断。放音时利用它和保存在EEPROM中各语音段的起始地址即可按任意顺序组合各个语音段。

  3 硬件电路设计

  系统硬件电路框图如图1所示。

    ISD器件选用录音时间为120s的ISD25120器件,以单片机为处理机,外接控制每个语音段录音开始与停止按键,外部存储器EEPROM用于保存每个语音首地址。ISD的外围电路及其与单片机连接的硬件电路如图2所示。

  ISD与89C51的接口部分包含输入地址线A0~A9、片选CE(CE=0选中ISD芯片)、芯片低功耗状态控制PD、录放音控制选择P/R(P/R=0为录音;P/R=1为放音)、录放音结束信号输出EOM,将它作为89C51外部中断0的输入信号,放音时通过它告知本语音段结束,便于单片机立即播放另一个语音段;我们需要的语音总时间小于120s,溢出端VOF未用;若需要总时间大于120s,可经级联多个ISD25120,此时需要使用溢出端VOF。ISD25120一共需要11根控制线和一个外部是中断口,这里11根控制线使用89C51的P1和P3的部分端口,若系统中其它电路占用了部分P1,则可使用其它I/O口扩展器件(如82C55、373等)的扩展I/O口来控制ISD25120。ISD25120的其它管脚所连电路为典型外围器件配置,用于模拟语音的输入输出。

  4 软件设计

  按照前面的分析和硬件原理图,软件部分主要涉及启动录音和停止录音、启动放音和停止放音、检测EOM信号的外部中断0、定时中断等六个子程序模块。

 

    播放语音时,语音段尾的EOM信号触发外部中断0,进入服务子程序。首先停止语音播放,然后设置下一段语音播放标志。

    各个语音段的组合播放顺序由主程序根据外部情况或设置情况自动变动,如在电缆故障自动定位仪中,测试出故障点后,根据故障点的距离组合存放数字的各个语音段进行播放。定时中断采用工作方式2,定时周期为5ms。为产生ISD25120每个信号段的200ms时间,设置一个定时计数器,计满40次定时周期即得到200ms的时间,产生中断。六个子程序模块的软件流程如图3~图8所示。

  5 本方法的特点

  (1)能进行在系统现场录音,随录随放,修改语音方便。

  (2)修改录音内容时,可以从其中任意一段开始,修改其后的所有录音内容,不必从段开始全部修改。这对一些需要厂家固定一些语音段的系统很有好处,将固定的语音段放置在前面的段落中,允许用户录制的放在后面,用户修改录音内容时只需修改后面的语音段即可,不影响厂家录制的语音。

  (3)分段灵活。单片ISD可分1~600个段,若多片级联还可更多;各个录音段的长度任意,只要总录音时间在所用器件的总时间之内即可。工

  (4)价格便宜。录制语音时,只需用软件立即可得到各段的地址进行录音,不需专用的设备。

  6 使用ISD器件应注意的几个问题

  (1)ISD语音段尾的EOM标志并不是器件检测到语音结束时自动产生,实际是通过控制器件的工作方式来停止录音而产生的。在录音状态下将CE和PD置高时,则停止录音,在语音段尾产生EOM标志;同时ISD器件在播放时遇到段尾的EOM时也并不自动停止播放,必须用中断捕捉它后,再用软件停止播放。

  (2)ISD器件的音频信号输出功率很小,并不能直接驱动扬声器,需要加音频功放,如LM386。同时ISD送出的信号直流分量,直接加在LM386上,会使它处于饱和状态,无声音输出,需要通过电容耦合送入LM386,隔断直流。

  (3)ISD的CE、P/R、PD在接控制信号时,一定要保证复位时为高电平。否则上电或复位时全为低,恰好处于录音状态,会冲掉芯片中原来的录音。


  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!