kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于ATMEGA16语音录放系统的设计与实现
基于ATMEGA16语音录放系统的设计与实现
来源:微型机与应用2011年第1期
温国谊,温谊波
(空军第一航空学院,河南 信阳 464000)
摘要:介绍了具有较强通用性的语音告警系统。系统通过单片机ATMEGA16控制语音芯片ISD1790,实现了在不同情况下提供不同的语音提示告警,且提示语音可以自行录入。最后通过D类音频功率放大器TPA3101D2,实现了高音质大音量语音输出。
Abstract:
Key words :

摘 要:介绍了具有较强通用性的语音告警系统。系统通过单片机ATMEGA16控制语音芯片ISD1790,实现了在不同情况下提供不同的语音提示告警,且提示语音可以自行录入。最后通过D类音频功率放大器TPA3101D2,实现了高音质大音量语音输出。
关键词:语音录放D类功放;ISD1790;ATMEGA16

随着集成电路的高速发展,越来越多的仪器、设备、家电等拥有极为方便的人机接口,如大屏幕触摸液晶、智能语音提示等。这些人机接口极大地方便并吸引了用户,使得系统中集成这样的模块变得越来越普及。目前语音录放技术主要有以下3个显著特点:(1)以高度集成的语音芯片为核心;(2)与单片机、嵌入式等控制模块结合,实现数字化、智能化;(3)D类功率放大越来越成熟,其效率高、体积小、音质好,成为绝大多数便携仪器家电的功放方案。伴随着上述三项技术的应用,使语音录放系统具有功耗小、音质好、操作控制方便、性能稳定、通用性移植性好等优点,有很好的应用发展前景。
1 系统总体设计
本文介绍的系统以华邦(WINBOND)公司的ISD1790语音录放芯片为核心,通过单片机ATMEGA16智能控制,最后通过D类功率放大器TPA3101D2驱动,实现了测试设备语音告警功能,该系统框图如图1所示。

图1中,上位机(安装设备管理软件的PC机)和下位机(ATMEGA16单片机)通过RS232信号通信,上位机送出录音或删除指令,下位机接收后,通过相应子程序,输出TTL电平,驱动录音芯片执行相应操作。当该测试设备检测信号超过设定的门限以及其他需要语音提示情况时,系统发出提示信号,通过控制下位机输出控制信号,语音芯片播放指针指向相应语音片段,播放该段语音,完成相应操作;当使用人员需要调节声音大小时,通过设备面板上的加减两个语音按键,传送给下位机信号,下位机通过控制录放芯片ISD1790和功率放大器TPA3101D2音量控制引脚电平按时序变化,实现音量调节。
2 硬件设计
2.1 语音录放模块

语音录放芯片ISD1790在控制模块(下位机)的控制下,可以实现录音、放音、选段放音、擦除、复位、音量调节和直通等功能,具体实现方式如下[1]。
(1)录音:将麦克风接入如图2所示麦克风接头,单片机将ISD1790芯片REC引脚电平置低,经大约328 ms后,芯片开始录音,直到引脚电平拉高或芯片录满时结束。录音结束后,录音指针自动移向下一个有效地址,而放音指针则指向刚刚录完的那段语音地址。录音内容也可以通过电脑接口将录好的语音直接输入。

