吳 晨,葉星蹤,許化龍
(1.第二炮兵工程學院,西安 710025;2.第二炮兵情報部,北京 100085)
點對點互聯模式在當前導彈控制系統互聯網絡中占據了絕對的主導地位,在這種體制下,彈上各節點之間交聯復雜,模擬量、數字量、開關量等多種信號并存[1]。隨著導彈數字化程度的深入,提出了彈載總線的概念。導彈控制系統的各單機部件都設計成一個獨立的數字化部件,掛接在彈載總線上,形成一個開放的、信息高度共享的全分布式控制系統[2]。總線式體制下的導彈控制系統互聯網絡具有可擴展性強、可維護性高、可靠性高、體積小、重量輕等諸多優點,是導彈控制系統互聯方式發展的必然趨勢[3]。
CAN總線最初是由德國的BOSCH公司為汽車監測、控制系統設計的,采用多主工作方式、非破壞性仲裁技術、報文濾波通信、短幀結構等獨特的設計,在汽車監控、工業自動化、智能建筑、醫療器械、船舶和航天通信等領域得到廣泛的應用[4-5],是一種非常有發展前景的工業總線。導彈控制系統對通信任務的時間特性和安全特性十分敏感,但CAN總線由于采用了事件驅動型的通信協議,因此無法確定性地給出通信任務的完成時間估計,也就無法建立CAN總線的可靠調度算法。要建立基于CAN總線的導彈控制系統互聯網絡,就必須得到總線網絡可靠的調度能力的準確分析。
Tindell和Burns給出了CAN總線的最壞情況下任務響應時間即WCRT(Worst Case Response Time)計算公式,建立了一種能確定性地評價總線調度能力的方法[6-8]。該方法已經被許多汽車制造商大力推廣和應用,其有效的預測性使得CAN總線一改初期僅能在低負載率條件下穩定工作的狀況而能在較高負載率下仍可靠穩定地工作。但是該方法的缺點在于其故障模型是建立在假定故障發生存在最小間隔的條件下,而在現實條件尤其是軍事作戰環境的惡劣條件中,故障的發生頻率很可能高于此間隔而呈現強的隨機性,因此該假設在強干擾環境中顯得過于樂觀。本文給出了一種更能準確模擬真實故障狀況的基于泊松過程的故障模型,并基于此模型分析了基于CAN總線的導彈控制系統的消息調度策略。
Tindell和Burns提出的WCRT分析方法,其思想就是計算出總線消息在最壞情況下的響應時間R(即從消息被觸發開始到消息最終被接收節點成功接收完畢的時間開銷),當該時間值小于消息的截止期限D,則認為該消息是可以調度的,否則該消息的傳輸就不具備絕對的可靠性和實時性。
Tindell和Burns的WCRT分析方法基于以下假設:
假設1 CAN總線上的任一個特定消息都以循環方式發送(比如,以某一種特定的間隔周期),并且此類消息都有相同的ID標識符和相同大小;
假設2 非周期性消息的發送存在一個最小發送間隔。則在最壞情況下,非周期性消息均以其最小發送間隔發送,此時可以作為周期性消息對待;
假設3 相鄰故障的到達存在一個最小間隔Terror,且在任意時間間隔內,連串型故障有且僅有到1次。
將相同ID,相同周期(或者相同最小發送間隔),相同發送源的一類消息都稱作一個任務。一個任務m可以用一個四元組來表示其屬性:m=(Cm,Tm,Jm,Dm)。其中:Cm表示最壞情況下發送消息所需要的時間(不包括競用總線的時間,但是包括發送ID字段的時間);如果該任務為周期性任務,Tm表示該任務的觸發周期,如果為非周期性任務,Tm則表示其最小觸發間隔;Jm表示最大觸發抖動;Dm表示其截止期限。Rm≤min(Tm,Dm)是CAN總線的具備絕對實時性和可靠性的條件。
Rm由3個因素組成:即消息觸發抖動延遲Jm,消息進行傳輸之前的排隊等待延遲wm和消息在總線上的傳輸延遲Cm。排隊延遲的原因來自于3個方面:故障導致的延遲Em,同時競用總線的高優先級消息干擾延遲Im以及正在使用總線的低優先級消息阻塞延遲Bm。有:

