公交客车远程数字化监控系统设计

2014-12-23 01:28张国辉丁问司
计算机工程与设计 2014年2期
关键词:串口车载公交

肖 扬,张国辉,丁问司

(华南理工大学 机械与汽车工程学院,广东 广州510640)

0 引 言

公交系统作为城市交通系统中最基础的部分,其运行效率和服务质量对城市交通状况有很大的影响[1]。然而大部分公交监控系统只是对车辆的GPS信息和监控摄像头信息进行监控,信息量少,而公交车上电子设备还有报站器、CAN 控制器、车载收费系统和车载DVD 等,各个模块都有单独的产品,大部分都彼此独立工作,相互之间在功能上不关联互动、信息不共享互换,没有一个综合的监控信息平台,而监控信息量少导致调度手段单一,是公交运营面临的主要问题。因此,需要建立一个智能化的多数据流的公交客车监控系统。本文研究设计了一种基于ARM 嵌入式平台的公交客车远程数字化监控系统,基于GPS 定位、无线通信技术和地理信息技术等技术的综合运用,对公交车的GPS信息和CAN 总线信息进行监控,实现公交车辆运营调度的智能化和运行的信息化、可视化。

1 系统总体架构

公交客车远程数字化监控系统是一种通过无线通信网络远程实时采集监控数据,实现对公交车的监视和控制的多数据流监控系统。

1.1 系统功能设计

根据公交客车远程数字化监控的实际需要,本系统主要有以下5点功能要求:

(1)车辆定位。车载终端实时的将车辆的GPS信息发送到监控中心,实时监控车队中每一辆车的位置和方向,并实现轨迹回放和电子围栏等功能,对公交车实现动态监控和实时指挥。

(2)监控客车CAN 总线信息,记录车辆在预设时间内的行驶信息,包括速度、加速度、里程、水温、油耗速度以及发动机和电子风扇参数等。并以此作为车辆保养以及驾驶员工作评估参考[2]。

(3)通过报站器,实现驾驶员上下班签到、车辆报站、更新电子路牌信息以及车辆的调度申请等,驾驶员用过报站器上的人机界面与监控中心交互实现公交车辆的智能调度。

(4)车辆报警。当检测到车辆有安全隐患、驾驶员未按时发车或者偏离预定行驶路线,可以给驾驶员发出铃声以示警告或者向监控中心发出警报信息,确保车辆及乘客安全。

(5)车载终端的远程维护。监控中心能够远程更新车载终端的应用程序,并且更新公交客车车载终端的运行线路信息和广告播放内容。

1.2 系统总体结构

公交远程数字化监控系统主要由车载终端、监控中心服务器、监控客户端组成。系统框架结构如图1所示。

图1 远程数字化监控系统组成

车载终端是车载系统的核心,也是整个监控系统的关键,协调和监控车上各个模块工作,其结构如图2所示。

图2 车载终端结构框

所有的监控数据都是通过车载终端发送给监控中心服务器的。车载终端主要采集以下4方面的数据:

(1)GPS信息。通过GPS模块接收的来自GPS卫星的数据。

(2)CAN 总线。采集CAN 总线上各节点的信息,主要包括有累计里程、车速、水温、油耗速度、电压、气压和发动机参数等。

(3)满意度调查器。乘客对此次乘车的评价,共有5个星级的评价。

(4)报站器。公交车上下行和当前站点的数据,加气加油和故障停车等调度信息,驾驶员上下班签到和运营签到的信息。

车载终端接收周围电子设备发来的数据,根据协议提取其中我们需要的信息,并打包成TCP 数据帧通过3G 无线通信模块发送到无线网络的接收点,再通过网关转入Internet网络并将数据投递给监控服务器。

监控中心服务器是一台有固定IP地址的服务器,集成了Web服务器和FTP服务器。它接收车载终端发来的数据包,解析、存储到数据库。同时,监控中心读取数据库中的数据并生成可视化网页。

