国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種低成本小衛(wèi)星重要數(shù)據(jù)抗單粒子翻轉(zhuǎn)方法

2020-10-16 10:59呂達(dá)熊浩倫王啓寧李志剛
航天器工程 2020年5期
關(guān)鍵詞:程控指令編碼

呂達(dá) 熊浩倫 王啓寧 李志剛

(航天東方紅衛(wèi)星有限公司,北京 100094)

隨著商業(yè)衛(wèi)星發(fā)射的爆發(fā)式增長,按照傳統(tǒng)3~5年的大衛(wèi)星研發(fā)周期已不能滿足商業(yè)航天的業(yè)務(wù)需求。航天器中廣泛應(yīng)用的宇航級器件經(jīng)常受到禁運,供貨周期長,而且價格比同功能商用現(xiàn)貨(COTS)器件高數(shù)倍,且性能落后2~3代[1],因此采用COTS產(chǎn)品替代宇航級產(chǎn)品成為商業(yè)航天發(fā)展的一個主要方向[2-3]。COTS產(chǎn)品在小衛(wèi)星上應(yīng)用時,普遍面臨空間輻射引發(fā)的單粒子翻轉(zhuǎn)(SEU)問題,星上重要數(shù)據(jù)(如程控指令、程控數(shù)據(jù)塊、相對程控指令、熱控數(shù)據(jù)及存儲的有效載荷數(shù)據(jù))都要進行抗SEU設(shè)計。目前,抗SEU設(shè)計廣泛采用三模冗余(TMR)或錯誤檢測與糾正(EDAC)技術(shù)。使用TMR技術(shù)可以對抗SEU,但要占用3倍于要保護數(shù)據(jù)的存儲空間,當(dāng)需要保護的數(shù)據(jù)量比較大時,往往是不可行的。傳統(tǒng)EDAC技術(shù)是通過專用硬件電路或FPGA芯片實現(xiàn)[4-5],但小衛(wèi)星受體積小、質(zhì)量小、功耗低、研制成本低及周期短的要求,往往應(yīng)用甚至整機采用COTS產(chǎn)品,通過修改電路實現(xiàn)硬件EDAC方法不適用。另外,對于含有時間信息的重要數(shù)據(jù)(如程控指令或程控數(shù)據(jù)塊),由于程控緩沖區(qū)的維護策略,相同時間的程控指令或程控數(shù)據(jù)塊無法再次上注。對于其他重要數(shù)據(jù),如相對程控、有效載荷數(shù)據(jù)、熱控數(shù)據(jù)等數(shù)據(jù)量大,小衛(wèi)星過境時間短,往往不足10 min,且需要上注必要的任務(wù)數(shù)據(jù),若再要周期上注刷新其他重要數(shù)據(jù)會給在軌維護增加巨大的負(fù)擔(dān)。因此,針對重要數(shù)據(jù)的抗SEU設(shè)計,不能采用地面周期上注刷新的方法。

本文提出一種低成本小衛(wèi)星的重要數(shù)據(jù)抗SEU方法,采用軟件實現(xiàn)重要數(shù)據(jù)差錯控制,在不增加硬件電路的前提下可實現(xiàn)抗SEU的效果。重要數(shù)據(jù)包括程控指令、相對程控指令、程控數(shù)據(jù)塊、有效載荷重要數(shù)據(jù)和熱控數(shù)據(jù)等,這些重要數(shù)據(jù)不常變化,每次變化都要重新上注,因此可以在上注前由地面完成每條重要數(shù)據(jù)的糾錯編碼,星上計算機收到數(shù)據(jù)且判斷正確后對數(shù)據(jù)及其糾錯編碼分別進行存儲,重要數(shù)據(jù)使用前或到達(dá)檢測周期時對重要數(shù)據(jù)進行檢錯。由于錯誤發(fā)生有一定概率,大多數(shù)時候星上只運行檢錯程序,不涉及糾錯,更不不涉及糾錯編碼,因此對CPU增加負(fù)擔(dān)不大,利于實時處理。

1 重要數(shù)據(jù)抗SEU方法

