时间触发以太网多业务消息发送的混合调度方法与流程

文档序号:17071382发布日期:2019-03-08 23:20阅读:1153来源:国知局
时间触发以太网多业务消息发送的混合调度方法与流程

本发明属于网络通信技术,涉及一种时间触发以太网多种消息发送的混合调度方法及相关数据结构。



背景技术:

在符合ieee802.3标准的以太网中,网络设备使用事件触发以太网传输原则,任意网络设备可以在任意时间点访问网络,采用先到达先服务的原则。网络设备之间通过共享介质通信,必然导致一些消息在传输过程中产生不确定的抖动和累积的延迟。

符合arinc664part7标准的afdx网络基于以太网,在数据链路层增加虚拟链路(vl)、带宽分配间隙(bag)、抖动管理等机制,有效避免消息传输过程中的冲突,使消息具有了实时性和确定性,从而满足了航空电子系统信息传输的可靠性和确定性需求。

符合as6802标准的tte网络,兼容以太网和afdx网络,使用一个网络设备之间协调为基础的网络同步时间,以减少传输时延和抖动,支持时间触发机制的tt消息、事件触发机制的rc消息(即afdx消息)和be消息(以太网消息),从而在单一网络中满足不同实时和安全等级的应用需要。

as6802标准在网络层面支持tt、rc和be等三种业务消息,没有将其集合到一个端系统中,更没有提出三种消息之间的发送调度机制。

本发明设计了一种满足pcf、tt、rc和be等消息传输特性的发送调度消息交互机制,制定了一种多种业务消息的非抢占式时间触发和优先级混合调度方法,实现符合tt消息的时间触发特性、pcf消息的事件触发特性、rc消息的速率限制特性和be消息的尽力而为传输特性的发送调度,解决了时间触发以太网中难以兼顾多种业务消息传输特性的问题,为设计和实现支持多种业务流的端系统提供技术支撑。



技术实现要素:

发明目的:

本发明设计了一种满足pcf、tt、rc和be等消息传输特性的发送调度消息交互机制,制定了一种多种业务消息的非抢占式时间触发和优先级混合调度方法,解决了时间触发以太网中难以兼顾多种业务消息传输特性的问题,为设计和实现支持多种业务流的端系统提供技术支撑。

技术方案:

时间触发以太网多业务消息发送的混合调度方法,其特征在于,具体包括以下步骤:

步骤1:主机应用和端系统同步功能作为数据源,产生需要发送的初始数据;主机应用产生的数据按照类型分别经过tt发送器、rc发送器和be发送器,打包成时间触发的tt消息、事件触发机制的rc消息和be消息;端系统同步功能产生的数据经过pcf发送器打包成事件触发的pcf消息,tt、pcf、rc和be四种发送器提供如下调度信息:

(1).四种发送器分别维护对应的发送缓冲区;

(2).tt发送器维护一张发送计划表,包含一个或多个发送时间点和对应缓冲区,计划表按照时间先后顺序组织;

(3).pcf发送器维护一个发送请求信号和固定缓冲区;

(4).rc发送器维护一张发送调度表,包含所有vl的状态;

(5).be发送器维护一个发送队列,包含be数据是否准备好、be数据的地址和长度;

步骤2:调度器与所有发送器并行工作,设置tt计划表中第一项为当前发送计划,跳转到步骤3;

步骤3:如果端系统处于同步状态,读取发送计划,在计划时间点之前可以发送的数据帧长,记为允许长度,随着本地时钟的变化而变化,否则设置允许长度固定为最大帧长,1518字节。

如果允许长度小于64字节,跳转到步骤4;否则跳转到步骤6;

步骤4:调度器禁止数据发送直到计划时间点,判断该计划数据是否准备好,是则发送后跳转到步骤5;否则直接跳转到步骤5。

步骤5:设置下一项,表尾项的下一项是表头项,为发送计划,跳转到步骤3;

步骤6:按照pcf、rc、be从高到低的优先顺序,判断其数据帧长是否小于或等于允许长度,rc业务所有vl的数据帧同时判断,是则发送一帧,完成后跳转到步骤3,否则直接跳转到步骤3。

所述步骤1中,vl的状态包括rc数据是否准备好、数据地址、数据长度。

有益效果:

基于as6802标准提出的三种业务消息及其传输特性,制定了一种时间触发以太网中多种业务消息发送的调度方法,符合tt消息的时间触发特性、rc消息的速率限制特性和be消息的尽力而为传输特性,为设计和实现支持多种业务流的端系统提供技术支撑。

本方法采用非抢占式调度,避免了因抢占调度导致的网络上出现大量不完整片断,节省了发送不完整片断占用的带宽。

为了保证tt帧的时间触发特性,本方法为tt帧的发送提前预定其发送时间点,所有会占用此时间点的消息发送都不被允许,保证了tt帧的精确定时发送,如图2所示。当tt调度到第i项时,如果有tt帧被发送,则按照优先级发送在区域2中的非tt帧;如果没有tt帧被发送,则按照优先级发送在区域1和2中的非tt帧。

进行rc调度时,当一个vl准备发送超过允许长度的数据帧,另一个vl准备发送低于允许长度的数据帧,本方法对所有rc业务的vl同时进行发送控制,确保前者不会阻塞后者,提升了网络带宽使用效率。

附图说明

图1是调度方法流程图。

图2是tt发送时间点与非tt帧发送的关系

具体实施方式

下面结合附图对本发明的实施步骤做进一步描述,如图1所示,本发明技术方案的具体详细实施步骤包括:

