本發(fā)明涉及一種基于數(shù)據(jù)塊傳輸?shù)?553B總線協(xié)議仿真方法,主要用于衛(wèi)星1553B總線通訊的仿真、測(cè)試,高效完成1553B總線通訊仿真平臺(tái)的設(shè)計(jì),屬于航天器控制技術(shù)領(lǐng)域。
背景技術(shù):
目前1553B總線通訊協(xié)議被廣泛應(yīng)用于航天控制領(lǐng)域,1553B總線傳輸?shù)臄?shù)據(jù)內(nèi)容具有如下特點(diǎn):數(shù)據(jù)塊格式種類繁多;數(shù)據(jù)塊傳輸時(shí)序復(fù)雜。
傳統(tǒng)的1553B總線協(xié)議仿真方法一般是基于固定格式的數(shù)據(jù)塊傳輸,有如下缺點(diǎn):
(1)傳統(tǒng)仿真方法是基于固定格式的數(shù)據(jù)塊傳輸,數(shù)據(jù)塊一般有嚴(yán)格長(zhǎng)度限制,無(wú)法滿足通訊內(nèi)容復(fù)雜多變的需求;
(2)傳統(tǒng)仿真方法基于無(wú)確認(rèn)數(shù)據(jù)塊傳輸,通訊雙方?jīng)]有握手,在特定時(shí)序下可能丟包,通訊可靠性設(shè)計(jì)不足;
(3)傳統(tǒng)仿真方法可擴(kuò)展性差,不易于維護(hù),仿真成本高。因此需要提出一種新的擴(kuò)展性更強(qiáng)的、可靠性更高易于維護(hù)的1553B總線協(xié)議仿真方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供一種基于數(shù)據(jù)塊傳輸?shù)?553B總線協(xié)議仿真方法,針對(duì)傳統(tǒng)總線協(xié)議仿真方法設(shè)計(jì)繁瑣凌亂、可擴(kuò)展性差的問題,采用特征提取,根據(jù)數(shù)據(jù)塊的類型、接口以及數(shù)據(jù)傳輸通信特征提出數(shù)據(jù)塊傳輸通信方法,通過(guò)數(shù)據(jù)特征模型對(duì)傳輸?shù)臄?shù)據(jù)內(nèi)容進(jìn)行了有效描述,通過(guò)協(xié)議握手解決數(shù)據(jù)傳輸?shù)目煽啃裕c現(xiàn)有技術(shù)相比具有在數(shù)據(jù)發(fā)送端、數(shù)據(jù)接收端之間實(shí)現(xiàn)可靠數(shù)據(jù)傳輸,顯著提高了總線傳輸效率和傳輸可靠性,并大大降低仿真和維護(hù)成本的優(yōu)點(diǎn)。
本發(fā)明的技術(shù)解決方案是:一種基于數(shù)據(jù)塊傳輸?shù)?553B總線協(xié)議仿真方法,包括如下步驟:
(1)獲取需要在1553B總線協(xié)議上進(jìn)行傳輸?shù)耐ㄓ崕?,進(jìn)而得到當(dāng)前通訊幀中各個(gè)數(shù)據(jù)塊的數(shù)據(jù)傳輸通信特征,組合得到各個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型;其中,數(shù)據(jù)特征模型包括數(shù)據(jù)傳輸通信特征、數(shù)據(jù)塊類型、數(shù)據(jù)塊接口;數(shù)據(jù)傳輸通信特征包含數(shù)據(jù)塊長(zhǎng)度、錯(cuò)誤標(biāo)記、啟動(dòng)標(biāo)記、子地址、數(shù)據(jù)塊計(jì)數(shù);所述的數(shù)據(jù)塊長(zhǎng)度為數(shù)據(jù)塊中數(shù)據(jù)長(zhǎng)度;所述的子地址為數(shù)據(jù)塊中數(shù)據(jù)的存儲(chǔ)地址;
(2)將當(dāng)前通訊幀中第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的啟動(dòng)標(biāo)記置為1、數(shù)據(jù)塊計(jì)數(shù)置為當(dāng)前通訊幀中未被數(shù)據(jù)接收端成功獲取且解析的數(shù)據(jù)塊個(gè)數(shù)N,然后將第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)接收端;其中,N為正整數(shù),i=1,2,…,N,且初值為1,啟動(dòng)標(biāo)記、數(shù)據(jù)塊計(jì)數(shù)的初值均為0;
(3)控制數(shù)據(jù)接收端判斷接收到的第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的數(shù)據(jù)塊計(jì)數(shù),若數(shù)據(jù)塊計(jì)數(shù)不為0,則轉(zhuǎn)入步驟(4),否則進(jìn)入步驟(6);
(4)控制數(shù)據(jù)接收端根據(jù)第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的數(shù)據(jù)塊長(zhǎng)度、子地址,獲取得到第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)并進(jìn)行解析;
(5)若數(shù)據(jù)接收端成功獲取數(shù)據(jù)塊的數(shù)據(jù)并進(jìn)行解析,則將第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的錯(cuò)誤標(biāo)記置為0,然后將修改后的第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)發(fā)送端,否則將修改后的第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中錯(cuò)誤標(biāo)記置為1,并將修改后的第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)發(fā)送端;然后進(jìn)入步驟(6);其中,錯(cuò)誤標(biāo)記的初值為0;
(6)當(dāng)接收到第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的錯(cuò)誤標(biāo)記為0時(shí),將當(dāng)前通訊幀中第i+1個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的數(shù)據(jù)塊計(jì)數(shù)置為N-j,然后轉(zhuǎn)入步驟(7),當(dāng)接收到第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的錯(cuò)誤標(biāo)記為1時(shí),將第i個(gè)數(shù)據(jù)塊的發(fā)送次數(shù)M加1,然后將第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)接收端,然后轉(zhuǎn)入步驟(4),直至第i個(gè)數(shù)據(jù)塊發(fā)送成功后轉(zhuǎn)入步驟(7);其中,發(fā)送次數(shù)M初值為1;
(7)i=i+1,發(fā)送第i個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)接收端,然后轉(zhuǎn)入步驟(3),直至當(dāng)前通訊幀的所有數(shù)據(jù)塊均被數(shù)據(jù)接收端成功獲取并解析。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:
(1)本發(fā)明針對(duì)傳統(tǒng)的基于固定格式的數(shù)據(jù)傳輸仿真方法的缺陷,本發(fā)明采用特征提取,針對(duì)數(shù)據(jù)塊的類型、接口以及數(shù)據(jù)傳輸通信特征提出了數(shù)據(jù)塊傳輸通信方法,通過(guò)數(shù)據(jù)特征模型對(duì)傳輸?shù)臄?shù)據(jù)內(nèi)容進(jìn)行了有效描述,高效實(shí)現(xiàn)數(shù)據(jù)發(fā)送者和數(shù)據(jù)接收者之間的不同格式的數(shù)據(jù)交換;
(2)本發(fā)明針對(duì)無(wú)確認(rèn)數(shù)據(jù)塊傳輸所帶來(lái)的可能丟包問題,本發(fā)明通過(guò)協(xié)議握手解決數(shù)據(jù)塊傳輸?shù)目煽啃裕?/p>
(3)本發(fā)明通過(guò)以通信幀為單元的通訊方式,支持以確定的方式時(shí)分復(fù)用數(shù)據(jù)總線消息,可以為所有通信活動(dòng)提前分配帶寬并確定總線上的所有通信活動(dòng),解決了數(shù)據(jù)塊傳輸時(shí)序復(fù)雜情況下容易沖突的問題;
(4)本發(fā)明通過(guò)協(xié)議啟動(dòng)請(qǐng)求的方式實(shí)現(xiàn)總線控制器和終端的數(shù)據(jù)交換啟動(dòng),能夠在一端出現(xiàn)故障的情況下通過(guò)協(xié)議啟動(dòng)請(qǐng)求快速建立新的數(shù)據(jù)交換條件,具有高可靠性且故障自主快速恢復(fù)的優(yōu)點(diǎn)。
附圖說(shuō)明
圖1為本發(fā)明基于數(shù)據(jù)塊傳輸?shù)?553B總線協(xié)議仿真方法流程圖;
圖2為本發(fā)明數(shù)據(jù)特性模型信息圖;
具體實(shí)施方式
本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于數(shù)據(jù)塊傳輸?shù)?553B總線協(xié)議仿真方法,針對(duì)傳統(tǒng)總線協(xié)議仿真方法設(shè)計(jì)繁瑣凌亂、可擴(kuò)展性差的問題,采用特征提取,根據(jù)數(shù)據(jù)塊的類型、接口以及數(shù)據(jù)傳輸通信特征提出數(shù)據(jù)塊傳輸通信方法,通過(guò)數(shù)據(jù)特征模型對(duì)傳輸?shù)臄?shù)據(jù)內(nèi)容進(jìn)行了有效描述,通過(guò)協(xié)議握手解決數(shù)據(jù)傳輸?shù)目煽啃?,與現(xiàn)有技術(shù)相比具有在數(shù)據(jù)發(fā)送端、數(shù)據(jù)接收端之間實(shí)現(xiàn)可靠數(shù)據(jù)傳輸,顯著提高了總線傳輸效率和傳輸可靠性,并大大降低仿真和維護(hù)成本的優(yōu)點(diǎn),下面結(jié)合附圖對(duì)本發(fā)明方法進(jìn)行詳細(xì)解釋和說(shuō)明。
如圖1所示為本發(fā)明一種基于數(shù)據(jù)塊傳輸?shù)?553B總線協(xié)議仿真方法流程圖,包括步驟如下:
(1)提取數(shù)據(jù)塊的數(shù)據(jù)特征模型;獲取需要進(jìn)行傳輸?shù)耐ㄓ崕来潍@取需要在1553B總線協(xié)議上進(jìn)行傳輸?shù)耐ㄓ崕懈鱾€(gè)數(shù)據(jù)塊的類型(上行數(shù)據(jù)塊、下行數(shù)據(jù)塊、周期性數(shù)據(jù)塊、隨機(jī)數(shù)據(jù)塊)、接口(具體某個(gè)終端、某幾個(gè)終端、或者所有終端)、數(shù)據(jù)傳輸通信特征,提取得到各個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型,進(jìn)而組合得到提取得到描述數(shù)據(jù)塊傳輸特性的特征信息表,將組合得到的當(dāng)前數(shù)據(jù)塊的特征信息表作為數(shù)據(jù)特性模型。其中,數(shù)據(jù)傳輸通信特征包含數(shù)據(jù)塊長(zhǎng)度、錯(cuò)誤標(biāo)記、啟動(dòng)標(biāo)記、子地址、數(shù)據(jù)塊計(jì)數(shù)等信息,特征信息表包括數(shù)據(jù)傳輸通信特征、數(shù)據(jù)塊的類型、數(shù)據(jù)塊接口,其中,通訊幀包含幀號(hào)、持續(xù)時(shí)間、多個(gè)數(shù)據(jù)塊,如圖2所示為本發(fā)明數(shù)據(jù)特性模型信息結(jié)構(gòu)圖;子地址為當(dāng)前數(shù)據(jù)塊中數(shù)據(jù)的存儲(chǔ)地址,啟動(dòng)標(biāo)識(shí)代表產(chǎn)生了數(shù)據(jù)發(fā)送端向數(shù)據(jù)接收端發(fā)送數(shù)據(jù)的事件;錯(cuò)誤標(biāo)記代表產(chǎn)生了數(shù)據(jù)接收端未能正確獲取數(shù)據(jù)發(fā)送端發(fā)送數(shù)據(jù)的事件。
(2)1553B總線協(xié)議啟動(dòng);數(shù)據(jù)發(fā)送端向數(shù)據(jù)接收端發(fā)送協(xié)議啟動(dòng)請(qǐng)求,即將當(dāng)前通訊幀中第一個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的啟動(dòng)標(biāo)記置為1(啟動(dòng)標(biāo)記置為1表示協(xié)議啟動(dòng)),同時(shí)將表示是否有新的數(shù)據(jù)塊待進(jìn)行傳輸?shù)奶卣髯侄螖?shù)據(jù)塊計(jì)數(shù)置為當(dāng)前通訊幀中未傳輸?shù)臄?shù)據(jù)塊個(gè)數(shù)N,并將當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)接收端;例如,如果當(dāng)前通訊幀包括四個(gè)數(shù)據(jù)塊,第一個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的數(shù)據(jù)塊計(jì)數(shù)為4,第二個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的數(shù)據(jù)塊計(jì)數(shù)為3。
(3)輪詢當(dāng)前通訊幀數(shù)據(jù)塊的數(shù)據(jù)特征模型;數(shù)據(jù)接收端根據(jù)接收到的數(shù)據(jù)塊的數(shù)據(jù)特征模型中的數(shù)據(jù)特征字段“數(shù)據(jù)塊計(jì)數(shù)”判斷是否有新的數(shù)據(jù)塊需要獲取,若數(shù)據(jù)塊計(jì)數(shù)有更新且不為0,則表示有新的數(shù)據(jù)塊需要獲取,進(jìn)入步驟(4),否則進(jìn)入步驟(6);其中,“輪詢”是指每個(gè)通訊幀都進(jìn)行一次完整的數(shù)據(jù)塊查詢。
(4)控制數(shù)據(jù)接收端根據(jù)當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)特征模型中的數(shù)據(jù)塊長(zhǎng)度及子地址信息,得到當(dāng)前數(shù)據(jù)塊的長(zhǎng)度、數(shù)據(jù)塊中數(shù)據(jù)存儲(chǔ)的子地址,然后根據(jù)子地址獲取得到對(duì)應(yīng)數(shù)據(jù)塊長(zhǎng)度的數(shù)據(jù)并進(jìn)行解析。
(5)若數(shù)據(jù)接收端成功獲取數(shù)據(jù)塊,則發(fā)送數(shù)據(jù)塊獲取成功確認(rèn),即置當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)特征模型中定義的數(shù)據(jù)特征字段“錯(cuò)誤標(biāo)記”為0,并將修改后的數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)發(fā)送端,否則發(fā)送數(shù)據(jù)塊獲取不成功確認(rèn),置數(shù)據(jù)特征模型中定義的數(shù)據(jù)特征字段“錯(cuò)誤標(biāo)記”為1,并將修改后的數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)發(fā)送端,進(jìn)入步驟(6)。
(6)當(dāng)接收到數(shù)據(jù)塊的數(shù)據(jù)特征模型中的錯(cuò)誤標(biāo)記為0時(shí),將當(dāng)前通訊幀中的下一個(gè)數(shù)據(jù)塊的數(shù)據(jù)特征模型中的“數(shù)據(jù)塊計(jì)數(shù)”置為N-j,然后轉(zhuǎn)入步驟(7),j=j(luò)+1;當(dāng)接收到數(shù)據(jù)塊的數(shù)據(jù)特征模型中的錯(cuò)誤標(biāo)記為1時(shí),將當(dāng)前數(shù)據(jù)塊的發(fā)送次數(shù)M(初值為1)加1,然后將當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)特征模型送至數(shù)據(jù)接收端,然后轉(zhuǎn)入步驟(4),直至當(dāng)前數(shù)據(jù)塊發(fā)送成功后轉(zhuǎn)入步驟(7),其中,j的初值為1。
(7)發(fā)送j個(gè)數(shù)據(jù)塊及其數(shù)據(jù)特征模型送至數(shù)據(jù)接收端,然后轉(zhuǎn)入步驟(4),直至當(dāng)前通訊幀的所有數(shù)據(jù)塊均被數(shù)據(jù)接收端正確獲取。
(8)重復(fù)步驟(1)-步驟(7),直至完成所有通訊幀的正確接收。
本發(fā)明說(shuō)明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域技術(shù)人員的公知技術(shù)。