久元溦,劉志宏,翟耘萱,田園,耿振華
(北京空間機(jī)電研究所,北京 100094)
星載航天產(chǎn)品通常工作在無人干預(yù)、空間輻射環(huán)境惡劣的空間環(huán)境中。因此,星載航天產(chǎn)品需滿足長壽命、高可靠性的需求[1]。在星載航天產(chǎn)品中,通信總線網(wǎng)絡(luò)運行的可靠性是決定航天產(chǎn)品工作任務(wù)成功與否的重要因素之一。冗余備份通信方案是常用于提高星載航天產(chǎn)品通信功能可靠性,降低單點故障率的方法[2]。
冗余備份通信方案通常分為冷備份方式和熱備份方式。冷備份方式是對單機(jī)進(jìn)行冗余設(shè)計,形成主份與備份通信模塊,在通信時總線中只有一套模塊處于運行狀態(tài)[3]。冷備份方式設(shè)計簡單,但通常單機(jī)產(chǎn)品需采用全冗余設(shè)計,需占用較多的器件資源,且電子學(xué)單機(jī)的體積和重量也會成倍地增加。通常搭載火箭具有嚴(yán)格的載重限制,其對于星載航天產(chǎn)品的重量有較為嚴(yán)苛的要求[4]。并且,在故障狀態(tài)下,冷備份方式需要人為干預(yù)進(jìn)行主備切換操作,不具備自主的實時恢復(fù)能力。因此冷備份方式在實際應(yīng)用時具有一定的局限性。熱備份方式是在通信時總線中主份模塊和備份模塊同時工作,在單份故障狀態(tài)下不需人為干預(yù)即可依靠正常工作的模塊維持正常工作狀態(tài)。熱備份方式在設(shè)計時可僅針對通信模塊進(jìn)行冗余設(shè)計,其對器件資源和重量的占用會大幅度地減少。
本文基于RS-485總線設(shè)計了一種冗余熱備份通信系統(tǒng)。同時,文章詳細(xì)地介紹了遙控遙測消息通信策略,通過仿真驗證了該通信策略的可行性,該技術(shù)方案可有效地應(yīng)用于星載航天產(chǎn)品中,提高通信功能的可靠性,降低單點故障率。
本文介紹的冗余熱備份通信系統(tǒng)采用RS-485電氣接口作為總線的物理層接口。RS-485總線具有組網(wǎng)簡單、成本低、可靠性高和通用性強(qiáng)等優(yōu)點[5]??偩€網(wǎng)絡(luò)有1個總線控制器和N個遠(yuǎn)程終端。總線控制器作為遙控數(shù)據(jù)的發(fā)送端和遙測數(shù)據(jù)的接收端。遠(yuǎn)程終端接收遙控數(shù)據(jù)并返回遙測數(shù)據(jù)[6]。冗余熱備份通信系統(tǒng)的組成示意圖如圖1所示。
圖1 冗余熱備份通信系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
總線上的數(shù)據(jù)序列基本傳輸單位為N+4 bit,其中包含N bit有效數(shù)據(jù),1 bit起始位,1 bit標(biāo)識位,1 bit奇偶校驗位,1 bit停止位。該數(shù)據(jù)序列有兩種數(shù)據(jù)類型,即指令字和數(shù)據(jù)字,通過標(biāo)識位進(jìn)行區(qū)分[7]。數(shù)據(jù)序列的格式如圖2所示。
圖2 數(shù)據(jù)序列的格式約定
其中,起始位固定為低電平,停止位固定為高電平,奇偶校驗位用作有效數(shù)據(jù)的奇偶校驗。標(biāo)識位為高電平時表示該數(shù)據(jù)序列為指令字,低電平時為數(shù)據(jù)字。指令字內(nèi)的有效數(shù)據(jù)用作指示遠(yuǎn)程終端的地址、操作類型(遙控消息或遙測消息)和數(shù)據(jù)字個數(shù)。數(shù)據(jù)字內(nèi)的有效數(shù)據(jù)為具體的遙控或遙測數(shù)據(jù)。同時,為了加強(qiáng)通信系統(tǒng)的可靠性,可在有效的數(shù)據(jù)內(nèi)增加校驗字節(jié)[8]。例如:可采用累加校驗和的方式進(jìn)行數(shù)據(jù)校驗,即除最后一個字節(jié)外的所有字節(jié)數(shù)據(jù)累加求和,取低字節(jié)部分作為校驗和字節(jié)內(nèi)容,若結(jié)果與最后一個字節(jié)數(shù)據(jù)一致,則判斷校驗結(jié)果正確。
數(shù)據(jù)總線上的消息格式分為兩類,即遙控消息和遙測消息。遙控消息由總線控制器發(fā)出,含1個遙控指令字和X個遙控數(shù)據(jù)字。遠(yuǎn)程終端通過指令字內(nèi)的有效數(shù)據(jù)判斷為本遠(yuǎn)程終端且操作類型為遙控消息時,接收后續(xù)的X個遙控數(shù)據(jù)字。遙測消息由總線控制器發(fā)出遙測輪詢,即1個遙測指令字。遠(yuǎn)程終端通過指令字內(nèi)的有效數(shù)據(jù)判斷為本遠(yuǎn)程終端且操作類型為遙測消息時,向總線控制器發(fā)出對應(yīng)的Y個遙測數(shù)據(jù)字。
2.2.1 遙控消息處理策略
每次遙控消息中,總線控制器發(fā)送1個遙控指令字和X個遙控數(shù)據(jù)字。當(dāng)遠(yuǎn)程終端收取的數(shù)據(jù)滿足圖2定義的數(shù)據(jù)字格式,奇偶校驗正確時,視為有效的遙控數(shù)據(jù)字,更新遙控數(shù)據(jù)包中的對應(yīng)位。遠(yuǎn)程終端接收遙控數(shù)據(jù)字時,為避免外部輸入異常導(dǎo)致狀態(tài)機(jī)死鎖,程序中需設(shè)置超時退出機(jī)制:若遠(yuǎn)程終端接收到遙控指令字后,因奇偶校驗錯誤或總線控制器未發(fā)出遙控數(shù)據(jù)字等原因?qū)е鲁^時間tk1未接收到有效的遙控數(shù)據(jù)字停止位,遠(yuǎn)程終端判斷為數(shù)據(jù)字超時,不再收取當(dāng)前遙控數(shù)據(jù)字,可整包遙控數(shù)據(jù)字丟棄并退出接收遙控數(shù)據(jù)字狀態(tài)。例如:程序約定各字時間間隔為tkint,總線傳輸每個數(shù)據(jù)位的時間為tbit,則tkint+(N+4)tbit 2.2.2 遙測消息處理策略 每次遙測消息中,總線控制器發(fā)送1個遙測指令字,收取Y個遙測數(shù)據(jù)字。當(dāng)總線控制器收取的數(shù)據(jù)滿足圖2定義的數(shù)據(jù)字格式,奇偶校驗正確時,視為有效的遙測數(shù)據(jù)字,更新遙測數(shù)據(jù)包中的對應(yīng)位??偩€控制器發(fā)送遙測指令字后,為避免外部輸入異常導(dǎo)致收取遙測數(shù)據(jù)字的狀態(tài)機(jī)死鎖,程序中需設(shè)置超時退出機(jī)制。 a)若總線控制器發(fā)送完遙測指令字停止位后,遠(yuǎn)程終端不反饋遙測數(shù)據(jù)字,導(dǎo)致總線控制器超過時間tc1未收到遙測數(shù)據(jù)字停止位,總線控制器軟件判斷為響應(yīng)超時,不再收取遠(yuǎn)程終端的遙測數(shù)據(jù)字,退出接收遙測數(shù)據(jù)字狀態(tài)機(jī)。例如:程序約定遠(yuǎn)程終端應(yīng)在tyc內(nèi)反饋遙測數(shù)據(jù)字,總線傳輸每個數(shù)據(jù)位的時間為tbit,因此tyc+(N+4)tbit b)若遠(yuǎn)程終端在tyc內(nèi)反饋遙測數(shù)據(jù)字,且各個數(shù)據(jù)字的時間間隔滿足要求,但因奇偶校驗錯誤等原因?qū)е鲁^時間tc2未接收到有效的遙測數(shù)據(jù)字停止位,總線控制器判斷為數(shù)據(jù)字超時,不再收取當(dāng)前遙測數(shù)據(jù)字,可整包遙測數(shù)據(jù)字丟棄退出接收遙測數(shù)據(jù)字狀態(tài),或該數(shù)據(jù)字保留上一次的值并轉(zhuǎn)為收取下一遙測數(shù)據(jù)字。例如:程序約定各個遙測數(shù)據(jù)字的時間間隔為tcint,總線傳輸每個數(shù)據(jù)位的時間為tbit, 則tcint+(N+4) tbit 2.2.3 冗余熱備份處理策略 通常,發(fā)送節(jié)點同時在主備份接口發(fā)送相同的數(shù)據(jù)序列,但因硬件電路、電纜長度的差異性,接收節(jié)點接收到的主份數(shù)據(jù)可能整體超前或落后于備份數(shù)據(jù)。則熱備份處理策略如圖3所示。 假設(shè),主備份間數(shù)據(jù)序列超前或落后的時間間隔不超過tdelay,發(fā)送節(jié)點先后發(fā)送兩條消息的時間間隔大于tint。則圖3中的時間限制需滿足以下條件: 即tdelay 圖3 熱備份處理策略 2.2.4 軟件架構(gòu) 根據(jù)硬件系統(tǒng)架構(gòu)和數(shù)據(jù)處理策略,總線控制器和遠(yuǎn)程終端的軟件架構(gòu)組成如圖4-5所示。 圖4 總線控制器軟件架構(gòu) 圖5 遠(yuǎn)程終端軟件架構(gòu) 通過ModelSim對上述軟件架構(gòu)進(jìn)行仿真。仿真過程中,分別針對遙控消息和遙測消息的收發(fā)進(jìn)行了測試用例的設(shè)計。如圖6所示,遠(yuǎn)程終端可正確地處理熱備份遙控消息。如圖7所示,總線控制器可正確地收取熱備份遙測數(shù)據(jù)包。圖8-9針對單份出現(xiàn)通信失效的情況進(jìn)行了仿真,仿真結(jié)果表明單份通信模塊故障時,該軟件架構(gòu)可自主地進(jìn)行仲裁切換,通信仍然正確有效。上述仿真結(jié)果表明熱備份處理策略具有可行性,可實際應(yīng)用于星載航天產(chǎn)品通信系統(tǒng)中。 圖6 遙控數(shù)據(jù)字接收仿真波形圖 圖7 遙測數(shù)據(jù)字接收仿真波形圖 圖8 單份通信失效時遙控數(shù)據(jù)字接收仿真波形圖 本文提出了一種冗余熱備份通信策略及軟硬件實現(xiàn)方法。該方法基于RS-485總線,仲裁過程清晰明了,在單份通信模塊故障時可快速、無縫地切換,無需人為干預(yù)即可恢復(fù)正常通信狀態(tài),可有效地降低單點故障率。仿真結(jié)果證明了該冗余熱備份方案設(shè)計的正確性和可行性。該方案可有效地提高星載航天產(chǎn)品通信功能的可靠性,可實際應(yīng)用于星載航天產(chǎn)品通信系統(tǒng)中。 圖9 單份通信失效時遙測數(shù)據(jù)字接收仿真波形圖3 仿真與驗證
4 結(jié)束語