文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.01.021
中文引用格式:魏亚敏,李轶,张申,等. 矿山物联网时间同步系统设计与实现[J].电子技术应用,2017,43(1):81-83.
英文引用格式:Wei Yamin,Li Yi,Zhang Shen,et al. Design and implementation of time synchronization system of mine IoT[J].Application of Electronic Technique,2017,43(1):81-83.
0 引言
矿山物联网要进行分布式测量,生产环境需通过多样泛在式的传感器对矿山环境、生产设备健康、工作人员安全等进行实时监测、感知、保障,实现矿井及时定位、事故问题反应[1]等功能。而这些业务的实现和正常工作,必须要保证各传感器或节点间具有准确、统一的时钟同步。物联网时间同步概念的提出,可充分满足矿井系统中对生产自动化和信息化的高标准要求[2]。本文研究设计了一种矿山物联网时间同步方案,并采用现今具有较高性价比的、基于STM32F407的IEEE 1588方案实现,极好地满足了各种应用要求,尤其在中高端工业控制的分布式应用中具有较高的市场价值和工程意义。
1 时间同步系统
1.1 系统方案
针对已有的矿山网络环境,为了减少网络的重复建设,希望在现有的主干网络环境下实现时间同步[3]。因此采用了如下时间同步系统方案。
井上父时钟通过GPS或北斗模块与标准时间同步,获得当前的精确时间[4];井下时间同步节点通过支持交换机与子网中的父时钟进行时间同步,获得当前子网内的精确时间,完成时间同步;井下时间同步节点完成时间同步后开始进行数据采集,将采集到的数据加上时间戳并进行数据压缩后通过数据传输子网传输到数据中心,从而实现全网数据的精确时间同步。图1为时间同步系统方案图。
1.2 设计实现
IEEE1588协议采用软硬件结合的方式,可实现高精度的时间同步[5]。其精度可优于NTP(Network Time Protocol),而且达到次毫秒级同步精度[6]的同时对系统资源的耗费并不很高。IEEE1588协议针对网络化、本地化的系统设计,适用于分布式工业网络的各种应用。IEEE1588协议可基于标准TCP/IP协议栈设计,这极大地扩展了其应用范围[7]。
IEEE1588协议实现利用STM32F407提供的硬件开发功能开发驱动并编写IEEE1588协议软件部分,以此实现整体IEEE1588协议栈。结构图如图2。
TCP/IP是IEEE1588协议报文传输的载体,所以必须选择合适的通信载体,即合适的TCP/IP协议栈。本文选择Lwip协议栈[8]。
2 时间同步节点硬件总体方案
本文以微控制器STM32F407为硬件系统核心,采用以太网物理层收发器DP83848进行底层网络通信,实现系统节点的硬件结构。硬件总体框架图如图3所示。
从图3可以看出,硬件系统由主芯片STM32F407和一些外设接口构成,外设接口主要包括以太网接口、串口等,这些接口负责对外部信号的发送或者接收。测试时可通过观察输出的PPS脉冲分析同步精度。电源模块为系统中所有模块提供动力。串口用于接收用户配置的参数并输出当前系统信息,主要用于系统监控和调试。以太网接口用于TCP/IP通信,完成对网络中数据的接收和发送。
3 时间同步节点软件设计
3.1 IEEE1588同步原理
时间同步系统中主时钟、从时钟相互发送各类报文实现了IEEE1588协议的精确时间同步。IEEE1588同步过程可以被分为偏移测量和延时测量两个阶段[9,10]。
toffset表示主时钟与从时钟之间的偏差,tmtsdelay表示报文传输中主时钟到从时钟的延迟,tstmdelay表示报文传输中从时钟到主时钟的延迟。时间关系为:
3.2 协议实现流程设计
本文采用的时间同步协议流程如图4所示。
在该时间同步协议流程中,优化去除原有时间同步协议流程中的最佳主时钟算法,默认井上控制时钟为主时钟,井下时钟为从时钟,以节约系统运行时间。在本地时钟接收到有效同步报文后,直接对报文进行解包,解包之后判断是否接收超时,未超时则继续接收跟随报文,超时则重新接收同步报文。
4 优化设计以及系统测试
4.1 优化设计
通过前期对协议栈内各函数运行时间的分析发现,协议栈内时钟伺服函数运行时间最长,占用CPU资源较多。针对此问题,提出将协议栈内计算一路延迟的IIR滤波器、主从偏差FIR滤波器及PI控制器采用STM32F407内部的DSP模块加速进行处理的方法[11]。
图5为未优化伺服函数的程序CPU资源占用率与优化伺服函数后程序的CPU资源占用率对比,CPU资源占用率减少了16.28%。
4.2 系统测试
系统测试连接方案如图6所示,将STM32开发板的主机、从机连接交换机,计算机连接交换机。通过观察示波器上从STM32上输出的PPS信号,观察主从设备是否同步以及同步误差。
在系统实物连接中,利用示波器观察脉冲同步波形,将主时钟PTP秒脉与从时钟接收到的脉冲进行比较,图7为多次同步误差分析图。由图可知,主、从机在达到稳定同步后,同步误差可在较长时间控制于100 ns之内。
5 结论
时间同步是矿山物联网分布式测量、定位、事故救援各系统协同运转的关键。本文提出了井下时间同步系统方案及实现,并通过对噪声进行滤波的方法解决了时间同步伺服函数对系统资源占用率较高的问题。实验测试表明,该设计同步精度高,工作稳定可靠,可扩展性强,能够较好地满足现有矿山物联网应用对时间同步的需求,具备较高的实用和推广价值。
参考文献
[1] 张申,丁恩杰,徐钊,等.物联网与感知矿山专题讲座之二——感知矿山与数字矿山、矿山综合自动化[J].工矿自动化,2010(11):129-132.
[2] 陈珍萍,黄友锐,唐超礼,等.物联网感知层低能耗时间同步方法研究[J].电子学报,2016(1):193-199.
[3] 王盼,张锋,吴海,等.矿井节点地震仪低功耗时间同步系统设计[J].煤炭技术,2015(1):263-265.
[4] 赵龙,李本喜,王皓,等.GPS精密授时系统在煤矿微震监测定位中的应用[J].黑龙江大学自然科学学报,2005(6):819-821.
[5] 陈大峰,白瑞林,邹骏宇.嵌入式设备的精确时钟同步技术的研究与实现[J].计算机工程与应用,2013(4):82-86.
[6] 徐立,赵平.基于IEEE 1588精确时钟同步软件实现[J].现代电子技术,2010(24):47-50.
[7] 王力生,梅岩,曹南洋.轻量级嵌入式TCP/IP协议栈的设计[J].计算机工程,2007(2):246-248.
[8] 孙乐鸣,江来,代鑫.嵌入式TCP/IP协议栈LWIP的内部结构探索与研究[J].电子元器件应用,2008(3):79-82.
[9] 庾智兰,李智.IEEE1588精密时钟同步协议的分析与实现[J].电子测量技术,2009(4):56-58.
[10] 桂本烜,冯冬芹,褚健,等.IEEE1588的高精度时间同步算法的分析与实现[J].工业仪表与自动化装置,2006(4):20-23.
[11] 张文亮,田沛,刘晖,等.基于FreeRTOS的lwip协议栈的移植与测试[J].自动化技术与应用,2015(11):25-29.
作者信息:
魏亚敏1,2,李 轶1,2,张 申2,张 然1,2
(1.中国矿业大学 信息与电气工程学院,江苏 徐州221008;
2.中国矿业大学 物联网(感知矿山)研究中心,江苏 徐州221008)