一种大范围无线数据采集的同步算法

2018-07-09 09:00俞岳军
无线互联科技 2018年13期
关键词:时标观察点总线

俞岳军

(杭州电子科技大学 计算机学院,浙江 杭州 310018)

1 无线数据采集同步术语解析

本文提供一种大范围无线数据采集的同步算法。为了便于理解,下面先对本文将要用到的术语进行解释。

重量级数据:系统需要每次都采集到的核心数据,非取到不可的。

轻量级数据:系统需要采集到的数据,但只要基本上能采到就行,某些周期偶然没有采到,也不要紧。

密集数据:系统需要短间隔、密集采集的数据。

稀疏数据:系统长间隔才采集一次的数据,比如3~5 min一次。

自从计算机诞生以来,数据采集一直是它的一个重要任务,有关数据采集的论文也是数不胜数、汗牛塞栋。但总的看来,这些传统的数据采集技术是以一种“很严肃”的态度对待数据的。比如上下位机系统经常采用的232总线、485总线[1],采集数据时上位机对某台下位机发出数据采集命令,下位机用数据作为应答;如果下位机没有及时返回数据,上位机还要重发命令,直到收到下位机回复数据为止;然后继续对其余的下位机进行轮询。这就是传统数据采集算法的常规套路。也有采用局域网的,原理其实也是一样的。这些数据采集的方法,优点是数据肯定能完整地采集,缺点也是显然的:很耗时、系统复杂成本高。

在很多工作场合,需要实时获得大范围的环境数据信息,比如化工类厂房的温湿度、蔬菜大棚的温湿度、某些地质构造的温度压力等等,这可能是一个面信息、也可能是一个体信息,信息量比较大。但是,这些数据并不是每个都不可或缺的,偶然少几个数据,问题也不大,只要总的方面有所把握就行。并且采集密度也不高,3~5 min采集一次就行了。实际上,这就是“大范围的轻量级稀疏”数据。

这种情况下如果采用传统的数据采集数据,用485总线或者局域网线布起来,线路众多复杂、成本高、软件编写复杂。比如说要布500多个观测点,如果用网线就要有500多条,如果用标准的485总线[1],那就要(500/32) +1=16条总线。即使是用最新的485总线技术,也要用(500/256)+1=2条总线。

2 无线局域网同步技术

采用无线局域网是一种更好的选择。目前许多无线芯片功耗极低,自带电池就可以工作很长时间,安装方便灵活、不受场地限制。

问题是很多的观察点又如何和主机进行通信?如果由着它们自由发送数据,射频信号相互冲突,这样显然系统就乱了。必须制订一种高效的通信协议才行。

本文提供了一种无线局域网的同步技术。由以下模块组成。

2.1 检测模块

这是观察点的具体实现。由基本支撑电路、传感电路、无线收发电路组成,负责数据采集和无线发送。检测模块如图1所示。

图1 检测模块

2.2 数据汇集模块

这是周边观察点的数据汇集器。由基本支撑电路、无线收发电路、以太网接口电路组成[2]。负责数据无线接收、整合、有线发送。数据汇集模块如图2所示。

图2 数据汇集模块

2.3 时标模块

这是整个数据采集系统的时间基准。由基本支撑电路、无线发送电路组成,负责给整个采集系统提供“北京时间”。时标模块如图3所示。

图3 时标模块

2.4 数据处理中心

带网络接口功能的计算机系统包括数据处理中心(见图4)。

图4 数据处理中心

3 工作环境示范

工作环境如图5所示。

图5 工作环境示范

4 技术原理解说

所谓的同步算法,就是说工作环境中的所有检测模块、所有数据汇集模块,都以时标模块发出的信号为基准开始工作。

时标模块向各检测模块、各数据汇集模块发出时标射频信号,同步启动它们;检测模块、数据汇集模块开始工作,数据汇集模块接收周边检测模块发来的数据射频信号,进行整合,经过一个阶段的时间,形成一个不一定完整的数据帧;各数据汇集模块把各自的不一定完整的数据帧发给数据处理中心,形成一个完整的数据帧[3]。如此往复,采集到一系列有价值的数据。

对于各检测模块,把采集到的数据根据各自的模块号有序地发送到各数据汇集模块。而在工作环境中,数据汇集模块可以是多个,不止一个,对于同一个检测模块发过来的信号,会被多个数据汇集模块接收到,在数据处理中心收到多个数据汇集模块发来的数据时,重复的数据可以删除。

同时,多个数据汇集模块的存在是很有好处的,因为检测模块发出射频信号的作用距离是有限的,对于一个比较大的工作环境,会很容易超出这个作用距离。分布多个数据汇集模块可以有效地降低这个风险,因为这个数据汇集模块收不到时,可以由其他的数据汇集模块接收到。

实际上,从检测模块到数据汇集模块这一步,相当于把数据进行了压缩,减少了网络有线传送的流通量。而采用多个数据汇集模块,相当于提高了无线信号接收能力。

因为,各检测模块都是根据时标同步开启的,射频信号是根据模块号有序发送的,所以,它们各自之间是不会相互冲突的。

5 各模块的通信协议

首先各模块打开,进入就绪状态,等待时标模块发出的开始信号。

时标模块的工作流程如图6所示。

图6 时标模块的工作流程

时标模块发出的信息格式如图7所示。

图7 时标模块发出的信息格式

而各检测模块的工作流程如图8所示。

图8 各检测模块的工作流程

检测模块的信息格式如图9所示。

图9 检测模块的信息格式

因为各检测模块根据模块号延时了相应的间隔,才开始干正事,所以,各检测模块发出的数据射频是不会冲突的,它们相互间错开了,如图10所示。

图10 各检测模块发出的数据射频错开

考虑到工作时间久了,会发生时间漂移,所以,工作了一天,让它们和时标模块重新对表。

各数据汇集模块工作流程如图11所示。

数据处理中心将各个数据汇集模块发来的信息,删除重复的数据,进行整合,形成对整个环境的映像,不断地记录映像,就会形成一个时期环境的数据映像。

在实际操作中可以用nRF24L01作为无线发送模块。为了减少时间漂移,检测模块、数据汇集模块、时标模块应采用高精度的有源晶振。

我们用32个检测模块,2个数据汇集模块、1个时标模块、1个电脑主机进行了小范围的测试,效果是很好的。理论上,有500个观察点,每隔12 ms一个观察点发送采集到的数据,那么6 s就可以整个范围扫描一遍,这是非常理想的方法。

图11 各数据汇集模块工作流程

各数据汇集模块的数据格式如图12所示。

图12 各数据汇集模块的数据格式

[1]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994.

[2]周立功.深入浅出Cortex-M3 LPC178x/177x[Z].广州:广州致远电子公司,2013.

[3]理查德·史蒂芬.TCP/IP协议详解卷1[M].吴英,译.北京:机械工业出版社,2008.

猜你喜欢
时标观察点总线
我省4家农民合作社被列为部级观察点
二阶非线性中立型时标动态方程趋向于零的非振动解的存在性
时标上具非正中立项的二阶动力方程的动力学性质
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于奇异扰动的永磁风力发电机组双时标控制
多通道ARINC429总线检查仪
法治思维下留守儿童受教育权的保障机制*——以河南省原阳县留守儿童学校为观察点
时标上三阶时滞动力方程的振动性和渐近性
基于EtherCAT总线的ROV控制系统设计