Afdx端系统调度方法及系统的制作方法

文档序号:7777874阅读:296来源:国知局
Afdx端系统调度方法及系统的制作方法
【专利摘要】本发明提供一种AFDX端系统调度方法,包括:建立列表,列表包括n个列表项;初始化列表,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为n1至n1+n-1作为索引号;判断是否存在满足发送条件的若干虚链路,若存在,则开始搜索列表;从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与满足发送条件的若干虚链路相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;更新列表,将被标记为已调度的索引号X移入列表的底部而具有最低的搜索优先级。本发明还提供相应的系统。本发明能确保所有的虚链路都有相同的机会被调度成功,提高数据传输的效率。
【专利说明】AFDX端系统调度方法及系统
【技术领域】
[0001]本发明涉及航空数据通信,尤其涉及应用AFDX (ARINC664)协议的AFDX端系统调度方法,具体涉及AFDX端系统调度方法及系统。
【背景技术】
[0002]AFDX 是航空用全双工交换式网络(Avionics Full Duplex Switched Ethernet)的简称。AFDX是新一代ADN,基于成熟的互联网协议IEEE802.3,增加了必要的改进从而保证传输时间的确定性。AFDX网络相比传统航空总线,带宽提高到100MB,通过分时复用网络传输通道,用极少的物理连线达到了传统航空总线多根物理连线同样的传输带宽,极大地减小了设备间互连线的重量。
[0003]AFDX网络包括端系统和交换机两部分,端系统负责收发数据。通信数据从属于虚链路(VL,Virtual-link),多个VL通过分时复用网络总线,达到提高带宽利用率的目标。
[0004]多个VL复用数据总线的方式决定了数据传输的效率、安全和时间确定性。调度算法通过检测各个VL的状况,制订满足发送条件的VL以一定的次序发送到总线的规则。

【发明内容】

[0005]针对现有技术中的不足之处,本发明目的在于提高带宽利用率,提出一种AFDX端系统调度方法及系统。
[0006]根据本发明的一个方面,提供的AFDX端系统调度方法,包括如下步骤:
[0007]步骤1:建立列表,其中,所述列表包括η个列表项,η为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;
[0008]步骤2:初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为%至h+η-Ι作为索引号,为0或者自然数;
[0009]步骤3:判断是否存在满足发送条件的若干虚链路VL,若存在,则进入步骤4,否贝1J,则继续执行本步骤;
[0010]步骤4:搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;
[0011]步骤5:更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后返回步骤3。
[0012]优选地,所述列表构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于n,每个所述列表项对应于各自的一个存储单元。
[0013]优选地,所述η个列表项对应于随机存储器ram的η个连续的存储地址。
[0014]优选地,在步骤4中,若没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则返回步骤3。
[0015]优选地,在步骤1之前,还包括如下步骤:[0016]-接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;
[0017]-根据所述长度设定指令设置所述列表的长度η。
[0018]根据本发明的一个方面,在步骤4中,当判断存在满足发送条件的若干虚链路VL后,即在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
[0019]根据本发明的另一个方面,提供的AFDX端系统调度系统,包括如下装置:
[0020]列表建立装置,用于建立列表,其中,所述列表包括η个列表项,η为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;
[0021]初始化装置,用于初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为%至h+η-Ι作为索引号,为0或者自然数;
[0022]判断装置,用于判断是否存在满足发送条件的若干虚链路VL,若存在,则触发搜索装置执行,否则,则继续本装置继续执行;
[0023]搜索装置,用于搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;
[0024]更新装置,用于更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后触发判断装置继续执行。
[0025]优选地,所述列表建立装置构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于n,每个所述列表项对应于各自的一个存储单元;所述η个列表项对应于随机存储器ram的η个连续的存储地址。
[0026]优选地,若搜索装置没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则触发判断装置执行;
[0027]若判断装置判断存在满足发送条件的若干虚链路VL后,搜索装置在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
[0028]优选地,还包括如下装置:
[0029]-指令接收装置,用于接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;
[0030]-长度设置装置,用于根据所述长度设定指令设置所述列表的长度η。
[0031]与现有技术相比,本发明具有如下的有益效果:
[0032]本发明每次进行搜索操作和更新操作后,成功调度的虚链路VL的索引号将被置于最后的η号存储位置,处于最低的搜索优先级,搜索次序发生调整。这样的设计保证了AFDX端系统调度算法的公平性,确保了所有的VL都有相同的机会被调度成功。
【专利附图】

