凌阳SPCE061A语音功能在自动售货机中的应用研究

2010-07-05 11:20
华东交通大学学报 2010年1期
关键词:音频购物语音

陈 慧

(华东交通大学机电工程学院,江西南昌330013)

自动售货机因无需专人值守而可每天24小时售货,被誉为“无人小超市”。自动售货机具有销售方式新颖、商品货真价实、服务方便快捷、技术含量高等优点,决定了它广阔的发展前景[1,2]。自动售货机在日本、美国等西方发达国家应用很广泛,经过多年的发展其控制技术日趋完善,但由于技术封锁公开资料很少,且国外产品在功能、使用形式等方面与我国消费者的需求和习惯还有一定的差别,另外其高昂的价格也令商家望而切步。有见于此,近年来国内的有识之士展开了对自动售货机系统的研究,从货币识别技术、执行部件结构、主控制系统等多方面进行了探讨[3-6]。上述研究多集中在售货功能的实现方面,对于人机交互界面的多元化、人性化的考虑则很少。

作者曾对自动售货机的智能控制系统进行过研究[7],认为自动售货机不仅应完善其本质的售货功能,而且要在售货过程中提高其人性化。本文集中探讨自动售货机上语音功能的实现。相信语音功能的加入可以弥补机器生硬操作的不足,使顾客在购物的同时可以有种亲切的、人性化服务的感受。

1 自动售货机系统工作流程设计

围绕功能强、方便、可靠及经济性的要求,本设计选定凌阳16位单片机SPCE061A为控制核心,它具有功率低、处理速度高、扩展性好、语音处理能力强大,其语音模块便于工作人员进行修改的突出优点。

如图1所示,自动售货机系统设计工作流程如下。

(1)用户投币,当系统检测到有币投入时产生中断。在中断程序里调用语音输出程序播出“您好,欢迎使用自动售货机,在您使用之前请仔细阅读有关注意事项”,然后延时调用硬币或纸币识别程序;如果检测出伪币、残币则将其从退币口退出;否则片内SRAM单元保存当前的币值。

(2)等待顾客按键选择商品,当系统扫描到“购物键”按下后执行键处理操作。如所选商品价格大于当前输入总币值,或该商品售完,则语音提示“商品售完或您投币值不足,本次购物结束,请您取回钱币,再见!”,同时进行退币;否则就由单片机控制送货电机弹出所选货物至取物口,此时片内SRAM单元减去相应货物价格所对应的数,得到剩余金额,将此剩余金额对应的数送片内SRAM单元保存,同时显示。

(3)系统检测到有商品送出的信号,则根据当前剩余金额决定下一步操作:如果剩余金额为零,语音提示“本次购物结束,无退币,再见!”;如果还有余额,则语音提示“金额有剩余,选择购物键可继续购物;选择退币键则购物结束。”并等待按键:如果顾客再次按下“购物”,则重复前述购物操作;若顾客按下“退币”键,则将片内SRAM单元内容清空,同时剩余金额显示为零,等待下一个顾客的光临投币。如此一直循环下去。

2 语音模块设计[8,9]

从上述自动售货机工作流程可见,语音提示的部分成为了系统智能化的一个重要体现,使得整个系统更友好、更人性化。

2.1 语音模块方案选择

常用语音系统的种类主要有:由多带通滤波器及线性匹配电路构成的语音系统、由单片机构成的语音系统和由数字信号处理器DSP组成的语音系统。由多带通滤波器及线性匹配电路构成的语音系统是最早期的语音集成电路,这种电路的语音识别性能低,主要应用于上世纪80年代,现已很少用;由DSP组成的语音识别系统运算能力强,精度高,适用于高性能语音系统。但目前DSP的价格也较昂贵。

本设计采用SPCE061A单片机为核心组成语音系统模块,对比上述方案而言其优点是:SPCE061A单片机同时具有较高16位×16位的乘法运算和内积运算功能,CPU最高时钟可达49 MHz。因此在处理复杂的数字信号方面它可以和DSP相媲美,但其价格却要比专用的DSP芯片廉价。它具有可编程音频处理的能力,采用凌阳音频编码方式能容纳数百秒的语音数据(例如,2.4 k位/秒的SACM-S240方式能容纳210秒的语音数据),具有双通道10位DAC方式的音频输出功能。SPCE061A单片机强大的语音处理能力为我们的设计提供了方便[4]。

