一種測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),該仿真系統(tǒng)包括有帶時間窗口的蟲洞路由器模塊(1)、時間主控節(jié)點模塊(2)和終端應用節(jié)點模塊(3),所述三個模塊是基于SpaceWire總線標準通信構成航天通信網絡的。終端應用節(jié)點模塊(3)用于生成兩種類型的SpaceWire數(shù)據包,通過時間主控節(jié)點模塊(2)提供的仿真系統(tǒng)同步時間,在帶時間窗口的蟲洞路由器模塊(1)中完成數(shù)據包傳輸時間、傳輸延遲時間的統(tǒng)計。本發(fā)明仿真系統(tǒng)用于測定基于SpaceWire總線標準中對SpaceWire數(shù)據包的傳輸時間及傳輸延遲時間,獲得的時間信息能夠改善航天通信網絡的性能。
【專利說明】—種測定SpaceWi re數(shù)據包的傳輸時間的仿真系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及一種航天通信網絡仿真領域,更特別地說,是指一種測定SpaceWire數(shù)據包傳輸延時的仿真系統(tǒng)。
【背景技術】
[0002]Spaceffire (譯文為空間總線)總線是一種串行、高速、點對點、全雙工的星載數(shù)據網絡標準(ECSS-E-ST-50-12C,31July2008),是多源、異步、事件觸發(fā)通信網絡,難以保證消息的傳輸端到端延時。若事先已知網絡中部分節(jié)點的消息屬性,如時間、大小等信息,對它們的傳輸進行規(guī)劃,按照固定時間窗口進行調度,即可形成時間觸發(fā)消息網絡,并極大提高網絡中消息傳輸?shù)拇_定性。
[0003]SpaceWire數(shù)據包傳輸端到端延時在網絡分析中是一個非常重要的測定指標,它體現(xiàn)網絡的實時性。測定消息傳輸延時的方法有很多,其中網絡仿真是常用的一種選擇。網絡仿真運用數(shù)學建模和統(tǒng)計分析模擬網絡行為,可以方便的修改模型并進行仿真,適合預測網絡的性能,為網絡的規(guī)劃設計提供可靠的定量依據。
[0004]基于軟件進行協(xié)議仿真來模擬SpaceWire網絡通信機制,測定事件觸發(fā)Spaceffire網絡中消息的傳輸端到端延時,缺乏基于時間觸發(fā)消息、對蟲洞路由器調度時刻表進行規(guī)劃的仿真系統(tǒng)。
【發(fā)明內容】
[0005]本發(fā)明的目的是提出一種測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),該仿真系統(tǒng)在于解決SpaceWire總線網絡中時間觸發(fā)消息的仿真問題,對路由器的調度時刻進行了規(guī)劃,利用時間窗寬與窗寬大小條件來處理SpaceWire數(shù)據包的轉發(fā),對時間觸發(fā)的Spaceffire數(shù)據包優(yōu)先處理,保證時間觸發(fā)的SpaceWire數(shù)據包的傳輸時間。對于事件觸發(fā)的SpaceWire數(shù)據包,則利用窗寬大小條件進行轉發(fā)。
[0006]本發(fā)明的一種測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),該仿真系統(tǒng)依據Spaceffire總線標準通信構建航天通信網絡。該仿真系統(tǒng)包括有帶時間窗口的蟲洞路由器
(I)、時間主控節(jié)點模塊(2)和終端應用節(jié)點模塊(3)。
[0007]帶時間窗口的蟲洞路由器(I)包括有蟲洞路由單元(11)、時間窗口設置單元(12)和數(shù)據包緩存單元(13)。
[0008]蟲洞路由單元(11)用于完成對時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的Spaceffire數(shù)據包的轉發(fā)。
[0009]時間窗口設置單元(12)結合時間窗寬與窗寬大小來判斷數(shù)據包的發(fā)送順序。
[0010]數(shù)據包緩存單元(13)用于臨時對時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的Spaceffire數(shù)據包進行保存。
[0011]時間主控節(jié)點模塊(2 )包括有時間同步控制單元(21)和時間主控接收單元(22 )。時間同步控制單元(21)用于生成同步時間碼TM_Time_Code,并向基于SpaceWire總線標準通信的航天通信網絡中廣播。當時間主控節(jié)點模塊(2)作為目的時,時間主控接收單元(22)用來接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。
[0012]終端應用節(jié)點模塊(3 )包括有終端應用發(fā)送單元(31)和終端應用接收單元(32 )。
[0013]在終端應用節(jié)點模塊(3)作為源節(jié)點時,終端應用節(jié)點模塊(3)通過終端應用發(fā)送單元(31)來發(fā)送時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。設置時間觸發(fā)的SpaceWire數(shù)據包的T間隔。
[0014]在終端應用節(jié)點模塊(3)作為中間節(jié)點時,終端應用節(jié)點模塊(3)通過終端應用發(fā)送單元(31)依據傳輸鏈路進行轉發(fā)時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的Spaceffire 數(shù)據包。
[0015]在終端應用節(jié)點模塊(3)作為目的節(jié)點時,終端應用節(jié)點模塊(3)通過終端應用接收單元(32)來接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。
[0016]所述的測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),在所述時間窗口設置單元(12)中,任意兩個時間觸發(fā)的SpaceWire數(shù)據包的時間窗寬之間的間隔稱為窗寬間隔CH,所述窗寬間隔CH用來轉發(fā)事件觸發(fā)的SpaceWire數(shù)據包。時間觸發(fā)的SpaceWire數(shù)據包依據生成時刻AT的先后進行發(fā)送所述時間觸發(fā)的SpaceWire數(shù)據包。事件觸發(fā)的Spaceffire數(shù)據包依據生成時刻BT^^的先后且是否滿足窗寬間隔的窗寬大小條件進行發(fā)送所述事件觸發(fā)的SpaceWire數(shù)據包。
[0017]本發(fā)明測定SpaceWire數(shù)據包傳輸延時的仿真系統(tǒng)的優(yōu)點在于:
[0018]①本發(fā)明仿真系統(tǒng)對SpaceWire傳統(tǒng)的蟲洞路由器模型進行了改造,增加了數(shù)據包緩存機制,增加了路由器調度時間窗口,實現(xiàn)了對時間觸發(fā)消息的仿真控制,從而得到一種處理時間觸發(fā)消息調度的路由器模型。
[0019]②本發(fā)明仿真系統(tǒng)兼容事件觸發(fā)和時間觸發(fā)兩種消息傳輸機制,適用于多種網絡場景的仿真,如:事件觸發(fā)網絡,時間觸發(fā)網絡,事件和時間觸發(fā)兼容網絡。仿真結果可反饋給設計者用于評價網絡的傳輸性能。
[0020]③本發(fā)明也能完成對標準SpaceWire網絡的仿真,當網絡中不含有時間觸發(fā)數(shù)據包時,全為事件觸發(fā)數(shù)據包,則和標準協(xié)議規(guī)定的網絡一致。
【專利附圖】
【附圖說明】
[0021]圖1是本發(fā)明測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng)的結構圖。
[0022]圖2A是時間窗寬與窗寬間隔的結構示意圖。
[0023]圖2B是多個時間窗寬與窗寬間隔的一種結構示意圖。
[0024]圖2C是多個時間窗寬與窗寬間隔的另一種結構示意圖。
[0025]圖2D是多個時間窗寬與窗寬間隔的再一種結構示意圖。
[0026]圖3是本發(fā)明測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng)的仿真流程圖。
[0027]圖4是基于SpaceWire標準協(xié)議的航天通信網絡示意圖。
[0028]圖5是仿真結果示意圖。
【具體實施方式】
[0029]下面將結合附圖和實施例對本發(fā)明做進一步的詳細說明。[0030]本發(fā)明是為了實現(xiàn)在一個基于SpaceWire總線標準通信的航天通信網絡中,對Spaceffire數(shù)據包從端到端傳輸時的傳輸時間進行仿真,通過仿真得到的傳輸時間來測定Spaceffire數(shù)據包的傳輸端到端延時。
[0031]在本發(fā)明中,基于matlab (版本號7.13)平臺進行仿真。
[0032]參見圖1所示,本發(fā)明仿真系統(tǒng)包括有帶時間窗口的蟲洞路由器1、時間主控節(jié)點模塊2和終端應用節(jié)點模塊3。其中,帶時間窗口的蟲洞路由器I包括有蟲洞路由單元11、時間窗口設置單元12和數(shù)據包緩存單元13。其中,時間主控節(jié)點模塊2包括有時間同步控制單元21和時間主控接收單元22。其中,終端應用節(jié)點模塊3包括有終端應用發(fā)送單元31和終端應用接收單元32。
[0033]在本發(fā)明中,在基于SpaceWire總線標準通信的航天通信網絡中,時間主控節(jié)點模塊2能夠用于接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包,成為目的節(jié)點。
[0034]在本發(fā)明中,終端應用節(jié)點模塊3 —方面能夠用于發(fā)送時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包,成為源節(jié)點;另一方面能夠用于接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包,成為目的節(jié)點。從源節(jié)點向目的節(jié)點傳輸SpaceWire數(shù)據包的過程稱為傳輸鏈路,在所述傳輸鏈路上的除源節(jié)點和目的節(jié)點外的節(jié)點稱為中間節(jié)點。所述中間節(jié)點可以是時間窗口的蟲洞路由器I和/或終端應用節(jié)點模塊3。
[0035]所述時間觸發(fā)的SpaceWire數(shù)據包是指依據設定的數(shù)據包固定發(fā)送時間間隔T間H來觸發(fā)SpaceWire數(shù)據包傳輸。詳細地說,當在終端應用節(jié)點模塊3中,若設置了 T_s =0.5秒進行SpaceWire數(shù)據包的發(fā)送,則終端應用節(jié)點模塊3中的終端應用發(fā)送單元31會按照每間隔0.5秒的時間定期向時間主控節(jié)點模塊2進行SpaceWire數(shù)據包。
[0036]所述事件觸發(fā)的SpaceWire數(shù)據包是指不定時進行SpaceWire數(shù)據包傳輸。
[0037]在本發(fā)明中,SpaceWire數(shù)據包包含有 typetime、typeEvent、size、src、dest、num、eop、T生成;其中 typetime、typeEvent、size、src 和 dest 構成 Spaceffire 數(shù)據包的包頭 src_node ο 一個SpaceWire數(shù)據包中的數(shù)據塊設置為num = 50 ;在所述生成時刻Tifejs的說明中,由于有時間觸發(fā)的SpaceWire數(shù)據包的類型typetime和事件觸發(fā)的SpaceWire數(shù)據包的類型typeEvent,所以針對typetinie類型的數(shù)據包生成時刻記為ATtoa, typeEvent類型的數(shù)據包生成時刻記為BT生成。
[0038]時間主控節(jié)點模塊2
[0039]在本發(fā)明中,時間主控節(jié)點模塊2中的時間同步控制單元21用于生成同步時間碼TM_Time_Code,并向基于SpaceWire總線標準通信的航天通信網絡中廣播。在終端應用節(jié)點模塊3和帶時間窗口的蟲洞路由器I收到所述同步時間碼TM_Time_C0de后,以此保證整個基于SpaceWire總線標準通信的航天通信網絡的統(tǒng)一時間。
[0040]本發(fā)明的時間同步控制單元21產生的同步時間碼TM_Time_Code來控制航天通信網絡的時間同步,TM_Time_Code與SpaceWire標準協(xié)議中的Time-Code相同。
[0041]在時間主控節(jié)點模塊2作為目的節(jié)點時,時間主控節(jié)點模塊2通過時間主控接收單元22來接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。
[0042]在本發(fā)明中,時間主控節(jié)點模塊2中的時間同步控制單元21產生時間碼并廣播向全網絡發(fā)送,以控制整個仿真網絡時間同步。在時間主控接收單元22完成對接收到的時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包的處理后,提取出SpaceWire數(shù)據包的生成時刻T和SpaceWire數(shù)據包到達目的節(jié)點的時刻Tmd,從而能夠統(tǒng)計出Spaceffire數(shù)據包從源節(jié)點到達目的節(jié)點的傳輸時間ET = Tend-T生成。
[0043]終端應用節(jié)點模塊3
[0044]在仿真前,設置終端應用節(jié)點模塊3的身份(源節(jié)點、中間節(jié)點或者為目的節(jié)點)、發(fā)送SpaceWire數(shù)據包的類型(時間觸發(fā)的SpaceWire數(shù)據包或者事件觸發(fā)的SpaceWire數(shù)據包),并對終端應用節(jié)點模塊3進行時間觸發(fā)的SpaceWire數(shù)據包的時間間隔T_s進行設置,然后設置SpaceWire數(shù)據包(時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包)的傳輸速率、數(shù)據包的生成時刻T數(shù)據包的大小size。若終端應用節(jié)點模塊3用于全部生成時間觸發(fā)消息,則構成時間觸發(fā)網絡;若終端應用節(jié)點模塊3用于全部生成事件觸發(fā)消息,則構成事件觸發(fā)網絡;若終端應用節(jié)點模塊3部分生成事件觸發(fā)消息,部分生成時間觸發(fā)消息,則為事件時間觸發(fā)兼容網絡。
[0045]終端應用節(jié)點模塊3依據接收到的同步時間碼TM_Time_C0de來保證在仿真過程,終端應用節(jié)點模塊3在接收和發(fā)送SpaceWire數(shù)據包時與航天通信網絡中的網絡時間同
止/J/ O
[0046]在終端應用節(jié)點模塊3作為源節(jié)點時,終端應用節(jié)點模塊3通過終端應用發(fā)送單元31來發(fā)送時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。設置時間觸發(fā)的SpaceWire數(shù)據包的T間隔。
[0047]在終端應用節(jié)點模塊3作為中間節(jié)點時,終端應用節(jié)點模塊3通過終端應用發(fā)送單元31依據傳輸鏈路進行轉發(fā)時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。
[0048]在終端應用節(jié)點模塊3作為目的節(jié)點時,終端應用節(jié)點模塊3通過終端應用接收單元32來接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。
[0049]帶時間窗口的蟲洞路由器I
[0050]在本發(fā)明中,為了保證時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包在所述的航天通信網絡中的網絡傳輸,是在現(xiàn)有蟲洞路由器(即蟲洞路由單元11)上增設了時間窗口設置單元12和數(shù)據包緩存單元13,因此,蟲洞路由器在本發(fā)明中稱為帶時間窗口的蟲洞路由器。
[0051]蟲洞路由單元11用于完成對時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的Spaceffire數(shù)據包的轉發(fā)。
[0052]時間窗口設置單元12結合時間窗寬與窗寬大小來判斷數(shù)據包的發(fā)送順序。
[0053]數(shù)據包緩存單元13用于臨時對時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包進行保存。因為每個路由器的每個輸入端口設置了緩存隊列,用于緩儲SpaceWire數(shù)據包。當數(shù)據包的包頭到達路由器后,路由器通過數(shù)據包中攜帶的目的節(jié)點信息得到其傳輸所需的輸出端口,若該輸出端口此時為忙狀態(tài),則應將數(shù)據包緩存在路由器的緩存隊列中,待該輸出端口為空閑狀態(tài)后,路由器才從緩存隊列中發(fā)送數(shù)據包進行轉發(fā)。在本發(fā)明中,數(shù)據包緩存單元13緩存的數(shù)據包是因為時間窗口設置單元12對所述的數(shù)據包的轉發(fā)時間依據了時間窗寬進行了轉發(fā)先后的控制。[0054]在本發(fā)明中,時間觸發(fā)的SpaceWire數(shù)據包的時間窗寬記為AH,所述
\? / ^S ιζβ
AH = 10—;事件觸發(fā)的SpaceWire數(shù)據包的時間窗寬記為BH,所述BH = 10——;
CC
size表示一個SpaceWire數(shù)據包的大小,c表示仿真設置的鏈路傳輸速率。任意兩個時間
觸發(fā)的SpaceWire數(shù)據包的時間窗寬之間的間隔稱為窗寬間隔CH,所述窗寬間隔CH用來轉
發(fā)事件觸發(fā)的SpaceWire數(shù)據包。時間觸發(fā)的SpaceWire數(shù)據包依據生成時刻AT生成的先
后進行發(fā)送所述時間觸發(fā)的SpaceWire數(shù)據包。事件觸發(fā)的SpaceWire數(shù)據包依據生成時
刻BT的先后且是否滿足窗寬間隔的窗寬大小條件進行發(fā)送所述事件觸發(fā)的SpaceWire
數(shù)據包。在本發(fā)明中,窗寬間隔的窗寬大小條件為:若CH ^ BH,則轉發(fā)所述事件觸發(fā)的
SpaceWire數(shù)據包,若CH < BH,則等待下一個窗寬間隔,并進一步判斷所述下一個窗寬間隔
的窗寬大小是否滿足所要轉發(fā)事件觸發(fā)的SpaceWire數(shù)據包的時間窗寬大小。在本發(fā)明
中,對于生成時刻重疊的,依據時間窗寬的大小進行轉發(fā)SpaceWire數(shù)據包,時間窗寬小的
數(shù)據包先發(fā)送,時間窗寬大的數(shù)據包后發(fā)送。
[0055]參見圖2A所示,在一個網絡傳輸周期T胃?里,帶時間窗口的蟲洞路由器I先后接收到的兩個時間觸發(fā)的SpaceWire數(shù)據包,即前一個時間觸發(fā)的SpaceWire數(shù)據包和后一個時間觸發(fā)的SpaceWire數(shù)據包;
[0056]從前一個時間觸發(fā)的SpaceWire數(shù)據包中提取出所述時間觸發(fā)的SpaceWire數(shù)據
包的生成時刻和數(shù)據包大小size,并計算時間窗寬HT4 =10=;
[0057]從后一個時間觸發(fā)的SpaceWire數(shù)據包中提取出所述時間觸發(fā)的SpaceWire數(shù)據包的生成時刻和數(shù)據包大小size,并計算時間窗寬= 10—一 ;
[0058]經生成時刻先后排序后,則么!^與間存在一個窗寬間隔CWf 0
[0059]對于兩個時間觸發(fā)的SpaceWire數(shù)據包的發(fā)送則是按照各自的生成時刻先后進行時間觸發(fā)的SpaceWire數(shù)據包的轉發(fā)的。
[0060]參見圖2Β、圖2C、圖2D所示,在一個網絡傳輸周期T 里,帶時間窗口的蟲洞路由器I將接收到多個SpaceWire數(shù)據包。
[0061]如第一個時間觸發(fā)的SpaceWire數(shù)據包記為SWT1、第二個時間觸發(fā)的SpaceWire數(shù)據包記為SWT2、……、倒數(shù)第二個時間觸發(fā)的SpaceWire數(shù)據包記為SWTjh、最后一個時間觸發(fā)的SpaceWire數(shù)據包記為SWTx、第一個事件觸發(fā)的SpaceWire數(shù)據包記為SWE1、第二
個事件觸發(fā)的SpaceWire數(shù)據包記為SWE2、......、最后一個事件觸發(fā)的SpaceWire數(shù)據包
記為SWEy ;X表示時間觸發(fā)的SpaceWire數(shù)據包的標識號,為了方便說明,SWTx也稱為任意一個時間觸發(fā)的SpaceWire數(shù)據包'Y表示事件觸發(fā)的SpaceWire數(shù)據包的標識號,為了方便說明,SWEy也稱為任意一個事件觸發(fā)的SpaceWire數(shù)據包。
[0062]在時間窗口設置單元12中,需要獲取出下列的生成時刻和時間窗寬:
[0063]SffT1的生成時刻記為, SffT1的時間窗寬記為;[0064]SffT2的生成時刻記為/I , SffT2的時間窗寬記為;
[0065]SWTh的生成時刻記為1 ? SffTx的時間窗寬記為撒町'' < ;
[0066]SffTx的生成時刻記為, SffTx的時間窗寬記為.[0067]SffE1的生成時刻記為BT^ , SffE1的時間窗寬記為冊.、;
[0068]SffE2的生成時刻記為ΒΤ.? SffE2的時間窗寬記為BHsmii I
[0069]SWEy的生成時刻記為, SWEy的時間窗寬記為腿耀r q
[0070]參見圖2B所示,生成時刻的排序為:i+rU、Α7^Λ.、BT^、Α7^1、
了了, — rpSWlil r, nnSWE,
[0071]參見圖2Β所示,時間窗寬出現(xiàn)了重疊為:
[0072](1) AHsmi的后端與AHsmx的前端重疊;
[0073](2) AHsirix的后端與胃:的前端重疊;
[0074]( 3 )紐撕、的后端與AHsht' 1的前端重疊;
[0075](4) AHSWT;的后端與BHm%的前端重疊;
[0076](5) BUsw1h的后 端與BHsm'的前端重疊。
[0077]參見圖2B所示,存在有窗寬間隔為:AHsmx與之間存在有窗寬間隔
; A^Sn 4 1與AHswtI之間存在有窗寬間隔°
[0078]依據時間窗寬進行數(shù)據包的發(fā)送順序為=SWT1 — SffTx — SWTjh — SffE2 — SffT2 — SWE1—SWEY。由于cCr的窗寬大于等于SWE2的時間窗寬BHsw卜?因此SWE2會在SWT2之前
發(fā)出。假如C//=1 _的窗寬小于SWE2的時間窗寬冊亂-f則SWE2會等待有滿足C//:t ?才能被發(fā)送SWE2。
[0079]參見圖2C所示,生成時刻的排序為:AT^、BT^、BT^、AT^、
T%rpSli% J Tm il -?π A Tm iX
牛..暖、Al 邪U ,f:j敦O
[0080]參見圖2C所示,時間窗寬出現(xiàn)了重疊為:BHsnA的后端與Atimix 1的前端重疊。
[0081]參見圖2C所示,存在有窗寬間隔為:AHsfrn與I之間存在有窗寬間隔chZi* AH'Sn h '與A IJ^h之間存在有窗寬間隔CH;JX 1 ; AHswfl與』HSWTx之間
IAfi1I/ISi存在有窗寬間隔C//S(|T; 6
[0082]依據時間窗寬進行數(shù)據包的發(fā)送順序為=SWT1 — SffE1 — SWTjh — SffE2 — SffT2 — SffTx—SWEy。如果Cff:).1能夠同時滿足時間窗寬^^?K和技⑷叫,貝擻據包的發(fā)送順序為:SffT1 — SffE1 — SWT5h — SffE2 — SWEy — SffT2 — SWTx。
[0083]參見圖2D所示,生成時刻的排序為:ΑΤζ^、BT^、BT^、AT^1、BTsm;r ATmix
D1 ?..成、Λ 1 ?..成 Λ 1 %-:>& °
[0084]參見圖2D所示,時間窗寬出現(xiàn)了重疊為:BHswfh的后端與AHsirr''I的前端重疊。 [0085]參見圖2D所示,存在有窗寬間隔為:AHsin'與1之間存在有窗寬間隔CH SH.人ι ; AH Λ 1與之間存在有窗寬間隔1 ; AH " 2與JuiirrV之間
存在有窗寬間隔。
[0086]依據時間窗寬進行數(shù)據包的發(fā)送順序為=SWT1 — SffE1 — SWTjh — SffE2 — SffT2 — SWEy—SWTx。
[0087]在本發(fā)明中,由于事件觸發(fā)的SpaceWire數(shù)據包在傳輸過程是要等待適合的時間窗寬,因此對于事件觸發(fā)的SpaceWire數(shù)據包存在有傳輸延遲時間。通過比較時間窗寬的大小,便能較為方便地獲得該傳輸延遲時間。
[0088]在本發(fā)明中,通過計算獲得的時間觸發(fā)的SpaceWire數(shù)據包的時間窗寬和事件觸發(fā)的SpaceWire數(shù)據包的時間窗寬的之和,便能較為方便地獲得在一個網絡周期里的數(shù)據包傳輸時間。
[0089]在本發(fā)明中,通過對傳輸延遲時間和數(shù)據包傳輸時間的分析,能夠獲得基于Spaceffire總線標準通信的航天通信網絡的性能。
[0090]在本發(fā)明中,通過時間窗口設置單元12中設置時間窗寬來控制數(shù)據包的發(fā)送順序,提高了時間觸發(fā)的SpaceWire數(shù)據包在航天通信網絡中的傳輸實時性能。
[0091 ] 帶時間窗口的蟲洞路由器I依據接收到的同步時間碼TM_Time_Code來保證在仿真過程中,對時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包進行轉發(fā)時與航天通信網絡中的網絡時間同步。
[0092]基于SpaceWire總線標準通信的航天通信網絡的仿真流程:
[0093]步驟一:基于SpaceWire總線標準通信將帶時間窗口的蟲洞路由器1、時間主控節(jié)點模塊2和終端應用節(jié)點模塊3構建一個航天通信網絡;設置已經構建的航天通信網絡的傳輸鏈路、以及數(shù)據包的傳輸速率;
[0094]根據航天通信網絡需求,選取若干個終端應用節(jié)點、一個時間主控節(jié)點、若干個帶時間窗口的蟲洞路由器,利用通信鏈路連接構成網絡。
[0095]參見圖4所示,5個終端應用節(jié)點、3個帶時間窗口的蟲洞路由器和I個時間主控節(jié)點構成一個航天通信網絡。終端應用節(jié)點記為符號ES、帶時間窗口的蟲洞路由器記為符號WR、時間主控節(jié)點記為符號TM。
[0096]若第一個終端應用節(jié)點ES1設置為源節(jié)點,時間主控節(jié)點設置為目的節(jié)點TM,則中間節(jié)點為第一個帶時間窗口的蟲洞路由器WR1、第二個帶時間窗口的蟲洞路由器WR2,故傳輸鏈路為ES1向WR1發(fā)數(shù)據包、WR1向WR2轉發(fā)數(shù)據包、WR2向TM轉發(fā)數(shù)據包。在確定了傳輸鏈路后,數(shù)據包傳輸時間為ET = Tend-T生成。
[0097]步驟二:配置終端應用節(jié)點模塊;
[0098]設置SpaceWire數(shù)據包的類型,一種為時間觸發(fā)SpaceWire數(shù)據包,另一種為事件觸發(fā)SpaceWire數(shù)據包;
[0099]設置時間觸發(fā)SpaceWire數(shù)據包的時間間隔;
[0100]設置時間觸發(fā)SpaceWire數(shù)據包的數(shù)據包大??;
[0101]設置事件觸發(fā)SpaceWire數(shù)據包的數(shù)據包大小;
[0102]步驟三:配置時間主控節(jié)點模塊;
[0103]設置初始時刻同步時間碼TM_Time_Code,并將該TM_Time_Code在航天通信網絡中進行廣播;每一次初始仿真時以O為基準時間;
[0104]步驟四:配置帶時間 窗口的蟲洞路由器的網絡周期時間,仿真開始;
[0105]步驟五:帶時間窗口的蟲洞路由器統(tǒng)計時間窗寬,并接收、轉發(fā)數(shù)據包;
[0106]帶時間窗口的蟲洞路由器先接收在一個網絡周期里的所有數(shù)據包,然后提取出數(shù)據包的生成時刻、時間窗寬,最后依據數(shù)據包類型和窗寬大小判斷條件來依次轉發(fā)數(shù)據包。
[0107]通過統(tǒng)計出的時間窗寬、窗寬間隔能夠計算出數(shù)據包被延遲發(fā)送的延遲時間。
[0108]步驟六:通過仿真時間、數(shù)據包個數(shù)、數(shù)據包類型得到仿真結果圖。
[0109]實施例1
[0110]如圖5所示,為仿真結果示意圖。其中圓形“〇”表示為時間觸發(fā)的SpaceWire數(shù)據包的傳輸時間,一個圓形為一個時間觸發(fā)SpaceWire數(shù)據包的傳輸時間;五角星“☆”表示事件觸發(fā)的SpaceWire數(shù)據包的傳輸時間,一個五星形為一個事件觸發(fā)SpaceWire數(shù)據包的傳輸時間。
[0111]可見在1.6s的仿真周期內,共測定有20個時間觸發(fā)SpaceWire數(shù)據包的傳輸時間,均為200ms (即2X 10_4s);共測定有19個事件觸發(fā)的SpaceWire數(shù)據包的傳輸時間(分另Ij 為 200ms、200ms、200ms、856ms、200ms、402ms、200ms、500ms、200ms、200ms、490ms、200ms、200ms、680ms、200ms、200ms、200ms、200ms和200ms )??梢娪捎跁r間窗寬優(yōu)先傳輸時間觸發(fā)的SpaceWire數(shù)據包,故時間觸發(fā)的SpaceWire數(shù)據包的傳輸時間恒定,傳輸延遲為O。對于事件觸發(fā)的SpaceWire的數(shù)據包,在傳輸過程中可能存在等待過程,故部分事件觸發(fā)的Spaceffire數(shù)據包的傳輸延遲不為0(本圖中傳輸延遲為事件觸發(fā)的SpaceWire數(shù)據包的傳輸時間超過200ms的部分),這部分事件觸發(fā)SpaceWire數(shù)據包的傳輸時間將因為傳輸延遲的大小而增加,造成等待時間長短的不同,在仿真結果圖中,這部分事件觸發(fā)的SpaceWire數(shù)據包的傳輸時間,由于傳輸延遲大小的不同,出現(xiàn)了不同程度的上移。
[0112]本發(fā)明中應用字母的物理意義如下表:
[0113]
【權利要求】
1.一種測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),該仿真系統(tǒng)依據SpaceWire總線標準通信構建航天通信網絡,其特征在于:該仿真系統(tǒng)包括有帶時間窗口的蟲洞路由器(1)、時間主控節(jié)點模塊(2)和終端應用節(jié)點模塊(3)。 帶時間窗口的蟲洞路由器(1)包括有蟲洞路由單元(11)、時間窗口設置單元(12)和數(shù)據包緩存單元(13)。 蟲洞路由單元(11)用于完成對時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包的轉發(fā)。 時間窗口設置單元(12)結合時間窗寬與窗寬大小來判斷數(shù)據包的發(fā)送順序。 數(shù)據包緩存單元(13 )用于臨時對時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的Spaceffire數(shù)據包進行保存。 時間主控節(jié)點模塊(2)包括有時間同步控制單元(21)和時間主控接收單元(22)。時間同步控制單元(21)用于生成同步時間碼TM_Time_Code,并向基于SpaceWire總線標準通信的航天通信網絡中廣播。當時間主控節(jié)點模塊(2)作為目的時,時間主控接收單元(22)用來接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。 終端應用節(jié)點模塊(3)包括有終端應用發(fā)送單元(31)和終端應用接收單元(32)。 在終端應用節(jié)點模塊(3)作為源節(jié)點時,終端應用節(jié)點模塊(3)通過終端應用發(fā)送單元(31)來發(fā)送時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。設置時間觸發(fā)的SpaceWire數(shù)據包的T間隔。 在終端應用節(jié)點模塊(3)作為中間節(jié)點時,終端應用節(jié)點模塊(3)通過終端應用發(fā)送單元(31)依據傳輸鏈路進行轉發(fā)時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。 在終端應用節(jié)點模塊(3)作為目的節(jié)點時,終端應用節(jié)點模塊(3)通過終端應用接收單元(32)來接收時間觸發(fā)的SpaceWire數(shù)據包和事件觸發(fā)的SpaceWire數(shù)據包。
2.根據權利要求1所述的測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),其特征在于:在所述時間窗口設置單元(12)中,時間觸發(fā)的SpaceWire數(shù)據包的時間窗寬記為AH,所
V17P,I^AH = 10-;事件觸發(fā)的SpaceWire數(shù)據包的時間窗寬記為BH,所述擬/ = 10-;CCsize表示一個SpaceWire數(shù)據包的大小,c表示仿真設置的鏈路傳輸速率。
3.根據權利要求1所述的測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),其特征在于:在所述時間窗口設置單元(12 )中,任意兩個時間觸發(fā)的SpaceWire數(shù)據包的時間窗寬之間的間隔稱為窗寬間隔CH,所述窗寬間隔CH用來轉發(fā)事件觸發(fā)的SpaceWire數(shù)據包。時間觸發(fā)的SpaceWire數(shù)據包依據生成時刻AT生成的先后進行發(fā)送所述時間觸發(fā)的SpaceWire數(shù)據包。事件觸發(fā)的SpaceWire數(shù)據包依據生成時刻BT生成的先后且是否滿足窗寬間隔的窗寬大小條件進行發(fā)送所述事件觸發(fā)的SpaceWire數(shù)據包。
4.根據權利要求1所述的測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),其特征在于:該仿真系統(tǒng)是基于matlab平臺進行仿真的。
5.根據權利要求1所述的測定SpaceWire數(shù)據包的傳輸時間的仿真系統(tǒng),其特征在于:該仿真系統(tǒng)的仿真步驟為: 步驟一:基于SpaceWire總線標準通信將帶時間窗口的蟲洞路由器(I )、時間主控節(jié)點模塊(2)和終端應用節(jié)點模塊(3)構建一個航天通信網絡;設置已經構建的航天通信網絡的傳輸鏈路、以及數(shù)據包的傳輸速率; 步驟二:配置終端應用節(jié)點模塊; 設置SpaceWire數(shù)據包的類型,一種為時間觸發(fā)SpaceWire數(shù)據包,另一種為事件觸發(fā)Spaceffire 數(shù)據包; 設置時間觸發(fā)SpaceWire數(shù)據包的時間間隔T_s ; 設置時間觸發(fā)SpaceWire數(shù)據包的數(shù)據包大??; 設置事件觸發(fā)SpaceWire數(shù)據包的數(shù)據包大??; 步驟三:配置時間主控節(jié)點模塊; 設置初始時刻同步時間碼TM_Time_Code,并將該TM_Time_Code在航天通信網絡中進行廣播;每一次初始仿真時以O為基準時間; 步驟四:配置帶時間窗口的蟲洞路由器的網絡周期時間,仿真開始; 步驟五:帶時間窗口的蟲洞路由器統(tǒng)計時間窗寬,并接收、轉發(fā)數(shù)據包; 帶時間窗口的蟲洞路由器先接收在一個網絡周期里的所有數(shù)據包,然后提取出數(shù)據包的生成時刻、時間窗寬,最后依據數(shù)據包類型和窗寬大小判斷條件來依次轉發(fā)數(shù)據包。 通過統(tǒng)計出的時間窗寬、窗寬間隔能夠計算出數(shù)據包被延遲發(fā)送的延遲時間。 步驟六:通過仿真時 間、數(shù)據包個數(shù)、數(shù)據包類型得到仿真結果圖。
【文檔編號】H04L12/26GK103746878SQ201310753304
【公開日】2014年4月23日 申請日期:2013年12月31日 優(yōu)先權日:2013年12月31日
【發(fā)明者】何鋒, 代真, 熊華鋼, 韓煜, 王琪 申請人:北京航空航天大學