李 帆 吳毅杰 張蓓蕾
(上海航天電子技術研究所,上海 201109)
FlexRay總線技術在航天領域的應用
李 帆 吳毅杰 張蓓蕾
(上海航天電子技術研究所,上海 201109)
針對航天領域的CAN總線技術,本文提出一種新的FlexRay總線通信方式,并介紹了一種基于FPGA+ FlexRay架構的處理模式,同時描述了FlexRay總線的特點和工作原理,從協議上分析了FlexRay總線在航天領域應用的可行性,從芯片選用、原理設計、接口實現以及軟件設計等方面闡述了FlexRay總線在我國航天領域的應用。
FPGA;FlexRay總線;航天領域;通信
FlexRay總線是為了滿足汽車網絡發展支持容錯和安全相關應用的汽車協議,具有網絡的確定性、同步性、可靠性、高帶寬以及容錯性等特點,能夠滿足高速控制的通信需要。
隨著航天系統應用的數據量越來越大,對處理速度、傳輸速率及實時響應的要求越來越高。而傳統的CAN網絡傳輸帶寬低和速率的不足已經無法滿足現在日益復雜的數據網絡,CAN總線技術也將逐漸被FlexRay總線取代。本文主要對FlexRay總線在航天軍工領域中的應用進行詳細論述。
FlexRay總線和CAN總線一樣,是一種串行數據通訊協議。其主要通信介質為雙絞線、同軸電纜等。FlexRay總線每個通信信道上的數據速率最大可達到10Mbps,總數據傳輸速率可達到20Mbps,而CAN網絡最高速率極限為1Mbps,可以看出FlexRay總線提供比CAN總線更大的網絡帶寬。
Flexray總線較CAN總線具有很多CAN總線所達不到的特點,Flexray在冗余通信中可以通過硬件復制網絡配置并進行進度監測,同時,flexray可以通過內部寄存器來對總線進行靈活的配置,并和CAN總線一樣,支持各種拓撲結構,如總線型、星型和混合拓撲等。開發人員可以根據不同的需求對總線進行配置。
在數據傳輸過程中,FlexRay具備同步數據傳輸和異步數據傳輸,能滿足不同系統的通信需求。在通信過程中,FlexRay為每個通信周期提供靜態通信段和動態通信段。其中,靜態通信段提供有界延遲,用固定時間觸發(fixed-timetrigger)的方法來傳輸信息;而動態通信段則有助于滿足在系統運行時間內出現的不同帶寬需求,使用靈活的時間觸發的方法來傳輸信息。
FlexRay總線網絡不僅可以和CAN網絡一樣進行單信道系統運行,而且還能夠以一個雙信道系統來運行。雙信道系統可以通過冗余網絡傳輸數據,這也是提高系統可靠性的一項重要性能。
本文以Freescale公司的MC9S12XF512作為Flexray總線的通信控制器,NXP公司的TJA1080為總線驅動器,并結合Xilinx的FPGA構建以FPGA+FlexRay的方式為主干網,運用FPGA靈活性設計的特點以及MC9S12XF512的靈活性編程,實現了Flexray總線在軍工領域的應用。FPGA與MC9S12XF512之間采用SPI總線方式通信,速率可達20Mbps,能夠滿足航天大數據量的需求,系統之間的接口如下:

圖1 系統結構框圖
其中RxD、TxD、RxEN、TxEN為通信控制器與總線驅動器之間的接收發送及請求數據總線信號。
3.1 FlexRay節點的設計與實現
MC9S12XF512是MC9S12XF系列的一款32位性能和效率都很出色的16位微控制器,它基于高性能S12X內核,以16位尋址范圍零等待的速率訪問外設和外部存儲器。具有高速串行通信的FLexRay模塊,速率達到10Mbit/s。FlexRay網絡節點結構如下圖所示,包含總線控制器、總線收發器以及兩個收發通道。如圖2所示。

