交通拥堵已成为城市发展的瓶颈,为方便广大市民出行,最大限度减少路网负荷,政府已提出全方位深化优先发展公共交通政策措施,推进交通信息化,实现交通与城市和谐发展.而传统的公交车报站系统通常采用人工按键方式,这种人工方式缺点如下:一是经常会出现误按、少按、多按现象,造成误导乘客,造成不必要的麻烦;二是车辆将要到达站点时,司机要手动完成按键报站,造成注意力不集中,容易出现交通事故.本文设计一种新型公交车自动报站及限速系统,利用单片机结合GPS(全球卫星定位系统)技术,当公交车驶入站点一定距离范围内时,不用人工干预,系统自动报站.
其相关信息并或通过LCD显示,给司机或乘客准确提供站点信息,同时该系统还具有语音提示功能,当车速超过预置的上限速度时,将实时告知司机,及时减速.
1 系统框图与工作原理
1.1 系统总体设计框图
该系统主要由单片机控制模块,GPS模块和语音模块及键盘输入与人机接口三部分组成.主要完成公交车行驶过程中的位置坐标信息采集和公交站点信息的语音提示以及站点预存和上限速度设置等功能.系统总体框图如图1所示.
图1 系统总体设计框图
1.2 系统工作原理
公交车自动报站及限速系统以Cygnal公司的C8051F040单片机为控制核心,通过采集GPS接收机接收的卫星导航信息,从而解析车辆当前的经、纬度信息,然后将其与站点坐标相比较,当公交车驶入站点一定距离范围内时,不用人工干预,系统自动报站.并通过LCD显示等.给乘客一种准确的提示,同时当车速超过预置的上限速度时,该系统还具有语音提示功能,及时告知司机,及时减速.
2 系统硬件设计
系统硬件电路设计主要包括四部分:单片机控制核心、GPS定位信息采集模块、语音录入和播放模块以及按键预置显示模块等.
2.1 单片机控制核心
C8051F系列是美国TI的Cygnal公司设计和制造的混合信号片上系统,单片机的主要模块包括模拟外设、片内JTAG调试和边界扫描、高速控制器内核、数字外设等几个部分[1],其中该系统中所采用的C8051F040数字外设中包括8个8位的I/O 口、2个UART总线、1个SPI总线和CAN总线等.
该单片机主要实现对GPS信息的采集与解析,并与设置的速度上限与站点定位信息进行比较,将语音提示信息通过SPI总线输出至外部语音模块输出.
2.2 GPS模块
GPS(全球定位系统)由空间卫星系统、地面监控系统、用户接收系统三大子系统构成.GPS通过同时对多颗卫星进行伪距离测量计算接收机的位置,其具有定位精度高、执行操作简便、全球全天侯作业、功能多应用广、抗干扰性能好、保密性强等优点[2].已成为全球公用信息资源,在军事和民用等领域得到广泛研究和应用.
2.2.1 GPS数据格式
GPS模块上电后,会每隔一定的时间返回一定格式的数据,其数据格式为:"$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x",每帧的起始字符都是'$',接着是信息类型,后面是定位参数,以逗号分隔开[3].一帧完整的数据格式包含有效定位、纬度、北纬、经度、东经、速率等信息,设计中对数据信息提取、解析是通过Cygnal公司的C8051F040完成,其方法首先通过搜寻ASCII码'$'来判断是否是一帧数据的开始,然后通过接收到的五个字符来判断当前所接收到的信息类型,对帧的信息类型识别正确后,通过搜寻的','的个数来确定GPS模块当前所接收到的是哪个定位参数,从中提取出需要的定位信息[3].本设计中仅解析GPRMC信息中的经、纬度、速度和时间信息等.
2.2.2 GPS硬件模块
本设计中利用C8051F040单片机通过串行接口实现GPS模块接收的定位信息采集和解析,从中选择需要的信息,这里所需要的信息仅包括经、纬度、速度、时间信息等.
GPS模块采用瑞士u-blox公司的NEO-5Q主芯片,此芯片为多功能独立型GPS模组,以ROM 为多基础架构,采用u-blox最新的KickStart微弱信号攫取技术,能确保在任何可接收到信号的位置及任何天线尺寸都能够有最佳的初始定位性能,并进行快速定位[4].并且其外部有UART,USB,SPI,I2C等种接口,可方便地与微控制器实现无缝连接,电路简单,其具体电路如图2所示.
2.3 语音模块
ISD1700系列芯片是Winbond推出的单片优质语音录放电路,设计中采用的ISD17240芯片除具有可录、放音、断电保留一百年等功能外,其还具有在8kHz采样率下,可保存240s的语音信息,因此,可完全满足公交车语音播报的数据要求[5].单片机控制ISD17240芯片是通过该芯片的SPI模式来实现,ISD17240语音芯片中几乎所有的操作,如,录音、播放、擦除、快进以及对在存储语音信息地址的访问等均可通过ISD17240提供的SPI命令来实现,极大地方便了软件设计[5].
图3所示的即是该芯片与录音、放音简化电路和与单片机的SPI接口
3 系统软件设计
3.1 站点录入和速度预置
站点名称的录入和站点位置信息在系统调试过程中进行,站点名称的录入可在实验室内完成;站点的位置信息采集可通过单片机控制GPS模块完成,由于公交车在停车时的位置与站台位置有一定的偏差,因此,系统在采集每一个站点信息时,要考虑有一定的偏差范围,将所有站点的位置信息保存在固定数组中,在软件中这些信息将与站点名称相对应.由于站点以及公交车行驶路线相对固定,因此,这些信息可保存在FLASH中.最高上限速度的设置可在每次系统上电时设置,也可在软件中设置为固定值,该系统中是作为固定值存放在const变量中的.该软件流程如图4所示.
3.2 GPS信息采集和语音提示模块
GPS信息采集主要是通过C8051F040单片机来实现,当公交车行驶时,单片机实时地读取当前所在的位第15期袁 卫:基于GPS公交车限速报站系统设计149置信息和速度信息,经过转化后,与FLASH 存放的站点位置信息与速度信息进行匹配,匹配成功后,单片机将通过SPI接口发送控制命令,控制外接的语音录放模块ISD17240,访问与站点名称相对应的提示音存放地址,播放该公交车将要停留的位置信息.软件流程如图5所示.
3.3 人机交互---键盘、显示模块
人机交互模块包括键盘模块和显示模块,键盘模块主要实现站点语音信息的录入、擦除以及车辆行驶上限速度的设置等功能;液晶显示模块通过文字信息来传送当前的站点信息,系统扩展时,可采用LCD点阵屏来显示,并可同时时显示广告、友情提示等信息.
4 结 论
系统采用先进的卫星定位技术与语音合成技术相结合的方式,改变了公交车中人工按键的语音报站器的传统方式,该系统可完成车辆进站的站点播报、出站时下一站的自动播报以及超速提示等功能,并可不受外界环境影响,全天侯工作,如扩展还可提供一些广告、服务用语的播报.语音播报准确、及时,不需要人工介入,实现了公交车报站器的完全智能化。