简易智能语音模块的设计与实现
2011-06-09李世红蒋海潮
李世红,蒋海潮
(1.温州科技职业学院 温州 浙江325006;2.欧姆龙自动化(中国)有限公司 温州 浙江325006)
目前,随着电子技术的发展,智能语音系统的运用也越来越广,其主要包括智能语音仪表,手机话费查询系统,排队机,语音型数字万用表以及公共汽车报站器等。文中利用单片机和语音芯片组成的语音模块可以实现语音的分段录取、组合回放,只需修改软件就可以实现语音的整段录取、循环播放。
1 智能语音模块的硬件电路设计
本模块设计采用单片机AT89C2051作为语音系统的控制核心,由单片机与专用的语音处理芯片API8108设计实现语音存储与回放,实现语音的分段录取、组合回放,系统调试方便,经编程固化后的API8108可永久保留语音信息。
1.1 AT89C2051单片机介绍
本设计在单片机选型时不需要很多的并行口,有一定的程序存储器和定时器、外部中断即可,所以采用的微控制器是ATMEL公司生产的低电压、高性能8位CMOS单片机AT89C2051。该单片机除了在外部引脚上少了两个并行口外,其它内部资源与AT89C51完全相同,且其内部的2KFLASH ROM能够很方便的进行擦写,汇编指令与80C51完全兼容的特点,成为了首选。
其基本特征如下:
1)具有适于控制的8位CPU和指令系统;
2)128字节的片内RAM;2KB片内ROM;
3)15线并行I/O口;
4)两个16位定时/计数器;
5)一个全双工串行口;
6)6个中断源,两个中断优先级的中断结构;
该单片机的P1口是一个8位双向I/O口,其中P1.2~P1.7口内部提供上拉电阻,P1.0和P1.1需外接上拉电阻。P1.0和P1.1同时也是片内精确模拟比较器的正输入端(AIN0)和负输入端(AIN1)。P3口是7个带有内部上拉电阻的双向口(P3.6除外,其为片内比较器的输出脚)。
1.2 语音芯片API8108介绍
语音芯片选用的是APLUS公司推出的一次性可编程语音芯片API8108。API8108的电源 电压为2.6~6 V,在本设计中采用与单片机同一个供电电源5 V。API8108是采用大规模CMOS芯片技术制造的最新ASIC,内部包含语音处理器,EPROM存储器,A/D,D/A数模转换器,逻辑接口控制器,音频放大器,时钟振荡器等大量部件。完成从语音数据写入固化到语音高保真重放的全过程,工作外围一般只需要几只元件即可。过去这种电路常采用8031,2764,DA0832等IC组合完成体积大,耗电大,成本高,现在用AP18108A常规语音处理电路设计要结构简单,体积微小得多,而成本只及过去的五分之一。API8108A可根据需要分为1~8段录放,其语音可以最大不重复时间分别为10 s,重复部分可不计算时间。语音一旦录入即成为固定数据,不能再更改或被抹掉。永久保存固化了语音之后的API8108A,在放音使用上和普通音乐集成片一样简单,只是发出的不是单调的音符曲调,而是极其逼真的话语或模拟声响。其效果经计算机软件处理可与磁带CD音碟媲美。API8108A最多可以有8段放音,具体用哪一段是由TG1~TG44个管脚的组合决定的。在应用中,用单片机的4个I/O引脚来控制 TG1~TG4。
1.3 音量放大电路
为了提高音量,在本设计中加入了音频放大芯片LM386。LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20,如果在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地为参考,同时输出端被自动偏置到电源电压的一半,在6 V电源电压下,它的静态功耗仅仅为24 mW,所以它是一种低电压小功率的音频功放集成电路,采用8脚双列直插式封装,第6脚为电源正极,第4脚接地,第2、3脚为选择输入端,第5脚为输出端,第1,8脚为增益控制端,第7脚为旁路端。它具有如下特点:1)工作电压宽(4~12 V);2)静态耗电少;3)电压增益可调(20~200倍);4)外接元件少,制作电路简单,应用广泛;5)频带宽(300 kHz);6)低失真度。
1.4 整体硬件电路图
智能语音模块硬件电路如图1所示,单片机的P3口控制API8108A的TG1~TG4,用来控制语音的分段输出。R4为语音模块的振荡电阻,其与放音时间的关系如表1所示。可根据放音频率和放音时间来选择所需要的电阻。在本设计中选用200 kΩ,放音时间为9 s左右。由于U3的1脚和8脚之间只连接10 μF的电容,此音频放大为200倍。通过R2还可以调节音量的大小,如果想降低音量,只需在U3的3脚连接一个电位器和R2进行分压即可。
图1 智能语音模块硬件电路图Fig.1 hardware circuit diagram of voice modul
表1 放音频率,振荡电阻,放音时间关系表Tab.1 Relation table of playback frequency,oscillating resistor,playback tim e
2 智能语音模块软件设计
播放的语音已预先录制好,存放在API8108语音芯片的各个单元中,语音播放程序首先完成语音地址计算,将语音地址存放于缓冲区中,待全部算完,建立结束标记,然后启动定时器,每隔0.3 s输出一个地址信号,完成语音输出,如要播放“欢迎光临”,根据该数据,调用语音地址计算子程序,将“欢”“迎”语音地址存入缓冲区30H和31H中。依此类推,直至结束,再在缓冲区中依次间隔0.3 s时间取出语音地址,直至遇到结束标记。
3 结 论
因为API8108是永久记忆型录放语音电路芯片[7],录音时间为10 s,分为8段,带有放音结束标志,外围接口非常简单,适合语音产品的批量生产。由于其录音由产家根据用户要求一次性录制,用户也无需购买专用录音设备,该智能语音模块硬件电路设计简单,调试方便,其所有功能均已调试通过,工作稳定可靠。模块上还提供了暂闲置的IO接口引出线,为将来扩展备用。此外音模块即可作为独立的语音系统,又可作为语音系统的子系统。
[1]余永权.ATMEL89系列单片机应用技术[M].北京:北京航空航天大学出版社,2002.
[2]朱民雄.计算机语音技术[M].北京:北京航空航天大学出版社,2002.
[3]任致程.语音录放和识别集成电路应用与制作实例[M].北京:人民邮电出版社,1999年.
[4]时永鹏,张须欣.APIA8108语音芯片人机交互系统中的应用[J].安庆师范学院学报:自然科学版,2005(1):32-35.SHI Yong-peng, ZHANG Xu-xin, The application of the APIA8108 voice chip in the human-computer interaction system[J].Journal of Anqing Teachers College:Natural Science,2005(1):32-35.
[5]李吉志.基于单片机的公交车智能语音报站和液晶显示系统设计[J].电脑知识与技术,2010(13):31-35.LI Ji-zhi.Design of intelligent voice and LCD bus-stopreporting system based on MCU[J].Compute Knowledge and Technology,2010(13):31-35.
[6]APLUS公司.API8108A versatile 10 sec instant voice room[S].美国:APLUS公司,1999.
[7]郑远锋,白亚为,赵宇驰,等.掌上电脑巡检器的设计及应用[J].陕西电力,2009(1):62-65.ZHENG Yuan-feng,BAI Ya-wei,ZHAO Yu-chi,et al.Design and application of palmtop computer-based patrol instrument for transformation equipment[J].Shaanxi Electric Power,2009(1):62-65.