摘 要:介绍一种基于GPS模块和科大讯飞TTS语音模块的景区自助语音导游系统,给出了系统的详细硬件设计方案及主要软件流程图。除可为景区游客的自助导游提供支持外,还可充分展示景区的各类工作成果,并收集游客对景区相关工作的评价意见,最后还可通过上位PC机软件提取游客活动信息及评价意见,进而为景区改善旅游服务及管理工作提供依据。
关键词:GPS;TTS;景区导游;语音合成模块;语音播报
景区的游客自助导游系统可方便地为游客提供景区游览路线、游览主题内容、预计游览时间等基本信息,从而使游客可合理地安排个性化的游览线路[1-2]。此外,还可用于向游客提供有关景区的详尽资讯,以充分展示景区的历史文化内涵,同时还可用于收集游客对景区相关服务工作的评价意见。之后还可通过上位PC机软件下载最新景区导游信息,并提取游客活动信息及评价意见,进而为景区准确掌握游客观赏热点,进而改善旅游服务及管理工作提供依据。
本文给出一种基于GPS定位技术及TTS语音模块的自助语音导游系统。自助语音导游相比导游手册可提供更详尽的实时导游信息;相比专业导游服务,自助语音导游不仅成本较低,还具有低介入性、更为个性化及人性化的优势。
1 硬件系统设计
本系统以MCS51单片机作为主控芯片,基于GPS定位模块实现移动定位功能,以确认游客所在的地理位置。其后,结合内置的景区地理信息数据,即可通过板载小型LCD显示,也可使用科大讯飞XF-S4240 中文语音合成模块即时播放位置信息及景区导游信息,从而实现景区的语音导航、导览及导游功能。此外,通过板载的按钮,用户还可对景区各项设施与服务给出评价信息,景区管理者则可通过收集这些信息了解游客需求、各景区游客关注度及停留时间,进而改进景区建设,更好地为游客提供高质量的服务。
1.1 系统总体结构
GPS景区自助导游系统硬件电路主要包括单片机控制模块、GPS数据接收模块、语音合成模块、LCD显示模块、按键模块、串行通信模块、电源模块等。图1为该系统的总体设计框图。
系统硬件部分电路设计可参见图2,由AT89C51单片机芯片、台湾丽台Leadtek GPS 9543LP定位模块、科大讯飞XF-S4240嵌入式中文语音合成模块、LM386音频放大器、放音喇叭、MAX232串口变换模块、128×64点阵LCD屏、4.2 V/3.3 V及3.3 V/1.8 V电源变换模块等组成。单片机作为主控芯片,通过串行接口控制GPS模块,以获取定位信息。定位及导游信息首先通过液晶屏显示,同时使用SPI接口发送到XF-S4240模块实施语音合成,再经LM386完成音频信号放大后推动喇叭发音;MAX232为串口信号电平变换模块,由MCS51实现一个软串口功能,用于必要时与上位PC机通信,供下载旅游信息或上传游客信息之用;键盘接口用于连接一个4×4的薄膜键盘,供游客输入信息;LDO电源变换芯片AMS1117-3.3,AMS1117-1.8则用于实现4.2 V→3.3 V→1.8 V的变换,为XF-S4240及GPS 9543LP模块提供所需的工作电源。
1.2 GPS定位模块及其电路设计
本系统选用的丽台Leadtek GPS 9543LP定位模块采用并行12通道,定位精度可达15 m。GPS 接收模块的型号、性能各异,但其GPS定位信息串行输出格式大多采用美国国家海洋电子协会制定的NMEA-0183 通信标准格式。其输出数据采用ASCII码,内容包含纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息,常用语句有6 种,包括GGA、GLL、GSA、GSV、RMC 和 VTG。可通过专用设置软件或普通的串口调试软件发送相应的控制命令给GPS模块,以设置其输出周期及输出格式[3-4]。本系统只需时间、经纬度、海拔高度以及卫星数等信息,故仅选用GGA输出格式。
一条$GPGGA 语句包括17个字段,形如:“$GPGGA,UTC时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精确度,天线离海平面的高度,高度单位,大地水准面高度,高度单位,差分GPS数据期限,差分参考基站标号,*校验和
例如某条$GPGGA语句为:“$GPGGA,114641,3002.3232,N,12206.1157,E,1,05,12.9,53.2,M,11.6,M,,*4A”,则表明这是一条GPS定位数据信息,意思为世界(格林威治)时间为11时46分41秒,位置在北纬30度2.323 2分,东经122度6.115 7分,定位有效,接收到5颗卫星,水平精度12.9 m,天线离海平面高度53.2 m,所在地离地平面高度11.6 m,校验和为4AH。
如图2所示,Leadtek GPS 9543LP与单片机通过串行接口以9 600波特率通信,其秒脉冲信号1PPS也连接至单片机以提供测试功能。
1.3 XF-S4240语音合成模块及其电路设计
语音合成技术,简称TTS(Text To Speech)技术,用于解决如何将文字信息转化为声音信息,从而使得人们获取信息的方式更加丰富和自然。目前,在嵌入式应用领域,最具代表性的有科大讯飞XF-S4240和XF-S4041CN及宇音天下的SYN6288[5-6]。本系统中选用的语音合成模块为科大讯飞的XF-S4240嵌入式中文语音合成模块。该模块支持GB2312、GBK、BIG5及UNICODE 4种内码格式的中文文本,同时提供英文字母的合成,支持男/女声发音,并可灵活地调节语速、语调及音量。
XF-S4240支持异步串口(UART)、SPI和I2C通信方式,允许发送数据的最大长度为1 KB。XF-S4240提供了多种语音合成控制命令,如合成命令、停止合成命令、暂停合成命令、恢复合成命令;通过状态查询命令可查询当前模块的工作状态;而休眠命令则可置模块于休眠方式以降低功耗。
语音合成系统设计如图2所示。语音模块借助SPI接口与单片机连接,由硬件RDY引脚指示模块的工作状态,与单片机的INT1引脚相连。音频功放电路则采用LM368音频放大器,输出端可直接驱动扬声器。
1.4 其他模块电路设计
本设计中使用一片128×64点阵LCD模块作为系统的显示输出,提供操作指示及各项导游信息的显示功能;另使用4×4 薄膜键盘作为系统操作的输入接口,可供用户选择相关信息进行显示或给出对某项景区服务的评价意见。
由于本设计中MCS51仅有的一个串口已被用于与GPS模块通信,故使用单片机的P3.4及P3.5两端口构成软件串口,以实现与上位PC机的异步串行通信。该串行接口可供上位机向导游系统更新内置地理/导游信息或提取用户反馈意见,如图2所示。
本设计中电源使用4.2 V锂电池供电,以方便便携式应用。GPS模块还需使用3.3 V及1.8 V电源,且XF-S4240也需采用3.3 V供电,为此分别选用AMS1117-3.3 V及AMS1117-1.8 V LDO器件实现电源变换,因篇幅所限,此部分电路略去。
2 软件系统设计
系统主程序框图如图3所示。程序首先对单片机各IO端口、中断系统、定时器等外部设备进行初始化,随后进入工作循环。依次周期性更新GPS数据,并据地理位置信息读取内置景区导游信息,之后更新LCD显示,并将相关信息送TTS模块以语音方式播报,其后读取用户按键信息,完成相关功能操作。若有必要,最后还须实现与上位机的通信。
语音合成程序的框图如图4所示。单片机首先判别语音合成模块是否处于就绪状态,若是,则依次发送帧头、字节总数、语音合成命令码、语音合成格式控制码及待合成文本,语音模块将随后依所设命令完成TTS转换。
本系统将GPS定位模块、地理特征信息及TTS语音合成功能有机结合,为GIS应用提供了一种新的模式。系统价格适中、结构紧凑,功能强大,有着良好的实用价值。文中对系统各个部分的硬件电路和软件实现进行了详述。随着GPS/GIS的应用日趋广泛,本系统的设计思想及技巧还可为其他相关产品的设计制作提供借鉴。
参考文献
[1] 李伟,李文方.电子导游讲解器的设计[J].工业控制计算机,2010,23(3):99-102.
[2] 肖艳林,宣宗强,李杰,等.基于单片机的电子导游系统设计[J].单片机与嵌入式系统应用,2007(8):37-38.
[3] 王晴婉,宋家友.基于GPS-GPRS车辆监控终端设计与实现[J].通信技术,2009,12(9):121-123.
[4] 李远.基于GPS-OEM板和单片机的定位终端开发[J].湖北邮电技术,2004,74(6):29-32.
[5] 王虎升,李金环,袁宪锋,等.基于STM32的嵌入式语音播报系统的设计[J].北京联合大学学报,2011,25(3):11-15.
[6] 孙弋,汪亚东,李培煊.基于GPS的嵌入式公交自动报站系统的研究[J].电子技术应用,2007,33(11):34-36.