新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > CAN調(diào)度理論與實踐分析

CAN調(diào)度理論與實踐分析

作者: 時間:2012-04-23 來源:網(wǎng)絡(luò) 收藏

總線中消息能否按時送達是事關(guān)系統(tǒng)安全等問題的重要指標,它要通過調(diào)度分析加以驗證。本文介紹的新研究成果,以及對工程應(yīng)用的指導(dǎo)意義及其實施難點。具體分為4個部分:Tindell的分析方法和Davis的改進;筆者對Davis算法的簡化;最壞響應(yīng)時間分析在應(yīng)用上的一些結(jié)果;調(diào)度分析在應(yīng)用上的難處。

關(guān)鍵詞 CAN 響應(yīng)時間 Davis算法 Tindell算法

  分布式嵌入式系統(tǒng)是當(dāng)前嵌入式系統(tǒng)的重要發(fā)展方向,因為它能提供更強的性能,節(jié)約系統(tǒng)的總體成本。但是由于各單個節(jié)點必須有通信網(wǎng)絡(luò)相連才能協(xié)調(diào)地工作,網(wǎng)絡(luò)就成了關(guān)鍵部分,沒有網(wǎng)絡(luò)提供及時正確的數(shù)據(jù)和命令,就談不上所設(shè)計的系統(tǒng)服務(wù)了。在汽車的分布式嵌入式系統(tǒng)中,目前主流的通信網(wǎng)絡(luò)是CAN總線。CAN是事件觸發(fā)的通信協(xié)議,它根據(jù)消息的優(yōu)先等級和節(jié)點的狀態(tài)自動地調(diào)度消息的傳送。低優(yōu)先級的消息會因同時發(fā)生的高優(yōu)先級消息太多而不能及時發(fā)送,高優(yōu)先級消息也有可能由于節(jié)點狀態(tài)等的影響而丟失。關(guān)于CAN的局限問題可見參考文獻[1]。本文主要從調(diào)度理論方面討論CAN系統(tǒng)的問題,這些問題與工程應(yīng)用有非常大的關(guān)系,實踐意義很強。

1 Tindell的分析方法和Davis的改進

  1994年,Tindell [23]首先將分析單處理器任務(wù)調(diào)度方法改造成適用于CAN總線的調(diào)度方法,求取消息的最壞響應(yīng)時間。對于與安全相關(guān)的應(yīng)用,只有對最壞響應(yīng)時間有確切的掌握,才是合理的。CAN通信在網(wǎng)絡(luò)上的實現(xiàn)經(jīng)過2個階段:通信任務(wù)將消息發(fā)到發(fā)送的通信控制器(CC),發(fā)送的通信控制器將消息發(fā)到接收的通信控制器。廣義地講,響應(yīng)時間是從需產(chǎn)生通信的事件發(fā)生到消息到達目標節(jié)點的時間,包括發(fā)送節(jié)點host內(nèi)的處理時間,host到CC的時間,總線上消息仲裁傳送時間,接收CC到host的處理時間。仲裁獲勝的消息開始傳送后,便不能被中止,所以CAN調(diào)度是固定優(yōu)先級非搶先式任務(wù)調(diào)度。消息m用到的參數(shù)定義如下:

  Tm ——啟動通信的事件間隔,即周期;
  Jm——由事件發(fā)生到消息開始送CC的時間之最大變化,即抖動;
  Cm—— 在總線上傳送消息m所需時間(要考慮位填充形成的最大值);
  Dm——由應(yīng)用決定的傳送消息m允許的時限;
  Rm——實際的最壞傳送時間;
  Wm——傳送消息m時最壞等待時間。

  它們之間的關(guān)系如圖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)


上一頁 1 2 下一頁

關(guān)鍵詞: CAN 調(diào)度理論 實踐分析

評論


技術(shù)專區(qū)

關(guān)閉