郝 剛 管長(zhǎng)焦 邵明杰 劉立民 康麗瑩
(煤炭科學(xué)研究總院沈陽研究院,沈陽 113122)
CAN(Controller Area Network)總線因其低成本、抗干擾等優(yōu)點(diǎn)已廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域,國內(nèi)2005年開始將CAN應(yīng)用于刨煤機(jī)組監(jiān)控網(wǎng)絡(luò)。CAN的最大帶寬是1Mbps,隨著CAN應(yīng)用的不斷加深及刨煤機(jī)組分布式實(shí)時(shí)系統(tǒng)中相互連接器件的日漸增多,系統(tǒng)要交換的數(shù)據(jù)逐步增加,現(xiàn)有的帶寬資源將越顯有限,因此如何通過應(yīng)用層來縮減總線傳輸數(shù)據(jù)成為了研究熱點(diǎn)[1]。
數(shù)據(jù)縮減算法廣泛應(yīng)用于圖像傳輸?shù)阮I(lǐng)域,可以有效減少總線數(shù)據(jù)傳輸數(shù)量,本文在文獻(xiàn)[1]的研究基礎(chǔ)上,將數(shù)據(jù)縮減技術(shù)引入刨煤機(jī)控制網(wǎng)絡(luò),提出了MDR(mended data-reduction)算法,該算法通過給信息標(biāo)識(shí)符分配壓縮表示位來實(shí)現(xiàn)刨煤機(jī)組CAN網(wǎng)絡(luò)信息數(shù)據(jù)壓縮。
自動(dòng)刨煤機(jī)組監(jiān)控系統(tǒng)由刨煤系統(tǒng)、輸送系統(tǒng)、破碎系統(tǒng)、支護(hù)系統(tǒng)、冷卻與除塵系統(tǒng)、中央控制室、控制系統(tǒng)、視頻監(jiān)控系統(tǒng)、和設(shè)備列車組成,各子系統(tǒng)之間通過CAN總線連接組建網(wǎng)絡(luò)。
研究刨煤機(jī)組CAN網(wǎng)絡(luò)信息特點(diǎn)可以發(fā)現(xiàn),CAN網(wǎng)絡(luò)傳輸?shù)目刂婆c命令、組態(tài)信息幀中多數(shù)字節(jié)中包含的信號(hào)并不發(fā)生變化,這就滿足了總線數(shù)據(jù)壓縮的實(shí)施條件。
數(shù)據(jù)壓縮算法的核心思想是減少總線傳輸?shù)牡臄?shù)據(jù)長(zhǎng)度。當(dāng)某信息相比之前發(fā)出的同一信息有未發(fā)生變化的數(shù)據(jù)內(nèi)容時(shí),發(fā)送節(jié)點(diǎn)通過置位在信息中設(shè)置的壓縮標(biāo)識(shí)位(DCB),就可以在數(shù)據(jù)域中只用一個(gè)位來代表一個(gè)字節(jié)的數(shù)據(jù)和之前的數(shù)據(jù)相同,并隨信息傳遞數(shù)據(jù)壓縮編碼(DCC)用來提示接收節(jié)點(diǎn)數(shù)據(jù)壓縮結(jié)構(gòu)。接收節(jié)點(diǎn)接收到信息后首先判斷DCB是否置位,若發(fā)現(xiàn)DCB置位,則通過對(duì)照本地保留的相應(yīng)備份信息,結(jié)合DCC進(jìn)行解壓縮即可以得到所收到信息的實(shí)際內(nèi)容。
CAN有兩種不同的幀格式,分別為含有11位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀和含有29位標(biāo)識(shí)符的擴(kuò)展幀,本文采用標(biāo)準(zhǔn)幀格式。文獻(xiàn)[1]中采用 CAN保留位作為DCB,而 CAN協(xié)議要求保留位默認(rèn)為顯性位不可更改,本文提出通過將信息幀標(biāo)識(shí)符的最低位ID.0設(shè)為DCB用來表示數(shù)據(jù)壓縮,余下的十位ID表示用于數(shù)據(jù)定義及信息濾波,初始信息及未壓縮信息DCB為0。MDR算法中對(duì)于信息幀的結(jié)構(gòu)規(guī)劃如圖1所示。
圖1 MDR中數(shù)據(jù)幀結(jié)構(gòu)規(guī)劃
將數(shù)據(jù)域的第一個(gè)字節(jié)設(shè)為DCC域。通過置位DCC中的第i位來表示當(dāng)前數(shù)據(jù)的第i字節(jié)與備份信息的數(shù)據(jù)第 i字節(jié)完全相同,因而不需要發(fā)送,對(duì)于有變化需要發(fā)送的數(shù)據(jù)字節(jié)按原來的先后順序排列在DCC域后面,信息攜帶DCC及變化數(shù)據(jù)發(fā)送到總線上。以8個(gè)字節(jié)數(shù)據(jù)信息的前七個(gè)字節(jié)未發(fā)生變化為例,其DCC編碼如圖2所示。
圖2 MDR中數(shù)據(jù)幀結(jié)構(gòu)規(guī)劃
MDR算法的DCC占用了信息數(shù)據(jù)域的一個(gè)字節(jié),所以只有當(dāng)新信息相比節(jié)點(diǎn)備份信息有超過一個(gè)字節(jié)重復(fù)數(shù)據(jù)時(shí)壓縮數(shù)據(jù)才會(huì)比原來信息數(shù)據(jù)量有所減少,MDR才有意義。刨煤機(jī)組的信息會(huì)在系統(tǒng)運(yùn)行的不同階段而階段性的變化,所以當(dāng)新信息與備份信息數(shù)據(jù)不重復(fù)時(shí)要更新備份數(shù)據(jù)。節(jié)點(diǎn)發(fā)送和接收信息時(shí)應(yīng)用 MDR算法的編碼、解碼流程如圖3、4所示。
圖3 MDR數(shù)據(jù)壓縮流程圖
圖4 MDR解壓縮流程圖
為了分析數(shù)據(jù)傳輸策略對(duì)網(wǎng)絡(luò)負(fù)載及網(wǎng)絡(luò)信息實(shí)時(shí)性的影響,本文將采用以下總線特性參數(shù):總線利用率;信息最壞響應(yīng)時(shí)間。
總線信息m占用總線時(shí)間,即信息幀m在總線上最長(zhǎng)傳輸時(shí)間[2]tCm為
式中,τbit為總線位傳輸時(shí)間,dm為信息幀m數(shù)據(jù)域的字節(jié)數(shù)。
聞喜縣第一次全國水利普查包括河湖基本情況普查、水利工程基本情況普查、經(jīng)濟(jì)社會(huì)用水情況調(diào)查、河湖開發(fā)治理保護(hù)情況普查、水土保持情況普查、水利行業(yè)能力建設(shè)情況普查以及灌區(qū)和地下水取水井專項(xiàng)普查。各項(xiàng)普查數(shù)據(jù)獲取、填表和審核工作由聞喜縣水務(wù)局各相關(guān)股室負(fù)責(zé),局長(zhǎng)與股長(zhǎng)簽訂了水利普查目標(biāo)責(zé)任書。制定《聞喜縣第一次全國水利普查工作制度》和《聞喜縣第一次全國水利普查數(shù)據(jù)獲取工作方案》,層層分解落實(shí)水利普查工作責(zé)任到各專業(yè)股室、各水利水保中心站和每一個(gè)普查工作人員。
信息幀m占用總線的百分比為
式中,Tm為信息幀m的發(fā)送周期。
總線利用率U是各個(gè)信息幀占用總線百分比之和。即N個(gè)系統(tǒng)信息幀的總線利用率的計(jì)算公式為
CAN網(wǎng)絡(luò)中的信息,從申請(qǐng)發(fā)送到最終到達(dá)目標(biāo)節(jié)點(diǎn),都存在一定延遲。對(duì)于信息幀m稱其最壞傳輸條件下的延遲時(shí)間為其最壞傳輸延時(shí)tRm,由信息傳輸時(shí)間、等待時(shí)間組成
式中, tWm為最壞情況下信息幀m的優(yōu)先級(jí)排隊(duì)等待時(shí)間,即從申請(qǐng)發(fā)送到最終獲得總線使用權(quán)的時(shí)間間隔。
可由以下2項(xiàng)之和計(jì)算得到tWm計(jì)算公式[2]。
(1)優(yōu)先級(jí)低于信息幀 m的信息中,發(fā)送時(shí)間最長(zhǎng)的信息幀的總線占用時(shí)間tBm。
(2)優(yōu)先級(jí)高于信息幀 m的所有信息幀的總線占用時(shí)間之和。
式中,h(m)表示優(yōu)先級(jí)比m高的信息集,tJi為軟件抖動(dòng)。
若滿足以下條件,則認(rèn)為該信息傳輸滿足實(shí)時(shí)性[9]。
式中,tDm為信息m死限,即被允許的最大傳輸延時(shí)。
刨煤機(jī)組CAN信息較多,本文取5個(gè)信息為調(diào)度對(duì)象,取CAN網(wǎng)絡(luò)位速率為62.5kb/s,針對(duì)車身應(yīng)用環(huán)境,取軟件抖動(dòng)為1ms。各信息以50ms的通信周期發(fā)送到CAN總線,信息屬性如表1所示。
表1 刨煤機(jī)組控制系統(tǒng)信息集
系統(tǒng)信息的數(shù)據(jù)會(huì)根據(jù)系統(tǒng)運(yùn)行情況而隨機(jī)變化,本文取節(jié)點(diǎn)發(fā)送的信息數(shù)據(jù)有三個(gè)字節(jié)重復(fù)時(shí)的狀態(tài)對(duì)網(wǎng)絡(luò)負(fù)載以及網(wǎng)絡(luò)實(shí)時(shí)性能進(jìn)行分析。利用CAN總線開發(fā)系統(tǒng)CANoe對(duì)兩方案分別進(jìn)行仿真試驗(yàn),系統(tǒng)運(yùn)行平穩(wěn)后,未經(jīng)過數(shù)據(jù)壓縮(NDR)的結(jié)果如圖5(a)所示,應(yīng)用MDR的總線負(fù)載統(tǒng)計(jì)結(jié)果如圖5(b)所示。
根據(jù)式(1)對(duì)NDR、MDR信息最壞響應(yīng)時(shí)間進(jìn)行計(jì)算,得到兩種數(shù)據(jù)發(fā)送情況下的CAN總線網(wǎng)絡(luò)信息延遲如圖6所示。
圖5 壓縮前后CAN網(wǎng)絡(luò)負(fù)載對(duì)比
圖6 信息壓縮前后實(shí)時(shí)性對(duì)比
由圖5、圖6可知,經(jīng)過MDR算法數(shù)據(jù)壓縮后,總線負(fù)載變小,數(shù)據(jù)壓縮前后信息都滿足實(shí)時(shí)性要求,MDR能夠有效提高信息的實(shí)時(shí)性,尤其是低優(yōu)先級(jí)信息實(shí)時(shí)性明顯改善。
本文提出了數(shù)據(jù)壓縮算法MDR,該方法適合刨煤機(jī)組CAN網(wǎng)絡(luò),易實(shí)現(xiàn)且節(jié)點(diǎn)開銷小。網(wǎng)絡(luò)性能分析的結(jié)果表明:MDR算法有效減少了總線負(fù)載,能有效的提高信息的實(shí)時(shí)性,從而提高了系統(tǒng)通信性能。
[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.