安賽
(1.煤炭科學(xué)技術(shù)研究院有限公司 安全分院, 北京 100013;2.煤炭資源高效開采與潔凈利用國家重點實驗室, 北京 100013)
隨著人工智能、物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)等技術(shù)在礦山的快速應(yīng)用與發(fā)展,越來越多的礦用分布式采集系統(tǒng)接入礦用工業(yè)環(huán)網(wǎng),為礦山的安全生產(chǎn)、管理決策提供了重要的數(shù)據(jù)支撐與基礎(chǔ)保障[1-3]。礦用分布式采集系統(tǒng)的時鐘同步是其正常運(yùn)行的關(guān)鍵[4],實現(xiàn)統(tǒng)一的時間基準(zhǔn)是后續(xù)數(shù)據(jù)處理的前提。
目前,常用的時鐘同步技術(shù)有北斗[5-6]、GPS、NTP(Network Time Protocol,網(wǎng)絡(luò)時間協(xié)議)[7-8]、IEEE 1588V2[9-11]、本地后備時鐘和同步線[12]等,見表1。北斗及GPS均是通過天線接收衛(wèi)星信號獲取納秒級精度的絕對時鐘及經(jīng)緯度、海拔高度信息,可提供時鐘秒脈沖、串口ACSII碼時間報文、IRIG-B碼等格式的時間信息,但需要部署在能接收到衛(wèi)星信號的場所,無法直接應(yīng)用于井下;NTP采用簡單網(wǎng)絡(luò)協(xié)議為局域網(wǎng)、廣域網(wǎng)設(shè)備提供毫秒級的時鐘同步精度;IEEE 1588V2采用網(wǎng)絡(luò)對稱性及延時測量技術(shù)實現(xiàn)主從時鐘同步,具有數(shù)據(jù)幀少、算法簡單、移植方便等特點,可提供納秒級的時鐘同步精度;本地后備時鐘能夠以極低的成本為本地設(shè)備提供秒級的時鐘同步精度;同步線方式需要單獨(dú)布置信號線,其時鐘同步精度與線纜的長度、分布電容、分布電阻有關(guān)。
表1 常用的時鐘同步技術(shù)Table 1 Common clock synchronization technologies
單一的時鐘同步技術(shù)由于其精度及應(yīng)用局限性,無法滿足礦用分布式采集系統(tǒng)高精度、高可靠性的時鐘同步性能要求。根據(jù)礦用分布式采集系統(tǒng)架構(gòu)特點,本文提出了基于北斗+IEEE 1588V2+本地后備時鐘的三級協(xié)同時鐘同步方案。北斗為整個系統(tǒng)提供高精度絕對時鐘,系統(tǒng)中各采集節(jié)點通過IEEE 1588V2協(xié)議及本地后備時鐘與北斗保持時鐘同步。
礦用分布式采集系統(tǒng)時鐘同步方案原理如圖1所示。北斗授時服務(wù)器接收北斗系統(tǒng)提供的納秒級精度的絕對時鐘,并作為主時鐘通過井下環(huán)網(wǎng)為所有采集節(jié)點授時;各采集節(jié)點軟件實現(xiàn)IEEE 1588V2協(xié)議,接收主時鐘的授時進(jìn)而調(diào)整本地的64位時間戳寄存器;本地后備時鐘為各采集節(jié)點提供秒級精度的時間戳初值,便于各采集節(jié)點以最短時間實現(xiàn)與北斗授時服務(wù)器的同步。
圖1 礦用分布式采集系統(tǒng)時鐘同步方案原理Fig.1 Principle of clock synchronization scherne for mine distributed acquisition system
該方案能兼容礦用分布式采集系統(tǒng)硬件架構(gòu),適用性強(qiáng);只需要額外部署1臺北斗授時服務(wù)器作為主時鐘,同時采集節(jié)點軟件移植IEEE 1588V2協(xié)議,無需其他硬件投入,成本低;北斗授時服務(wù)器由于不可控因素失效后,只要井下工業(yè)環(huán)網(wǎng)與采集節(jié)點能夠正常運(yùn)行,IEEE 1588V2會按照最佳主時鐘(Best Master Clock,BMC)算法設(shè)置1臺優(yōu)先級最高的采集節(jié)點作為主時鐘,其他采集節(jié)點作為從時鐘依然與主時鐘保持時鐘同步,魯棒性強(qiáng)。
北斗授時服務(wù)器為地面設(shè)備,不需要考慮防爆問題,因此選用T600-BDGOCXC工業(yè)用授時服務(wù)器,該服務(wù)器支持IEEE 1588V2協(xié)議。采集節(jié)點時鐘同步硬件部分采用STM32F407+DP83848實現(xiàn),如圖2所示。STM32F407內(nèi)部集成以太網(wǎng)MAC接口的時間戳單元,硬件支持IEEE 1588V2協(xié)議,使用MII網(wǎng)絡(luò)接口連接PHY芯片DP83848。本地后備時鐘采用STM32F407內(nèi)部RTC(Real-time Clock,實時時鐘)實現(xiàn),使用后備紐扣電池防止掉電后RTC丟失時間信息。
圖2 采集節(jié)點時鐘同步硬件電路Fig.2 Hardware circuit of clock synchronization in acquisition node
IEEE 1588V2協(xié)議的移植與實現(xiàn)是礦用分布式采集系統(tǒng)時鐘同步方案的核心。該協(xié)議實現(xiàn)時鐘同步的原理[13-16]如圖3所示。
圖3 IEEE 1588V2時鐘同步原理Fig.3 Principle of IEEE 1588V2 clock synchronization
(1) 根據(jù)定義的時鐘間隔,北斗授時服務(wù)器(主時鐘)周期性地給采集節(jié)點(從時鐘)發(fā)送同步報文,并且記錄同步報文發(fā)送時刻為t1,隨后將時間戳t1與跟隨報文打包發(fā)送給采集節(jié)點。采集節(jié)點收到北斗授時服務(wù)器發(fā)送的同步報文后,記錄收到報文的時刻為t2。
(2) 采集節(jié)點收到跟隨報文后,解析并記錄報文中攜帶的時間戳t1,隨后向北斗授時服務(wù)器發(fā)送延時請求報文,并記錄延時請求報文發(fā)送時刻為t3。北斗授時服務(wù)器收到延時請求報文并記錄收到報文的時刻為t4,然后將時間戳t4打包通過延時請求應(yīng)答報文發(fā)送給采集節(jié)點。
(3) 采集節(jié)點根據(jù)時間偏差Toffset=(t2-t1+t3-t4)/2和傳輸延遲Tdelay=(t2-t1+t4-t3)/2更新64位時間戳寄存器。每次上電時,將本地后備時鐘的時間信息寫入時間戳寄存器,以便采集節(jié)點用最短時間實現(xiàn)與主時鐘的同步。
基于IEEE1588 V2協(xié)議的采集節(jié)點軟件架構(gòu)如圖4所示。操作系統(tǒng)層使用RTX-V4.73實現(xiàn)實時多任務(wù)調(diào)度處理;固件使用STM32官方函數(shù)庫V3.5版;網(wǎng)絡(luò)協(xié)議棧使用LWIP-1.4.1提供基于UDP的網(wǎng)絡(luò)協(xié)議處理;IEEE 1588V2基于PTPd-2.0.0開源協(xié)議棧實現(xiàn);應(yīng)用層實現(xiàn)系統(tǒng)初始化操作和各業(yè)務(wù)邏輯處理。
圖4 采集節(jié)點軟件架構(gòu)Fig.4 Software architecture of acquisition node
時鐘同步測試方案如圖5所示。每隔2 s將各采集節(jié)點的主從狀態(tài)、時間偏差Toffset等參數(shù)通過串口發(fā)送至PC,便于后期統(tǒng)計分析。
(a) 測試方案①
(1) 測試方案①模擬北斗授時服務(wù)器與采集節(jié)點通過交換機(jī)直連的情況。開啟采集節(jié)點1的本地后備時鐘,采集節(jié)點1上電1 min后時間偏差統(tǒng)計結(jié)果如圖6所示??煽闯鰰r鐘同步精度≤162 ns;|Toffset|≤25 ns的次數(shù)為365,|Toffset|≤50 ns的次數(shù)為652。關(guān)閉采集節(jié)點1的本地后備時鐘,上電后約需10 min達(dá)到162 ns的時鐘同步精度,表明采用本地后備時鐘可降低采集節(jié)點初次同步所需時間。
圖6 方案①測試結(jié)果Fig.6 Test results of the first scheme
(2) 測試方案②模擬北斗授時服務(wù)器與采集節(jié)點1通過三級交換機(jī)連接的情況。采集節(jié)點1的時間偏差統(tǒng)計結(jié)果如圖7所示。可看出時鐘同步精度≤565 ns;|Toffset|≤25 ns的次數(shù)為97,|Toffset|≤50 ns的次數(shù)為198。
(3) 在測試方案②情況下斷開北斗授時服務(wù)器與交換機(jī)的網(wǎng)線,模擬北斗授時服務(wù)器失效的情況。采集節(jié)點2運(yùn)行狀態(tài)如圖8所示(fcaf6afffe00230f、0080e1fffe373655分別為北斗授時服務(wù)器、采集節(jié)點2的時鐘id)。斷開網(wǎng)線后,采集節(jié)點2狀態(tài)由slave(從時鐘)更改為master(主時鐘),master id由北斗授時服務(wù)器的id更改為采集節(jié)點2的id。
圖8 采集節(jié)點2運(yùn)行狀態(tài)Fig.8 Running status of acquisition node 2
采集節(jié)點1運(yùn)行狀態(tài)如圖9所示(0080e1fffe373659為采集節(jié)點1的時鐘id)。斷開網(wǎng)線瞬間,采集節(jié)點1狀態(tài)由slave(從時鐘)變?yōu)閙aster(主時鐘);經(jīng)過3個周期后,采集節(jié)點1狀態(tài)恢復(fù)并保持為slave(從時鐘);優(yōu)先級高的采集節(jié)點2升級為主時鐘繼續(xù)為采集節(jié)點1授時。
圖9 采集節(jié)點1運(yùn)行狀態(tài)Fig.9 Running status of acquisition node 1
為了提高礦用分布式采集系統(tǒng)時鐘同步精度和可靠性,提出了基于北斗+IEEE 1588V2+本地后備時鐘的三級協(xié)同時鐘同步方案。北斗授時服務(wù)器部署在地面,作為主時鐘提供納秒級精度的絕對時鐘;通過IEEE 1588V2將北斗的絕對時鐘同步到各采集節(jié)點;本地后備時鐘給各采集節(jié)點提供秒級精度的時間戳初值,便于各采集節(jié)點用最短時間實現(xiàn)與主時鐘的同步。測試結(jié)果表明:北斗授時服務(wù)器與采集節(jié)點通過交換機(jī)直連的情況下,1 min后時鐘同步精度達(dá)162 ns;北斗授時服務(wù)器與采集節(jié)點通過三級交換機(jī)連接的情況下,時鐘同步精度為565 ns;在北斗授時服務(wù)器失效的情況下,優(yōu)先級高的采集節(jié)點升級為主時鐘并為其余采集節(jié)點授時,具有較強(qiáng)的可靠性。