CN103684946A - Afdx端***调度方法及*** - Google Patents
Afdx端***调度方法及*** Download PDFInfo
- Publication number
- CN103684946A CN103684946A CN201310612660.0A CN201310612660A CN103684946A CN 103684946 A CN103684946 A CN 103684946A CN 201310612660 A CN201310612660 A CN 201310612660A CN 103684946 A CN103684946 A CN 103684946A
- Authority
- CN
- China
- Prior art keywords
- list
- call number
- virtual link
- end system
- list items
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000005540 biological transmission Effects 0.000 claims abstract description 36
- 230000000630 rising effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种AFDX端***调度方法,包括:建立列表,列表包括n个列表项;初始化列表,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为n1至n1+n-1作为索引号;判断是否存在满足发送条件的若干虚链路,若存在,则开始搜索列表;从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与满足发送条件的若干虚链路相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;更新列表,将被标记为已调度的索引号X移入列表的底部而具有最低的搜索优先级。本发明还提供相应的***。本发明能确保所有的虚链路都有相同的机会被调度成功,提高数据传输的效率。
Description
技术领域
本发明涉及航空数据通信,尤其涉及应用AFDX(ARINC664)协议的AFDX端***调度方法,具体涉及AFDX端***调度方法及***。
背景技术
AFDX是航空用全双工交换式网络(Avionics Full Duplex Switched Ethernet)的简称。AFDX是新一代ADN,基于成熟的互联网协议IEEE802.3,增加了必要的改进从而保证传输时间的确定性。AFDX网络相比传统航空总线,带宽提高到100MB,通过分时复用网络传输通道,用极少的物理连线达到了传统航空总线多根物理连线同样的传输带宽,极大地减小了设备间互连线的重量。
AFDX网络包括端***和交换机两部分,端***负责收发数据。通信数据从属于虚链路(VL,Virtual-link),多个VL通过分时复用网络总线,达到提高带宽利用率的目标。
多个VL复用数据总线的方式决定了数据传输的效率、安全和时间确定性。调度算法通过检测各个VL的状况,制订满足发送条件的VL以一定的次序发送到总线的规则。
发明内容
针对现有技术中的不足之处,本发明目的在于提高带宽利用率,提出一种AFDX端***调度方法及***。
根据本发明的一个方面,提供的AFDX端***调度方法,包括如下步骤:
步骤1:建立列表,其中,所述列表包括n个列表项,n为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;
步骤2:初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为n1至n1+n-1作为索引号,n1为0或者自然数;
步骤3:判断是否存在满足发送条件的若干虚链路VL,若存在,则进入步骤4,否则,则继续执行本步骤;
步骤4:搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;
步骤5:更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后返回步骤3。
优选地,所述列表构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于n,每个所述列表项对应于各自的一个存储单元。
优选地,所述n个列表项对应于随机存储器ram的n个连续的存储地址。
优选地,在步骤4中,若没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则返回步骤3。
优选地,在步骤1之前,还包括如下步骤:
-接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;
-根据所述长度设定指令设置所述列表的长度n。
根据本发明的一个方面,在步骤4中,当判断存在满足发送条件的若干虚链路VL后,即在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
根据本发明的另一个方面,提供的AFDX端***调度***,包括如下装置:
列表建立装置,用于建立列表,其中,所述列表包括n个列表项,n为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;
初始化装置,用于初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为n1至n1+n-1作为索引号,n1为0或者自然数;
判断装置,用于判断是否存在满足发送条件的若干虚链路VL,若存在,则触发搜索装置执行,否则,则继续本装置继续执行;
搜索装置,用于搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;
更新装置,用于更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后触发判断装置继续执行。
优选地,所述列表建立装置构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于n,每个所述列表项对应于各自的一个存储单元;所述n个列表项对应于随机存储器ram的n个连续的存储地址。
优选地,若搜索装置没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则触发判断装置执行;
若判断装置判断存在满足发送条件的若干虚链路VL后,搜索装置在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
优选地,还包括如下装置:
-指令接收装置,用于接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;
-长度设置装置,用于根据所述长度设定指令设置所述列表的长度n。
与现有技术相比,本发明具有如下的有益效果:
本发明每次进行搜索操作和更新操作后,成功调度的虚链路VL的索引号将被置于最后的n号存储位置,处于最低的搜索优先级,搜索次序发生调整。这样的设计保证了AFDX端***调度算法的公平性,确保了所有的VL都有相同的机会被调度成功。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明AFDX端***调度方法的原理示意图;
图2是本发明中存储单元中列表更新过程示意图;
图3是本发明AFDX端***调度方法的状态机示意图;
图4是本发明AFDX端***调度方法的步骤流程图;
图5是本发明AFDX端***调度***的结构示意图;
图6是本发明中AFDX端***结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图4所示,根据本实施例提供的AFDX端***调度方法,包括如下步骤:
步骤1:建立列表,如图1所示,列表构建在随机存储器ram中,该随机存储器ram的存储单元的深度为128,其中,列表包括128个列表项,每个列表项对应于各自的一个存储单元,128个列表项对应于随机存储器ram的128个连续的存储地址,每个列表项用于存储一个虚链路VL的索引号。
步骤2:初始化列表,具体为,如图2所示,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为0至127作为索引号。
步骤3:判断是否存在满足发送条件的若干虚链路VL,若存在,则进入步骤4,否则,则继续执行本步骤。
步骤4:搜索列表,具体为,如图2所示,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号m标记为已调度,此处m的值为2,如图2所示,索引号2的边框被加粗表示已调度。
步骤5:更新列表,具体为,如图2所示,将被标记为已调度的索引号1后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号m移入列表的底部;然后返回步骤3。更新列表后,所有的索引号重新排序,下一次搜索列表操作将从以前没有调度过的索引号开始。
成功调度的虚链路VL的索引号m将移入列表的底部,处于最低的搜索优先级,搜索次序发生调整。这样的设计保证了AFDX端***调度方法的公平性,确保了所有的虚链路VL都有相同的机会被调度成功。
在更新状态中,索引号m将被置于搜索列表有效深度的底部,地址n-1处,即地址127处,并且地址m+1到n-1存储单元中,即3到127存储单元中的所有内容将被向低地址移动一格,例如地址m+1中的内容将被移动到m处,每个时钟节拍移动一格单元格的内容。更新后,已经调度成功的虚链路VL将在下一次搜索时处于最低的优先级,任何其它处于就绪状态的虚链路VL,即达到发送条件的虚链路VL都将优先被调度成功。
接下来对所述的“与所述满足发送条件的若干虚链路VL相对应的任一个索引号”,进行具体说明,例如,在一个时钟节拍中,索引号2、索引号10以及索引号12相对应的虚链路VL满足发送条件,其中索引号2和索引号12已被成功调度,索引号10尚未被调度,因此索引号2、12所对应虚链路VL的调度优先级低于索引号10的调度优先级,那么停止搜索,在下一个时钟节拍,索引号10对应的虚链路VL将被调度,成功调度后,索引号10将被移入列表的底部。
进一步地,在步骤1之前,还包括如下步骤:
-接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等,即128;
-根据所述长度设定指令设置所述列表的长度128。
进一步地,在步骤4中,当判断存在满足发送条件的若干虚链路VL后,即在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。本发明最多消耗270个时钟节拍,在100MHz时钟下,相当于2.7us的时间,如果实际使用的VL数小于45条,执行速度甚至可以达到ns级。
如图3所示,AFDX端***调度方法由状态机主控,状态机由如下状态组成:初始化列表、空闲、搜索列表、更新列表。当AFDX端***复位完成时,进行初始化列表操作,将索引号组成的列表每一项的内容初始化为由0到127依次递增的索引号。当有满足发送条件的若干虚链路VL时,状态机将在随后的第一个时钟节拍上升沿进入搜索状态,如果地址中的索引号对应的虚链路VL符合发送条件,这个虚链路VL将被标记为可以发送,状态机跳入更新列表状态。在更新状态中,标记的索引号将被置于列表的底部。更新列表完毕后,状态机进入空闲状态,如果满足发送条件虚链路VL,立即进入搜索状态,否则将维持在空闲状态。
本实施例提供的AFDX端***调度方法通过硬件电路AFDX端***调度***实现,极大地减小了AFDX端***调度算法的运行时间,提高了总线带宽利用率。
如图5所示,AFDX端***调度***包括如下装置,列表建立装置,用于建立列表,其中,所述列表包括128个列表项,每个列表项用于存储一个虚链路VL的索引号。
初始化装置,用于初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为0至127作为索引号。
判断装置,用于判断是否存在满足发送条件的若干虚链路VL,若存在,则触发搜索装置执行,否则,则继续本装置继续执行。
搜索装置,用于搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号1标记为已调度。
更新装置,用于更新列表,具体为,将被标记为已调度的索引号1后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号1移入列表的底部;然后触发判断装置执行。
进一步地,所述列表建立装置构建在随机存储器ram中,该随机存储器ram的存储单元的深度为128,每个所述列表项对应于各自的一个存储单元;所述128个列表项对应于随机存储器ram的128个连续的存储地址。
进一步地,若搜索装置没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则触发判断装置执行。
若判断装置判断存在满足发送条件的若干虚链路VL后,搜索装置在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
进一步地,在列表建立装置建立列表之前,列表建立装置接收长度设定指令且根据所述长度设定指令设置所述列表的长度128。其中,所述设定指令与使用中的虚链路VL的数量相等。
如图6所示,调度模块实施AFDX端***调度方法,主要负责AFDX协议中的发送虚链路VL的调度。其中,DMA(Direct Memory Access)模块为直接内存存取模块,MAC(MediaAccess Control)模块为介质访问控制模块,PHY(physical layer)模块为物理层模块。调度模块接收来自整形模块、发送命令寄存器和MAC模块的信号,根据虚链路VL的就绪状态激活状态机跳转,实现调度功能。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (10)
1.一种AFDX端***调度方法,其特征在于,包括如下步骤:
步骤1:建立列表,其中,所述列表包括n个列表项,n为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;
步骤2:初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为n1至n1+n-1作为索引号,n1为0或者自然数;
步骤3:判断是否存在满足发送条件的若干虚链路VL,若存在,则进入步骤4,否则,则继续执行本步骤;
步骤4:搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;
步骤5:更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后返回步骤3。
2.根据权利要求1所述的AFDX端***调度方法,其特征在于,所述列表构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于n,每个所述列表项对应于各自的一个存储单元。
3.根据权利要求2所述的AFDX端***调度方法,其特征在于,所述n个列表项对应于随机存储器ram的n个连续的存储地址。
4.根据权利要求1所述的AFDX端***调度方法,其特征在于,在步骤4中,若没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则返回步骤3。
5.根据权利要求1所述的AFDX端***调度方法,其特征在于,在步骤1之前,还包括如下步骤:
-接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;
-根据所述长度设定指令设置所述列表的长度n。
6.根据权利要求1所述的AFDX端***调度方法,其特征在于,
在步骤4中,当判断存在满足发送条件的若干虚链路VL后,即在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
7.一种AFDX端***调度***,其特征在于,包括如下装置:
列表建立装置,用于建立列表,其中,所述列表包括n个列表项,n为大于或等于2的自然数,每个列表项用于存储一个虚链路VL的索引号;
初始化装置,用于初始化列表,具体为,按照列表的由顶部向底部的方向,将列表中列表项的内容依次初始化为n1至n1+n-1作为索引号,n1为0或者自然数;
判断装置,用于判断是否存在满足发送条件的若干虚链路VL,若存在,则触发搜索装置执行,否则,则继续本装置继续执行;
搜索装置,用于搜索列表,具体为,从位于列表顶部的第一个列表项为起点,向列表底部的方向,依次对列表项进行查看,直到搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号后停止搜索,并将搜索到的索引号X标记为已调度;
更新装置,用于更新列表,具体为,将被标记为已调度的索引号X后续的各个索引号分别向列表顶部方向移动一个单位地址,并将索引号X移入列表的底部;然后触发判断装置继续执行。
8.根据权利要求7所述的AFDX端***调度***,其特征在于,所述列表建立装置构建在随机存储器ram中,该随机存储器ram的存储单元的深度大于n,每个所述列表项对应于各自的一个存储单元;所述n个列表项对应于随机存储器ram的n个连续的存储地址。
9.根据权利要求7所述的AFDX端***调度***,其特征在于,若搜索装置没有搜索到与所述满足发送条件的若干虚链路VL相对应的任一个索引号,则触发判断装置执行;
若判断装置判断存在满足发送条件的若干虚链路VL,则触发搜索装置在第一个时钟节拍上升沿或下降沿开始搜索列表,之后每一个时钟节拍查看一个列表项。
10.根据权利要求7所述的AFDX端***调度***,其特征在于,还包括如下装置:
-指令接收装置,用于接收长度设定指令,其中,所述设定指令与使用中的虚链路VL的数量相等;
-长度设置装置,用于根据所述长度设定指令设置所述列表的长度n。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310612660.0A CN103684946A (zh) | 2013-11-26 | 2013-11-26 | Afdx端***调度方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310612660.0A CN103684946A (zh) | 2013-11-26 | 2013-11-26 | Afdx端***调度方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103684946A true CN103684946A (zh) | 2014-03-26 |
Family
ID=50321325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310612660.0A Pending CN103684946A (zh) | 2013-11-26 | 2013-11-26 | Afdx端***调度方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103684946A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771598A (zh) * | 2008-12-31 | 2010-07-07 | 中国航空工业第一集团公司第六三一研究所 | 一种实时以太网通信调度方法 |
CN101894047A (zh) * | 2010-06-24 | 2010-11-24 | 北京航空航天大学 | 一种基于内核虚拟机调度策略的实现方法 |
CN102201988A (zh) * | 2011-05-12 | 2011-09-28 | 西北工业大学 | 一种航空电子全双工交换式以太网交换机调度方法 |
-
2013
- 2013-11-26 CN CN201310612660.0A patent/CN103684946A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771598A (zh) * | 2008-12-31 | 2010-07-07 | 中国航空工业第一集团公司第六三一研究所 | 一种实时以太网通信调度方法 |
CN101894047A (zh) * | 2010-06-24 | 2010-11-24 | 北京航空航天大学 | 一种基于内核虚拟机调度策略的实现方法 |
CN102201988A (zh) * | 2011-05-12 | 2011-09-28 | 西北工业大学 | 一种航空电子全双工交换式以太网交换机调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918203A (zh) | 接入服务器内存管理优化方法、接入服务器及通信*** | |
CN101557348A (zh) | 一种基于令牌桶的报文转发方法及装置 | |
CN105119793A (zh) | 一种传感器网络can总线帧格式的标识符分配方法 | |
CN104506379A (zh) | 网络数据捕获方法和*** | |
CN102486741A (zh) | 串口共用***及方法 | |
CN102664779A (zh) | 一种can总线数据传送方法 | |
CN104378161A (zh) | 一种基于AXI4总线架构的FCoE协议加速引擎IP核 | |
CN102750245B (zh) | 报文接收方法、报文接收模块、装置及*** | |
CN103399832B (zh) | 总线间的乱序返回数据的归序方法 | |
CN107851078A (zh) | 一种PCIe设备的聚合友好型地址分配的方法和*** | |
CN113452591A (zh) | 基于can总线连续数据帧的回路控制方法及装置 | |
CN102184157B (zh) | 一种基于双处理器协作的信息显示装置 | |
CN103441914B (zh) | As5643总线中包含等时数据包的传输方法 | |
CN103684739B (zh) | 一种实现时钟同步的装置、设备及方法 | |
CN106533976A (zh) | 一种数据包处理方法及装置 | |
CN102096734A (zh) | 一种验证总线乱序传输的方法和装置 | |
CN108093047B (zh) | 数据发送方法、装置、电子设备及中间件*** | |
CN112181887A (zh) | 数据传输方法及装置 | |
CN104022963A (zh) | 多种通信方式并存的通信方法及装置 | |
CN106549845A (zh) | 一种基于ntb硬件的通信方法及*** | |
CN105141489B (zh) | 一种用于仿真器的实时数据采集*** | |
CN105512005A (zh) | 控制/远程节点与总线监控节点同步工作的电路及方法 | |
CN103684946A (zh) | Afdx端***调度方法及*** | |
CN104852812A (zh) | 1553b总线远置单元自适应收发数据方法 | |
CN113965432B (zh) | 一种双通道can总线通信的控制*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |