郝 剛 管長焦 邵明杰 劉立民 康麗瑩
(煤炭科學研究總院沈陽研究院,沈陽 113122)
CAN(Controller Area Network)總線因其低成本、抗干擾等優點已廣泛應用于工業自動化領域,國內2005年開始將CAN應用于刨煤機組監控網絡。CAN的最大帶寬是1Mbps,隨著CAN應用的不斷加深及刨煤機組分布式實時系統中相互連接器件的日漸增多,系統要交換的數據逐步增加,現有的帶寬資源將越顯有限,因此如何通過應用層來縮減總線傳輸數據成為了研究熱點[1]。
數據縮減算法廣泛應用于圖像傳輸等領域,可以有效減少總線數據傳輸數量,本文在文獻[1]的研究基礎上,將數據縮減技術引入刨煤機控制網絡,提出了MDR(mended data-reduction)算法,該算法通過給信息標識符分配壓縮表示位來實現刨煤機組CAN網絡信息數據壓縮。
自動刨煤機組監控系統由刨煤系統、輸送系統、破碎系統、支護系統、冷卻與除塵系統、中央控制室、控制系統、視頻監控系統、和設備列車組成,各子系統之間通過CAN總線連接組建網絡。
研究刨煤機組CAN網絡信息特點可以發現,CAN網絡傳輸的控制與命令、組態信息幀中多數字節中包含的信號并不發生變化,這就滿足了總線數據壓縮的實施條件。
數據壓縮算法的核心思想是減少總線傳輸的的數據長度。當某信息相比之前發出的同一信息有未發生變化的數據內容時,發送節點通過置位在信息中設置的壓縮標識位(DCB),就可以在數據域中只用一個位來代表一個字節的數據和之前的數據相同,并隨信息傳遞數據壓縮編碼(DCC)用來提示接收節點數據壓縮結構。接收節點接收到信息后首先判斷DCB是否置位,若發現DCB置位,則通過對照本地保留的相應備份信息,結合DCC進行解壓縮即可以得到所收到信息的實際內容。
CAN有兩種不同的幀格式,分別為含有11位標識符的標準幀和含有29位標識符的擴展幀,本文采用標準幀格式。文獻[1]中采用 CAN保留位作為DCB,而 CAN協議要求保留位默認為顯性位不可更改,本文提出通過將信息幀標識符的最低位ID.0設為DCB用來表示數據壓縮,余下的十位ID表示用于數據定義及信息濾波,初始信息及未壓縮信息DCB為0。MDR算法中對于信息幀的結構規劃如圖1所示。

圖1 MDR中數據幀結構規劃
將數據域的第一個字節設為DCC域。通過置位DCC中的第i位來表示當前數據的第i字節與備份信息的數據第 i字節完全相同,因而不需要發送,對于有變化需要發送的數據字節按原來的先后順序排列在DCC域后面,信息攜帶DCC及變化數據發送到總線上。以8個字節數據信息的前七個字節未發生變化為例,其DCC編碼如圖2所示。

圖2 MDR中數據幀結構規劃
MDR算法的DCC占用了信息數據域的一個字節,所以只有當新信息相比節點備份信息有超過一個字節重復數據時壓縮數據才會比原來信息數據量有所減少,MDR才有意義。刨煤機組的信息會在系統運行的不同階段而階段性的變化,所以當新信息與備份信息數據不重復時要更新備份數據。節點發送和接收信息時應用 MDR算法的編碼、解碼流程如圖3、4所示。

圖3 MDR數據壓縮流程圖

圖4 MDR解壓縮流程圖
為了分析數據傳輸策略對網絡負載及網絡信息實時性的影響,本文將采用以下總線特性參數:總線利用率;信息最壞響應時間。
總線信息m占用總線時間,即信息幀m在總線上最長傳輸時間[2]tCm為

式中,τbit為總線位傳輸時間,dm為信息幀m數據域的字節數。
聞喜縣第一次全國水利普查包括河湖基本情況普查、水利工程基本情況普查、經濟社會用水情況調查、河湖開發治理保護情況普查、水土保持情況普查、水利行業能力建設情況普查以及灌區和地下水取水井專項普查。各項普查數據獲取、填表和審核工作由聞喜縣水務局各相關股室負責,局長與股長簽訂了水利普查目標責任書。制定《聞喜縣第一次全國水利普查工作制度》和《聞喜縣第一次全國水利普查數據獲取工作方案》,層層分解落實水利普查工作責任到各專業股室、各水利水保中心站和每一個普查工作人員。
信息幀m占用總線的百分比為

式中,Tm為信息幀m的發送周期。
總線利用率U是各個信息幀占用總線百分比之和。即N個系統信息幀的總線利用率的計算公式為

CAN網絡中的信息,從申請發送到最終到達目標節點,都存在一定延遲。對于信息幀m稱其最壞傳輸條件下的延遲時間為其最壞傳輸延時tRm,由信息傳輸時間、等待時間組成

式中, tWm為最壞情況下信息幀m的優先級排隊等待時間,即從申請發送到最終獲得總線使用權的時間間隔。
可由以下2項之和計算得到tWm計算公式[2]。
(1)優先級低于信息幀 m的信息中,發送時間最長的信息幀的總線占用時間tBm。
(2)優先級高于信息幀 m的所有信息幀的總線占用時間之和。

式中,h(m)表示優先級比m高的信息集,tJi為軟件抖動。
若滿足以下條件,則認為該信息傳輸滿足實時性[9]。

式中,tDm為信息m死限,即被允許的最大傳輸延時。
刨煤機組CAN信息較多,本文取5個信息為調度對象,取CAN網絡位速率為62.5kb/s,針對車身應用環境,取軟件抖動為1ms。各信息以50ms的通信周期發送到CAN總線,信息屬性如表1所示。

表1 刨煤機組控制系統信息集
系統信息的數據會根據系統運行情況而隨機變化,本文取節點發送的信息數據有三個字節重復時的狀態對網絡負載以及網絡實時性能進行分析。利用CAN總線開發系統CANoe對兩方案分別進行仿真試驗,系統運行平穩后,未經過數據壓縮(NDR)的結果如圖5(a)所示,應用MDR的總線負載統計結果如圖5(b)所示。
根據式(1)對NDR、MDR信息最壞響應時間進行計算,得到兩種數據發送情況下的CAN總線網絡信息延遲如圖6所示。

圖5 壓縮前后CAN網絡負載對比

圖6 信息壓縮前后實時性對比
由圖5、圖6可知,經過MDR算法數據壓縮后,總線負載變小,數據壓縮前后信息都滿足實時性要求,MDR能夠有效提高信息的實時性,尤其是低優先級信息實時性明顯改善。
本文提出了數據壓縮算法MDR,該方法適合刨煤機組CAN網絡,易實現且節點開銷小。網絡性能分析的結果表明:MDR算法有效減少了總線負載,能有效的提高信息的實時性,從而提高了系統通信性能。
[1]Misbahuddin S, Mahmud S M, and Nizar A H.Development and performance analysis of a datareduction algorithm for automotive multiplexing[J]. IEEE Transactions on Vehicular Technology. 2001, 50(1):162–169.
[2]Tindell K, Burns A, Wellings AJ. Calculating controller area network (can) message response times [J]. Control Engineering Practice, 1995, 3(8): 1163-1169.