本文提出的小衛(wèi)星重要數(shù)據(jù)抗SEU方法,主要步驟包括對重要數(shù)據(jù)進行糾錯編碼、錯誤檢測及糾錯。考慮到軟件實現(xiàn)數(shù)據(jù)差錯控制會增加CPU的負(fù)擔(dān),因此合理分配了運算量,將重要數(shù)據(jù)的糾錯編碼由地面實現(xiàn),星上計算機只進行重要數(shù)據(jù)的檢錯和糾錯。以程控指令為例,多條程控指令以數(shù)據(jù)塊形式上注,上注幀格式包含同步字、幀長、每條程控指令及對應(yīng)的糾錯編碼,以及所有數(shù)據(jù)對應(yīng)的循環(huán)冗余校驗碼(CRC)值,幀格式如圖1所示。星上計算機收到數(shù)據(jù)后,對同步字、幀長判斷正確后,再對CRC進行判斷,由于CRC有很強的糾錯能力,如CRC16可檢測出所有的1 bit錯誤、2 bit錯誤、任意奇數(shù)個比特錯誤及長度小于16 bit的突發(fā)錯誤[6-7],因此若CRC判斷正確后,則認(rèn)定數(shù)據(jù)正確,并對每條程控指令及糾錯碼分別進行存儲。當(dāng)程控指令執(zhí)行或檢測周期來臨時,針對該條程控指令按對應(yīng)的糾錯碼進行檢錯。若發(fā)現(xiàn)錯誤,則針對錯誤類型情況進行處理;對于每n個比特數(shù)據(jù),可以檢測2 bit錯誤,同時糾正1 bit錯誤。若是1 bit錯誤,則1 bit錯誤計數(shù)加1,且糾錯;若是2 bit錯誤,則2 bit錯誤計數(shù)加1。

圖1 多條程控指令上注的幀格式Fig.1 Format of multiple uplink program control instructions

1.1 地面糾錯編碼

重要數(shù)據(jù)能否實現(xiàn)檢錯及糾錯的基礎(chǔ)是糾錯編碼。通常使用的糾錯編碼有里所(RS)碼、漢明碼、BCH碼、交織碼、循環(huán)漢明碼等,它們各自具有不同的檢錯、糾錯能力,糾錯編碼的選擇就是在譯碼效率、碼率和最小漢明距離(檢糾錯性能)之間進行折中。RS碼是一種編碼效率和糾錯性能都很高的特殊多進制BCH碼,它以符號為單位,具有糾單字檢雙字的功能,糾錯能力強,但譯碼過程較復(fù)雜,若考慮到系統(tǒng)的實時性,此類碼不是最好的選擇。漢明碼優(yōu)點是譯碼較為簡單,占用資源較小,譯碼實時性較強,在實際工程中使用較普遍,因此本文選擇漢明編碼。漢明碼是由n位信息位和k位檢測位構(gòu)成的一種線性分組碼,因此對于漢明碼的編碼,需要監(jiān)督位位數(shù)確定和監(jiān)督位的計算。

(1)監(jiān)督位位數(shù)的確定。若信息位為k位,增加r位監(jiān)督位,構(gòu)成n=k+r位碼字。為了用r個監(jiān)督關(guān)系式產(chǎn)生的r個校正子區(qū)分無錯和在碼字的n個不同位置的1 bit錯誤,要求滿足式(1)。由于同時能夠檢測2 bit錯誤,需要再增加1個全局監(jiān)督位,因此要求滿足式(2)。增加1 byte(8 bit)監(jiān)督位,最多可以對15 byte(120 bit)數(shù)據(jù)進行校驗。表1為監(jiān)督位和信息位的位數(shù)對應(yīng)關(guān)系。

2r-1≥k+r

(1)

2r-1-1≥k+(r-1)

(2)

表1 監(jiān)督位和信息位的位數(shù)對應(yīng)關(guān)系Table 1 Relationship between number of supervision bits and information bits

編碼后數(shù)據(jù)結(jié)構(gòu)如圖2所示。編碼后數(shù)據(jù)為系統(tǒng)碼,便于軟件處理。其中:信息位為Di(i=0,1,2,…,r-1);監(jiān)督位為Pi(i=0,2,…,r-1),Pr-1為全局監(jiān)督位,用于檢測偶數(shù)位錯誤。

圖2 線性分組編碼的結(jié)構(gòu)Fig.2 Structure of linear block coding

(2)監(jiān)督位的計算。將編碼后的數(shù)據(jù)位進行編號,監(jiān)督位編號為2i,如第1,2,4,8,16,32,…[8]。信息碼編號為非2i,如第3,5,6,7,9,10,11,12,13,…。將編號轉(zhuǎn)化為二進制編碼,用校正子Sr-2~S0表示,全局監(jiān)督校正子由Sr-1表示,可得出校正子Sr-2~S0與錯碼的位置關(guān)系,從而得出校正子計算公式,進一步得出監(jiān)督位計算公式。

