李 帆 吳毅杰 張蓓蕾
(上海航天電子技術(shù)研究所,上海 201109)
FlexRay總線技術(shù)在航天領(lǐng)域的應(yīng)用
李 帆 吳毅杰 張蓓蕾
(上海航天電子技術(shù)研究所,上海 201109)
針對航天領(lǐng)域的CAN總線技術(shù),本文提出一種新的FlexRay總線通信方式,并介紹了一種基于FPGA+ FlexRay架構(gòu)的處理模式,同時描述了FlexRay總線的特點(diǎn)和工作原理,從協(xié)議上分析了FlexRay總線在航天領(lǐng)域應(yīng)用的可行性,從芯片選用、原理設(shè)計、接口實(shí)現(xiàn)以及軟件設(shè)計等方面闡述了FlexRay總線在我國航天領(lǐng)域的應(yīng)用。
FPGA;FlexRay總線;航天領(lǐng)域;通信
FlexRay總線是為了滿足汽車網(wǎng)絡(luò)發(fā)展支持容錯和安全相關(guān)應(yīng)用的汽車協(xié)議,具有網(wǎng)絡(luò)的確定性、同步性、可靠性、高帶寬以及容錯性等特點(diǎn),能夠滿足高速控制的通信需要。
隨著航天系統(tǒng)應(yīng)用的數(shù)據(jù)量越來越大,對處理速度、傳輸速率及實(shí)時響應(yīng)的要求越來越高。而傳統(tǒng)的CAN網(wǎng)絡(luò)傳輸帶寬低和速率的不足已經(jīng)無法滿足現(xiàn)在日益復(fù)雜的數(shù)據(jù)網(wǎng)絡(luò),CAN總線技術(shù)也將逐漸被FlexRay總線取代。本文主要對FlexRay總線在航天軍工領(lǐng)域中的應(yīng)用進(jìn)行詳細(xì)論述。
FlexRay總線和CAN總線一樣,是一種串行數(shù)據(jù)通訊協(xié)議。其主要通信介質(zhì)為雙絞線、同軸電纜等。FlexRay總線每個通信信道上的數(shù)據(jù)速率最大可達(dá)到10Mbps,總數(shù)據(jù)傳輸速率可達(dá)到20Mbps,而CAN網(wǎng)絡(luò)最高速率極限為1Mbps,可以看出FlexRay總線提供比CAN總線更大的網(wǎng)絡(luò)帶寬。
Flexray總線較CAN總線具有很多CAN總線所達(dá)不到的特點(diǎn),F(xiàn)lexray在冗余通信中可以通過硬件復(fù)制網(wǎng)絡(luò)配置并進(jìn)行進(jìn)度監(jiān)測,同時,flexray可以通過內(nèi)部寄存器來對總線進(jìn)行靈活的配置,并和CAN總線一樣,支持各種拓?fù)浣Y(jié)構(gòu),如總線型、星型和混合拓?fù)涞?。開發(fā)人員可以根據(jù)不同的需求對總線進(jìn)行配置。
在數(shù)據(jù)傳輸過程中,F(xiàn)lexRay具備同步數(shù)據(jù)傳輸和異步數(shù)據(jù)傳輸,能滿足不同系統(tǒng)的通信需求。在通信過程中,F(xiàn)lexRay為每個通信周期提供靜態(tài)通信段和動態(tài)通信段。其中,靜態(tài)通信段提供有界延遲,用固定時間觸發(fā)(fixed-timetrigger)的方法來傳輸信息;而動態(tài)通信段則有助于滿足在系統(tǒng)運(yùn)行時間內(nèi)出現(xiàn)的不同帶寬需求,使用靈活的時間觸發(fā)的方法來傳輸信息。
FlexRay總線網(wǎng)絡(luò)不僅可以和CAN網(wǎng)絡(luò)一樣進(jìn)行單信道系統(tǒng)運(yùn)行,而且還能夠以一個雙信道系統(tǒng)來運(yùn)行。雙信道系統(tǒng)可以通過冗余網(wǎng)絡(luò)傳輸數(shù)據(jù),這也是提高系統(tǒng)可靠性的一項(xiàng)重要性能。
本文以Freescale公司的MC9S12XF512作為Flexray總線的通信控制器,NXP公司的TJA1080為總線驅(qū)動器,并結(jié)合Xilinx的FPGA構(gòu)建以FPGA+FlexRay的方式為主干網(wǎng),運(yùn)用FPGA靈活性設(shè)計的特點(diǎn)以及MC9S12XF512的靈活性編程,實(shí)現(xiàn)了Flexray總線在軍工領(lǐng)域的應(yīng)用。FPGA與MC9S12XF512之間采用SPI總線方式通信,速率可達(dá)20Mbps,能夠滿足航天大數(shù)據(jù)量的需求,系統(tǒng)之間的接口如下:
圖1 系統(tǒng)結(jié)構(gòu)框圖
其中RxD、TxD、RxEN、TxEN為通信控制器與總線驅(qū)動器之間的接收發(fā)送及請求數(shù)據(jù)總線信號。
3.1 FlexRay節(jié)點(diǎn)的設(shè)計與實(shí)現(xiàn)
MC9S12XF512是MC9S12XF系列的一款32位性能和效率都很出色的16位微控制器,它基于高性能S12X內(nèi)核,以16位尋址范圍零等待的速率訪問外設(shè)和外部存儲器。具有高速串行通信的FLexRay模塊,速率達(dá)到10Mbit/s。FlexRay網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)如下圖所示,包含總線控制器、總線收發(fā)器以及兩個收發(fā)通道。如圖2所示。
圖2 FlexRay節(jié)點(diǎn)結(jié)構(gòu)圖
其中,F(xiàn)lexRay總線通信節(jié)點(diǎn)的通信過程如下:
發(fā)送數(shù)據(jù):由FPGA提供通過SPI總線接口提供數(shù)據(jù)幀,通過FlexRay通信控制器向總線驅(qū)動器發(fā)送數(shù)據(jù)幀,再由總線驅(qū)動器下傳到數(shù)據(jù)收發(fā)通道上。
接收數(shù)據(jù):數(shù)據(jù)由收發(fā)通道送達(dá)總線驅(qū)動器TJA1080,總線驅(qū)動器向通信控制器以中斷的方式發(fā)出接收數(shù)據(jù)請求信號,將數(shù)據(jù)存入通信控制器的數(shù)據(jù)緩存中,再由通信控制器通過SPI總線將接收到的數(shù)據(jù)上傳給FPGA,由FPGA去解析數(shù)據(jù)。
3.2 硬件構(gòu)成
FlexRay總線控制器基于S12X構(gòu)架,以16位總線尋址范圍訪問外圍設(shè)備及存儲空間,具有靈活的操作以及中斷處理方法,支持單通道和雙通道通信,具有32個配置消息緩存,每個消息緩存可配置為接收、單緩存器發(fā)送及雙緩存器發(fā)送模式。每個消息緩存數(shù)據(jù)長度可配置為0到254字節(jié)。
TJA1080是NXP公司的一款兼容FlexRay電氣物理層協(xié)議2.1版本的FlexRay總線收發(fā)器,它主要是為通信系統(tǒng)從1Mbit/s到10Mbit/s而準(zhǔn)備,為協(xié)議控制器與FlexRay網(wǎng)絡(luò)物理層總線之間提供了一個可靠的接口。同時,TJA1080能夠通過有效的配置來實(shí)現(xiàn)星型收發(fā)器和節(jié)點(diǎn)收發(fā)器,它以差分傳輸方式到各網(wǎng)絡(luò)節(jié)點(diǎn),并以差分接收方式到FlexRay控制器,增強(qiáng)了數(shù)據(jù)傳輸?shù)目垢蓴_能力。在TJA1080收發(fā)數(shù)據(jù)過程中,還增加了監(jiān)測系統(tǒng)中的錯誤和狀態(tài)信息等功能。MC9S12XF512與TJA1080之間接口連接如下圖3所示。
圖3 FlexRay總線原理圖
BDM為在線調(diào)試和下載程序提供了一個接口。信號線上的BKGD信號連接至單片機(jī)MC9S12XF512的同名管腳,該引腳用來向單片機(jī)下載應(yīng)用程序和在線調(diào)試。接口原理圖如圖4所示。其中BKGD引腳默認(rèn)設(shè)置為3腳,可以根據(jù)不同廠家的BDM下載器來設(shè)置圖4中J6上的跳線將BKGD設(shè)置在引腳1上。
圖4 BDM接口電路原理圖
基于MC9S12XF512單片機(jī)應(yīng)用程序,主要完成Flexray總線功能,包括系統(tǒng)時鐘配置、鎖相環(huán)配置、外圍設(shè)備初始化與配置、內(nèi)存分配與初始化、Flexray收發(fā)模塊初始化以及中斷向量表等功能。軟件調(diào)試工具主要用CodeWarrior集成環(huán)境進(jìn)行編程,同時使用BDM在線調(diào)試器進(jìn)行軟件下載與調(diào)試。軟件流程如圖5所示。
圖5 數(shù)據(jù)接收與發(fā)送流程圖
本文通過對FlexRay總線結(jié)構(gòu)功能分析,構(gòu)建以FPGA+ MCU的方式進(jìn)行Flexray總線通信。系統(tǒng)采用freescale單片機(jī)MC9S12XF512作為通信控制器,并結(jié)合NXP公司的TJA1080為總線驅(qū)動器的典型方式構(gòu)建系統(tǒng)方案,采用雙通道(通道A和通道B)同時通信,兩個通道實(shí)現(xiàn)冗余備份,滿足了系統(tǒng)容錯功能的需求。在航天領(lǐng)域系統(tǒng)復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)背景下,F(xiàn)lexRay總線技術(shù)正將逐步取代CAN網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)的高速可靠傳輸。
[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]王鍇,王宏,徐皚冬.下一代車載網(wǎng)絡(luò)FlexRay及其應(yīng)用研究[J].計算機(jī)工程與應(yīng)用.2008.
[5]姚江云,孔峰,吳方圓.FlexRay車載網(wǎng)絡(luò)管理數(shù)據(jù)調(diào)度的研究[J].自動化儀表,2011.
[6]周新發(fā),尚智,劉群.工業(yè)現(xiàn)場總線CAN總線技術(shù)在航天領(lǐng)域的應(yīng)用[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
李帆,男,湖北宜城人,工程師,研究方向:嵌入式系統(tǒng)。