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