(1.航天東方紅衛(wèi)星有限公司,北京 100094; 2.上??臻g電源研究所,上海 200245)
智能化自主管理是衛(wèi)星應(yīng)用發(fā)展的趨勢,能源管理單元作為衛(wèi)星供配電分系統(tǒng)的功能模塊之一,是供配電分系統(tǒng)實現(xiàn)智能化信息采集和控制管理的關(guān)鍵部件[1]。根據(jù)總體任務(wù)要求,一般完成供配電分系統(tǒng)工作狀態(tài)監(jiān)視與控制、工程參數(shù)的采集、遙控指令的接收與執(zhí)行、蓄電池組的充電控制和保護、蓄電池組溫控、與星務(wù)主機進行通信等功能。傳統(tǒng)的能源管理單元一般采用單片機+PROM的形式,外擴外圍電路采用大量的集成芯片,功耗約在瓦級,且體積重量也較大。
目前,小衛(wèi)星載荷任務(wù)呈現(xiàn)多樣化發(fā)展趨勢,載荷/平臺重量比不斷增加,這要求衛(wèi)星平臺逐漸向高功能密度和輕量化發(fā)展[2-3]。片上系統(tǒng)(System on Chip, SoC)正是為了適應(yīng)日益復(fù)雜的電子設(shè)備需求而產(chǎn)生,其在單個芯片上集成了一個完整的系統(tǒng),一般包括中央處理器、存儲器和多種外圍電路[4-5]。利用SoC進行能源管理單元設(shè)計,有利于提高供配電功能密度,減輕供配電系統(tǒng)重量,統(tǒng)一技術(shù)狀態(tài),同時可以加強供配電在軌自主管理能力,適應(yīng)批量快速生產(chǎn),降低生產(chǎn)成本。
但目前的片上系統(tǒng)大多為商用芯片,在軌飛行經(jīng)歷少,對嚴(yán)酷的空間環(huán)境適應(yīng)性有待考核[6-7]。能源管理單元直接對供配電分系統(tǒng)的運行狀態(tài)進行監(jiān)視和控制,一旦發(fā)生故障,將會嚴(yán)重影響到整星的能源安全,甚至?xí)苯佑绊懙胶教炱魅蝿?wù)的成功與否。因此,需要針對商用SoC在設(shè)計階段開展完善的可靠性設(shè)計。
本文提出一種基于C8051F040型SoC的小衛(wèi)星能源管理單元軟硬件設(shè)計,并在此基礎(chǔ)上開展可靠性設(shè)計。最后開展系統(tǒng)測試和在軌飛行驗證。
軟硬件界面的劃分是能源管理單元的頂層設(shè)計,以功能需求驅(qū)動系統(tǒng)的軟硬件協(xié)同設(shè)計。
1)能源管理單元完成采集、處理供配電分系統(tǒng)的模擬量工程參數(shù)。C8051F040集成了一個12 位分辨率和一個8位分辨率的逐次逼近寄存器型ADC,每個ADC自帶可編程模擬多路開關(guān)選擇器(AMUX)[8]。因此,直接利用SoC自帶的ADC輔以軟件處理,即可完成該功能。在不外擴模擬開關(guān)的前提下,理論上利用C8051F040最多可完成21路外部供配電分系統(tǒng)模擬量采集。
2)能源管理單元完成采集、處理供配電分系統(tǒng)的狀態(tài)量工程參數(shù)。C8051F040有按8 位端口組織的64 個數(shù)字I/O 引腳,每個數(shù)字引腳均可被配置為數(shù)字輸入。因此狀態(tài)量采集直接利用軟件讀取I/O口寄存器的方式實現(xiàn)。
3)能源管理單元完成與星務(wù)雙路冷備份CAN總線通信。C8051F040 集成了1路Bosch CAN控制器,用于進行串行通信,但并未提供物理層驅(qū)動器。因此需要外擴1片收發(fā)器82C250。另1路CAN總線通信通過外擴CAN控制器SJA1000和收發(fā)器82C250實現(xiàn)硬件支持,通過軟件中斷響應(yīng)操作C8051F040數(shù)據(jù)地址總線完成通信。
4)能源管理單元根據(jù)相應(yīng)的邏輯判斷或CAN總線輸入完成脈沖型/電平型OC指令的輸出。C8051F040通過數(shù)據(jù)地址總線控制指令鎖存器進行間接命令的路選及信號的形成,然后由開關(guān)輸出電路(OC門驅(qū)動電路)形成最終的指令,用來驅(qū)動供配電分系統(tǒng)的控制器件。因此需要外擴相應(yīng)指令路數(shù)的鎖存器與OC門驅(qū)動芯片。通過軟件定時刷新鎖存器的方式控制指令脈沖的寬度。
5)能源管理單元完成與供配電分系統(tǒng)其它下位機(如電池下位機)的串行通信。通過C8051F040集成的SMBus0 I/O 接口,接口兼容I2C 串行總線協(xié)議,軟件配置I2C主從工作模式實現(xiàn)串行通信。
6)軟件具備在軌可修改功能。C8051F040集成了64KB可在線編程的FLASH 存儲器,軟件通過CAN總線上注的方式實現(xiàn)FLASH擦寫,通過預(yù)埋鉤子函數(shù)的方式實現(xiàn)程序替換。
7)軟件其它功能。根據(jù)總線協(xié)議和幀格式要求對總線輪詢和指令進行應(yīng)答;對蓄電池溫度采集處理后完成閉環(huán)邏輯控制;完成充放電電量的累計、當(dāng)前電量的計算和滿電量的邏輯判斷與置位等。
能源管理單元采用雙機冷備份設(shè)計,其原理框圖見圖1。主備份模塊除用于主備份狀態(tài)遙測的狀態(tài)量輸入不同以外,其它部分均相同。主備份共用電源切換控制電路。
圖1 能源管理單元硬件架構(gòu)原理框圖
能源管理單元的看門狗電路使用的是專用看門狗電路芯片MAX706TESA,該電路在完成復(fù)位功能的同時,可以監(jiān)視系統(tǒng)電源電壓,并能在電壓低于3.08 V時給CPU系統(tǒng)復(fù)位,確保在電源電壓不穩(wěn)定時保護對外接口電路,避免能源管理單元對外進行誤操作。其基本電路原理圖如圖2所示。
圖2 看門狗電路
能源管理單元設(shè)計外部16 MHz晶振,為CPU提供工作時鐘。CAN總線波特率500 Kbps,可以使用16 M晶振。SoC內(nèi)部CAN總線控制器使用系統(tǒng)時鐘,外擴SJA1000使用單獨的16 M晶振。電路原理圖見圖3。
圖3 晶振電路
由于SoC供電為3.3 V,而鎖存器、OC門驅(qū)動電路以及SJA1000等外圍電路均為5V供電,所以電平轉(zhuǎn)換電路是將SoC模塊I/O口產(chǎn)生的0~3.3 V電平轉(zhuǎn)換為0~5 V電平輸出,轉(zhuǎn)換信號包括數(shù)據(jù)信號、地址信號、片選信號、讀寫信號等。
數(shù)據(jù)信號需要雙向轉(zhuǎn)換,其它信號只需SoC輸出方向單向轉(zhuǎn)換,雙向轉(zhuǎn)換的方向同SoC產(chǎn)生的讀信號方向。因此采用SoC的讀信號控制電平轉(zhuǎn)換電路(SN74ALVC164245)的電平轉(zhuǎn)換控制端。
能源管理單元供電包含三部分,即切機控制電路、+5 V供電電路和+3.3 V供電電路。能源管理單元為雙機冷備份設(shè)計,通過直接指令“能源管理單元A通B斷”和“能源管理單元B通A斷”切換供電總開關(guān)繼電器。能源管理單元電路使用+5 V和+3.3 V兩種電壓,每路電壓均通過具有限流保護的線性穩(wěn)壓器MAX883或MAX882進行隔離保護。切機控制電路見圖4。
圖4 切機控制電路
軟件基本結(jié)構(gòu)采用主程序循環(huán)加中斷響應(yīng)的方式,其基本結(jié)構(gòu)框圖如圖5所示。中斷優(yōu)先級按照圖中從左至右依次降低的順序排列。
圖5 軟件結(jié)構(gòu)框圖
系統(tǒng)上電或復(fù)位后,必須對能源管理單元軟件的運行環(huán)境進行初始化,初始化模塊執(zhí)行能源管理軟件初始化的功能,主要包括對硬件、端口等的初始化,對變量、數(shù)據(jù)區(qū)等的初始化。初始化模塊相關(guān)存儲分配表見表1。
電量計控制是采用計算機軟件進行蓄電池組充放電管理的技術(shù),其目的是精確、最佳化地對掌握蓄電池組充放電狀態(tài)。
表1 存儲地址分配表
其主要功能是根據(jù)充電電流、放電電流、充放比和計算時間間隔來計算當(dāng)前電量、充電電量和放電電量,并按要求進行比較;同時對計算后電量值進行有效值范圍判斷,異常則恢復(fù)默認(rèn)電量計參數(shù);重要的遙測參數(shù)進行3取2判決,異常則恢復(fù)默認(rèn)電量計參數(shù)。
能源管理單元作為整星CAN總線從節(jié)點,按照相關(guān)協(xié)議約定的要求,實現(xiàn)與星務(wù)中心計算機之間的信息交換。主要功能是接收星務(wù)中心計算機發(fā)出的輪詢指令,按數(shù)據(jù)幀格式將供配電分系統(tǒng)的工程參數(shù)上傳到星務(wù)中心計算機,并對星務(wù)中心計算機下傳的間接指令解碼和執(zhí)行,處理上行數(shù)據(jù)塊。CAN總線中斷響應(yīng)流程圖見圖6。
圖6 CAN總線中斷響應(yīng)流程圖
I2C總線中斷響應(yīng)是通過狀態(tài)機的方式實現(xiàn)。每次中斷產(chǎn)生,根據(jù)當(dāng)前狀態(tài)和狀態(tài)寄存器SMB0STA中保存的8 位狀態(tài)碼進行狀態(tài)遷移和總線操作。函數(shù)實現(xiàn)主發(fā)送狀態(tài)機和主接收狀態(tài)機。
能源管理單元上注數(shù)據(jù)主要包括參數(shù)數(shù)據(jù)塊、程序數(shù)據(jù)塊和內(nèi)存下泄數(shù)據(jù)塊,通過設(shè)計不同的起始標(biāo)志區(qū)分3種數(shù)據(jù)塊。供配電系統(tǒng)的部分控制參數(shù)需要在軌修改,這些參數(shù)的修改分別通過上注安全監(jiān)測參數(shù)數(shù)據(jù)塊和電量計參數(shù)數(shù)據(jù)塊來實現(xiàn)。
圖7 上注數(shù)據(jù)處理流程圖
與通用軟件相比,星上軟件本身具有處理器能力有限、存儲空間較小等嵌入式軟件的特點;軟件長期在軌運行,空間環(huán)境較為惡劣,軟件運行環(huán)境易受空間環(huán)境特別是單粒子效應(yīng)影響。本文采用針對性的軟件可靠性設(shè)計提高商用SoC芯片的空間環(huán)境適應(yīng)能力。
4.1.1 三模冗余設(shè)計
三模冗余包括三模冗余存儲、三取二表決、三取二刷新以及三取二恢復(fù)等內(nèi)容。采用三模冗余會使得占用存儲空間和機時增加,對于不具備EDAC功能商用SoC集成的SRAM、FLASH等存儲器中存儲的、影響系統(tǒng)運行分支或重要運算結(jié)果的數(shù)據(jù)量小的關(guān)鍵數(shù)據(jù)或影響整星安全的關(guān)鍵指令等采用三模冗余設(shè)計。
三模冗余存儲:將關(guān)鍵數(shù)據(jù)存儲在物理上不連續(xù)的3個地址中;
三取二表決:讀取時采取三取二表決的方式,使用三取二后的結(jié)果進行操作;
三取二刷新:對關(guān)鍵數(shù)據(jù)進行三取二表決,將表決結(jié)果寫回3個數(shù)據(jù)區(qū);
三取二恢復(fù):因單粒子效應(yīng)產(chǎn)生的硬件不可糾正的錯誤時,使用三取二表決結(jié)果恢復(fù)錯誤數(shù)據(jù)。
4.1.2 數(shù)據(jù)校驗
對于通過總線等方式傳送的數(shù)據(jù)、存儲器中連續(xù)地址上的一段關(guān)鍵數(shù)據(jù)或代碼采用累加和、異或和等校驗方式。
4.1.3 數(shù)據(jù)濾波
模擬量信號采樣采取多次采集的方式,并使用濾波算法對采樣信號進行處理,避免瞬時錯誤傳遞擴大為安時計累積或能源安全判斷錯誤;并根據(jù)硬件特性,在每次采集之間留有一定間隔,避免信號毛刺導(dǎo)致采集的數(shù)據(jù)有誤[9]。如安全模式進入判斷,通過總線采集的遙測至少連續(xù)三次達(dá)到相應(yīng)閾值后,才能判斷滿足安全模式的進入條件。
4.1.4 有效性驗證
從外部接收到的數(shù)據(jù)用于分支判斷或重要操作時,應(yīng)先驗證數(shù)據(jù)的有效性再進行后續(xù)操作,避免無效或錯誤的數(shù)據(jù)影響軟件甚至整星狀態(tài)。例如安全監(jiān)測參數(shù)數(shù)據(jù)塊使用前對數(shù)據(jù)范圍進行判斷,避免使用無效數(shù)據(jù)進行后續(xù)操作。
對影響系統(tǒng)運行模式、運行狀態(tài)等特別關(guān)鍵的操作,進行多重條件判斷,只有在兩個或多個條件滿足的情況下,軟件才執(zhí)行指定操作。如進入安全模式,必須滿足安全模式使能允許、安全模式進入判據(jù)等多個條件同時滿足時才進入安全模式。
4.3.1 未使用存儲器保護
軟件對所有未使用的存儲區(qū)填充軟件陷阱,當(dāng)軟件走飛到未用FLASH區(qū)域中時,系統(tǒng)能夠及時恢復(fù)。
4.3.2 未處理中斷保護
設(shè)計未使用中斷的中斷保護函數(shù),當(dāng)程序異常誤入未使用中斷時,該中斷保護函數(shù)能夠正確退出中斷。
4.3.3 看門狗機制
使用外部看門狗來監(jiān)視軟件的運行狀態(tài),當(dāng)軟件在規(guī)定時間內(nèi)未進行清狗操作時,通過看門狗復(fù)位使計算機系統(tǒng)重新復(fù)位。
4.4.1 三取二錯誤計數(shù)遙測
設(shè)置緩變遙測三取二錯誤計數(shù),三取二操作產(chǎn)生不一致情況時計數(shù)增加,對SRAM在軌異常狀況進行統(tǒng)計。涉及的三取二參數(shù)如表2。
表2 軟件三取二參數(shù)列表
4.4.2 內(nèi)存下泄
對于三取二參數(shù)以外的數(shù)據(jù)區(qū)和程序區(qū),設(shè)計內(nèi)存下泄的方式,通過上注數(shù)據(jù)塊指定特定地址,可以將SRAM的數(shù)據(jù)或FLASH的程序?qū)懭刖徸償?shù)據(jù)緩存區(qū),通過星地遙測方式下傳。該方式需要注意的是對作為關(guān)鍵判據(jù)的緩變參數(shù)的保護,例如緩變安全模式字是星務(wù)進行能源安全判斷的標(biāo)志,在內(nèi)存下泄時不能被替代。
為了降低在型號的生命周期內(nèi)產(chǎn)生的能源管理單元故障錯誤對分系統(tǒng)乃至整星的影響,能源管理單元需具有良好的在軌維護性。本文針對性開展了以下設(shè)計。
4.5.1 程序可上注
模塊級維護:經(jīng)過在軌運行驗證,如果軟件某些功能不能滿足在軌運行的實際需求,或者需要增加某些功能,可以選擇模塊級在軌維護,完成對軟件函數(shù)的替換。
配置項級維護:如果在軌發(fā)生重大質(zhì)量問題或者需求在軌發(fā)生重大變化,需要更動的軟件功能較多,可以選擇配置項級在軌維護,完成對軟件的整體替換。
4.5.2 總線容錯
能源管理單元軟件設(shè)計原則是首先保證不對總線產(chǎn)生干擾,同時具有抵抗總線干擾的能力,并能在嚴(yán)重干擾情況下自動恢復(fù)[10]。例如設(shè)置獨立的總線緩沖區(qū)、滿足幀間隔協(xié)議和總線狀態(tài)自主監(jiān)測復(fù)位等措施。
4.5.3 重要數(shù)據(jù)備份恢復(fù)
能源管理單元中影響供配電安全的關(guān)鍵數(shù)據(jù)定時進行些FLASH操作,在能源管理單元復(fù)位或切機后通過數(shù)據(jù)應(yīng)急恢復(fù)關(guān)鍵狀態(tài)量等重要信息,使得供配電分系統(tǒng)迅速恢復(fù)復(fù)位/切機前的狀態(tài),減少人為干預(yù)。
4.5.4 系統(tǒng)級安全模式
能源管理單元中某些危及整星供電安全的操作,例如蓄電池過放保護,設(shè)計相應(yīng)的閉環(huán)邏輯,實時監(jiān)測蓄電池達(dá)到可恢復(fù)供電的狀態(tài)時,自主接入蓄電池。從系統(tǒng)級安全模式設(shè)計考慮應(yīng)急狀態(tài)下或錯誤操作后的自主恢復(fù)。
基于該商用SoC的能源管理單元在希望二號、歐比特視頻衛(wèi)星等9顆衛(wèi)星上得到了應(yīng)用,覆蓋500km~1100km的低軌道空間環(huán)境,在軌表現(xiàn)穩(wěn)定。通過遙測“能源管理單元熱啟動計數(shù)”和“關(guān)鍵參數(shù)三取二錯誤計數(shù)”判斷,能源管理單元未發(fā)生熱啟動,SoC集成的SRAM也未發(fā)生頻繁的單粒子翻轉(zhuǎn)事件,供配電分系統(tǒng)遙測采集正常,指令執(zhí)行正常。主要技術(shù)指標(biāo)與傳統(tǒng)基于單片機+PROM的實現(xiàn)方式對比見表3。
通過表3可以看出,基于商用SoC設(shè)計的能源管理單元在功耗、重量、尺寸、元器件獲取等方面具有較大的優(yōu)勢,并且可以降低成本,適用于小衛(wèi)星大規(guī)模、批量化生產(chǎn)。
本文提出一種基于商用SoC的能源管理單元設(shè)計方法,并針對商用器件開展了詳細(xì)的可靠性設(shè)計。通過地面測試和在軌多顆衛(wèi)星的實際應(yīng)用驗證,表明該設(shè)計能夠滿足供配電分系統(tǒng)在軌使用需求?;谏逃肧oC的設(shè)計在功耗、重量、尺寸、成本和元器件等方面具有較大的優(yōu)勢,適應(yīng)于快速批量化、低成本設(shè)計生產(chǎn),可以為后續(xù)小衛(wèi)星或微小衛(wèi)星能源管理單元提供設(shè)計參考。
表3 與傳統(tǒng)實現(xiàn)方式主要技術(shù)指標(biāo)對比