以相對程控為例進行說明,k=48,r=7,校正子與錯碼位置對應(yīng)關(guān)系如表2所示,S6為全局監(jiān)督位,Sr-2~S0表示錯碼出現(xiàn)的位置。

表2 校正子與錯碼位置對應(yīng)關(guān)系Table 2 Relationship between checker and error code location

由表2可見,僅當(dāng)1 bit錯碼出現(xiàn)在D0,D1,D3,D4,D6,D8,…,P0時,S0為1,否則為0,說明這幾個碼元構(gòu)成監(jiān)督關(guān)系,如式(3)所示。同理,其他監(jiān)督關(guān)系,如式(3)~(9)所示。校正子Si(i=0,1,2,3,4,5,6)為構(gòu)成監(jiān)督關(guān)系的信息位Di(i=1,2,3,…,47)和監(jiān)督位Pi(i=0,1,2,3,4,5,6)的異或和。

S0=D0+D1+D3+D4+D6+D8+…+P0

(3)

S1=D0+D2+D3+D5+D6+D9+…+P1

(4)

S2=D1+D2+D3+D7+D8+D9+…+P2

(5)

S3=D4+D5+D6+D7+D8+D9+…+P3

(6)

S4=D11+D12+D13+D14+D15+

D16+…+P4

(7)

S5=D26+D27+D28+D29+D30+

D31+…+P5

(8)

S6=D0+D1+D2+D3+D4+D5+…+P6

(9)

編碼計算時,令Si(i=0,1,2,3,4,5,6)為0,表示編成的碼組中無錯碼,則可以得到監(jiān)督位Pi計算公式如下。

P0=D0+D1+D3+D4+D6+D8+…+D46

(10)

P1=D0+D2+D3+D5+D6+D9+…+D47

(11)

P2=D1+D2+D3+D7+D8+D9+…+D47

(12)

P3=D4+D5+D6+D7+D8+D9+…+D40

(13)

P4=D11+D12+D13+D14+D15+

D16+…+P47

(14)

P5=D26+D27+D28+D29+D30+

D31+…+D47

(15)

P6=D0+D1+D2+D3+D4+D5+…+D47

(16)

1.2 星上檢錯糾錯

每條程控指令執(zhí)行前或到達(dá)檢測周期時,按式(3)~(9)計算校正子Si(i=0,1,2,3,4,5,6)。大量試驗數(shù)據(jù)表明,靜態(tài)隨機存儲器(SRAM)發(fā)生SEU大多數(shù)是1 bit錯誤,產(chǎn)生2 bit轉(zhuǎn)的次數(shù)占總翻轉(zhuǎn)次數(shù)的1%左右,而產(chǎn)生3 bit、4 bit翻轉(zhuǎn)的概率僅為0.1%~0.01%[9]。因此,若S5~S0不等于0,且S6等于0,說明發(fā)生偶數(shù)比特錯誤,2 bit錯誤計數(shù)加1。若S5~S0不等于0,且S6等于1,說明發(fā)生1 bit錯誤,1 bit錯誤計數(shù)加1,并且根據(jù)校正子與錯碼位置的對應(yīng)關(guān)系,確定錯碼發(fā)生位置,并完成糾錯。如S6~S0等于1000011,則表明該組數(shù)據(jù)D0位置出錯,對D0取反即可實現(xiàn)糾錯。本文檢錯糾錯流程如圖3所示。

重要數(shù)據(jù)檢錯任務(wù)還可周期運行,1次可以對m條指令進行檢錯,m根據(jù)處理器處理能力確定,不給CPU增加過多負(fù)擔(dān)而影響處理器原來的任務(wù)。

2 測試結(jié)果及分析

2.1 測試結(jié)果

本文方法在小衛(wèi)星綜合電子計算機上進行了測試。針對的數(shù)據(jù)包括小衛(wèi)星的相對程控指令、程控指令、程控數(shù)據(jù)塊、有效載荷數(shù)據(jù)等,主要進行故障注入,程控指令糾錯算法選用(80,72)擴展?jié)h明碼,相對程控指令糾錯算法選用(56,48)擴展?jié)h明碼,程控數(shù)據(jù)塊選用(128,120)擴展?jié)h明碼。數(shù)據(jù)上注后,通過修改星務(wù)中心計算機內(nèi)存的方法將以上數(shù)據(jù)產(chǎn)生1 bit錯誤及2 bit錯誤。每種數(shù)據(jù)類型故障隨機注入100次,測試結(jié)果如表3所示,表明本文方法可以有效地檢錯并糾錯。

