雙TSC695F處理器在微小衛星電子平臺中的應用
星務(wù)中心計算機是微小衛星電子系統的核心部件之一,本文介紹的星務(wù)中心計算機是由雙TSC695F處理器加外圍功能模塊實(shí)現的,它的主要作用是診斷整星狀態(tài)、安排整星任務(wù)的運行和調度,使衛星能正常的運行。另外,為了減少地面干預次數和增強衛星在軌生存能力,要求衛星具有高度的自主性,這也依賴(lài)于星務(wù)中心計算機的調度能力。因此,要求星務(wù)中心計算機功能強、能應付各種惡劣環(huán)境、并具有很強的自適應性,即能在線(xiàn)檢測現場(chǎng)并自主實(shí)施決策處理。宇航計算機芯片是微小衛星整星電子系統一體化設計的一個(gè)重要的組成部分,由于一旦進(jìn)入太空,空間計算機系統就具有不可修復性,這就要求系統有很強的容錯能力,即使在故障條件下,還能正常工作。
系統總體方案
星務(wù)中心計算機采用模塊級冗余技術(shù)來(lái)增強系統的可靠性,內部主要的電路模塊均采取雙冗余設計,如CPU模塊(雙TSC695F)、CAN總線(xiàn)模塊、USB總線(xiàn)模塊、遙測輸出通道模塊、遙控輸入通道模塊等。當前正在運行的電路模塊發(fā)生故障時(shí),系統通過(guò)容錯電路自動(dòng)切換或由地面控制切換到另一個(gè)備份的電路模塊,繼續當前電路模塊的工作,而發(fā)生故障的電路模塊則由地面根據其遙測狀態(tài)數據判斷其故障并采取相應的措施。CPU模塊可采用雙TSC695F抗輻照CPU,其工作頻率最高可達50MHz,是一款比較適合航天領(lǐng)域應用的CPU,系統原理框圖如圖1所示。
圖1 系統原理框圖
從圖1可以看出,A機和B機有各自的最小系統電路,即有獨立的SRAM和Flash等,不會(huì )互相影響。同時(shí),A機和B機共享外圍IO設備,這是通過(guò)PLD1和PLD2來(lái)實(shí)現的。在PLD1和PLD2中,主要實(shí)現各功能IO外設總線(xiàn)的切換,因為所有IO外設的數據、地址以及控制總線(xiàn)都是由FPGA實(shí)現。這樣,通過(guò)PLD1或PLD2,就可以把總線(xiàn)1和總線(xiàn)2上的IO外設掛在A(yíng)機上運行或是掛在B機上運行了,從而實(shí)現功能部件的容錯。而系統級的容錯主要是靠系統仲裁模塊來(lái)控制的,在這里的系統仲裁模塊是采用高可靠性的宇航級PLD來(lái)實(shí)現的,該PLD要實(shí)現的功能相對簡(jiǎn)單,邏輯清楚,主要接收雙機的看門(mén)狗信號和心跳信號,同時(shí)輸出雙機系統復位以及關(guān)雙機電源信號的功能,從而實(shí)現雙機系統自主容錯功能。
本設計采用了由歐洲宇航局設計、法國TEMIC公司生產(chǎn)的專(zhuān)門(mén)應用于宇航工業(yè)的32位RISC抗輻照處理器芯片TSC695F。其特點(diǎn)包括:速度更高、功耗低于1.5W;抗輻照能力強;內置一個(gè)片上調試器(OCD),用于在軟件開(kāi)發(fā)和校驗期間的非侵入程序執行控制;內部集成了內部/外部總線(xiàn)奇偶校驗和外部總線(xiàn)EDAC糾錯檢錯以支持容錯功能。
圖2 CAN總線(xiàn)接口電路圖
TSC695F的標準版本能夠提供高達20MIPS的速度,具有抗單粒子干擾能力和超過(guò)300krad的總輻照劑量耐受力,能夠滿(mǎn)足我國衛星應用需求。
硬件接口設計
TSC695F是整個(gè)星務(wù)中心計算機控制系統的核心,控制系統所有的電路,以下分別介紹各功能電路模塊的設計。
1 存儲器接口
為了滿(mǎn)足系統復雜的運算和數據存儲要求,提供了兩片512K16位的SRAM,總計2MB,為運行RTEMS實(shí)時(shí)操作系統提供了豐富的存儲資源。另外采用4MB Flash作為程序存儲區。以上所有的存儲器電路均帶有EDAC功能,通過(guò)TSC695F自身的EDAC功能,對存儲區的數據進(jìn)行實(shí)時(shí)的數據錯誤檢測和糾錯。
2 CAN總線(xiàn)接口
CAN總線(xiàn)接口電路主要由CAN總線(xiàn)控制器、收發(fā)器和高速隔離光耦組成,CAN總線(xiàn)控制器采用的是SJA1000,是CAN總線(xiàn)接口電路的核心,主要完成CAN總線(xiàn)的通信協(xié)議,而CAN總線(xiàn)收發(fā)器的主要功能是增大通信距離,提高系統的瞬間抗干擾能力,保護總線(xiàn),降低射頻干擾(RFI),實(shí)現熱防護等,訪(fǎng)問(wèn)CAN總線(xiàn)是通過(guò)TSC695F的I/O空間實(shí)現,地址邏輯譯碼由FPGA實(shí)現。CAN總線(xiàn)接口電路如圖2所示。
3 USB總線(xiàn)接口
USB總線(xiàn)控制器采用ISP1160,該芯片支持USB 2.0協(xié)議,支持全速和低速兩種速度模式,提供兩個(gè)USB主下行端口,支持控制傳輸、中斷傳輸、批量傳輸和同步傳輸四種傳輸模式,速度最高可達12Mb/s,訪(fǎng)問(wèn)USB總線(xiàn)的地址空間是通過(guò)訪(fǎng)問(wèn)TSC695F的IO空間實(shí)現的,地址的邏輯譯碼由FPGA實(shí)現。USB總線(xiàn)接口電路原理圖如圖3所示。
4 RS422總線(xiàn)接口
RS422總線(xiàn)接口電路由串口和RS422電平轉換芯片構成,串口的功能由FPGA實(shí)現,帶16B FIFO,波特率有115 200/38 400/9600多種選擇;RS422總線(xiàn)電平轉換芯片采用MAX488MJA,為了提高抗干擾能力,采用了隔離電源,電源的完全隔離可采用小功率電源隔離模塊B0509LS-1W實(shí)現,雖然增加了節點(diǎn)的復雜程序,但是卻提高了節點(diǎn)的穩定性和安全性。RS422總線(xiàn)接口電路原理如圖4所示。
圖3 USB總線(xiàn)接口電路圖
容錯電路設計
系統容錯設計是整個(gè)系統設計的關(guān)鍵,容錯電路要求簡(jiǎn)潔、可靠,容錯措施包括以下幾部分。
1 EDAC容錯
利用TSC695F自身的EDAC功能,可以實(shí)現內存或總線(xiàn)的EDAC,從而達到對內存和總線(xiàn)的一位或兩位錯誤的糾正和檢測。
2 看門(mén)狗檢測
系統仲裁檢測電路中對由雙TSC695F組成的主/備用機設置了“看門(mén)狗”監視器,系統正常工作時(shí),會(huì )周期性地進(jìn)行“喂狗”動(dòng)作,當系統發(fā)生故障時(shí),“喂狗”動(dòng)作停止,產(chǎn)生系統復位,如果系統連續四次復位均不正常,則系統仲裁檢測電路會(huì )進(jìn)行系統切換操作,切斷故障機電源,打開(kāi)備用機電源。同時(shí),運行故障檢測定位程序,找出故障原因。
3 心跳信號檢測
當主機在正常的運行過(guò)程當中,會(huì )周期性地通過(guò)GPIO口發(fā)出一系列的方波信號告知系統仲裁模塊當前工作正常,當系統故障時(shí),心跳信號消失,由仲裁模塊進(jìn)行復位操作,當5次復位均無(wú)效后,進(jìn)行電源的切換,從而實(shí)現容錯的目的。
4 雙系統自主容錯
本系統可以分為冷備用動(dòng)態(tài)雙模冗余模式和熱備用動(dòng)態(tài)雙模冗余模式。
在冷備用動(dòng)態(tài)雙模冗余模式下,工作狀態(tài)如下所述:系統默認A機為主機,B機為備份機,同時(shí)關(guān)閉B機電源,由兩個(gè)開(kāi)關(guān)信號GPIO2和GPIO3來(lái)控制PLD1和PLD2,PLD1和PLD2的功能主要是實(shí)現A/B機總線(xiàn)的開(kāi)關(guān)切換,即選擇A機的IO功能總線(xiàn)還是選擇B機的IO功能總線(xiàn),同一時(shí)刻只有一路總線(xiàn)有效,默認情況下PLD1工作,PLD2處于熱備份狀態(tài)。當PLD1控制下的IO功能模塊出現故障時(shí),產(chǎn)生出錯中斷,切斷PLD1的開(kāi)關(guān),同時(shí)通知CPU切換到PLD2控制下的總線(xiàn)工作,如果PLD2控制下的IO模塊也出現了故障,那么這時(shí)由FPGA1產(chǎn)生一個(gè)信號通知系統仲裁模塊關(guān)閉A機的電源,打開(kāi)B機的電源,從而實(shí)現雙系統間的容錯切換。
在熱備用動(dòng)態(tài)雙模冗余模式下,工作狀態(tài)如下所述:系統上電后,A機和B機都上電,A機為主模塊,B機為從模塊,A機B機同步工作,但B機不作系統輸出,這樣,當進(jìn)行數據通信時(shí),A機和B機可以對接收的數據進(jìn)行數據比對。如果發(fā)現數據不同,則先由A機進(jìn)行通道切換,再進(jìn)行數據的通信,再進(jìn)行數據比對。如果發(fā)現A機出現故障,則系統進(jìn)行重構:先切除原主模塊,再將原備用模塊切換為主模塊,同時(shí)通過(guò)讀取雙口RAM的數據作為最后一次傳輸的結果,保證數據不丟失。
圖4 RS422總線(xiàn)接口電路圖
圖5 容錯流程圖
容錯流程如圖5如示。
軟件開(kāi)發(fā)平臺
隨著(zhù)衛星技術(shù)的不斷發(fā)展,以及實(shí)際應用需求的不斷提高,星務(wù)計算機所要處理的任務(wù)越來(lái)越復雜,其運算量也隨之變得越來(lái)越大,以往對底層硬件依賴(lài)程度較高的“控制流+中斷”的程序結構已不能適應星務(wù)計算機的發(fā)展。為了解決這個(gè)問(wèn)題,我們引入了嵌入式實(shí)時(shí)多任務(wù)操作系統(EOS)――RTEMS,利用珠海歐比特控制工程股份有限公司開(kāi)發(fā)的基于此操作系統的Orbita EOS嵌入式操作系統及其Orbita EOS 開(kāi)發(fā)工具,可大大提高軟件編程效率和可靠性,具體可參考Orion4.0用戶(hù)手冊。
結束語(yǔ)
在采用雙TSC695F作為容錯星務(wù)計算機的研發(fā)過(guò)程中,筆者深深感覺(jué)到容錯功能的重要性,容錯功能的優(yōu)良與否直接影響到星務(wù)計算機在軌的生存能力,除了硬件上的容錯外,軟件方面的容錯也不容忽視。
評論