呂媛媛
(1.北京全路通信信號(hào)研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070;2.北京市高速鐵路運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)
隨著通信系統(tǒng)性能、容量的不斷發(fā)展,CAN總線傳輸數(shù)據(jù)容量有限、速率較低,已經(jīng)不能適應(yīng)目前通信系統(tǒng)大數(shù)據(jù)的發(fā)展需求,F(xiàn)lexRay作為新一代總線,因其具有高速率、可確定性、容錯(cuò)性等優(yōu)點(diǎn),被譽(yù)為是CAN總線的升級(jí)版。目前FlexRay總線僅在汽車領(lǐng)域應(yīng)用廣泛,本文將FlexRay總線應(yīng)用于鐵路信號(hào)地面控制系統(tǒng)中的全電子目標(biāo)控制系統(tǒng),對(duì)于FlexRay總線在鐵路交通信號(hào)領(lǐng)域的研究與推廣具有一定的參考意義。
FlexRay總線與傳統(tǒng)的CAN總線相比的優(yōu)點(diǎn)如下。
傳輸速率高。FlexRay總線為硬件雙通道,單通道傳輸速率可達(dá)10 Mbit/s,通過配置,也可以 設(shè)置為8 Mbit/s、5 Mbit/s、2.5 Mbit/s,提高帶寬的靈活性;雙通道設(shè)置為傳輸不同數(shù)據(jù)幀時(shí),速率可達(dá)20 Mbit/s。而CAN總線最高速率為1 Mbit/s,遠(yuǎn)遠(yuǎn)優(yōu)于CAN總線。
時(shí)間確定性準(zhǔn),同時(shí)靈活性高。FlexRay總線采用調(diào)度表機(jī)制,有“時(shí)間觸發(fā)”、“事件觸發(fā)”兩種方式。每個(gè)通信周期的靜態(tài)段基于“時(shí)間觸發(fā)”方式,消息在每個(gè)周期中擁有固定位置的時(shí)槽,以固定的時(shí)序傳輸數(shù)據(jù),極大地保證傳輸時(shí)間的準(zhǔn)確性、通信延遲小;每個(gè)通信周期的動(dòng)態(tài)段采用“事件觸發(fā)”方式,時(shí)槽長(zhǎng)度可變,帶寬可動(dòng)態(tài)分配,靈活性好。
容錯(cuò)性強(qiáng)。FlexRay支持雙通道的互相冗余,通過雙通道傳輸相同的信息來實(shí)現(xiàn)冗余備份,在一個(gè)通道故障時(shí),另一個(gè)通道可以正常運(yùn)行,不影響系統(tǒng)的穩(wěn)定性。同時(shí),單節(jié)點(diǎn)發(fā)生故障時(shí),總線監(jiān)控器將該節(jié)點(diǎn)斷開,不影響總線上其他節(jié)點(diǎn)正常工作。
載荷容量大。FlexRay幀具有高達(dá)254 Byte的數(shù)據(jù)容量,更適合大容量數(shù)據(jù)傳輸。
FlexRay總線目前只規(guī)定了數(shù)據(jù)鏈路層和物理層的通信協(xié)議。
FlexRay可支持各種拓?fù)浣Y(jié)構(gòu),如總線型、星型和混合拓?fù)涞取2⑶夜?jié)點(diǎn)可以支持兩個(gè)通信通道,可以開發(fā)單信道和雙信道兩種系統(tǒng)。
FlexRay數(shù)據(jù)幀由幀頭、有效數(shù)據(jù)段和幀尾3部分組成。如圖1所示。

圖1 FlexRay數(shù)據(jù)幀格式Fig.1 FlexRay data frame format
FlexRay總線是固定周期通信方式。每個(gè)通信周期時(shí)長(zhǎng)可配置,每個(gè)通信周期的組成如圖2所示。

