陶震宇,夏繼強,滿慶豐
(北京航空航天大學機械工程及自動化學院,北京 100191)
CAN(Controller Area Network) 即控制器局域網,采用非破壞性的總線仲裁技術,保證了高優(yōu)先級節(jié)點信息的實時性,但在多節(jié)點系統(tǒng)中,低優(yōu)先級節(jié)點信息的實時性較差。TTCAN(Time-Triggered Controller Area Network)在CAN協(xié)議棧的會話層中加入時間控制器局域網協(xié)議,通過設計合理的調度矩陣保證了所有節(jié)點周期信息的實時性,對于非周期信息只提供了一個自由仲裁時間窗。由于增加了獨占窗,因此,與CAN在同樣的負載下,TTCAN的非周期信息延時將增大[1]。
文獻[2]針對TTCAN協(xié)議周期性和非周期性通訊任務的特點,建立了TTCAN靜態(tài)調度算法的仿真模型,仿真結果說明周期消息實時性與矩陣周期一致,而非周期信息在負載率較高時可能出現(xiàn)“死鎖”現(xiàn)象。
文獻[3]研究了TTCAN非周期信息的延時,并對非周期信息超過其最壞延遲的概率分布進行了深入探討,提出了信息超出截止期的概率分布的計算方法,從多角度分析了信息參數的選擇對系統(tǒng)實時性能的影響。
對于TTCAN調度矩陣的不足,很多研究者提出了改進方法。動態(tài)調度是常見的一種方法,這類調度算法主要有最小裕度最優(yōu)先LLF(least-laxity first)、最早截止期最優(yōu)先EDF等[4]。文獻[5]針對系統(tǒng)節(jié)點數增加、減少和網絡傳輸波特率發(fā)生變化時的情況提出了一種動態(tài)調度算法,并仿真說明了其傳輸的實時性和靈活性。文獻[6]分析了事件觸發(fā)和時間觸發(fā)的各自特點,提出了FTTCAN(Flexible Time-Triggered communication on Controller Area Network),即在時間觸發(fā)和事件觸發(fā)之間插入隔離時間來將兩者結合到一起,以獲得兩者的優(yōu)點。
現(xiàn)有TTCAN的改進方法依舊嚴格遵守調度矩陣中時間窗的周期性,而TTCAN中獨占窗是增加非周期信息延遲的主要因素。文中先從概率的角度分析了TTCAN非周期信息的概率延時,然后提出在TTCAN兩相鄰獨占窗之間插入非周期信息仲裁時隙來提高非周期信息實時性的改進方法,并給出實時性分析。
TTCAN的時間觸發(fā)機制是指將時間域分成大量的離散時間間隔(可稱為時間窗口),通過同步機制將消息的傳輸分配在一定的時間窗口內完成。時間觸發(fā)系統(tǒng)通常由信息窗口、基本周期以及矩陣周期3部分組成?;局芷谟砂l(fā)送周期消息的獨占窗、發(fā)送非周期消息的仲裁窗以及用于網絡擴展的自由窗三類固定的時間窗組成。矩陣周期由多個基本周期構成,網絡中的節(jié)點按照矩陣周期循環(huán)傳輸,在指定的窗口提出發(fā)送請求。圖1為系統(tǒng)調度矩陣示意圖,其中包括4個周期信息。
圖1 矩陣周期
由于TTCAN是在標準CAN協(xié)議基礎上建立的一個高層協(xié)議,CAN的數據鏈路層和物理層并沒有改變,因此,TTCAN的通信延遲時間可分成與CAN相同的4個部分,即生成延遲、隊列延時、傳輸延時和接收延時。其中,生成延時和接收延時可以忽略不計。所以,TTCAN信息的延遲時間(Rm)主要由隊列延遲(tm)和傳輸延遲(Cm)構成。
Rm=tm+Cm
(1)
隊列延時由仲裁延時和非仲裁延時2部分組成。仲裁延時是指兩信息同時發(fā)送時,高優(yōu)先級信息對低優(yōu)先級信息造成的延時。非仲裁延時是指總線被其他正在傳輸的信息占用而造成的延時。
由TTCAN的協(xié)議可知,當非周期信息在獨占窗時間段內產生時需要等到仲裁窗口才能申請發(fā)送,而在仲裁窗產生非周期信息時能立刻申請發(fā)送。因此,在分析TTCAN非周期信息延時時需要對獨占窗時間段和仲裁窗時間段分別探討。
對于節(jié)點i(i=0,1,2,…,Z),在獨占窗時間段內產生非周期信息m時的非仲裁延時由基本周期中未輪循到的獨占窗構成。某段時間內,從非周期信息產生,到該時間段結束的時間為Tab(x),其概率值計算為:
(2)
式中ρ(x)為非周期信息在一段時間Xab內產生的概率密度函數,滿足平均分布:
(3)
假設基本周期內獨占窗個數為L,一個獨占窗口時間為w0(w0=Cm),那么,非周期信息m的非仲裁延時為:
(4)
非周期信息m的仲裁延時tarb:
tarb=R(N,Ap)×Cm+D(N,Ap)×Tbc
(5)
式中:Ap為基本周期內能發(fā)送的非周期信息個數;R(N,Ap)為求N/Ap的余數;D(N,Ap)為求N/Ap的整數;N為信息m仲裁時,優(yōu)先級比m高的信息的集合,節(jié)點序號越小優(yōu)先級越高;Tbc為系統(tǒng)調度矩陣的基本周期時間。
由式(4)和式(5)可得到在獨占窗時間段內產生的非周期信息m的隊列延時tm1為:
tml=Tab(w0L)+R(N,Ap)×Cm+D(N,Ap)×Tbc
(6)
(7)
式中λ為系統(tǒng)在單位時間內非周期信息的到達率,即認為非周期信息的產生滿足泊松分布。
(8)
式中Ti為i節(jié)點非周期信息產生的最小時間間隔。
對于節(jié)點i(i=0,1,2,…,Z),在仲裁窗內產生非周期信息m′,總線被占用的概率為:
(9)
(10)
非周期信息m′產生時,基本周期內已經發(fā)送的非周期信息的最大個數Npd為:
Npd=t1/Cm
(11)
式中t1為m′在仲裁窗內產生時距仲裁窗開始時刻的概率時間,計算為:
(12)
(13)
由式(10)和式(13)可得到在仲裁窗時間段內產生的非周期信息m′的隊列延時tm2為:
(14)
(15)
式中Pos(x)為取正數函數,定義如下:
(16)
根據式(6)、式(7)和式(14)、式(15)可得到節(jié)點i(i=0,1,2,…,Z)非周期信息產生后概率隊列延時tm為:
tm=[w0L×tm1+(Tbc-w0L)×tm2]/Tbc
(17)
計算TTCAN最壞延時時,假設在周期開始時每個節(jié)點同時產生一個非周期信息,對于節(jié)點i(i=0,1,2,…,Z)的最壞隊列延遲計算如下。
tm=w0L+R(N,Ap)×Cm+D(N,Ap)×Tbc
(18)
(19)
式中:τbit為CAN總線傳輸一個數據位的時間;Ji為信息的抖動,一般取Ji=0.2 ms[7]。
高實時性系統(tǒng)中,非周期信息往往是系統(tǒng)運行時的重要信息,因此,非周期信息響應時間是評價系統(tǒng)實時性的一個重要指標。一個高實時性系統(tǒng)的總線資源是固定且寶貴的,TTCAN協(xié)議用獨占窗嚴格保證了周期信息的實時性,而這犧牲了非周期信息的部分實時性。文中提出的TTCAN信息發(fā)送時間窗改進是在滿足周期信息實時性要求的情況下,降低部分周期信息的實時性,以提高非周期信息的實時性。
TTCAN信息發(fā)送時間窗改進主要是在每個獨占窗信息發(fā)送完成之后,插入仲裁時隙tk供非周期信息仲裁。若有非周期信息,那么,通過仲裁可發(fā)送一個非周期信息,此時,仲裁時隙tk延長至Cm;若沒有非周期信息,那么,經過仲裁時隙tk后進入下一個獨占窗。為保證基本周期時間不變,改進后的仲裁窗時間將隨前面非周期信息發(fā)送的個數而改變,即每個基本周期內發(fā)送的非周期信息個數不變。圖2為改進后一個基本周期內時間片示意圖。
圖2 改進后基本周期
對于節(jié)點i(i=0,1,2,…,Z),在獨占窗時間段產生非周期信息m時的隊列延時進行分析。仲裁時隙tk被認為是剛好等于信息仲裁時間,當m在tk時間段產生時,不能立即進行發(fā)送仲裁,需要等到下一個tk,因此,在延時計算時將tk和獨占窗w0作為一個整體分析。
在獨占窗時間段插入非周期信息仲裁時隙tk后,基本周期內的獨占窗時間點、仲裁窗時間長度都會動態(tài)調整,使得無法用概率直接計算m在不同獨占窗列時的隊列延時。文中在計算中采用隨機函數random(0,L)取(0,L)內的正整數當作m產生的位置,算出在該位置的概率隊列延時,然后,取大量的計算樣本求平均值。
jra=random(0,L)
(20)
當m在第jra列產生時,若在前jra-1個tk有非周期信息發(fā)送,那么,實際到達jra列的時間Tpd(j)將會相應延長,其概率計算為:
(21)
參照第3節(jié)中的計算方法,m在第jra列的概率隊列延時計算為:
如果N≤Ap-Npd
(22)
如果N>Ap-Npd,則
(23)
(24)
(25)
設計算tm1的樣本容量為S,則:
(26)
對于節(jié)點i(i=0,1,2,…,Z),在仲裁窗口產生非周期信息m′時的概率隊列延時計算為:
(27)
(28)
(29)
(30)
根據式(20)~式(26)和式(27)~式(30)可得到改進后TTCAN節(jié)點i(i=0,1,2,…,Z)非周期信息產生后概率隊列延時tm為:
tm=[Tpd(L+1)×tm1+(Tbc-Tpd(L+1))×tm2]/Tbc
(31)
計算改進TTCAN最壞延時時,假設在周期開始時每個節(jié)點同時產生一個非周期信息,對于節(jié)點i(i=0,1,2,…,Z)的最壞隊列延時計算如下。
如果N≤Ap,則
(32)
如果N>Ap,則
(33)
(34)
改進后TTCAN總線在運行時相鄰獨占窗間插入了仲裁時隙或者非周期信息,因此,TTCAN原有的嚴格的獨占窗周期將被破壞,周期信息必然產生一定的時延。所以,有必要給出基本周期中獨占窗所在列j(j=1,2,3,…,L)時延的評估值,其概率延時計算如下:
tm=Tpd(j)-(j-1)×(Cm+tk)
(35)
計算時取系統(tǒng)節(jié)點數Z=55,每個節(jié)點具有1個周期信息,周期信息的周期為10 ms,20 ms,30 ms,40 ms,60 ms,傳輸波特率為1 Mbit/s.依據TTCAN靜態(tài)調度算法[2-3],取最小信息周期作為基本周期,即Tbc=10 ms.矩陣周期為周期信息的最小公倍數或者最小公倍數的整數倍,在此取矩陣周期為120 ms.采用11 位CAN 標準幀信息,數據長度為8 bit時,信息的傳輸時間Cm=0.125 ms.此時,仲裁時隙tk=11τbit,取tk=0.012 ms.基本周期內獨占窗個數取L=35,那么,基本周期內非周期信息最多能發(fā)送的個數Ap=45。
當非周期信息產生時間間隔取平均Ti=20 ms時,計算可得TTCAN和改進TTCAN的非周期信息概率延時如圖3所示。從圖3可知,TTCAN非周期信息的概率延時隨優(yōu)先級下降而增加,最小延時為1.090 6 ms,最大延時為3.114 ms.改進TTCAN各節(jié)點非周期信息延時相同,都為0.177 3 ms,此時非周期信息不因優(yōu)先級而受時延,且能實時、有效處理。改進TTCAN的這一特點是緣于獨占窗間插入的仲裁時隙提高了非周期信息的響應速度。
圖3 非周期信息概率延時Ti=20 ms
對式(21)進一步分析可知,當λ(w0+Cm)≥1,即平均Ti<13.75 ms時,獨占窗時間段的仲裁時隙不能全部處理非周期信息,部分非周期信息被推延至仲裁窗進行處理。圖4為平均Ti=13 ms時TTCAN和改進TTCAN的非周期信息概率延時。從圖4可知,TTCAN低優(yōu)先級非周期信息出現(xiàn)嚴重時延,而改進TTCAN最低優(yōu)先級非周期信息時延只有1.818 2 ms.
圖4 周期信息概率延時Ti=13 ms
當平均Ti=20 ms時,TTCAN和改進TTCAN的非周期信息最壞概率延時如圖5所示。圖中兩條曲線具有相同的變化趨勢,非周期信息延時都是隨著優(yōu)先級降低而增大。不同的是改進TTCAN的0號到34號節(jié)點、45號到55號節(jié)點非周期信息延時比TTCAN小,而35號到44號節(jié)點具有相同延時。出現(xiàn)這種現(xiàn)象的原因是改進TTCAN具有35個仲裁時隙,提高了非周期信息響應速度,而基本周期中仲裁時隙未處理完的非周期信息推延至仲裁窗處理,此時與TTCAN具有相同特性。
圖5 非周期信息最壞概率延時
圖6為改進TTCAN在平均Ti=20 ms時基本周期內獨占窗的概率延時,由圖6可知獨占窗延時與其所在列數值正相關,每個基本周期內,越靠前的獨占窗延時越小,最小延時為0 ms,最大延時為2.100 1 ms.因此,在實際應用時把實時性要求高的周期信息安放在靠前的獨占窗位置,而將靠后的獨占窗設置為自由窗。
圖6 獨占窗概率延時
文中首先分析了TTCAN非周期信息的概率延時,并給出了詳細的計算方法。針對TTCAN中獨占窗影響非周期信息實時性的問題,提出了在相鄰獨占窗間插入非周期信息仲裁時隙的改進方法,通過分析和仿真計算證明該方法在滿足周期信息實時性要求的情況下,能有效提高非周期信息的響應速度。
參考文獻:
[1] 李佳,朱元,田光宇.CAN與TTCAN通信延遲時間分析,清華大學學報(自然科學版)2006,46(2):261-265.
[2] 馮曉東,果艷紅.TTCAN協(xié)議靜態(tài)調度算法研究與仿真.計算機仿真,2008,25(6):108-112.
[3] 夏繼強,薛利強,滿慶豐.時間觸發(fā)CAN總線實時性分析及評估方法.北京航空航天大學學報,2012,38(2):222-227.
[4] 馮治寶,蕭偉,周美嬌,等.在實時通信中對TTCAN的改進.自動化
儀表,2009,30(2):21-23.
[5] 馮曉東,果艷紅.TTCAN動態(tài)調度算法實現(xiàn)與仿真.電子測量與儀器學報,2008,22(2):81-85.
[6] ALMEIDA L,PEDREIRAS P,F(xiàn)ONSECA J A G.The FTT-CAN protocol:why and how.IEEE Transactions on industrial electronics,2002,49(6):1189-1201.
[7] TINDELL K,BUMS A.Guaranteeing message latencies on controller area network (CAN).Proceedings of the First International CAN Conference.Mainz:CiA,1994:1.2-1.11