張宏巍,張文娟
(1.中國科學院長春光學精密機械與物理研究所,吉林 長春 130033;2.東北師范大學應(yīng)用電子研究所,吉林 長春 130024)
控制局域網(wǎng)中媒體訪問延時研究與網(wǎng)絡(luò)優(yōu)化設(shè)計
張宏巍1,張文娟2
(1.中國科學院長春光學精密機械與物理研究所,吉林 長春 130033;2.東北師范大學應(yīng)用電子研究所,吉林 長春 130024)
為了提高數(shù)據(jù)通信的實時性,通過搭建CAN網(wǎng)絡(luò)的等效數(shù)學模型,推導(dǎo)出媒體訪問延時的數(shù)學表達式,并進一步提出CAN網(wǎng)絡(luò)優(yōu)化設(shè)計.實驗驗證所采取措施是正確并有效的.
CAN;媒體訪問延時;實時性;網(wǎng)絡(luò)優(yōu)化
實時性是高性能控制系統(tǒng)所要面臨的一個主要問題,如果系統(tǒng)內(nèi)部數(shù)據(jù)傳輸延時較大,勢必會影響到控制系統(tǒng)的性能指標,甚至可能會導(dǎo)致系統(tǒng)不穩(wěn)定,因此采用實時性強且可靠性高的數(shù)據(jù)傳輸技術(shù)非常關(guān)鍵.
CAN網(wǎng)絡(luò)技術(shù)采用短幀數(shù)據(jù)傳輸結(jié)構(gòu)和CSMA/CD的總線仲裁方式,它比一般數(shù)據(jù)傳輸技術(shù)具有更好的實時性和可靠性,同時低廉的成本令CAN網(wǎng)絡(luò)技術(shù)在民用和軍用等方面都得到了廣泛應(yīng)用[1].
但是隨著實際系統(tǒng)中CAN網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜化和數(shù)據(jù)吞吐量的劇增,低優(yōu)先級報文與高優(yōu)先級報文發(fā)生碰撞的可能性增多.而由于CAN網(wǎng)絡(luò)采用固定優(yōu)先級的競爭機制,低優(yōu)先級的數(shù)據(jù)幀將在競爭中仲裁失敗并可能發(fā)生多次重傳現(xiàn)象,這一現(xiàn)象將導(dǎo)致信息的傳輸延時變大且具有時間不確定性,整個網(wǎng)絡(luò)的實時性下降甚至不能滿足控制需求.這種由于報文搶占CAN網(wǎng)絡(luò)資源而引起的延時便是媒體訪問延時,因此針對媒體訪問延時開展深入研究并采取相應(yīng)的優(yōu)化設(shè)計將具有非常重要的現(xiàn)實意義[2-5].
CAN網(wǎng)絡(luò)延時一般是時變和不確定的,主要受網(wǎng)絡(luò)媒體訪問協(xié)議、網(wǎng)絡(luò)負載變化、節(jié)點優(yōu)先級和網(wǎng)絡(luò)速率等諸多因素影響.其中媒體訪問延時是產(chǎn)生CAN網(wǎng)絡(luò)延時的最主要影響因素.
媒體訪問延時由報文排隊延時和報文阻塞延時組成.其中排隊延時是指一個報文在發(fā)送節(jié)點緩沖區(qū)中等待前面報文發(fā)送完成所需要的時間,它取決于隊列中前面報文的阻塞時間和發(fā)送時間.排隊時間一般比較難于分析,而且在多數(shù)控制系統(tǒng)中,如果一個報文生成前緩存區(qū)還有其他報文,往往將舊的報文丟棄,所以可以將排隊時間認為是零;另一個報文阻塞延時是指從節(jié)點生成一個報文發(fā)送請求并將其存儲到發(fā)送緩沖區(qū)起,到該報文被接收節(jié)點真正接收為止所用的時間.由于排隊時間為零,所以可認為報文阻塞延時就是媒體訪問延時.
由于報文幀的阻塞延時具有不確定性,無法進行定量研究,因此,通常以報文幀的平均阻塞延時作為對象來研究其主要影響因素.為了更加方便和直觀地研究報文的平均阻塞延時,首先要建立CAN網(wǎng)絡(luò)的系統(tǒng)模型.
1.1 CAN網(wǎng)絡(luò)系統(tǒng)模型
根據(jù)CAN網(wǎng)絡(luò)數(shù)據(jù)的傳輸特性,可以采用經(jīng)典排隊理論中的Kendall模型來描述其固定優(yōu)先級的任務(wù)調(diào)度機制.依據(jù)Kendall排隊模型理論可以將CAN網(wǎng)絡(luò)描述為M/M/1/SWP模型,其中第1個M表示系統(tǒng)的數(shù)據(jù)流即報文幀的到達時間間隔服從泊松分布;第2個M表示系統(tǒng)的服務(wù)時間服從負指數(shù)分布;1表示對應(yīng)模型中的服務(wù)臺數(shù)目為1臺,這是因為CAN網(wǎng)絡(luò)上同一時刻只能傳輸一個報文幀;最后一項SWP表示CAN網(wǎng)絡(luò)采用固定優(yōu)先級的任務(wù)調(diào)度方法,即排隊規(guī)則為基于優(yōu)先權(quán)的服務(wù).
在該模型中相鄰輸入報文幀的時間間隔滿足泊松分布,而進入排隊隊列的報文幀根據(jù)優(yōu)先權(quán)的服務(wù)規(guī)則從隊列中經(jīng)過CAN網(wǎng)絡(luò)服務(wù)后輸出,服務(wù)時間間隔即報文幀輸出時間間隔,它服從負指數(shù)分布.
在CAN網(wǎng)絡(luò)系統(tǒng)模型中,報文阻塞延時也就是報文幀的隊列等待時間,往往是不固定的,為了得到系統(tǒng)行為的詳細信息,研究中需要能夠得到一個穩(wěn)定指標,通常采用某些指標的數(shù)學期望值作為研究對象,本文主要研究報文幀的平均等待時間.
1.2 平均等待時間數(shù)學模型
定義Pn表示穩(wěn)定狀態(tài)下,CAN網(wǎng)絡(luò)模型中有n個報文幀等待總線服務(wù)的概率.根據(jù)正規(guī)方程可得
(1)
定義L為CAN模型中報文幀數(shù)量的數(shù)學期望值,它包括正在接受服務(wù)的報文幀和處于排隊等待的報文幀.定義Lp為CAN網(wǎng)絡(luò)模型隊列中正在等待服務(wù)的報文幀數(shù)學期望值,B為當前被CAN網(wǎng)絡(luò)服務(wù)的報文幀數(shù)量的數(shù)學期望值.則可得
L=Lp+B.
(2)
(3)
在排隊理論中,常常假設(shè)處于最簡單流情況.因為采用最簡單流假設(shè)與實際CAN網(wǎng)絡(luò)模型中輸入報文幀的時間間隔具有近似性,并且可以極大簡化問題的分析和計算.因此,以下分析均是假設(shè)處在最簡單流模型的工作情況.
所謂最簡單流即指在t這一時間段里有k個顧客到達服務(wù)系統(tǒng)的概率Vk(t)服從泊松分布,即
(4)
當t=1時,Vk(t)的數(shù)學期望值為
(5)
(6)
圖1 狀態(tài)轉(zhuǎn)移圖
一個報文幀進入隊列令系統(tǒng)狀態(tài)從n到n+1,這一過程稱為生;一個隊列中的報文幀輸出后令系統(tǒng)狀態(tài)從n到n-1,這一過程稱為死.系統(tǒng)狀態(tài)的轉(zhuǎn)移可以用圖1來加以描述,圖1中節(jié)點代表狀態(tài),箭形線代表狀態(tài)轉(zhuǎn)移.由于在同一時間內(nèi)不可能有2個事件發(fā)生,所以不存在跨狀態(tài)轉(zhuǎn)移.
根據(jù)流的平衡原理,即在穩(wěn)定狀態(tài)下,流入任意一個節(jié)點的流量等于流出該節(jié)點的流量.將流的平衡原理應(yīng)用于轉(zhuǎn)移圖的每個狀態(tài),可以列出以每個狀態(tài)下報文幀等待總線服務(wù)的概率P為變量的線性方程組:
(7)
在上述方程組中,第1個方程中的P1可以用P0來表示,將P1代入第2個方程可以求出僅含P0一個變量的P2表達式,依此類推,可以將每個狀態(tài)下報文幀的等待服務(wù)概率變量都用P0表示出來.
(8)
(9)
(10)
(11)
Pi=ρi(1-ρ).
(12)
新的參數(shù)ρ是到達率與服務(wù)率之比,被稱為繁忙率.而在CAN網(wǎng)絡(luò)模型中,ρ為網(wǎng)絡(luò)負載率.
隨著模型隊列中等待服務(wù)的報文幀數(shù)量增多,報文幀在隊列中逗留的時間也越來越長.為研究方便,希望在平均逗留時間W、模型中報文幀數(shù)量的數(shù)學期望值L與到達率λ之間建立起某種關(guān)系.李特爾(Little)公式給出了L,W和λ三者之間的關(guān)系式即L=λ·W,進而可以得到關(guān)系式Lq=λ·Wq.有了李特爾公式,即可得到如下排隊系統(tǒng)的基本模型:
(13)
(14)
(15)
(16)
公式中報文幀平均服務(wù)時間Taver_service對于一個已確定傳輸參數(shù)的網(wǎng)絡(luò)變化不大,所以總線負載率ρ是影響報文幀平均阻塞延時的主要環(huán)節(jié).當ρ很小時,報文幀的平均阻塞延時很小,報文間發(fā)生總線沖突的機會較小,此時CAN網(wǎng)絡(luò)信息延時主要由發(fā)送報文節(jié)點的報文幀傳輸延時和軟硬件延時決定且取值較小,可以滿足系統(tǒng)通信實時性的要求;當ρ=0時,報文幀的平均阻塞延時為零,系統(tǒng)實時性最佳;隨著ρ的增加,報文幀的平均阻塞延時迅速增加,報文間發(fā)生沖突的概率增高,此時,CAN網(wǎng)絡(luò)信息延時中的報文幀傳輸時間和軟硬件延時相對媒體訪問延時較小,所以總線延時主要由媒體訪問延時決定,而且表現(xiàn)為不確定性;當ρ=1時,報文幀的平均阻塞延時為無限大,此時的系統(tǒng)實時性最差.
通過前面的理論分析,影響CAN網(wǎng)絡(luò)實時性的主要因素是媒體訪問延時中的報文阻塞延時,它的大小直接決定了CAN網(wǎng)絡(luò)傳輸?shù)膶崟r性.可以通過在CAN網(wǎng)絡(luò)的應(yīng)用層協(xié)議中進行改進以提高網(wǎng)絡(luò)的實時性.主要采取的措施如下:
(1) 采用標準幀傳輸方式
擴展幀比標準幀多出20個位時間的額外系統(tǒng)開銷,使用標準幀代替擴展幀可以有效提高20%左右的總線利用率,降低總線負載率,提高系統(tǒng)實時性.
(2) 提高總線傳輸速率
提高總線傳輸速率就是提高總線的帶寬,總線帶寬的提高必將導(dǎo)致總線負載率的降低.總線傳輸速率越高,報文幀的延時越短,報文發(fā)送的越快,這樣總線阻塞的概率越低.但是,總線的傳輸速率也不能無限制的提高,過高的總線傳輸速率會導(dǎo)致系統(tǒng)抗干擾能力下降,進而影響數(shù)據(jù)傳輸?shù)目煽啃?,所以要在保證系統(tǒng)可靠性的前提下,適當?shù)靥岣呖偩€傳輸速率.
(3) 充分利用報文幀數(shù)據(jù)場空間
在基于CAN網(wǎng)絡(luò)的控制系統(tǒng)中,經(jīng)常存在從一個節(jié)點發(fā)出多個報文幀給不同節(jié)點的情況.由于CAN網(wǎng)絡(luò)采用的是廣播發(fā)送機制,總線網(wǎng)絡(luò)中的節(jié)點都可以接收總線上傳輸?shù)乃袌笪膸?,所以可以通過充分利用數(shù)據(jù)場空間的方法,將多個信息合并到最少數(shù)量的報文幀中發(fā)送.
(4) 調(diào)整報文的發(fā)送周期
調(diào)整報文發(fā)送周期的目的是調(diào)整總線負載率,總線負載率與特定時間內(nèi)發(fā)送到總線上的數(shù)據(jù)量成正比,數(shù)據(jù)量越大,總線負載率越高.所以,在滿足控制系統(tǒng)性能指標的前提下,適當?shù)亟档湍承┲芷谛孕畔⒌陌l(fā)送周期可以減小總線負載率,進而降低報文幀的平均阻塞延時,提高總線的實時性.
通過4套DSP開發(fā)板搭建A,B,C和D共4個節(jié)點的CAN網(wǎng)絡(luò)實驗平臺.實驗過程中采取不同的CAN網(wǎng)絡(luò)優(yōu)化方案并通過實驗結(jié)果數(shù)據(jù)來說明優(yōu)化效果.
其中實驗1為未采用任何優(yōu)化措施的基礎(chǔ)型實驗,所發(fā)送報文幀的數(shù)據(jù)區(qū)長度均為2個字節(jié).實驗過程:A以10 ms為周期發(fā)送4個標志符,分別為51,72,63和54的擴展幀;B以10 ms為周期發(fā)送4個標志符,分別為61,52,73和64的擴展幀;C以10 ms為周期發(fā)送4個標志符,分別為71,62,53和74的擴展幀;D節(jié)點在整個實驗運行到第150 s時發(fā)送1個標志符,為80的非周期擴展幀.總線波特率為125 kB,實驗時間為3 min,總線運行期間通過CAN網(wǎng)絡(luò)分析工具CANoe記錄所有報文幀在總線上的時間信息和傳輸信息.
在實驗2中,提高總線傳輸波特率到250 kB,其他條件與實驗1相同.在實驗3中,采用標準幀代替擴展幀,其他條件與實驗1相同.在實驗4中,優(yōu)化數(shù)據(jù)區(qū),將每個節(jié)點發(fā)送的4個報文幀合并成單幀發(fā)送,標志符分別取51,61和71,其他條件與實驗1相同.在實驗5中,將所有周期信號的發(fā)送周期提高一倍,其他條件與實驗1相同.系統(tǒng)調(diào)整前后總線上傳輸報文幀的平均延時對比如表1所示.
表1 調(diào)整前后報文幀平均延遲對比表 μs
通過結(jié)果數(shù)據(jù)對比表明,提高總線傳輸速率、選擇標準幀、優(yōu)化報文幀數(shù)據(jù)場和調(diào)整發(fā)送周期都可以有效地減小總線信息傳輸延時,提高CAN網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膶崟r性.其中提高總線波特率可以令報文的平均延時降低40%~50%;采用標準幀代替擴展幀可以令平均延時降低10%~20%;優(yōu)化數(shù)據(jù)區(qū)空間可以有效減少平均延時30%~50%;調(diào)整報文發(fā)送周期可以降低平均延時10%~30%.
[1] 張宏巍,張文娟.飛行器控制系統(tǒng)雙CAN網(wǎng)絡(luò)混合調(diào)度策略設(shè)計[J].東北師大學報:自然科學版,2013,45(1):65-70.
[2] TINDELL K W,BURNS A,WELLINGS A J.Calculating controller area network (CAN) message response times[J].Control Engineering Practice,1995,3(8):1163-1169.
[3] TINDELL K W,HANSON H,WELLINGS A J.Analysing real-time communications:controller area network(CAN)[C]//In Proceedings 15th Real-time Systems Symposium (RTSS′94). Washington:IEEE Computer Society Press,1994:259-263.
[4] NILSSON J.Real time control systems with delays[D].Sweden:Lund Institute of Technology,1998.
[5] 佟為明,高洪偉,陳培友.CAN網(wǎng)絡(luò)傳輸延時特性的研究[J].儀器儀表學報,2007,28(4):295-297.
(責任編輯:石紹慶)
Research and optimization on media access control delay of control area network
ZHANG Hong-wei1,ZHANG Wen-juan2
(1.Changchun Institute of Optics Fine Mechanics and Physics,Chinese Academy of Sciences,Changchun 130033,China;2.Institute of Applied Electronics,Northeast Normal University,Changchun 130024,China)
Firstly,an equivalent numerical simulation model of CAN bus is built to derivate the mathematical expression of the media access control delay. Secondly,optimization measures are further proposed to improve the dada communication real-time of CAN. At last,the optimization measures tested by experiments are proved to be correct and effective.
CAN;media access control delay;real-time;network optimization
1000-1832(2014)04-0061-05
10.11672/dbsdzk2014-04-011
2014-01-28
中國科學院“三期創(chuàng)新”平臺資助項目;吉林省科技發(fā)展計劃項目(20100458).
張宏巍(1983—),男,博士,副研究員,主要從事飛行器數(shù)據(jù)傳輸技術(shù)研究;通訊作者:張文娟(1983—),女,博士,工程師,主要從事智能控制技術(shù)研究.
TP 336;V 249 [學科代碼] 510·50
A