时间:2024-07-28
安赛
(1.煤炭科学技术研究院有限公司 安全分院, 北京 100013;2.煤炭资源高效开采与洁净利用国家重点实验室, 北京 100013)
随着人工智能、物联网、云计算、大数据等技术在矿山的快速应用与发展,越来越多的矿用分布式采集系统接入矿用工业环网,为矿山的安全生产、管理决策提供了重要的数据支撑与基础保障[1-3]。矿用分布式采集系统的时钟同步是其正常运行的关键[4],实现统一的时间基准是后续数据处理的前提。
目前,常用的时钟同步技术有北斗[5-6]、GPS、NTP(Network Time Protocol,网络时间协议)[7-8]、IEEE 1588V2[9-11]、本地后备时钟和同步线[12]等,见表1。北斗及GPS均是通过天线接收卫星信号获取纳秒级精度的绝对时钟及经纬度、海拔高度信息,可提供时钟秒脉冲、串口ACSII码时间报文、IRIG-B码等格式的时间信息,但需要部署在能接收到卫星信号的场所,无法直接应用于井下;NTP采用简单网络协议为局域网、广域网设备提供毫秒级的时钟同步精度;IEEE 1588V2采用网络对称性及延时测量技术实现主从时钟同步,具有数据帧少、算法简单、移植方便等特点,可提供纳秒级的时钟同步精度;本地后备时钟能够以极低的成本为本地设备提供秒级的时钟同步精度;同步线方式需要单独布置信号线,其时钟同步精度与线缆的长度、分布电容、分布电阻有关。
表1 常用的时钟同步技术Table 1 Common clock synchronization technologies
单一的时钟同步技术由于其精度及应用局限性,无法满足矿用分布式采集系统高精度、高可靠性的时钟同步性能要求。根据矿用分布式采集系统架构特点,本文提出了基于北斗+IEEE 1588V2+本地后备时钟的三级协同时钟同步方案。北斗为整个系统提供高精度绝对时钟,系统中各采集节点通过IEEE 1588V2协议及本地后备时钟与北斗保持时钟同步。
矿用分布式采集系统时钟同步方案原理如图1所示。北斗授时服务器接收北斗系统提供的纳秒级精度的绝对时钟,并作为主时钟通过井下环网为所有采集节点授时;各采集节点软件实现IEEE 1588V2协议,接收主时钟的授时进而调整本地的64位时间戳寄存器;本地后备时钟为各采集节点提供秒级精度的时间戳初值,便于各采集节点以最短时间实现与北斗授时服务器的同步。
图1 矿用分布式采集系统时钟同步方案原理Fig.1 Principle of clock synchronization scherne for mine distributed acquisition system
该方案能兼容矿用分布式采集系统硬件架构,适用性强;只需要额外部署1台北斗授时服务器作为主时钟,同时采集节点软件移植IEEE 1588V2协议,无需其他硬件投入,成本低;北斗授时服务器由于不可控因素失效后,只要井下工业环网与采集节点能够正常运行,IEEE 1588V2会按照最佳主时钟(Best Master Clock,BMC)算法设置1台优先级最高的采集节点作为主时钟,其他采集节点作为从时钟依然与主时钟保持时钟同步,鲁棒性强。
北斗授时服务器为地面设备,不需要考虑防爆问题,因此选用T600-BDGOCXC工业用授时服务器,该服务器支持IEEE 1588V2协议。采集节点时钟同步硬件部分采用STM32F407+DP83848实现,如图2所示。STM32F407内部集成以太网MAC接口的时间戳单元,硬件支持IEEE 1588V2协议,使用MII网络接口连接PHY芯片DP83848。本地后备时钟采用STM32F407内部RTC(Real-time Clock,实时时钟)实现,使用后备纽扣电池防止掉电后RTC丢失时间信息。
图2 采集节点时钟同步硬件电路Fig.2 Hardware circuit of clock synchronization in acquisition node
IEEE 1588V2协议的移植与实现是矿用分布式采集系统时钟同步方案的核心。该协议实现时钟同步的原理[13-16]如图3所示。
图3 IEEE 1588V2时钟同步原理Fig.3 Principle of IEEE 1588V2 clock synchronization
(1) 根据定义的时钟间隔,北斗授时服务器(主时钟)周期性地给采集节点(从时钟)发送同步报文,并且记录同步报文发送时刻为t1,随后将时间戳t1与跟随报文打包发送给采集节点。采集节点收到北斗授时服务器发送的同步报文后,记录收到报文的时刻为t2。
(2) 采集节点收到跟随报文后,解析并记录报文中携带的时间戳t1,随后向北斗授时服务器发送延时请求报文,并记录延时请求报文发送时刻为t3。北斗授时服务器收到延时请求报文并记录收到报文的时刻为t4,然后将时间戳t4打包通过延时请求应答报文发送给采集节点。
(3) 采集节点根据时间偏差Toffset=(t2-t1+t3-t4)/2和传输延迟Tdelay=(t2-t1+t4-t3)/2更新64位时间戳寄存器。每次上电时,将本地后备时钟的时间信息写入时间戳寄存器,以便采集节点用最短时间实现与主时钟的同步。
基于IEEE1588 V2协议的采集节点软件架构如图4所示。操作系统层使用RTX-V4.73实现实时多任务调度处理;固件使用STM32官方函数库V3.5版;网络协议栈使用LWIP-1.4.1提供基于UDP的网络协议处理;IEEE 1588V2基于PTPd-2.0.0开源协议栈实现;应用层实现系统初始化操作和各业务逻辑处理。
图4 采集节点软件架构Fig.4 Software architecture of acquisition node
时钟同步测试方案如图5所示。每隔2 s将各采集节点的主从状态、时间偏差Toffset等参数通过串口发送至PC,便于后期统计分析。
(a) 测试方案①
(1) 测试方案①模拟北斗授时服务器与采集节点通过交换机直连的情况。开启采集节点1的本地后备时钟,采集节点1上电1 min后时间偏差统计结果如图6所示。可看出时钟同步精度≤162 ns;|Toffset|≤25 ns的次数为365,|Toffset|≤50 ns的次数为652。关闭采集节点1的本地后备时钟,上电后约需10 min达到162 ns的时钟同步精度,表明采用本地后备时钟可降低采集节点初次同步所需时间。
图6 方案①测试结果Fig.6 Test results of the first scheme
(2) 测试方案②模拟北斗授时服务器与采集节点1通过三级交换机连接的情况。采集节点1的时间偏差统计结果如图7所示。可看出时钟同步精度≤565 ns;|Toffset|≤25 ns的次数为97,|Toffset|≤50 ns的次数为198。
(3) 在测试方案②情况下断开北斗授时服务器与交换机的网线,模拟北斗授时服务器失效的情况。采集节点2运行状态如图8所示(fcaf6afffe00230f、0080e1fffe373655分别为北斗授时服务器、采集节点2的时钟id)。断开网线后,采集节点2状态由slave(从时钟)更改为master(主时钟),master id由北斗授时服务器的id更改为采集节点2的id。
图8 采集节点2运行状态Fig.8 Running status of acquisition node 2
采集节点1运行状态如图9所示(0080e1fffe373659为采集节点1的时钟id)。断开网线瞬间,采集节点1状态由slave(从时钟)变为master(主时钟);经过3个周期后,采集节点1状态恢复并保持为slave(从时钟);优先级高的采集节点2升级为主时钟继续为采集节点1授时。
图9 采集节点1运行状态Fig.9 Running status of acquisition node 1
为了提高矿用分布式采集系统时钟同步精度和可靠性,提出了基于北斗+IEEE 1588V2+本地后备时钟的三级协同时钟同步方案。北斗授时服务器部署在地面,作为主时钟提供纳秒级精度的绝对时钟;通过IEEE 1588V2将北斗的绝对时钟同步到各采集节点;本地后备时钟给各采集节点提供秒级精度的时间戳初值,便于各采集节点用最短时间实现与主时钟的同步。测试结果表明:北斗授时服务器与采集节点通过交换机直连的情况下,1 min后时钟同步精度达162 ns;北斗授时服务器与采集节点通过三级交换机连接的情况下,时钟同步精度为565 ns;在北斗授时服务器失效的情况下,优先级高的采集节点升级为主时钟并为其余采集节点授时,具有较强的可靠性。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!