圖2 FlexRay節點結構圖
其中,FlexRay總線通信節點的通信過程如下:
發送數據:由FPGA提供通過SPI總線接口提供數據幀,通過FlexRay通信控制器向總線驅動器發送數據幀,再由總線驅動器下傳到數據收發通道上。
接收數據:數據由收發通道送達總線驅動器TJA1080,總線驅動器向通信控制器以中斷的方式發出接收數據請求信號,將數據存入通信控制器的數據緩存中,再由通信控制器通過SPI總線將接收到的數據上傳給FPGA,由FPGA去解析數據。
3.2 硬件構成
FlexRay總線控制器基于S12X構架,以16位總線尋址范圍訪問外圍設備及存儲空間,具有靈活的操作以及中斷處理方法,支持單通道和雙通道通信,具有32個配置消息緩存,每個消息緩存可配置為接收、單緩存器發送及雙緩存器發送模式。每個消息緩存數據長度可配置為0到254字節。
TJA1080是NXP公司的一款兼容FlexRay電氣物理層協議2.1版本的FlexRay總線收發器,它主要是為通信系統從1Mbit/s到10Mbit/s而準備,為協議控制器與FlexRay網絡物理層總線之間提供了一個可靠的接口。同時,TJA1080能夠通過有效的配置來實現星型收發器和節點收發器,它以差分傳輸方式到各網絡節點,并以差分接收方式到FlexRay控制器,增強了數據傳輸的抗干擾能力。在TJA1080收發數據過程中,還增加了監測系統中的錯誤和狀態信息等功能。MC9S12XF512與TJA1080之間接口連接如下圖3所示。

圖3 FlexRay總線原理圖
BDM為在線調試和下載程序提供了一個接口。信號線上的BKGD信號連接至單片機MC9S12XF512的同名管腳,該引腳用來向單片機下載應用程序和在線調試。接口原理圖如圖4所示。其中BKGD引腳默認設置為3腳,可以根據不同廠家的BDM下載器來設置圖4中J6上的跳線將BKGD設置在引腳1上。

圖4 BDM接口電路原理圖
基于MC9S12XF512單片機應用程序,主要完成Flexray總線功能,包括系統時鐘配置、鎖相環配置、外圍設備初始化與配置、內存分配與初始化、Flexray收發模塊初始化以及中斷向量表等功能。軟件調試工具主要用CodeWarrior集成環境進行編程,同時使用BDM在線調試器進行軟件下載與調試。軟件流程如圖5所示。

圖5 數據接收與發送流程圖
本文通過對FlexRay總線結構功能分析,構建以FPGA+ MCU的方式進行Flexray總線通信。系統采用freescale單片機MC9S12XF512作為通信控制器,并結合NXP公司的TJA1080為總線驅動器的典型方式構建系統方案,采用雙通道(通道A和通道B)同時通信,兩個通道實現冗余備份,滿足了系統容錯功能的需求。在航天領域系統復雜的網絡結構背景下,FlexRay總線技術正將逐步取代CAN網絡,實現數據的高速可靠傳輸。
[1]MC9S12XF512 Reference Manual.Rev.1.19 18-May-2010.
[2]TJA1080 FlexRay transceiver.Rev.02—12 July 2007.
[3]FlexRay Communications System Protocol Specification Version2.1.
[4]王鍇,王宏,徐皚冬.下一代車載網絡FlexRay及其應用研究[J].計算機工程與應用.2008.
[5]姚江云,孔峰,吳方圓.FlexRay車載網絡管理數據調度的研究[J].自動化儀表,2011.
[6]周新發,尚智,劉群.工業現場總線CAN總線技術在航天領域的應用[J].(PLC&FA),2006.
Application of FlexRay Bus Technology inAerospace Field
Li Fan Wu Yijie Zhang Beilei
(ShanghaiAerospace Electronic Technology Institute,Shanghai 201109)
Aiming at CAN bus technology in aerospace field,this article proposes a new FlexRay bus communication mod.It introduces a processing mod based on FPGA+FlexRay architecture,and describes the characteristics and working principle of FlexRay bus.It analyzes the feasibility of the application of FlexRay bus in the aerospace field from communication protocol,and expoundes the application of FlexRay bus in the aerospace field of our country from the aspects of chip selection,principle design, interface realization and software design.
FPGA;FlexRay bus;aerospace field;communication
TP273
A
1008-6609(2016)05-0068-03
李帆,男,湖北宜城人,工程師,研究方向:嵌入式系統。