圖2 通信周期時(shí)間分層Fig.2 Layers for communication cycle time
在靜態(tài)段中,采用時(shí)分多址TDMA技術(shù)實(shí)現(xiàn)時(shí)間觸發(fā)。每個(gè)節(jié)點(diǎn)擁有固定數(shù)量的時(shí)槽大小,在這些時(shí)槽內(nèi),不允許其他節(jié)點(diǎn)傳輸數(shù)據(jù),該節(jié)點(diǎn)的數(shù)據(jù)容量也不能超過這些時(shí)槽的長(zhǎng)度。這種訪問方法,保證靜態(tài)段中傳輸?shù)奶囟〝?shù)據(jù)幀在每個(gè)周期中擁有固定的位置。動(dòng)態(tài)段則采用更靈活的時(shí)分多址FTDMA技術(shù),各個(gè)節(jié)點(diǎn)利用信息 ID(幀ID)中定義好的優(yōu)先級(jí)競(jìng)爭(zhēng)帶寬,保證一些具有高優(yōu)先權(quán)的數(shù)據(jù)能夠在總線忙時(shí)也有機(jī)會(huì)發(fā)送信息。并且時(shí)槽長(zhǎng)度會(huì)按照需要的時(shí)間來擴(kuò)展,因而總線的帶寬是動(dòng)態(tài)可變動(dòng)的。
通用全電子目標(biāo)控制系統(tǒng)是以全電子的驅(qū)動(dòng)層執(zhí)行模塊為基礎(chǔ),配備上層安全邏輯平臺(tái),搭建成的一個(gè)通用安全控制平臺(tái)。該平臺(tái)作為若干安全應(yīng)用的支撐,可以完成諸如聯(lián)鎖系統(tǒng)、列控中心等多種安全系統(tǒng),適用于鐵路及城市軌道交通環(huán)境中。
全電子目標(biāo)控制系統(tǒng)內(nèi)的安全相關(guān)電子執(zhí)行模塊包含道岔模塊、信號(hào)機(jī)模塊、輸入輸出模塊、64D模塊等,所有模塊均采用2乘2取2架構(gòu)進(jìn)行設(shè)計(jì),模塊內(nèi)部(系內(nèi)雙CPU間以及雙系間)需具備通信的能力,來實(shí)現(xiàn)時(shí)鐘同步和數(shù)據(jù)交互等功能。每次傳輸數(shù)據(jù)約200 Byte,需要一種高速、可靠的通信結(jié)構(gòu)。
FlexRay具有時(shí)間觸發(fā)、高帶寬、靈活性、安全性等優(yōu)點(diǎn),結(jié)合上述原因,全電子系統(tǒng)模塊內(nèi)部通信網(wǎng)采用FlexRay總線,總線型拓?fù)浣Y(jié)構(gòu)。4個(gè)主控單元CPU作為4個(gè)FlexRay節(jié)點(diǎn)進(jìn)行組網(wǎng)通信,4個(gè)CPU均可以互相通信;雙通道冗余工作,數(shù)據(jù)雙份傳輸;整個(gè)網(wǎng)絡(luò)平臺(tái)設(shè)計(jì)通信速率為10 Mbit/s。模塊間網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3所示。

圖3 模塊網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.3 Module network topology
在全電子目標(biāo)控制系統(tǒng)中,主控芯片采用TI公司的TMS570LS3137,內(nèi)部集成FlexRay通信控制器,支持FlexRay V2.1版本協(xié)議;物理層收發(fā)器驅(qū)動(dòng)芯片采用NXP公司的TJA1082,用于實(shí)現(xiàn)FlexRay信號(hào)的轉(zhuǎn)換。FlexRay節(jié)點(diǎn)結(jié)構(gòu)框如圖4所示。

圖4 FlexRay節(jié)點(diǎn)結(jié)構(gòu)Fig.4 FlexRay node structure
TJA1082與TMS570LS3137之間的接口電路簡(jiǎn)單,接口信號(hào)主要有發(fā)送/接收管腳TXD/RXD、發(fā)送使能腳TXEN、總線檢測(cè)使能管腳BGE、工作模式控制管腳STBN、故障指示管腳ERRN等,BP、BM為差分輸出線。電路如圖5所示。

圖5 FlexRay節(jié)點(diǎn)硬件電路Fig.5 FlexRay node hardware circuit
FlexRay節(jié)點(diǎn)軟件設(shè)計(jì)主要包含節(jié)點(diǎn)初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)3部分。
4.3.1 節(jié)點(diǎn)參數(shù)設(shè)置
在FlexRay通信流程中,節(jié)點(diǎn)的配置和狀態(tài)控制是關(guān)鍵。節(jié)點(diǎn)初始化配置主要流程如圖6所示。

