劉應吉+王書舉
摘 要: 針對在控制器局域網(CAN)總線中存在低優先級信息會因為高優先級信息頻繁占用總線而出現的死鎖問題,在車輛控制系統中引入柔性時間觸發機制組建柔性事件觸發控制器局域網(FTT?CAN),針對周期信息和隨機信息,分別在FTT?CAN的同步相和異步相中采用最早截止期優先(EDF)調度和動態提升優先級(DPP)調度,介紹了FTT?CAN觸發原理,提出基于EDF和DPP的動態調度算法,將該調度算法應用于典型電動汽車控制系統模型的調度,驗證了該調度算法的優越性。
關鍵詞: 控制器局域網; 柔性時間觸發控制器局域網; 動態調度; 可度性分析
中圖分類號: TN915.04?34;TP336 文獻標識碼: A 文章編號: 1004?373X(2017)23?0158?04
Abstract: The controller area network (CAN) bus has the problem that the information with low priority may be deadlocked due to the frequent bus occupation of the information with high priority. The flexible time?triggered CAN (FTT?CAN) based on flexible time?triggered mechanism is introduced into the vehicle control system. The earliest deadline first (EDF) scheduling and dynamic promotion priority (DPP) scheduling are respectively used in the synchronous phase and asynchronous phase of the FTT?CAN for the periodic information and random information. The trigger principle of FTT?CAN is introduced. The dynamic scheduling algorithms based on EDF and DPP are proposed. The proposed dynamic scheduling algorithm is used to the scheduling of the typical electric vehicle control system model. Its superiority was verified.
Keywords: controller area network; flexible time?triggered CAN; dynamic scheduling; schedulability analysis
0 引 言
CAN 總線由于其成本低、布置靈活等優點,在車輛實時控制系統中已經得到廣泛應用。CAN協議基于事件觸發(Event?triggered,ET)機制,該機制具有較大的信息傳輸延時抖動,通信不具有確定性[1?3]控制系統需要通過CAN總線傳輸的大部分控制信息有著實時性和安全性需求,要求信息在規定時間內完成傳輸,傳統的CAN有時不能很好地滿足系統對時間約束的要求[4],因此,有研究在標準CAN協議基礎上擴展了支持時間觸發機制(Time?triggered,TT)[5?6],基于時間觸發機制的CAN高級協議能夠保證周期信息傳輸的抖動得到有效控制[7?9]。柔性時間觸發CAN(Flexible Time?triggered CAN,FTT?CAN)[10]作為CAN的擴展協議兼顧了事件觸發的靈活性和時間觸發機制的確定性。
本文針對FTT?CAN的特點,提出一種動態調度算法,可以有效地提高總線的利用率及信息的實時性。
1 柔性時間觸發CAN原理
FTT?CAN采用同步相和異步相雙相結構來控制時間觸發和事件觸發信息的傳輸,它將時間、事件觸發通信有效地結合起來。FTT?CAN協議將總線時間細分成等長的連續時間單元,即基本周期EC(Elementary Cycles),每個EC開始時,由主節點發送一個EC觸發消息TM(Trigger Message)給所有從節點,該消息同時包含了該EC內獲準發送的時間觸發信息的標識。基本周期由時間意義上的主節點發送觸發信息,TM啟動,到下一次觸發信息出現截止。FTT?CAN的異步相用于傳輸事件觸發信息,即隨機信息,它可以在任意時刻產生發送請求,同步相則用于傳輸時間觸發消息,即周期性信息,其發送過程與各個EC同步。FTT?CAN基本周期結構如圖1所示,圖中AM和SM分別表示隨機性信息和周期性信息。兩相之間保留空閑時間段[α,]使得不同觸發屬性的信息能夠嚴格在各自相內進行傳輸。
FTT?CAN對時間觸發信息的調度集中在主節點內,在主節點內保存了一個信息調度表,用于實現對周期性信息的集中式在線調度。圖2給出了觸發消息對周期信息的控制方式,由圖2可以看到,通過觸發消息字段就可以控制周期性信息的發送與否。觸發信息數據段中的每一位都對應于一個周期信息,對應的信息可在由該觸發信息開始的EC內獲準發送,否則該信息不能在該EC內發送。通過對主節點內信息調度表的在線規劃,動態地改變每個特定EC內的觸發信息,就可以實現周期性信息的調度管理。系統中除主節點外各節點僅保留與自身有關的生產/消費表,各個節點解碼接收到觸發信息數據并查詢本節點的生產/消費表,若查到該基本周期內有本節點所發送的信息,則同步相到來后立即申請信息發送。
2 基于FTT?CAN的動態調度算法endprint
由于FTT?CAN協議同步相調度只需在主節點中更新調度表[11],可實現對動態通信需求的在線接入,這為在同步相引入最早截止期優先(Earliest Deadline First, EDF)動態調度提供了可能。FTT?CAN協議異步相中沿用傳統CAN的事件觸發機制,可以采用動態優先級提升(Dynamic Priority Promotion,DPP)調度,隨著信息仲裁失敗上調該信息優先級,進而減少低優先級消息的平均響應時間,使帶寬配置更均勻。
2.1 基于EDF的同步相動態調度
EDF調度可獲得較高的帶寬利用率[12],因此廣泛應用于實時控制系統中,但由于EDF需要實時同步計算各個節點信息的截止期,對各節點硬件的計算能力要求較高,而FTT?CAN對于周期信息的處理過程都集中在主節點內,EDF對于節點的計算要求局限于主節點,另外,主節點可以通過實時更新本地的調度表即可完成同步在線調度,其余節點只需要具有能解碼EC觸發信息的能力即可。因此,本文對于周期信號的動態調度采用EDF調度算法,對于任一周期信息[m,]EDF具體算法過程如圖3所示。
其中,[TDm]為信息[m]的截止期限;[TBC]為一個基本周期的時長;[NS]為周期信息的個數。
2.2 基于DPP的異步相動態調度
DPP算法能夠給予網絡中各個信息公平的帶寬,能保證網絡信息的傳輸有時間上限,因此,DPP算法可以有效地避免網絡中低優先級信息總也不能得到網絡使用權的情況發生[13]。DPP算法將信息的標識符分成兩個優先級域:動態優先級域和固定優先級域。對于隨機信息n,以Pn?dynamic表示動態優先級,以Pn?DM表示固定優先級,以s表示優先級提升步數,DPP算法實施步驟如圖4所示。
3 網絡性能分析
為了評價不同調度策略對網絡性能的影響,本文采用一套SAE(Society of Automotive Engineers)電動汽車網絡模型為研究對象,該模型包含電池、車輛控制器、馬達控制器、控制面板、駕駛員輸入、剎車及傳輸控制7個子系統節點[8],各系統節點之間需要處理44個信號,將其中31個隨機信號記為[A1~A31,]記11個隨機信號為[S1~S11,]周期信號的截止期為其周期, 隨機信號的截止期依應用環境而定,參見文獻[8]。將事件觸發的隨機信號歸集記為[A,]周期信號歸集為[S,]將第[n]個基本周期中傳輸的信號作為[S]的子集歸集為[S(n)]。設置網絡傳輸速度為250 Kb/s,基本周期TBC為 5 ms,忽略網絡抖動。
分別采用本文基于FTT?CAN的調度策略和文獻[8]中的DM調度策略,對比網絡利用率、周期信息響應時間及隨機信息可調度性等三方面的網絡性能。
3.1 周期信息的響應分析
由表1可見,FTT?CAN網絡中,由于隨機信息被約束在異步相內傳輸,采用DM算法的話,隨機信息的比例因子較小,表明應對更高時間要求能力較差,但是,通過引入DPP動態調度指環,整體的調度性明顯得到了提高。
4 結 語
在車輛控制CAN網絡中,信息傳輸的確定性和靈活性越來越重要,本文基于CAN高級協議,針對不同的信息特點引入對應的動態調度算法,提出一種兼顧確定性和靈活性的調度機制,以SAE電動汽車模型為應用對象,通過與傳統CAN網絡調度相對比,驗證了本文所提機制可以實現更好的網絡傳輸性能。
參考文獻
[1] 劉超,黃偉,吳濤,等.基于等幅變頻晉升CAN總線動態調度算法的研究[J].信息與控制,2015,44(4):398?402.
[2] KUMAR M, VERMA A K, SRIVIDYA A. Distributed computing and networking [C]// Proceedings 10th ICDCN. [S.l.]: IEEE, 2009: 163?174.
[3] 李軍,徐鳳霞.基于CAN總線網絡控制系統的混合調度算法研究[J].計算機測量與控制,2014,22(11):3687?3690.
[4] CENA G, VALENZANO A, VITTURI S. Advances in automotive digital communications [J]. Computer standards & interfaces, 2005, 27(6): 665?678.
[5] KOPETZ H. A comparison of CAN and TTP [J]. Annual reviews in control, 2000, 24: 177?188.
[6] LEEN G, HEFFERNAN D. TTCAN: a new time?triggered controller area network [J]. Microprocessors and microsystems, 2002, 26(2): 77?94.
[7] XU J, DAVID L P. Priority scheduling versus pre?run?time scheduling [J]. Journal of real?time systems, 2000, 18(1): 7?23.
[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] 王書舉,張天俠,張國勝.車載CAN和FTTCAN網絡設計與調度策略[J].農業機械學報,2011,42(2):14?17.
[10] 曹萬科,張天俠,聞邦椿,等.柔性時間觸發控制器局域網絡(CAN)控制系統動態規劃應用與性能分析[J].機械工程學報,2008,44(5):142?146.
[11] PEDREIRAS P, ALMEIDA L. EDF message scheduling on controller area network [J]. Computing & control engineering journal, 2002, 13(4): 163?170.
[12] BUTTAZZO G C. Rate monotonic vs. EDF: judgment day [J]. Real?time systems, 2005, 29(1): 5?26.
[13] CENA G, VALENZANO A. An improved CAN ?eldbus for industrial applications [J]. IEEE transactions on industrial electronics, 1997, 44(4): 553?564.
[14] NATALE M D. Scheduling the CAN bus with earliest deadline techniques [C]// Proceeding of the 21st IEEE Real?time Systems Symposium. Orlando: IEEE, 2000: 259?268.endprint