王書舉,張?zhí)靷b,張國(guó)勝
(東北大學(xué)機(jī)械工程與自動(dòng)化學(xué)院,沈陽(yáng) 110004)
CAN(controller area network)總線技術(shù)已廣泛應(yīng)用于汽車控制網(wǎng)絡(luò),傳統(tǒng)CAN總線的事件觸發(fā)機(jī)制和固定優(yōu)先級(jí)調(diào)度算法在較差傳輸條件下存在著消息的傳輸不可預(yù)知、低優(yōu)先級(jí)消息易阻塞、網(wǎng)絡(luò)資源利用率低等不足[1],為解決上述問(wèn)題,在CAN協(xié)議引入時(shí)間觸發(fā)機(jī)制,形成TTCAN(time-triggered CAN)協(xié)議國(guó)際標(biāo)準(zhǔn),TTCAN作為CAN的延伸可很容易地應(yīng)用于諸多領(lǐng)域的CAN實(shí)時(shí)系統(tǒng)。TTCAN協(xié)議可同時(shí)處理時(shí)間觸發(fā)和事件觸發(fā),能保證控制系統(tǒng)時(shí)間觸發(fā)部分通信行為具有更高的確定性、可靠性和響應(yīng)快速性[2]。TTCAN網(wǎng)絡(luò)事件觸發(fā)部分沿用CAN的非破壞性仲裁來(lái)處理隨機(jī)性信號(hào),信息的傳輸響應(yīng)時(shí)間和傳統(tǒng)CAN一樣存在不確定性,因此須對(duì)隨機(jī)信息進(jìn)行實(shí)時(shí)性分析。文獻(xiàn)[3]和文獻(xiàn)[4]中采用TTCAN雙相基本周期結(jié)構(gòu),通過(guò)計(jì)算異步相內(nèi)能容納隨機(jī)信息的個(gè)數(shù)來(lái)計(jì)算隨機(jī)信息響應(yīng)時(shí)間,該計(jì)算方法在系統(tǒng)信息數(shù)據(jù)長(zhǎng)度不相同時(shí)對(duì)信息的響應(yīng)時(shí)間計(jì)算結(jié)果存在較大誤差。
CAN輔助設(shè)計(jì)工具能為大信息量、多優(yōu)先級(jí)信息通信的車輛系統(tǒng) CAN總線設(shè)計(jì)帶來(lái)很大便利,可節(jié)省集成測(cè)試的大量工作量,國(guó)外關(guān)于CAN網(wǎng)絡(luò)輔助設(shè)計(jì)的研究比較成熟。如Volcano公司以文獻(xiàn)[5]和文獻(xiàn)[6]的實(shí)時(shí)分析方法為理論基礎(chǔ)開發(fā)的商用CAN調(diào)度分析軟件,TTTech公司開發(fā)的TTCANplan調(diào)度表生成工具等。國(guó)內(nèi)目前缺少系統(tǒng)化、高性能的輔助分析工具。
文中對(duì)上述問(wèn)題進(jìn)行了深入地探討,研究了TTCAN雙相基本周期結(jié)構(gòu)中隨機(jī)信息響應(yīng)時(shí)間分析方法,并基于Visual C#平臺(tái)開發(fā)了汽車TTCAN實(shí)時(shí)性分析可視化軟件。
TTCAN協(xié)議本質(zhì)上是基于表的靜態(tài)調(diào)度,網(wǎng)絡(luò)運(yùn)行時(shí),時(shí)間意義上的主節(jié)點(diǎn)基于本地時(shí)間控制器發(fā)送包含全局時(shí)間信息的參考幀。TTCAN網(wǎng)絡(luò)要傳輸?shù)男畔⒓捌浒l(fā)送時(shí)間都被預(yù)先定義在調(diào)度表中,由如圖 1所示的系統(tǒng)矩陣來(lái)管理。系統(tǒng)矩陣由多個(gè)基本周期(BC)組成,基本周期為連續(xù)兩個(gè)同步信息之間的時(shí)間段,它又由多個(gè)時(shí)間窗構(gòu)成,信息的傳輸都是在時(shí)間窗口里進(jìn)行。時(shí)間窗口的類型有同步時(shí)間窗、獨(dú)占窗、仲裁窗和空閑窗[2]4種。
(1)獨(dú)占窗只允許某一個(gè)指定的單獨(dú)信息使用,別的信息不能搶占,同步時(shí)間窗屬于獨(dú)占窗。
(2)仲裁窗可由兩個(gè)以上的節(jié)點(diǎn)使用,多個(gè)節(jié)點(diǎn)的信息在此類窗口里采用CAN協(xié)議的仲裁機(jī)制競(jìng)爭(zhēng)發(fā)送。當(dāng)多個(gè)仲裁窗連續(xù)出現(xiàn)時(shí)可進(jìn)行合并,組成一個(gè)大的仲裁窗。
(3)空閑窗里目前沒有信息被調(diào)度,預(yù)留給未來(lái)網(wǎng)絡(luò)擴(kuò)展。
由于汽車TTCAN系統(tǒng)中周期性信息和隨機(jī)性信息共存,須合理規(guī)劃獨(dú)占窗和仲裁窗建立系統(tǒng)矩陣以獲得良好的系統(tǒng)性能,這里將系統(tǒng)矩陣規(guī)劃分為3個(gè)步驟。
(1)規(guī)劃基本周期 由于TTCAN通過(guò)禁止傳輸不能在當(dāng)前仲裁窗完成傳輸?shù)男畔?lái)保證隨機(jī)信息不影響周期信息的傳輸[2],且仲裁窗內(nèi)的信息量小于時(shí)間窗,所以,將仲裁時(shí)間窗合并為組合窗,組成異步相將最大限度地利用系統(tǒng)帶寬并提高隨機(jī)信息的實(shí)時(shí)性。另外,考慮到實(shí)現(xiàn)因素,將基本周期規(guī)劃為同步基準(zhǔn)、同步相和異步相 3個(gè)區(qū)域[3-4],同步基準(zhǔn)用來(lái)傳遞同步信息,同步相用來(lái)傳遞周期性信號(hào),異步相用來(lái)傳遞隨機(jī)性信號(hào),如圖 2所示,其中TBC為基本周期長(zhǎng)度,TTM為同步時(shí)間窗大小,LS和 LA分別為同步相和異步相長(zhǎng)度。
(2)確定系統(tǒng)矩陣各列寬度 取系統(tǒng)各列寬度相同,列寬應(yīng)滿足系統(tǒng)最大信息的最大傳輸用時(shí)[5]:
式中:L為同步相列寬;tCm為CAN標(biāo)準(zhǔn)信息幀m在總線上最壞傳輸時(shí)間;τbit為總線傳輸位用時(shí);dm為信息m數(shù)據(jù)域的字節(jié)數(shù)。
(3)確定基本周期的個(gè)數(shù) 確定矩陣的行和列及各個(gè)基本周期內(nèi)同步相的時(shí)間窗序列,即具體地構(gòu)建系統(tǒng)矩陣。周期性信號(hào)具有確定的傳輸時(shí)刻,可采用均勻裝載(AL)算法[4]進(jìn)行調(diào)度。設(shè)共有 N個(gè)周期信息,P為周期個(gè)數(shù),周期集合T={T1…Ti…TP},i∈[1,P],其中周期為Ti的信號(hào)為 ni個(gè),取基本周期TBC為各周期的最大公約數(shù),矩陣周期 TMC為各周期的最小公倍數(shù),則系統(tǒng)矩陣的基本周期個(gè)數(shù): NBC=TMC/TBC。
定義:各信號(hào)周期值與基本周期的比值 ki為
同步相內(nèi)列數(shù)即時(shí)間窗的個(gè)數(shù)SP為
要實(shí)現(xiàn)周期性信息可調(diào)度,須滿足條件:
整個(gè)TTCAN系統(tǒng)是否可調(diào)度尚須進(jìn)行隨機(jī)信息可調(diào)度性分析。
TTCAN獨(dú)占窗不存在多信息競(jìng)爭(zhēng),而當(dāng)仲裁窗中出現(xiàn)多信息沖突時(shí),仍采用CAN無(wú)破壞性優(yōu)先級(jí)仲裁機(jī)制,總線空閑時(shí),任何信息均可申請(qǐng)發(fā)送,檢測(cè)到?jīng)_突時(shí),根據(jù)優(yōu)先級(jí)進(jìn)行仲裁,最高優(yōu)先級(jí)信息獲得總線使用權(quán)。優(yōu)先級(jí)由信息的ID決定,ID越大優(yōu)先級(jí)越低,信息的 ID被事先離線定義,全網(wǎng)內(nèi)信息ID值唯一。本文中ID值的分配采用比率單調(diào)(ratemonotonic,RM)算法,它規(guī)定信息的優(yōu)先級(jí)與信息產(chǎn)生的頻率成正比,對(duì)于隨機(jī)信息,取信息連續(xù)兩次出現(xiàn)的最小時(shí)間間隔,最小間隔越大,信號(hào)的優(yōu)先級(jí)越低[6]。
信息的實(shí)時(shí)性應(yīng)考慮所有可能的情況,信息從產(chǎn)生到傳輸至目的節(jié)點(diǎn)的響應(yīng)延遲應(yīng)小于其延遲期限,即信息網(wǎng)絡(luò)實(shí)時(shí)性要求應(yīng)滿足條件為
式中:tRm為信息最壞響應(yīng)時(shí)間;tDm為延時(shí)期限;tJm為發(fā)送信息m的軟件抖動(dòng);tWm為信息幀m排隊(duì)等待高優(yōu)先級(jí)信息傳輸花費(fèi)的時(shí)間;tBm為信息 m被阻塞的時(shí)間。
TTCAN獨(dú)占窗分配給指定的周期信息傳輸,獨(dú)占窗內(nèi)不存在沖突,信息不被阻塞,同時(shí)TTCAN采用禁止重發(fā)機(jī)制,則同步相周期信息的tWm=0,tBm= 0,即tRm=tCm。
隨機(jī)信息產(chǎn)生時(shí)間無(wú)法預(yù)先規(guī)劃,分析其實(shí)時(shí)性時(shí)要考慮其最壞延遲情況,隨機(jī)信息 m可能被低優(yōu)先級(jí)信息、時(shí)間間隙、觸發(fā)信息和同步相所阻塞,還要等待高優(yōu)先級(jí)信息傳輸,隨機(jī)信息最壞傳輸條件如圖3所示,圖中TM為同步觸發(fā)信息,α為防止隨機(jī)信息干涉到觸發(fā)信息而保留的時(shí)間間隙,AMi為上一基本周期異步相內(nèi)最后傳輸?shù)谋刃畔?m優(yōu)先級(jí)低的隨機(jī)信息。
基于以上分析,可得TTCAN隨機(jī)信息實(shí)時(shí)響應(yīng)分析模型[6-7]為
式中:lp(m)為比信息m優(yōu)先級(jí)低的信息集合; hp(m)為比信息m優(yōu)先級(jí)高的隨機(jī)信息集合;mit()為信息產(chǎn)生的最小時(shí)間間隔;A為隨機(jī)信息集合。
汽車動(dòng)力傳動(dòng)控制系統(tǒng)信息的實(shí)時(shí)性和確定性要求高,消息必須在規(guī)定時(shí)間之內(nèi)完成傳輸。中高檔汽車的動(dòng)力傳動(dòng)控制系統(tǒng)主要包括[6]:發(fā)動(dòng)機(jī)控制系統(tǒng)、防抱制動(dòng)系統(tǒng)、四輪轉(zhuǎn)向控制系統(tǒng)和懸架控制系統(tǒng)。系統(tǒng)共有 33個(gè)周期信息和 12個(gè)非周期性信息。周期信息特性如表1所示,非周期信息(a,b, c為優(yōu)先級(jí)):a類(制動(dòng)油計(jì)量器A1,制動(dòng)油指示器A2,液壓執(zhí)行器油溫傳感器 A3,發(fā)動(dòng)機(jī)轉(zhuǎn)速計(jì)數(shù)器A4);b類(進(jìn)氣口溫度傳感器A5,散熱器溫度傳感器A6,探測(cè)傳感器 A7,燃油計(jì)量器 A8,散熱器溫度計(jì)量器A9,液壓執(zhí)行器過(guò)濾傳感器 A10,速度計(jì)A11);c類(發(fā)動(dòng)機(jī)機(jī)油傳感器 A12)。周期信息截止期即為其周期,隨機(jī)信息截止期為其最小時(shí)間間隔,a、b、c類分別為5、20、100ms。
表1 汽車控制系統(tǒng)總線周期信息
采用與文獻(xiàn)[3]和文獻(xiàn)[8]相同的參數(shù)設(shè)置,每個(gè)信號(hào)傳輸?shù)臄?shù)據(jù)均為兩個(gè)字節(jié),波特率為 1Mb/s。
由表1可知,T={2,4,6},根據(jù)AL算法可知, TBC=2ms,TMC=6ms,TTM=0.063ms,L=0.073ms, S3=20,LS=1.46ms,可實(shí)現(xiàn)周期信息調(diào)度。系統(tǒng)矩陣周期由 3個(gè)基本周期組成,如圖 4所示。
TTCAN系統(tǒng)中周期信息傳輸不存在阻塞和排隊(duì)等待時(shí)間,因此TTCAN周期信息很容易滿足實(shí)時(shí)性要求[3-4]。隨機(jī)信息排隊(duì)等待時(shí)間計(jì)算公式(6)為多步迭代公式,當(dāng)系統(tǒng)存在大數(shù)據(jù)量、多優(yōu)先級(jí)信息通信時(shí),其計(jì)算量較大,因此文中通過(guò)設(shè)計(jì)輔助分析軟件來(lái)分析TTCAN隨機(jī)信息響應(yīng)延遲,并實(shí)現(xiàn)分析結(jié)果的可視化。實(shí)時(shí)性分析軟件的設(shè)計(jì)功能包括:管理輸入信息;根據(jù)信息ID對(duì)信息優(yōu)先級(jí)自動(dòng)排序;信息阻塞時(shí)間及排隊(duì)等待時(shí)間的迭代計(jì)算;處理計(jì)算結(jié)果存入數(shù)據(jù)庫(kù)并發(fā)送給輸出顯示界面。
采用Visual C#軟件實(shí)現(xiàn)TTCAN實(shí)時(shí)性分析軟件輸入界面如圖 5所示,通過(guò)輸入界面可實(shí)現(xiàn)信息及TTCAN系統(tǒng)參數(shù)的輸入、修改和保存,波特率參數(shù)設(shè)置,輸入信息的圖表顯示等功能。
TTCAN實(shí)時(shí)性分析軟件輸出顯示界面可實(shí)現(xiàn)信息實(shí)時(shí)性參數(shù)分析結(jié)果圖表顯示,不同選項(xiàng)下的信息參數(shù)曲線與圖形顯示及分析結(jié)果的輸出。
采用設(shè)計(jì)的實(shí)時(shí)分析軟件對(duì)汽車動(dòng)力傳動(dòng)控制系統(tǒng)TTCAN隨機(jī)信息進(jìn)行實(shí)時(shí)性能分析,波特率設(shè)置為1Mb/s,各節(jié)點(diǎn)軟件抖動(dòng)時(shí)間根據(jù)現(xiàn)場(chǎng)情況設(shè)置為 0.2~1ms不等[6]。點(diǎn)擊仿真按鈕,信息分析結(jié)果輸出包括:信息的ID、周期、截止期、排隊(duì)等待時(shí)間、抖動(dòng)響應(yīng)時(shí)間、信息是否可調(diào)度和響應(yīng)時(shí)間裕度等參數(shù),繪制各隨機(jī)信息抖動(dòng)響應(yīng)時(shí)間與最壞響應(yīng)時(shí)間的柱形圖對(duì)比,如圖 6所示。
從圖6中可以看出,對(duì)TTCAN隨機(jī)信息的最壞傳輸時(shí)間隨著優(yōu)先級(jí)的降低會(huì)有較大的增加,系統(tǒng)設(shè)計(jì)時(shí)應(yīng)根據(jù)其時(shí)間響應(yīng)合理分配信息ID,應(yīng)賦予實(shí)時(shí)性強(qiáng)的信息較高的優(yōu)先級(jí),最終保證所有信息均滿足其實(shí)時(shí)性要求。
基于汽車TTCAN控制系統(tǒng),提出了TTCAN網(wǎng)絡(luò)事件觸發(fā)部分隨機(jī)信號(hào)實(shí)時(shí)性分析數(shù)學(xué)模型,針對(duì)實(shí)時(shí)性分析計(jì)算中多次迭代所帶來(lái)較大工作量問(wèn)題,文中基于Visual C#平臺(tái)設(shè)計(jì)了實(shí)時(shí)性分析可視化輔助分析軟件,為汽車TTCAN總線系統(tǒng)的實(shí)時(shí)性分析提供了有效工具。
[1] Cena G,Valenzano A,Vitturi S.Advances in Automotive Digital Communications[J].Computer Standards&Interfaces,2005,27 (6):665-678.
[2] Leen G,Heffernan D.TTCAN:A New Time-triggered Controller A rea Network[J].Microprocessors and Microsystems,2002,26 (2):77-94.
[3] 劉魯源,萬(wàn)仁君,李斌,等.TTCAN調(diào)度算法及其在汽車控制系統(tǒng)中的應(yīng)用[J].汽車工程,2005,27(1):60-63.
[4] 曹萬(wàn)科,張?zhí)靷b,劉應(yīng)吉.基于混合調(diào)度算法汽車TTCAN網(wǎng)絡(luò)設(shè)計(jì)及實(shí)時(shí)性分析[J].中國(guó)機(jī)械工程學(xué)報(bào),2007,15(1):62-66.
[5] Tindell K,Burns A.Guaranteeing Message Latencieson Controller Area Network(CAN)[C].Proceedings of the First International CAN Conference.Mainz,Germany,1994.
[6] Tindell K,Burns A,Wellings.Calculating Controller A rea Network (CAN)Message Response Times[J].Control Eng.Practice, 1995,8(3):1163-1169.
[7] Almeida L,Pedreiras P,Alberto JG.The FTT-CAN Protocol:Why and How[J].IEEE Transaction on IndustrialElectronics,2002,49 (6):1189-1201.
[8] Caval S,Stefano A D,Mirabella O.Mapping Automotive Process Controlon IEC/ISA Field Bus Functionalities[J].Computers in Industry,1996,28(3):233-250.