王瑞峰,劉 濤,孫 平,郝鐵軍
(1.蘭州交通大學自動化與電氣工程學院,蘭州730070;
2.沈陽鐵路局遼西工程建設指揮部,遼寧錦州121000;3.沈陽鐵路局長春電務段,長春130000)
區域計算機聯鎖CAN實時性改進及仿真分析
王瑞峰1,劉 濤1,孫 平2,郝鐵軍3
(1.蘭州交通大學自動化與電氣工程學院,蘭州730070;
2.沈陽鐵路局遼西工程建設指揮部,遼寧錦州121000;3.沈陽鐵路局長春電務段,長春130000)
區域計算機聯鎖系統采用調度監督加集中聯鎖的方式實現,其安全通信網通過物理介質的延伸進行區域性控制,隨著大量相鄰站點并入系統,對安全協議的實時性要求也逐漸增高。為此,針對該系統使用的控制局域網絡(CAN)總線協議,對站間安全通信網CAN總線的傳輸時延進行分析,采用動態優先級算法對實時性進行改進。仿真結果表明,通過改變負載,相比于標準CAN,改進的CAN總線協議降低了節點的最大時延,能夠保證不同類型節點的實時性,可滿足區域計算機聯鎖系統對網絡通信的要求。
區域計算機聯鎖;安全通信網;控制局域網絡(CAN)總線;實時性;動態優先級算法;時延
隨著現代網絡通信技術、遠程控制技術、計算機冗余技術、安全信息傳輸技術和故障-安全技術的發展,區域計算機聯鎖系統以其網絡化、智能化、集成化等特點,已成為車站聯鎖系統的主要發展方向[1]。而其安全通信網絡是區域計算機聯鎖系統能夠正常運行的核心。控制局域網絡(Controller Area Network,CAN)總線以其具有多主方式通信、固定優先級仲裁機制、報文濾波、短幀傳送等特點大量應用
于鐵路系統通信網絡中,保證了數據通信的實時性、可靠性和靈活性[2-5]。隨著大量鄰近車站并入區域計算機聯鎖系統,站間安全通信網絡通過物理介質進行擴展,網絡負載增多,對安全協議的實時性要求逐漸增高,因此,對CAN總線進行實時性改進顯得越來越重要。
國內外已有大量文獻針對CAN總線實時性的改進進行了相關研究。文獻[6]提出基于事件觸發的TTCAN協議,提高了系統的實時性,但在靈活性方面有些欠缺。文獻[7]證實了使用FIFO序列可以提高CAN網絡的實時性率。文獻[8]提出一種基于事件通道的CAN總線實時調度算法,利用后端通道配置數據庫實時修改CAN總線通道組合方式以提高消息傳輸的實時性。文獻[9]提出分類動態優先級方法,在保證不同類別數據實時傳輸的同時,保證同一類別數據傳輸的公平性,提高網絡的利用率。以上文獻提出的改進方式都局限在處理周期性消息上,不能合理處理非周期性消息的傳輸,而區域計算機聯鎖安全通信網絡傳輸中存在大量的故障信號、報警信號等突發性較強的突發性信息,即非周期性消息。
本文提出一種動態優先級算法,在基本CAN2.0B擴展格式的基礎上重新設計數據幀格式,通過仿真分析,驗證對其實時性的改進。
如圖1所示,區域計算機聯鎖系統網絡結構包括4級,從下到上依次為聯鎖總線通信網、聯鎖系統局域網、區域中心綜合數據局域網、數據通信廣域網。

圖1 區域計算機聯鎖系統網絡結構
區域計算機聯鎖系統站間安全通信網消息的傳輸時間由排隊時延和傳輸時延構成,指的是站點應用層產生一個消息傳輸請求遞交給數據鏈路層的時刻開始,直至該消息的最后一位被成功傳輸至目的節點的時刻之間的時長[10]。其傳輸時延由消息幀長度和總線位速率確定;而排隊時延受總線仲裁機制影響,與消息優先級有關,為不確定值[11]。區域計算機聯鎖系統站間安全通信網消息的傳輸時序如圖2所示。

