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