表3 重要數(shù)據(jù)檢錯糾錯方法測試結(jié)果Table 3 Test results of error detection and correction method for important data

2.2 性能分析

(1)本文通過軟件實現(xiàn)重要數(shù)據(jù)檢錯糾錯,不改變原硬件結(jié)構(gòu),不需增加硬件EDAC芯片或FPGA,可大大節(jié)約成本,適合采用COTS產(chǎn)品體系的低成本衛(wèi)星使用。

(2)本文方法同三模冗余方法相比,占用內(nèi)存量少,僅需要給監(jiān)督位分配存儲空間。若需要保護數(shù)據(jù)長度的字節(jié)數(shù)為N,對于相對程控指令選用(56,48)擴展?jié)h明碼,本文方法占用存儲空間約為1.16N,對于程控指令選用(80,72)擴展?jié)h明碼,本文方法占用存儲空間約為1.11N,而三模冗余方法占用存儲空間為3N。由于星務(wù)中心計算機要存儲上千條程控指令、程控數(shù)據(jù)塊、相對程控指令和有效載荷重要數(shù)據(jù),因此本文方法可以大大節(jié)約存儲空間,解決內(nèi)存緊張的問題。

(3)本文方法可以周期性進行檢錯,若在軌長期使用,由于SEU會發(fā)生積累,三模冗余方法有失效的風(fēng)險。本文方法采用數(shù)據(jù)檢錯任務(wù)周期運行,每周期可以完成m條重要數(shù)據(jù)的檢錯糾錯,避免由于SEU效應(yīng)長期積累造成三模冗余方法2份數(shù)據(jù)出現(xiàn)錯誤的風(fēng)險。

(4)本文方法實現(xiàn)檢錯的運算復(fù)雜度大于三模冗余方法,但由于合理分配運算量,每條重要數(shù)據(jù)的糾錯編碼在地面完成,星上只對該數(shù)據(jù)進行檢錯,因此對CPU增加負(fù)擔(dān)小,利于實時處理。

3 結(jié)束語

本文提出一種軟件實現(xiàn)的小衛(wèi)星重要數(shù)據(jù)抗SEU方法,不增加硬件電路,適合基于COTS產(chǎn)品體系研制的低成本小衛(wèi)星平臺。該方法事先對程控指令等重要數(shù)據(jù)每條指令設(shè)計相應(yīng)糾錯碼并完成上注,星上將重要數(shù)據(jù)及對應(yīng)糾錯碼進行存儲,重要數(shù)據(jù)使用前或周期進行檢錯,出現(xiàn)錯誤時可以有效檢錯并糾錯。由于星上每次只對一定條數(shù)重要數(shù)據(jù)進行檢錯,發(fā)現(xiàn)錯誤進行糾錯解碼,所有重要數(shù)據(jù)均不進行糾錯編碼,不會給CPU增加過多負(fù)擔(dān);而且,相對于三模冗余方法,在很大程度上節(jié)約了內(nèi)存空間。

猜你喜歡
程控指令編碼
生活中的編碼
長鏈非編碼RNA APTR、HEIH、FAS-ASA1、FAM83H-AS1、DICER1-AS1、PR-lncRNA在肺癌中的表達(dá)
程控交換機的數(shù)據(jù)備份與恢復(fù)技術(shù)分析
《單一形狀固定循環(huán)指令G90車外圓仿真》教案設(shè)計
子帶編碼在圖像壓縮編碼中的應(yīng)用
新機研制中總裝裝配指令策劃研究
關(guān)于ARM+FPGA組建PLC高速指令控制器的研究
Genome and healthcare
探析單片機的程控小信號放大線路
交通通信程控機系統(tǒng)功能分析
乳源| 永昌县| 五常市| 安阳市| 襄垣县| 山丹县| 平顶山市| 手游| 辽宁省| 南部县| 康马县| 安吉县| 平远县| 吴川市| 皋兰县| 佛学| 泾源县| 景泰县| 林口县| 西丰县| 昌黎县| 沙田区| 新闻| 陇西县| 永顺县| 开化县| 神池县| 石柱| 钟山县| 屏东市| 胶南市| 稻城县| 轮台县| 滨海县| 广元市| 额敏县| 辽阳县| 沭阳县| 和龙市| 当涂县| 鄂托克前旗|