楊華松 易 克
(1.煤炭科學(xué)研究總院沈陽研究院,遼寧 撫順 113122;2.浙江佳洲電器有限公司,浙江 溫州 325605)
CAN總線有著價格低廉、運行可靠等優(yōu)點,已經(jīng)逐漸應(yīng)用于礦車等實時通信系統(tǒng)[1]。礦車控制系統(tǒng)屬于分布式實時系統(tǒng),系統(tǒng)中包含周期的與隨機的實時信息,這些信息多數(shù)與安全關(guān)系緊密,有較高的實時性要求,因此需要在設(shè)計中進行合適的調(diào)度管理。對于實時性系統(tǒng),有時間觸發(fā)和事件觸發(fā)[2],兩種觸發(fā)機制,時間觸發(fā)機制可以保證系統(tǒng)信息的通信抖動可控,而事件觸發(fā)機制一般用來滿足系統(tǒng)的靈活性需求。
CAN協(xié)議總線本身采用事件觸發(fā)機制,柔性時間觸發(fā)CAN(FTT-CAN)將時間觸發(fā)機制引入CAN總線[3],在提供時間觸發(fā)機制的同時具有很好的靈活性,本文基于 FTT-CAN提出了一種混和調(diào)度算法,以獲得較高的網(wǎng)絡(luò)利用率。
FTT-CAN在CAN協(xié)議的基礎(chǔ)上,采用同步相和異步相雙相結(jié)構(gòu),同時支持時間、事件觸發(fā)機制。FTT-CAN協(xié)議將總線時間細分成等長的連續(xù)時間單元,即基本周期 EC(Elementary Cycles),每個EC開始時,由主節(jié)點發(fā)送一個 EC觸發(fā)消息 TM(Trigger Message)給所有從節(jié)點。基本周期由主節(jié)點發(fā)送觸發(fā)信息TM啟動,到下一次觸發(fā)信息出現(xiàn)截止。FTT-CAN的異步相用于傳輸事件觸發(fā)信息,即隨機信息,同步相則用于傳輸時間觸發(fā)的周期性信息,其發(fā)送過程與各個 EC同步。FTT-CAN基本周期結(jié)構(gòu)如圖1所示,圖中AM和SM分別表示隨機性信息和周期性信息。兩相之間保留空閑時間段α,使得不同觸發(fā)屬性的信息能夠嚴格在各自相內(nèi)進行傳輸。
FTT-CAN對時間觸發(fā)信息的調(diào)度集中在主節(jié)點內(nèi),在主節(jié)點內(nèi)保存了一個信息調(diào)度表SchT,用于實現(xiàn)對周期性信息的集中式在線調(diào)度。圖2給出了觸發(fā)消息對周期信息的控制方式,由圖可以看到,通過觸發(fā)消息字段,就可以控制周期性信息的發(fā)送與否。觸發(fā)信息數(shù)據(jù)段中的每一位都對應(yīng)于一個周期信息,將該數(shù)據(jù)位置位,則對應(yīng)的信息可在由該觸發(fā)信息開始的 EC內(nèi)獲準發(fā)送,否則該信息不能在該 EC內(nèi)發(fā)送。通過對主節(jié)點內(nèi)信息調(diào)度表的在線規(guī)劃,動態(tài)地改變每個特定 EC內(nèi)的觸發(fā)信息,就可以實現(xiàn)周期性信息的調(diào)度管理。
圖2 FTT-CAN調(diào)度原理圖
CAN在應(yīng)用中,存在低優(yōu)先級信息死鎖等情況[4],為了保證網(wǎng)絡(luò)性能通常使用的網(wǎng)絡(luò)利用率較低[5],本文針對上述情況,基于FTT-CAN提出了混合調(diào)度策略,將EDF算法引入FTT-CAN同步相調(diào)度中調(diào)度周期信息,EDF使時間最緊迫的信息獲得總線資源,可獲得較高的網(wǎng)絡(luò)利用率;采用 DPP[4]算法調(diào)度異步相的隨機信息,DPP算法可以為隨機信息提供公平的帶寬,有確定的傳輸時間界限,能夠有效的防止低優(yōu)先級信息的死鎖[4]。
FTT-CAN的周期性信息的調(diào)度集中在主節(jié)點內(nèi),這為EDF算法的實施提供了條件,記周期性信息個數(shù)為NS,F(xiàn)TT-CAN下的EDF調(diào)度流程如圖3所示。
對于DPP調(diào)度,將信息m的優(yōu)先級分為兩部分:動態(tài)優(yōu)先級Pm-d和靜態(tài)優(yōu)先級Pm-DM,記s為優(yōu)先級提升的步長,DPP算法的流程如圖4所示。
圖3 EDF調(diào)度原理圖
圖4 DPP調(diào)度原理圖
采用文獻[6]中的礦車信息模型為研究對象,模型中共有 44個信息,其中 31個隨機信息記為A1~A31,優(yōu)先級遞增,11個周期信息記為S1~S11。記隨機信息集為 A,周期信息集為 S,將在特定的基本周期 EC(n)傳輸?shù)闹芷谛畔⒓洖?S(n),將基本周期取為周期信息的最大公約數(shù) 5ms,取網(wǎng)絡(luò)傳輸速率為250Kbit/s。
分別采用文獻[6]中的基于CAN的DM算法和本文基于FTT-CAN的混合調(diào)度策略調(diào)度這些信息,分析對系統(tǒng)性能的影響。
1)信息最壞響應(yīng)時間分析
最壞響應(yīng)時間 TRi表征信息從產(chǎn)生到抵達目的節(jié)點所用的最長時間,由3部分組成:
式中,Tbit為位傳輸時間,TBi為信息被正在傳輸?shù)牡蛢?yōu)先級信息所阻礙的時間,TWi為等待高優(yōu)先級信息傳輸?shù)臅r間,TCi為信息i的傳輸時間。
對于基于CAN的DM算法,TBi和TWi分別為
式中,hp(i)為比信息 i優(yōu)先級高的信息集合,lp(i)為比信息i優(yōu)先級低的信息集合。
對于FTT-CAN,應(yīng)用EDF算法時,由于信息i不被低優(yōu)先級信息阻礙,其TBi=0,TWi為
采用DM和EDF時,周期信息的最壞響應(yīng)時間如圖5所示。
圖5 周期信息最壞響應(yīng)時間
由圖5可見,采用基于FTT-CAN的EDF調(diào)度時,低優(yōu)先級信息的最壞響應(yīng)時間明顯減少,信息的實時性得到明顯改善。
2)系統(tǒng)可調(diào)度性分析
為了評價系統(tǒng)的可調(diào)度性能,引入評價因子β,
式中,tDi為信息的截止期,tD′i為信息i仍可調(diào)度時所能承受的最小時間限制。
取隨機信息模型運行工況為:A 12—A 31在t=0時刻產(chǎn)生,A1—A11在A20完成傳輸時產(chǎn)生,可得采用不同的策略時系統(tǒng)的可調(diào)度性見表1。
表1 不同調(diào)度策略時的系統(tǒng)性能
由表1可見,采用了FTT-CAN的控制系統(tǒng)的冗余度有明顯提高,在保證信息可調(diào)度的同時,能有效保證控制系統(tǒng)的確定性。
本文基于FTT-CAN提出了混合調(diào)度策略,提高了CAN總線應(yīng)用中的系統(tǒng)帶寬利用率,解決了信息的死鎖問題。
[1] MOHAMMAD A L, JORG K, WEIJIA J. Scheduling hard and soft real-time communication in a controller area network[J]. Control Engineering Practice, 7:1515-1523, 1999.
[2] KOPETZ H. A comparison of CAN and TTP[J].Annual Reviews in Control, 2000, 24: 177-188.
[3] LUIS A, PAULO P, JOSE A G. The FTT-CAN protocol:Why and How[C]. IEEE Transactions on industrial electronics, 2002, 49: 1189-1201.
[4] CENA G, VALENZANO A. An improved CAN fi eldbus for industrial applications[J]. IEEE Transactions on Industrial Electronics, 1997(44): 553-564.
[5] LEEN G, HEFFERNAN D. TTCAN: a new timetriggered controller area network. Microprocessors and Microsystems, 2002, 26: 77-94.
[6] TINDELL K, BURNS A, WELLINGS A J. Calculating controller area network (CAN) message response times[J]. Control Eng. Practice, 1995, 3: 1163-1169.