基于ATMEGA16语音录放系统的设计与实现
基于ATMEGA16语音录放系统的设计与实现
介绍了具有较强通用性的语音告警系统。系统通过
单片机ATMEGA16控制语音
芯片ISD1790,实现了在不同情况下提供不同的语音提示告警,且提示语音可以自行录入。最后通过D类音频功率放大器TPA3101D2,实现了高音质大音量语音输出。
本文介绍的系统以公司的ISD1790语音录放芯片为核心,通过单片机ATMEGA16智能控制,最后通过D类功率放大器TPA3101D2驱动,实现了测试设备语音告警功能,该系统框图如图1所示。
上位机和下位机
ATMEGA16单片机通过RS232信号通信,上位机送出录音或删除指令,下位机接收后,通过相应子程序,输出TTL电平,驱动录音芯片执行相应操作。当该测试设备检测信号超过设定的门限以及其他需要语音提示情况时,系统发出提示信号,通过控制下位机输出控制信号,语音芯片播放指针指向相应语音片段,播放该段语音,完成相应操作;当使用人员需要调节声音大小时,通过设备面板上的加减两个语音按键,传送给下位机信号,下位机通过控制录放芯片ISD1790和功率放大器TPA3101D2音量控制引脚电平按时序变化,实现音量调节。
语音录放芯片ISD1790在控制模块的控制下,可以实现录音、放音、选段放音、擦除、复位、音量调节和直通等功能,具体实现方式如下[1]。
(1)录音:将麦克风接入如图2所示麦克风接头,单片机将ISD1790芯片REC引脚电平置低,经大约328ms后,芯片开始录音,直到引脚电平拉高或芯片录满时结束。录音结束后,录音指针自动移向下一个有效地址,而放音指针则指向刚刚录完的那段语音地址。录音内容也可以通过电脑接口将录好的语音直接输入。
(2)放音:放音操作有两种模式:边沿触发和电平触发。都由PLAY管脚触发,本系统采用边沿触发放音模式。放音具体过程:单片机给PLAY管脚一个下降沿信号,经大约216ms后开始播放,播放指针指向语音段。在放音期间,如需停止播放,单片机再给PLAY管脚一个下降沿信号即可。放音结束后,播放指针回到刚播放语音的起始地址处。在放音期间,LED灯闪烁,以指示正在放音。
(3)快进:播放指针指向跳到下一个语音段。实现方法为:单片机控制FWD端,将电平拉低并维持大约192ms以上,启动快进操作。当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。该引脚在设计时,被用作选段播放,当系统给出一个提示信号要求播放某段语音时,程序设定对应的快进次数,将播放指针对准需要播放的语音段。
(4)擦除:分为全体擦除和单段擦除两种方式,由单片机控制芯片ERASE引脚电平来实现。全体擦除,即擦除芯片内全部语音信息,条件是ERASE管脚被置低超过2.5s。单段擦除,即只擦除一段已录入的语音信息,且仅可擦除第一段或最后一段语音。如果ERASE管脚拉低不超过2.5s,则执行单段擦除,但如何擦除,还要看播放指针的状态。如果芯片空闲且播放指针指向第一段语音,则删除第一段语音,播放指针指向新的第一段语音;如果芯片空闲且播放指针最后一段语音,则删除最后一段语音,播放指针指向新的最后一段(擦除前倒数第二段)语音;如果芯片空闲并且播放指针没有指向第一或最后一段语音,则不会删除任何语音,播放指针也不会被改变。擦除操作信号由上位机发出,在软件界面里分别对应全体擦除和单段擦除,点按软件中相应的按钮,执行相应的操作。
(5)复位:用RESET按键控制此管脚,RESET管脚与地之间连接一个0.1μF电容。按下RESET键,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。复位按键为一个按键,同时提供单片机复位信号。
(6)音量调节:单片机将VOL引脚电平下拉一次,音量会减小一档,直到到达最小档,再次下拉,会增加音量一档,如此循环。语音芯片总共有8个音量档,每一档会改变4dB。复位操作时将音量设为最大音量。
(7)直通:将FT管脚保持在低电平,启动直通操作。直通操作会将语音从Analn端(引脚9)直接通往喇叭端或AUD输出口。在录音期间将FT引脚置低,会同时录下直通引脚进入的语音信号。直通信号由上位机软件发出,用于测试芯片状态。
为了提高语音信号质量,该模块设计注意了以下几点:
(1)因模块电路中有很多电源和电源地,因此PCB上每个电源和电源地之间分开走线,最后汇合。
(2)滤波电容阻值在10μF、4.7μF之间或以相近值试选。
(3)麦克风质量要好,电源要纯净,电源和地的PCB线宽大于30mil。
(4)自动增益控制电容、耦合电容、其他电阻电容摆放靠近芯片,使引线尽量短。
(5)选用高品质的电容,主要是等效串联电阻(ESR)较小的电容。
(6)单片机控制的开关量尽量不用继电器来实现,通过模拟电子路数字电平驱动。
本文介绍了一种现代仪器设备、家电等的智能语音人机接口的实现方案,该方案实现了目前语音录放技术方案的3个特点,且各个模块相互独立、更改移植方便、以现代最新推出的芯片为核心、高度集成、性能稳定。本文提出的方案解决了许多实现具体细节问题。该模块已经加装到某测试设备用于语音告警,经过较长时间应用表明,系统工作稳定、后续维护次数少,而且其音质好、效率高、发热少、控制灵活、录放保存稳定等。