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