孫俊勇,羅顯光,許晉榮,曾 軍,石建強(qiáng)
(1. 大功率交流傳動(dòng)電力機(jī)車(chē)系統(tǒng)集成國(guó)家重點(diǎn)實(shí)驗(yàn)室,株洲 412000;2. 中車(chē)株洲電力機(jī)車(chē)有限公司 產(chǎn)品研發(fā)中心,株洲 412000;3. 蘭州交通大學(xué) 自動(dòng)控制研究所,蘭州 730070)
隨著無(wú)線通信、計(jì)算機(jī)等技術(shù)的快速發(fā)展,軌道交通車(chē)輛的智能化、自主化水平也越來(lái)越高,對(duì)傳統(tǒng)安全計(jì)算機(jī)的功能和性能提出了更高的要求[1-2]。目前,車(chē)載安全計(jì)算機(jī)主要采用6 U單機(jī)箱設(shè)計(jì)(U是由美國(guó)電子工業(yè)協(xié)會(huì)規(guī)定的一種表示服務(wù)器外部尺寸的單位,規(guī)定的長(zhǎng)度范圍為360~725 mm,寬度約為483.6 mm,高度約為44.45 mm)。采用6 U機(jī)箱設(shè)計(jì)的重要原因是:(1)可以在一塊獨(dú)立板上實(shí)現(xiàn)兩塊主控板和一塊表決板的布板設(shè)計(jì),完成二取二表決計(jì)算;(2)采用兩塊相同的獨(dú)立板,即可實(shí)現(xiàn)二乘二取二架構(gòu)[3]。
對(duì)于有軌電車(chē)和新型的虛擬軌道膠輪列車(chē),安裝空間非常緊湊[4-5],6 U機(jī)箱機(jī)械尺寸較大,不便于車(chē)載設(shè)備的靈活配置和功能擴(kuò)展。針對(duì)上述問(wèn)題,本文設(shè)計(jì)了一種基于FlexRay總線的分布式車(chē)載安全計(jì)算機(jī)系統(tǒng)。系統(tǒng)由兩套3 U獨(dú)立機(jī)箱組成,單套機(jī)箱內(nèi)部采用FlexRay總線組成二取二安全計(jì)算機(jī),兩套機(jī)箱組成二乘二取二的安全計(jì)算機(jī)系統(tǒng),該系統(tǒng)不僅具有高性能、高安全性特點(diǎn),并且安裝配置靈活,可以為車(chē)載安全計(jì)算機(jī)的設(shè)計(jì)提供參考。
通常,安全計(jì)算機(jī)選擇RS485、控制器局域網(wǎng)絡(luò)(CAN,Controller Area Network)、以太網(wǎng)和Flex-Ray等作為通信總線[6-9],隨著安全計(jì)算機(jī)需要處理的數(shù)據(jù)越來(lái)越多,原有的RS485、CAN等無(wú)法滿足傳輸速率的要求,以太網(wǎng)和FlexRay總線已成為安全計(jì)算機(jī)的主要選擇。以太網(wǎng)的優(yōu)點(diǎn)是通信速率高,通用性強(qiáng),但是無(wú)法保證實(shí)時(shí)性,需要移植實(shí)時(shí)安全協(xié)議,并且只能點(diǎn)對(duì)點(diǎn)通信,依賴(lài)于交換機(jī)連接各個(gè)通信節(jié)點(diǎn);FlexRay總線具有CAN總線的實(shí)時(shí)性,同時(shí),具有較高的傳輸速率和容錯(cuò)能力,已應(yīng)用于計(jì)算機(jī)聯(lián)鎖系統(tǒng)中。
FlexRay總線高容錯(cuò)能力、高實(shí)時(shí)性的特點(diǎn)可滿足車(chē)載計(jì)算機(jī)的安全要求;雙通道、高達(dá)20 Mbit/s的速率可滿足車(chē)載計(jì)算機(jī)的數(shù)據(jù)通信需求;FlexRay總線布置方便,傳輸參數(shù)配置靈活,降低了單套安全計(jì)算機(jī)內(nèi)部及兩套安全計(jì)算機(jī)之間通信的設(shè)計(jì)難度,因此,本文采用FlexRay總線作為車(chē)載安全計(jì)算機(jī)的系統(tǒng)總線。
為了實(shí)現(xiàn)高性能、小型化的目標(biāo),本文設(shè)計(jì)的基于FlexRay總線的分布式車(chē)載安全計(jì)算機(jī)系統(tǒng)架構(gòu),如圖1所示。該系統(tǒng)由兩套相同的3 U機(jī)箱和主/備切換模塊組成。
圖1 分布式車(chē)載安全計(jì)算機(jī)系統(tǒng)架構(gòu)
每套機(jī)箱中,兩塊主控板和一塊表決板組成二取二架構(gòu),還設(shè)有兩塊冗余電源板,I/O板和通信板。I/O板的數(shù)量根據(jù)車(chē)載使用的輸入/輸出點(diǎn)位配置;通信板根據(jù)需要配置,可以是多功能車(chē)輛總線(MVB,Multifunction Vehicle Bus)通信板、也可以是以太網(wǎng)通信板、CAN通信板等。
主/備切換模塊采用1 U機(jī)箱設(shè)計(jì),兩套安全計(jì)算機(jī)分別通過(guò)傳輸高/低電平信號(hào)的纜線連接到主/備切換模塊,實(shí)現(xiàn)兩套二取二安全計(jì)算機(jī)主/備切換,保證只有一套設(shè)備為主用設(shè)備;兩套安全計(jì)算機(jī)的表決板之間通過(guò)FlexRay總線連接,實(shí)現(xiàn)數(shù)據(jù)的通信和同步,保證主/備切換后數(shù)據(jù)的一致性。
上述分布式車(chē)載安全計(jì)算機(jī)系統(tǒng)具有如下特點(diǎn)。
(1)安全計(jì)算機(jī)A和安全計(jì)算機(jī)B均采用3 U小型化機(jī)箱,兩套設(shè)備可以分布式放置在車(chē)輛不同的位置,也可采用集中式放置在相同的位置,安裝配置靈活。當(dāng)采用分布式放置時(shí),可增加獨(dú)立的1 U主/備切換模塊實(shí)現(xiàn)連接;當(dāng)采用集中式放置時(shí),切換模塊可以集成到安全計(jì)算機(jī)A或安全計(jì)算機(jī)B中。
(2)主/備切換模塊可以作為獨(dú)立設(shè)備,主要實(shí)現(xiàn)安全計(jì)算機(jī)A和安全計(jì)算機(jī)B的主/備切換,保證在任意時(shí)刻只有一個(gè)是主設(shè)備。
(3)安全計(jì)算機(jī)A和安全計(jì)算機(jī)B通過(guò)FlexRay雙通道通信總線實(shí)現(xiàn)雙機(jī)之間的數(shù)據(jù)同步。
分布式的安全計(jì)算機(jī)系統(tǒng)配置靈活,應(yīng)用場(chǎng)景多,兩套安全計(jì)算機(jī)組合構(gòu)成二乘二取二架構(gòu),滿足較高的安全完整性等級(jí)(例如SIL(Safety Integrity Level)4級(jí))要求;單獨(dú)的一套二取二安全計(jì)算機(jī)可以作為通用的控制平臺(tái),滿足較低的安全等級(jí)(例如SIL2級(jí))需求。
由于兩套二取二安全計(jì)算機(jī)設(shè)計(jì)相同,因此,本文主要介紹單套二取二安全計(jì)算機(jī)主控板和表決板的設(shè)計(jì)。
單套安全計(jì)算機(jī)內(nèi)的兩塊主控板設(shè)計(jì)相同,以一塊主控板的設(shè)計(jì)為例,其硬件結(jié)構(gòu)如圖2所示。
圖2 主控板硬件結(jié)構(gòu)
主控板通過(guò)雙通道FlexRay-A和FlexRay-B實(shí)現(xiàn)與表決板的數(shù)據(jù)交互。為了便于功能擴(kuò)展、數(shù)據(jù)管理和協(xié)議處理,主控板采用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA,F(xiàn)ield Programmable Gate Array)模塊實(shí)現(xiàn)CPU與FlexRay的 連 接;CPU采 用 NXP i.MX6Dual高性能芯片,主頻高達(dá)1.2 GHz,具有強(qiáng)大的計(jì)算能力,可以滿足當(dāng)前車(chē)輛智能化控制的需求;兩塊主控板之間通過(guò)I/O接口發(fā)送動(dòng)態(tài)信號(hào);通過(guò)串行通信接口實(shí)現(xiàn)數(shù)據(jù)同步。
為了保證兩塊主控板結(jié)構(gòu)的一致性和安裝調(diào)試的便利性,單獨(dú)設(shè)計(jì)了表決板。表決板用于對(duì)兩塊主控板輸入數(shù)據(jù)的管理和輸出數(shù)據(jù)的表決,同時(shí),與另一套安全計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)兩套安全計(jì)算機(jī)的數(shù)據(jù)同步,是安全計(jì)算機(jī)的核心,其硬件結(jié)構(gòu)如圖3所示。
圖3 表決板硬件結(jié)構(gòu)
表決板通過(guò)雙通道FlexRay-A/B與主控板進(jìn)行數(shù)據(jù)通信;通過(guò)雙通道FlexRay-C/D與通信板(包括以太網(wǎng)通信板、MVB通信板和CAN通信板等)進(jìn)行數(shù)據(jù)交互;通過(guò)單通道FlexRay-E與另一套安全計(jì)算機(jī)表決板通信,實(shí)現(xiàn)兩套安全計(jì)算機(jī)之間的數(shù)據(jù)同步。上述設(shè)計(jì)中,單套安全計(jì)算機(jī)內(nèi)部采用雙通道設(shè)計(jì),保證可靠性和安全性;兩套安全計(jì)算機(jī)之間采用單通道設(shè)計(jì),通過(guò)冗余架構(gòu)提升系統(tǒng)可用性。
動(dòng)態(tài)電路主要用于接收兩塊主控板的動(dòng)態(tài)信號(hào),并驅(qū)動(dòng)電路發(fā)送電平信號(hào)到主/備切換模塊,實(shí)現(xiàn)主/備切換,通過(guò)硬件電路保證同一時(shí)刻只有一個(gè)設(shè)備為主用設(shè)備;主/備切換狀態(tài)采集電路采集主/備切換模塊的狀態(tài),用于主/備切換處理。
表決板中,F(xiàn)PGA通過(guò)FlexRay-C/D實(shí)現(xiàn)對(duì)通信板數(shù)據(jù)的組包、解包、一分二和二取一處理;通過(guò)FlexRay-A/B實(shí)現(xiàn)主控板數(shù)據(jù)的硬件表決;FPGA將兩塊主控板數(shù)據(jù)發(fā)送給表決板的CPU,該CPU通過(guò)軟件實(shí)現(xiàn)兩塊主控板數(shù)據(jù)的軟件表決。FPGA和CPU共同完成二取二表決,避免共因失效,保證系統(tǒng)的安全性。
安全計(jì)算機(jī)軟件采用C語(yǔ)言編程,運(yùn)行在主控板上,其主要功能包括單套安全計(jì)算機(jī)的同步和表決,以及兩套安全計(jì)算機(jī)的同步和主/備切換。本文主要介紹其軟件功能。
3.1.1 數(shù)據(jù)同步原理
單套安全計(jì)算機(jī)中兩塊主控板通過(guò)FlexRay總線與表決板通信,同時(shí),配置的通信板(MVB、以太網(wǎng)、CAN等)也通過(guò)FlexRay總線與表決板通信。單套安全計(jì)算機(jī)的數(shù)據(jù)同步原理如下:
(1)安全計(jì)算機(jī)通過(guò)配置的通信板采集外部數(shù)據(jù)(網(wǎng)絡(luò)數(shù)據(jù)、I/O數(shù)據(jù)等);
(2)通信板通過(guò)FlexRay-C/D將數(shù)據(jù)發(fā)送給表決板;
(3)表決板將接收的通信板數(shù)據(jù)進(jìn)行一分二處理,并將相同的數(shù)據(jù)分別通過(guò)FlexRay-A和FlexRay-B發(fā)送到兩塊主控板;
(4)兩塊主控板之間通過(guò)串行通信接口實(shí)現(xiàn)數(shù)據(jù)同步;
(5)主控板I和主控板II將計(jì)算處理后的數(shù)據(jù)通過(guò)FlexRay-A和FlexRay-B發(fā)送到表決板;表決板通過(guò)CPU和FPGA對(duì)數(shù)據(jù)進(jìn)行二取二表決處理(比較兩個(gè)主控板發(fā)送到表決板的數(shù)據(jù)是否一致),若數(shù)據(jù)一致則將輸出結(jié)果發(fā)送到通信板,進(jìn)而通信板發(fā)送數(shù)據(jù)到外部系統(tǒng)。
3.1.2 數(shù)據(jù)同步設(shè)計(jì)
單套安全計(jì)算機(jī)的主控板I、主控板II和表決板組成核心的二取二架構(gòu),兩塊主控板分別對(duì)表決板發(fā)送的外部數(shù)據(jù)進(jìn)行邏輯運(yùn)算,并將運(yùn)算結(jié)果分別發(fā)送到表決板進(jìn)行表決判斷,由表決板確定數(shù)據(jù)是否輸出。為了保證兩塊主控板運(yùn)算的結(jié)果具有表決的意義,需要保證兩塊主控板之間的數(shù)據(jù)保持同步,并對(duì)無(wú)法實(shí)現(xiàn)同步的情況進(jìn)行安全導(dǎo)向處理。
主控板I和主控板II采用串行通信接口周期性地互發(fā)同步數(shù)據(jù)幀,同步數(shù)據(jù)幀主要包括數(shù)據(jù)包序列號(hào)、外部輸入數(shù)據(jù)、輸出的邏輯運(yùn)算結(jié)果和FlexRay狀態(tài)等,并增加循環(huán)冗余校驗(yàn)(CRC,Cyclical Redundancy Check)碼。
當(dāng)主控板接收另一主控板同步數(shù)據(jù)幀時(shí),對(duì)CRC碼進(jìn)行安全校驗(yàn),只有校驗(yàn)通過(guò)的數(shù)據(jù)才有效,否則將丟棄。如果一主控板在連續(xù)若干個(gè)周期內(nèi)(周期可配置,一般為3個(gè)周期)均未收到另外一主控板的有效數(shù)據(jù),則判斷與另一主控板的數(shù)據(jù)不同步,則將本套安全計(jì)算機(jī)進(jìn)行降級(jí)處理,例如將其從主用狀態(tài)降級(jí)為故障狀態(tài)。
此外,如果兩塊主控板之間的同步時(shí)間超過(guò)系統(tǒng)設(shè)定的運(yùn)算周期,則每塊主控板進(jìn)行累計(jì)計(jì)時(shí),如果連續(xù)若干個(gè)周期內(nèi)(可配置)的同步時(shí)間都超過(guò)設(shè)定的運(yùn)算周期,則對(duì)本套安全計(jì)算機(jī)進(jìn)行降級(jí)處理。
單套安全計(jì)算機(jī)的二取二設(shè)計(jì)主要是保證系統(tǒng)運(yùn)行的安全性;兩套相同的安全計(jì)算機(jī)通過(guò)切換模塊連接,以熱備冗余的方式組成二乘二取二架構(gòu),主要用來(lái)提升安全計(jì)算機(jī)的可用性。
為了保證安全計(jì)算機(jī)的備用設(shè)備升級(jí)為主用設(shè)備時(shí)數(shù)據(jù)的連續(xù)性,兩套安全計(jì)算機(jī)之間需要保持?jǐn)?shù)據(jù)的一致性;同時(shí),需要保證在同一時(shí)刻只有一套安全計(jì)算機(jī)處于主用狀態(tài)對(duì)外輸出。本章主要介紹兩套安全計(jì)算機(jī)的切換和數(shù)據(jù)同步設(shè)計(jì)。
3.2.1 兩套安全計(jì)算機(jī)切換邏輯
如圖1所示,安全計(jì)算機(jī)A和安全計(jì)算機(jī)B通過(guò)纜線連接主/備切換模塊,其切換邏輯如下:
(1)單套安全計(jì)算機(jī)的主控板通過(guò)背板電路發(fā)送動(dòng)態(tài)信號(hào)到表決板,表決板根據(jù)接收到的主控板動(dòng)態(tài)信號(hào),向主/備切換模塊持續(xù)發(fā)送電平信號(hào);
(2)主/備切換模塊根據(jù)獲得的安全計(jì)算機(jī)A和安全計(jì)算機(jī)B發(fā)送的電平信號(hào)的先后順序,判斷主/備狀態(tài),并利用繼電器電路將切換狀態(tài)鎖定;
(3)安全計(jì)算機(jī)A和安全計(jì)算機(jī)B的表決板分別通過(guò)纜線回采主/備切換模塊的電平信號(hào),獲得自身的狀態(tài)信息,回采到高電平信號(hào)則為主用,回采到低電平信號(hào)則為備用;
(4)當(dāng)主用設(shè)備檢測(cè)到故障,則停止發(fā)送電平信號(hào),主/備切換模塊進(jìn)行安全計(jì)算機(jī)A和安全計(jì)算機(jī)B的切換并鎖定;同時(shí)表決板在軟件邏輯上實(shí)現(xiàn)主/備狀態(tài)的切換;
(5)原備用設(shè)備回采到高電平信號(hào),則備用設(shè)備升級(jí)為主用設(shè)備。
3.2.2 兩套安全計(jì)算機(jī)數(shù)據(jù)同步
如圖1所示,安全計(jì)算機(jī)A和安全計(jì)算機(jī)B通過(guò)纜線連接切換模塊實(shí)現(xiàn)主/備設(shè)備的切換,兩套安全計(jì)算機(jī)的表決板通過(guò)FlexRay-E總線進(jìn)行數(shù)據(jù)同步,保證兩套安全計(jì)算機(jī)切換時(shí)數(shù)據(jù)的一致性。安全計(jì)算機(jī)A與安全計(jì)算機(jī)B的數(shù)據(jù)同步設(shè)計(jì)如下:
(1)當(dāng)安全計(jì)算機(jī)A和安全計(jì)算機(jī)B分別處于主用和備用的工作狀態(tài)時(shí),安全計(jì)算機(jī)A和安全計(jì)算機(jī)B之間周期性地互相發(fā)送心跳幀,包括運(yùn)算結(jié)果校驗(yàn)碼、運(yùn)行周期編號(hào)和工作模式;
(2)當(dāng)備用設(shè)備根據(jù)心跳幀發(fā)現(xiàn)與主用狀態(tài)不一致時(shí),則備用設(shè)備通過(guò)FlexRay-E總線向主用設(shè)備發(fā)送同步請(qǐng)求幀;
(3)主用設(shè)備接收到同步請(qǐng)求幀后,也通過(guò)FlexRay-E總線發(fā)送同步數(shù)據(jù)到備用設(shè)備;
(4)備用設(shè)備表決板接收主用設(shè)備發(fā)送的同步數(shù)據(jù),并檢測(cè)本套設(shè)備兩塊主控板的狀態(tài),若兩塊主控板狀態(tài)相同,則將自身的數(shù)據(jù)同步為接收的主用設(shè)備狀態(tài),保證主/備設(shè)備的無(wú)間斷切換。
本文針對(duì)車(chē)輛智能化發(fā)展對(duì)車(chē)載安全計(jì)算機(jī)提出的高性能、小型化的需求,提出了一種基于FlexRay總線的分布式車(chē)載安全計(jì)算機(jī)系統(tǒng)設(shè)計(jì)方案。系統(tǒng)中的兩套安全計(jì)算機(jī)均采用3 U小型化機(jī)箱設(shè)計(jì),設(shè)計(jì)了單套安全計(jì)算機(jī)內(nèi)的數(shù)據(jù)同步方法和兩套安全計(jì)算機(jī)間的數(shù)據(jù)同步方法,以及主/備設(shè)備的切換方法。
該分布式小型化的車(chē)載安全計(jì)算機(jī)系統(tǒng)可以采用一體式的安裝方式,也可以根據(jù)需要,將兩套安全計(jì)算機(jī)分散安裝在車(chē)輛的不同機(jī)柜中,方便靈活,尤其適合有軌電車(chē)、新型的虛擬軌道膠輪列車(chē)等安裝空間較為緊張的車(chē)輛。目前,基于該論文的設(shè)計(jì)方法已經(jīng)完成了兩套3 U機(jī)箱的樣機(jī)試制和系統(tǒng)搭建,下一步將進(jìn)行二乘二取二的軟件功能驗(yàn)證工作。