用于TTE网络的混合调度方法、TTE网络终端与流程

文档序号:17321045发布日期:2019-04-05 21:32阅读:752来源:国知局
用于TTE网络的混合调度方法、TTE网络终端与流程

本发明涉及一种用于tte网络的混合调度方法和tte网络终端。



背景技术:

时间触发以太网(time-triggeredethernet,tte/saeas6802)是一种在交换式网络互连环境下的时间触发通信技术。saeas6802标准对标准以太网ieee802.3或afdx专用以太网标准不作修改,仅在以太网协议基础上通过链路层的改造,增强以太网服务的时间确定性,提供一种能够以固定的端到端延迟和微秒级时延抖动进行确定性消息传递的服务。

根据saeas6802协议,如图1所示,为满足不同的应用需求和场景,tte网络可以支持三种不同实时性等级和安全等级的数据通信,即时间触发消息(tt,time-triggered)、率限制消息(rc,rate-control)、“尽力传”消息(be,best-effort)。三种数据帧优先级关系是:tt流量>rc流量>be流量。

从图1可以看到,tte网络并不修改消息内容,而是在ip或udp等上层消息上生成触发消息,这是由于tte只是定义了一种协议控制帧,用于整个网络系统的时间同步。换言之,tte协议只是定义了消息的发送时刻,与消息内容无关。

在航空机载网络系统中,afdx作为一种主流的飞机数据网络总线,引入流量控制机制,通过虚拟链路技术和bag定时调度机制改善了以太网的确定性和实时性,但该时间精度的确定性和实时性无法满足实时性苛刻的应用场合。而在引入tte网络后,所有的tt消息仅在预先定义的时刻进行通信,与rc和be流量分时占用物理链路,在时间调度上不存在竞争,具有更好的通信实时性,更加适用于消息延迟小、延迟抖动小的确定性通信场合。引入tte网络的航空机载网络系统的典型应用场景如图2所示:

由于优先级的不同,必然导致三种不同实时性等级的数据帧在时间片切换过程中存在一定的技术时延,如果技术延时过大,会导致tt消息发送超出对应的时间片,在接收端就会错过相应接收时间窗而被过滤掉。本发明聚焦于减少此技术时延,在saeas6802协议的基础上基于千兆tte网络端系统硬件平台,设计了一种低延时的混合调度方法和终端网络。



技术实现要素:

本发明的发明目的是提供一种用于tte网络的混合调度方法和网络终端,解决rc_be时间片切换到tt时间片的临界域时mac层发送调度的冲突,降低tt消息传输时延,保证tt消息调度的高实时性要求。

本发明的发明目的通过以下技术方案实现:

一种用于tte网络的混合调度方法,所述tte网络中设有tt时间片和rc_be时间片,rc_be时间片用于调度rc帧和be帧;tt时间片设有起始时刻点、浮动时刻点和结束时刻点,在起始时刻点到浮动时刻点之间调度tt帧,待物理链路上正在发送的rc_be帧完成发送后发送tt帧;在浮动时刻点到结束时刻点之间停止调度tt帧,发送已调度成功的tt帧。

一种用于实现上述混合调度方法的网络终端,包含:

tt帧信息缓存队列:用于缓存外部缓冲区中已经写入的tt帧的信息,每条tt链路对应一个tt帧信息缓存队列;

rc_be帧信息缓存队列:用于缓存外部缓冲区中已经写入的rc帧和be帧的信息,每条rc_be链路对应一个rc_be帧信息缓存队列;

tt帧数据拷贝控制器:用于根据tt帧信息缓存队列中的tt帧的信息将外部缓冲区中的tt帧的数据拷贝到tt待发送数据缓存的对应缓存空间,将tt帧的信息拷贝到tt待发送帧信息模块,更新tt待发送状态寄存器;

混合调度模块:在起始时刻点至浮动时刻点之间,检测tt待发送状态寄存器中的状态信息,若存在待发送tt帧,则向优先级仲裁模块发出请求;在浮动时刻点和结束时刻点之间,停止调度;在rc_be时间片,将rc_be帧信息缓存队列中的rc帧和be帧的信息写入调度成功帧信息缓存fifo,向优先级仲裁模块发出请求:

tt待发送数据缓存:为每个tt链路预先分配一个的缓存空间,每个缓存空间缓存对应tt链路上的一帧待发tt帧的数据;

tt待发送帧信息模块:与tt待发送数据缓存一一对应,存放帧的信息;

tt待发送状态寄存器:与tt待发送数据缓存一一对应,标识tt待发送数据缓存中是否存在待发数据,当有数据从外部缓冲区拷贝到tt待发送数据缓存时则置位状态,发送完成后则清空状态;

调度成功帧信息缓存fifo:用于存储混合调度模块调度成功后的rc帧和be帧的帧信息;

