馮俊濤,楊新年
(1.中國電子科技集團公司第三十八研究所,安徽 合肥 230088;2.安徽博微長安電子有限公司,安徽 合肥 237014)
?
星載雷達主控軟件設(shè)計與實現(xiàn)
馮俊濤1,楊新年2
(1.中國電子科技集團公司第三十八研究所,安徽 合肥 230088;2.安徽博微長安電子有限公司,安徽 合肥 237014)
針對某星載雷達,結(jié)合軟件的可靠性設(shè)計思想,實現(xiàn)雷達主控軟件的設(shè)計。同時詳細描述了AT697F、1553B等芯片的控制過程,并介紹了設(shè)計過程中需要注意的問題。
雷達主控軟件;AT697F;1553B;可靠性
隨著航天技術(shù)的不斷發(fā)展,對于深空探測的認知活動也越來越成為各國科學(xué)家日益關(guān)注的重點領(lǐng)域。合成孔徑雷達作為一種全天候探測傳感器,在情報偵察、地形地貌測繪、資源考察方面具有得天獨厚的優(yōu)勢,也成為星載探測的重要載荷[1]。軟件作為雷達的核心和大腦,發(fā)揮作用越來越大,但同時面臨的挑戰(zhàn)也日益增大[2]。一方面,由于受到結(jié)構(gòu)、體積、重量、功耗等多方面的限制,星載雷達的硬件趨向于小型化、集成化;另一方面,由于空間電磁場輻射和高能粒子的轟擊,極易放大軟件的設(shè)計缺陷,從而引發(fā)整個雷達載荷的失效甚至災(zāi)難性事故,因此對于軟件可靠性設(shè)計又提出非常嚴苛的要求[3-5]。
1.1 系統(tǒng)拓撲
星載雷達由于受到結(jié)構(gòu)、體積、重量、功耗等因素的影響,往往設(shè)計得比較緊湊。在本雷達中,所有的后端數(shù)字部分設(shè)計在一塊電路板上,需要完成收發(fā)的數(shù)字化處理、雷達時序的產(chǎn)生、信號處理以及雷達系統(tǒng)的主控,整個雷達的數(shù)字部分拓撲結(jié)構(gòu)如圖1所示。其中,雷達主控作為整個雷達的大腦,掌控整個雷達的執(zhí)行。主控軟件駐留在AT697F芯片上,通過1553B接收星上控制系統(tǒng)的控制指令,最終的雷達成像數(shù)據(jù)通過低壓差分信號(LVDS)傳送給星上控制系統(tǒng)。
1.2 AT697F
AT697F芯片是Atmel 公司的基于 SPARCV8 體系結(jié)構(gòu)的高集成度、高性能 32 bit 精簡指令集計算機(RISC)處理器。該處理器有非常好的性能功耗比,其內(nèi)部包含1個片上整型運算單元、1個浮點運算單元(FPU),并有分離的指令 Cache 和數(shù)據(jù) Cache、硬件乘法器和除法器,集成了中斷控制器、帶跟蹤緩沖的調(diào)試支持單元(DSU)、2個 24 位定時器、串行接口、外圍部件互聯(lián)(PCI) 接口、看門狗定時器以及存儲器控制器等。AT697 采用的 Sparcv8 體系結(jié)構(gòu),其存儲器為大端模式,因此在設(shè)計存儲系統(tǒng)的時候,需要考慮存儲芯片與AT697F之間的數(shù)據(jù)線連接。
AT697F內(nèi)部的擴展地址段如表1所示。
表1 AT697F存儲空間地址映射
AT697F初始化過程如下:
(1) 配置TBC、MCFG、FAILSR、SCAR、SCAC、ITMP、IODIR、IOIT、CCR、UASCA、PSR、WIM寄存器;
(2) 初始化中斷向量表,并寫入TBR寄存器;
(3) 初始化堆棧指針,將堆棧的首地址寫入sp寄存器;
(4) 將bss段清零;
(5) 初始化FSR寄存器;
(6) 初始化32個FPU寄存器。
1.3 1553B
1553B總線采用曼徹斯特Ⅱ型編碼,其通訊協(xié)議應(yīng)遵從MIL-STD-1553B標準,接口協(xié)議芯片采用B65170。
1553B初始化過程如下:
(1) 配置起始/復(fù)位、時標、中斷屏蔽寄存器;
(2) 配置寄存器#1、#2、#3、#4;
(3) 設(shè)置方式碼選擇中斷表;
(4) 設(shè)置方式碼數(shù)據(jù);
(5) 設(shè)置子地址0~31的接收、發(fā)送、廣播模式的數(shù)據(jù)緩沖區(qū);
(6) 設(shè)置子地址控制字;
(7) 設(shè)置忙位查詢表以及命令非法化表。
1.4 Flash
在本項目中共采用了2片S29JL064H,作為程序存儲空間以及參數(shù)存儲空間,根據(jù)其地址空間,連接在AT697F的A[23~2]上。S29JL064H分為142個Sector,其中前8個和后8個Sector為8 kB,中間126個Sector為64 kB。對其操作有其特殊的地方,其搽除按照Sector進行,讀寫按照地址偏移讀寫。Flash的初始化過程如下:
(1) 定義Flash的結(jié)構(gòu)體,并將基地址及Sector大小賦值;
(2) 讀取Manufacturer ID和Device ID,并判斷是否為特定的數(shù)值;
(3) 首次讀寫判斷程序分配參數(shù)存儲的Sector是否被擦除,如果未擦除,則一次性擦除,并將相關(guān)的參數(shù)寫入Sector中;
(4) 判斷狀態(tài)是否pass,是則結(jié)束初始化過程。
2.1 數(shù)據(jù)交換設(shè)計
在星載軟件的設(shè)計中,數(shù)據(jù)的交換一般采用空間系統(tǒng)咨詢委員會(CCSDS)規(guī)范標準。CCSDS是多國空間組織組成的國際性標準化組織,為空間數(shù)據(jù)系統(tǒng)制定了150多項標準,涵蓋了空間數(shù)據(jù)通信業(yè)務(wù)、空間關(guān)口業(yè)務(wù)、空間信息交換業(yè)務(wù)等方面。本項目中,主控軟件遵循CCSDS數(shù)據(jù)交換標準。
(1) 時間系統(tǒng)
在本項目中,由于存在多個不同的載荷體制,相互之間的時間碼具有較大的不同。對于雷達來說,時間碼格式采用時間規(guī)范域(T-Field)來表示,其基本時間單元是ms,分段二進制時間計數(shù)碼指定由 CDS(符合CCSDS協(xié)議的分段時間格式)表示,如圖2所示。
(2) 工程參數(shù)
工程參數(shù)涉及到雷達與上級部件以及雷達內(nèi)部的信息交換。在本項目中,對雷達的工程參數(shù)的設(shè)計主要包含了標識域、長度域、控制域、數(shù)據(jù)域以及校驗域五部分,每部分按規(guī)定的格式確定。
2.2 流程設(shè)計
雷達主控軟件控制整個雷達的探測過程,在流程設(shè)計中重點考慮流程的健壯性,尤其是當出現(xiàn)諸如中斷缺失、數(shù)據(jù)異常等情況時,需要相應(yīng)的異常處理機制保證。主控軟件的處理流程如圖3所示。
2.3 可靠性設(shè)計
星載雷達軟件尤其重視可靠性設(shè)計,可靠性除了要求選擇滿足指標的抗輻照器件以外,在設(shè)計上主要是通過冗余技術(shù)來避免空間輻照導(dǎo)致的單粒子翻轉(zhuǎn)。一般來說,冗余技術(shù)主要包括硬件冗余、信息冗余、執(zhí)行冗余和軟件冗余。
(1) 硬件冗余往往受到體積、重量、功耗等因素的影響,大多數(shù)情況下只能采用部分冗余。在本文中主要采用了軟件方面的設(shè)計來保障可靠性。
(2) 信息冗余容錯技術(shù)是為了檢測與糾正數(shù)據(jù)在傳輸或存儲過程中的錯誤而外加一部分冗余信息碼元。信息冗余容錯技術(shù)使用的檢錯與糾錯碼通常有奇偶校驗碼、漢明碼、循環(huán)冗余校驗碼(CRC 校驗)等。其中 CRC 校驗已成為數(shù)據(jù)傳輸差錯控制的標準形式,其對 16 位內(nèi)信息碼的錯誤檢出率為 100%。在本文中,所有的信息交換均采用CRC16的校驗機制。
(3) 執(zhí)行冗余容錯技術(shù)是靠犧牲系統(tǒng)的時間來換取可靠性。對于大部分執(zhí)行過程來說,在沒有受到單粒子影響的情況下,執(zhí)行結(jié)果應(yīng)是正確無誤的。但當瞬時受到單粒子影響,將會導(dǎo)致執(zhí)行過程正確而結(jié)果錯誤。因此,在本文中,設(shè)計了當程序檢測到錯誤的執(zhí)行結(jié)果時,將對前面執(zhí)行代碼重復(fù)執(zhí)行3次,并將執(zhí)行結(jié)果進行比較,選取正確的結(jié)果,以消除瞬態(tài)性的故障。
(4) 軟件冗余主要是通過增加不同的功能模塊、數(shù)據(jù)存儲模塊來實現(xiàn)對功能和數(shù)據(jù)的表決冗余。但是由于本身星載器件的能力有限,如果全部采用功能模塊、數(shù)據(jù)存儲模塊的冗余,將大大增加處理器的資源。因此,在設(shè)計中往往是對重要的數(shù)據(jù)和功能進行冗余。在本文中,軟件冗余是重要的冗余手段,主要采取了以下措施:
(a) 存儲冗余。在外部存儲器中,將執(zhí)行程序體分別存放在不同的存儲空間,并將程序體的CRC校驗和存放在存儲空間中。在系統(tǒng)上電搬運前,將會讀取程序體,計算校驗和,并與存儲空間中的校驗和進行比較,以避免程序體受到破壞。
(b) 接口冗余。對于所有和上級執(zhí)行機構(gòu)以及內(nèi)部信息交換,本文均采用了三分之二的舉手表決機制,降低在信息交換階段出現(xiàn)的錯誤。
(c) 重要數(shù)據(jù)冗余。對中斷標識、大循環(huán)的循環(huán)標志、重要的數(shù)據(jù)等均采用三分之二舉手表決機制;對于單Bit判斷位,本文采用了五分之三表決。
本文介紹一種星載雷達主控軟件的設(shè)計,軟件設(shè)計的好壞是衡量雷達質(zhì)量的重要部分,對于航天型號來說,更要注重軟件的可靠性設(shè)計。該設(shè)計應(yīng)用于某星載探測雷達項目,取得了較好的效果。
[1] 張光義.雷達系統(tǒng)[M].北京:國防工業(yè)出版社,1994.
[2] 連卉,郝燕艷,李延濱,等.基于信息流的星載軟件需求分析方法[J].航天器工程,2015,24(2):68-73.
[3] 何國偉,王緯.軟件可靠性[M].北京:國防工業(yè)出版社,1998.
[4] 李芳華.星載軟件可靠性設(shè)計方法[J].上海航天,2003(3):24-27.
[5] 袁利,王磊.星載軟件可測試性設(shè)計方法[J].中國空間科學(xué)技術(shù),2010(4):31-37.
DesignandRealizationofMainControlSoftwareforStarborneRadar
FENG Jun-tao1,YANG Xin-nian2
(1.No.38 Research Institute of CETC,Hefei 230088,China; 2.Anhui Brainware Changan Electronics Co.,Ltd,Hefei 237014,China)
Aiming at a certain starborne radar,this paper realizes the design of main control software for radar combining with the reliability design idea of the software,at the same time describes the control process of chip AT697F,chip 1553B,etc.detailedly,and introduces some problems should be noted in the design process.
main control software of radar;AT697F;1553B;reliability
2017-03-07
TP311
:A
:CN32-1413(2017)03-0086-03
10.16426/j.cnki.jcdzdk.2017.03.021