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