车辆监控系统中协议解析与构造技术分析

2016-05-30 09:50赵鑫
科技尚品 2016年2期

赵鑫

摘 要:对于车辆而言,其中的车辆监控系统就是对其进行实时的监测和控制,现在在社会上已经得到了广泛的运用。但是,因为发展的时间比较短,可能在系统结构上还不是特别完善,而作为车辆监控系统核心的数据服务中心(DSC),一定要设计出一个扩展性比较强的结构,协议是被控对象和数据服务中心之间的桥梁,起着非常重要的作用。本文对车辆监控系统中的协议解析和构造技术进行了分析。

关键词:车辆监控系统;协议解析;协议构造

1 车辆监控系统中协议解析和构造技术

1.1 协议解析

在接收到数据帧之后,按照相关的协议格式解析其中的具体信息。下面以一个具体的实例进行分析,图1是在车辆监控系统中实际监测到的一个数据包,经过详细的分析可以非常清楚的明白协议解析的过程。

在接收到这样的数字组时,要先从数字组的首位开始分析。首先是找到帧头,也就是连续有两个CCH的,而43H、45H不符合,但是在观察到第3和第4个字节时,就能发现和我们定义的帧头是相同的,我们可以假设这就是帧头,所以说接下来的两个应该是帧的长度。根据帧的长度我们可以分析出在56个字节之后应该是帧尾,也就是两个AAH,和实际情况对比发现一致,这就是我们所定义的数据帧,也就是说是真实的车辆监控系统上传的信息[1]。

对于GPS信息而言,第一个字节就是其信息有效的标志,表示的是实测,紧接着的4个字节(1 4 1 5)为经度信息,但是再具体的经度就要经过重新换算;随后的4个字节(2 3 2 4)为纬度信息,之后的两个字节(8 0)为速度,方位角为一个字节(1),最后的是GPS的信号强度,带有一定的浮动性,因此用了一个字节(2)。对于两个字节的(0 1)来说,属于开关输入信息,我们只知道它占用了两个字节,但是具体的情况要按照数据库中的开关配置信息进行解析。比如,对十六进制的(0 1)来说,转换成为二进制(00000000 00000001),虽然知道2号开关对应的是0,但是却不能判定开关的具体状态,必要对其进行详细的解析。

1.2 协议构造

所谓的协议构造,实际上是将协议解析反过来,就是将已知的信息按照协议的格式构成一组数据帧,之后输送出去。要想实现车载模块实时信息的发送,中心控制模块一定要将各个模块所采集到的数据进行协议构造,之后再发送给数据服务中心。

下面以“下发控制命令帧的构造过程”为例,对协议构造进行详细的分析,首先要充分了解控制命令的帧格式,如下表所示(表1)。应答帧和其他模块之间的区别单纯是在帧标识上为24H,其他方面都是相同的。

比如,如果客户发现他的车存在被盗的现象,要对该车辆实施锁车行为。在业务展示部分将锁车的信息传递给数据服务中心时,数据服务中心首先要做的就是明确该车所对应的类型,之后再找到锁车所对应的开关量输出通道,假设开关量输出通道0号,以下是协议构造数据帧的具体过程:其中开关量输出的数量n是1,而对应的字节值为8*n,也就是8,。如果开关量的属性始终不变,那么一直都是1,该字节就为二进制:00001111,也就是FH。随后又是开关量输出,因为是1号通道,p0继电器的状态应该处于异常,所以该字节也应该是00001110,也就是EH。之后,可以进行分层的封装,第一层应该是信息层,具体为8 F E,第二层是帧标识层,具体为34 8 F E,第三层也是最外面的一层是帧长,具体为4 0 34 8 F E。最后一步加上针头和帧尾就成为了一个完成的数据帧,也就是CC CC 4 0 34 8 F E AA AA[2]。

通过上述,是在人工的角度对一个数据帧的解析和构造过程进行了详细的分析,先期的系统设计也是根据这个思想通过代码来实现的。但随着系统的逐渐发展,客户种类越来越多,协议也要随之进行很大的改变,不仅在数目上逐渐增多,在代码方面改变的也很多,因此,会出现比较混乱的现象。如果从重构的角度出发对其进行分析,那么解析程序的作用就会很大,有可能解析更多的协议,重构的方法是比较实用的。

2 结束语

综上,车辆监控系统是现代车辆安全运行的重要保障,正在国内外的交通系统中广泛应用。但是因为发展的时间比较短,系统中的结构和功能等还不够完善,经常存在很多问题,而数据服务中心中的协议解析构造器能够充分改进车辆监控系统的性能,一个结构明确、方便维修、实用性强的协议解析构造器是我们车辆监控系统中重点关注的问题,能够实现车辆监控系统的发展目标。

参考文献

[1]陈什,朱岩.大规模车辆监控系统中通信服务器的设计与实现[J].计算机与现代化,2011,(11):112-115.

[2]周东.广域监控系统中协议解析器的设计与实现[D].南京理工大学,2010.

(作者单位:中国人民解放军军事交通学院)