新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于GPS/GPRS的车辆移动监控终端的设计与实现

基于GPS/GPRS的车辆移动监控终端的设计与实现

作者: 时间:2016-11-26 来源:网络 收藏


(1) 主控模块是系统的核心模块,负责系统的控制,以消息分发的方式与其他模块交互,并控制其运行状态达到总体控制系统运行的目的。根据系统工作时处理的不同任务将主控模块划分为启动上电、正常工作、处理SMS数据、处理GPRS数据和退出下电五个状态。主控模块的任务名为SyscMain,他有自己的消息接收管道pipe[SY-SC],他循环地从此管道中接收和处理消息,并根据消息体的内容在主控模块的不同的状态之间转移切换,同时通过向其他模块的消息管道发送消息来控制他们的运行状态,另一方面其他模块通过消息管道向主控通知其自身的运行状态和接受的数据,以接受主控模块的监控。

(2) GPS模块主要负责GPS数据的接收和解析。由于GPS输出数据采用NMEA-0183格式,输出数据为多种格式,在本系统中,仅选择了取其中的一种数据格式:GPRMC(推荐最小数据量的GPS信息),其格式为(见表1):

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,,<11>,<12>*hh


当GPS输出数据为有效定位数据时,提取相应的信息(经纬度、高度、速度等),同时转换UTC时间为本地时间,封装为系统自定义的GPS DATA数据格式发送到通信任务模块。

(3) PPP模块负责GPRS的底层PPP连接和PPP数据包的处理。点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。在TCP/IP协议集中他是一种用来同步调制连接的数据链路层协议。该模块实现负责TCP/IP协议栈低层的PPP协议的连接和释放,以及相应收到的PPP数据帧的处理与上层的TCP/IP层交互。主要包括PPP协议数据帧的封装方式、初始化的LCP协议的协商、PAP密码验证和NCP协议的协商过程的处理。该模块由外挂模块Nucleus NET提供支持。

(4) 通信模块(GPRS模块)负责与监控中心系统通信,完成GPRS数据的收发和短消息的收发。CPU对GPRS的控制主要是通过UART2发送AT命令实现。GSM AT指令集是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,提供了一种移动平台与数据终端设备之间的通用接口,并被加入到GSM 07.05标准以及之后的GSM 07.07标准。用户可以通过AT指令实现呼叫控制、短消息SMS、电话本、数据业务、补充业务、传真等方面的控制。

为满足用户进行GPRS数据通信的要求,NucleusNET作为外挂模块能与Nucleus PLUS无缝结合从而实现其网络互联功能。Nucleus NET通常使用TCP/UDP协议的客户/服务器运行模式,完成建立连接、发送数据及接收数据的工作。

TCP/IP的建立过程中,首先调用Nucleus NET提供的NU_init函数初始化GPRS网络,通过相应的设置AT指令来完成,包括检测是否连接到网络(AT+CREG),通信信号强弱(AT+CSQ)以及SIM卡的PIN值是否输入(AT+CPIN)等。然后用PPP拨号方式拨入GPRS网络,完成底层的数据链路层的连接,这部分由上述的PPP模块来完成。接着调用Nu_Socket函数为他的通信分配一个套接字,然后调用NU_Connect函数与监控中心服务器建立连接成功后,就可以进行GPRS数据的发送NUSend.和接受NU_Reev.

在监控中心服务器和移动终端上的数据传输协议上,为了兼容GPRS和GSM短消息这两种通信方式,系统自定义了如图所示的通信帧结构,其中协议帧最大长度为140 B,包括帧控制字节。



其中固定使用字母“A”作为帧头;帧类型用来表示该帧的具体含义,当为下行通信帧(监控中心服务器→终端)时表示为监控中心对终端的控制命令类型,比如设定定时报位命令、设定超速报警命令、终端配置命令等。当为上行通信帧(终端→监控中心服务器)时该字节省略;帧长为该帧体字段的长度;帧长的反为帧长字段按位取反的结果;帧体是个串类型,依据帧类型的不同表示不同的含义,当该帧为上行通信帧时,帧体的内容为系统自定义的GPS数据;帧序号从0开始到255后归0,用来对帧顺序进行判断;校验和为帧类型、帧长、帧长的反、帧序号、帧体几个字段各字节按字节异或的结果,用来判断该帧的正确性。

另一方面,用户还可以通过按键发送SMS来上报监控中心。主控芯片利用串口向GSM Modem收发一系列的GSM 07.05标准所定义的AT命令集,就能达到控制收发SMS的目的。根据GSMGSM 07.05标准,对SMS的控制共有3种接入协议:Block Mode;基于AT命令的TextMode;基于AT命令的PDU Mode。本系统采用PDU模式对短信息正文经过十六进制编码后传送。PDU模式下可以采用3种编码方式来对发送的内容进行编码,他们是7 b,8 b和UCS2编码。7 b编码用于发送普通的ASCII字符,他将一串7 b的字符(最高位为0)编码成8 b的数据,每8个字符可“压缩”成7个;8 b编码通常用于发送数据消息;而UCS2编码用于发送Unicode字符。

发送SMS的具体过程为:

①首先发送AT以测试GSM Modem连接是否正常,等待GSM Modem返回OK;

②发送ATE0设置GSM Modem取消回显模式,等待返回OK;

③发送AT+CMGF=0设置发送短信时选用PDU格式编码,等待返回OK;

④接下来为正式发送SMS,先调用PDU编码函数对接收到GPS数据GPS_DATA进行编码,并根据通信协议封装为上行通信帧格式,然后发送指令。

AT+CMGS=监控中心短消息号码+回车符(0x0d,0x0a)+上行通信帧数据+回车符(0x0d,0x0a),等待返回OK。

上述的每个步骤完成后都必须加上回车符号(0x0d,0x0a)以使GSM Modem区别为不同的AT指令,而且都必须等待相应的应答,若失败(回应ERROR),需重新发送该AT指令。

(5) 附件模块负责终端硬件设备的检测,并通知主控模块,实现应用程序对终端硬件的控制。

CPU对其他外围接口的控制主要通过通用I/O口实现开关(电平)输入/输出,同时通过外部中断的方式实现了与点火信号、车用防盗报警器、紧急报警(SOS)等的接口。

4 结 语

使用GPRS作为GPS车辆综合监控调度管理系统的无线传输手段,具有费用低、无需线缆施工及安全可靠、维护方便的特点,是一种经济可行、技术先进的系统构建方案,这将使车辆监控系统具有更为广阔的应用前景。本文设计的基于GPS/GPRS的车载移动终端已投入实际运行,工作稳定,能够较精确地完成车辆监控,操作简单方便。

上一页 1 2 下一页

关键词: GPRSGPS监控终

评论


技术专区

关闭