适用于总线控制的语音播报系统开发
摘要:针对目前的语音播报设备不能适用于标准的总线拓扑控制且不能对其语音文件、语音表单信息在线更新等缺点,开发了其中适用于总线控制的语音播报系统。通过分析其功能需求选用STCI2LE5 A60S2为控制核心、WT588D语音模块为语音解码器和TPA3112D1为语音功率放大芯片,运用分层设计模式、低功耗设计及互换性设计理念,使其可在基于RS485总线的Modbus-RTU , Modbus-ASCII或自定义协议等上组网。然后给出了相关硬件结构图、原理图、程序结构图及部分流程图等。在组态软件等组成的测试环境和某客车地面电源管理系统中的实际应用情况,表明了该实现方案的可行性及可推广性。
现 在,多媒体技术日益普及,尤其是语音提示在很多场合均有所应用,如车间广播、基于语音的机电设备检修维护远程监控引导系统等。但是目前市面上的语音播报系 统不能实现在线更新语音文件、语音表单和多站点并发播报多种内容。如采用传统的架构模式,设备拓扑和管理均不易实现且成本较高。开发具有总线拓扑潜质、适 合于总线控制的语音播报系统具有一定的价值。
笔者所述的适用于总线控制的语音播报系统以RS485总线为物理基础,集成了Modbus-ASCII, Modb-us-RTU以及自定义通信规约协议,可实现在线更新语音列表、多从站同步或全从站广播等多种方式更新音频文件、音频列表等功能。
1 系统硬件设计
1.1语音播报系统结构
语音播报系统需要实现对语音播报控制、通信报文接收和解析并生成发送应答报文、自身工况采集(最大语音功率输出为20 W,监控环境和自身温度等是其正常工作的保障)、播音设置和历史事件存储/读取以及上位机对语音文件的数据更新等工作。
选择STC12LE5A60S2系列的MCU和相应的外围电路以及WT588D为播音解码(其高音区辨识度较高)和语音内容存储器、通信模块和其他辅助人机接口,然后配合合适的控制程序可以完成该适用于总线控制的语音播报系统,其硬件结构如图1所示。
适用于总线控制的语音播报系统开发
为了使该系统的应用场合(应用环境不同可能采用不同的通信协议)不限于某个系统背景下,外拓了多个接口和模块。并通过LED指示系统是否工作正常、是否掉线和工作模式等。温度采集模块用于检测板级温度,尤其可监控最高功耗为20 W的语音功放模块,可根据不同设置保护设备。语音存储模块同时与语音播报模块及单片机连接,通过单片机控制可以使系统进人播报模式和语音更新模式,辅以多种报文解码程序、通过通信指令或按键控制可实现系统通信协议选择和最大音量设置等操作。
1.2主控及语音解码部分
系统中的语音信号生成部分由WT588D解码SPI-Flash中存有的语音文件产生,鉴于某些语音场合,如广告、公交车报站系统等对语音播报系统升级速度快的需求,增加了与WT588D相匹配的USB-SPI语音下载芯片WT55 U02在USB2. 0接口下可以于2 min内完成32 Mbits所有语音文件更新)。语音的更新有两种类型和目标:①语音文件,更新目标为SPI-Flash ;②语音播放表单,更新目标为与MCU配合工作的E2PROM,该部分原理图如图2所示。
在基于语音播报的检修系统中,语音内容更新频度较低且更新时限充足,每日的维护内容大多可在8h工作时间内完成,组网模式下更新第一类语音文件时,如语音播报检修管理系统RS485网络上波特率采用19.2 kbit/s,Modbus-RTU协议下每帧数据传递200 B的语音数据,增加数据校验冗余及其他辅助指令按每帧256 B计算,加上下位机对数据校验、转存等操作,完成一个从站整片32 Mbits(根据目前项目使用情况来看,大约只需要使用60%的容量)需要时间总和小于等于2800 s(实际测试时采用57. 6 kbit/s下小于等于930s)。而大多数只需更新语音列表(不到1 kB的数据),故10s内可完成更新而满足工程应用。