(2)放音:放音操作有两种模式:边沿触发和电平触发。都由PLAY管脚触发,本系统采用边沿触发放音模式。放音具体过程:单片机给PLAY管脚一个下降沿信号,经大约216 ms后开始播放,播放指针指向语音段。在放音期间,如需停止播放,单片机再给PLAY管脚一个下降沿信号即可。放音结束后,播放指针回到刚播放语音的起始地址处。在放音期间,LED灯闪烁,以指示正在放音。
(3)快进:播放指针指向跳到下一个语音段。实现方法为:单片机控制FWD端,将电平拉低并维持大约192 ms以上,启动快进操作。当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。该引脚在设计时,被用作选段播放,当系统给出一个提示信号要求播放某段语音时,程序设定对应的快进次数,将播放指针对准需要播放的语音段。
(4)擦除:分为全体擦除和单段擦除两种方式,由单片机控制芯片ERASE引脚电平来实现。全体擦除,即擦除芯片内全部语音信息,条件是ERASE管脚被置低超过2.5 s。单段擦除,即只擦除一段已录入的语音信息,且仅可擦除第一段或最后一段语音。如果ERASE 管脚拉低不超过2.5 s,则执行单段擦除,但如何擦除,还要看播放指针的状态。如果芯片空闲且播放指针指向第一段语音,则删除第一段语音,播放指针指向新的第一段(擦除前第二段)语音;如果芯片空闲且播放指针最后一段语音,则删除最后一段语音,播放指针指向新的最后一段(擦除前倒数第二段)语音;如果芯片空闲并且播放指针没有指向第一或最后一段语音,则不会删除任何语音,播放指针也不会被改变。擦除操作信号由上位机发出,在软件界面里分别对应全体擦除和单段擦除,点按软件中相应的按钮,执行相应的操作。
(5)复位:用RESET按键控制此管脚,RESET管脚与地之间连接一个0.1 μF电容。按下RESET键,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。复位按键为一个按键,同时提供单片机复位信号。
(6)音量调节:单片机将VOL引脚电平下拉一次,音量会减小一档,直到到达最小档,再次下拉,会增加音量一档,如此循环。语音芯片总共有8个音量档,每一档会改变4 dB。复位操作时将音量设为最大音量。
(7)直通:将FT管脚保持在低电平,启动直通操作。直通操作会将语音从Analn端(引脚9)直接通往喇叭端或AUD输出口。在录音期间将FT引脚置低,会同时录下直通引脚进入的语音信号。直通信号由上位机软件发出,用于测试芯片状态。
语音录放模块的具体操作,由相应单片机子程序控制实现。
音频信号的输入(MIC+引脚和MIC-引脚之间)和输出(SP+引脚和SP-引脚之间)都采用了五线开关式立体声插座,这使电路子模块相互独立,便于调试和维护。在输入端,麦克风可以借用通用高音质话筒,省去了不必要的录音电路,提高了可靠性。在输出端,当插入通用耳机测试时,这种开关式接头将它与到功放模块的引脚断开,避免相互干扰,便于故障隔离。
振荡电阻ROSC用来定义芯片的采样频率,从而决定芯片的录放时间和录放音质。该电路中ROSC选用80 kΩ,可根据芯片资料自行选择。
为了提高语音信号质量,该模块设计注意了以下几点:
(1)因模块电路中有很多电源和电源地,因此PCB上每个电源和电源地之间分开走线,最后汇合。
 (2)滤波电容阻值在10 μF、4.7 μF之间或以相近值试选。
 (3)麦克风质量要好,电源要纯净,电源和地的PCB线宽大于30 mil。
 (4)自动增益控制电容、耦合电容、其他电阻电容摆放靠近芯片,使引线尽量短。
 (5)选用高品质的电容,主要是等效串联电阻(ESR)较小的电容。
 (6)单片机控制的开关量尽量不用继电器来实现,通过模拟电子路数字电平驱动。
2.2 控制模块
 控制模块以单片机ATMEGA16为核心,接收上位机、系统提示信号和操作人员发出的控制信息,直接控制芯片进行语音录放、选择、擦除、音量控制和复位等功能。
 (1)上位机控制信息
控制信息包括录音、擦除(单段和全体擦除)和直通控制信号。由于设备使用时不用涉及这些控制信号,且权限较高,设定由上位机软件发出,上位机和下位机ATMEGA16之间通过串口通信,实现相关操作。
上位机软件用Visual C++ 6.0编写,语音操作只是其中部分管理功能。
 (2)系统接口
