管長焦
(煤炭科學研究總院沈陽研究院,遼寧 撫順 113122)
CAN(Controller Area Network)總線因其低成本、抗干擾等優點已廣泛應用于工業自動化領域,CAN在處理周期性信號和隨機性信號共存的通信方面,存在不確定性缺陷,且低優先級信息網絡競爭能力差、響應時間延遲過長,易產生信息死鎖現象[1]。針對這些問題,在嵌入式實時系統通信研究中,能同時處理時間觸發和事件觸發的協議,成為汽車控制系統網絡技術發展的必然,TTCAN協議[2]為CAN增加了一個基于TDMA機制的會話層,為時間觸發信息提供了基于系統矩陣的發送管理功能;TTCAN實現了兩種不同觸發機制驅動信息的同網共存通信,但在線運行時,其靜態表不允許實時更新,限制了新信息的加入與根據應用需求進行信息調度功能,配置靈活性較差[3]。FTTCAN[3]采用雙相結構,同時支持事件觸發與時間觸發機制,其時間觸發調度集中在主節點,允許在線變換調度策略及新信息在網絡運行時加入網絡,同時采用CAN本身的仲裁機制來傳遞隨機性信息。有效克服了TTCAN協議靜態調度的缺點,可提供更完善的車載信息通訊功能。
FTTCAN異步相內隨機性信息仍采用CAN協議的無破壞性仲裁機制進行調度傳輸同樣不具有確定的傳輸時刻和周期,不能對其進行靜態規劃,為避免信息死鎖,這里采用動態優先級提升算法實現對隨機性信號的調度。
FTTCAN采用雙相基本周期結構對如圖1所示的基本周期(EC)進行動態規劃調度?;局芷谟蓵r間意義上的主節點發送觸發信息TM啟動,到下一次觸發信息出現截止?;局芷趦瘸擞|發信息外的時間段被劃分為異步相和同步相,圖中AMi和SMi分別表示隨機性信息和周期性信息。兩相之間保留空閑時間段α,使得各類信息能夠在嚴格各自相內進行傳輸。

圖1 FTTCAN基本周期結構
FTTCAN對時間觸發信息的動態規劃集中在主節點內,這樣主節點可以根據需求變換調度策略而不會影響到其他節點。基本周期內所發送周期信息的具體實現由主節點發送的觸發信息數據域內的數據編碼完成[3],如圖2所示。系統中除主節點外各節點僅保留與自身有關的生產/消費(P/C)表,各個節點同步接收到觸發信息后讀取其數據域內的數據進行解碼并查詢當地P/C表,若查到本基本周期內有本節點所需發送的信息,則等待同步相到來后立即申請信息發送,與此同時,在異步相內可以基于事件觸發進行隨機性信息通信。FTTCAN充分利用了傳統CAN的仲裁機制,同步相和異步相內各信息之間競爭總線發生沖突時仍采用CAN本身的非破壞性仲裁機制解決。

圖2 觸發信息數據域編碼原理
FTTCAN中負責調度同步相傳輸的觸發信息數據域內容,由主節點的同步需求表(SRT)管理,同步需求表屬性[3]如下:

式中,di為信息的數據長度,TC,i為最大傳輸時間,Phi為相對相位,Ti為發送周期,TD,i為截止期限,Pi為優先級。
FTTCAN采用與CAN相同的幀格式,有兩種分別為含有11位標識符的標準幀和含有29位標識符的擴展幀,本文采用標準幀格式。
PP算法的思想在于為每個非周期性信號引入延時優先級概念,各個隨機信號的優先級由延時優先級和截止優先級共同決定[4]。截止期單調(DM)優先級與該信號截止期成正比,通過靜態分配;等待優先級隨著信號仲裁失敗次數的增加而動態提升,定義提升步長為等待優先級的增量。
記信息m的優先級為PmR,各個信號的優先級由等待優先級Pm-W和截止期單調(DM)優先級Pm-DM共同決定,如圖3所示,記步長為S。PP調度的核心是動態更新等待優先級,算法細節參見文獻[4],算法流程如右圖4所示。

圖3 PP調度中優先級規劃

圖4 PP調度算法流程
FTTCAN在兩相內仍采用CAN自身的MAC仲裁機制,系統信息的通信實時性可沿用CAN的分析方法進行分析。
對于信息i的最壞響應時間TRi計算公式[5]為

其中,TBi為信息i被阻塞時間,TWi為等待較高優先級信息傳輸的時間,di為信息的數據長度,TCi為信息傳輸時間。
(1)同步相內周期性信息實時性分析
記周期性信息總集合為S,第n個基本周期內被規劃周期性信號的子集合S( n)?S,則對于周期性信息i各時間參數的計算公式為[6-8]:

其中,di為信息的數據長度,τbit為總線傳輸一位數據占用時間。
(2)異步相內隨機性信息的實時性分析
異步相內隨機性信息的行為無法事先規劃,在分析時需要考慮最壞情況[8],設隨機性信息集合為A,對于隨機性信息i,其時間參數計算如下[6-8]:

其中,Tα為FTTCAN兩相之間最大時間間隔,TS同步相長度,TTM為觸發信息長度。
引入SAE(Society of Automotive Engineers)電動汽車CAN信息基準[5],主要包括七個子系統:電池(Battery)、整車控制(V/C)、變頻電機(I/M C)、駕駛員輸入(Driver)、剎車(Brakes)和傳輸控制(Trans)。經同源周期信息數據合并[7]后系統內共有11個周期信息(S1-S11)和31個隨機信息(A1-A31),其中,周期信息截止期為其周期,如表1所示。隨機信息產生的最小時間間隔為50ms,信息帶1字節數據,截止期為20ms。取總線傳輸速率為250 Kbit/s。
傳統電動汽車總線設計通常采用DM(截止期單調)算法[5],截止期越小的任務將獲得越高的優先級,周期信息優先級規劃結果如表1所示。

表1 電動汽車總線周期消息
將FTTCAN同步相長度規劃為可以傳輸6個周期信息,則被分配在某一基本周期內傳輸的周期信息最多只能被5個信息所阻礙,基于CAN與FTTCAN總線下的周期信息最壞響應時間如圖5所示。

圖5 周期信息基于CAN與FTTCAN的調度結果
由圖5可知,FTTCAN中周期信息實時性明顯增強,系統確定性增加。引入的優先級動態提升PP算法可以保證隨機信息經過有限的仲裁可以獲得總線使用權,提高了系統的確定性和實時性。
本文提出將優先級動態提升算法引入柔性時間觸發控制器局域網,FTTCAN兼顧系統靈活性與確定性,對電動汽車信息調度結果表明:FTTCAN有效的提高了周期信息實時性,所引入的動態提升算法可以有效的解決低優先級信息的死鎖問題。
[1] 劉魯源, 李芳, 呂偉杰. TTCAN協議的分析與展望[J]. 天津理工大學學報, 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調度算法研究及其性能分析[J].中國工程科學, 2006,8(5): 45-48.
[8] 曹萬科, 張天俠, 聞邦椿等. 柔性時間觸發控制器局域網絡(CAN)控制系統動態規劃應用與性能分析[J]. 機械工程學報, 2008, 44(5):142-146