来源:中国一卡通网 作者:中国一卡通收录 发布时间:2011-12-01 14:44:04 字体:[大 中 小]
摘 要:基于GPS 的公交车智能报站系统是移动通讯技术和GPS 技术的结合, 整个系统由S3C24l0 ARM9( 进阶精简指令集机器) 开发板、SIM548C GPS?GPRS模块、语音播报模块、AT89S52 单片机以及OCMJ5X10B 的LED( 发光二极管) 背光宽温黄绿屏等器件组成。GSM?GPS 模块由GPS 分模块与GSM( 全球移动通讯系统) 分模块组成。GPS 模块负责GPS 数据接收。公交车在行进过程中, GPS 模块的实测信息同已存储的位置信息进行比较即可进行自动报站, 无需人为干预, 还可实现在固定位置播放某些特定信息, 如乘车提示、广告信息等。GSM 模块用于公交车与调度室之间的数据通讯, 实现公交车的联合调度, 实现调度中心对公交车的调度功能。
近年来, 随着城市公交事业的迅速发展, 国内公交车报站的方式已经有了很大改善, 由传统的售票员喊话报站逐渐变为驾驶员使用报站器手动报站。
虽然手动报站器使用比较方便, 但是因为驾驶员需要在保证安全驾驶的前提下进行报站, 所以经常出现报站不及时, 甚至错报、漏报的现象, 而且让驾驶员在驾驶过程中进行报站也存在安全隐患。采用自动报站的方式可以大大减轻驾驶员的工作量, 促进公交系统的现代化进程。要实现自动报站, 需要实时测出公交车的位置, 以确定公交车是否已经到达站点。利用GPS 可以确定公交车的地理位置, 只需把当前位置同公交站点的位置数据( 经、纬度) 相比较, 就可以知道公交车是否到达站点, 使得报站系统具有一定的智能性。这种基于GPS 的智能报站系统能够杜绝驾驶员驾驶过程中因兼顾报站器而带来的隐患。特别适合因汽车行业高速发展而导致交通问题日益严峻的我国国情, 还可以在重点线路上加入对城市景点风貌的相关介绍。该系统在GPS 导航领域和商业领域都有着非常大的潜力, 具有广阔的发展前景。
1 系统方案
基于GPS 的公交车智能报站系统是移动通讯技术和GPS 技术的结合, 整个系统由S3C24l0 ARM9( 进阶精简指令集机器) 开发板、SIM548C GPS⁄GPRS模块、语音播报模块、AT89S52 单片机以及OCMJ5X10B 的LED( 发光二极管) 背光宽温黄绿屏等器件组成。GSM⁄GPS 模块由GPS 分模块与GSM( 全球移动通讯系统) 分模块组成。GPS 模块负责GPS 数据接收。公交车在行进过程中, GPS 模块的实测信息同已存储的位置信息进行比较即可进行自动报站, 无需人为干预, 还可实现在固定位置播放某些特定信息, 如乘车提示、广告信息等。GSM 模块用于公交车与调度室之间的数据通讯, 实现公交车的联合调度, 实现调度中心对公交车的调度功能。
语音播报模块负责语音播放, 提供进出站以及提示信息等语音的播放。单片机模块控制按键扫描以及LCD 显示。
1.1 硬件设计
系统硬件部分主要由S3C2410 ARM9 开发板、GPS⁄GSM 模块、功放模块、显示模块、语音播放模块及相应的外围电路组成。GPRS 模块和GPS 模块均通过RS232( 串口) 与ARM 处理器相连, 而LCD( 液晶显示器) 模块则由单片机控制通过串口与ARM 通讯, 语音播放模块通过IIS ( Inter IC Sound) 、SPI( 串行外设接口) 与ARM 通讯。硬件连接方式如图1 所示。
图1 系统硬件结构
GSM⁄GPS 模块采用SIMCOM 公司的GPS⁄GSM 模块, 该模块是一款四频GSM⁄GPRS( 通用分组无线服务技术) 无线模块, 同时支持SiRF Star III AGPS 技术。
GSM⁄GPRS 与AGPS 技术的整合使得该模块可以满足GPS跟踪、导航、车辆船舶等设备和资产的监控管理以及其他GPS 的应用。键盘扫描和屏幕显示由单片机做数据处理。键盘显示板主要实现键盘扫描、液晶屏幕的显示并与ARM处理器模块进行通讯。硬件系统整体框图如图2所示。
图2 系统组成
1.2 软件总体设计
系统的主要功能由ARM 控制, 采用C 语言进行编程, 采用多线程处理相关功能模块。执行相关过程如下: 系统初始化完成后, 依据GPS 定位信息和系统存储的线路信息计算位置、报站和读取相关信息, 并由ARM 控制车内的显示模块进行显示、语音播放以及向数据中心进行数据传送。 2 设计实现 2.1 系统初始化 在系统运行之前, 必须用软件程序对各部分进行初始化。初始化包括以下几个部分:
ARM 以及系统初始化;
显示按键模块初始化;
外部器件、接口初始化: 主要是GPS、GPRS和语音芯片等设备的初始化;
软件系统的初始化: 设置全局变量、指针和数组、数据结构以及公交信息初始化。
系统软件部分主要是在主程序中检测GPS 信息, 确定公交车当前的地理位置, 然后决定是否播放语音信息。同时还需要实现按键所要求的功能, 如切换到手动播报等。本系统的软件部分开发工作是基于Linux 开发环境实现的。根据系统要完成的功能和各个模块的运行情况, 主程序部分采用了多线程以及消息队列的方式, 可以及时接收GPS 数据。
因为只使用GPRMC 帧的数据, 串行通讯的数据量不大, 通讯及数据处理过程比较快, 系统能够及时播放报站及其他语音信息。公交车途经的各站点的经纬度数据需要预先测量好, 并存放到系统的数据区, 作为对比参考使用。GPRS 的信息通过串行口传递, 采用查询法, 按键也使用查询方式进行接收, 以确定按下的是哪个功能键。软件采用C 语言编写, 调试成功后烧录到Flash 中, 实现脱机运行。
2.2 GPS 模块
由于该GPS 模块设置信息掉电丢失, 在每次系统启动时均要对该GPS 模块进行初始化。将模块设置成每秒钟输出一次GPS 信息。
系统启动后, 模块接收GPS 信息, 然后解析出GPS 信息, 根据解析出来的经纬度信息与数据区中存储的站点信息比较, 计算出实际距离。如果距离到达阀值时, 启动GPS 报站中断。
该GPS 模块接收模块遵循NMEA.0183 协议, 可以输出多种格式的数据帧, 均以“MYM”开头。输出数据采用的是ASCII 码字符, 内容包含了纬度、经度、速度、日期、航向及卫星状况等信息。帧格式达10 余种, 该系统所使用的仅限于$ GPRMC 定位数据帧格式。
推荐文章
论坛热帖