在设备使用过程中,当系统进入某种状态需要语音提示时,系统发出相关编码的数字信号给单片机,激活相应单片机子程序,单片机输出相应时序电平信号,将语音芯片播放指针指向相关语音,以默认的音量输出,驱动功放,完成语音输出。
 (3)音量控制
 在设备上设置两个按键,分别将音量调高和调低。每按一下,将单片机的相应引脚置低。单片机在程序控制下,输出两路信号,分别控制语音芯片和功率放大芯片的放大倍数。
 语音芯片ISD1790音量控制管脚为VOL(19)管脚。该芯片音量有8档,每一档改变4 dB。每给该引脚加1个低电平信号,则音量增大一档;输入7个低电平信号,则音量减小一档。
 功放芯片TPA3101D2音量增益有两个引脚(GAIN0和GAIN1),对应四档,增益分别为20 dB、26 dB、32 dB和36 dB。
 (4)复位按键
 复位按键将触发仪器复位,具体到语音模块是:将单片机程序重启和引脚电平复位;将语音芯片录音、放音指针复位,音量最大;将功放模块初始化。
2.3 D类功率放大
 D类功率放大[2]是目前音频功率放大迅速发展的新技术,其效率高、音质好、耗电低、发热少,适合薄型化、便携式设备。
 D类功放首先将输入的音频信号与一个固定频率(一般250 kHz)的三角波相比较,形成一个脉冲宽度调制的方波信号(PWM)。每个脉冲宽度实时体现了输入信号的幅度,将此信号送到由开关管所组成的功率放大器进行脉冲功率放大,输出的信号再经过一个低通滤波器进行解调,得到音频信号推动扬声器发声。D类功放原理图如图3所示。

 本设计选择德州仪器公司的TPA3101D2芯片[3],其供电范围大(0.3 V~30 V)、效率高(87%)、增益可选(20、26、32、36 dB),是一立体声的D类功放,可以同时驱动左右两个扬声器。
 功放电路原理简单、使用方便,在此不再详述。但是在方案选择时须注意:因D类音频放大器一般驱动的扬声器输入阻抗比较小(8 Ω),而以前功放、扬声器匹配电阻一般比较大(20 kΩ),因此,要注意阻抗匹配问题。
3 软件设计
 软件设计主要包括上位机软件和下位机软件设计。
 上位机软件设计主要是为管理测试设备设计的。与语音模块相关的主要是语音录入、擦除和直通测试,在软件界面下调用这些功能,通过计算机串口,将指令传给下位机,执行相应功能。
 下位机软件是ATMEGA16的工作程序,其框图如图4所示。首先软件开始并初始化输出端口,控制语音芯片和功放处于低功耗状态;然后扫描ATMEGA16单片机输入(PA口和串口),如果输入没有状态变化,则保持语音模块待机状态;当输入信号发生变化,则判断并启动相应子程序,在程序控制下,单片机输出口状态按时序发生相应变化,执行相应操作;执行结束,返回。

 本文介绍了一种现代仪器设备、家电等的智能语音人机接口的实现方案,该方案实现了目前语音录放技术方案的3个特点,且各个模块相互独立、更改移植方便、以现代最新推出的芯片为核心、高度集成、性能稳定。本文提出的方案解决了许多实现具体细节问题。该模块已经加装到某测试设备用于语音告警,经过较长时间应用表明,系统工作稳定、后续维护次数少,而且其音质好、效率高、发热少、控制灵活、录放保存稳定等。
参考文献
[1] Winbond Electronics Corporation. ISD1700 series device user guide. 2005.
[2] 孙肖子.模拟电子电路及技术基础[M].西安:西安电子科技大学出版社,2008.
[3] Texas Instruments Incorporated. TPA3101D2 device user guide. 2006.

此内容为AET网站原创,未经授权禁止转载。
Baidu
map