李 靜,王 健
基于FlexRay總線的分布式測控系統
李 靜,王 健
介紹了一種高可靠性分布式測控系統設計,采用FlexRay網絡作為現場測控網絡。該總線采用時間觸發方式,并具有數據傳輸速率高、可靠性高和實時性好等優點,它給工業領域監控系統中原有的RS485、CAN總線等通信方式帶來了更新換代的可能性。研究了FlexRay總線技術的硬件結構和通信協議,利用飛思卡爾單片機MC9S12XF512作為主芯片,實現了多節點間的通信,為FlexRay總線技術在分布式測控系統中的應用奠定了基礎。
MC9S12XF512;FlexRay總線協議;多點通信;現場總線;分布式測控系統
在現代分布式測控網絡中,多采用RS-485、CAN等作為現場總線,該類總線具有技術成熟、性能穩定等特點。但RS-485不適合在距離遠、惡劣工作環境中作為現場總線使用;而CAN總線雖然支持長距離通信,但采用事件觸發方式,基于優先級的數據傳輸順序,必然會出現某些數據傳輸時間的不確定性,且隨著電子設備的增多,使通信總線傳輸的數據量增加很大,1 Mb/s的最大傳輸速率在某些場合已略顯不足。
與這兩種總線相比,FlexRay可以進行同步(實時)和異步的數據傳輸,來滿足分布式測控系統中的需求。FlexRay不僅可以單信道數據傳輸,而且還可以作為一個雙信道系統運行,可以通過冗余網絡傳輸數據。該總線具有故障容限,可提供500kbps~10Mbps的數據傳輸速率和24位CRC(循環冗余)校驗碼。FlexRay 的訪問方法基于同步時基,該時基通過協議自動建立和同步。因此,用戶可提前知道消息到達時間,消息周期偏差非常小,這使得FlexRay成為具有嚴格實時要求的分布式控制系統的首選技術。大量研究表明,基于時間觸發的確定性網絡協議是滿足安全關鍵性實時控制的最佳選擇[2]。
FlexRay的協議通信是以 FlexRay網絡通信循環(Communication cycle)為基礎建立起來的。一個通信循環包括靜態段(Static segment)、動態段(Dynam ic segment)、符號窗(Symbol w indow)和網絡空閑時間(Network idle time)。FlexRay協議提供兩種通信機制:一種是靜態段的時分多址技術(TDMA),整個靜態段被分為若干個相等的靜態時間片,每個時間片有唯一的標識符,這些時間片固定分配給相應的節點,但是,每個節點最多分配16個時間片;一種是動態段的基于小時槽(m ini-slot)的更加靈活的時分多址技術(FTDMA),主要用于事件觸發消息的傳輸,每個節點可以占據全部的動態時槽,但時間和帶寬是受限的[1]。
作為一種新型時間觸發總線,已經在寶馬X5等轎車中成功應用,它具有高速率、時間確定性、最大20Mbit/s通信速率等特點。CAN總線作為一種成熟的技術,在車用總線、工業控制、機械制造等領域得到了廣泛的應用,與之相比,FlexRay誕生的時間比較短,且目前僅應用于汽車總線領域,但其卓越的性能,一定會在分布式測控系統中得到廣泛的應用。FlexRay和CAN性能比較如表1所示:

表1 FlexRay和CAN性能比較
此分布式測控系統采用上位機監控和下位機現場測控兩個部分組成,下位機現場測控實現FlexRay節點對現場各節點模擬量數據的采集并進行傳送,上位機監控實現對下位機各個節點所采集數據的監控。系統整體結構如圖1所示:

圖1 系統結構
3.1 硬件設計
3.1.1 總線收發器和微控制器的連接
本文采用飛思卡爾公司的MC9S12XF512單片機作為主芯片,該芯片基于高效的16位CISC架構的HCS12X內核,內核支持50Hz系統時鐘,片內資源豐富,包括A/D,D/A,SPI,接口,能滿足大部分測控系統接口需要,并集成了支持FlexRay協議規范的v2.1版本的通信控制器,支持單/雙通道通信,兩個通道獨立配置,每個通道最高速度為10Mbps,并內嵌CAN2.0 A/B的控制器局域網絡通信接口。總線收發器選用恩智浦的 TJA1080。它是第一款成功通過FlexRay物理層一致性測試并上市的 FlexRay收發器。TJA1080證明了FlexRay的強大性能與靈活便捷性,其良好的EMC性能及強大的錯誤診斷和保護機制,可使開發商更迅捷、簡便地開發可實現穩定通信的、完整的FlexRay網絡。TJA1080A總線收發器主要有狀態機、信號路由器、輸入/輸出管理模塊、收發模塊以及發送器組成。
TJA1080A和MC9S12XF512的連接如圖2所示:

圖2 TJA1080A和MC9S12XF512的連接
3.1.2 FlexRay網關及組網
FlexRay總線采用屏蔽雙絞線進行數據傳輸,這樣做可以盡可能的減少外界噪聲對總線信號的干擾。FlexRay總線拓撲結構采用總線型結構。在上位機監控中,本文采用連接CAN/FlexRay網關的方式進行監控,這樣不僅實現了兩者協議數據的轉換,而且可以使用同一種上位機進行兩種總線的監控。CAN/FlexRay網關作為CAN網絡和FlexRay網絡中間件,目的是將傳輸的信息重新封裝且滿足目標網絡協議的要求。因為二者均只支持OSI(Open System Interconnection)模型的第一、二層,CAN/FlexRay網關必須能接收發送兩個網絡上的數據,因此在傳輸層完成CAN網絡和FlexRay網絡的數據交換即可實現網關功能[4]。
3.2 軟件設計
3.2.1 節點初始化設計
FlexRay總線節點進行通信前,需要對FlexRay模塊進行初始化,由于FlexRay要求嚴格的時間同步,需要對相應寄存器配置完成初始化,并嚴格按照事先分配的時槽進行配置,才會使總線通信進入正常工作狀態。初始化成功后此FlexRay節點便可作為總線上的一個節點加入總線通信集群中。FlexRay節點初始化流程如圖3所示:

圖3 節點初始化流程
3.2.2 FlexRay總線通信設計
當FlexRay網絡正常啟動后,才可以進行FlexRay數據通信。FlexRay總線通信主要是基于時間觸發,在靜態段中,它是基于TDMA技術的時間觸發,通過事先安排好的時刻表進行通信。FlexRay消息發送的中斷產生過程:TDMA時分表中的每個時槽都會對應一個中斷,且這些中斷按時分表在時間軸上分布開來,只有在其對應的時槽時刻,才會由FlexRay模塊自動置位中斷,且每個時槽的發送中斷產生與標志置位都是在該時槽數據發送完畢之后,由FlexRay模塊自動產生相應的置位與中斷;當進入FlexRay對應時槽的中斷服務程序后,調用發送函數,鎖定發送時槽對應的發送緩存,對發送緩存賦值并置位發送,最后解鎖發送緩存,等待下一個周期該時槽的發送刻到來發送。具體的FlexRay總線數據發送中斷流程如圖4所示:

圖4 總線數據發送流程
3.2.3 上位機軟件設計
上位機采用C#編寫,主要用于在PC端進行總線數據監測。功能包括監視網絡節點在線狀態、接收下位機數據、發送指令、數據存儲等功能。并可設置總線上節點數量、采樣深度等參數,便于用戶調試。
本文以AD采集的數據為參數,觀察各個節點通道數據傳輸的準確性及上位機的可靠性。以節點3采集的4路通道為例,4個通道分別輸入0.9V,1.9V,1.25V,1V的電壓(3節點進行了Y軸的拉伸,便于比較)。驗證均正確,如圖5所示:

圖5 節點3各輸入通道數據
結果分析:根據四路通道采集的數據分析得出:FlexRay數據的采集與傳輸在可靠性上基本滿足分布式測控系統的基本要求,誤差可保持在0.15V以內。驗證了FlexRay總線應用在分布式測控系統中的可能性與可靠性,并為日后的應用打下了堅實的基礎。
本文對FlexRay總線在分布式測控系統的應用進行了研究,并設計了系統的軟硬件,進行了FlexRay協議的實現,該總線可進行節點數量上的擴展,并支持多種網絡拓撲結構。從FlexRay總線的通信容量、實時性、可靠性、組網靈活性等方面相比其他總線都極具優勢,在現場總線的應用中必將得到快速的發展和廣泛的應用。
[1] FlexRay Communication system.Protocol Specification v2.1.FlexRay Consortium. May,2005.
[2] Bannatyne R. Time Triggered Protocol-Fault Tolerant Serial Communications for Real-time Embedded Systems. Wescon/98 15-17Sept,1998:86-91.
[3] 董曉丹,車載網絡FlexRay在線控制動系統中的應用與研究[D].湖南大學碩士學位論文,2009.
[4] 宋琦,郭蕓,CAN/FlexRay網關的設計與實現[J].電子技術,2013(04):74-76.
[5] 王婧,張欣.汽車網絡通信協議TTP/C和FlexRay的研究分析[J]. 北京汽車, 2006(6):40-43.
[6] 李佳,田光宇,鈕翔,等.FlexRay網絡通信延遲時間分析[J].清華大學學報:自然科學版,2007,47(8):1343-1346.
[7] 王琴,陳欣,呂迅弦.基于 FlexRay總線的無人機飛行控制計算機[J].兵工自動化,2011(12):30-34.
Distributed M easurement and Control System Based on FlexRay Bus
Li Jing, Wang Jian
(College of Electronic Information, Xi’an Technological University, Xi’an710032,China)
A reliable distributed measurement and control system that adopted FlexRay Bus as field measurement and control net is proposed in this paper. FlexRay communication protocol is a time-triggered protocol, which is more real-time, dependable and has high data transfer rate. It makes it possible for the original communication in the industrial field control system bus (like RS485 and CAN) to renew. This paper discusses the FlexRay bus technology of hardware structure and communication protocols, using MC9S12XF512 Freescale MCU as the main chip, manages to achieve the communication between multi-nodes. It has laid foundation for FlexRay bus technology in the of the distributed measurement and control system application
MC9S12XF512; FlexRay Bus Protocol; Multipoint Communication; Field Bus; Distributed Measurement and Control System
TP336
A
2014.06.24)
李 靜(1972-),女,陜西省西安市人,西安工業大學教授,研究方向:多元信息融合、智能故障診斷,西安,710032
王 健(1990-),男,山西省運城市人,西安工業大學碩士,研究方向:通信與信息系統,西安,710032
1007-757X(2014)11-0038-03