孫俊勇,羅顯光,許晉榮,曾 軍,石建強
(1. 大功率交流傳動電力機車系統集成國家重點實驗室,株洲 412000;2. 中車株洲電力機車有限公司 產品研發中心,株洲 412000;3. 蘭州交通大學 自動控制研究所,蘭州 730070)
隨著無線通信、計算機等技術的快速發展,軌道交通車輛的智能化、自主化水平也越來越高,對傳統安全計算機的功能和性能提出了更高的要求[1-2]。目前,車載安全計算機主要采用6 U單機箱設計(U是由美國電子工業協會規定的一種表示服務器外部尺寸的單位,規定的長度范圍為360~725 mm,寬度約為483.6 mm,高度約為44.45 mm)。采用6 U機箱設計的重要原因是:(1)可以在一塊獨立板上實現兩塊主控板和一塊表決板的布板設計,完成二取二表決計算;(2)采用兩塊相同的獨立板,即可實現二乘二取二架構[3]。
對于有軌電車和新型的虛擬軌道膠輪列車,安裝空間非常緊湊[4-5],6 U機箱機械尺寸較大,不便于車載設備的靈活配置和功能擴展。針對上述問題,本文設計了一種基于FlexRay總線的分布式車載安全計算機系統。系統由兩套3 U獨立機箱組成,單套機箱內部采用FlexRay總線組成二取二安全計算機,兩套機箱組成二乘二取二的安全計算機系統,該系統不僅具有高性能、高安全性特點,并且安裝配置靈活,可以為車載安全計算機的設計提供參考。
通常,安全計算機選擇RS485、控制器局域網絡(CAN,Controller Area Network)、以太網和Flex-Ray等作為通信總線[6-9],隨著安全計算機需要處理的數據越來越多,原有的RS485、CAN等無法滿足傳輸速率的要求,以太網和FlexRay總線已成為安全計算機的主要選擇。以太網的優點是通信速率高,通用性強,但是無法保證實時性,需要移植實時安全協議,并且只能點對點通信,依賴于交換機連接各個通信節點;FlexRay總線具有CAN總線的實時性,同時,具有較高的傳輸速率和容錯能力,已應用于計算機聯鎖系統中。
FlexRay總線高容錯能力、高實時性的特點可滿足車載計算機的安全要求;雙通道、高達20 Mbit/s的速率可滿足車載計算機的數據通信需求;FlexRay總線布置方便,傳輸參數配置靈活,降低了單套安全計算機內部及兩套安全計算機之間通信的設計難度,因此,本文采用FlexRay總線作為車載安全計算機的系統總線。
為了實現高性能、小型化的目標,本文設計的基于FlexRay總線的分布式車載安全計算機系統架構,如圖1所示。該系統由兩套相同的3 U機箱和主/備切換模塊組成。

圖1 分布式車載安全計算機系統架構
每套機箱中,兩塊主控板和一塊表決板組成二取二架構,還設有兩塊冗余電源板,I/O板和通信板。I/O板的數量根據車載使用的輸入/輸出點位配置;通信板根據需要配置,可以是多功能車輛總線(MVB,Multifunction Vehicle Bus)通信板、也可以是以太網通信板、CAN通信板等。
主/備切換模塊采用1 U機箱設計,兩套安全計算機分別通過傳輸高/低電平信號的纜線連接到主/備切換模塊,實現兩套二取二安全計算機主/備切換,保證只有一套設備為主用設備;兩套安全計算機的表決板之間通過FlexRay總線連接,實現數據的通信和同步,保證主/備切換后數據的一致性。
上述分布式車載安全計算機系統具有如下特點。
(1)安全計算機A和安全計算機B均采用3 U小型化機箱,兩套設備可以分布式放置在車輛不同的位置,也可采用集中式放置在相同的位置,安裝配置靈活。當采用分布式放置時,可增加獨立的1 U主/備切換模塊實現連接;當采用集中式放置時,切換模塊可以集成到安全計算機A或安全計算機B中。
(2)主/備切換模塊可以作為獨立設備,主要實現安全計算機A和安全計算機B的主/備切換,保證在任意時刻只有一個是主設備。
(3)安全計算機A和安全計算機B通過FlexRay雙通道通信總線實現雙機之間的數據同步。
分布式的安全計算機系統配置靈活,應用場景多,兩套安全計算機組合構成二乘二取二架構,滿足較高的安全完整性等級(例如SIL(Safety Integrity Level)4級)要求;單獨的一套二取二安全計算機可以作為通用的控制平臺,滿足較低的安全等級(例如SIL2級)需求。
由于兩套二取二安全計算機設計相同,因此,本文主要介紹單套二取二安全計算機主控板和表決板的設計。
單套安全計算機內的兩塊主控板設計相同,以一塊主控板的設計為例,其硬件結構如圖2所示。

