0 引 言
目前,国内公交车报站的方式多采用手动报站,但是因为司机需要在保证安全驾驶的前提下进行报站,所以经常出现错报、漏报、安全隐患等一系列问题。采用GPS" title="GPS">GPS全球定位系统进行自动报站" title="自动报站">自动报站使这一难题迎刃而解,不需要人工干预,大大减轻了司机的工作量,也同时提高了车辆运行的安全性,促进公交系统的现代化进程。
现阶段,公交车内信息屏多通过有线方式获得新闻、天气预报、广告等信息,也可以同步显示报站信息。但是有一个不可避免的问题,那就是由于没有整合GPRS" title="GPRS">GPRS无线通讯功能,所以维护起来比较麻烦,如果需要更换广告内容,就必须派出大量的人员,对需要更改广告内容的公交车内信息屏一一更改,浪费了大量的人力物力。GPRS的应用使系统实现了前所未有的高度整合,解决了目前国内现有的公交车内信息更新方式落后的弊端。通过GPS卫星定位系统和GPRS无线通信网络,公交监控调度中心可实时监控各条线路公交车位置的分布情况,并根据监控情况向有关公交车发出调度通知。
1 公交车自动报站系统的组成
该系统由公交车内各终端(信息屏、腰牌等)、自动报站器、GPRS/GSM通信网络、公交监控调度中心组成。自动报站器主要由主控芯片、GPS/GPRS通信模块、LCD、SD卡、MP3解码芯片组成。整个系统的总体结构如图1所示。
自动报站器利用自学习功能存储站点的经纬度信息到SD卡,当公交车行驶到某站点时,接收的经纬度信息与存储的某站点经纬度信息一致,就可以。自动播报相应站点的站名,同时实现以下两个功能:
(1)通过RS 485接口发送相应的信息到车内各终端,实现公交车内的控制一体化;
(2)通过GSM网络发送公交车的状态信息(经纬度、速度等参数)到公交监控调度中心,实现公交车与监控调度中心的高度统一。
2 公交车自动报站器的硬件设计
公交车自动报站器主要以LM3S1601" title="LM3S1601">LM3S1601主芯片、GPS模块和GPRS模块为核心,搭建终端平台,他们之间通过串行通信方式连接,其余还包括电源模、MP3播放接口和SD卡接口等。硬件原理结构图如图2所示。
2.1 电源模块的设计
电源系统对自动报站器的可靠性运行影响很大,好的电源电路能够过滤掉很多通过电源电路传人的干扰信号。本电源模块的电源电路如图3所示。
控制器输入电压为24 V,由于GPRS上网时的峰值电流可达2 A,所以电源芯片选用LM2596-5.0,输出电流可达3 A。采用LM1117-3.3芯片给LM3S1601、SD卡等供电,LM1117-2.5芯片给MP3解码芯片供电,MIC29302芯片输出4 V电压给GPRS模块。
2.2SIM300C" title="SIM300C">SIM300CGPRS模块
SIM300C内嵌TCP/IP协议栈,基于GSM/GPRS900/1 800/1 900 MHz三频,采用双列直插式板对板连接,适合车载应用。尺寸:50 mm×33 mm×6.2 mm。支持class2,通过AT指令控制,满足GSM 2/2+标准,带有RS 232电平,直接与单片机相连。
2.3 主控芯片
采用TI公司的LM3S1601单片机作为控制主芯片,该芯片采用ARM Cortex-M3内核,Cortex-M3是ARM公司最新推出的基于ARMv7体系架构的处理器核,具有高性能、低成本、低功耗的特点。它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线),处理速度明显加快。Cor-tex-M3只支持最新的Thumb-2指令集。免去Thumb和ARM代码的互相切换,Cortex-M3内核中集成了中断控制器,提供基本的32个物理中断,具有8层优先级,最高可达到240个物理中断和256个中断优先级。此类设计是确定的且具有低延迟性,特别适用于汽车应用。具有128 KB的片内FLASH,32 KB片内SRAM,3个UART串口,2个SSI接口,2个I2C接口,完全能够满足现在的需求。
2.4 E2PROM和SD卡存储模块
E2PROM型号为CAT24C02,用来存放报站器的站号、线路、上下行、模式等必要数据,防止掉电数据丢失。SD卡存储中文站名、经纬度信息、MP3 音频文件等,SD卡与单片机通过SS10接口进行通信,采用FAT16格式的文件系统,支持最大2 GB的SD卡。
2.5 MP3解码芯片
MP3解码芯片采用的是芬兰VLSI Solution公司生产的VS1003芯片,VS1003是一款单芯片的MP3/WMA/MIDI音频解码和ADPCM编码芯片,其拥有一个性能低功耗的DSP处理器核VS_DSP,5 KB的指令RAM,0.5 KB的数据RAM,串行的控制器和数据输入接口,4个通用I/O口,一个UART口;同时片内带有一个可变采样率的ADC、一个立体声DAC以及耳机音频放大器。
3 公交车自动报站器的软件设计及实现
由单片机LM3S1601编程实现GPS信息的接收处理,GPRS上网、建立连接、接收数据,MP3语音文件的播放,读写SD卡的内容,LCD屏的显示等功能。本系统的工作过程大致为:通过按键及GPS信息的接收进行站点的自学习;自动搜索站点,并自动报站:如果GPS模块接收到的经纬度信息与存储的某站点经纬度信息一致,则通过SSI0从SD卡中读取相对应的MP3文件,将所读取的数据流通过SSI1发送到VS1003播放器中播放,同时在LCD屏上显示相应的站号及站名,并通过GSM网络发送当前的经纬度信息到公交监控调度中心,从而实现自动报站的功能;中心主动连接自动报站器,自动报站器根据接收的通信协议的不同进行不同的操作(如实时监控、车内信息更新等)。系统的软件组成框图如图4所示。
3.1 报站器的主程序设计
主程序主要完成系统初始化及各个模块子程序的调用,其流程图如图5所示。
系统上电后进行初始化,包括:I/O口,定时器,UART、看门狗,模块(SD卡、GPRS模块、VS1003等)。系统初始化完之后,接收GPS定位信息,GPS通信协议较多。该程序采用应用最为广泛的NMEA-0183协议。在此协议中包括了“$GPGGA”、“$GPGSA”、“$GPGSV”和 “$GPRMC”等格式,而本文使用的是以最简格式“$GPRMC”语句进行设计。格式如下:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh 其中<2>为定位状态,A=有效定位,V=无效定位,当接收数据为A时,则认为GPS接收数据有效,然后进行自学习功能、GPRS处理功能、自动搜索站点功能的判断及处理。
3.2 GPRS处理子程序的设计
GPRS处理子程序主要实现报站器与中心之间的通信及监控调度、信息更新功能。
中心打电话通知报站器上线,报站器接收到“+CLIP:"020********",129”,通过“ATH”挂断电话,判断是否为中心电话,如果是则建立PPP连接,连接成功后,通过TCP/IP连接中心的固定IP地址和端口号。
报站器与中心连接成功后,双方互发握手指令,如果“握手”成功,则进行通信;否则中心主动断网。“握手”成功后,报站器接收中心下发的指令。如果为“实时监控”指令,则实时发送GPS数据,为了防止中心与报站器之间断网,双方需定时发送“心跳包”;如果是“信息更新”指令,则接收中心发送的更新信息,接收完毕后自动断网。
4 结 语
该自动报站器通过EMC及可靠性试验和现场试运行,系统功能正常、运行稳定、表现出较强的抗干扰能力和较高的可靠性,尤其GPS自动报站功能,可根据客户需要及公交线路的实际情况更改报站和预报站范围,确保了报站的准确性,提高了公交车的安全性,减轻了司机的负担,具有良好的社会经济效益。目前,系统功能正在进行部分高级功能的完善,产业化工作也正在全面展开之中。