管長(zhǎng)焦
(煤炭科學(xué)研究總院沈陽(yáng)研究院,遼寧 撫順 113122)
隨著汽車車身分布式實(shí)時(shí)CAN(Controller Area Network)系統(tǒng)中要交換的數(shù)據(jù)逐步增加,現(xiàn)有的帶寬資源越顯有限,因此,需要研究新的調(diào)度策略。動(dòng)態(tài)實(shí)時(shí)調(diào)度策略如最小時(shí)間裕度優(yōu)先(LSF)有較高的資源利用率,應(yīng)該動(dòng)態(tài)調(diào)度時(shí)車身網(wǎng)絡(luò)的信息會(huì)有較好的時(shí)間特性[1-3]。
在CAN總線中實(shí)施LSF動(dòng)態(tài)優(yōu)先級(jí)調(diào)度需解決各節(jié)點(diǎn)之間對(duì)信息剩余傳輸時(shí)間的同步計(jì)算問(wèn)題,以及解決如何用有限的標(biāo)識(shí)符來(lái)表達(dá)剩余時(shí)間的問(wèn)題。
本文對(duì)上述問(wèn)題進(jìn)行了深入研究,以信息可以等待的時(shí)間即信息的時(shí)間裕度為參數(shù),將之量化來(lái)實(shí)現(xiàn)CAN幀標(biāo)識(shí)符對(duì)時(shí)間裕度的編碼,利用信息同時(shí)競(jìng)爭(zhēng)總線時(shí)的仲裁來(lái)同步信息的剩余時(shí)間,利用CAN總線事件觸發(fā)機(jī)制,實(shí)現(xiàn)了LSF調(diào)度。
CAN 協(xié)議信息的擴(kuò)展格式如圖1所示。
記信息m 的優(yōu)先級(jí)為Pm,各個(gè)信號(hào)的優(yōu)先級(jí)組成:控制優(yōu)先級(jí)Pm-C、裕度優(yōu)先級(jí)Pm-S和DM(截止期單調(diào))優(yōu)先級(jí)Pm-DM共同決定,如圖2所示。
圖1 CAN 擴(kuò)展幀格式
圖2 LSF 調(diào)度中優(yōu)先級(jí)規(guī)劃
CAN 總線采用“線與”機(jī)制,信息標(biāo)識(shí)符越小則優(yōu)先級(jí)越高。LSF 調(diào)度旨在隨著仲裁更新時(shí)間裕度:
1)取ΙD.0 位為控制優(yōu)先級(jí)位Pm-C,取接下來(lái)的WS位為裕度優(yōu)先級(jí);將WDM位規(guī)劃為DM優(yōu)先級(jí)域,DM優(yōu)先級(jí)按信息截止期分配信息的優(yōu)先級(jí),主要用于區(qū)分信息的屬性,用于接收濾波。仲裁域結(jié)構(gòu)規(guī)劃見(jiàn)圖3所示。
圖3 LSF 調(diào)度中CAN 幀仲裁域結(jié)構(gòu)
2)確定時(shí)間裕度量化機(jī)制。每仲裁一次,裕度優(yōu)先級(jí)將減1,則其大小應(yīng)滿足P[4]
其中,q為量化幀,tCm為信息的最壞傳輸時(shí)間,fbaud為系統(tǒng)傳輸速度,dm為數(shù)據(jù)域的大小。
3)確定各優(yōu)先級(jí)的位數(shù)WS和WDM:
其中,Q為系統(tǒng)中信息的個(gè)數(shù)。
4)初始化優(yōu)先級(jí)域:
根據(jù)信息的優(yōu)先級(jí)位數(shù)確定其初始化狀態(tài),即:
其中,tDm為信息m的相對(duì)截止期,即當(dāng)前時(shí)刻到信息截止期之間的時(shí)間,tJm為軟件的抖動(dòng)時(shí)間。
LSF 算法思想在于為每個(gè)信號(hào)引入隨總線仲裁動(dòng)態(tài)更新其裕度優(yōu)先級(jí)概念,每次信息競(jìng)爭(zhēng)總線失掉仲裁,裕度優(yōu)先級(jí)會(huì)動(dòng)態(tài)提升,本文定義每次提升步長(zhǎng)為1,基于事件觸發(fā)的LSF 算法步驟如圖4所示。
圖4 LSF 算法分析流程圖
當(dāng)所有信息同時(shí)競(jìng)爭(zhēng)總線時(shí),是信息在總線上傳輸?shù)淖顗臈l件,信息m在最壞傳輸條件下的傳輸時(shí)間稱為最糟糕響應(yīng)時(shí)間tRm。信息m的傳輸時(shí)間特性滿足式(6)、(7),則該信息可調(diào)度[4]:
其中,U為總線利用率,Ti為信息周期,tWm為信息m等待發(fā)送的時(shí)間,TDm為信息m的截止期,τbit為位傳輸時(shí)間。
典型的汽車車身電子系統(tǒng)共包括有33 個(gè)隨機(jī)性信號(hào),如表1所示[5],分屬于電動(dòng)窗、車外燈、車內(nèi)燈、手剎、指示器、雨刮器等單元。每個(gè)信號(hào)2 個(gè)字節(jié)。汽車車身信息的截止期要求不大于100ms。車身CAN網(wǎng)絡(luò)速率一般為10~125kb/s。
表1 車身CAN 網(wǎng)絡(luò)中傳輸?shù)男畔⒓?
記車身信息為 a1~a33,設(shè) a1~a5、a8~a22、a31~a33 由t=0 開(kāi)始周期發(fā)送,周期分別為100ms、200ms、300ms;a6~a7、a23~a30 在t=70ms 時(shí)開(kāi)始發(fā)送,周期為 200ms??紤]現(xiàn)場(chǎng)因素取軟件抖動(dòng)tJm= 1 ms ,總線傳輸速度取為125kb/s。
分別采用DM 和本文的LSF 方案對(duì)汽車以上信息循環(huán)600ms 中共111 個(gè)信息進(jìn)行調(diào)度。
DM截止期單調(diào)算法按信息的截止期分配信息的優(yōu)先級(jí)P,截止期越小的任務(wù)獲得的優(yōu)先級(jí)越高?;贚SF 算法的汽車車身信息調(diào)度設(shè)計(jì),則q= 0.76ms ,WDM= 6,WS= 22,信息時(shí)間裕度初始值為TDm-tCm-tJm= 98.24ms ,需要WS為8 位。
通過(guò)調(diào)節(jié)總線傳輸?shù)牟ㄌ芈誓M總線利用率的變化,編程分別對(duì)DM、LSF 算法進(jìn)行仿真,得到兩種算法調(diào)度下的車身CAN 總線網(wǎng)絡(luò)性能分析結(jié)果如圖5所示。
圖5 車身信息集DM 與LSF 調(diào)度結(jié)果
由仿真知,DM 調(diào)度下在總線利用率達(dá)到63%時(shí),有信息錯(cuò)過(guò)了其有效時(shí)間限制,即該信息丟失死限,此類信息均為低優(yōu)先級(jí)信息。同樣條件下LSF調(diào)度好于DM,總線利用率比DM 明顯改善。
本文提出了LSF 調(diào)度策略,充分利用了CAN協(xié)議的非破壞性仲裁機(jī)制來(lái)實(shí)現(xiàn)同步。對(duì)車身控制信息調(diào)度結(jié)果表明,LSF 算法可達(dá)到較高的總線利用率,有效的提高了低優(yōu)先級(jí)信息的實(shí)時(shí)性。
[1] BUTTAZZO G C.Rate monotonic vs EDF: judgment day[J].Real-Time Systems.2005,29(1):5-26.
[2] MARGULL U,DΙEDERΙCHS C,MARGULL U,et al.An application based EDF scheduler for osek/vdx[J].Proceedings of the conference on Design,automation and test in Europe,Munich,Germany,2008,1045-1050.
[3] PEDREΙRAS P,ALMEΙDA L.EDF message scheduling on controller area network[J].Computing & Control Engineering Journal.2002,13(4):163-170.
[4] TΙNDELL K,BURNS A,WELLΙNGS A J.Calculating controller area network (can) message response times[J].Control Engineering Practice.1995,3(8):1163-1169.
[5] TΙNDELL K,BURNS A.Guaranteeing message latencies on control area network (CAN)[C].Proceedings of the first international CAN conference,Mainz,Germany,1994.