监控客户端就是一个通用的IE 浏览器,用户可以通过IE浏览器登陆监控中心查看监控信息,也可以给车载终端发送调度信息以及远程升级应用程序等。

2 系统硬件设计

监控系统的硬件主要由服务端和车载终端组成,服务端就是一台服务器,这里只介绍终端硬件。嵌入式车载终端是监控系统的核心部分,该终端主要由AT890X-DIP2.0核心板、GPS 模块、3G 模块,STM8S208RB 单片机等组成,外部接口主要有6个UART 异步串口、100M 网络接口、HDMI 高 清 口、两 个 USB 接 口、AV 口、SATA接口等。

2.1 AT890X-DIP2.0核心板

核心板采用韩国Telechips公司的TCC8900 芯片,该公司在视频播放、MP3 直接编码等方面做的非常出色,TCC8900更是一款低功耗、高性能、高性价比的ARM11 SOC芯片,稳定性强、爆音少,支持多种编码格式,视频解码最高支持1920*1080 分辨率。其主频高达800MHZ,配有256M DDR2SDRAM 的内存。

核心板提供丰富的接口,为公交远程监控系统功能扩展做好准备,但是TCC8900上没有CAN 接口,这里通过STM8S208RB单片机和TJA1040组合实现CAN 接口与串口的转换,TJA040是高速CAN 控制收发器,其设计原理如图3所示。

图3 JTA1040原理

2.2 GPS模块

GPS全球定位系统由24颗人造卫星组成,能为用户提供全天候、全球性和高精度的实时定位导航服务。本系统采用u-blox的第六代GPS模块NEO-6M-0-001,定位精度达到2.5MCEP,启动和辅助启动首次定位时间小于1 秒。与GPS模块通信主要通过串口来实现的。

2.3 3G 模块

3G 通信技术是指支持高速数据传输的蜂窝移动通讯技术。主要有WCDMA、CDMA2000、TS-CDMA 这3 种通信标准,而WCDMA 是在GSM 基础上演进的,集成了其永远在线、网络接入速度快、通信费用低等特点,并且具有传输速度快、能够软切换以及全球范围的无缝漫游等特点,广泛应用于远程监控系统中[3]。本系统选用华为的EM770W 模块,内置TCP/IP 协议栈,支持标准AT 指令集和华为扩展AT 指令集,具有SIM 卡接口和天线接口,带有60PinBTB连接器2xUART 接口 (其中UART1 为8线流控制功能串口,最大速率达230400bit/s)。

3 系统软件设计

系统软件主要由车载终端软件、监控中心服务器软件、监控客户端软件3个部分组成。监控客户端软件即普通的IE浏览器。

3.1 车载终端软件设计

软件设计主要有3部分:开发平台的选择、数据采集模块的设计和3G 通信模块的设计。数据采集模块主要是接收来自报站器、CAN 总线、GPS模块和报站器的数据。3G通信模块实现终端与服务器之间的通信。

3.1.1 开发平台的选择

常见的嵌入式操作系统有WinCE、Linux、Vxworks等。WinCE是拥有多线程、多任务、确定性的实时和完全抢占式优先级等特性的操作系统[4],由于其具有模块化设计方式、占用内存小以及开发周期短等优点,因此,本系统选用WinCE作为本系统的软件开发平台。

3.1.2 数据采集模块

CAN 总线、满意度调查器和报站器与车载终端的通信都是通过UART 串口来实现的,GPS模块也是通过串口通信实现数据采集的。数据接收流程如图4所示,程序通过CreateFile()创建5个串口与之对应,然后创建DCB结构体变量并给其赋值,在调用SetCommState()设置相应的波特率、奇偶校验、数据位和停止位等参数,波特率根据串口所连接的对象来设置,调用SetTimeouts()设置串口读写等待时间,并为每个串口创建一个线程读取数据。调用SetCommMask ()设置事件掩码EV_RXCHAR,调用WaitCommEvent()无限阻塞线程等待事件的发生,即当输入缓冲区收到数据时触发事件,则即可调用ReadFile()读取数据,并且从这些数据中解析出我们需要的信息。当需要从串口发送数据时,直接调用WriteFile()并指明写入哪个串口即可。