式(2)中,
1)根據文獻[9]有:

式中:τbit表示傳輸1 b的時間開銷;Cj表示任務j的最壞情況下的傳輸延遲(3τbit是幀間隔的時間開銷),用公式表示為

式(4)中,b為該任務的所有消息數據區的最大字節數。由文獻[9]可知,式(3)利用迭代求解,即:

Im初始值可從0開始,迭代至滿足結束。
2)在最壞情況下:

式(6)中,lp(m)表示優先級低于m的所有任務觸發的所有消息的集合。
3)根據假設3,在時間t內,最壞情況下故障導致的時間延遲為

式中:nburst表示連串型故障的個數;E表示發現單個故障到恢復正常傳輸需要的最大時間開銷。根據CAN總線協議,在最壞情況下(即故障發生在消息的最末一位):

式(8)中,hep(m)表示優先級高于或等于m的所有任務觸發的所有消息的集合。
將式(2)~式(8)代入式(1),運用迭代的方法解式(1),迭代至=或者 Rm≥min(Tm,Dm)時結束,其解滿足Rm≤min(Tm,Dm)時為任務m最壞情況下的響應時間,否則該任務在該消息集下不可調度。
現實環境中故障的類型可以分為單個故障和連串型故障。在普通干擾環境中,故障類型以單個故障為主;但是在強干擾環境下,比如持續掃描中的軍事雷達的周邊區域,或者高密度的電子線路環境,就會導致總線傳輸出現連續性的錯誤,稱為連串型故障。故障持續的時間一般取決于總線載體通過強干擾區的時間。這兩類故障的發生規律從統計學角度看都是隨機的,且尤其是在強干擾環境下,故障在任何時間間隔內都有可能連續出現,Tindell提出的基于最小到達間隔的故障模型就顯得過于樂觀,因此會造成分析誤差,使得消息實際響應時間大于WCRT。針對該問題,本文給出一種基于廣義泊松過程的故障模型:即故障的到達服從泊松分布,而每次到達又以幾何概率分布決定其故障持續發生個數。
令X(t)為在時間區間[0,t]內發生的故障總個數,則有:

其中:
1)N(t)為在時間區間[0,t]內發生的故障次數,服從參數為λ的泊松分布,即:

2)yi為在第i次故障中發生的故障個數,有:

式中:u為隨機變量,表示單次故障中故障可能發生個數的概率分布。
u的概率分布以及參數λ和α的取值都取決于具體CAN總線應用系統(如本文所討論的基于CAN總線的導彈控制系統)的實際觀察情況。目前流行的大多數CAN總線控制器都具備錯誤計數(如NEC控制器)和故障中斷(如Philips控制器)的功能,這就為觀察和記錄系統的故障發生狀況提供了技術基礎[10]。
為了便于進一步討論,本文選取幾何分布作為隨機變量u的概率分布,即有:

選取幾何分布的原因是,幾何分布能夠滿足P(u=0)=0,因為u=0是不允許發生的,且當k→∞時,幾何分布的極限形式即是一種相對重要的排隊分布,這使得問題易于求解。
有了u的分布以后,就可以求出單次故障發生個數yi的概率分布:

代入,則有:

將式(14)代入式(9),可以得到X(t)的概率分布。
2.1 節中計算X(t)的方法的缺點在于計算量過大,使得計算時間過長,在本節給出一種更為可行的計算方法。根據X(t)的定義,有:

由于P(X(t)=k|N(t)=m)的意義就是m次故障中出現k個故障的概率,且又已知隨機變量yi和N(t)是相互獨立的變量,令,則有:

Sm是一個時間連續狀態離散的馬爾可夫鏈,則根據轉移概率關系,有:

令ak=P(S1=k)=P(y1=k),應用切普曼-科爾莫葛洛夫方程,有:

上式的形式可使用遞歸進行求解,求解算法如下:
1)輸入表示故障次數的參數m,以及表示故障個數的參數 k,調用函數 P_S(integer m,integer k)計算P(Sm=k)值;
2)初始化用來存儲結果的變量result:result=0;
3)如果 m>k,則此事件不可能發生,故令result=0,并至 7);
4)如果m=1,則根據式(14)直接計算出ak的值,令result=ak,并至7);
5)如果 computed[m,k]=-1,說明該 P(Sm=k)并沒有被計算過,則應用式(18)計算,并以新的參數m和k,至1)進行遞歸;
6)如果都不是以上情況,則說明該P(Sm=k)已經被計算出,則令 result=computed[m,k],并至7);
7)返回result給函數P_S(integer m,integer k),結束一次函數調用。
由2.2節可以得到時間t內到達k個故障的概率。將(7)式改為下列形式,設n為故障個數:

將上式代替式(7)代入(1)式進行迭代,則最后可以解出最壞情況下最大響應時間內可以容忍的最多故障數。對于任務m,在最壞情況下,傳輸任務失敗的條件是在該任務的最大響應時間內到達的故障個數超過了其由上式推導出的該任務最大容忍故障個數,則任務m失敗的概率可以由下式給出:

其中:Km表示任務m的最大容忍故障個數。
由上式可以計算出各個任務在最壞情況下的傳輸失敗概率Pm。根據不同系統在實際使用中的不同需求,可以知道系統中各個數據傳輸任務的最大允許失敗率 ρm。當 Pm>ρm時,則任務 m不可調度;Pm≤ρm時,則認為任務m可以調度。
基于CAN總線的某型導彈控制系統的消息如表1所示。控制系統的消息傳輸任務由12種消息類型構成,分別來自8個節點。
將式(19)代替式(7)代入式(1),由式(1)可計算表1中各消息對應的最壞情況下的響應時間Rm以及對應的最大可容忍故障個數Km,結果如表2所示。
取參數 α=0.1,p=0.04,λ=10和 30,則根據式(20),計算結果如圖1所示。
從圖1中可以發現,當λ的值越大,則系統中各消息的失敗概率也越大。當λ=10時,對比ρm可知,各消息在最壞情況下的傳輸失敗概率均能滿足需求;當λ=30時,優先級為3的任務(壓力傳輸器信號)的失敗概率為0.03966,已經超出需求限制,為不可調度,其余任務仍滿足需求限制。

表2 各任務對應的Km和RmTable 2 Kmand Rmresponding to each task

圖1 導彈控制系統各消息傳輸任務失敗概率Fig.1 The failure probability of each message transmission task of a missile networked control system
總體上,優先權較高的任務的傳輸失敗概率較低。但是優先權顯然并不是決定失敗概率的唯一因素,周期長度是另外一個影響因素。優先級為11的任務,比它們相鄰的任務擁有短得多的周期,其失敗概率相對更高,即使它的優先級高于任務12。可見,周期越長,任務的失敗概率也越低。
Tindell和Burns給出的CAN總線的WCRT分析方法中的故障模型是基于最小間隔假設的。但是該假設不符合故障可能在小于最小間隔內連續發生的現實情況,尤其在強干擾環境中,該假設導致的誤差將被放大,導致WCRT分析結果出現樂觀偏差。為解決該問題,本文給出了一種基于泊松過程和幾何概率分布結合的故障模型,并在此基礎上建立了CAN總線消息的調度策略。最后作為示例,將該策略應用于基于CAN總線的導彈控制系統的消息調度分析中,顯示了該策略的有效性,并分析了周期長度和優先級是對總線調度能力構成影響的因素。
[1]曾慶華,杜明波.總線型導彈控制系統狀態監測與故障診斷技術[J].國防科技大學學報,2007,29(1):7-12.
[2]武翠琴,張向東,李艾華,等.導彈控制系統信息傳輸的網絡化研究[J].彈箭與制導學報,2006,26(1):192-194.
[3]鄒盛懷.航空火控系統中的高新技術[J].電光與控制,1997(4):1-10.
[4]葉強生,陳書明.CAN總線在汽車網絡系統中的研究與應用[J].微計算機信息,2008(14):262-264.
[5]劉銀春,何清華,賀繼林.基于CAN總線的小型無人機飛控系統設計[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.