一种测定SpaceWire数据包的传输时间的仿真系统的制作方法
【专利摘要】本发明公开了一种测定SpaceWire数据包的传输时间的仿真系统,该仿真系统包括有带时间窗口的虫洞路由器模块(1)、时间主控节点模块(2)和终端应用节点模块(3),所述三个模块是基于SpaceWire总线标准通信构成航天通信网络的。终端应用节点模块(3)用于生成两种类型的SpaceWire数据包,通过时间主控节点模块(2)提供的仿真系统同步时间,在带时间窗口的虫洞路由器模块(1)中完成数据包传输时间、传输延迟时间的统计。本发明仿真系统用于测定基于SpaceWire总线标准中对SpaceWire数据包的传输时间及传输延迟时间,获得的时间信息能够改善航天通信网络的性能。
【专利说明】—种测定SpaceWi re数据包的传输时间的仿真系统
【技术领域】
[0001]本发明涉及一种航天通信网络仿真领域,更特别地说,是指一种测定SpaceWire数据包传输延时的仿真系统。
【背景技术】
[0002]Spaceffire (译文为空间总线)总线是一种串行、高速、点对点、全双工的星载数据网络标准(ECSS-E-ST-50-12C,31July2008),是多源、异步、事件触发通信网络,难以保证消息的传输端到端延时。若事先已知网络中部分节点的消息属性,如时间、大小等信息,对它们的传输进行规划,按照固定时间窗口进行调度,即可形成时间触发消息网络,并极大提高网络中消息传输的确定性。
[0003]SpaceWire数据包传输端到端延时在网络分析中是一个非常重要的测定指标,它体现网络的实时性。测定消息传输延时的方法有很多,其中网络仿真是常用的一种选择。网络仿真运用数学建模和统计分析模拟网络行为,可以方便的修改模型并进行仿真,适合预测网络的性能,为网络的规划设计提供可靠的定量依据。
[0004]基于软件进行协议仿真来模拟SpaceWire网络通信机制,测定事件触发Spaceffire网络中消息的传输端到端延时,缺乏基于时间触发消息、对虫洞路由器调度时刻表进行规划的仿真系统。
【发明内容】
[0005]本发明的目的是提出一种测定SpaceWire数据包的传输时间的仿真系统,该仿真系统在于解决SpaceWire总线网络中时间触发消息的仿真问题,对路由器的调度时刻进行了规划,利用时间窗宽与窗宽大小条件来处理SpaceWire数据包的转发,对时间触发的Spaceffire数据包优先处理,保证时间触发的SpaceWire数据包的传输时间。对于事件触发的SpaceWire数据包,则利用窗宽大小条件进行转发。
[0006]本发明的一种测定SpaceWire数据包的传输时间的仿真系统,该仿真系统依据Spaceffire总线标准通信构建航天通信网络。该仿真系统包括有带时间窗口的虫洞路由器
(I)、时间主控节点模块(2)和终端应用节点模块(3)。
[0007]带时间窗口的虫洞路由器(I)包括有虫洞路由单元(11)、时间窗口设置单元(12)和数据包缓存单元(13)。
[0008]虫洞路由单元(11)用于完成对时间触发的SpaceWire数据包和事件触发的Spaceffire数据包的转发。
[0009]时间窗口设置单元(12)结合时间窗宽与窗宽大小来判断数据包的发送顺序。
[0010]数据包缓存单元(13)用于临时对时间触发的SpaceWire数据包和事件触发的Spaceffire数据包进行保存。
[0011]时间主控节点模块(2 )包括有时间同步控制单元(21)和时间主控接收单元(22 )。时间同步控制单元(21)用于生成同步时间码TM_Time_Code,并向基于SpaceWire总线标准通信的航天通信网络中广播。当时间主控节点模块(2)作为目的时,时间主控接收单元(22)用来接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。
[0012]终端应用节点模块(3 )包括有终端应用发送单元(31)和终端应用接收单元(32 )。
[0013]在终端应用节点模块(3)作为源节点时,终端应用节点模块(3)通过终端应用发送单元(31)来发送时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。设置时间触发的SpaceWire数据包的T间隔。
[0014]在终端应用节点模块(3)作为中间节点时,终端应用节点模块(3)通过终端应用发送单元(31)依据传输链路进行转发时间触发的SpaceWire数据包和事件触发的Spaceffire 数据包。
[0015]在终端应用节点模块(3)作为目的节点时,终端应用节点模块(3)通过终端应用接收单元(32)来接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。
[0016]所述的测定SpaceWire数据包的传输时间的仿真系统,在所述时间窗口设置单元(12)中,任意两个时间触发的SpaceWire数据包的时间窗宽之间的间隔称为窗宽间隔CH,所述窗宽间隔CH用来转发事件触发的SpaceWire数据包。时间触发的SpaceWire数据包依据生成时刻AT的先后进行发送所述时间触发的SpaceWire数据包。事件触发的Spaceffire数据包依据生成时刻BT^^的先后且是否满足窗宽间隔的窗宽大小条件进行发送所述事件触发的SpaceWire数据包。
[0017]本发明测定SpaceWire数据包传输延时的仿真系统的优点在于:
[0018]①本发明仿真系统对SpaceWire传统的虫洞路由器模型进行了改造,增加了数据包缓存机制,增加了路由器调度时间窗口,实现了对时间触发消息的仿真控制,从而得到一种处理时间触发消息调度的路由器模型。
[0019]②本发明仿真系统兼容事件触发和时间触发两种消息传输机制,适用于多种网络场景的仿真,如:事件触发网络,时间触发网络,事件和时间触发兼容网络。仿真结果可反馈给设计者用于评价网络的传输性能。
[0020]③本发明也能完成对标准SpaceWire网络的仿真,当网络中不含有时间触发数据包时,全为事件触发数据包,则和标准协议规定的网络一致。
【专利附图】
【附图说明】
[0021]图1是本发明测定SpaceWire数据包的传输时间的仿真系统的结构图。
[0022]图2A是时间窗宽与窗宽间隔的结构示意图。
[0023]图2B是多个时间窗宽与窗宽间隔的一种结构示意图。
[0024]图2C是多个时间窗宽与窗宽间隔的另一种结构示意图。
[0025]图2D是多个时间窗宽与窗宽间隔的再一种结构示意图。
[0026]图3是本发明测定SpaceWire数据包的传输时间的仿真系统的仿真流程图。
[0027]图4是基于SpaceWire标准协议的航天通信网络示意图。
[0028]图5是仿真结果示意图。
【具体实施方式】
[0029]下面将结合附图和实施例对本发明做进一步的详细说明。[0030]本发明是为了实现在一个基于SpaceWire总线标准通信的航天通信网络中,对Spaceffire数据包从端到端传输时的传输时间进行仿真,通过仿真得到的传输时间来测定Spaceffire数据包的传输端到端延时。
[0031]在本发明中,基于matlab (版本号7.13)平台进行仿真。
[0032]参见图1所示,本发明仿真系统包括有带时间窗口的虫洞路由器1、时间主控节点模块2和终端应用节点模块3。其中,带时间窗口的虫洞路由器I包括有虫洞路由单元11、时间窗口设置单元12和数据包缓存单元13。其中,时间主控节点模块2包括有时间同步控制单元21和时间主控接收单元22。其中,终端应用节点模块3包括有终端应用发送单元31和终端应用接收单元32。
[0033]在本发明中,在基于SpaceWire总线标准通信的航天通信网络中,时间主控节点模块2能够用于接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包,成为目的节点。
[0034]在本发明中,终端应用节点模块3 —方面能够用于发送时间触发的SpaceWire数据包和事件触发的SpaceWire数据包,成为源节点;另一方面能够用于接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包,成为目的节点。从源节点向目的节点传输SpaceWire数据包的过程称为传输链路,在所述传输链路上的除源节点和目的节点外的节点称为中间节点。所述中间节点可以是时间窗口的虫洞路由器I和/或终端应用节点模块3。
[0035]所述时间触发的SpaceWire数据包是指依据设定的数据包固定发送时间间隔T间H来触发SpaceWire数据包传输。详细地说,当在终端应用节点模块3中,若设置了 T_s =0.5秒进行SpaceWire数据包的发送,则终端应用节点模块3中的终端应用发送单元31会按照每间隔0.5秒的时间定期向时间主控节点模块2进行SpaceWire数据包。
[0036]所述事件触发的SpaceWire数据包是指不定时进行SpaceWire数据包传输。
[0037]在本发明中,SpaceWire数据包包含有 typetime、typeEvent、size、src、dest、num、eop、T生成;其中 typetime、typeEvent、size、src 和 dest 构成 Spaceffire 数据包的包头 src_node ο 一个SpaceWire数据包中的数据块设置为num = 50 ;在所述生成时刻Tifejs的说明中,由于有时间触发的SpaceWire数据包的类型typetime和事件触发的SpaceWire数据包的类型typeEvent,所以针对typetinie类型的数据包生成时刻记为ATtoa, typeEvent类型的数据包生成时刻记为BT生成。
[0038]时间主控节点模块2
[0039]在本发明中,时间主控节点模块2中的时间同步控制单元21用于生成同步时间码TM_Time_Code,并向基于SpaceWire总线标准通信的航天通信网络中广播。在终端应用节点模块3和带时间窗口的虫洞路由器I收到所述同步时间码TM_Time_C0de后,以此保证整个基于SpaceWire总线标准通信的航天通信网络的统一时间。
[0040]本发明的时间同步控制单元21产生的同步时间码TM_Time_Code来控制航天通信网络的时间同步,TM_Time_Code与SpaceWire标准协议中的Time-Code相同。
[0041]在时间主控节点模块2作为目的节点时,时间主控节点模块2通过时间主控接收单元22来接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。
[0042]在本发明中,时间主控节点模块2中的时间同步控制单元21产生时间码并广播向全网络发送,以控制整个仿真网络时间同步。在时间主控接收单元22完成对接收到的时间触发的SpaceWire数据包和事件触发的SpaceWire数据包的处理后,提取出SpaceWire数据包的生成时刻T和SpaceWire数据包到达目的节点的时刻Tmd,从而能够统计出Spaceffire数据包从源节点到达目的节点的传输时间ET = Tend-T生成。
[0043]终端应用节点模块3
[0044]在仿真前,设置终端应用节点模块3的身份(源节点、中间节点或者为目的节点)、发送SpaceWire数据包的类型(时间触发的SpaceWire数据包或者事件触发的SpaceWire数据包),并对终端应用节点模块3进行时间触发的SpaceWire数据包的时间间隔T_s进行设置,然后设置SpaceWire数据包(时间触发的SpaceWire数据包和事件触发的SpaceWire数据包)的传输速率、数据包的生成时刻T数据包的大小size。若终端应用节点模块3用于全部生成时间触发消息,则构成时间触发网络;若终端应用节点模块3用于全部生成事件触发消息,则构成事件触发网络;若终端应用节点模块3部分生成事件触发消息,部分生成时间触发消息,则为事件时间触发兼容网络。
[0045]终端应用节点模块3依据接收到的同步时间码TM_Time_C0de来保证在仿真过程,终端应用节点模块3在接收和发送SpaceWire数据包时与航天通信网络中的网络时间同
止/J/ O
[0046]在终端应用节点模块3作为源节点时,终端应用节点模块3通过终端应用发送单元31来发送时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。设置时间触发的SpaceWire数据包的T间隔。
[0047]在终端应用节点模块3作为中间节点时,终端应用节点模块3通过终端应用发送单元31依据传输链路进行转发时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。
[0048]在终端应用节点模块3作为目的节点时,终端应用节点模块3通过终端应用接收单元32来接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。
[0049]带时间窗口的虫洞路由器I
[0050]在本发明中,为了保证时间触发的SpaceWire数据包和事件触发的SpaceWire数据包在所述的航天通信网络中的网络传输,是在现有虫洞路由器(即虫洞路由单元11)上增设了时间窗口设置单元12和数据包缓存单元13,因此,虫洞路由器在本发明中称为带时间窗口的虫洞路由器。
[0051]虫洞路由单元11用于完成对时间触发的SpaceWire数据包和事件触发的Spaceffire数据包的转发。
[0052]时间窗口设置单元12结合时间窗宽与窗宽大小来判断数据包的发送顺序。
[0053]数据包缓存单元13用于临时对时间触发的SpaceWire数据包和事件触发的SpaceWire数据包进行保存。因为每个路由器的每个输入端口设置了缓存队列,用于缓储SpaceWire数据包。当数据包的包头到达路由器后,路由器通过数据包中携带的目的节点信息得到其传输所需的输出端口,若该输出端口此时为忙状态,则应将数据包缓存在路由器的缓存队列中,待该输出端口为空闲状态后,路由器才从缓存队列中发送数据包进行转发。在本发明中,数据包缓存单元13缓存的数据包是因为时间窗口设置单元12对所述的数据包的转发时间依据了时间窗宽进行了转发先后的控制。[0054]在本发明中,时间触发的SpaceWire数据包的时间窗宽记为AH,所述
\? / ^S ιζβ
AH = 10—;事件触发的SpaceWire数据包的时间窗宽记为BH,所述BH = 10——;
CC
size表示一个SpaceWire数据包的大小,c表示仿真设置的链路传输速率。任意两个时间
触发的SpaceWire数据包的时间窗宽之间的间隔称为窗宽间隔CH,所述窗宽间隔CH用来转
发事件触发的SpaceWire数据包。时间触发的SpaceWire数据包依据生成时刻AT生成的先
后进行发送所述时间触发的SpaceWire数据包。事件触发的SpaceWire数据包依据生成时
刻BT的先后且是否满足窗宽间隔的窗宽大小条件进行发送所述事件触发的SpaceWire
数据包。在本发明中,窗宽间隔的窗宽大小条件为:若CH ^ BH,则转发所述事件触发的
SpaceWire数据包,若CH < BH,则等待下一个窗宽间隔,并进一步判断所述下一个窗宽间隔
的窗宽大小是否满足所要转发事件触发的SpaceWire数据包的时间窗宽大小。在本发明
中,对于生成时刻重叠的,依据时间窗宽的大小进行转发SpaceWire数据包,时间窗宽小的
数据包先发送,时间窗宽大的数据包后发送。
[0055]参见图2A所示,在一个网络传输周期T胃?里,带时间窗口的虫洞路由器I先后接收到的两个时间触发的SpaceWire数据包,即前一个时间触发的SpaceWire数据包和后一个时间触发的SpaceWire数据包;
[0056]从前一个时间触发的SpaceWire数据包中提取出所述时间触发的SpaceWire数据
包的生成时刻和数据包大小size,并计算时间窗宽HT4 =10=;
[0057]从后一个时间触发的SpaceWire数据包中提取出所述时间触发的SpaceWire数据包的生成时刻和数据包大小size,并计算时间窗宽= 10—一 ;
[0058]经生成时刻先后排序后,则么!^与间存在一个窗宽间隔CWf 0
[0059]对于两个时间触发的SpaceWire数据包的发送则是按照各自的生成时刻先后进行时间触发的SpaceWire数据包的转发的。
[0060]参见图2Β、图2C、图2D所示,在一个网络传输周期T 里,带时间窗口的虫洞路由器I将接收到多个SpaceWire数据包。
[0061]如第一个时间触发的SpaceWire数据包记为SWT1、第二个时间触发的SpaceWire数据包记为SWT2、……、倒数第二个时间触发的SpaceWire数据包记为SWTjh、最后一个时间触发的SpaceWire数据包记为SWTx、第一个事件触发的SpaceWire数据包记为SWE1、第二
个事件触发的SpaceWire数据包记为SWE2、......、最后一个事件触发的SpaceWire数据包
记为SWEy ;X表示时间触发的SpaceWire数据包的标识号,为了方便说明,SWTx也称为任意一个时间触发的SpaceWire数据包'Y表示事件触发的SpaceWire数据包的标识号,为了方便说明,SWEy也称为任意一个事件触发的SpaceWire数据包。
[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Β所示,时间窗宽出现了重叠为:
[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]依据时间窗宽进行数据包的发送顺序为=SWT1 — SffTx — SWTjh — SffE2 — SffT2 — SWE1—SWEY。由于cCr的窗宽大于等于SWE2的时间窗宽BHsw卜?因此SWE2会在SWT2之前
发出。假如C//=1 _的窗宽小于SWE2的时间窗宽册亂-f则SWE2会等待有满足C//:t ?才能被发送SWE2。
[0079]参见图2C所示,生成时刻的排序为:AT^、BT^、BT^、AT^、
T%rpSli% J Tm il -?π A Tm iX
牛..暖、Al 邪U ,f:j敦O
[0080]参见图2C所示,时间窗宽出现了重叠为: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]依据时间窗宽进行数据包的发送顺序为=SWT1 — SffE1 — SWTjh — SffE2 — SffT2 — SffTx—SWEy。如果Cff:).1能够同时满足时间窗宽^^?K和技⑷叫,贝擞据包的发送顺序为:SffT1 — SffE1 — SWT5h — SffE2 — SWEy — SffT2 — SWTx。
[0083]参见图2D所示,生成时刻的排序为:ΑΤζ^、BT^、BT^、AT^1、BTsm;r ATmix
D1 ?..成、Λ 1 ?..成 Λ 1 %-:>& °
[0084]参见图2D所示,时间窗宽出现了重叠为:BHswfh的后端与AHsirr''I的前端重叠。 [0085]参见图2D所示,存在有窗宽间隔为:AHsin'与1之间存在有窗宽间隔CH SH.人ι ; AH Λ 1与之间存在有窗宽间隔1 ; AH " 2与JuiirrV之间
存在有窗宽间隔。
[0086]依据时间窗宽进行数据包的发送顺序为=SWT1 — SffE1 — SWTjh — SffE2 — SffT2 — SWEy—SWTx。
[0087]在本发明中,由于事件触发的SpaceWire数据包在传输过程是要等待适合的时间窗宽,因此对于事件触发的SpaceWire数据包存在有传输延迟时间。通过比较时间窗宽的大小,便能较为方便地获得该传输延迟时间。
[0088]在本发明中,通过计算获得的时间触发的SpaceWire数据包的时间窗宽和事件触发的SpaceWire数据包的时间窗宽的之和,便能较为方便地获得在一个网络周期里的数据包传输时间。
[0089]在本发明中,通过对传输延迟时间和数据包传输时间的分析,能够获得基于Spaceffire总线标准通信的航天通信网络的性能。
[0090]在本发明中,通过时间窗口设置单元12中设置时间窗宽来控制数据包的发送顺序,提高了时间触发的SpaceWire数据包在航天通信网络中的传输实时性能。
[0091 ] 带时间窗口的虫洞路由器I依据接收到的同步时间码TM_Time_Code来保证在仿真过程中,对时间触发的SpaceWire数据包和事件触发的SpaceWire数据包进行转发时与航天通信网络中的网络时间同步。
[0092]基于SpaceWire总线标准通信的航天通信网络的仿真流程:
[0093]步骤一:基于SpaceWire总线标准通信将带时间窗口的虫洞路由器1、时间主控节点模块2和终端应用节点模块3构建一个航天通信网络;设置已经构建的航天通信网络的传输链路、以及数据包的传输速率;
[0094]根据航天通信网络需求,选取若干个终端应用节点、一个时间主控节点、若干个带时间窗口的虫洞路由器,利用通信链路连接构成网络。
[0095]参见图4所示,5个终端应用节点、3个带时间窗口的虫洞路由器和I个时间主控节点构成一个航天通信网络。终端应用节点记为符号ES、带时间窗口的虫洞路由器记为符号WR、时间主控节点记为符号TM。
[0096]若第一个终端应用节点ES1设置为源节点,时间主控节点设置为目的节点TM,则中间节点为第一个带时间窗口的虫洞路由器WR1、第二个带时间窗口的虫洞路由器WR2,故传输链路为ES1向WR1发数据包、WR1向WR2转发数据包、WR2向TM转发数据包。在确定了传输链路后,数据包传输时间为ET = Tend-T生成。
[0097]步骤二:配置终端应用节点模块;
[0098]设置SpaceWire数据包的类型,一种为时间触发SpaceWire数据包,另一种为事件触发SpaceWire数据包;
[0099]设置时间触发SpaceWire数据包的时间间隔;
[0100]设置时间触发SpaceWire数据包的数据包大小;
[0101]设置事件触发SpaceWire数据包的数据包大小;
[0102]步骤三:配置时间主控节点模块;
[0103]设置初始时刻同步时间码TM_Time_Code,并将该TM_Time_Code在航天通信网络中进行广播;每一次初始仿真时以O为基准时间;
[0104]步骤四:配置带时间 窗口的虫洞路由器的网络周期时间,仿真开始;
[0105]步骤五:带时间窗口的虫洞路由器统计时间窗宽,并接收、转发数据包;
[0106]带时间窗口的虫洞路由器先接收在一个网络周期里的所有数据包,然后提取出数据包的生成时刻、时间窗宽,最后依据数据包类型和窗宽大小判断条件来依次转发数据包。
[0107]通过统计出的时间窗宽、窗宽间隔能够计算出数据包被延迟发送的延迟时间。
[0108]步骤六:通过仿真时间、数据包个数、数据包类型得到仿真结果图。
[0109]实施例1
[0110]如图5所示,为仿真结果示意图。其中圆形“〇”表示为时间触发的SpaceWire数据包的传输时间,一个圆形为一个时间触发SpaceWire数据包的传输时间;五角星“☆”表示事件触发的SpaceWire数据包的传输时间,一个五星形为一个事件触发SpaceWire数据包的传输时间。
[0111]可见在1.6s的仿真周期内,共测定有20个时间触发SpaceWire数据包的传输时间,均为200ms (即2X 10_4s);共测定有19个事件触发的SpaceWire数据包的传输时间(分另Ij 为 200ms、200ms、200ms、856ms、200ms、402ms、200ms、500ms、200ms、200ms、490ms、200ms、200ms、680ms、200ms、200ms、200ms、200ms和200ms )。可见由于时间窗宽优先传输时间触发的SpaceWire数据包,故时间触发的SpaceWire数据包的传输时间恒定,传输延迟为O。对于事件触发的SpaceWire的数据包,在传输过程中可能存在等待过程,故部分事件触发的Spaceffire数据包的传输延迟不为0(本图中传输延迟为事件触发的SpaceWire数据包的传输时间超过200ms的部分),这部分事件触发SpaceWire数据包的传输时间将因为传输延迟的大小而增加,造成等待时间长短的不同,在仿真结果图中,这部分事件触发的SpaceWire数据包的传输时间,由于传输延迟大小的不同,出现了不同程度的上移。
[0112]本发明中应用字母的物理意义如下表:
[0113]
【权利要求】
1.一种测定SpaceWire数据包的传输时间的仿真系统,该仿真系统依据SpaceWire总线标准通信构建航天通信网络,其特征在于:该仿真系统包括有带时间窗口的虫洞路由器(1)、时间主控节点模块(2)和终端应用节点模块(3)。 带时间窗口的虫洞路由器(1)包括有虫洞路由单元(11)、时间窗口设置单元(12)和数据包缓存单元(13)。 虫洞路由单元(11)用于完成对时间触发的SpaceWire数据包和事件触发的SpaceWire数据包的转发。 时间窗口设置单元(12)结合时间窗宽与窗宽大小来判断数据包的发送顺序。 数据包缓存单元(13 )用于临时对时间触发的SpaceWire数据包和事件触发的Spaceffire数据包进行保存。 时间主控节点模块(2)包括有时间同步控制单元(21)和时间主控接收单元(22)。时间同步控制单元(21)用于生成同步时间码TM_Time_Code,并向基于SpaceWire总线标准通信的航天通信网络中广播。当时间主控节点模块(2)作为目的时,时间主控接收单元(22)用来接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。 终端应用节点模块(3)包括有终端应用发送单元(31)和终端应用接收单元(32)。 在终端应用节点模块(3)作为源节点时,终端应用节点模块(3)通过终端应用发送单元(31)来发送时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。设置时间触发的SpaceWire数据包的T间隔。 在终端应用节点模块(3)作为中间节点时,终端应用节点模块(3)通过终端应用发送单元(31)依据传输链路进行转发时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。 在终端应用节点模块(3)作为目的节点时,终端应用节点模块(3)通过终端应用接收单元(32)来接收时间触发的SpaceWire数据包和事件触发的SpaceWire数据包。
2.根据权利要求1所述的测定SpaceWire数据包的传输时间的仿真系统,其特征在于:在所述时间窗口设置单元(12)中,时间触发的SpaceWire数据包的时间窗宽记为AH,所
V17P,I^AH = 10-;事件触发的SpaceWire数据包的时间窗宽记为BH,所述擬/ = 10-;CCsize表示一个SpaceWire数据包的大小,c表示仿真设置的链路传输速率。
3.根据权利要求1所述的测定SpaceWire数据包的传输时间的仿真系统,其特征在于:在所述时间窗口设置单元(12 )中,任意两个时间触发的SpaceWire数据包的时间窗宽之间的间隔称为窗宽间隔CH,所述窗宽间隔CH用来转发事件触发的SpaceWire数据包。时间触发的SpaceWire数据包依据生成时刻AT生成的先后进行发送所述时间触发的SpaceWire数据包。事件触发的SpaceWire数据包依据生成时刻BT生成的先后且是否满足窗宽间隔的窗宽大小条件进行发送所述事件触发的SpaceWire数据包。
4.根据权利要求1所述的测定SpaceWire数据包的传输时间的仿真系统,其特征在于:该仿真系统是基于matlab平台进行仿真的。
5.根据权利要求1所述的测定SpaceWire数据包的传输时间的仿真系统,其特征在于:该仿真系统的仿真步骤为: 步骤一:基于SpaceWire总线标准通信将带时间窗口的虫洞路由器(I )、时间主控节点模块(2)和终端应用节点模块(3)构建一个航天通信网络;设置已经构建的航天通信网络的传输链路、以及数据包的传输速率; 步骤二:配置终端应用节点模块; 设置SpaceWire数据包的类型,一种为时间触发SpaceWire数据包,另一种为事件触发Spaceffire 数据包; 设置时间触发SpaceWire数据包的时间间隔T_s ; 设置时间触发SpaceWire数据包的数据包大小; 设置事件触发SpaceWire数据包的数据包大小; 步骤三:配置时间主控节点模块; 设置初始时刻同步时间码TM_Time_Code,并将该TM_Time_Code在航天通信网络中进行广播;每一次初始仿真时以O为基准时间; 步骤四:配置带时间窗口的虫洞路由器的网络周期时间,仿真开始; 步骤五:带时间窗口的虫洞路由器统计时间窗宽,并接收、转发数据包; 带时间窗口的虫洞路由器先接收在一个网络周期里的所有数据包,然后提取出数据包的生成时刻、时间窗宽,最后依据数据包类型和窗宽大小判断条件来依次转发数据包。 通过统计出的时间窗宽、窗宽间隔能够计算出数据包被延迟发送的延迟时间。 步骤六:通过仿真时 间、数据包个数、数据包类型得到仿真结果图。
【文档编号】H04L12/26GK103746878SQ201310753304
【公开日】2014年4月23日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】何锋, 代真, 熊华钢, 韩煜, 王琪 申请人:北京航空航天大学