圖6 FlexRay通信控制流程Fig.6 FlexRay communication control flow chart
FlexRay節(jié)點(diǎn)配置參數(shù):一類參數(shù)是根據(jù)實(shí)際應(yīng)用的系統(tǒng)對(duì)于通信速率、數(shù)據(jù)容量等需求以及系統(tǒng)自身的功能要求而確定的;另一類參數(shù)是與FlexRay總線結(jié)構(gòu)、硬件元件性能、物理層特性等相關(guān),根據(jù)FlexRay協(xié)議規(guī)定的計(jì)算公式或約束條件計(jì)算得到的。同時(shí),全電子目標(biāo)控制系統(tǒng)的設(shè)計(jì)需求為:內(nèi)部通信周期32 ms、通道冗余傳輸、每個(gè)CPU數(shù)據(jù)類型兩種(CPU間/系間)等。
綜上而言,設(shè)計(jì)的基本參數(shù)如表1所示。

表1 FlexRay基本網(wǎng)絡(luò)參數(shù)設(shè)置Tab.1 FlexRay basic network parameter
4.3.2 發(fā)送/接收數(shù)據(jù)流程
全電子目標(biāo)控制系統(tǒng)采用了uc/os II操作系統(tǒng),多任務(wù)并行方式運(yùn)行。
內(nèi)部通信發(fā)送數(shù)據(jù)時(shí),根據(jù)發(fā)送方序列號(hào)、接收方上一次序列號(hào)、源系統(tǒng)ID等數(shù)據(jù),在“內(nèi)部通信發(fā)送任務(wù)”中,通過FlexRay發(fā)送函數(shù)發(fā)送出去。
內(nèi)部通信接收數(shù)據(jù)時(shí),采用中斷接收方式。首先,接收到CPU間或系間數(shù)據(jù)時(shí)會(huì)中斷CPU;然后,在中斷服務(wù)程序中完成數(shù)據(jù)接收,包括:讀取FlexRay Buffer編號(hào)確認(rèn)數(shù)據(jù)類型,把接收數(shù)據(jù)拷貝到內(nèi)部通信緩存隊(duì)列,Post內(nèi)部通信信號(hào)量觸發(fā)“內(nèi)部通信接收處理任務(wù)”;最后,在“內(nèi)部通信接收處理任務(wù)”中完成數(shù)據(jù)解析過程及存儲(chǔ)過程。
同時(shí),考慮到安全性,在“自檢任務(wù)”中,會(huì)定周期執(zhí)行FlexRay節(jié)點(diǎn)號(hào)自檢。總線上的每個(gè)節(jié)點(diǎn)都有可能變化,為了防止節(jié)點(diǎn)沖突,需要周期對(duì)節(jié)點(diǎn)號(hào)自檢。若被竄改,需要重新設(shè)定為原始節(jié)點(diǎn)號(hào)。
4.3.3 仿真分析
由于FlexRay網(wǎng)絡(luò)參數(shù)多、手動(dòng)配置非常繁瑣復(fù)雜、總線數(shù)據(jù)抓包分析困難,為簡(jiǎn)化設(shè)計(jì)分析過程,在設(shè)計(jì)中借助Vector公司的一系列FlexRay工具。首先使用Network Designer FlexRay定義網(wǎng)絡(luò)參數(shù)、節(jié)點(diǎn)、報(bào)文、信號(hào)、映射關(guān)系,將配置好的協(xié)議參數(shù)寫入TMS570LS3137相關(guān)協(xié)議參數(shù)寄存器中,生成FIBEX格式調(diào)度表;然后將調(diào)度表導(dǎo)入CANoe.FlexRay,進(jìn)行節(jié)點(diǎn)測(cè)試、仿真和分析:跟蹤總線數(shù)據(jù)傳輸、顯示報(bào)文的交互式發(fā)送、總線負(fù)載及干擾統(tǒng)計(jì)、診斷測(cè)試等。
FlexRay總線作為新一代的汽車總線,已經(jīng)在汽車車載通信領(lǐng)域得到廣泛應(yīng)用。本文借助其總線優(yōu)勢(shì)將其應(yīng)用在全電子目標(biāo)控制系統(tǒng),根據(jù)系統(tǒng)應(yīng)用條件給出了設(shè)計(jì)方案,來提高系統(tǒng)的實(shí)時(shí)性、可靠性和安全性。同時(shí)表明FlexRay總線在鐵路信號(hào)領(lǐng)域中有著很好的應(yīng)用前景。