图4 串口接收数据流程

3.1.3 3G 通信模块

TCP/IP网络协议广泛应用于网络数据传输,其网络模型定义了4层,即网络接口层、网络层、传输层、应用层。传输层协议有TCP和UDP,而车载终端与服务器之间的通信采用的是TCP方式,TCP提供一种面向连接的、可靠的字节流服务。

车载终端上电,完成系统初始化,创建套接字,绑定本机IP和端口,建立与监控中心的Socket连接,创建通讯线程,调用WaitForSingleObject()监听客户端通讯事件,例如当接收到数据、连接断开或通讯过程发生错误等,当有事件触发时,调用select()来判断是否有读事件发生,再调用recv()就可以接收、解析监控中心发送的数据或指令,根据数据内容,程序调用相应的方法,比如切换电子路牌线路信息、从监控中心下载更新文件等操作。当车载终端将监控信息发回监控中心时,只需要将数据打包调用send ()即可。同时,车载终端每隔5s发送一个心跳包以保持和监控中心服务器的网络连接。

3.2 监控中心服务器软件设计

监控中心服务器是数据的中转站,接收车载终端传过来的数据,按照通信协议进行相应的处理并存入数据库,数据库使用SQL Server关系数据库。软件采用C++的Socket编程技术实现对数据的收发处理,由于车载终端的数量比较多,一个终端一个线程服务器负担太大,这里采用完成端口模型来响应大量Socket请求,避免因大量用户并发请求而导致服务器崩溃。同时采用线程池和内存池等方法来调度线程及内存分配,提高服务器的工作效率。

车载终端软件远程升级和广告内容更新是通过FTP的方式访问服务器中指定文件并下载到车载终端的,这种方式便捷、可靠、高效。另一方面,监控客户端通过浏览器发送http请求查看监控信息,因此,监控中心服务器需要提供FTP服务和Web服务。其基本结构如图5所示。

图5 监控中心服务器结构

4 系统测试

为了测试系统的实用性和稳定性,将车载终端 (包含报站器)放在车上并按照预定的公交线路移动,测试结果表明,车载终端报站以及接发调度命令正常,在监控中心服务器可以查看终端发回来的GPS位置信息,与实际值相差甚小,在误差范围内。如今,公交远程监控系统已经在佛山公交大量应用,报站器和CAN 总线都与车载终端连上,目前佛山公交运行正常。其中图6是监控系统对其中的一条线路监控,圆和箭头代表公交车及其行车方向。图7是公交车总线的部分信息。

5 结束语

在WinCE嵌入式平台上,结合GPS 全球定位技术和3G 通信技术,建立了一个多数据流的信息监控平台,公交远程数字化监控系统不仅能够实时监控车辆的位置信息,也能够实时监控CAN 总线上有关车辆运行状态信息,而且通过报站器的人机界面可以简单的和监控中心通信,帮助调度人员掌握车辆运行情况,合理安排公交车发车时间,有效提高了公交运营效率,改善了对驾驶员和公交车辆的行为管理。车载终端平台提供了丰富的接口,具有很强的扩展性,预留的AV 口可集成视频监控模块,而芯片更是支持多种格式的视频播放,通过HDMI接口可流畅地播放视频广告,同时,7 寸触摸屏可以连接到车载终端用作人机界面,方便驾驶员与监控中心交流。在实际应用中可灵活扩展功能,以适应市场需求。

虽然系统的功能基本实现,但仍存在一些不足和值得改进的地方,可以从以下几个方面进行完善与改进:

(1)监控信息不够完善,可以增加对客流量、车厢内部温度、空气质量、甚至驾驶员的心率等信息进行监视。