2.2 音频算法

对于语音的处理大致可以分为A/D、编码、存储、解码及D/A等。凌阳SPCE061A单片机提供了SACM-LIB,该库将A/D、编码、存储 、解码及D/A 作为相应的模块,对于上述每个模块都有相应的API函数来实现其各自功能。SPCEO61A可以使用SACM-S240,SACM-S480,SACM-S720,SACM-A2000等多种凌阳编码压缩算法。其中SACM-A2000压缩算法具有压缩比较小(8:1)、语音质量好、传输码率高的特点,适用于高保真语音。本设计采用的就是SACM-A2000音频算法。

2.3 设计思路

录制自动售货机控制系统需要的各段语音提示文件,将它们存储在凌阳SPCE061A单片机的内部存储器中。当系统进行语音提示的播放时,通过SPCE061A的语音识别和处理功能把内部存储器中相应的语音文件自动解压缩,经过内置的D/A转换器及后续电路的处理后将其转换成声音信号,经过扩音装置进一步将声音信号放大播出。操作完一步,调用一段数据,如此进行下去。

图1 自动售货机系统工作流程

3 语音模块硬件设计[10]

SPCE061A单片机内置两路10位DAC,本设计采用DAC1引脚外接功放电路实现语音播放。语音输出电路如图2所示,由于SPEO161A的DAC是电流输出,为了能驱动喇叭SPK1放音,采用音频集成功放LM386芯片,喇叭SPK1可选用4 Ω/8 Ω的扬声器。本模块特点如下:

(1)充分利用SPCE061A单片机内部资源设计了外围元件最少的语音输出电路,特别适合于嵌入式产品的开发应用;

(2)LM386音频集成功放芯片比较起一般由负载电阻和三极管组成的功放电路而言,具有工作电压范围宽(5~18 V)、外接阻容元件少、低失真度及静态功耗低(约为4 mA,两节电池供电即可)等优点。

图2 语音模块电路

4 语音模块程序设计

当有外部中断信号时,开始启用语音提示程序,程序先要获取语音资源填充语音队列并进行译码,然后通过中断服务子程序将其依次送入DAC通道播放。语音提示程序流程图如图3,源代码如下。

//////////////语音程序主要代码//////////

图3 语音提示程序流程图

5 结束语

以凌阳16位单片机SPCE061A为控制核心,利用该单片机语音识别和处理能力强(提供了API函数,能进行DSP数据处理)的优势,设计了自动售货机控制系统的语音模块。该模块的应用使得自动售货机系统更具智能化、人性化,且该模块成本低,易于维护。这一设计可以推广应用在其他自动服务设施中,前景广泛。

[1]陈志军,张爱琴.自动售货机研究现状及展望[J].中国工程科学,2008,10(7):51-56.

[2]张曼,杨勇强.一种新型自动售货机控制系统的设计[J].机电工程技术,2007,36(10):59-62.

[3]陈萌,叶桦,等.自动售货机主控制器及执行机构的设计与实现[J].东南大学学报:自然科学版,2007,37(1):24-28.

[4]叶银兰.自动售货机的设计与实现[J].微计算机信息,2008,24(23):53-55.

[5]郑大宇,刘立晶.自动售货机送出机构的设计及优化[J].黑龙江商学院学报,自然科学版,2000,16(3):39-43.

[6]谢中赛,金志华.基于μ C/OS-Ⅱ的自动售货机控制系统[J].机电工程,2009,26(1):35-37.

[7]陈慧.基于嵌入式单片机的智能自动售货机控制系统[J].华东交通大学学报,2008,25(4):78-82.

[8]沈红卫.单片机应用系统设计实例与分析[M].北京:北京航空航天大学出版社,2002.

[9]薛钧义,张彦斌,虞鹤松,等.凌阳十六位单片机原理及应用[M].北京:航空航天大学出版社,2003.

[10]姚四改.Protel99SE电子线路设计教程[M].上海:上海交通大学出版社,2003.

猜你喜欢
音频购物语音
我们为什么选择网上购物?
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
对方正在输入……
基于Daubechies(dbN)的飞行器音频特征提取
圣诞购物季
音频分析仪中低失真音频信号的发生方法
快乐六一,开心购物!