CAN調(diào)度理論與實踐分析
CAN總線中消息能否按時送達是事關系統(tǒng)安全等問題的重要指標,它要通過調(diào)度分析加以驗證。本文介紹CAN調(diào)度理論的新研究成果,以及對工程應用的指導意義及其實施難點。具體分為4個部分:Tindell的分析方法和Davis的改進;筆者對Davis算法的簡化;最壞響應時間分析在應用上的一些結(jié)果;調(diào)度分析在應用上的難處。
關鍵詞 CAN 調(diào)度理論 響應時間 Davis算法 Tindell算法
分布式嵌入式系統(tǒng)是當前嵌入式系統(tǒng)的重要發(fā)展方向,因為它能提供更強的性能,節(jié)約系統(tǒng)的總體成本。但是由于各單個節(jié)點必須有通信網(wǎng)絡相連才能協(xié)調(diào)地工作,網(wǎng)絡就成了關鍵部分,沒有網(wǎng)絡提供及時正確的數(shù)據(jù)和命令,就談不上所設計的系統(tǒng)服務了。在汽車的分布式嵌入式系統(tǒng)中,目前主流的通信網(wǎng)絡是CAN總線。CAN是事件觸發(fā)的通信協(xié)議,它根據(jù)消息的優(yōu)先等級和節(jié)點的狀態(tài)自動地調(diào)度消息的傳送。低優(yōu)先級的消息會因同時發(fā)生的高優(yōu)先級消息太多而不能及時發(fā)送,高優(yōu)先級消息也有可能由于節(jié)點狀態(tài)等的影響而丟失。關于CAN的局限問題可見參考文獻[1]。本文主要從調(diào)度理論方面討論CAN系統(tǒng)的問題,這些問題與工程應用有非常大的關系,實踐意義很強。
1 Tindell的分析方法和Davis的改進
1994年,Tindell [23]首先將分析單處理器任務調(diào)度方法改造成適用于CAN總線的調(diào)度方法,求取消息的最壞響應時間。對于與安全相關的應用,只有對最壞響應時間有確切的掌握,才是合理的。CAN通信在網(wǎng)絡上的實現(xiàn)經(jīng)過2個階段:通信任務將消息發(fā)到發(fā)送的通信控制器(CC),發(fā)送的通信控制器將消息發(fā)到接收的通信控制器。廣義地講,響應時間是從需產(chǎn)生通信的事件發(fā)生到消息到達目標節(jié)點的時間,包括發(fā)送節(jié)點host內(nèi)的處理時間,host到CC的時間,總線上消息仲裁傳送時間,接收CC到host的處理時間。仲裁獲勝的消息開始傳送后,便不能被中止,所以CAN調(diào)度是固定優(yōu)先級非搶先式任務調(diào)度。消息m用到的參數(shù)定義如下:
Tm ——啟動通信的事件間隔,即周期;
Jm——由事件發(fā)生到消息開始送CC的時間之最大變化,即抖動;
Cm—— 在總線上傳送消息m所需時間(要考慮位填充形成的最大值);
Dm——由應用決定的傳送消息m允許的時限;
Rm——實際的最壞傳送時間;
Wm——傳送消息m時最壞等待時間。
它們之間的關系如圖1所示。
圖1 用于調(diào)度分析的時間參數(shù)
Wm由2部分構(gòu)成:由低于優(yōu)先級m的消息(其集合寫為lp(m))正在總線上傳送而造成的阻塞Bm,和由高于優(yōu)先級m的消息(其集合寫為hp(m))在總線上搶先傳送而造成的干擾Im。它們?nèi)∽畲笾禃r就使Wm成為最壞等待時間。
為了印刷的方便和易于理解,這里用了不同的寫法,其中頂函數(shù)Ceiling返回的是最接近(大于等于)變量的上限整數(shù), τ是1位時間。Ceiling( (Wm+Jk+τ)/Tk)表示在Wm時段內(nèi)高優(yōu)先級消息k會出現(xiàn)的最多次數(shù)。于是有:
Wm取離散值且出現(xiàn)在非線性方程(4)的兩邊,所幸的是其求解并不難。在式(5)
評論