吳 晨,葉星蹤,許化龍
(1.第二炮兵工程學(xué)院,西安 710025;2.第二炮兵情報部,北京 100085)
點對點互聯(lián)模式在當(dāng)前導(dǎo)彈控制系統(tǒng)互聯(lián)網(wǎng)絡(luò)中占據(jù)了絕對的主導(dǎo)地位,在這種體制下,彈上各節(jié)點之間交聯(lián)復(fù)雜,模擬量、數(shù)字量、開關(guān)量等多種信號并存[1]。隨著導(dǎo)彈數(shù)字化程度的深入,提出了彈載總線的概念。導(dǎo)彈控制系統(tǒng)的各單機(jī)部件都設(shè)計成一個獨立的數(shù)字化部件,掛接在彈載總線上,形成一個開放的、信息高度共享的全分布式控制系統(tǒng)[2]。總線式體制下的導(dǎo)彈控制系統(tǒng)互聯(lián)網(wǎng)絡(luò)具有可擴(kuò)展性強、可維護(hù)性高、可靠性高、體積小、重量輕等諸多優(yōu)點,是導(dǎo)彈控制系統(tǒng)互聯(lián)方式發(fā)展的必然趨勢[3]。
CAN總線最初是由德國的BOSCH公司為汽車監(jiān)測、控制系統(tǒng)設(shè)計的,采用多主工作方式、非破壞性仲裁技術(shù)、報文濾波通信、短幀結(jié)構(gòu)等獨特的設(shè)計,在汽車監(jiān)控、工業(yè)自動化、智能建筑、醫(yī)療器械、船舶和航天通信等領(lǐng)域得到廣泛的應(yīng)用[4-5],是一種非常有發(fā)展前景的工業(yè)總線。導(dǎo)彈控制系統(tǒng)對通信任務(wù)的時間特性和安全特性十分敏感,但CAN總線由于采用了事件驅(qū)動型的通信協(xié)議,因此無法確定性地給出通信任務(wù)的完成時間估計,也就無法建立CAN總線的可靠調(diào)度算法。要建立基于CAN總線的導(dǎo)彈控制系統(tǒng)互聯(lián)網(wǎng)絡(luò),就必須得到總線網(wǎng)絡(luò)可靠的調(diào)度能力的準(zhǔn)確分析。
Tindell和Burns給出了CAN總線的最壞情況下任務(wù)響應(yīng)時間即WCRT(Worst Case Response Time)計算公式,建立了一種能確定性地評價總線調(diào)度能力的方法[6-8]。該方法已經(jīng)被許多汽車制造商大力推廣和應(yīng)用,其有效的預(yù)測性使得CAN總線一改初期僅能在低負(fù)載率條件下穩(wěn)定工作的狀況而能在較高負(fù)載率下仍可靠穩(wěn)定地工作。但是該方法的缺點在于其故障模型是建立在假定故障發(fā)生存在最小間隔的條件下,而在現(xiàn)實條件尤其是軍事作戰(zhàn)環(huán)境的惡劣條件中,故障的發(fā)生頻率很可能高于此間隔而呈現(xiàn)強的隨機(jī)性,因此該假設(shè)在強干擾環(huán)境中顯得過于樂觀。本文給出了一種更能準(zhǔn)確模擬真實故障狀況的基于泊松過程的故障模型,并基于此模型分析了基于CAN總線的導(dǎo)彈控制系統(tǒng)的消息調(diào)度策略。
Tindell和Burns提出的WCRT分析方法,其思想就是計算出總線消息在最壞情況下的響應(yīng)時間R(即從消息被觸發(fā)開始到消息最終被接收節(jié)點成功接收完畢的時間開銷),當(dāng)該時間值小于消息的截止期限D(zhuǎn),則認(rèn)為該消息是可以調(diào)度的,否則該消息的傳輸就不具備絕對的可靠性和實時性。
Tindell和Burns的WCRT分析方法基于以下假設(shè):
假設(shè)1 CAN總線上的任一個特定消息都以循環(huán)方式發(fā)送(比如,以某一種特定的間隔周期),并且此類消息都有相同的ID標(biāo)識符和相同大小;
假設(shè)2 非周期性消息的發(fā)送存在一個最小發(fā)送間隔。則在最壞情況下,非周期性消息均以其最小發(fā)送間隔發(fā)送,此時可以作為周期性消息對待;
假設(shè)3 相鄰故障的到達(dá)存在一個最小間隔Terror,且在任意時間間隔內(nèi),連串型故障有且僅有到1次。
將相同ID,相同周期(或者相同最小發(fā)送間隔),相同發(fā)送源的一類消息都稱作一個任務(wù)。一個任務(wù)m可以用一個四元組來表示其屬性:m=(Cm,Tm,Jm,Dm)。其中:Cm表示最壞情況下發(fā)送消息所需要的時間(不包括競用總線的時間,但是包括發(fā)送ID字段的時間);如果該任務(wù)為周期性任務(wù),Tm表示該任務(wù)的觸發(fā)周期,如果為非周期性任務(wù),Tm則表示其最小觸發(fā)間隔;Jm表示最大觸發(fā)抖動;Dm表示其截止期限。Rm≤min(Tm,Dm)是CAN總線的具備絕對實時性和可靠性的條件。
Rm由3個因素組成:即消息觸發(fā)抖動延遲Jm,消息進(jìn)行傳輸之前的排隊等待延遲wm和消息在總線上的傳輸延遲Cm。排隊延遲的原因來自于3個方面:故障導(dǎo)致的延遲Em,同時競用總線的高優(yōu)先級消息干擾延遲Im以及正在使用總線的低優(yōu)先級消息阻塞延遲Bm。有:
式(2)中,
1)根據(jù)文獻(xiàn)[9]有:
式中:τbit表示傳輸1 b的時間開銷;Cj表示任務(wù)j的最壞情況下的傳輸延遲(3τbit是幀間隔的時間開銷),用公式表示為
式(4)中,b為該任務(wù)的所有消息數(shù)據(jù)區(qū)的最大字節(jié)數(shù)。由文獻(xiàn)[9]可知,式(3)利用迭代求解,即:
Im初始值可從0開始,迭代至滿足結(jié)束。
2)在最壞情況下:
式(6)中,lp(m)表示優(yōu)先級低于m的所有任務(wù)觸發(fā)的所有消息的集合。
3)根據(jù)假設(shè)3,在時間t內(nèi),最壞情況下故障導(dǎo)致的時間延遲為
式中:nburst表示連串型故障的個數(shù);E表示發(fā)現(xiàn)單個故障到恢復(fù)正常傳輸需要的最大時間開銷。根據(jù)CAN總線協(xié)議,在最壞情況下(即故障發(fā)生在消息的最末一位):
式(8)中,hep(m)表示優(yōu)先級高于或等于m的所有任務(wù)觸發(fā)的所有消息的集合。
將式(2)~式(8)代入式(1),運用迭代的方法解式(1),迭代至=或者 Rm≥min(Tm,Dm)時結(jié)束,其解滿足Rm≤min(Tm,Dm)時為任務(wù)m最壞情況下的響應(yīng)時間,否則該任務(wù)在該消息集下不可調(diào)度。
現(xiàn)實環(huán)境中故障的類型可以分為單個故障和連串型故障。在普通干擾環(huán)境中,故障類型以單個故障為主;但是在強干擾環(huán)境下,比如持續(xù)掃描中的軍事雷達(dá)的周邊區(qū)域,或者高密度的電子線路環(huán)境,就會導(dǎo)致總線傳輸出現(xiàn)連續(xù)性的錯誤,稱為連串型故障。故障持續(xù)的時間一般取決于總線載體通過強干擾區(qū)的時間。這兩類故障的發(fā)生規(guī)律從統(tǒng)計學(xué)角度看都是隨機(jī)的,且尤其是在強干擾環(huán)境下,故障在任何時間間隔內(nèi)都有可能連續(xù)出現(xiàn),Tindell提出的基于最小到達(dá)間隔的故障模型就顯得過于樂觀,因此會造成分析誤差,使得消息實際響應(yīng)時間大于WCRT。針對該問題,本文給出一種基于廣義泊松過程的故障模型:即故障的到達(dá)服從泊松分布,而每次到達(dá)又以幾何概率分布決定其故障持續(xù)發(fā)生個數(shù)。
令X(t)為在時間區(qū)間[0,t]內(nèi)發(fā)生的故障總個數(shù),則有:
其中:
1)N(t)為在時間區(qū)間[0,t]內(nèi)發(fā)生的故障次數(shù),服從參數(shù)為λ的泊松分布,即:
2)yi為在第i次故障中發(fā)生的故障個數(shù),有:
式中:u為隨機(jī)變量,表示單次故障中故障可能發(fā)生個數(shù)的概率分布。
u的概率分布以及參數(shù)λ和α的取值都取決于具體CAN總線應(yīng)用系統(tǒng)(如本文所討論的基于CAN總線的導(dǎo)彈控制系統(tǒng))的實際觀察情況。目前流行的大多數(shù)CAN總線控制器都具備錯誤計數(shù)(如NEC控制器)和故障中斷(如Philips控制器)的功能,這就為觀察和記錄系統(tǒng)的故障發(fā)生狀況提供了技術(shù)基礎(chǔ)[10]。
為了便于進(jìn)一步討論,本文選取幾何分布作為隨機(jī)變量u的概率分布,即有:
選取幾何分布的原因是,幾何分布能夠滿足P(u=0)=0,因為u=0是不允許發(fā)生的,且當(dāng)k→∞時,幾何分布的極限形式即是一種相對重要的排隊分布,這使得問題易于求解。
有了u的分布以后,就可以求出單次故障發(fā)生個數(shù)yi的概率分布:
代入,則有:
將式(14)代入式(9),可以得到X(t)的概率分布。
2.1 節(jié)中計算X(t)的方法的缺點在于計算量過大,使得計算時間過長,在本節(jié)給出一種更為可行的計算方法。根據(jù)X(t)的定義,有:
由于P(X(t)=k|N(t)=m)的意義就是m次故障中出現(xiàn)k個故障的概率,且又已知隨機(jī)變量yi和N(t)是相互獨立的變量,令,則有:
Sm是一個時間連續(xù)狀態(tài)離散的馬爾可夫鏈,則根據(jù)轉(zhuǎn)移概率關(guān)系,有:
令ak=P(S1=k)=P(y1=k),應(yīng)用切普曼-科爾莫葛洛夫方程,有:
上式的形式可使用遞歸進(jìn)行求解,求解算法如下:
1)輸入表示故障次數(shù)的參數(shù)m,以及表示故障個數(shù)的參數(shù) k,調(diào)用函數(shù) P_S(integer m,integer k)計算P(Sm=k)值;
2)初始化用來存儲結(jié)果的變量result:result=0;
3)如果 m>k,則此事件不可能發(fā)生,故令result=0,并至 7);
4)如果m=1,則根據(jù)式(14)直接計算出ak的值,令result=ak,并至7);
5)如果 computed[m,k]=-1,說明該 P(Sm=k)并沒有被計算過,則應(yīng)用式(18)計算,并以新的參數(shù)m和k,至1)進(jìn)行遞歸;
6)如果都不是以上情況,則說明該P(Sm=k)已經(jīng)被計算出,則令 result=computed[m,k],并至7);
7)返回result給函數(shù)P_S(integer m,integer k),結(jié)束一次函數(shù)調(diào)用。
由2.2節(jié)可以得到時間t內(nèi)到達(dá)k個故障的概率。將(7)式改為下列形式,設(shè)n為故障個數(shù):
將上式代替式(7)代入(1)式進(jìn)行迭代,則最后可以解出最壞情況下最大響應(yīng)時間內(nèi)可以容忍的最多故障數(shù)。對于任務(wù)m,在最壞情況下,傳輸任務(wù)失敗的條件是在該任務(wù)的最大響應(yīng)時間內(nèi)到達(dá)的故障個數(shù)超過了其由上式推導(dǎo)出的該任務(wù)最大容忍故障個數(shù),則任務(wù)m失敗的概率可以由下式給出:
其中:Km表示任務(wù)m的最大容忍故障個數(shù)。
由上式可以計算出各個任務(wù)在最壞情況下的傳輸失敗概率Pm。根據(jù)不同系統(tǒng)在實際使用中的不同需求,可以知道系統(tǒng)中各個數(shù)據(jù)傳輸任務(wù)的最大允許失敗率 ρm。當(dāng) Pm>ρm時,則任務(wù) m不可調(diào)度;Pm≤ρm時,則認(rèn)為任務(wù)m可以調(diào)度。
基于CAN總線的某型導(dǎo)彈控制系統(tǒng)的消息如表1所示??刂葡到y(tǒng)的消息傳輸任務(wù)由12種消息類型構(gòu)成,分別來自8個節(jié)點。
將式(19)代替式(7)代入式(1),由式(1)可計算表1中各消息對應(yīng)的最壞情況下的響應(yīng)時間Rm以及對應(yīng)的最大可容忍故障個數(shù)Km,結(jié)果如表2所示。
取參數(shù) α=0.1,p=0.04,λ=10和 30,則根據(jù)式(20),計算結(jié)果如圖1所示。
從圖1中可以發(fā)現(xiàn),當(dāng)λ的值越大,則系統(tǒng)中各消息的失敗概率也越大。當(dāng)λ=10時,對比ρm可知,各消息在最壞情況下的傳輸失敗概率均能滿足需求;當(dāng)λ=30時,優(yōu)先級為3的任務(wù)(壓力傳輸器信號)的失敗概率為0.03966,已經(jīng)超出需求限制,為不可調(diào)度,其余任務(wù)仍滿足需求限制。
表2 各任務(wù)對應(yīng)的Km和RmTable 2 Kmand Rmresponding to each task
圖1 導(dǎo)彈控制系統(tǒng)各消息傳輸任務(wù)失敗概率Fig.1 The failure probability of each message transmission task of a missile networked control system
總體上,優(yōu)先權(quán)較高的任務(wù)的傳輸失敗概率較低。但是優(yōu)先權(quán)顯然并不是決定失敗概率的唯一因素,周期長度是另外一個影響因素。優(yōu)先級為11的任務(wù),比它們相鄰的任務(wù)擁有短得多的周期,其失敗概率相對更高,即使它的優(yōu)先級高于任務(wù)12。可見,周期越長,任務(wù)的失敗概率也越低。
Tindell和Burns給出的CAN總線的WCRT分析方法中的故障模型是基于最小間隔假設(shè)的。但是該假設(shè)不符合故障可能在小于最小間隔內(nèi)連續(xù)發(fā)生的現(xiàn)實情況,尤其在強干擾環(huán)境中,該假設(shè)導(dǎo)致的誤差將被放大,導(dǎo)致WCRT分析結(jié)果出現(xiàn)樂觀偏差。為解決該問題,本文給出了一種基于泊松過程和幾何概率分布結(jié)合的故障模型,并在此基礎(chǔ)上建立了CAN總線消息的調(diào)度策略。最后作為示例,將該策略應(yīng)用于基于CAN總線的導(dǎo)彈控制系統(tǒng)的消息調(diào)度分析中,顯示了該策略的有效性,并分析了周期長度和優(yōu)先級是對總線調(diào)度能力構(gòu)成影響的因素。
[1]曾慶華,杜明波.總線型導(dǎo)彈控制系統(tǒng)狀態(tài)監(jiān)測與故障診斷技術(shù)[J].國防科技大學(xué)學(xué)報,2007,29(1):7-12.
[2]武翠琴,張向東,李艾華,等.導(dǎo)彈控制系統(tǒng)信息傳輸?shù)木W(wǎng)絡(luò)化研究[J].彈箭與制導(dǎo)學(xué)報,2006,26(1):192-194.
[3]鄒盛懷.航空火控系統(tǒng)中的高新技術(shù)[J].電光與控制,1997(4):1-10.
[4]葉強生,陳書明.CAN總線在汽車網(wǎng)絡(luò)系統(tǒng)中的研究與應(yīng)用[J].微計算機(jī)信息,2008(14):262-264.
[5]劉銀春,何清華,賀繼林.基于CAN總線的小型無人機(jī)飛控系統(tǒng)設(shè)計[J].微計算機(jī)信息,2008(28):23-25.
[6]TINDELL K.Fixed priority scheduling of hard real-timesystems[D].Department of Computer Science,University of York,1994.
[7]TINDELL K,BURNS A.Guaranteed message latencies for distributed safety critical hard real-time networks[R].Technical Report YCS 229,Department of Computer Science,University of York,May 1994.
[8]TINDELL K,BURNS A.WELLINGS A J.Calculating Controller Area Network(CAN)message response times[J].Control Engineering Practice,1995,3(8):1163-1169.
[9]AUDSLEY N C,BURNS A,RICHARDSON M,et al.Applying new scheduling theory to static priority pre-emptive scheduling[J].Real-Time Systems,1993,8(5):284-292.
[10]PELICAN P H.A new CAN controller supporting diagnosis and system optimization[C]//In 4th International CAN Conference,ICC'97,1997.