圖2 消息傳輸時序圖
當節點1和節點2同時發送信息(節點1發送信息時,另一個節點2在t時刻發送信息,t時刻發生在節點1仲裁場結束之前)時,優先級高的節點在出現碰撞時不受影響繼續傳輸數據,而優先級低的節點主動退出,從而節省了總線沖突仲裁時間,保證了數據的實時性。CAN總線這種確定性的靜態優先級機制的缺點就是不能均等的為高優先級的節點和低優先級的節點分配帶寬[12]。當區域計算機聯鎖系統安全通信網通過物理傳輸介質進行延伸擴展時,其控制節點增多,網絡負載增大,低優先級節點會在多次競爭總線使用權時失敗,從而導致低優先級節點消息傳輸產生不確定的延時,甚至無法發送。此延時即排隊時延,可見數據傳輸時間延長,數據的實時性無法保證。下面將具分析動態優先級算法對實時性的改進。
4.1 改進協議幀格式
CAN2.0B數據幀有2種格式,一種是標準格
式,一種是擴展格式,這2種幀格式的主要區別在于標識符的長度,標準格式數據幀具有11位標識符,擴展格式數據幀具有29位標識符,數據幀格式如圖3所示。

圖3 CAN2.0B數據幀格式
為避免帶寬分配不均,動態優先級算法將CAN2.0B擴展幀的ID字段(標識符)重新定義為優先級子域和內容標識符子域2個部分。優先級分為2級,第1級按消息類型劃分優先級,2位,用于區分幀類型:取值為00時,優先級最高,表示事件型消息幀(如報警信號或者故障信號);取值為11時,優先級最低,表示時間型消息幀(如周期性狀態檢測信號);另2種取值保留。第2級對于同一類型消息基于動態優先級分配機制分配內部優先級,9位,原始數值代表初始優先級,發送失敗再按照動態優先級公式晉升優先級,數值越小優先級越高。協議還應該包含源地址(如中心站聯鎖主機的地址)和目的地址(如從控站驅采機的地址),區域計算機聯鎖系統中的數據通信是多端的數據通信,在使用接收到的信息之前,需要用合適的方法檢查信息的來源。為實現這一功能,將源標識和目的標識加入到消息中,用戶不需要進行任何額外的對話就可以完成信息來源的驗證。安全協議中采用檢錯能力較強的32位CRC循環編碼,目的是檢測出信息中的錯誤,以此保證信息的完整性[13]。為減少信息干擾,采用將長信息幀切割為短的信息幀,利用標識符的低3位作為同一報文的不同報文段順序編號,可以在接收緩沖區內實現拼接和拆卸[14]。綜上所述,改進的協議幀格式如圖4所示。

圖4 改進協議幀格式
4.2 動態優先級算法原理
動態優先級算法是基于全局的分布式先進先出隊列,是一種隨著時間間隔的動態更新節點在優先權隊列中位置的算法,使總線中發送的消息形成一個與等待時間及本身優先級等參數相關的分布式動態優先權隊列[15]。與原有的靜態分配優先級算法相比,該算法可使每個站點均等地競爭總線的使用權,即能夠均等地分配帶寬,從而保證消息的實時傳輸。
國內的相關研究主要集中在商務合同的文體特征和翻譯上。鄭紅蓮認為商務合同英語具有頻繁使用外來詞、專業術語和語言修飾詞的特征。凌縣華對古代商務合同古體詞的應用進行了專門研究。余莉對于“詞匯重復”進行了詳細的分析,指出詞匯重復可以確保商務合同語言的準確性。在句法和文本層面,趙翠平認為商務合同具有標準化格式,其結構準確性表現在長句、時態、語態和情態動詞方面。從中英文語言差異出發,周燕和廖瑛(2004:29-32)闡述了商務合同翻譯的策略和技巧。黃芬致力于尋找國際商務合同翻譯策略。張莉在功能翻譯理論的指導下,提出了一些商務合同的翻譯策略和技巧。
表1中改進協議幀格式的標識符中內部優先級分配了9位,網絡中形成一個優先權隊列,總線上的每個節點存儲了本節點在隊列中的位置,此位置隨消息幀在隊列中的等待時間t動態變化,某一個節點i在隊列中的位置為:

其中,PRi為節點i某時刻在隊列中的位置,即節點在此時刻的優先級;PR0為節點i的初始位置,即初始優先級,當原始優先級最低時,PR0=29-1= 511;fi(t)為優先級晉升項,在本文中取為正比例函數,即fi(t)=kn:n為信息幀發送以來在排隊過程中發生沖突丟失仲裁的次數,fi(t)表示內部優先權隨該次數動態重置的幅度,n越大優先級晉升的次數越多;k為系數項,決定優先級晉升速度的快慢[16],k越大優先級晉升速度越快,本文取為CAN總線系統中節點的個數,由此可得:PRi=29-1-kn=511-kn,節點信息若發送成功后恢復原始優先級,若發送失敗則按式(1)晉升優先級。采用該算法還可以避免優先級晉升過程中出現不同節點擁有相同優先級的情況,即CAN總線優先級死鎖的情況,例如,在某個網絡中節點個數為10,即k= 10,節點1在競爭失敗了1次后,優先級晉升為PR1=511-10×1=501,競爭失敗了2次后,優先級晉升為PR1=511-10×2=491,以此類推,各節點初始及晉升之后優先級如表1所示,其中,n表示競爭失敗次數。

表1 節點動態優先級晉升情況
可見,這種方法有效避免了優先權死鎖的發生。如果所發送消息的內部優先級相同,則仍然按照逐
位仲裁規則進一步根據內容標識符子域進行比較,如果消息沒有獲得總線訪問權,則按照動態優先級算法重置該消息的內部優先級,如果消息獲得總線訪問權成功發送出去,則將該消息的內部優先級重置為PRi=29-1=511,即設置為最低內部優先級。消息發送成功結束。
研究基于動態優先級算法改進CAN協議的效果,可以通過搭建仿真平臺和建立分析模型2種方案,但是鑒于建立分析模型較繁瑣,本文采用搭建仿真平臺的方案進行分析研究。仿真中不考慮發送出現錯誤的信息,因為協議的安全性不是本文討論的重點,即仿真假設消息一旦發送,不會出現任何錯誤。
5.1 實驗平臺的搭建
為了驗證改進后的CAN網絡在區域計算機聯鎖系統中的延時特性,本文設計了如圖5所示的實驗平臺,分析網絡的實時性。仿真系統設計10個節點,采用環形拓撲結構,每個節點由AT89S52單片機、SJA1000、6N137和TJA1050組成。

圖5 實驗平臺結構
5.2 仿真軟件設計
基于動態優先級算法的改進CAN協議主要針對類型優先級相同的消息,因為類型優先級不同的消息其實時性要求必然不同,如故障信息的優先級肯定高于周期性檢測信息,因此也沒必要動態分配其優先級。同一類信息的初始優先級各不相同,不發生沖突時,各節點按初始優先級發送數據。當節點在發送過程中檢測到沖突,則按照動態優先級仲裁規則判定當前節點的優先級,高優先級節點信息發送成功,優先級設定為最大值,低優先級節點仲裁失敗,沖突次數加1,節點優先級晉升,等待總線空閑后重新發送。最后需要注意的是,低優先級節點優先級晉升發送成功后,其優先級必須降低為初始優先級,以保證網絡的正常運行。算法程序流程如圖6所示。

