張照淵,舒正渝
(1.甘肅省教育考試院,甘肅 蘭州 730010;2.蘭州現代職業學院,甘肅 蘭州 730300)
礦山監管系統通過物聯網獲取礦山環境數據并上傳到調度中心,調度中心對數據進行分析之后對安全生產狀況進行調度。然而實際應用場景中存在大量各種不同的傳感器網絡,這些傳感器網絡采用不同的通信協議,不同的組網結構,導致數據傳輸的實時性差,抗干擾能力弱,更嚴重的會出現“信息孤島”現象[1],為了解決上述問題,設計了物聯網環境下礦山安全監控統一網關,通過設計網關主控和路由模塊屏蔽底層接入設備的異構性,同時設計了搶占式調度算法,保證優先級較高的數據具有優先處理能力,增強網關的實時信息交互能力,提高系統響應性能。
礦山安全監控系統使用傳感器獲取礦山環境參數,然后通過物聯網傳輸到礦山安全調度中心,調度中心分析數據得到具體的情況,并做出針對性的反應。由于不同的傳感器網絡采用不同的傳輸協議,如RS232,RS485,CAN,ZigBee,6LowPAN[2]或者Wifi,因此統一網關需要具備數據協議轉換和實時傳輸能力,然后通過網絡傳輸到骨干網絡中,從而完成多協議監控網絡的統一數據傳輸。礦山監控統一網關的總體設計如圖1所示。
網關硬件設計主要包括主控模塊設計,路由模塊設計和相關接口電路的設計:主控模塊主要包括微處理器,電路系統,存儲模塊和協議轉換模塊;路由模塊主要包括路由芯片,wifi收發模塊,以太網接口,數據存儲模塊。接口電路主要包括高性能收發模塊,負責多協議數據的輸入和輸出。
在硬件設計上,主控模塊選擇STM32F429IGT6處理器[3],并搭載最小電力系統以及存儲系統等實現多協議數據的轉換,路由模塊選擇MT7620A處理器[4],搭載WiFi收發模式和存儲模塊,實現網絡連接和數據的存儲轉發。

圖1 統一網關總體設計
統一網關的軟件包括主控模塊和路由模塊兩部分,主控模塊以μCOS-Ⅲ[5]為基礎,并在此基礎上實現協議轉換,任務調度,資源共享和內存管理等功能,路由模塊以OpenWrt為基礎,實現wifi連接,路由管理,隊列管理等功能。總體設計如圖2所示。

圖2 統一網關軟件總體設計

圖3 隊列擁塞控制反饋系統
為了實現所有隊列都能夠獲取有效的網絡帶寬,在網絡擁塞的情況下,希望保障高優先級隊列數據傳輸的前提下,低優先級數據包也能夠實現有效的傳輸,實現網絡傳輸服務的公平性。設網關數據傳輸隊列的平均長度為avgq,最大長度閾值maxth,最小長度閾值minth,多次反饋調節之后平均長度計算公式如下:

其中q表示采樣時隊列長度,wq為當前隊列長度的權重,數據包的丟棄概率P取決于minth,maxth和Pmaxth,隊列的長度和閾值之間大小決定數據包的丟包概率。

網關隊列管理算法從本質上來說是反饋控制系統,在網關隊列管理算法中,設不同優先級隊列平均長度的控制目標為avgq,丟棄概率的控制目標為P,通過增加指數加權平均參數來實現。隊列擁塞控制的反饋系統如圖3所示。

圖4 兩種系統任務調度相應時間對比
為了驗證物聯網環境下礦山監控統一調度網關在多任務搶占式調度中的效果,本文采用kei15[6]嵌入式開發平臺進行仿真。在本實驗中分別模擬井下瓦斯濃度,井下溫濕度以及井下水位高度三個傳感器網絡的數據發送,其優先級分別為2,4,5,三個任務的分別添加到就緒任務列表中,然后在正式仿真測試時,隨機產生3類任務,然后添加到任務調度列表中。在多優先級任務調度過程中,響應時間的長度是衡量嵌入式操作系統性能的指標,通過分析對比μCOS-Ⅲ和μCOS-Ⅱ在同樣任務的調度結果,有圖4所示。
從上圖可以看出,在相同的任務環境下,μCOS-Ⅲ對多任務調度切換所需的相應時間比μCOS-Ⅱ要短,且隨著優先級任務數量的增加,該趨勢更加明顯,而改進μCOS-Ⅲ系統的平均響應時間和最大響應時間更接近,說明μCOS-Ⅲ的實時響應性能更穩定。
為了對比測試,本文用RED算法和ARED算法做對比測試。測試時間為60s,從30s開始加大網絡流量,導致網絡擁塞程度增加,鏈路傳輸波動性變大,系統穩定性下降,三種算法的統計結果如下。

表1 仿真結果統計
相對于其他兩種算法,本文算法的加權wq由分類業務的多個參數決定,平均隊列長度的波動幅度更小,數據丟包率更低,同時可有效降低全局同步的概率,數據傳輸更加穩定。
為了應對礦山安全監控中設備接口協議多,數據傳輸可靠性差的問題,設計了物聯網環境下礦山安全監控統一網關,并針對性的設計了網關主控和路由模塊并實現搶占式調度算法,增強網關的實時信息交互能力,提高系統響應性能。