管長焦
(煤炭科學(xué)研究總院沈陽研究院,遼寧 撫順 113122)
CAN(Controller Area Network)總線因其低成本、抗干擾等優(yōu)點(diǎn)已廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域,CAN在處理周期性信號(hào)和隨機(jī)性信號(hào)共存的通信方面,存在不確定性缺陷,且低優(yōu)先級(jí)信息網(wǎng)絡(luò)競爭能力差、響應(yīng)時(shí)間延遲過長,易產(chǎn)生信息死鎖現(xiàn)象[1]。針對(duì)這些問題,在嵌入式實(shí)時(shí)系統(tǒng)通信研究中,能同時(shí)處理時(shí)間觸發(fā)和事件觸發(fā)的協(xié)議,成為汽車控制系統(tǒng)網(wǎng)絡(luò)技術(shù)發(fā)展的必然,TTCAN協(xié)議[2]為CAN增加了一個(gè)基于TDMA機(jī)制的會(huì)話層,為時(shí)間觸發(fā)信息提供了基于系統(tǒng)矩陣的發(fā)送管理功能;TTCAN實(shí)現(xiàn)了兩種不同觸發(fā)機(jī)制驅(qū)動(dòng)信息的同網(wǎng)共存通信,但在線運(yùn)行時(shí),其靜態(tài)表不允許實(shí)時(shí)更新,限制了新信息的加入與根據(jù)應(yīng)用需求進(jìn)行信息調(diào)度功能,配置靈活性較差[3]。FTTCAN[3]采用雙相結(jié)構(gòu),同時(shí)支持事件觸發(fā)與時(shí)間觸發(fā)機(jī)制,其時(shí)間觸發(fā)調(diào)度集中在主節(jié)點(diǎn),允許在線變換調(diào)度策略及新信息在網(wǎng)絡(luò)運(yùn)行時(shí)加入網(wǎng)絡(luò),同時(shí)采用CAN本身的仲裁機(jī)制來傳遞隨機(jī)性信息。有效克服了TTCAN協(xié)議靜態(tài)調(diào)度的缺點(diǎn),可提供更完善的車載信息通訊功能。
FTTCAN異步相內(nèi)隨機(jī)性信息仍采用CAN協(xié)議的無破壞性仲裁機(jī)制進(jìn)行調(diào)度傳輸同樣不具有確定的傳輸時(shí)刻和周期,不能對(duì)其進(jìn)行靜態(tài)規(guī)劃,為避免信息死鎖,這里采用動(dòng)態(tài)優(yōu)先級(jí)提升算法實(shí)現(xiàn)對(duì)隨機(jī)性信號(hào)的調(diào)度。
FTTCAN采用雙相基本周期結(jié)構(gòu)對(duì)如圖1所示的基本周期(EC)進(jìn)行動(dòng)態(tài)規(guī)劃調(diào)度?;局芷谟蓵r(shí)間意義上的主節(jié)點(diǎn)發(fā)送觸發(fā)信息TM啟動(dòng),到下一次觸發(fā)信息出現(xiàn)截止?;局芷趦?nèi)除了觸發(fā)信息外的時(shí)間段被劃分為異步相和同步相,圖中AMi和SMi分別表示隨機(jī)性信息和周期性信息。兩相之間保留空閑時(shí)間段α,使得各類信息能夠在嚴(yán)格各自相內(nèi)進(jìn)行傳輸。
圖1 FTTCAN基本周期結(jié)構(gòu)
FTTCAN對(duì)時(shí)間觸發(fā)信息的動(dòng)態(tài)規(guī)劃集中在主節(jié)點(diǎn)內(nèi),這樣主節(jié)點(diǎn)可以根據(jù)需求變換調(diào)度策略而不會(huì)影響到其他節(jié)點(diǎn)?;局芷趦?nèi)所發(fā)送周期信息的具體實(shí)現(xiàn)由主節(jié)點(diǎn)發(fā)送的觸發(fā)信息數(shù)據(jù)域內(nèi)的數(shù)據(jù)編碼完成[3],如圖2所示。系統(tǒng)中除主節(jié)點(diǎn)外各節(jié)點(diǎn)僅保留與自身有關(guān)的生產(chǎn)/消費(fèi)(P/C)表,各個(gè)節(jié)點(diǎn)同步接收到觸發(fā)信息后讀取其數(shù)據(jù)域內(nèi)的數(shù)據(jù)進(jìn)行解碼并查詢當(dāng)?shù)豍/C表,若查到本基本周期內(nèi)有本節(jié)點(diǎn)所需發(fā)送的信息,則等待同步相到來后立即申請(qǐng)信息發(fā)送,與此同時(shí),在異步相內(nèi)可以基于事件觸發(fā)進(jìn)行隨機(jī)性信息通信。FTTCAN充分利用了傳統(tǒng)CAN的仲裁機(jī)制,同步相和異步相內(nèi)各信息之間競爭總線發(fā)生沖突時(shí)仍采用CAN本身的非破壞性仲裁機(jī)制解決。
圖2 觸發(fā)信息數(shù)據(jù)域編碼原理
FTTCAN中負(fù)責(zé)調(diào)度同步相傳輸?shù)挠|發(fā)信息數(shù)據(jù)域內(nèi)容,由主節(jié)點(diǎn)的同步需求表(SRT)管理,同步需求表屬性[3]如下:
式中,di為信息的數(shù)據(jù)長度,TC,i為最大傳輸時(shí)間,Phi為相對(duì)相位,Ti為發(fā)送周期,TD,i為截止期限,Pi為優(yōu)先級(jí)。
FTTCAN采用與CAN相同的幀格式,有兩種分別為含有11位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀和含有29位標(biāo)識(shí)符的擴(kuò)展幀,本文采用標(biāo)準(zhǔn)幀格式。
PP算法的思想在于為每個(gè)非周期性信號(hào)引入延時(shí)優(yōu)先級(jí)概念,各個(gè)隨機(jī)信號(hào)的優(yōu)先級(jí)由延時(shí)優(yōu)先級(jí)和截止優(yōu)先級(jí)共同決定[4]。截止期單調(diào)(DM)優(yōu)先級(jí)與該信號(hào)截止期成正比,通過靜態(tài)分配;等待優(yōu)先級(jí)隨著信號(hào)仲裁失敗次數(shù)的增加而動(dòng)態(tài)提升,定義提升步長為等待優(yōu)先級(jí)的增量。
記信息m的優(yōu)先級(jí)為PmR,各個(gè)信號(hào)的優(yōu)先級(jí)由等待優(yōu)先級(jí)Pm-W和截止期單調(diào)(DM)優(yōu)先級(jí)Pm-DM共同決定,如圖3所示,記步長為S。PP調(diào)度的核心是動(dòng)態(tài)更新等待優(yōu)先級(jí),算法細(xì)節(jié)參見文獻(xiàn)[4],算法流程如右圖4所示。
圖3 PP調(diào)度中優(yōu)先級(jí)規(guī)劃
圖4 PP調(diào)度算法流程
FTTCAN在兩相內(nèi)仍采用CAN自身的MAC仲裁機(jī)制,系統(tǒng)信息的通信實(shí)時(shí)性可沿用CAN的分析方法進(jìn)行分析。
對(duì)于信息i的最壞響應(yīng)時(shí)間TRi計(jì)算公式[5]為
其中,TBi為信息i被阻塞時(shí)間,TWi為等待較高優(yōu)先級(jí)信息傳輸?shù)臅r(shí)間,di為信息的數(shù)據(jù)長度,TCi為信息傳輸時(shí)間。
(1)同步相內(nèi)周期性信息實(shí)時(shí)性分析
記周期性信息總集合為S,第n個(gè)基本周期內(nèi)被規(guī)劃周期性信號(hào)的子集合S( n)?S,則對(duì)于周期性信息i各時(shí)間參數(shù)的計(jì)算公式為[6-8]:
其中,di為信息的數(shù)據(jù)長度,τbit為總線傳輸一位數(shù)據(jù)占用時(shí)間。
(2)異步相內(nèi)隨機(jī)性信息的實(shí)時(shí)性分析
異步相內(nèi)隨機(jī)性信息的行為無法事先規(guī)劃,在分析時(shí)需要考慮最壞情況[8],設(shè)隨機(jī)性信息集合為A,對(duì)于隨機(jī)性信息i,其時(shí)間參數(shù)計(jì)算如下[6-8]:
其中,Tα為FTTCAN兩相之間最大時(shí)間間隔,TS同步相長度,TTM為觸發(fā)信息長度。
引入SAE(Society of Automotive Engineers)電動(dòng)汽車CAN信息基準(zhǔn)[5],主要包括七個(gè)子系統(tǒng):電池(Battery)、整車控制(V/C)、變頻電機(jī)(I/M C)、駕駛員輸入(Driver)、剎車(Brakes)和傳輸控制(Trans)。經(jīng)同源周期信息數(shù)據(jù)合并[7]后系統(tǒng)內(nèi)共有11個(gè)周期信息(S1-S11)和31個(gè)隨機(jī)信息(A1-A31),其中,周期信息截止期為其周期,如表1所示。隨機(jī)信息產(chǎn)生的最小時(shí)間間隔為50ms,信息帶1字節(jié)數(shù)據(jù),截止期為20ms。取總線傳輸速率為250 Kbit/s。
傳統(tǒng)電動(dòng)汽車總線設(shè)計(jì)通常采用DM(截止期單調(diào))算法[5],截止期越小的任務(wù)將獲得越高的優(yōu)先級(jí),周期信息優(yōu)先級(jí)規(guī)劃結(jié)果如表1所示。
表1 電動(dòng)汽車總線周期消息
將FTTCAN同步相長度規(guī)劃為可以傳輸6個(gè)周期信息,則被分配在某一基本周期內(nèi)傳輸?shù)闹芷谛畔⒆疃嘀荒鼙?個(gè)信息所阻礙,基于CAN與FTTCAN總線下的周期信息最壞響應(yīng)時(shí)間如圖5所示。
圖5 周期信息基于CAN與FTTCAN的調(diào)度結(jié)果
由圖5可知,F(xiàn)TTCAN中周期信息實(shí)時(shí)性明顯增強(qiáng),系統(tǒng)確定性增加。引入的優(yōu)先級(jí)動(dòng)態(tài)提升PP算法可以保證隨機(jī)信息經(jīng)過有限的仲裁可以獲得總線使用權(quán),提高了系統(tǒng)的確定性和實(shí)時(shí)性。
本文提出將優(yōu)先級(jí)動(dòng)態(tài)提升算法引入柔性時(shí)間觸發(fā)控制器局域網(wǎng),F(xiàn)TTCAN兼顧系統(tǒng)靈活性與確定性,對(duì)電動(dòng)汽車信息調(diào)度結(jié)果表明:FTTCAN有效的提高了周期信息實(shí)時(shí)性,所引入的動(dòng)態(tài)提升算法可以有效的解決低優(yōu)先級(jí)信息的死鎖問題。
[1] 劉魯源, 李芳, 呂偉杰. TTCAN協(xié)議的分析與展望[J]. 天津理工大學(xué)學(xué)報(bào), 2005,(03): 15-19.
[2] G. Leen, D. Heffernan. TTCAN: a new time-triggered controller area network [J]. Microprocessors and Microsystems, 200226:77-94.
[3] Luís Almeida, Paulo Pedreiras, José Alberto G. The FTT-CAN Protocol: Why and How [J]. IEEE Transaction on Industrial Electronics, 200249(6):1189-1201.
[4] Cena G, Valenzano A. Delay Analysis of Priority Promotion Systems[J]. Computer Communication,2000, 23:1252-1262.
[5] K. Tindell, A. Burns, A.J. Wellings. Calculating controller area network (CAN) message response times[J]. Control Eng. Practice, 1995, 3(8): 1163-1169.
[6] Thomas Nolte, Hans Hansson, Christer Norstrǒm.Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network [J]. Proceeding of the 9thIEEE Real-Time and Embedded Technology and Applications Symposium, 2003 IEEE.
[7] 呂偉杰, 劉魯源, 王毅新. 基于CAN總線的TT-FPS調(diào)度算法研究及其性能分析[J].中國工程科學(xué), 2006,8(5): 45-48.
[8] 曹萬科, 張?zhí)靷b, 聞邦椿等. 柔性時(shí)間觸發(fā)控制器局域網(wǎng)絡(luò)(CAN)控制系統(tǒng)動(dòng)態(tài)規(guī)劃應(yīng)用與性能分析[J]. 機(jī)械工程學(xué)報(bào), 2008, 44(5):142-146