裴志斌,呂媛媛
(北京全路通信信號(hào)研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070)
軌道交通領(lǐng)域的列控系統(tǒng)是對(duì)列車(chē)運(yùn)行狀態(tài)進(jìn)行控制的系統(tǒng),其中的安全平臺(tái)應(yīng)該具備高安全性、高可靠性的特點(diǎn),滿(mǎn)足安全完整性等級(jí)SIL4 級(jí)功能要求。TMS570 是TI 公司Hercules 系列的安全微處理器,是TI 針對(duì)航空航天、軌道交通領(lǐng)域推出的新型安全微處理器。一般的微處理器不具備安全功能,需要用戶(hù)通過(guò)軟件實(shí)現(xiàn),而TMS570 微處理器在硬件內(nèi)部已做好安全防護(hù),從而使CPU 部分的架構(gòu)簡(jiǎn)潔化、性能最佳化,從而減少用戶(hù)軟件開(kāi)銷(xiāo)。本文基于TMS570 設(shè)計(jì)一個(gè)列控系統(tǒng)SIL4級(jí)安全平臺(tái)。
在EN 50129:2018 標(biāo)準(zhǔn)里,針對(duì)SIL4 級(jí)系統(tǒng)提出要求,對(duì)數(shù)字集成電路的單點(diǎn)故障防護(hù)應(yīng)對(duì)CPU 進(jìn)行初始化時(shí)的自檢和運(yùn)行中的周期自檢。系統(tǒng)對(duì)安全CPU 的自檢內(nèi)容應(yīng)包括:指令集(加減乘除、移位、等值、與或非等)、內(nèi)部RAM、??臻g防護(hù)、內(nèi)部ROM、寄存器(通用寄存器、專(zhuān)用寄存器含F(xiàn)lag Register、核外可檢測(cè)寄存器)、Cache(盡量關(guān)掉,因缺少自檢方法)和時(shí)鐘偏移。
TMS570 CPU 可提供雙核鎖步CPU 架構(gòu)、CPU 和存儲(chǔ)器內(nèi)置硬件自檢BIST、內(nèi)存保護(hù)單元(MPU)、Flash 和RAM 接口上的ECC 和片上時(shí)鐘及電壓監(jiān)控等一些關(guān)鍵功能的安全特性,單CPU 芯片達(dá)到了IEC61508 標(biāo)準(zhǔn)中SIL3 級(jí)的相關(guān)要求。CPU 硬件內(nèi)置的自檢功能,使用戶(hù)無(wú)需設(shè)計(jì)復(fù)雜的安全軟件和花費(fèi)安全代碼費(fèi)用,即可檢測(cè)到潛在缺陷。
以TMS570 系列里的TMS570LS3137 為例,CPU 架構(gòu)如圖1 所示,從安全功能角度將CPU 分為3 部分。
圖1 TMS570LS3137芯片結(jié)構(gòu)Fig.1 TMS570LS3137 chip architecture
紅色部分為安全島層(Safe Island Layer):包含芯片內(nèi)安全運(yùn)行相關(guān)功能,如雙CPU 鎖步周期故障檢測(cè)機(jī)制、RAM 的ECC 等,這些功能始終運(yùn)行,用戶(hù)無(wú)法關(guān)閉,擁有最高的硬件自檢診斷覆蓋率。
藍(lán)色部分為混合層(Blended Layer):包含執(zhí)行外部安全相關(guān)功能的外設(shè)。這部分功能僅在部分關(guān)鍵部位具備有限的硬件自檢措施,如外圍存儲(chǔ)器上的奇偶校驗(yàn)、模擬和數(shù)字I/O 環(huán)回測(cè)試、AD 自檢和校正等,自檢主要通過(guò)用戶(hù)軟件實(shí)現(xiàn)。
黑色部分為離線(xiàn)層(Offline Layer):包含調(diào)試和測(cè)試相關(guān)功能。這部分功能不包含在硬件自檢范圍內(nèi)。
TMS570 架構(gòu)中設(shè)計(jì)了一個(gè)錯(cuò)誤信號(hào)模塊(ESM-Error Signaling Module),來(lái)提供內(nèi)部安全措施的故障指示集合。CPU 檢測(cè)到故障后會(huì)通過(guò)ESM 模塊觸發(fā)中斷處理,并通過(guò)MCU 的ERROR引腳向外輸出信號(hào)。故障依據(jù)固定的嚴(yán)重等級(jí)分類(lèi),根據(jù)故障的分類(lèi)產(chǎn)生相應(yīng)的反應(yīng),ESM 對(duì)故障等級(jí)的管理如表1 所示。
表1 TMS570中ESM故障等級(jí)劃分Tab.1 ESM fault levels classification in TMS570
以TMS570LS3137 為例,芯片給出128 個(gè)故障通道對(duì)應(yīng)的故障源。本平臺(tái)中使用CPU 的AD、PWM、FLASH、以太網(wǎng)等資源,針對(duì)這些資源,設(shè)計(jì)了相關(guān)ESM 中斷的處理,如表2 所示。
表2 本平臺(tái)中ESM故障處理Tab.2 ESM fault handling in the platform
對(duì)于CPU 自檢的具體方法,在EN/IEC61508-2中有明確的指引。EN50129:2018 由于考慮了鐵路行業(yè)的專(zhuān)有特點(diǎn),在失效模式與EN/IEC61508 保持一致的情況下,對(duì)防護(hù)措施/方法做了部分調(diào)整,以適應(yīng)于更嚴(yán)苛的鐵路運(yùn)營(yíng)安全需要。
根據(jù)EN50129 對(duì)SIL4 級(jí)系統(tǒng)的要求,結(jié)合本平臺(tái)實(shí)際應(yīng)用情況,啟用的CPU 主要自檢項(xiàng)及處理方法如下。
1)電源
TMS570 內(nèi)置電壓監(jiān)測(cè)(VMON)獨(dú)立于CPU 運(yùn)行,用戶(hù)無(wú)法配置和關(guān)閉。當(dāng)CPU 內(nèi)核和輸入輸出引腳電壓超出指定范圍,VMON 會(huì)將CPU 強(qiáng)制拉入安全狀態(tài)。同時(shí),使用TPS65381 作為外部電源管理芯片,屬于TMS570 推薦配套的電源管理芯片,可實(shí)現(xiàn)安全看門(mén)狗功能。
MCU 中有兩個(gè)電源管理模塊采用鎖步方式運(yùn)行,當(dāng)檢測(cè)到鎖步異常后通過(guò)ESM 觸發(fā)中斷。此功能時(shí)刻運(yùn)行,無(wú)法關(guān)閉。為了檢測(cè)電源管理模塊的鎖步機(jī)制運(yùn)行是否正常,電源鎖閉自檢分兩步:比較一致的測(cè)試和鎖步故障植入測(cè)試。本自檢只在啟動(dòng)時(shí)執(zhí)行。
2)周期寄存器配置回讀
用戶(hù)軟件運(yùn)行中定期回讀所有固定不變的寄存器配置,當(dāng)發(fā)現(xiàn)寄存器數(shù)值出現(xiàn)變動(dòng),平臺(tái)進(jìn)行宕機(jī)處理。
3)重啟
CPU 的nRST 和nPORRST 引腳自帶毛刺濾波,防止錯(cuò)誤重啟,該功能屬于強(qiáng)制項(xiàng),無(wú)法關(guān)閉。
4)CPU
TMS570 使用雙核鎖步技術(shù),雙核相差兩個(gè)CPU 時(shí)鐘周期運(yùn)行相同程序,最后通過(guò)比較器檢測(cè)CPU 計(jì)算結(jié)果是否異常。雙核鎖步比較失敗會(huì)通過(guò)ESM 觸發(fā)不可屏蔽中斷。強(qiáng)制功能時(shí)刻運(yùn)行,無(wú)法關(guān)閉。CPU 鎖步比較自檢是通過(guò)故障植入檢測(cè)CPU 比較器是否正常運(yùn)行。本檢測(cè)僅在啟動(dòng)時(shí)執(zhí)行一次;CPU 邏輯自檢(LBIST)通過(guò)硬件對(duì)兩個(gè)CPU 的寄存器和指令執(zhí)行結(jié)果進(jìn)行檢測(cè),本檢測(cè)在執(zhí)行完成后會(huì)觸發(fā)CPU 熱啟動(dòng),僅在啟動(dòng)時(shí)執(zhí)行一次。
5)內(nèi)存
TMS570 具備ECC 保護(hù)功能,在啟動(dòng)時(shí)配置執(zhí)行。當(dāng)內(nèi)存檢測(cè)到1 bit 可糾正錯(cuò)誤后,會(huì)將修正后的數(shù)據(jù)存入錯(cuò)誤寄存器,同時(shí)將修正后的數(shù)據(jù)回寫(xiě)入內(nèi)存中,并從內(nèi)存重新讀取。當(dāng)再一次檢測(cè)到1 bit 可糾正錯(cuò)誤后,CPU 進(jìn)入活鎖狀態(tài),觸發(fā)ESM 中斷,需要CPU 重啟。此功能在啟動(dòng)后強(qiáng)制啟用。同時(shí),CPU 自帶硬件內(nèi)存自檢電路(PBIST),可提供對(duì)SRAM 的高診斷覆蓋率自檢,所有片上RAM 都可以檢測(cè)到,但這個(gè)自檢會(huì)破壞內(nèi)存中的原有數(shù)據(jù),因此僅在啟動(dòng)時(shí)執(zhí)行一次,自檢失敗后平臺(tái)宕機(jī)。
列控系統(tǒng)安全平臺(tái)一般為三取二或二乘二取二架構(gòu)。為實(shí)現(xiàn)高可靠性和高安全性,本文基于TMS570 搭建了一個(gè)二乘二取二的安全平臺(tái)。TMS570 本身是通過(guò)認(rèn)證的SIL3 級(jí)CPU,通過(guò)兩個(gè)CPU 二取架構(gòu),配合CPU 自檢措施,可以達(dá)到SIL4 級(jí)功能安全。同時(shí),通過(guò)雙系二乘架構(gòu),可以達(dá)到高可靠性的要求。
平臺(tái)內(nèi)部通信(系內(nèi)雙CPU 間以及雙系間)采用TMS570 自帶的Flexray 高速冗余總線(xiàn),來(lái)實(shí)現(xiàn)時(shí)間同步和數(shù)據(jù)交互功能;外部通信采用TMS570自帶的以太網(wǎng),來(lái)實(shí)現(xiàn)和外部系統(tǒng)的大容量數(shù)據(jù)交互功能。平臺(tái)架構(gòu)如圖2 所示。
圖2 安全平臺(tái)結(jié)構(gòu)Fig.2 Security platform architecture
目前,列控系統(tǒng)安全平臺(tái)中CPU 安全功能多數(shù)由用戶(hù)軟件實(shí)現(xiàn),具有代碼繁瑣,設(shè)計(jì)復(fù)雜等缺點(diǎn)。憑借集成的安全特性和可供選擇的多種通信接口和控制外設(shè),TMS570 為具有安全要求的高性能實(shí)時(shí)控制應(yīng)用提供了理想解決方案。本文基于TMS570 設(shè)計(jì)了一種二乘二取二安全平臺(tái),用戶(hù)只需通過(guò)配置和簡(jiǎn)單的故障處理即可實(shí)現(xiàn)安全防護(hù)措施,使用戶(hù)可以將精力放在業(yè)務(wù)功能層面,為用戶(hù)帶來(lái)了極大便利。