圖6 算法程序流程
5.3 仿真結果分析
在仿真實驗中,CAN總線模型采用10個節點互連的環型拓撲結構,其中節點1~節點3發送硬實時性信息,節點4~節點7發送軟實時性信息,節點8~節點10為非實時性信息。總線采用500 Kb/s的數據傳輸速率,數據幀長度為100 bit,數據發送時間間隔服從均值為λ的泊松分布,本文取站點i在60 ms內的最大消息傳輸時延為性能分析指標。通過向每個節點發送消息,在改變網絡負載率的情況下,分別在標準CAN和動態優先級算法改進CAN下進行實驗,不同負載下消息最大時延仿真結果如圖7所示。

圖7 不同負載下消息最大時延
從圖7可以看出,當負載在10%~80%之間時,標準CAN總線和改進CAN總線的最大時延相差不大,而當負載大于80%時,改進CAN總線節點最大時延大大小于標準CAN總線節點最大時延。當負載過大時,標準CAN總線甚至不能傳輸消息。可見,改進CAN協議通過改善仲裁方法,使得優先級不同的節點排隊時延基本相等,總線帶寬均勻分配,
改善了消息傳輸的實時性。
不同類型的節點在過載情況下,標準CAN和改進CAN的平均時延如表2所示。當負載為120%時,標準CAN總線節點9的平均時延激增,節點10信息發送失敗,不同類型節點的平均時延相差較大,改進CAN總線不同類型節點的平均時延相差較小。

