李賀政+梁英+史航瑞+耿魯平



摘要:現如今隨著CAN網絡技術的不斷發展,網絡中需要傳輸的信息量會越來越多,固定優先級調度思想已經不能滿足傳輸實時性的要求。本文提出一種基于指數分區與等差數列相結合的調度思想,并對該思想進行了理論上的分析。研究結果表明,本文的調度思想實現了CAN網絡的動態調度,提高了消息集傳輸的實時性。
關鍵詞:CAN總線;調度思想;動態調度;實時性
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2017)01-0019-01
1 引言
控制器局域網(Controller Area Network,CAN)是一種高性能的現場總線,具有多主發送、優先級“無損仲裁”機制等特點,但是傳統的靜態優先級存在著數據傳輸時不同優先級數據帶寬分配不均等的缺點,而本文提出的基于指數與等差分區的調度思想能夠優化CAN網絡消息的調度。
2 CAN網絡的節點構建
我們以國內某款BMS系統為模型,根據其性能需求,構建7個電控單元(ECU)控制節點,它們彼此之間通過CAN網絡來互相連接,如圖1所示。根據系統分層控制的原則,MCU會根據控制策略來給各個單元發送指令,與此同時,它也會隨時接收各個單元發來的反饋信息,以便獲知整個BMS系統的實時工作狀態。
3 基于EDF的CAN報文ID設計
最早截止期優先調度算法(Earliest Deadline First,EDF)是指根據任務的截止期長短確定各個任務優先級——截止期越近,其優先級就越高。CAN總線的仲裁機制為ID(二進制)值越小的消息,具有越高的優先級。
本文把報文的ID劃分為兩個部分,分別是動態域和固定域,其位數根據具體系統設計需要而定,如圖2所示。
4 基于指數分區與等差分區的編碼思想
本文設計采用基于指數函數的編碼方法將截止期映射為消息幀標識符的動態可變段。以Tst作為時間軸起點(即計時原點)。設A是分區因子,A取整數,Jmax為當前最大的相對截止期,整個區間分為k+1個大區間,如圖3所示。為了保證子區間具有類似指數的遞增段特性,從第1個區間開始,每個母區又都以等差數列的形式分成q個子區,將其分別編號為0,1,…,q-1,那么系統將會有kq+1個區間,即有kq+1個優先級。
然后根據數學公式推導出母區間號i和子區間號h的計算方法,得出相對截止期為J的消息所對應的優先級p為。
5 結語
通過對實驗結果的細致研究,我們發現采用本文指數函數結合等差數列的動態調度思想進行編碼,改進了傳統編碼方法所造成的因優先級反轉而不能辨識消息優先級的弊端。本文最高優先級的消息將具有極小的截止期,優化了CAN網絡消息的調度,提高消息集傳輸的實時性。
參考文獻
[1]牛躍聽,周立功,等.CAN總線應用層協議實例解析[M].北京:北京航空航天大學出版社,2014.
[2]來清民.手把手教你學CAN總線[M].北京:北京航空航天大學出版社,2010.
[3]王躍飛,胡京津,等.基于EDF的汽車CAN網絡動態調度機制設計[J].電子測量與儀器學報,2014,28(8):819-825.