预取控制模块:根据调度成功帧信息缓存fifo中是否存在调度成功的帧信息,若存在则向rc_be数据拷贝模块发出拷贝请求;

rc_be数据拷贝控制器:用于根据预取控制模块和rc_be待发送状态寄存器的控制,依据rc_be帧信息缓存队列缓存的rc帧和be帧的信息将外部缓存区的rc帧和be帧的数据拷贝到rc_be待发送数据缓存、将rc帧和be帧的信息拷贝到rc_be待发送帧信息,更新rc_be待发送状态寄存器;

rc_be待发送数据缓存:根据先入先出原则缓存rc_be数据拷贝控制器拷贝的rc帧和be帧的数据;

rc_be待发送帧信息模块:根据先入先出原则存储拷贝的rc帧和be帧的帧信息,与rc_be待发送数据缓存一一对应;

rc_be待发送状态寄存器:标识rc_be待发送数据缓存模块的缓存数据量,当有数据从外部缓冲区拷贝到rc_be待发送数据缓存时,则缓存数据量加一,当发送完成一帧后,则缓存数据量减一,当缓存数据量达到设置的门限时,则暂停rc_be数据拷贝控制器;

发送优先级仲裁:响应混合调度模块发送的请求,根据优先级给出应答,将数据送出到物理链路,优先级关系是tt流量>rc流量>be流量;

mac封装发送模块:将数据帧封装mac信息,与phy芯片接口。

本发明的有益效果在于:

1)满足千兆网络传输带宽。

2)具有arinc664的冗余发送功能

3)根据配置表预先划分的时间片调度传输相应数据帧。

4)实现网络数据帧的背靠背传输,在rc_be时间片内,连续发送满足arinc664规定的最小帧间隔。

5)确保tte帧的高实时性,保证tt消息发送不超出预设时间窗范围。

6)降低时间片切换时,调度到发送过程的技术时延。

7)具有帧传输完整性保护机制,不因时时间片换切换而中断网络上正在传输的数据帧。

8)具有优先级判断和互斥保护功能,确保在有竞争调度时传输的有序性。

附图说明

图1为tte协议栈对应关系。

图2为tte网络在航空机载网络中的典型应用。

图3为网络终端的结构示意图。

图4为混合调度方法的流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。

如图4所示,一种用于tte网络的混合调度方法,其中tte网络中设有tt时间片和rc_be时间片,rc_be时间片用于调度rc帧和be帧;在tt时间片设有起始时刻点、浮动时刻点和结束时刻点;在起始时刻点到浮动时刻点之间调度tt帧,待物理链路上正在发送的rc_be帧完成发送后发送tt帧;在浮动时刻点到结束时刻点之间停止调度tt帧,发送已调度成功的tt帧。

如图3所示,本实施例所示的用于实现上述混合调度方法的网络终端,采用基于zynq的soc平台,采用内嵌的arm硬核完成底层的参数配置以及综合任务管理,mac层的调度处理采用硬件描述实现。由于rc帧和be帧的发送调度实现类似,故方案中整理到一起,现对方案重要功能模块描述如下:

1)tt帧信息缓存队列:用于缓存外部缓冲区(如ddr)中已经写入的tt帧的信息,如长度、地址、vl号等。当有待发送tt帧写入外部缓冲区,驱动软件即将tt帧的信息写入队列,同时更新状态寄存器a。每条tt链路对应一个tt帧信息缓存队列。

2)rc_be帧信息缓存队列:用于缓存外部缓冲区中已经写入的rc帧和be帧的信息,如长度、地址、vl号等。当有待发送rc帧和be帧写入外部缓冲区,驱动软件即将rc帧和be帧的信息写入队列,同时更新状态寄存器b。每条rc_be链路对应一个rc_be帧信息缓存队列。

3)tt帧数据拷贝控制器:用于根据tt帧信息缓存队列中的tt帧的信息将外部缓冲区中的tt帧的数据拷贝到tt待发送数据缓存的对应缓存空间,将tt帧的信息拷贝到tt待发送帧信息模块,更新tt待发送状态寄存器。

4)rc_be数据拷贝控制器:用于根据预取控制模块和rc_be待发送状态寄存器的控制,依据rc_be帧信息缓存队列缓存的rc帧和be帧的信息将外部缓存区的rc帧和be帧的数据拷贝到rc_be待发送数据缓存、将rc帧和be帧的信息拷贝到rc_be待发送帧信息,更新rc_be待发送状态寄存器。

tt帧数据拷贝控制器和rc_be数据拷贝控制器具有互斥关系,不同时访问ddr。另外,tt帧数据拷贝控制器和rc_be数据拷贝控制器的启动时机不同(如图3)。