圖2 主控板硬件結構
主控板通過雙通道FlexRay-A和FlexRay-B實現與表決板的數據交互。為了便于功能擴展、數據管理和協議處理,主控板采用現場可編程門陣列(FPGA,Field Programmable Gate Array)模塊實現CPU與FlexRay的 連 接;CPU采 用 NXP i.MX6Dual高性能芯片,主頻高達1.2 GHz,具有強大的計算能力,可以滿足當前車輛智能化控制的需求;兩塊主控板之間通過I/O接口發送動態信號;通過串行通信接口實現數據同步。
為了保證兩塊主控板結構的一致性和安裝調試的便利性,單獨設計了表決板。表決板用于對兩塊主控板輸入數據的管理和輸出數據的表決,同時,與另一套安全計算機進行數據通信,實現兩套安全計算機的數據同步,是安全計算機的核心,其硬件結構如圖3所示。

圖3 表決板硬件結構
表決板通過雙通道FlexRay-A/B與主控板進行數據通信;通過雙通道FlexRay-C/D與通信板(包括以太網通信板、MVB通信板和CAN通信板等)進行數據交互;通過單通道FlexRay-E與另一套安全計算機表決板通信,實現兩套安全計算機之間的數據同步。上述設計中,單套安全計算機內部采用雙通道設計,保證可靠性和安全性;兩套安全計算機之間采用單通道設計,通過冗余架構提升系統可用性。
動態電路主要用于接收兩塊主控板的動態信號,并驅動電路發送電平信號到主/備切換模塊,實現主/備切換,通過硬件電路保證同一時刻只有一個設備為主用設備;主/備切換狀態采集電路采集主/備切換模塊的狀態,用于主/備切換處理。
表決板中,FPGA通過FlexRay-C/D實現對通信板數據的組包、解包、一分二和二取一處理;通過FlexRay-A/B實現主控板數據的硬件表決;FPGA將兩塊主控板數據發送給表決板的CPU,該CPU通過軟件實現兩塊主控板數據的軟件表決。FPGA和CPU共同完成二取二表決,避免共因失效,保證系統的安全性。
安全計算機軟件采用C語言編程,運行在主控板上,其主要功能包括單套安全計算機的同步和表決,以及兩套安全計算機的同步和主/備切換。本文主要介紹其軟件功能。
3.1.1 數據同步原理
單套安全計算機中兩塊主控板通過FlexRay總線與表決板通信,同時,配置的通信板(MVB、以太網、CAN等)也通過FlexRay總線與表決板通信。單套安全計算機的數據同步原理如下:
(1)安全計算機通過配置的通信板采集外部數據(網絡數據、I/O數據等);
(2)通信板通過FlexRay-C/D將數據發送給表決板;
(3)表決板將接收的通信板數據進行一分二處理,并將相同的數據分別通過FlexRay-A和FlexRay-B發送到兩塊主控板;
(4)兩塊主控板之間通過串行通信接口實現數據同步;
(5)主控板I和主控板II將計算處理后的數據通過FlexRay-A和FlexRay-B發送到表決板;表決板通過CPU和FPGA對數據進行二取二表決處理(比較兩個主控板發送到表決板的數據是否一致),若數據一致則將輸出結果發送到通信板,進而通信板發送數據到外部系統。
3.1.2 數據同步設計
單套安全計算機的主控板I、主控板II和表決板組成核心的二取二架構,兩塊主控板分別對表決板發送的外部數據進行邏輯運算,并將運算結果分別發送到表決板進行表決判斷,由表決板確定數據是否輸出。為了保證兩塊主控板運算的結果具有表決的意義,需要保證兩塊主控板之間的數據保持同步,并對無法實現同步的情況進行安全導向處理。
主控板I和主控板II采用串行通信接口周期性地互發同步數據幀,同步數據幀主要包括數據包序列號、外部輸入數據、輸出的邏輯運算結果和FlexRay狀態等,并增加循環冗余校驗(CRC,Cyclical Redundancy Check)碼。
當主控板接收另一主控板同步數據幀時,對CRC碼進行安全校驗,只有校驗通過的數據才有效,否則將丟棄。如果一主控板在連續若干個周期內(周期可配置,一般為3個周期)均未收到另外一主控板的有效數據,則判斷與另一主控板的數據不同步,則將本套安全計算機進行降級處理,例如將其從主用狀態降級為故障狀態。
此外,如果兩塊主控板之間的同步時間超過系統設定的運算周期,則每塊主控板進行累計計時,如果連續若干個周期內(可配置)的同步時間都超過設定的運算周期,則對本套安全計算機進行降級處理。
單套安全計算機的二取二設計主要是保證系統運行的安全性;兩套相同的安全計算機通過切換模塊連接,以熱備冗余的方式組成二乘二取二架構,主要用來提升安全計算機的可用性。
為了保證安全計算機的備用設備升級為主用設備時數據的連續性,兩套安全計算機之間需要保持數據的一致性;同時,需要保證在同一時刻只有一套安全計算機處于主用狀態對外輸出。本章主要介紹兩套安全計算機的切換和數據同步設計。
3.2.1 兩套安全計算機切換邏輯
如圖1所示,安全計算機A和安全計算機B通過纜線連接主/備切換模塊,其切換邏輯如下:
(1)單套安全計算機的主控板通過背板電路發送動態信號到表決板,表決板根據接收到的主控板動態信號,向主/備切換模塊持續發送電平信號;
(2)主/備切換模塊根據獲得的安全計算機A和安全計算機B發送的電平信號的先后順序,判斷主/備狀態,并利用繼電器電路將切換狀態鎖定;
(3)安全計算機A和安全計算機B的表決板分別通過纜線回采主/備切換模塊的電平信號,獲得自身的狀態信息,回采到高電平信號則為主用,回采到低電平信號則為備用;
(4)當主用設備檢測到故障,則停止發送電平信號,主/備切換模塊進行安全計算機A和安全計算機B的切換并鎖定;同時表決板在軟件邏輯上實現主/備狀態的切換;
(5)原備用設備回采到高電平信號,則備用設備升級為主用設備。
3.2.2 兩套安全計算機數據同步
如圖1所示,安全計算機A和安全計算機B通過纜線連接切換模塊實現主/備設備的切換,兩套安全計算機的表決板通過FlexRay-E總線進行數據同步,保證兩套安全計算機切換時數據的一致性。安全計算機A與安全計算機B的數據同步設計如下:
(1)當安全計算機A和安全計算機B分別處于主用和備用的工作狀態時,安全計算機A和安全計算機B之間周期性地互相發送心跳幀,包括運算結果校驗碼、運行周期編號和工作模式;
(2)當備用設備根據心跳幀發現與主用狀態不一致時,則備用設備通過FlexRay-E總線向主用設備發送同步請求幀;
(3)主用設備接收到同步請求幀后,也通過FlexRay-E總線發送同步數據到備用設備;
(4)備用設備表決板接收主用設備發送的同步數據,并檢測本套設備兩塊主控板的狀態,若兩塊主控板狀態相同,則將自身的數據同步為接收的主用設備狀態,保證主/備設備的無間斷切換。
本文針對車輛智能化發展對車載安全計算機提出的高性能、小型化的需求,提出了一種基于FlexRay總線的分布式車載安全計算機系統設計方案。系統中的兩套安全計算機均采用3 U小型化機箱設計,設計了單套安全計算機內的數據同步方法和兩套安全計算機間的數據同步方法,以及主/備設備的切換方法。
該分布式小型化的車載安全計算機系統可以采用一體式的安裝方式,也可以根據需要,將兩套安全計算機分散安裝在車輛的不同機柜中,方便靈活,尤其適合有軌電車、新型的虛擬軌道膠輪列車等安裝空間較為緊張的車輛。目前,基于該論文的設計方法已經完成了兩套3 U機箱的樣機試制和系統搭建,下一步將進行二乘二取二的軟件功能驗證工作。