劉佳昕,趙欣博,高洪宇,劉海榮
(1 中國(guó)空間技術(shù)研究院通信與導(dǎo)航衛(wèi)星總體部 北京 100094 2 海裝駐上海第九軍事代表室 上海 200135 3 上海航天電子有限公司 上海 201821)
隨著通信衛(wèi)星星載設(shè)備數(shù)量和整星信息容量的日益增加,衛(wèi)星總線通信協(xié)議對(duì)總線的數(shù)據(jù)動(dòng)態(tài)交互機(jī)制和自適應(yīng)性要求也日益增高[1,2]。目前,國(guó)內(nèi)航天器主要采用1553B 總線進(jìn)行通信[3]。根據(jù)協(xié)議,為保證遠(yuǎn)程終端(RT 端)與總線控制端(BC 端)順利通信,需要總線控制器端口應(yīng)用軟件中預(yù)先輸入RT 端通信時(shí)需要的內(nèi)部遙測(cè)指標(biāo)、存儲(chǔ)位置等自描述信息,因此導(dǎo)致了1553B 總線自適應(yīng)性能單一、普適性差、遙測(cè)信息無(wú)法動(dòng)態(tài)交互的問(wèn)題[4]。
某通信衛(wèi)星采用自適應(yīng)1553B 總線協(xié)議,根據(jù)協(xié)議,在BC 端與RT 端通信之前,無(wú)需預(yù)置RT 端通信時(shí)需要的自描述信息。衛(wèi)星加電后,BC 端依次與各RT 端通過(guò)循環(huán)訪問(wèn)的方式進(jìn)行數(shù)據(jù)交互,同時(shí)獲得各RT 端的遙測(cè)參數(shù)容量、存儲(chǔ)位置等自描述信息,并根據(jù)各RT 端的自描述信息為其提供相應(yīng)的數(shù)據(jù)交互服務(wù),有效解決了傳統(tǒng)1553B 總線協(xié)議中自適應(yīng)性能差的缺陷[5]。
文獻(xiàn)[6]在某飛機(jī)通信中設(shè)計(jì)了自適應(yīng)1553B 總線,有效解決了總線通信命令發(fā)送單一、不可控、配置不靈活的缺陷。文獻(xiàn)[7]在多功能仿真測(cè)試卡的基礎(chǔ)上設(shè)計(jì)了監(jiān)控測(cè)試軟件,實(shí)現(xiàn)對(duì)1553B 總線消息監(jiān)控和對(duì)消息源碼進(jìn)行解析的功能。但1553B 總線自適應(yīng)功能在通信衛(wèi)星領(lǐng)域應(yīng)用甚少,且缺少相關(guān)研究資料,這給通信衛(wèi)星1553B 總線自適應(yīng)功能驗(yàn)證工作帶來(lái)了一定困難[8,9]。
本文針對(duì)某通信衛(wèi)星首次采用自適應(yīng)1553B 總線通信,使用1553B 總線RT 端監(jiān)控與交互系統(tǒng)對(duì)該衛(wèi)星總線自適應(yīng)性能進(jìn)行測(cè)試,模擬1553B 的BC 端和RT 端,設(shè)計(jì)了自適應(yīng)1553B 總線測(cè)試用例,對(duì)衛(wèi)星總線通信功能及自適應(yīng)功能進(jìn)行了邏輯驗(yàn)證。
某通信衛(wèi)星采用1553B 總線網(wǎng)絡(luò),是以星務(wù)管理單元SMU(Space Management Utilities)為BC 端,綜合電子分系統(tǒng)綜合業(yè)務(wù)單元及其他分系統(tǒng)中的控制單元為RT 端的分布式網(wǎng)絡(luò)系統(tǒng)[10]。考慮到不同的數(shù)據(jù)傳輸業(yè)務(wù)需求和可靠性、數(shù)據(jù)量及實(shí)時(shí)性要求的區(qū)別,某通信衛(wèi)星采用2 條1553B 總線設(shè)計(jì),分別為平臺(tái)1553B 總線和載荷1553B 總線,每套總線均包含AB 通道,兩套總線采用互不耦合的并行工作方式,提供與各網(wǎng)絡(luò)單機(jī)設(shè)備的數(shù)據(jù)共享、數(shù)據(jù)傳輸?shù)姆?wù),并提供可靠的通信通路和容錯(cuò)機(jī)制[11],1553B總線架構(gòu)如圖1 所示。
圖1 衛(wèi)星1553B 總線架構(gòu)圖Fig.1 1553B bus structure of a certain platform
與傳統(tǒng)1553B 總線協(xié)議不同的是,某通信衛(wèi)星采用自適應(yīng)1553B 總線協(xié)議,該協(xié)議自適應(yīng)性能主要體現(xiàn)在:①RT 自描述信息動(dòng)態(tài)輪詢獲取;② A/B 總線自適應(yīng)輪詢功能[12]。
1.2.1 RT自描述信息動(dòng)態(tài)輪詢獲取
衛(wèi)星1553B 的BC 端SMU,在衛(wèi)星上電后采用循環(huán)訪問(wèn)的方式對(duì)RT 進(jìn)行檢測(cè),系統(tǒng)上電前,即SMU 在與各個(gè)RT 通信之前,SMU 對(duì)RT 設(shè)備內(nèi)部遙測(cè)參數(shù)容量、存儲(chǔ)位置,以及RT 設(shè)備所需的數(shù)據(jù)傳輸服務(wù)都是未知的,RT 設(shè)備的自描述信息無(wú)需預(yù)置在SMU 的應(yīng)用軟件中[13]。
衛(wèi)星上電后,BC 端SMU 會(huì)建立RT 狀態(tài)表,周期性地依次與該衛(wèi)星的所有RT(數(shù)量為N)進(jìn)行數(shù)據(jù)交互,獲取每個(gè)合法RT 端的自描述信息。當(dāng)RT 自描述信息校驗(yàn)正確時(shí),SMU 按照RT 設(shè)備自描述字段定義的內(nèi)容進(jìn)行相應(yīng)的訪問(wèn),并動(dòng)態(tài)獲取該RT 設(shè)備的自描述信息;當(dāng)RT 的自描述信息無(wú)法校驗(yàn)成功時(shí),BC 端SMU 會(huì)將該RT 端的地址設(shè)為無(wú)效通信地址,并丟棄該RT 端的自描述信息。衛(wèi)星通電期間,SMU 以448 ms 為周期不間斷地對(duì)1553B 總線上的所有RT 進(jìn)行訪問(wèn),每448 ms 完成一次對(duì)所有RT 的輪詢。1553B 總線BC 端對(duì)RT 端周期性輪詢握手流程圖如圖2 所示。
圖2 BC 端循環(huán)訪問(wèn)取得RT 端自描述信息流程圖Fig.2 Dynamic acquisition of self-descriptive messages
1.2.2 A/B總線自適應(yīng)輪詢功能
衛(wèi)星通電期間,BC 端SMU 以448 ms 為周期對(duì)總線上的N個(gè)RT 設(shè)備循環(huán)進(jìn)行訪問(wèn),先通過(guò)A 總線依次對(duì)RT1至RTN進(jìn)行循環(huán)訪問(wèn),若第i(1≤i≤N)個(gè)RTi與SMU 成功握手,則SMU 動(dòng)態(tài)獲取RTi自描述信息,同時(shí)認(rèn)為RTi為A 總線的任務(wù),并標(biāo)志與RTi通信成功;若未能成功握手,則SMU 通過(guò)A 總線重新嘗試與RTi進(jìn)行通信握手,當(dāng)?shù)诙瓮ㄐ盼帐质?,則對(duì)該RTi進(jìn)行標(biāo)記,接著去訪問(wèn)RTi+1,當(dāng)一個(gè)循環(huán)訪問(wèn)周期后,SMU 切換至B 總線。再次輪詢通信時(shí),SMU 只與已被標(biāo)記未成功握手的RT進(jìn)行數(shù)據(jù)交互,若握手成功,則SMU 更新與該RT 進(jìn)行數(shù)據(jù)交互時(shí)狀態(tài)表對(duì)應(yīng)的相關(guān)信息,同時(shí)認(rèn)為該RT 端為B 總線的任務(wù),若A 總線與B 總線均無(wú)法與該RT 進(jìn)行通信,系統(tǒng)將認(rèn)為該RT 端通信超時(shí)。
當(dāng)SMU 與某一個(gè)標(biāo)記為握手成功的RT 設(shè)備通信時(shí),若出現(xiàn)傳輸數(shù)據(jù)中斷或異常的現(xiàn)象,則SMU按照總線容錯(cuò)管理方式,切換AB 總線重試。切換后若不成功,則將該RT 地址表示為未接入。期間始終保持AB 總線循環(huán)切換,周期為448 ms。若某條總線重試通信成功,則SMU 將更新該RT 端的AB總線使用狀態(tài),A/B 總線自適應(yīng)輪詢流程圖如圖3 所示。
圖3 A/B 總線自適應(yīng)輪詢流程圖Fig.3 A/B bus self-adaptive polling
為驗(yàn)證某通信衛(wèi)星自適應(yīng)1553B 總線通信功能,本文設(shè)計(jì)了系統(tǒng)級(jí)與整星級(jí)的測(cè)試方案,從而驗(yàn)證了自適應(yīng)1553B 總線RT 端內(nèi)部自描述信息動(dòng)態(tài)獲取功能,以及1553B 總線A/B 總線自適應(yīng)循環(huán)訪問(wèn)功能。
根據(jù)某衛(wèi)星1553B 總線協(xié)議,在地面遙控指令在系統(tǒng)上電后,通過(guò)觀測(cè)綜合業(yè)務(wù)單元上電前后總線通信狀態(tài)邏輯,對(duì)A/B 總線自適應(yīng)循環(huán)訪問(wèn)功能進(jìn)行測(cè)試,不需要地面設(shè)備。自描述信息動(dòng)態(tài)輪詢獲取功能在整星AIT(總裝集成測(cè)試)階段無(wú)法進(jìn)行監(jiān)測(cè),需要借助地面測(cè)試設(shè)備模擬RT 對(duì)總線通信狀態(tài)進(jìn)行監(jiān)視,從而驗(yàn)證BC 端對(duì)RT 自描述信息動(dòng)態(tài)獲取的功能。因此,衛(wèi)星1553B 自適應(yīng)總線通信功能測(cè)試可按照功能分為兩類測(cè)試方案:一類是在分系統(tǒng)階段,通過(guò)設(shè)計(jì)自適應(yīng)1553B 總線仿真與測(cè)試平臺(tái),并利用總線終端監(jiān)視與處理設(shè)備,可以驗(yàn)證RT 端內(nèi)部自描述信息動(dòng)態(tài)獲取功能;一類是在整星階段驗(yàn)證A/B 總線自適應(yīng)循環(huán)訪問(wèn)功能測(cè)試。
為驗(yàn)證某通信衛(wèi)星1553B 的BC 端對(duì)RT 端自描述信息獲取的功能,本文搭建了1553B 總線仿真測(cè)試平臺(tái),實(shí)現(xiàn)對(duì)總線實(shí)時(shí)監(jiān)視與分析功能。1553B 總線仿真測(cè)試平臺(tái)由總線RT 端監(jiān)控與交互系統(tǒng)、SMU和總線接口測(cè)試設(shè)備構(gòu)成。其中,總線RT 端監(jiān)控與交互系統(tǒng)由RT 控制面板和BM 監(jiān)視軟件構(gòu)成,RT控制面板用于設(shè)置各RT 的自描述信息,BM 監(jiān)視軟件用于監(jiān)控BC 端是否與RT 成功握手。通過(guò)總線RT 端監(jiān)控與交互系統(tǒng)模擬RT 端、SMU 為BC 端驗(yàn)證總線協(xié)議的正確性和自適應(yīng)性。
2.1.1 總線RT 端監(jiān)控與交互系統(tǒng)
總線RT 端監(jiān)控與交互系統(tǒng)由1 臺(tái)PCI 機(jī)箱、1 組CPU 模塊和2 組1553B 模塊組成,從而模擬1553B總線通信功能。各個(gè)功能模塊安裝在PCI 工控機(jī)中,通過(guò)底板的PCI 總線與CPU 模塊進(jìn)行信息交互,CPU模塊上運(yùn)行有總線RT端監(jiān)控與交互系統(tǒng)軟件。
2.1.2 RT 自描述信息動(dòng)態(tài)獲取功能測(cè)試流程
根據(jù)總線協(xié)議中RT 端自描述字段的定義,總線RT 端監(jiān)控與交互系統(tǒng)軟件在RT 上電運(yùn)行后,將RT 所屬的自描述信息錄入該系統(tǒng)規(guī)定的字段里,并將之存在RT 的子地址1 的物理區(qū)域,供SMU 進(jìn)行獲取[14]。為充分驗(yàn)證BC 端與RT 端握手后是否能正確獲取其內(nèi)部遙測(cè)參數(shù)信息,根據(jù)自適應(yīng)1553B協(xié)議,分別在總線RT 端監(jiān)控與交互系統(tǒng)軟件上,設(shè)置正確的RT 內(nèi)部遙測(cè)參數(shù)信息與非正確的內(nèi)部遙測(cè)參數(shù)信息,監(jiān)測(cè)SMU 是否能夠與RT 端成功握手,設(shè)計(jì)測(cè)試流程如下:
①設(shè)置通信總線芯片為RT 工作模式,且下位機(jī)軟件每次進(jìn)行總線數(shù)據(jù)交互時(shí),確認(rèn)該工作方式(RT 工作方式),若出現(xiàn)異常,對(duì)收發(fā)數(shù)據(jù)不做任何處理,重新初始化該總線芯片模式。
② 系統(tǒng)上電后,驗(yàn)證SMU 獲取的RT 端自描述信息是否正確,若為正確信息則SMU 與RT 握手,若SMU 收到RT 端反饋的自描述信息是錯(cuò)誤信息,則驗(yàn)證SMU 是否將其視為無(wú)效消息。即觀測(cè)總線RT 端監(jiān)控與交互系統(tǒng)是否顯示RT 一直在傳送信息但SMU 無(wú)法識(shí)別。
③當(dāng)SMU 與RTi成功握手之后,根據(jù)自適應(yīng)1553B 協(xié)議,設(shè)置一個(gè)新的、正確的RTi自描述信息,通過(guò)總線RT 端監(jiān)控與交互系統(tǒng),監(jiān)測(cè)BC 端是否仍然可以與RTi成功握手并獲取其自描述信息。BC 端動(dòng)態(tài)獲取RT 端自描述信息功能測(cè)試流程如圖4 所示。
圖4 BC 端自適應(yīng)獲取RT 端自描述信息流程圖Fig.4 Acquisition of self-descriptive messages
在整星AIT 階段進(jìn)行1553B 總線自適應(yīng)通信功能測(cè)試時(shí),以SMU 為總線控制器端BC,平臺(tái)綜合業(yè)務(wù)單元PFISU(Platform Integrated Service Unit)為終端RT 進(jìn)行驗(yàn)證。按照自適應(yīng)1553B 總線協(xié)議,系統(tǒng)上電期間,SMU 通過(guò)應(yīng)答機(jī)制對(duì)兩條總線(A、B)的RT1~RTN終端設(shè)備進(jìn)行循環(huán)檢測(cè)。當(dāng)PFISU未反饋應(yīng)答信息時(shí),則SMU 先利用原總線A 或者B 再次嘗試通信,如原總線通信異常,則切換另一條總線重試。如A/B 總線均通信不成功,則再次進(jìn)行A/B 總線循環(huán)切換,當(dāng)RT 端正確反饋應(yīng)答信息時(shí),則認(rèn)為該RT 地址通信成功,并將當(dāng)班的RT 設(shè)備自描述信息更新至BC 端的總線終端接入狀態(tài)表[15]。
因此,設(shè)計(jì)測(cè)試邏輯如下:SMU 加電后,保持平臺(tái)綜合業(yè)務(wù)單元不通電,這種狀態(tài)下,SMU 無(wú)法獲取平臺(tái)綜合業(yè)務(wù)單元反饋的信息,通信失??;按照1553B 總線自適應(yīng)功能設(shè)計(jì),SMU 會(huì)首先嘗試通過(guò)A 總線與PFISU 通信,通信失敗后利用A 總線再次嘗試通信,通信再次失敗后SMU 切換至B 總線與平臺(tái)綜合業(yè)務(wù)單元通信。因此,遙測(cè)參數(shù)“PFISU A/B 總線狀態(tài)”值應(yīng)為1(A總線)與0(B 總線)兩個(gè)值的重復(fù)循環(huán)。當(dāng)PFISU 上電后,向SMU 傳達(dá)通信自描述信息,通信成功,通信總線的選擇為當(dāng)前握手成功的總線;按照1553B 總線自適應(yīng)功能設(shè)計(jì),遙測(cè)參數(shù)“PFISU A/B 總線狀態(tài)”值應(yīng)為固定值1(A 總線)或者0(B 總線)。A/B 總線自適應(yīng)輪詢功能測(cè)試流程圖如圖5 所示。
圖5 A/B 總線自適應(yīng)輪詢功能測(cè)試流程圖Fig.5 Testing method for A/B bus self-adaptive polling
3.1.1 設(shè)置任意RT 正確的自描述信息
搭建1553B 總線測(cè)試仿真平臺(tái)。在SMU 加電后,啟動(dòng)總線RT 端監(jiān)控與交互系統(tǒng),同時(shí)按照自適應(yīng)1553B 總線協(xié)議將RT1的內(nèi)部參數(shù)信息等自描述字段寫(xiě)入軟件的RTN(RT 可根據(jù)需要而選擇)中。因?yàn)?,RT 自描述字段(共24 字節(jié))存放在RT 設(shè)備子地址1 的物理空間,故在RT1控制面板的子地址1(TX SA 01)的編輯數(shù)據(jù)緩沖區(qū)設(shè)計(jì)指令位置狀態(tài)字。
進(jìn)行配置1 設(shè)置:指令位置狀態(tài)字為003E,遙測(cè)位置狀態(tài)字為0FFFFFC0,并計(jì)算正確的校驗(yàn)和填入軟件中。因遙測(cè)位置狀態(tài)字為0FFFFFC0,則表示RTN在SA7 到SA28 中存在有效數(shù)據(jù)。測(cè)試結(jié)果顯示,SA7 到SA28 通信成功,SMU 與PFISU 已經(jīng)成功通信,并在SA7 到SA28 獲取了平臺(tái)綜合業(yè)務(wù)單元的遙測(cè)數(shù)據(jù),與遙測(cè)位置狀態(tài)字的設(shè)置相一致。測(cè)試結(jié)果表明,在系統(tǒng)上電后,SMU 已通過(guò)應(yīng)答機(jī)制對(duì)當(dāng)前總線的RT1~RTN的終端設(shè)備進(jìn)行輪詢檢測(cè),并在與RT1成功握手后,獲取了其自描述信息,并根據(jù)自描述信息在BC 端內(nèi)部建立總線終端接入狀態(tài)表初始態(tài)。
3.1.2 設(shè)置任意RT 無(wú)效的內(nèi)部參數(shù)信息
為了測(cè)試BC 加電后通過(guò)輪詢方式訪問(wèn)獲取每個(gè)合法RT 設(shè)備的內(nèi)部參數(shù)信息,若RT 終端反饋的同步頭信息與約定數(shù)據(jù)不相符時(shí),或內(nèi)部參數(shù)信息不滿足校驗(yàn)要求,則BC 端將該總線終端對(duì)應(yīng)的RT地址表示為通信非法,并丟棄該RT 設(shè)備的內(nèi)部參數(shù)信息”。更改配置1 中的遙測(cè)狀態(tài)字使其與位置狀態(tài)字相沖突,根據(jù)1553B 協(xié)議,若使遙測(cè)狀態(tài)字與位置狀態(tài)字位置重疊,則BC 端會(huì)自動(dòng)丟棄該設(shè)備內(nèi)部參數(shù)信息,并認(rèn)為該設(shè)備非法,并開(kāi)始重訪自描述字段,周期為448 ms。
設(shè)置配置2 中RTi的自描述信息如下:設(shè)置遙測(cè)狀態(tài)字為0FFF1111、位置狀態(tài)字為0040,此配置為無(wú)效的自描述信息,RTi不能與SMU 握手。測(cè)試結(jié)果顯示:SMU 會(huì)自動(dòng)丟棄配置2 中RTi自描述信息,認(rèn)為RTi非法,并開(kāi)始重訪自描述字段。
3.1.3 RT 自描述信息更改
為了驗(yàn)證BC 端在與RT 交互之前,BC 端對(duì)RT 端的自描述信息都是未知的,且RT 設(shè)備所需的服務(wù)信息由自身提供描述,無(wú)需提前將服務(wù)信息輸入在BC 端內(nèi)。在系統(tǒng)上電后以及系統(tǒng)運(yùn)行期間,BC端周期性地與RT 進(jìn)行數(shù)據(jù)握手,并確定RT 所需的相關(guān)服務(wù)內(nèi)容。在配置1 的基礎(chǔ)上,設(shè)置配置3 如下:將RT 控制面板的子地址1(TX SA 01)的編輯數(shù)據(jù)緩沖區(qū)設(shè)計(jì)指令位置狀態(tài)字為0040,遙測(cè)位置狀態(tài)字為0FFFFFB。
測(cè)試結(jié)果顯示:SMU 與PFISU 通信成功,并在SA2 到SA28 獲取了遙測(cè)數(shù)據(jù),與自描述字中遙測(cè)位置狀態(tài)字的設(shè)置相一致??梢宰C明SMU 按照PFISU 自描述字段定義的內(nèi)容進(jìn)行相應(yīng)的訪問(wèn),在與RT 通信握手成功后,動(dòng)態(tài)獲取了RT 設(shè)備自描述信息,并按照RT 自身提供的信息提供相應(yīng)數(shù)據(jù)傳輸服務(wù)。
本文通過(guò)對(duì)衛(wèi)星自適應(yīng)1553B總線通信功能需求分析,針對(duì)自適應(yīng)1553B總線協(xié)議中兩類總線性能,即RT 自描述信息動(dòng)態(tài)獲取功能以及A/B 總線自適應(yīng)輪詢的功能,設(shè)計(jì)了一種精準(zhǔn)快捷的測(cè)試方法及系統(tǒng),分別在整星AIT 階段和分系統(tǒng)階段進(jìn)行驗(yàn)證,同時(shí)通過(guò)利用1553B 總線仿真與測(cè)試平臺(tái)實(shí)現(xiàn)對(duì)1553B總線自適應(yīng)性能的判讀與仿真。測(cè)試結(jié)果表明,某通信衛(wèi)星1553B 總線具有較高的自適應(yīng)能力和通用性,以及靈活的任務(wù)周期。