許星辰,張迎春,郭 巍
(中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)
在通信衛(wèi)星的轉(zhuǎn)發(fā)器資源(主要是帶寬資源和功率資源)一定的情況下,衛(wèi)星通信系統(tǒng)一般通過(guò)DAMA技術(shù)來(lái)提高衛(wèi)星轉(zhuǎn)發(fā)器資源的利用率。在DAMA方式下,整個(gè)衛(wèi)星轉(zhuǎn)發(fā)器的資源統(tǒng)一由中央站的衛(wèi)星網(wǎng)控中心(NCC)管理。地球站開(kāi)機(jī)后要先在網(wǎng)控中心入網(wǎng)登記,通信時(shí),需要向網(wǎng)控中心提出資源申請(qǐng),然后才能使用網(wǎng)控中心分配的轉(zhuǎn)發(fā)器資源;通信完畢后將轉(zhuǎn)發(fā)器資源釋放,交回網(wǎng)控中心控制。使用DAMA技術(shù)可以有效地提高衛(wèi)星轉(zhuǎn)發(fā)器的利用率,同時(shí)要求每個(gè)地球站必須具備適應(yīng)DAMA體制的網(wǎng)控功能,使之和網(wǎng)控中心一起完成整個(gè)衛(wèi)通系統(tǒng)資源的統(tǒng)一管理和控制。地球站網(wǎng)控(NCU)是地球站在DAMA衛(wèi)通系統(tǒng)入網(wǎng)工作的關(guān)鍵,利用有限狀態(tài)機(jī)(FSM)技術(shù)和模塊化設(shè)計(jì)技術(shù)可以有效地提高目標(biāo)系統(tǒng)的可靠性。
典型的DAMA體制衛(wèi)通網(wǎng)絡(luò)系統(tǒng)呈網(wǎng)狀網(wǎng)結(jié)構(gòu),系統(tǒng)配置專用的網(wǎng)控信道用于網(wǎng)控中心和地球站之間網(wǎng)絡(luò)信令的傳輸,實(shí)現(xiàn)衛(wèi)星資源分配,網(wǎng)控信道為星狀網(wǎng)。網(wǎng)控中心到地球站的信息通過(guò)時(shí)分復(fù)用信道廣播,一般配置主、備各一路;地球站到網(wǎng)控中心的信息采用競(jìng)爭(zhēng)申請(qǐng)(Aloha)信道發(fā)送。Aloha發(fā)送可能發(fā)生碰撞,導(dǎo)致通信失敗,可以采取增加重發(fā)次數(shù)和Aloha信道的數(shù)量來(lái)減少碰撞概率,提高發(fā)送成功率。典型的DAMA體制網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和通信流程如圖1所示。
在DAMA方式下,地球站開(kāi)機(jī)后,首先接收NCC廣播的網(wǎng)絡(luò)通告信令。信令中包括主、備TDM信道參數(shù)信息、Aloha信道參數(shù)等信息。NCU根據(jù)網(wǎng)絡(luò)通告信令中的Aloha信道上報(bào)本站的身份和業(yè)務(wù)類型等信息,登記身份并申請(qǐng)入網(wǎng)。
以電話業(yè)務(wù)為例,入網(wǎng)成功的地球站,當(dāng)用戶撥號(hào)呼叫另一個(gè)地球站時(shí),NCU發(fā)起資源申請(qǐng),并根據(jù)網(wǎng)控中心分配的業(yè)務(wù)信道資源控制地球站信道設(shè)備,使其能和遠(yuǎn)端站通信。用戶掛機(jī)后,NCU報(bào)告釋放資源并控制地球站信道設(shè)備。
圖1 DAMA衛(wèi)通網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和通信流程圖
對(duì)于地球站NCU來(lái)說(shuō),必須保證具有以下基本能力:
①網(wǎng)控信令的生成和解析能力;
②入網(wǎng)和網(wǎng)絡(luò)維護(hù)控制能力;
③DAMA方式資源申請(qǐng)、釋放能力;
④對(duì)地球站信道設(shè)備的參數(shù)保存、恢復(fù)及實(shí)時(shí)監(jiān)控能力。
作為地球站在DAMA衛(wèi)通系統(tǒng)工作的重要部分,NCU運(yùn)行的可靠性和穩(wěn)定性是其可靠工作的基礎(chǔ)。如果地球站NCU出錯(cuò),輕則導(dǎo)致該站無(wú)法參與通信,嚴(yán)重時(shí)可能通過(guò)網(wǎng)控信道影響到整個(gè)衛(wèi)通系統(tǒng)的正常運(yùn)行。例如,由于軟件的設(shè)計(jì)缺陷,在一定條件下,某站的NCU不停地通過(guò)aloha信道向NCC發(fā)送信號(hào),這會(huì)導(dǎo)致aloha沖突概率增大,降低全網(wǎng)資源的利用率。因此,如何提高NCU軟件的可靠性和穩(wěn)定性就成為設(shè)計(jì)工作關(guān)注的關(guān)鍵所在。
NCU的主要特征表現(xiàn)為對(duì)外通信接口較多但通信量不大、控制復(fù)雜;因此采用以中央處理器(CPU)為核心,通過(guò)大規(guī)??删幊踢壿嬈骷‵PGA)擴(kuò)展出多個(gè)通信端口,組成一個(gè)性能強(qiáng)大、高度集成、適應(yīng)性好的嵌入式系統(tǒng)。主要利用FPGA實(shí)現(xiàn)高速數(shù)據(jù)通信,利用CPU實(shí)現(xiàn)靈活控制。
NCU采用了模塊化設(shè)計(jì)的理念進(jìn)行設(shè)計(jì)。所謂模塊化設(shè)計(jì),就是將具有特定功能的部分作為一個(gè)模塊,通過(guò)組合調(diào)用這些功能模塊來(lái)組成總的系統(tǒng)。模塊化設(shè)計(jì)有利于縮短開(kāi)發(fā)周期,降低系統(tǒng)的復(fù)雜度。特別是軟件采用模塊化結(jié)構(gòu)開(kāi)發(fā),可簡(jiǎn)化編程過(guò)程,降低調(diào)試難度,提高目標(biāo)系統(tǒng)的可靠性。
NCU的組成如圖2所示,CPU選用高性能的C8051F023單片機(jī),F(xiàn)PGA器件選用XILINX公司的XC3S4000芯片,采用Verilog硬件描述語(yǔ)言設(shè)計(jì)FPGA軟件。FLASH采用ATMEL24C16器件,用于掉電保存系統(tǒng)參數(shù)。
圖2 NCU組成框圖
NCU對(duì)外通信接口綜述如下:
①網(wǎng)控信道數(shù)據(jù)接口:同步數(shù)據(jù)接口,支持HDLC協(xié)議,RS422電平,速率可變,最大速率128 kbps,數(shù)量1個(gè);
②網(wǎng)控信道監(jiān)控接口:異步數(shù)據(jù)接口,速率可變,最大速率115200bps,可提供RS232電平接口2個(gè),RS485接口2個(gè);
③業(yè)務(wù)信道監(jiān)控接口:異步數(shù)據(jù)接口,速率可變,最大速率115200bps,可提供RS232電平接口2個(gè),RS485接口2個(gè)。
FPGA用來(lái)擴(kuò)展所需的外部通信接口,通過(guò)總線共擴(kuò)展了1個(gè)支持HDLC協(xié)議的同步串口和8個(gè)標(biāo)準(zhǔn)的異步串行口。通信接口由多個(gè)具有特定功能的模塊構(gòu)成,包括總線控制模塊、波特率發(fā)生器模塊、數(shù)據(jù)緩存模塊、同步檢測(cè)模塊、同步接收模塊、同步發(fā)送模塊、異步接收模塊以及異步發(fā)送模塊等。
同硬件和FPGA設(shè)計(jì)一樣,軟件采用模塊化設(shè)計(jì)方法進(jìn)行規(guī)劃,系統(tǒng)的軟件體系結(jié)構(gòu)如圖3所示。系統(tǒng)初始化完成后,開(kāi)始執(zhí)行主控模塊,主控模塊通過(guò)調(diào)用各個(gè)接口處理模塊,共同完成NCU的任務(wù)。
各個(gè)功能模塊描述如下:
圖3 NCU軟件體系結(jié)構(gòu)
①系統(tǒng)初始化模塊:完成系統(tǒng)參數(shù)的讀取,重要變量的賦初值,各個(gè)端口參數(shù)的配置等工作;
②主控模塊:是軟件的核心部分。維護(hù)NCU的工作狀態(tài),接收各接口處理模塊上報(bào)的事件,做出正確的處理動(dòng)作并發(fā)送到相應(yīng)的接口處理模塊執(zhí)行。
③網(wǎng)控接口處理模塊:用于網(wǎng)控信道網(wǎng)控信令的處理和發(fā)送;
④設(shè)備監(jiān)控接口處理模塊:用于站內(nèi)衛(wèi)通設(shè)備實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的處理和發(fā)送;
此外,每個(gè)接口處理模塊采用分層結(jié)構(gòu),從低到高依次為端口驅(qū)動(dòng)程序、數(shù)據(jù)收發(fā)模塊和命令處理模塊。端口驅(qū)動(dòng)程序用于字節(jié)收發(fā);數(shù)據(jù)收發(fā)模塊用于幀結(jié)構(gòu)處理;命令處理模塊處理協(xié)議數(shù)據(jù)的有效內(nèi)容。
為了增加軟件系統(tǒng)的可靠性,在FPGA功能模塊和軟件功能模塊的實(shí)現(xiàn)中,使用了大量的基于FSM技術(shù)的程序架構(gòu)。
FSM是一種重要的形式化技術(shù),經(jīng)常在軟件設(shè)計(jì)中采用。FSM就是描述一個(gè)由有限個(gè)獨(dú)立狀態(tài)組成的過(guò)程,這些狀態(tài)可以互相轉(zhuǎn)移。FSM可以用3個(gè)要素來(lái)表示:狀態(tài)、事件、動(dòng)作。在任意時(shí)刻機(jī)器只能處于給定數(shù)目狀態(tài)中的一個(gè)。當(dāng)某一時(shí)刻機(jī)器接收到一個(gè)輸入事件時(shí),狀態(tài)機(jī)做出動(dòng)作,同時(shí)也可能伴隨著狀態(tài)的轉(zhuǎn)移。狀態(tài)的轉(zhuǎn)移和動(dòng)作不僅與輸入事件有關(guān),而且與機(jī)器的前一狀態(tài)有關(guān)。采用有限狀態(tài)機(jī)可以降低系統(tǒng)的復(fù)雜性,簡(jiǎn)化軟件結(jié)構(gòu),提升軟件的質(zhì)量和可靠性。
NCU中利用FSM實(shí)現(xiàn)的重要功能模塊包括同步串口接收/發(fā)送模塊、同步檢測(cè)模塊、波特率發(fā)生器模塊、異步串口接收/發(fā)送模塊以及主控模塊,網(wǎng)控?cái)?shù)據(jù)收發(fā)模塊以及監(jiān)控?cái)?shù)據(jù)收發(fā)模塊等。
FSM實(shí)現(xiàn)的主要分為2步,首先要準(zhǔn)確地輸出目標(biāo)系統(tǒng)的狀態(tài)轉(zhuǎn)移圖,然后把狀態(tài)轉(zhuǎn)移圖轉(zhuǎn)化為代碼實(shí)現(xiàn)。
FSM是靠事件的觸發(fā)來(lái)進(jìn)行狀態(tài)變化的,即“事件驅(qū)動(dòng)、狀態(tài)轉(zhuǎn)移”。通常用狀態(tài)轉(zhuǎn)移圖來(lái)表示FSM,用閉合節(jié)點(diǎn)代表狀態(tài),節(jié)點(diǎn)之間使用有向線表示狀態(tài)轉(zhuǎn)移情況,有向線上標(biāo)明觸發(fā)該轉(zhuǎn)移的事件和相應(yīng)動(dòng)作。事件驅(qū)動(dòng)的狀態(tài)機(jī)具有良好的開(kāi)放性,可以很方便地增加新的狀態(tài)。
圖4即為簡(jiǎn)化的NCU軟件主控模塊的狀態(tài)轉(zhuǎn)移圖,實(shí)際情況要比這復(fù)雜的多。主控模塊FSM共分為4個(gè)狀態(tài)。初始化完成后,進(jìn)入“搜索通告信令狀態(tài)”,此狀態(tài)下收到通告幀即申請(qǐng)入網(wǎng),進(jìn)入“入網(wǎng)狀態(tài)”?!叭刖W(wǎng)狀態(tài)”要處理NCC的查詢事件以維護(hù)網(wǎng)絡(luò),長(zhǎng)時(shí)間丟失通告信令還會(huì)轉(zhuǎn)移到“搜索通告信令狀態(tài)”;當(dāng)用戶呼叫事件發(fā)生時(shí),向NCC發(fā)起資源申請(qǐng)后進(jìn)入“等待分配狀態(tài)”。該狀態(tài)下超時(shí)后會(huì)重發(fā)申請(qǐng),申請(qǐng)失敗和申請(qǐng)被拒絕事件都會(huì)導(dǎo)致轉(zhuǎn)移到“入網(wǎng)狀態(tài)”;如果資源申請(qǐng)成功,則通知業(yè)務(wù)系統(tǒng)開(kāi)始通信,進(jìn)入“等待通信結(jié)束狀態(tài)”。在“等待通信結(jié)束狀態(tài)”下,如果發(fā)生通信結(jié)束事件,則釋放資源,轉(zhuǎn)移到“入網(wǎng)狀態(tài)”。
圖4 主控模塊狀態(tài)轉(zhuǎn)移圖
根據(jù)目標(biāo)系統(tǒng)FSM的狀態(tài)轉(zhuǎn)移圖,使用Verilog硬件描述語(yǔ)言(FPGA設(shè)計(jì))或者C語(yǔ)言(CPU軟件設(shè)計(jì)),可以很方便地采用Switch…Case語(yǔ)句實(shí)現(xiàn)該FSM功能。
著名的軟件可靠性非齊次Possion過(guò)程(NHPP)模型是軟件可靠性建模研究發(fā)展歷程的一個(gè)里程碑,被證明有著很多優(yōu)良的性能。這類模型假設(shè)在測(cè)試過(guò)程中軟件的累計(jì)故障數(shù){N(t),t≥0}服從NHPP分布,表示累計(jì)故障數(shù)的均值函數(shù)m(t)=E(N(t)),軟件可靠性在(t,t+x)時(shí)間段內(nèi)的定義為:
軟件可靠性模型和評(píng)估方法應(yīng)該考慮測(cè)試覆蓋這一重要因素,并考慮測(cè)試過(guò)程中測(cè)試剖面是否發(fā)生變化。在對(duì)RCU軟件進(jìn)行可靠性測(cè)試過(guò)程中,針對(duì)上述兩方面問(wèn)題,建立一個(gè)基于測(cè)試覆蓋的軟件可靠性增長(zhǎng)模型,并根據(jù)測(cè)試過(guò)程修正測(cè)試剖面,將其分為階段A和階段B。
階段A執(zhí)行438個(gè)測(cè)試用例,共發(fā)生5次軟件失效,累積故障數(shù)8個(gè)。此后對(duì)測(cè)試剖面進(jìn)行了修正,進(jìn)入階段B,又進(jìn)行了320次測(cè)試,共發(fā)生3次失效,累積故障數(shù)5個(gè)。PhaseB測(cè)試結(jié)束后測(cè)試覆蓋率達(dá)到96.73%。將時(shí)刻=438視為變點(diǎn),分析這組測(cè)試數(shù)據(jù),并應(yīng)用最小二乘法估計(jì)參數(shù)值,計(jì)算得到軟件可靠性估計(jì):R(x|t)=0.9805。
該NCU系統(tǒng)設(shè)計(jì)在提高可靠性上采取了多種技術(shù)手段。首先采用高集成度硬件方案簡(jiǎn)化電路,增加了硬件可靠性;其次通過(guò)軟件模塊化設(shè)計(jì),簡(jiǎn)化軟件體系,易于測(cè)試與修改,提高軟件可靠性;在軟件功能模塊的具體實(shí)現(xiàn)上,大量應(yīng)用有限狀態(tài)機(jī)的架構(gòu)設(shè)計(jì),使其結(jié)構(gòu)簡(jiǎn)單、邏輯清晰,進(jìn)一步提高軟件可靠性。目前,基于該設(shè)計(jì)的NCU已經(jīng)在不同多址方式的SCPC/DAMA、CDMA/DAMA衛(wèi)通系統(tǒng)中應(yīng)用,運(yùn)行穩(wěn)定可靠,通用性好,易于移植。經(jīng)工程使用驗(yàn)證,實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)。
[1]呂海寰,蔡劍銘,甘仲民,等.衛(wèi)星通信系統(tǒng)[M].北京:人民郵電出版社,1994.
[2]彭民德,肖健宇.計(jì)算機(jī)操作系統(tǒng)[M].北京:清華大學(xué)出版社,2007.
[3]張彪,王岳環(huán).實(shí)時(shí)圖像處理系統(tǒng)雙總線模塊化設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2007,29(4):53-54,71.
[4]井新宇.基于VHDL設(shè)計(jì)有限狀態(tài)機(jī)FSM的方法[J].信息技術(shù)與信息化,2004(4):29-31.
[5]徐小良,汪樂(lè)宇,周泓.有限狀態(tài)機(jī)的一種實(shí)現(xiàn)框架[J].工程設(shè)計(jì)學(xué)報(bào),2003(5):251-255.
[6]魏穎.基于變點(diǎn)分析的軟件可靠性多模型混合研究[J].系統(tǒng)工程與電子技術(shù),2010,32(4):876-880.
[7]王秉鈞.VSAT衛(wèi)星通信工程[M].北京:中國(guó)鐵道出版社,1998.