【附图说明】
[0033]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0034]图1是本发明AFDX端系统调度方法的原理示意图;
[0035]图2是本发明中存储单元中列表更新过程示意图;[0036]图3是本发明AFDX端系统调度方法的状态机示意图;
[0037]图4是本发明AFDX端系统调度方法的步骤流程图;
[0038]图5是本发明AFDX端系统调度系统的结构示意图;
[0039]图6是本发明中AFDX端系统结构示意图。
【具体实施方式】
[0040]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0041]如图4所示,根据本实施例提供的AFDX端系统调度方法,包括如下步骤:
[0042]步骤1:建立列表,如图1所示,列表构建在随机存储器ram中,该随机存储器ram的存储单元的深度为128,其中,列表包括128个列表项,每个列表项对应于各自的一个存储单元,128个列表项对应于随机存储器ram的128个连续的存储地址,每个列表项用于存储一个虚链路VL的索引号。
[0043]步骤2:初始化列表,具体为,如图2所示,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为0至127作为索引号。
[0044]步骤3:判断是否存在满足发送条件的若干虚链路VL,若存在,则进入步骤4,否贝1J,则继续执行本步骤。
[0045]步骤4:搜索列表,具体为,如图2所示,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号m标记为已调度,此处m的值为2,如图2所示,索引号2的边框被加粗表示已调度。
[0046]步骤5:更新列表,具体为,如图2所示,将被标记为已调度的索引号1后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号m移入列表的底部;然后返回步骤3。更新列表后,所有的索引号重新排序,下一次搜索列表操作将从以前没有调度过的索引号开始。
[0047]成功调度的虚链路VL的索引号m将移入列表的底部,处于最低的搜索优先级,搜索次序发生调整。这样的设计保证了 AFDX端系统调度方法的公平性,确保了所有的虚链路VL都有相同的机会被调度成功。
[0048]在更新状态中,索引号m将被置于搜索列表有效深度的底部,地址η-l处,即地址
127处,并且地址m+1到η-l存储单元中,即3到127存储单元中的所有内容将被向低地址移动一格,例如地址m+Ι中的内容将被移动到m处,每个时钟节拍移动一格单元格的内容。更新后,已经调度成功的虚链路VL将在下一次搜索时处于最低的优先级,任何其它处于就绪状态的虚链路VL,即达到发送条件的虚链路VL都将优先被调度成功。
[0049]接下来对所述的“与所述满足发送条件的若干虚链路VL相对应的任一个索引号”,进行具体说明,例如,在一个时钟节拍中,索引号2、索引号10以及索引号12相对应的虚链路VL满足发送条件,其中索引号2和索引号12已被成功调度,索引号10尚未被调度,因此索引号2、12所对应虚链路VL的调度优先级低于索引号10的调度优先级,那么停止搜索,在下一个时钟节拍,索引号10对应的虚链路VL将被调度,成功调度后,索引号10将被移入列表的底部。
[0050]进一步地,在步骤1之前,还包括如下步骤:
[0051]-接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等,SP
128;
[0052]-根据所述长度设定指令设置所述列表的长度128。
[0053]进一步地,在步骤4中,当判断存在满足发送条件的若干虚链路VL后,即在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。本发明最多消耗270个时钟节拍,在100MHz时钟下,相当于2.7us的时间,如果实际使用的VL数小于45条,执行速度甚至可以达到ns级。
[0054]如图3所示,AFDX端系统调度方法由状态机主控,状态机由如下状态组成:初始化列表、空闲、搜索列表、更新列表。当AFDX端系统复位完成时,进行初始化列表操作,将索引号组成的列表每一项的内容初始化为由0到127依次递增的索引号。当有满足发送条件的若干虚链路VL时,状态机将在随后的第一个时钟节拍上升沿进入搜索状态,如果地址中的索引号对应的虚链路VL符合发送条件,这个虚链路VL将被标记为可以发送,状态机跳入更新列表状态。在更新状态中,标记的索引号将被置于列表的底部。更新列表完毕后,状态机进入空闲状态,如果满足发送条件虚链路VL,立即进入搜索状态,否则将维持在空闲状态。
[0055]本实施例提供的AFDX端系统调度方法通过硬件电路AFDX端系统调度系统实现,极大地减小了 AFDX端系统调度算法的运行时间,提高了总线带宽利用率。
[0056]如图5所不,AFDX端系统调度系统包括如下装置,列表建立装置,用于建立列表,其中,所述列表包括128个列表项,每个列表项用于存储一个虚链路VL的索引号。
[0057]初始化装置,用于初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为0至127作为索引号。
[0058]判断装置,用于判断是否存在满足发送条件的若干虚链路VL,若存在,则触发搜索装置执行,否则,则继续本装置继续执行。
[0059]搜索装置,用于搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号1标记为已调度。
[0060]更新装置,用于更新列表,具体为,将被标记为已调度的索引号1后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号1移入列表的底部;然后触发判断装置执行。
[0061 ] 进一步地,所述列表建立装置构建在随机存储器ram中,该随机存储器ram的存储单元的深度为128,每个所述列表项对应于各自的一个存储单元;所述128个列表项对应于随机存储器ram的128个连续的存储地址。
[0062]进一步地,若搜索装置没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则触发判断装置执行。
[0063]若判断装置判断存在满足发送条件的若干虚链路VL后,搜索装置在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
[0064]进一步地,在列表建立装置建立列表之前,列表建立装置接收长度设定指令且根据所述长度设定指令设置所述列表的长度128。其中,所述设定指令与使用中的虚链路VL的数量相等。
[0065]如图6所示,调度模块实施AFDX端系统调度方法,主要负责AFDX协议中的发送虚链路VL的调度。其中,DMA (Direct Memory Access)模块为直接内存存取模块,MAC (MediaAccess Control)模块为介质访问控制模块,PHY(physical layer)模块为物理层模块。调度模块接收来自整形模块、发送命令寄存器和MAC模块的信号,根据虚链路VL的就绪状态激活状态机跳转,实现调度功能。
[0066]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
【权利要求】
1.一种AFDX端系统调度方法,其特征在于,包括如下步骤:步骤1:建立列表,其中,所述列表包括η个列表项,η为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;步骤2:初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为%至h+n-l作为索引号,为0或者自然数;步骤3:判断是否存在满足发送条件的若干虚链路VL,若存在,则进入步骤4,否则,则继续执行本步骤;步骤4:搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;步骤5:更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后返回步骤3。
2.根据权利要求1所述的AFDX端系统调度方法,其特征在于,所述列表构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于η,每个所述列表项对应于各自的一个存储单元。
3.根据权利要求2所述的AFDX端系统调度方法,其特征在于,所述η个列表项对应于随机存储器ram的η个连续的存储地址。
4.根据权利要求1所述的AFDX端系统调度方法,其特征在于,在步骤4中,若没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则返回步骤3。
5.根据权利要求1所述的AFDX端系统调度方法,其特征在于,在步骤1之前,还包括如下步骤:-接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;-根据所述长度设定指令设置所述列表的长度η。
6.根据权利要求1所述的AFDX端系统调度方法,其特征在于,在步骤4中,当判断存在满足发送条件的若干虚链路VL后,即在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
7.—种AFDX端系统调度系统,其特征在于,包括如下装置:列表建立装置,用于建立列表,其中,所述列表包括η个列表项,η为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;初始化装置,用于初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为h至h+η-Ι作为索引号,为0或者自然数;判断装置,用于判断是否存在满足发送条件的若干虚链路VL,若存在,则触发搜索装置执行,否则,则继续本装置继续执行;搜索装置,用于搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;更新装置,用于更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后触发判断装置继续执行。
8.根据权利要求7所述的AFDX端系统调度系统,其特征在于,所述列表建立装置构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于n,每个所述列表项对应于各自的一个存储单元;所述η个列表项对应于随机存储器ram的η个连续的存储地址。
9.根据权利要求7所述的AFDX端系统调度系统,其特征在于,若搜索装置没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则触发判断装置执行;若判断装置判断存在满足发送条件的若干虚链路VL,则触发搜索装置在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
10.根据权利要求7所述的AFDX端系统调度系统,其特征在于,还包括如下装置: -指令接收装置,用于接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;-长度设置装置,用于根据所述长度设定指令设置所述列表的长度η。
【文档编号】H04L12/40GK103684946SQ201310612660
【公开日】2014年3月26日 申请日期:2013年11月26日 优先权日:2013年11月26日
【发明者】张伟, 夏禹根 申请人:中国电子科技集团公司第三十二研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1