作者:张茁
一、引言
目前,随着人民生活水平的提高,交通工具越来越多,安全服务也越来越受到重视,尤其是车载监控系统越来越多地受到业界的关注。本文介绍了作者设计的一种车载监控系统(以下简称为车载系统),并重点介绍了车载系统终端的设计与实现。该系统将GPRS、GPS技术相结合,利用GPRS的数据传输功能,实现移动车辆与监控中心的双向数据传输,以实施对车辆运行状态、安全状态、技术状态的监控。
二、 系统组成及特点
由于在GPS_GPRS定位系统中,涉及到了GPS卫星定位技术与GPRS通用分组无线业务的相关应用,从而在系统的组成中,GPS与GPRS无疑是整个系统的核心部门,下面就GPS系统与GPRS系统,以应用为前提作如下简要介绍。
全球定位系统(GPS,Global Positioning System)是美国从上世纪70年代开始研制、历时20年、耗资200亿美元、于1994年全面建成、具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。
GPRS是欧洲电信协会GSM系统中有关分组数据所规定的标准。它采用信道捆绑(目前GPRS的设计可以在一个载频或8个信道中实现捆绑)和增强数据速率改进实现高速接入,理论上可提供高达115kbps的空中接口传输速率,使若干移动用户能够同时共享一个无线信道,一个移动用户也可以使用多个无线信道。实际不发送或接收数据包的用户仅占很小一部分网络资源,并且网络容量只有在实际进行传输时才被占用。
为了实现GPRS,需要在现有的GSM网络中引入3种新的逻辑网络实体:服务GPRS支持节点(SGSN)、网关GPRS支持节点(GGSN)和分组控制单元(PCU)。GPRS与现有的GSM语音系统最根本的区别是,GSM是一种电路交换系统,而GPRS是一种分组交换系统。因此,GPRS特别适用于间断的、突发性的或频繁的、少量的数据传输,也适用于偶尔的大数据量传输。这一特点正适合大多数移动互联的应用。
基于以上对GPS系统和GPRS系统的简要介绍,可以得出GPS_GPRS定位系统车载终端的组成及特点。其中,系统结构方框图如图1所示,系统工作流程为:GPS_GPRS定位系统车载终端将其所获取的当前GPS地理位置信息,通过GPRS方式上传到系统服务器。客户端可以通过专用GIS软件或IE浏览方式,对当前受监控车辆所在的位置、车速及行进方向进行实时监控,并可以通过网络对车载终端进行控制,实现移动车辆与监控中心的双向数据传输,完成对车辆运行状态、安全状态、技术状态的监控。
图1 系统结构方框图
三、系统功能及工作原理
GPS_GPRS定位系统车载终端原理框图如图2所示。
图2 车载终端原理框图
其中,该车载终端需要实现的主要功能如下:
用户当前信息一次查询;
用户连续定位信息查询/启动发送实时定位信息;
停止终端定位数据上传;
设置GPS采样定位数据周期;
硬件点对点下载GPS定位系统终端定位采样数据;
备开关(电平)输出/输入端子,实现与车用防盗报警器、紧急报警(SOS)、医疗服务、故障服务、继电器输出、警示嗽叭、点火信号等的接口;
安防功能:可以通过手机短信、直接遥控、网络等三种方式进行设/撤防操作。同时具备应急、紧急求助功能。且当系统在一定程度上遭到破坏或出现异常时,系统终端自动启动安防功能;
监听功能:用户可通过手机短信,或者网络对监听号码(接警号码)进行设置并发送监听命令(监听电话主动挂机则结束监听),且当系统在一定程度上遭到破坏或出现异常时,系统终端将自动启动安防功能;
电话功能:通过电话手柄,完成拨打和接听电话的功能;
欠压检测示警及后备电源自动启用功能。
该系统车载载终端的工作原理如下:
车载终端由W77E58实现控制,其核心部分主要包括PPP及TCP/IP协议栈、GPRS控制、GPS控制,以及外围接口控制。CPU内嵌PPP及TCP/IP协议栈,同时分别通过串行口UART0去控制GPRS的工作,通过串行口UART1去控制GPS的工作。其中:
(1)CPU对GPRS的控制
(2)CPU对GPS的控制
主要是通过串行口UART1发送控制命令实现(GPS采样周期的设置、GPS输出数据选择 、通讯波特率设置等),同时也是通过串行口UART1接收GPS定位信息,由于GPS输出数据采用NMEA-0183(Ver2.0)格式,输出数据为多组,在本系统中,仅选择了取其中的一组数据:GPRMC(推荐最小数据量的GPS具体内容/传输数据),其格式见图3,其中,当且仅当GPS输出数据为有效定位数据时,对应的UTC时间才为当前准确时间。
图3 GPS数据格式(GPRMC)
(3)CPU对其它外围接口的控制
主要通过通用I/O口实现开关(电平)输入/输出,同时通过外部中断的方式实现了实现与车用防盗报警器、紧急报警(SOS)、医疗服务、故障服务、点火信号等的接口。
(4)CPU对系统的整体控制:
首先,CPU完成对GPRS、GPS及外围接口的初始化工作;其次,CPU通过串行口UART1对GPRS进行操作,完成从拨号到PPP协商(创建PPP链路、用户验证、PPP回叫控制、协商和调用网络层协议),并与服务器建立起TCP连接;然后,在保证与服务器之间的TCP连接正常的前提下,实现与服务器之间的数据交互与控制;最后,CPU还必须要周期性地对系统终端的当前状态作出测试及判断,并对各种实际情况作出相应的处理,以保证系统能正常而稳定地工作。
四、系统软件设计
在整个GPS_GPRS定位系统的设计中,涉及到服务器软件、客户端应用软件及车载终端底层软件。在此,主要就车载终端底层软件的设计作进一步的说明。
在GPS_GPRS定位系统车载终端底层软件的设计中,程序采用了模块化设计,软件由一个主程序和若干个子程序构成,其中,子程序主要完成一些单一的基本工能,主程序则主要负责完成对各个功能模块(即子程序)的调用,同时对车载终端的资源及逻辑作出规划,主程序框图如图4所示。
图4 系统主程序框图
下面就主程序的设计要点作出如下阐述:
当系统完成GPS及GPRS的初始化之后,即进行网络拨号、PPP协商、TCP联结等操作,当车载终端与服务器之间建立起网络联结之后,便可通过自定义的车载终端与服务器之间的通讯协议进行数据交互。
在此过程中,系统会首先判断,当前系统是否允许终端将GPS数据进行上传,并进行相应操作;同时,会检测是否收到控制命令(包括通过网络发出的控制命令,或通过短信方式发出来的命令,或是通过遥控器发出的控制命令),倘若收到了控制命令,则对命令的合法性作出判断,并进行相应的处理。
同时,系统会定时对网络质量进行测试,倘若网络测试正常,则返回到继续判断控制命令及对系统当前状态进行处理;倘若网络测试不正常,则进行有限次尝试,倘若有限次尝试均以失败告终,而主动断开网络连结,并对GPRS作出复位及再次初始化操作,之后,再重复主程序的拨号、PPP协商、TCP联结及网络数据交互工作。
其中,与GPRS的数据交换,通过串行口UART0中断完成;与GPS的数据交换,通过串行口UART1完成;另外,外部警情接收通过外部中断0和1完成,无线遥控接收由外部中断2完成。通讯超时及定时处理,由定时器TIME2完成,它们均以子程序的形式存在于车载终端控制软件中,同时还包括一些对GPRS、GPS模块进行初始化及设置,以及PPP协议、TCP/IP协议的解析与实现子程序,具体框图及说明略。
由以上对车载载终端控制程序的说明可知,车载终端工作流程控制程序的工作流程如下:
1:与服务器建立网络连接;
2:与服务器建立TCP联结;
3:对用户进行注册;
4:向服务器发送GPS定位数据;
5:默认状态下,按设定周期(默认状态为每5秒一帧),定位数据不间断地上传到服务器;
6:网络状态检测及网络质量测试,并据网络当前状况,作出相应处理(比如断线重拨);
7:接收网络或第三方控制或操作命令,并作出相应处理(比如:GPS采样周期设定、停止发送GPS数据、开始发送GPS数据、设置监听号码、更改操作密码等);
8:处理突发警情(自动拨打监听中心号码、上报求助警情信息等)。
五、结语
利用GPRS的数据传输功能,对GPS数据进行实时传输,与以往GPS监控系统所采用的短信、GSM数据通道或DTMF数据传输等传统方法相比,运营成本得到了极大的降低,同时其可操作性及实时性也都有了显著的提高,而且成本较低,结构简单,达到了较高的可靠性。
该系统中,PPP、TCP/IP协议栈都由8位单片机完成,由于速度上的限制,使得系统中的协议栈只能椐实际应用而作出相应的压缩与处理,但这已足以达到该系统的资源需求。同时,该系统为以GPRS为代表的无线网络接入方式的应用提供了一个可循的途径。随着GPRS、C DMA等无线网络接入方式的不断完善,相信以此为代表的新一代无线数据传输方式具有很大的应用前景。