CN102984088A - 应用于afdx交换机确保帧转发顺序一致性的方法 - Google Patents
应用于afdx交换机确保帧转发顺序一致性的方法 Download PDFInfo
- Publication number
- CN102984088A CN102984088A CN2012105415149A CN201210541514A CN102984088A CN 102984088 A CN102984088 A CN 102984088A CN 2012105415149 A CN2012105415149 A CN 2012105415149A CN 201210541514 A CN201210541514 A CN 201210541514A CN 102984088 A CN102984088 A CN 102984088A
- Authority
- CN
- China
- Prior art keywords
- request
- fifo
- state
- frame
- module
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种应用于AFDX交换机的确保数据帧转发顺序与接收顺序保持一致性的方法。请求锁存根据请求通道的请求信号的状态将所有通道的请求状态锁存并写入FIFO中。请求处理根据锁存请求的FIFO的状态(即非空时),读出FIFO中的数据,根据数据位的顺序和状态,产生VL校验请求信号。根据请求信号,对应通道的VL校验模块进行交验后,将校验后的帧信息数据写入VL校验后帧信息数据队列FIFO。帧数据搬移模块根据VL校验后帧信息数据队列FIFO的信息将数据帧转存至帧存缓冲区。本发明利用请求锁存和排队处理的方法,确保了数据帧转发顺序的一致性,适合硬件实现。
Description
技术领域
本发明属于网络通信领域,特别涉及应用于AFDX交换机的确保数据帧转发顺序与接收顺序保持一致的方法。
背景技术
AFDX(Avionics Full Duplex Switched Ethernet)网络作为新兴的航空电子总线标准,以普通以太网为基础,在终端和交换机中均加入了流量控制策略,从而保证航电***中数据传输的实时性。
AFDX交换机是AFDX网络中的核心部件。航电***中对AFDX交换机的数据帧转发的可靠性、数据实时性、数据帧转发的顺序性有严格的要求,不同于普通的商业交换机,它不光要实现各个终端间的数据转发,同时还有支持AFDX网络中的虚拟链路(Virtual Link),为各个虚拟链路执行流量策略,并且保证数据在交换机的交换过程中具有确定的可预计延迟时间。
在现有技术中,一般采用时间片轮转的方法,将接收到的帧先进行VL(Virtual Link)校验,然后再将数据搬移到帧缓冲区进行数据的转发。由于在时间片轮转过程中,会存在后到的数据帧先进行校验,从而先进行转发,这样无法保证数据帧先到先转发,也就是无法确保帧数据接收顺序与转发顺序的一致性。
发明内容
针对已有技术存在的不足,本发明的目的在于提供一种应用于AFDX交换机确保帧转发顺序一致性的方法,该方法通过对端口接收完成包后的请求信号进行锁存和处理,来实现数据帧转发顺序与接收帧的顺序保持一致。
本发明的发明目的是通过如下技术方案实现的。
一种应用于AFDX交换机确保帧转发顺序一致性的方法,其特征在于,包括如下步骤:
1)、请求锁存模块根据请求通道的请求信号的状态(即任意请求通道的请求信号有效时),将所有通道的请求状态锁存并写入FIFO(First Input First Out)中;
2)、请求处理模块根据锁存请求模块的FIFO的状态,即非空时,读出FIFO中的数据,根据数据位的顺序和状态,产生VL校验请求信号;
3)、根据VL校验请求信号,对应通道的VL校验模块进行交验后,将校验后的帧信息数据写入VL校验后帧信息数据队列FIFO;
4)、帧数据搬移模块根据VL校验后帧信息数据队列FIFO将数据帧转存至帧存缓冲区。
所述请求锁存模块由一个寄存器、一个或操作单元、一个移位寄存器和一个FIFO组成。当N个请求任意一个或多个有效时(即为一个时钟周期的高电平),或操作单元将N个请求线的状态被锁存到寄存器中,同时产生一个写信号,移位寄存器将写信号后移一个时钟周期,即在下一个时钟周期将寄存器中锁存的N个请求的状态写入FIFO中,供后续模块处理。
所述请求处理模块包括REQ_TDM(请求处理调度)状态机、VL校验请求产生模块和FIFO读信号产生模块。所述REQ_TDM状态机根据FIFO的状态以及读出的FIFO数据进行状态的转换,以控制VL校验请求产生模块来产生VL校验请求信号和FIFO读信号产生模块来产生FIFO读信号。
本发明主要针对航空电子***的AFDX交换机,采用FPGA(FieldProgrammable Gate Array)实现接收端口的请求锁存、请求处理功能和VL校验后帧信息数据队列FIFO,以确保数据帧转发的顺序与接收的顺序保持一致,满足AFDX交换机中对帧转发顺序一致性的需求,同时该发明也可应用于具有相同需求的处理***中,具有一定的应用前景。
附图说明
图1为本发明方法的原理框图;
图2为本发明请求锁存功能模块的原理框图;
图3为本发明请求处理功能模块的原理框图;
图4为本发明REQ_TDM状态机状态转换图。
具体实施方式
下面结合附图1—图4进一步说明本发明是如何实现的。
实施例
本发明方法主要包括请求锁存模块,请求处理功能模块和VL校验后帧信息数据队列FIFO。其原理结构框图如图1所示:请求锁存模块根据请求通道的请求信号的状态(即任意请求通道的请求信号有效时),将所有通道的请求状态锁存并写入FIFO中。请求处理模块根据锁存请求的FIFO的状态(即非空时),读出FIFO中的数据,根据数据位的顺序和状态,产生VL校验请求信号。根据请求信号,对应通道的VL校验模块进行交验后,将校验后的帧信息数据写入VL校验后帧信息数据队列FIFO。帧数据搬移模块根据VL校验后帧信息数据队列FIFO将数据帧转存至帧存缓冲区。
请求锁存模块采用锁存器和FIFO的结构,如图2所示:请求锁存功能由一个寄存器、一个或操作单元、一个移位寄存器和一个FIFO组成。当N个请求任意一个或多个有效时(即为一个时钟周期的高电平),或操作单元将N个请求线的状态被锁存到寄存器中,同时产生一个写信号。移位寄存器将写信号后移一个时钟周期。即在下一个时钟周期将寄存器中锁存的N个请求的状态写入FIFO中,供后续模块处理。
请求处理模块将从FIFO中读出的请求数据位的状态产生VL校验请求。该功能模块包括REQ_TDM状态机、VL校验请求产生模块和FIFO读信号产生模块,如图3所示:REQ_TDM状态机根据FIFO的状态以及读出的FIFO数据进行状态的转换,以控制VL校验请求产生模块来产生VL校验请求信号和FIFO读信号产生模块来产生FIFO读信号。
REQ_TDM状态机的状态转换图如图4所示:
当状态机处于SLOT_READY状态时,如果Port_Request_Reg[0]=1’b1,则状态机进入ISLOT0状态。如果Port_Request_Reg[1:0]=2’b10,则状态机进入ISLOT1状态。如果Port_Request_Reg[2:0]=3’b100,则状态机进入ISLOT2状态。如果Port_Request_Reg[3:0]=4’b1000,则状态机进入ISLOT3状态。如果Port_Request_Reg[4:0]=5’b10000,则状态机进入ISLOT4状态。如果Port_Request_Reg[5:0]=6’b100000,则状态机进入ISLOT5状态。如果Port_Request_Reg[6:0]=7’b100000,则状态机进入ISLOT6状态。以此类推,如果Port_Request_Reg[N-1]=1’b1,Port_Request_Reg[N-2:0]=0,则状态机进入ISLOT(N-1)状态。如果Port_Request_Reg[N-1:0]=0,且!Reqfifo_Empty,则进入FIFO_Q_IN状态,如果Port_Request_Reg[N-1:0]=0,且Reqfifo_Empty,则状态机进入IDLE状态。如果否则仍停留于SLOT_READY状态;
当状态机处于ISLOTn(n=0,1,……,N-2)状态时,如果Port_Request_Reg[m+n]=1’b1(其中m=1,……,N-n-1),且Port_Request_Reg[m+n-1:n]=0(其中其中m=1,……,N-n-1),则状态机进入ISLOT(m+n)(其中其中m=1,……,N-n-1)状态。如果Port_Request_Reg[N-1:n+1]=0,且!Reqfifo_Empty,则进入FIFO_Q_IN状态,如果Port_Request_Reg[N-1:n+1]=0,且Reqfifo_Empty,则状态机进入IDLE状态。如果否则仍停留于ISLOTn状态;
当状态机处于ISLOT(N-1)状态时,如果!Reqfifo_Empty,则进入FIFO_Q_IN状态,如果Reqfifo_Empty,则状态机进入IDLE状态。如果否则仍停留于ISLOT(N-1)状态。
VL校验请求产生模块根据REQ_TDM状态机所处的状态产生请求VLCheck_Irq[N-1:0]信号。产生的原则为,当REQ_TDM状态机处于ISLOTn(n=0,1,……,N-1)状态时,则产生通道n的请求信号,以便该通道的VL校验模块进行VL校验。
FIFO读信号产生模块产生FIFO读信号的原理是:
当REQ_TDM状态机处于ISLOTn(n=0,1,……,N-2)状态时,如果读出的FIFO数据Port_Request_Reg[N-1:n+1]=0,!Reqfifo_Empty且计数为k时(k为校验所需的时钟周期数),则FIFO读信号输出有效状态,否则FIFO读信号输出无效状态;
VL校验后帧信息数据队列FIFO
各通道的VL校验模块根据请求处理功能产生的请求信号,进行数据帧的VL校验,然后将校验后的帧信息数据存入VL校验后帧信息数据队列FIFO。
经过验证,本发明采用锁存和排队处理的机制有效的保证了AFDX交换机中数据帧的接收和转发的顺序的一致性。
Claims (5)
1.一种应用于AFDX交换机确保帧转发顺序一致性的方法,其特征在于,包括如下步骤:
1)、请求锁存模块根据请求通道的请求信号的状态,将所有通道的请求状态锁存并写入FIFO中;
2)、请求处理模块根据锁存请求模块的FIFO的状态,即非空时,读出FIFO中的数据,根据数据位的顺序和状态,产生VL校验请求信号;
3)、根据VL校验请求信号,对应通道的VL校验模块进行校验后,将校验后的帧信息数据写入VL校验后帧信息数据队列FIFO;
4)、帧数据搬移模块根据VL校验后帧信息数据队列FIFO将数据帧转存至帧存缓冲区。
2.根据权利要求1所述的一种应用于AFDX交换机确保帧转发顺序一致性的方法,其特征在于,请求锁存模块由一个寄存器、一个或操作单元、一个移位寄存器和一个FIFO组成。
3.根据权利要求2所述的一种应用于AFDX交换机确保帧转发顺序一致性的方法,其特征在于,当N个请求任意一个或多个有效时,或操作单元将N个请求线的状态被锁存到寄存器中,同时产生一个写信号,移位寄存器将写信号后移一个时钟周期,即在下一个时钟周期将寄存器中锁存的N个请求的状态写入FIFO中,供后续模块处理。
4.根据权利要求1所述的一种应用于AFDX交换机确保帧转发顺序一致性的方法,其特征在于,所述请求处理模块包括REQ_TDM状态机、VL校验请求产生模块和FIFO读信号产生模块。
5.根据权利要求4所述的一种应用于AFDX交换机确保帧转发顺序一致性的方法,其特征在于,所述REQ_TDM状态机根据FIFO的状态以及读出的FIFO数据进行状态的转换,以控制VL校验请求产生模块来产生VL校验请求信号和FIFO读信号产生模块来产生FIFO读信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210541514.9A CN102984088B (zh) | 2012-12-13 | 2012-12-13 | 应用于afdx交换机确保帧转发顺序一致性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210541514.9A CN102984088B (zh) | 2012-12-13 | 2012-12-13 | 应用于afdx交换机确保帧转发顺序一致性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102984088A true CN102984088A (zh) | 2013-03-20 |
CN102984088B CN102984088B (zh) | 2015-10-07 |
Family
ID=47857846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210541514.9A Active CN102984088B (zh) | 2012-12-13 | 2012-12-13 | 应用于afdx交换机确保帧转发顺序一致性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102984088B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533869A (zh) * | 2016-11-08 | 2017-03-22 | 北京飞利信电子技术有限公司 | 数据转发方法及装置、电子设备 |
CN112073279A (zh) * | 2020-08-27 | 2020-12-11 | 中国航空无线电电子研究所 | 一种兼容通用AFDX的nanoAFDX网络通信*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859282A (zh) * | 2005-10-22 | 2006-11-08 | 华为技术有限公司 | 一种存储器的控制器及控制方法 |
WO2009030706A1 (fr) * | 2007-09-03 | 2009-03-12 | Airbus France | Dispositif de commutation de trames |
CN101902504A (zh) * | 2009-05-27 | 2010-12-01 | 北京神州飞航科技有限责任公司 | 航空电子全双工交换式以太网网卡及其集成化方法 |
-
2012
- 2012-12-13 CN CN201210541514.9A patent/CN102984088B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859282A (zh) * | 2005-10-22 | 2006-11-08 | 华为技术有限公司 | 一种存储器的控制器及控制方法 |
WO2009030706A1 (fr) * | 2007-09-03 | 2009-03-12 | Airbus France | Dispositif de commutation de trames |
CN101902504A (zh) * | 2009-05-27 | 2010-12-01 | 北京神州飞航科技有限责任公司 | 航空电子全双工交换式以太网网卡及其集成化方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533869A (zh) * | 2016-11-08 | 2017-03-22 | 北京飞利信电子技术有限公司 | 数据转发方法及装置、电子设备 |
CN106533869B (zh) * | 2016-11-08 | 2020-10-20 | 北京飞利信电子技术有限公司 | 数据转发方法及装置、电子设备 |
CN112073279A (zh) * | 2020-08-27 | 2020-12-11 | 中国航空无线电电子研究所 | 一种兼容通用AFDX的nanoAFDX网络通信*** |
CN112073279B (zh) * | 2020-08-27 | 2022-05-20 | 中国航空无线电电子研究所 | 一种兼容通用AFDX的nanoAFDX网络通信*** |
Also Published As
Publication number | Publication date |
---|---|
CN102984088B (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101383712B (zh) | 一种片上网络的路由节点微结构 | |
CN101841420B (zh) | 面向片上网络的低延迟路由器结构 | |
US8352774B2 (en) | Inter-clock domain data transfer FIFO circuit | |
CN102098216B (zh) | 一种基于共享存储的航空全双工交换式以太网afdx协议交换引擎 | |
US9652425B2 (en) | Method, apparatus and system for a source-synchronous circuit-switched network on a chip (NOC) | |
US7392331B2 (en) | System and method for transmitting data packets in a computer system having a memory hub architecture | |
CN102185751B (zh) | 一种基于快速通道技术的单周期片上路由器 | |
CN110545152A (zh) | 一种以太网中具有实时传输功能的上位机及以太网*** | |
CN108234337A (zh) | 一种支持主机接口的SpaceWire总线路由器 | |
JP2008532169A (ja) | 共有されたリソースを調停するための電子装置及び方法 | |
US7385925B2 (en) | Data flow control method for simultaneous packet reception | |
KR20120040535A (ko) | 버스 시스템 및 그것의 동작 방법 | |
CN103530245A (zh) | 一种基于fpga的srio互联交换装置 | |
JP5482466B2 (ja) | データ転送装置及びデータ転送装置の動作周波数制御方法 | |
CN102984088A (zh) | 应用于afdx交换机确保帧转发顺序一致性的方法 | |
CN108429707B (zh) | 一种适应不同传输速率的时间触发业务转发器及方法 | |
CN101710311A (zh) | 一种非对称多元资源节点体系结构 | |
CN102025694A (zh) | 基于dsp阵列实现以太网数据发送的装置及方法 | |
US20130170506A1 (en) | Link between chips using virtual channels and credit based flow control | |
CN103166863B (zh) | 集总式8x8低延迟高带宽交叉点缓存队列片上路由器 | |
CN101308568B (zh) | 基于fifo的流水线实时处理的方法和装置 | |
CN111130691B (zh) | 一种星载异步速率通信匹配装置 | |
CN108616570B (zh) | 一种基于fpga非对称门限服务轮询*** | |
US20170293587A1 (en) | Non-Blocking Network | |
CN105262705A (zh) | 一种基于当值缓存降低片上网络静态功耗的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |