基于溫備份技術(shù)的高可靠嵌入式控制器設(shè)計
隨著航天技術(shù)的進(jìn)步,空間科學(xué)實驗的需求日益增多。我國已經(jīng)發(fā)射了實踐系列科學(xué)試驗衛(wèi)星[1],在神舟飛船上也進(jìn)行了大量的空間科學(xué)實驗。為了保證實驗的成功,航天科技人員采用了多種可靠性技術(shù)以提高航天計算機系統(tǒng)的可靠性,如冷熱備份技術(shù)、多數(shù)選舉技術(shù)等。在我國的螢火一號探測器設(shè)計上,載荷配電器采用了熱備份方式[2],而美國的 SERVIS-2衛(wèi)星也使用了類似多數(shù)選舉系統(tǒng)的容錯技術(shù)實現(xiàn)高可靠的數(shù)據(jù)管理系統(tǒng)[3]。
然而,采用此類熱備份技術(shù)保障系統(tǒng)可靠性的同時也帶來了功耗過大等問題;而冷備份在切換后主系統(tǒng)中的關(guān)鍵數(shù)據(jù)和狀態(tài)將會丟失,無法完成控制進(jìn)程的繼承。溫備份技術(shù)可以使個別公用部件處于加電工作狀態(tài),定期地保存主系統(tǒng)運行中的關(guān)鍵數(shù)據(jù)和狀態(tài),當(dāng)主系統(tǒng)發(fā)生故障并切換至備份系統(tǒng)后,備份系統(tǒng)即可迅速自主地完成恢復(fù)運行,是對熱備份和冷備份冗余的改進(jìn)[4],系統(tǒng)設(shè)計實現(xiàn)的關(guān)鍵在于采用高可靠存儲器來保存關(guān)鍵數(shù)據(jù)。本文提出的新型溫備份方案不但減少了高可靠存儲器的使用,而且與標(biāo)準(zhǔn)溫備份系統(tǒng)相比具有更高的可靠性。
1 系統(tǒng)功能和性能
空間科學(xué)實驗控制器可提供以下4種功能[5-6]:
(1)對實驗設(shè)備的控制功能??蓪﹄姍C、繼電器等進(jìn)行控制,包括8路數(shù)字開關(guān)量輸出、4路PWM輸出。
(2)遙測功能,可對電壓、電流、溫度、壓力、開關(guān)狀態(tài)、數(shù)字量等提供實時遙測服務(wù),包括8路12位采樣率為200 KS/s的模擬采樣、8路數(shù)字開關(guān)量的輸入。
(3)數(shù)傳和復(fù)接能力。能夠為需要下傳的大量數(shù)據(jù)(如視頻圖像等)提供數(shù)傳和復(fù)接服務(wù),包括2路LVDS信號的復(fù)接、2路UART和2路SPI接口。
(4)控制科學(xué)實驗進(jìn)程的程序上載功能??臻g科學(xué)實驗控制器的程序可以在軌期間通過串行接口進(jìn)行更新。
在保證控制器以上4種功能的基礎(chǔ)上,本控制器還具有以下特性:(1)高可靠性。選用EP等級器件以減小器件故障率,采用新型溫備份技術(shù)提高系統(tǒng)可靠性。(2)低功耗。選用低功耗器件并采用低功耗技術(shù)降低系統(tǒng)功耗,系統(tǒng)運行時最大功耗為0.4 W。(3)小體積。(4)可擴(kuò)展性。FPGA內(nèi)部使用ARM Coretex-M1處理器IP核可以使協(xié)處理器提升整個控制器的性能,使用以太網(wǎng)IP核擴(kuò)展以太網(wǎng)接口等。
2 硬件設(shè)計
2.1 基于MCU與FPGA的控制器核心
控制器的核心采用了基于MCU與FPGA的系統(tǒng)架構(gòu),如圖1所示。MCU負(fù)責(zé)實驗進(jìn)程的控制和數(shù)據(jù)的采集,包括串行通信、模擬信號(溫度、壓力等)的采集、數(shù)字開關(guān)信號的輸入輸出、PWM輸出(用于溫度控制或電機驅(qū)動等實驗執(zhí)行設(shè)備);FPGA負(fù)責(zé)高速數(shù)字信號的復(fù)接與傳輸,其中使用了低壓差分信號傳輸技術(shù)來傳輸信號。
MCU選用德州儀器公司的MSP430F249-EP,它具有4種低功耗模式,在最低功耗模式下只需0.1 μA的電流即可維持RAM中的內(nèi)容,從低功耗模式切換回工作模式不超過1 μs。即便在工作模式下,MCU消耗的電流也僅為250 μA/MIPS。另外,該MCU具有存儲器和豐富的外設(shè),通用輸入輸出引腳可以配置為UART、I2C、SPI串行通信接口,PWM輸出和模數(shù)轉(zhuǎn)換器的輸入;同時,MCU可以通過JTAG和BSL兩種方式進(jìn)行程序下載,其中BSL方式采用了UART串行接口,適合于MCU在軌期間的程序上載。MCU選用了相對廉價的EP等級的器件,EP器件已通過AQEC標(biāo)準(zhǔn)(ANSI/GEIA STD-0002-1),該標(biāo)準(zhǔn)保證了EP器件達(dá)到了在軍事、航空航天等嚴(yán)酷環(huán)境下的使用要求。在實踐八號科學(xué)試驗衛(wèi)星的池沸騰實驗中,MSP430F249-EP作為實驗控制器成功地完成了預(yù)期的實驗任務(wù)。
FPGA選用Actel公司基于Flash技術(shù)的超低功耗IGLOO系列M1AGL600V2?;贔lash技術(shù)的FPGA與基于SRAM技術(shù)的FPGA相比除了具有較高的可靠性(如具有較高的對抗單粒子效應(yīng)的特性)之外,在同等資源的情況下電池續(xù)航時間是基于SRAM技術(shù)的FPGA的8倍 [7]。IGLOO系列FPGA獨特的超低功耗Flash*Freeze模式可以將器件功耗降至5 μW。在該模式下,所有的時鐘和FPGA內(nèi)核的輸入處于關(guān)閉狀態(tài),僅保持寄存器及SRAM中的內(nèi)容,所有的引腳均處于高阻態(tài)。從Flash*Freeze 模式切換回工作模式只需1 μs。
MCU除通過1路SPI通道與FPGA進(jìn)行通信之外,還通過通用輸出引腳控制FPGA的超低功耗使能引腳使得FPGA進(jìn)入或者退出超低功耗模式,從而控制FPGA進(jìn)入工作狀態(tài)或休眠狀態(tài)。另外,兩個MCU之間的通信使用增強并行口EPP協(xié)議,完成實驗關(guān)鍵數(shù)據(jù)和進(jìn)程信息的備份。該協(xié)議具有 500 KB/s~2 MB/s的數(shù)據(jù)傳輸率和編程方便靈活等特點[8],可以滿足備份的速率要求。
由于主系統(tǒng)與備份系統(tǒng)的接口信號都連在一條總線上,為了保證處于休眠和掉電狀態(tài)的備份系統(tǒng)的引腳信號不影響總線上的信號,要求主備份系統(tǒng)的 FPGA與MCU連在總線上的引腳必須處于高阻態(tài)。IGLOO系列FPGA所有的引腳在休眠和掉電狀態(tài)下處于高阻態(tài),而MSP430所有的引腳在休眠狀態(tài)下則保持不變,因而在MCU與總線的連接中間需插入隔離電路,以保證備份系統(tǒng)的MCU不會影響總線信號。
2.2 可靠性設(shè)計
本文采用的新型溫備份技術(shù)與標(biāo)準(zhǔn)的溫備份技術(shù)不同,它沒有使用共享RAM來定時存儲實驗關(guān)鍵數(shù)據(jù),而是采用加電的備份系統(tǒng)MCU來進(jìn)行存儲。標(biāo)準(zhǔn)溫備份系統(tǒng)架構(gòu)如圖2所示。備份系統(tǒng)在空閑狀態(tài)下處于休眠狀態(tài),消耗極少的功耗。
新型溫備份系統(tǒng)比標(biāo)準(zhǔn)溫備份系統(tǒng)有更高的可靠性。使用旁聯(lián)模型對兩者進(jìn)行任務(wù)可靠性建模,模型如圖3、圖4所示[9]。
盡管旁聯(lián)模型可以大大提高系統(tǒng)的可靠度,但是增加了故障檢測與轉(zhuǎn)換裝置而加大了系統(tǒng)的復(fù)雜度,而且要求故障檢測與轉(zhuǎn)換裝置的可靠度非常高,否則冗余帶來的好處會被嚴(yán)重削弱。針對這一問題,本設(shè)計的故障檢測采用的方法是檢測兩套系統(tǒng)的心跳信號及工作系統(tǒng)的下行數(shù)據(jù)的正確性。備份系統(tǒng)心跳信號的硬件電路如圖5所示,BeatB信號是MCU的通用輸出引腳產(chǎn)生的心跳信號,ISO_CTLB信號指示了MCU是處于備份狀態(tài)或工作狀態(tài),根據(jù)三個電阻不同的電阻比值可以設(shè)定輸出心跳信號的高低電平值,其中兩個二極管的作用是保護(hù)內(nèi)部電路。
[!--empirenews.page--]
轉(zhuǎn)換裝置通過對失效系統(tǒng)的斷電來實現(xiàn)其功能;備份系統(tǒng)對主系統(tǒng)的電源進(jìn)行監(jiān)測。當(dāng)備份系統(tǒng)發(fā)現(xiàn)主系統(tǒng)的供電電壓降至邏輯低電平時,備份系統(tǒng)被激活進(jìn)入工作狀態(tài),從Flash中讀取實驗關(guān)鍵數(shù)據(jù)和實驗進(jìn)程相關(guān)信息并接替實驗控制任務(wù)。
2.3 供電系統(tǒng)設(shè)計
供電系統(tǒng)采用雙通道的冗余設(shè)計,支持7~40 V的寬范圍電壓輸入,為控制器提供了3.3 V、2.5 V和1.5 V的供電電壓,系統(tǒng)框圖如圖6所示。為了保證高效率和小體積的平衡,第一級采用DC/DC電壓轉(zhuǎn)換器實現(xiàn)寬范圍電壓輸入并保證較高的效率,第二級采用低壓差線性穩(wěn)壓器進(jìn)一步降壓。主備份系統(tǒng)的通斷電通過磁保持繼電器進(jìn)行控制。
3 軟件設(shè)計
3.1 FPGA邏輯設(shè)計
FPGA實現(xiàn)的是數(shù)據(jù)復(fù)接功能,完成兩路串行輸入數(shù)據(jù)的復(fù)接并通過串行接口輸出。復(fù)接器在FPGA中實現(xiàn)分為3個模塊:串行輸入模塊、復(fù)接模塊和串行輸出模塊,如圖7所示。兩路LVDS數(shù)據(jù)通過串行輸入模塊存儲在相應(yīng)的FIFO中,復(fù)接模塊中的控制邏輯同步地取出1個或2個FIFO中的數(shù)據(jù)并通過復(fù)接單元復(fù)接后存入FIFO3,串行輸出模塊將FIFO3中的數(shù)據(jù)取出并發(fā)送。
3.2 MCU軟件
主系統(tǒng)的MCU與備份系統(tǒng)的MCU的軟件功能有所不同:主MCU完成實驗的控制、數(shù)據(jù)的采集處理以及向備份MCU定時備份實驗關(guān)鍵數(shù)據(jù)及實驗進(jìn)程信息;備份MCU除定時接收主MCU發(fā)送的備份數(shù)據(jù)外,其余時間處于休眠狀態(tài)。主備份MCU采用統(tǒng)一的程序設(shè)計,程序流程圖如圖8所示。主備份MCU按照特定輸入引腳的電平值確定本系統(tǒng)是主系統(tǒng)或備份系統(tǒng),從而運行不同的程序。
若主MCU出現(xiàn)暫時性故障,則主MCU內(nèi)置的看門狗電路會重啟主MCU,讀入故障前的最后一次備份信息,繼續(xù)實驗。若主MCU出現(xiàn)永久性故障,則主系統(tǒng)進(jìn)入掉電狀態(tài),而備份MCU讀取Flash中的備份信息并接替主系統(tǒng)進(jìn)行實驗控制。
隨著空間技術(shù)的進(jìn)步,空間科學(xué)實驗的需求必然會提升到一個新的高度,同時對科學(xué)實驗設(shè)備的研發(fā)也提出了更高的要求。作為實驗控制核心部件,高可靠控制器的設(shè)計仍將是十分重要的課題。本文利用MSP430與IGLOO系列FPGA的低功耗特性完成的新型溫備份設(shè)計,在提高可靠性的同時保證了系統(tǒng)的低功耗,適用于未來空間科學(xué)實驗的高可靠控制。