表2 過載下標準CAN和改進CAN的平均時延ms
綜上所述,相比于標準CAN總線協議,改進的CAN總線協議不僅降低了節點的最大時延,而且保證了硬實時性信息和軟實時性信息的平均時延相差不大,即不同類型節點的實時性得到了保證。由此可說明基于動態優先級算法的的CAN總線協議消息傳輸能力更優。
基于區域計算機聯鎖系統,本文對站間安全通信網絡的安全協議的仲裁方法進行改進,并在CAN2.0B擴展格式的基礎上設計其幀格式。分析影響CAN總線通信系統實時性的主要因素是與仲裁方法有關的排隊延時以及負載率。采用動態優先級算法改進了該總線通信系統的排隊延時,仿真結果表明,負載在80%以下時,標準CAN總線和改進的CAN總線的節點最大時延相差不大;當負載大于80%時,改進CAN總線節點的最大時延大大小于標準CAN總線節點最大傳輸時延;當負載達120%時,標準CAN總線甚至不能傳輸消息,實際測得改進CAN總線的最大時延時間是3.492 ms,該時間延遲遠小于計算機聯鎖中最低250 ms的數據發送周期[17],能夠滿足系統的實時性要求。因此,動態優先級算法可以改進區域計算機聯鎖系統安全通信網的實時性,同時,在實際應用中,還可以通過采用塊幀、提高總線位速率等方法,對傳輸時延進行改進,進一步減小總線延遲時間。
[1]張 萍,趙 陽,何梅芳.鐵路區域性計算機聯鎖控制系統的研制[J].儀器儀表學報,2003,24(4):356-359.
[2]鄭淑清,曾令國.CAN總線在全電子化計算機聯鎖系統中的應用[J].儀器儀表學報,2005,26(8):500-504.
[3]宋若剛,陳永生,郭玉臣.基于現場總線技術的城軌交通列車運行監控系統[J].鐵道學報,2002,24(1): 10-13.
[4]樊貴新,王新海.基于CAN總線的微機直通式電空制動監測系統[J].中國鐵道科學,2003,24(3):74-78.
[5]張炳力,朱 可,趙 韓,等.基于CAN總線的燃料電池客車通信網絡設計[J].儀器儀表學報,2006, 27(6):655-658.
[6]Leen G,Heffernan D,TTCAN:A New Time-triggered Controller AreaNetwork[J].Microprocessorsand Microsystems,2002,26(2):77-94.
[7]郝 勃,劉衍珩,曲良東,等.CAN網絡的分組合并策略研究及實現[J].儀器儀表學報2012,33(9): 2137-2143.
[8]車進輝,薛曼玲,姜 豐.CAN總線實時調度算法的應用[J].計算機工程,2008,32(24):242-244.
[9]錢 美,韓江桂,吳正國,等.電力系統過程網絡CAN總線實時性仿真與分析[J].電力自動化設備,2011, 31(11):103-107.
[10]吳 晨,許化龍,許哲等.基于動態優先權思想的改進CAN總線協議及其性能分析[J].微計算機信息, 2009,15(11):19-21.
[11]孫 偉,張和生,潘 成,等.改進的非搶優M/G/ 1CAN總線實時性分析[J].鐵道學報,2013,35(12): 57-63.
[12]劉向明,方建安.CAN總線網絡的實時性研究和改進[J].現代電子技術,2011,34(22):46-49.
[13]楊 明,邱昕夕,陳祥獻,等.CBTC中安全通信協議的設計與仿真研究[J].計算機工程,2012,38(19): 241-246.
[14]李延寧,徐宏偉,吳 超,等.彈上CAN總線網絡設計仿真與實時性分析[J].彈箭與制導學報,2013,(4): 49-52.
[15]郝 佳,吳杰長,郭朝有,等.基于分布式動態優先權隊列的CAN總線實時性仿真研究[J].電子測量與儀器學報,2011,25(7):591-596.
[16]孫 鵬,沈顯慶,周 杰,等.CAN總線協議的改進及性能驗證[J].現代科學儀器,2010,(5):34-37.
[17]許 麗,蘇思琦,曠文珍.全電子計算機聯鎖系統的通信協議設計及安全性分析[J].中國鐵道科學,2012, 33(6):83-87.
編輯 顧逸斐
Improvement and Simulation Analysis of CAN Real-time Performance for Regional Computer Interlocking
WANG Ruifeng1,LIU Tao1,SUN Ping2,HAO Tiejun3
(1.School of Automation and Electrical Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China;
2.Liaoxi Project Construction Headquarter,Shenyang Railway Bureau,Jinzhou 121000,China;
3.Changchun Services Section,Shenyang Railway Bureau,Changchun 130000,China)
Regional computer interlocking system is implemented with the method of dispatching supervision and centralized interlocking.The extension of physical media is used for regional control of its security communication network.The real-time requirement of security protocol is gradually increasing with the large number of adjacent sites incorporated into the system.This paper analyzes the transmission delay of Controller Area Network(CAN)bus(used for existing regional computer interlocking system communication network)between stations,and proposes a dynamic priority algorithm to improve the real-time performance.The simulation result shows that the improved CAN bus protocol can reduce the maximum delay between nodes by changing the load.In addition,it can ensure the real-time performance of different types of nodes,and can meet the requirement of regional computer interlocking system for network communication.
regional computer interlocking;security communication network;Controller Area Network(CAN)bus; real-time;dynamic priority algorithm;delay
王瑞峰,劉 濤,孫 平,等.區域計算機聯鎖CAN實時性改進及仿真分析[J].計算機工程,2015, 41(3):298-302.
英文引用格式:Wang Ruifeng,Liu Tao,Sun Ping,et al.Improvement and Simulation Analysis of CAN Real-time Performance for Regional Computer Interlocking[J].Computer Engineering,2015,41(3):298-302.
1000-3428(2015)03-0298-05
:A
:TP393.04
10.3969/j.issn.1000-3428.2015.03.056
甘肅省自然科學基金資助項目(1310RJZA046)。
王瑞峰(1966-),女,教授,主研方向:計算機測控技術,儀器儀表技術;劉 濤,碩士;孫 平、郝鐵軍,工程師。
2014-03-20
:2014-05-20E-mail:522481099@qq.com