2. 2 GPS 模块
由于该GPS 模块设置信息掉电丢失, 在每次系统启动时均要对该GPS 模块进行初始化。将模块设置成每秒钟输出一次GPS 信息。
系统启动后, 模块接收GPS 信息, 然后解析出GPS 信息, 根据解析出来的经纬度信息与数据区中存储的站点信息比较, 计算出实际距离。如果距离到达阀值时, 启动GPS 报站中断。
该GPS 模块接收模块遵循NMEA. 0183 协议, 可以输出多种格式的数据帧, 均以“MYM”开头。输出数据采用的是ASCII 码字符, 内容包含了纬度、经度、速度、日期、航向及卫星状况等信息。帧格式达10 余种, 该系统所使用的仅限于$ GPRMC 定位数据帧格式。
系统启动后, 通过串口对GPS 模块进行设置,由于系统对实时性要求不高, 将GPS 设置为每秒钟输出一次RMC 数据。提取GPRMC 语句的思路是设置一个数据缓冲区, 把接收到的GPS 数据都放入这个缓冲区, 当缓冲区满了的时候就在缓冲区中查找是否接受到GPRMC 定位语句, 如果没有接收到则重新接收GPS 数据。如果找到了GPRMC 定位语句则还要判断该语句在缓冲区中的位置离缓冲区的最大字节数是否大于62个字节( 因为本程序中需要的GPRMC 定位语句所包含的字节数为62) , 然后通过多程序提取相关经纬度、时间和速度等信息并通过数据处理线程进行相关处理。系统工作流程如图3 所示。
图3 系统工作流程
2. 3 GPRS 无线通讯模块
由于GSM 模块内嵌TCP/ IP 协议, 可以直接调用AT 命令与服务器通过TCP、UDP 通讯。无线通讯分为上行数据转换模块和通讯模块2 个模块。
上行数据转换模块的主要功能是把接收到的GPS 数据或是相关的状态信息转换成约定好的数据格式以便同主信息中心的通讯。该模块会判断需要转换的数据是GPS 数据信息还是相关状态信息或是二者都有, 然后选择相应的转换程序。由上面的介绍可以知道接收到的GPS 数据都是顺序存放在数据缓冲区当中的, 需要什么数据就到缓冲区中相应的位置提取就可以了。数据都是以字符形式存放的, 所以实际要用的时候必须先转换成整形数据。
下行数据转换模块的功能与上行数据转化模块的功能相反, 它将主信息中心发送的命令进行识别后发送给车载终端, 并通知用户界面模块显示。
通讯模块的主要任务是完成车载终端与监控中心的通讯, 它既可以通过GPRS 网络实现与主信息中心的无线通讯。如果车载终端与上位机的距离隔的很远可以直接通过GPRS 网络与监控中心进行连接, 而且通过SIM
在测试中发现, 由于无线信号存在差异, 在某些网络信号较差的地方容易与主信息中心失去网络连接。为解决这一问题, 在系统中采用多线程监视网络连接状态, 一旦失去网络连接, 立即与主信息中心重新连接。
2. 4 语音播放模块
语音播放采用飞利浦SPI 接口音频芯片, 驱动为Linux 下的声卡设备。通过S
在语音报站时, 需要为公交车上的喇叭提供语音信号, 功放电路采用MAXIM 功放模块, 该功放模块采用单端输入的方式, 输入的负端直接接地。
该功放模块为单声道/ 立体声、D 类音频功率放大器, 能向8 立体声负载提供高达2 × 21W 功率,或向单声道4 负载提供高达1 ×42 W 功率, 效率高达87%。该功放模块兼具D 类放大器的效率和AB 类放大器的性能, 无需大体积散热器, 降低了功耗。该功放模块采用+ 10~ + 18 V 单电源供电, 可驱动BTL 配置的负载。
用于播放报站、广告和信息等语音的播放器选用基于开源的播放器, 在源代码的基础上进行修改,形成适合播放短小音频的播放线程, 为系统体统音频播放功能。
2. 5 显示按键模块
键盘扫描和屏幕显示由51 单片机做数据处理。
键盘显示板主要实现键盘扫描、液晶屏幕的显示并与ARM 处理器模块进行通讯。
显示按键模块通过串口与数据处理模块通讯,将扫描到按键发送给数据处理模块进行处理, 同时接受数据处理模块的显示数据命令, 在相应的液晶屏幕位置显示数据, 从而实现车载报站系统的人机交互功能, 实现公交车的调度管理功能。
基于GPS 和GPRS 的公交自动报站系统, 具定位功能, GPRS 无线通讯功能, 能实现自动报站、调度、信息收发和中心通讯, 具有USB 接口等优点。
大大降低了公交员工的劳动强度, 提高了公交管理的科学性。
3 结束语
公交车载GPS 智能报站系统采用GPS 定位技术、无线通讯技术, 具有体积小、播报准确等特点。
能实现自动报站、调度、信息收发和中心通讯等功能。通过USB 接口可使系统存储多条线路, 方便公交车临时更换运营线路; 利用按键和广播等作为人机交互界面, 方便乘客接收相关信息; 可提供广告等增值业务。系统为建立完整的智能公交调度管理系统提供了关键的公交车载系统。