步骤1:主机应用和端系统同步功能作为数据源,产生需要发送的初始数据。主机应用产生的数据按照类型分别经过tt发送器、rc发送器和be发送器,打包成时间触发的tt消息、事件触发机制的rc消息和be消息。端系统同步功能产生的数据经过pcf发送器打包成事件触发的pcf消息。所有发送器和调度器并行工作,发送器提供以下信息:

(1).tt发送器、pcf发送器、rc发送器和be发送器分别维护对应的发送缓冲区,其中pcf发送缓冲区只包含一个单元;

(2).tt发送器维护一张发送计划表ttschtbl,表中每项为{ttpit,ttstatus}组成的二元组,其中:

a)ttpit表示静态配置的发送时间点,ttschtbl的表项按照ttpit的先后顺序排列;

b)ttstatus表示发送时间点ttpit对应数据的状态信息,其值介于0和tt最大发送缓冲区编号ttmaxbufno之间时表示缓冲区编号,直接映射到待发送数据在缓冲区中的位置;否则表示数据未准备好;

(3).pcf发送器维护一个发送请求信号pcfreq;

(4).rc发送器维护一张rc发送调度表rcschtbl,表中每一项表示一条rc数据的发送虚链路rcvl的状态信息,由{rcbuf,rcbuflen,rcreq}组成的三元组表示:

a)rcbuf表示该rcvl待发送数据帧的存储地址;

b)rcbuflen表示该rcvl待发送数据帧的帧长度;

c)rcreq表示该rcvl是否有待发送数据;

d)其中待发送数据是指通过rc发送器的流量规整功能的数据;

(5).be发送器维护一个be数据发送队列,队列中每一项由一条be数据的发送缓冲区地址bebuf和长度bebuflen组成,队列是否空由bereq表示:

步骤2:调度器与所有发送器并行工作,设置tt计划表中第一项为当前计划项ttschitem,跳转到步骤3;

步骤3:如果端系统处于稳定同步状态sync,则读取ttschitem,记录发送时间点ttpit,跳转到步骤4;否则设置允许发送帧长值txlenallowed为不小于最大帧长的值,跳转到步骤8;

步骤4:读取本地时钟localclock,计算其到ttpit的时间差timediff,考虑到localclock以集群周期clustercycleduration为周期,因此timediff计算方法如下:

如果localclock小于ttpit时,timediff=ttpit-localclock;

否则timediff=clustercycleduration+ttpit-localclock;

然后跳转到步骤5;

步骤5:计算允许发送帧长值txlenallowed:

txlenallowed=(timediff-tshift)*netspeed-ifslen;

其中netspeed表示网络速率;ifslen表示前导符、起始定界符和帧间隔的长度,固定为20字节;tshift表示切换时间,不小于该类数据从允许发送到数据到达物理层的时间差。由于pcf、rc、be数据帧的寻址、读取时间的差异,tshift可能不同,因此三种数据帧的允许帧长值分别为txlenallowedpcf、txlenallowedrc和txlenallowedbe;

如果三种txlenallowed都低于64,则等待直到localclock等于ttpit,跳转到步骤6;否则跳转到步骤8;

步骤6:读取ttschitem的数据状态ttstatus,如果ttstatus指示数据已准备好,则根据ttstatus指示的位置从tt发送缓冲区读取并发送tt数据,等待发送完成后,跳转到步骤7;否则直接跳转到步骤7;

步骤7:如果ttschitem是tt计划表最后一项,则设置第一项为ttschitem;否则设置其下一项为ttschitem。然后跳转到步骤3;

步骤8:响应pcf、rc、be等消息的发送请求:

pcfgnt=pcfreqand(64≤txlenallowedpcf)

(π表示逐项进行逻辑与操作)

rcvlgnt=满足{rcreqiandrcbufleni≤txlenallowedrc)}的最小i值

begnt=not(pcfgntandrcgnt)andbereqand(bebuflen≤

txlenallowedbe)

然后跳转到步骤9;

步骤9:处理pcf、rc、be等消息的发送:

(1).如果pcfgnt等于1,则发送pcfbuf中的pcf数据帧,完成后进入步骤3;

(2).如果rcgnt等于1,则发送第rcvlgnt项的{rcbuf,rcbuflen}指定的rc数据帧,完成后进入步骤3;

(3).如果begnt等于1,则发送{bebuf,bebuflen}指定的be数据,完成后进入步骤3。

本发明技术方案的技术原理和优点包括:

非抢占式调度的优点:

采用抢占式调度,会产生高优先级数据帧抢占物理链路,导致低优先级数据帧的发送未完成,网络上出现大量片断,同时低优先级数据帧需要再次发送,降低了带宽利用率,因此本方法采用非抢占式调度,消除了以上不得因素。

tt数据的资源预留:

由于tt数据的时间触发特性,以及非抢占调度的要求,如果非tt数据帧不能在tt发送时间点到达之前发送完成,就要禁止其发送。因此本方法定义txlenallowed参数来控制非tt数据帧的发送。根据上述步骤,txlenallowed曲线如图2所示。

当localclock在预留时间点i和ttpiti之间时,txlenallowed小于64,步骤8的控制逻辑保证了非tt数据帧都禁止发送,保证按时到达的tt数据帧能够按时发送;当localclock=ttpiti时,如果该时间点的发送数据已准备好,则发送完成后切换到下一个tt发送点ttpitj;否则立即切换。由ttpitj控制非tt数据帧。

时间触发以太网中tt数据占用部分带宽,所有数据的带宽不会超过接口带宽,因此相邻两个tt发送时间点之间有足够时间用于非tt数据帧的发送。

非tt数据的优先级调度在步骤8中实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1