文獻標識碼: 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)