王 飛
(1.瓦斯災害監(jiān)控與應急技術國家重點實驗室,重慶 400037;2.中煤科工集團重慶研究院有限公司,重慶 400039)
國家安全監(jiān)管總局國家煤礦安監(jiān)局《建設完善煤礦井下安全避險“六大系統(tǒng)”的通知》(2010 年146號)要求煤礦必須建設“六大系統(tǒng)”[1],全國范圍內(nèi)煤礦企業(yè)迅速安裝井下人員管理系統(tǒng)。2019 年10 月12 日,山東省出臺《山東煤礦人員精確定位系統(tǒng)技術要求(試行)》文件。按照原國家安全生產(chǎn)監(jiān)督管理局關于印發(fā)2015 年安全生產(chǎn)行業(yè)標準制訂計劃的通知要求,《煤礦井下人員定位系統(tǒng)通用技術條件》征求意見稿中重新定義人員定位系統(tǒng)技術要求,傳統(tǒng)的區(qū)域人員管理系統(tǒng)已完全不能滿足新通用技術條件要求[2-4],迫切需要定位精度高、數(shù)據(jù)實時性強的精確定位系統(tǒng)。
目前,礦井井下精確定位技術主要有UWB、ZigBee、CSS 等[5-7],其中UWB 精確定位技術具有定位精度高、抗干擾能力強、通信速率快和并發(fā)容量大等特點[8],ZigBee 精確定位技術具有成本低、功耗低和通信距離遠等特點[9-10]。因此,基于UWB 和ZigBee定位技術的精確定位系統(tǒng)在煤礦井下得到大量推廣應用,定位卡已經(jīng)普及至每位礦井工作人員。定位卡交付使用后,若出現(xiàn)問題或增加功能,則需要軟件升級。如果采用離線板卡升級方式,則需要拆卸定位卡,耗時耗力。如果采用無線升級方式,目前絕大多數(shù)僅支持一對一無線升級[11-12],升級速度慢、效率低,而且存在較高的風險,一旦程序升級失敗,原有程序已被擦出,定位卡無法繼續(xù)工作,必須返廠維修[13]。
針對上述問題,提出一種基于廣播方式的無線升級固件程序的實現(xiàn)方案,采用一對多的組網(wǎng)模式和無限循環(huán)多次廣播機制,實現(xiàn)定位卡批量無線升級,具有升級速度快、并發(fā)容量大、和可靠性高等優(yōu)點。
提出的基于廣播方式的無線升級固件程序系統(tǒng)主要包括3 個部分:服務器、升級基站和定位卡。升級基站具有1 路UWB 通道和1 路ZigBee 通道,UWB用于廣播升級包數(shù)據(jù)幀,ZigBee 用于接收網(wǎng)絡掃描幀、發(fā)送升級啟動幀和接收升級進度幀。定位卡具有1 路UWB 通道和1 路ZigBee 通道。在正常狀態(tài),UWB 用于TOF 測距,ZigBee 用于廣播網(wǎng)絡掃描幀。在無線升級過程中,UWB 用于接收升級包數(shù)據(jù)幀,ZigBee 用于接收啟動升級幀和發(fā)送升級進度幀。
為了提高無線升級可靠性,定位卡包含3 部分:定位板、升級板和FLASH。定位板含有1 路UWB 通道和1 路ZigBee 通道,升級板外接1 個FLASH。定位板與升級板之間采用數(shù)據(jù)接口和編程接口相連接。FLASH 用于存儲升級包。定位卡開始無線升級時,將更新的升級包首先寫入FLASH,等待升級包接收完畢且校驗正確,再加載更新的升級包。
升級包傳輸存在2 個步驟:①服務器下發(fā)至升級基站;②升級基站廣播至定位卡。服務器與升級基站之間的升級包傳輸采用TCP/IP 技術,其可靠性可以得到保障,該文針對升級基站廣播升級包,提出了一種無限循環(huán)多次廣播方式的可靠傳輸機制。
服務器傳輸升級包至升級基站,其中包含升級包的程序數(shù)據(jù)及其版本號、總長度和校驗值。升級基站將升級包的程序數(shù)據(jù)及其版本號、總長度和校驗值進行保存,同時進行校驗計算,校驗正確后,采用UWB 通道廣播升級包數(shù)據(jù)幀。升級包數(shù)據(jù)幀含有數(shù)據(jù)幀編號、數(shù)據(jù)長度和廣播次數(shù)。為了提高升級包數(shù)據(jù)幀傳輸?shù)目煽啃裕琔WB 廣播升級包數(shù)據(jù)幀時,每個數(shù)據(jù)幀連續(xù)廣播3 次,間隔1 ms,每20 ms更新1 個數(shù)據(jù)幀。升級基站廣播升級包數(shù)據(jù)幀時序圖如圖1。
圖1 升級基站廣播升級包數(shù)據(jù)幀時序圖Fig.1 Time sequence diagram of the base station broadcasts data frames
由圖1 可知,升級基站無限循環(huán)多次廣播升級包數(shù)據(jù)幀,升級包數(shù)據(jù)幀的數(shù)據(jù)長度為N,最后1 個數(shù)據(jù)幀(n+1)的數(shù)據(jù)長度為M,假設升級包的程序數(shù)據(jù)總長度為L,則L=N×n+M。數(shù)據(jù)幀編號為已經(jīng)成功廣播升級包的程序數(shù)據(jù)字節(jié)數(shù)量。
如果定位卡接收同一個升級包數(shù)據(jù)幀的失敗次數(shù)<3 次,則可以成功接收該升級包數(shù)據(jù)幀。如果定位卡接收同一個升級包數(shù)據(jù)幀的失敗次數(shù)≥3 次,則可以等待至下1 個循環(huán)周期接收該升級包數(shù)據(jù)幀。由此可見,升級基站采用無限循環(huán)多次廣播機制發(fā)送升級包數(shù)據(jù),傳輸可靠性可以得到保障。
定位卡無線升級的工作流程如圖2。
圖2 定位卡無線升級的工作流程圖Fig.2 Working flow chart of the locating card
定位卡采用ZigBee 通道周期性地廣播網(wǎng)絡掃描幀,其中包含卡號和軟件版本號,升級基站接收到網(wǎng)絡掃描幀后,檢查該軟件版本號是否需要升級,如果需要升級則回復升級啟動幀,其中包含升級包的程序數(shù)據(jù)總長度和校驗值。定位卡接收到升級啟動幀后,采用UWB 通道被動接收升級包數(shù)據(jù)幀,同時通過ZigBee 通道周期性地發(fā)送升級進度幀,向升級基站報告升級進度。
定位卡接收到升級啟動幀和升級包數(shù)據(jù)幀后,定位板通過數(shù)據(jù)接口轉發(fā)至升級板。升級板負責存儲和校驗升級包數(shù)據(jù),只有在升級包接收完畢且校驗正確后,通過編程接口對定位板進行程序升級,否則復位定位板、重新啟動無線升級流程。所以,即使升級包接收失敗,定位板仍保留原始程序數(shù)據(jù),還可以繼續(xù)工作。
定位卡無線升級的工作時序如圖3。由于升級基站采用無限循環(huán)多次廣播機制發(fā)送升級包數(shù)據(jù),定位卡只需被動接收升級包數(shù)據(jù)幀。在升級基站覆蓋范圍內(nèi),定位卡批量升級的并發(fā)數(shù)量不受限制,幾千張定位卡在幾分鐘內(nèi)即可完成無線升級。無線升級過程中,只需上電升級基站,升級基站檢測到軟件版本號需要升級,則發(fā)送升級啟動命令,否則不予回復。
圖3 定位卡無線升級的工作時序圖Fig.3 Time sequence diagram of the wireless upgrade
為了驗證該無線升級方法的有效性和可靠性,進行了無線升級測試。無線升級測試布置1 臺電腦、1 個升級基站和500 個定位卡。升級基站的UWB 通道和ZigBee 通道均采用增益為16 dB 的定向天線,天線安置高度約為1.5 m;500 個定位卡與升級基站之間距離約為100 m,放置在地面。
通過電腦將定位卡升級包發(fā)送至升級基站,啟動開始升級,升級軟件自動記錄升級進度和時間。為了充分驗證該升級方法,共進了10 次試驗,升級時間取最大值,無線升級測試結果見表1。
表1 無線升級測試結果Table 1 Wireless upgrade test results
根據(jù)表1 測試結果,約95%定位卡一次性升級成功,其它定位卡只需等待2 個循環(huán)周期,無線升級時間均小于5 min。
此外,在無線升級過程中,斷電升級基站,定位卡在10 min 后自動復位,以原始程序繼續(xù)運行工作。因此,該無線升級方法可靠性高,只有在升級包接收完畢且校驗正確后,才進行程序升級。如果升級包接收失敗,定位卡仍保留原始程序數(shù)據(jù)、繼續(xù)工作。
基于廣播方式的無線升級固件程序方法,采用一對多的組網(wǎng)模式和無限循環(huán)多次廣播機制,實現(xiàn)定位卡批量無線升級,有效解決了定位卡軟件升級困難問題。試驗結果表明:定位卡批量升級的并發(fā)數(shù)量不受限制,在100 m 覆蓋范圍內(nèi),95%定位卡一次性升級成功,5%定位卡需要等待2 個循環(huán)周期,無線升級時間均小于5 min。而且,無線升級可靠性高,只有在升級包接收完畢且校驗正確后,才進行程序升級。如果升級包接收失敗,定位卡仍保留原始程序數(shù)據(jù)、繼續(xù)工作。因此,該方法為數(shù)量較多的定位卡升級固件程序提供了一種快速、可靠和便捷的無線升級途徑。