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