基于GPS/GPRS的公交车自动报站系统设计
2010-05-13张永生,文科
张永生,文 科
摘 要:近年来,随着经济的持续发展,对公交运输也提出更高的要求。传统的公交报站器须由司机操控工作,考虑公交系统的安全,目前迫切需要智能化、自动化的公交报站系统。GPS及GPRS技术的应用使公交报站系统实现了高度的整合,改变了传统的手动报站方式,解决了目前国内现有的公交车内信息更新方式落后、不能监控调度等弊端。结合GPS定位,对车辆的状态信息(位置、速度等)进行实时采集及分析,当车辆到达预定位置时,实现公交车的自动报站功能;通过GPRS网络,将公交车的状态信息及时传输到公交监控调度中心,然后通过中心上位机软件的操作,实现对公交车的监控调度、信息更新的功能。采用SD卡存储多条线路信息及MP3语音文件,便于公交车更换公交线路,同时实现高品质语音信息的播放。
关键词:GPS;GPRS;SD卡;MP3;自动报站;信息更新;监控调度
中图分类号:TN41,TP33文献标识码:B
文章编号:1004-373X(2009)19-212-03
Design of Automatic Station Report System for Bus Based on GPS/GPRS
ZHANG Yongsheng,WEN Ke
(Guangzhou Ropen Technology Co.Ltd.,Guangzhou,510060,China)
Abstract:In recent years,with sustained economic development of public transport also its higher requirements are put forward.Traditional bus reporter must be manipulated by the driver,considering the safety of public transportation system,there is an urgent need for intelligent,automatic station report system for bus.GPS and GPRS technology for application enable the bus station report system a high degree of integration,changing the traditional manual-announce way,the current way of updating information is solved and the scheduling and other defects can′t be monitored.Combining GPS positioning technology,the bus status information (location,speed,etc.) in real-time acquisition and analysis,when the bus is scheduled to arrive at the location,the automatic station report function is realized.Through the GPRS network,necessary bus status information should be transmitted to the bus monitor dispatching center timely,and then through the center of the operation of PC software,to achieve the function of the monitoring,scheduling and updating information.SD card is used to memorize the information of a number of lines and MP3 audio files,it is facilitated to replace bus lines,and at the same time high-quality voice information play is realized.
Keywords:GPS;GPRS;SD card;MP3;automatic station report;information updating;monitoring and dispatching
0 引 言
目前,国内公交车报站的方式多采用手动报站,但是因为司机需要在保证安全驾驶的前提下进行报站,所以经常出现错报、漏报、安全隐患等一系列问题。采用GPS全球定位系统进行自动报站使这一难题迎刃而解,不需要人工干预,大大减轻了司机的工作量,也同时提高了车辆运行的安全性,促进公交系统的现代化进程[1]。
现阶段,公交车内信息屏多通过有线方式获得新闻、天气预报、广告等信息,也可以同步显示报站信息。但是有一个不可避免的问题,那就是由于没有整合GPRS无线通讯功能,所以维护起来比较麻烦,如果需要更换广告内容,就必须派出大量的人员,对需要更改广告内容的公交车内信息屏一一更改,浪费了大量的人力物力。GPRS的应用使系统实现了前所未有的高度整合,解决了目前国内现有的公交车内信息更新方式落后的弊端。通过GPS卫星定位系统和GPRS无线通信网络,公交监控调度中心可实时监控各条线路公交车位置的分布情况,并根据监控情况向有关公交车发出调度通知[2]。
1 公交车自动报站系统的组成
该系统由公交车内各终端(信息屏、腰牌等)、自动报站器、GPRS/GSM通信网络、公交监控调度中心组成。自动报站器主要由主控芯片、GPS/GPRS通信模块、LCD、SD卡、MP3解码芯片组成。整个系统的总体结构如图1所示。
图1 系统结构图
自动报站器利用自学习功能存储站点的经纬度信息到SD卡,当公交车行驶到某站点时,接收的经纬度信息与存储的某站点经纬度信息一致,就可以自动播报相应站点的站名,同时实现以下两个功能:
(1) 通过RS 485接口发送相应的信息到车内各终端,实现公交车内的控制一体化;
(2) 通过GSM网络发送公交车的状态信息(经纬度、速度等参数)到公交监控调度中心,实现公交车与监控调度中心的高度统一。
2 公交车自动报站器的硬件设计
公交车自动报站器主要以LM3S1601主芯片、GPS模块和GPRS模块为核心,搭建终端平台,他们之间通过串行通信方式连接,其余还包括电源模、MP3播放接口和SD卡接口等[3]。硬件原理结构图如图2所示。
图2 终端硬件原理结构图
2.1 电源模块的设计
电源系统对自动报站器的可靠性运行影响很大,好的电源电路能够过滤掉很多通过电源电路传入的干扰信号。
本电源模块的电源电路如图3所示。
图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.2 SIM300C GPRS模块
SIM300C内嵌TCP/IP协议栈, 基于GSM/GPRS 900/1 800/1 900 MHz 三频,采用双列直插式板对板连接,适合车载应用。尺寸:50 mm×33 mm×6.2 mm,支持class2,通过AT指令控制,满足GSM 2/2+标准,带有RS 232电平,直接与单片机相连[4]。
2.3 主控芯片
采用TI公司的LM3S1601单片机作为控制主芯片,该芯片采用ARM Cortex-M3内核,Cortex-M3 是ARM公司最新推出的基于ARMv7 体系架构的处理器核,具有高性能、低成本、低功耗的特点。它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线),处理速度明显加快。Cortex-M3只支持最新的Thumb-2指令集,免去Thumb和ARM代码的互相切换,Cortex-M3内核中集成了中断控制器,提供基本的32个物理中断,具有8层优先级,最高可达到240个物理中断和256个中断优先级。此类设计是确定的且具有低延迟性,特别适用于汽车应用[5]。具有128 KB的片内FLASH,32 KB片内SRAM,3个UART串口,2个SSI接口,2个I2C接口,完全能够满足现在的需求。
2.4 E2PROM和SD卡存储模块
E2PROM型号为CAT24C02,用来存放报站器的站号、线路、上下行、模式等必要数据,防止掉电数据丢失。SD卡存储中文站名、经纬度信息、MP3音频文件等,SD卡与单片机通过SSI0接口进行通信,采用FAT16格式的文件系统[6],支持最大2 GB的SD卡[7]。
2.5 MP3解码芯片
MP3解码芯片采用的是芬兰VLSI Solution公司生产的VS1003芯片,VS1003是一款单芯片的MP3/WMA/MIDI音频解码和ADPCM编码芯片,其拥有一个性能低功耗的DSP处理器核VSDSP,5 KB的指令RAM,05 KB的数据RAM,串行的控制器和数据输入接口,4个通用I/O口,一个UART口;同时片内带有一个可变采样率的ADC、一个立体声DAC以及耳机音频放大器[8]。
3 公交车自动报站器的软件设计及实现
由单片机LM3S1601编程实现GPS信息的接收处理,GPRS上网、建立连接、接收数据,MP3语音文件的播放,读写SD卡的内容,LCD屏的显示等功能。本系统的工作过程大致为:通过按键及GPS信息的接收进行站点的自学习;自动搜索站点,并自动报站:如果GPS模块接收到的经纬度信息与存储的某站点经纬度信息一致,则通过SSI0从SD卡中读取相对应的MP3文件,将所读取的数据流通过SSI1发送到VS1003播放器中播放,同时在LCD屏上显示相应的站号及站名,并通过GSM网络发送当前的经纬度信息到公交监控调度中心,从而实现自动报站的功能;中心主动连接自动报站器,自动报站器根据接收的通信协议的不同进行不同的操作(如实时监控、车内信息更新等)。
系统的软件组成框图如图4所示。
图4 系统的软件组成框图
3.1 报站器的主程序设计
主程序主要完成系统初始化及各个模块子程序的调用,其流程图如图5所示。
图5 主程序流程图
系统上电后进行初始化,包括:I/O口,定时器,UART、看门狗,模块(SD卡、GPRS模块、VS1003等)。系统初始化完之后,接收GPS定位信息,GPS通信协议较多,该程序采用应用最为广泛的NMEA-0183协议[9]。在此协议中包括了“$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处理功能、自动搜索站点功能的判断及处理[10]。
3.2 GPRS处理子程序的设计
GPRS处理子程序主要实现报站器与中心之间的通信及监控调度、信息更新功能。
中心打电话通知报站器上线,报站器接收到“+CLIP:"020********",129”,通过“ATH”挂断电话,判断是否为中心电话,如果是则建立PPP连接,连接成功后,通过TCP/IP连接中心的固定IP地址和端口号。
报站器与中心连接成功后,双方互发握手指令,如果“握手”成功,则进行通信;否则中心主动断网。
“握手”成功后,报站器接收中心下发的指令。如果为“实时监控”指令,则实时发送GPS数据,为了防止中心与报站器之间断网,双方需定时发送“心跳包”;如果是“信息更新”指令,则接收中心发送的更新信息,接收完毕后自动断网。
图6 GPRS处理子程序流程图
4 结 语
该自动报站器通过EMC及可靠性试验和现场试运行,系统功能正常、运行稳定、表现出较强的抗干扰能力和较高的可靠性,尤其GPS自动报站功能,可根据客户需要及公交线路的实际情况更改报站和预报站范围,确保了报站的准确性,提高了公交车的安全性,减轻了司机的负担,具有良好的社会经济效益。目前,系统功能正在进行部分高级功能的完善,产业化工作也正在全面展开之中。
参考文献
[1]袁成.芝加哥公共汽车的自动报站设备[J].城市公用事业,2003,17(3):42-43.
[2]戴喜明,袁涛,吴定雪.基于GSM/GPS/GIS 车辆状态监控系统的设计[J].微计算机信息,2006,22(27):246-248.
[3]许连华,李学庆.基于GPS 的公交车自动报站系统[J].计算机工程,2005(23):191-218.
[4]SIMCOM.SIM300C AT Commands Set Version 1.06[Z].2006.
[5]ARM Limited.Cortex-M3 Technical Reference Manual[Z].2005.
[6]Microsoft Corporation.FAT:General Overview of On-Disk Format,Hardware White Paper Version 1.02[Z].1999.
[7]SanDisk Secure Digital Card, Product Manual Version 19[Z].2003.
[8]VLSI Solution.VS1003 - MP3/WMA Audio Codec Version 0.92[Z].2005.
[9]Wellenhof Hofman B,Lichtenegger H,Collins J.Global Positioning System Theory and Practice[M].New York:Spinger-Verlag Wien,1992.
[10]张波.GPS自动报站系统的设计与实现[J].电子元器件应用,2006(2):57-59.