(2)随着越来越多的公交车上使用车载终端,甚至连同使用我们的服务器,需要处理的数据也会越来越多。海量的数据势必给服务器带来挑战,利用分布式服务器或者云存储、云计算等方法可有效解决此问题。

[1]LIN Lvzhou,WANG Lichao,LU Qiyong.Intelligent supervisory system of buses based on GPS and GPRS[J].Chinese Journal of Scientific Instrument,2006,27 (6):561-563(in Chinese).[林绿洲,王力超,陆起涌.基于GPS与GPRS的公交智能监控系统[J].仪器仪表学报,2006,27 (6):561-563.]

[2]LIN Lvzhou,LU Qiyong,TIAN Xiaofang,et al.Bus supervisory system design based on embedded platform [J].Telecommunication Engineering,2006,46 (3):78-81 (in Chinese).[林绿洲,陆起涌,田小芳,等.基于嵌入式平台的公交车辆监控系统 [J].电讯技术,2006,46 (3):78-81.]

[3]ZHANG Xue,LI Xin,FAN Yingying.ARM9remote monitoring system based on Linux [J].Electronic Design Engineering,2012,20 (1):187-189 (in Chinese).[张雪,李欣,樊迎迎.基于Linux的ARM9远程客车监控系统 [J].电子设计工程,2012,20 (1):187-189.]

[4]WANG Bing.Advanced programming and examples of Windows CE embedded[M].Beijing:China WaterPower Press,2008:1-238(in Chinese).[汪兵.Windows CE嵌入式高级编程及实例详解[M].北京:中国水利水电出版社,2008:1-238.]

[5]LIU Chengxu,SUN Guokai,LIU Yingji,et al.Remote online monitoring system for bus by integrating CAN-BUS techniques [J].Journal of Shenyang Agricultural University,2012,43 (1):110-113 (in Chinese). [刘成许,孙国凯,刘应吉,等.基于CAN 总线技术的客车远程监控系统设计 [J].沈阳农业大学学报,2012,43 (1):110-113.]

[6]SHAO Tingli.Design and analyse software of city bus monitoring system [J].Science and Technology Information,2012(27):199-200 (in Chinese).[邵霆力.城市公交监控系统软件设计浅析 [J].科技资讯,2012 (27):199-200.]

[7]SUN Haiping,ZENG Hong,GUO Jiali.Bus data acquisition and romote monitoring system based on CAN bus and GPRS[C]//Consumer Electronics,Communications and Networks,2011:1094-1097.

[8]ZHAO Jindong,MA Lingxian.Design and implementation of vehicle monitor system based on GPS and GPRS [J].Computer Engineering and Design,2007,28 (10):2498-2500 (in Chinese).[赵金东,马领先.基于GPS/GPRS的车辆监控系统的设计与实现[J].计算机工程与设计,2007,28 (10):2498-2500.]

[9]Liu Y J,Zhou W,Li W L,et al.Design and realization of remote monitoring platform software for transportation vehicle with hazard-ous material[C]//ICCTP.ASCE,2010:2295-2305.

[10]ZENG Hong.Bus data acquisition and remote monitoring system based on CAN bus and GPRS/3G [D].Guangzhou:South China University of Technology,2012 (in Chinese).[曾宏.基于CAN 的公交车车况信息采集及GPRS/3G 的远程监控调度系统 [D].广州:华南理工大学,2012.]

[11]YAO Hongxin,HUANG Bing.A BRT monitoring system for main road based on embedded platform [J].Electronic Engineer,2009,35 (3):30-33 (in Chinese).[姚宏昕,黄冰.基于嵌入式平台的城市主干道BRT 监控系统设计 [J].信息化研究,2009,35 (3):30-33.]

猜你喜欢
串口车载公交
一种车载可折叠宿营住房
一元公交开进太行深处
浅谈AB PLC串口跟RFID传感器的通讯应用
高速磁浮车载运行控制系统综述
等公交
智能互联势不可挡 车载存储需求爆发
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于ZVS-PWM的车载隔离DC-DC的研究