基于SPCE061A的交通灯倒计时语音输入输出的设计
扫描二维码
随时随地手机看文章
近年来,随着城市交通的智能化和人性化,语音控制技术在智能交通方面的的应用越来越广泛。其中,最为常见的一类应用是公交车语音报站系统。此类系统多采用单片机和专用的语音处理芯片来进行开发设计,其缺点是语音处理芯片性价比普遍不高,成本较高,且开发周期较长。因此,对于更能体现城市智能交通管理的另一类应用——红绿灯倒计时语音播报系统,则较为少见。基于此,采用凌阳SPCE061A单片机设计了智能交通灯语音播报控制系统。凌阳 SPCE061A是凌阳科技公司研发生产的性价比很高的一款16位单片机,不仅具有一般单片机的强大数据处理功能,还具有高质量的语音处理功能。
1 交通灯控制系统方案设计
该设计方案采用一个简易的交通指示灯控制系统来模拟一个典型的十字路口车流通行状态。分别用1,2,3,4(表示东、南、西、北四方向)表明四个流向的主车道,用L,S,R,P分别表示各主车道的左行车道、直行车道、右行车道以及人行横道,其实际路口交通示意图如图1所示。
通过分析得知,除了四个右行车道外,在同一时间,最多只能有两个车道通行,如1L、1S通行时,其他车道都会被阻断。所以在设计红绿灯时,可以两两组合,共有4组(如lL一1S,2L一2S,3L一3S,4L一4S)。
交通灯控制系统由一套SP(2E061A精简开发板(简称61板)和一套交通灯模组构成。交通灯模组包括1块驱动电路板、4个2位倒计时LED数码管模块、红绿灯LED模块。
系统有两个工作状态,正常工作状态和通行时间设置状态。SPCE061A是整个系统的核心控制部件,61板上有3个按键Key1~Key3。两个状态间的切换是利用Key1键完成的。在通行时间设置状态,按下Key1键开始设置南北向红灯时间,按下Key2键开始设置南北向绿灯时间,按下Key3键则返回正常工作状态。红绿灯换色显示时有语音提示,具体为:东西向绿灯一黄灯,语音提示:东西向开始红灯;东西向黄灯一红灯,语音提示:30,29,…,O(程序设置通行时间为30 s,可以修改);东西向红灯结束之前,南北向绿灯一黄灯时,有语音提示:南北向开始红灯。南北向黄灯一红灯,语音提示:30,29,…,O。系统设计框图如2所示。
2 系统语音设计
2.1 音频算法概述
语音处理大致可以分为A/D采样输入、编码处理、存储、解码处理以及D/A等。SPCE061A拥有强大的语音处理功能,它对上述语音处理流程的解决方案是:将A/D、编码算法、解码算法、存储及D/A作成相应的模块,对于每个模块都有其应用程序接口API,用户只需了解每个模块所要实现的功能及其参数的内容,然后调用该API函数即可实现语音处理功能。凌阳将音频压缩算法封装在SACM—lib库中,API函数名称及算法类型如表1所示。
三种放音压缩算法的音质排序为:A2000>S480>S240。
2.2 语音输入设计
语音输入的基本原理是通过A/D转换器将语音信号转换成数字信号,编码后存入指定的存储器中。SPCE061A的A/D转换器共有8个通道,其中有一个通道是MIC—IN输入,它专门用于对语音信号进行采样。然后将采样信号转换成电信号,输入至SPCE061A的内部前置放大电路。语音输入功能主要是调用SACM_DVR模块实现的,因此音频信号的采样频率是8 kHz,且按照SACM_A2000算法进行压缩编码,每秒占用的存储空间为16 Kb/s,产生的语音数据存放在扩展SRAM HM628128A中,其容量为128 KB。HM628128A与61板之间通过IOA和IOB进行接口。语音输入电路如图3所示。
图3.中:SPCE061A引脚MICP(33脚)为MIC(麦克风)的正向输入脚;MICN(28脚)为MIC的负向输入脚。
语音输入流程图如图4所示。
软件设计主要调用的API函数如下:
2.3 语音输出设计
语音输出的基本原理是将外扩SRAMHM628128A中存储的语音数据顺序取出,调用 SACM—lib库中的SACM A2000模块,经SACM A2000压缩算法解码后,以8 kHz的速率进行D/A转换,然后通过内部滤波电路滤去噪声,恢复原始波形,由8050晶体管驱动扬声器放音。语音输出电路如图5所示。
图5中:SPCE061A引脚DAC1(21脚)为音频输出通道1。
语音输出流程图如图6所示。
软件设计主要调用的API函数如下:
3 结 语
由于语音播报内容需人为录入,且播报时间需和倒计时时间保持一致,因此在语音输入过程中需精确掌握播报时间,以便顺利完成系统调试和运行。经过多次软、硬件调试、修正,交通灯倒计时语音播报系统能够完成既定功能,且在实验室环境下放音效果良好。
在此充分挖掘并利用了凌阳SPCE061A在语音处理方面的优势,完成了上述倒计时语音播报系统的设计。考虑到实际交通环境下声音嘈杂,可能会影响放音效果,因此,若需实际使用,需修改语音输出电路,加大语音输出功率。