5)混合调度模块:此为本发明中的核心模块,tt、rc、be三种帧采用图4所示的调度策略:

考虑到时间片切换时的临界状态,在调度策略中对tt时间片引入起始时刻点s(start)、浮动时刻点m(middle)、结束时刻点e(end)三个时刻点。s至m过程相对应的tt_vl均可调度,也就是说这段时间对应的内部vl缓冲区存在数据,相应状态寄存器(见模块8中描述)置位则能调度成功;m至e过程预留给调度成功的帧发送,此时不允许任何调度,两个过程共同构成一个完整的tt时间片。当在s至m过程,若物理链路上有正在发送的rc_be数据,则需要保证此帧发送的完整性,即使此时有tt帧调度成功,也需要等待前面的帧发送完成再接着发送,这种情况下调度成功的tt帧会接着前一帧以最小帧间隔背靠背发送,将临界域技术时延降低到最小。另外,两个过程均需要满足最大帧长的发送时间,这样就很好的解决了rc_be时间片切换到tt时间片的临界域时mac层发送调度的冲突,且能保证tt帧可在预先规划的时间片内完成发送,满足其高实时性需求。另外,时间片的划分根据配置表预先规划,通过驱动软件写入底层逻辑配置管理模块中。

混合调度模块在起始时刻点至浮动时刻点之间,检测tt待发送状态寄存器中的状态信息,若存在待发送tt帧,则向优先级仲裁模块发出请求;在浮动时刻点和结束时刻点之间,停止调度;在rc_be时间片,将rc_be帧信息缓存队列中的rc帧和be帧的信息写入调度成功帧信息缓存fifo,向优先级仲裁模块发出请求。

6)tt待发送数据缓存:内部缓存,每个tt链路预先分配一个2kb的空间,tt帧数据拷贝控制器根据vl_id号将tt帧数据拷贝到相应缓存空间,此仅缓存一帧待发数据,若存在数据,调度成功则立即向发送优先级仲裁模块发出请求,请求得到响应则立即启动发送。

7)tt待发送帧信息模块:与tt待发送数据缓存一一对应,存放帧的地址、长度、vl_id号等相关信息。

8)tt待发送状态寄存器:与tt待发送数据缓存一一对应,标识内部缓存中是否存在待发数据,当有数据从外部ddr拷贝到内部置位状态,发送完成后则清空状态。

9)调度成功帧信息缓存fifo:用于存储混合调度模块调度成功后的rc帧和be帧的帧信息。由于这两类帧存在竞争调度,一旦有调度成功立即将队列中相应的帧信息写入此队列,后面发送便按照此队列中的先后顺序依次发送。

10)预取控制模块:根据调度成功帧信息缓存fifo中是否存在调度成功的帧信息,若存在则向rc_be数据拷贝模块发出拷贝请求,控制内部缓存中的数据流量。如此,在rc_be时间片内,若有多帧调度成功,则可实现背靠背连续发送,极大提升了网络带宽利用率,且降低了内部缓存数据拥堵的压力。

11)rc_be待发送数据缓存:根据先入先出原则缓存rc_be数据拷贝控制器拷贝的rc帧和be帧的数据。

12)rc_be待发送帧信息模块:根据先入先出原则存储拷贝的rc帧和be帧的帧信息,与rc_be待发送数据缓存一一对应

13)rc_be待发送状态寄存器:标识rc_be待发送数据缓存模块的缓存数据量,当有数据从外部缓冲区拷贝到rc_be待发送数据缓存时,则缓存数据量加一,当发送完成一帧后,则缓存数据量减一,当缓存数据量达到设置的门限时,则暂停rc_be数据拷贝控制器;

14)发送优先级仲裁:响应混合调度模块的请求,根据优先级给出应答,将数据从tt待发送数据缓存、rc_be待发送数据缓存送出到物理链路,优先级关系是tt流量>rc流量>be流量。值得注意的是仲裁应答给出时刻是在mac层发送空闲时,这样可确保正在发送的帧完整性。

15)mac封装发送模块:将数据帧封装mac信息,与物理层phy芯片接口。设计中分别定义a网和b网,和两路phy芯片接口,符合arinc664协议冗余管理需求。

通过上述模块的协同工作,便可完成低延时混合调度功能,使时间片切换时的技术时延降低到最小,同时能满足tte网络的高实时性。发明中采用硬件描述语言实现此功能,发挥了并行处理的优势,极大提升了数据交互的速度,缺点是硬件设计需要更多的消耗fpga逻辑资源。综合评估zynq的片上资源,完全满足此设计实现,另一方面,结合其soc平台,将主控和底层处理用一块芯片完成,极大缩小了端系统的面积、重量、功耗等,性价比较高,更利于在航空系统中的应用。

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