一种基于vl的数据帧并发业务发生设备和方法

文档序号:7801858阅读:231来源:国知局
一种基于vl的数据帧并发业务发生设备和方法
【专利摘要】本发明公开了一种基于VL的数据帧并发业务发生设备,其中,所述数据帧并发业务发生设备包括帧净荷数据寄存器、FPGA模块、MAC层接口电路,所述FPGA模块包括控制信息寄存器、帧序号硬件并发处理电路、SN序号发生电路、帧间隔并发处理模块、帧间隔控制模块、帧汇聚模块;所述FPGA模块首先读出帧控制信息和帧净荷数据,然后将SN序号发生电路生成的帧序号附加到数据帧帧尾形成完整的数据帧,完整的数据帧后通过帧间隔控制模块送到帧汇聚模块进行数据帧重排,最后送到MAC层接口电路进行数据帧的物理发送。在2048范围内的VL数据帧可以实现硬件的并发操作控制,每个VL数据帧均有自己的专属控制信息寄存器。
【专利说明】—种基于VL的数据帧并发业务发生设备和方法
[0001]
【技术领域】
[0002]本发明涉及一种基于FPGA (Filed-Programmable Gate Array,现场可编程门阵列)及 VL (Virtual link 虚链路)的 AFDX (Avionics Full Duplex Switched Ethernet,航空电子全双工交换式以太网)航空数据总数据帧并发业务发生方法,尤其是一种基于VL的数据帧并发业务发生设备和方法。
【背景技术】
[0003]随着航空电子设备和航空电子网络的快速发展,由于AFDX数据总线高可靠性、时间延时固定、高通信速率等特点,在新一代航空数据总线中已开始采用AFDX总线作为飞机内部通信数据总线。但与之对应的国内AFDX总线测试设备还没有得到发展,技术也较之滞后。AFDX总线方面的产品多在通信方面进行发展,适用与特定的VL数据帧或者较小VL数据帧范围内的通信使用。但是,用于AFDX总线测试的板卡通常需要对设备进行压力测试、延时测试,数据帧抖动测试等方面,而这些测试业务都是基于不同的VL数据帧并发进行的,这就需要测试仪器能够实时并发产生不同的VL数据帧业务数据帧。另外,作为测试板卡,时间分辨率要求较高,一般要求达到us级别,目前在国内还没有这种测试仪器,国外已有的实现多路VL数据帧测试的仪器也大多采用软件实现的方式,仅支持到128路VL数据帧并发处理,如果再要实现更多的VL数据帧并发处理,则会导致更大的时间不准确。这种软件处理的方法必然存在实时性差,数据包抖动时延精度较差等问题,无法满足高时延分辨率的要求。

【发明内容】

[0004]本发明要解决的技术问题是提供了一种基于VL的数据帧并发业务发生设备和方法,在2048范围内的VL数据帧可以实现硬件的并发操作控制。
[0005]本发明提供的基于VL的数据帧并发业务发生设备,其中,所述数据帧并发业务发生设备包括帧净荷数据寄存器、FPGA模块、MAC层接口电路,所述FPGA模块包括控制信息寄存器、帧序号硬件并发处理电路、SN序号发生电路、帧间隔并发处理模块、帧间隔控制模块、帧汇聚模块;所述FPGA模块首先读出帧控制信息和帧净荷数据,然后将SN序号发生电路生成的帧序号附加到数据帧帧尾形成完整的数据帧,完整的数据帧后通过帧间隔控制模块送到帧汇聚模块进行数据帧重排,最后送到MAC层接口电路进行数据帧的物理发送。
[0006]进一步,所述帧净荷数据寄存器,采用外部RAM,存放高达2048路VL数据帧,所述数据帧的最大长度为2048byte。
[0007]进一步,所述控制信息寄存器,采用内部DPRAM,存放每个VL数据帧的发送控制参数,所述发送控制参数包括,相同VL数据帧之间的间隔控制,不同VL数据帧之间的间隔控制,同一个VL数据帧的SN递增大小、冗余通路间隔大小、错误插入、发送帧数周期控制。[0008]进一步,所述VL数据帧的间隔控制通过内部DPRAM来实现。
[0009]本发明还提供了基于VL的数据帧并发业务发生方法,其中,所述方法包括如下步骤:
步骤1:将需要生产的不同VL数据帧顺序放置在帧净荷数据寄存器,即外部RAM中;步骤2:控制信息寄存器,采用内部DPRAM,存放每个VL数据帧的发送控制参数,所述内部DPRAM被配置为2048*64,每个VL数据帧的发送控制参数包括,相同VL数据帧之间的间隔控制参数,不同VL数据帧之间的间隔控制参数,同一个VL数据帧的SN递增大小、冗余通路间隔大小、错误插入识别、发送帧数周期控制参数;
步骤3:当VL数据帧并发业务发生时,帧序号硬件并发处理电路首先读出不同的VL数据帧,然后再根据控制信息参数和对应VL数据帧的外部RAM地址读出AFDX外部数据帧的内容,进行差错控制,时间参数调整,CRC校验等操作。
[0010]进一步,所述VL数据帧的间隔控制通过内部DPRAM来实现。
[0011]进一步,所述VL数据帧并发业务硬件时序流程如下,
步骤1:在空闲状态,通过CPU完成VL发送控制参数清零操作,进入是否启动发送判断流程;如没有启动发送,则继续空闲状态,等待发送启动命令;
步骤2、软件启动发送流程后,CPU首先完成VL发送控制参数、VL数据帧初始数据写入,然后设置硬件启动位;硬件电路从空闲状态进入VL帧参数读取状态,读取发送控制参数,形成发送帧数据并发送;
步骤3、如果全部的VL发送控制参数的FRAME_NUMBER都为0x00的时候,认为全部的帧数据发生已经完成,设置发送停止标志,进入停止状态,发送停止。
[0012]进一步,所述VL数据帧并发软件流程如下,
步骤1、启动并发开始控制;
步骤2、软件设置外部RAM写入VL并发数据帧;
步骤3、设置内部DPRAM写入VL发送控制参数;
步骤4、清零发送停止标志位,延时IOOus后;
步骤5、设置发送启动控制位,然后定时IOOms查询发送停止标志位,检索到发送停止位后,发送启动控制位清零,停止并发业务。
[0013]与现有技术相比,本发明的有益效果是,所有在2048范围内的VL数据帧可以实现硬件的并发操作控制,每个VL数据帧均有自己的专属控制信息寄存器(包括时间参数寄存器、发送次数寄存器等),数据帧之间的时间间隔分辨率将采用完全硬件的方式控制,时间分辨率可以达到40ns,完全满足了 AFDX航空总线测试对时间分辨率的要求,同时可以根据实际要求缩减并发VL数据帧,降低对FPGA模块配置资源的要求。
【专利附图】

【附图说明】
[0014]图1为本发明基于VL的数据帧并发业务电路设计示意图;
图2为本发明基于VL的数据帧并发硬件时序流程图;
图3为本发明基于VL的数据帧并发软件流程图。
【具体实施方式】[0015]下面结合附图和实施方式对本发明进一步说明。
[0016]本发明的目的是采用硬件电路的方式产生高达2048路不同VL数据帧并发数据帧,其数据帧时间分辨率达到40ns,可用于AFDX航空数据总线网络或者设备进行压力、时延、抖动测试,也可以应用于多VL数据帧仿真等方面。
[0017]图1是发明的电路设计功能框图,整个硬件电路由:帧净荷数据寄存器(存放高达2048路VL数据帧,帧最大长度为2048byte)、FPGA模块、MAC层接口电路等组成,FPGA模块包括控制信息寄存器、帧序号硬件并发处理电路、SN序号发生电路、帧间隔并发处理模块、帧间隔控制模块、帧汇聚模块等。
[0018]FPGA模块首先读出帧控制信息和帧净荷数据,然后通过SN序号发生电路生成帧序号附加到帧尾形成完整数据帧,形成完整数据帧后通过帧间隔控制模块送到帧汇聚模块进行数据帧重排,最后送到MAC层接口电路进行数据帧的物理发送。具体步骤描述如下:
步骤1:将需要生产的不同VL数据帧顺序放置在帧净荷数据寄存器,即外部RAM (Random access memory随机存储器,简称RAM)中(RAM空间大小为4MBYTE),每个数据帧占用空间大小为2048 BYTE空间大小,最大共计支持2048路不同VL数据帧。
[0019]步骤2:在控制信息寄存器,采用内部DPRAM (Dual Port Random Access Memory双口 RAM,简称DPRAM),存放每个VL数据帧的发送控制参数,该内部DPRAM被配置为2048*64,每个VL数据帧的发送控制参数包括:相同VL数据帧之间的间隔控制,不同VL数据帧之间的间隔控制,同一个VL数据巾贞的SN (sequence number序号,简称SN)递增大小、冗余通路间隔大小、错误插入、发送帧数周期控制等。所有的逻辑控制及控制参数均在FPGA模块内部实现。
[0020]步骤3:当进行VL数据帧并发业务发生时,帧序号硬件并发处理电路首先读出不同的VL数据帧,然后再根据控制信息和对应VL数据帧的外部RAM地址读出AFDX外部数据帧的内容,进行差错控制,时间参数调整,CRC校验等操作,由于其VL数据帧范围高达2048路,其间隔控制如果都采用内部逻辑寄存器的方式来进行实现,要求的逻辑资源将对FPGA模块提出过高的要求,导致数据总线负载过大,FPGA模块内部布局布线的时延不确定性,因此在本发明中,通过使用大量的内部DPRAM替换内部逻辑寄存器来实现众多的计数器。最终将数据帧以8BITS并行方式送到MAC层接口芯片中完成数据的外放。
[0021]由于AFDX航空数据总线是建立在IEEE802.3规范之上的网络协议,其收发器的物理接口基本上与以太网保持一致。在本发明中采用了 MARVELL公司的88E1111以太网收发器,它符合AFDX (ARINC664-7)协议标准与IEEE802.3标准规范。
[0022]在整个帧数据送到帧汇聚模块(即汇聚层)的过程中,由于不同的VL数据帧有独立的SN计数器,所以需要单独的帧序号硬件并发处理电路进行不同VL数据帧序号的处理,其中SN序号发生电路只是针对当前的特定VL数据帧的序号进行循环递增。其中帧间隔并发处理模块产生对不同的VL数据帧间隔启动、停止控制信号,通知帧间隔控制模块开始停止对当前VL数据帧的帧间隔控制计数。
[0023]2048路基于VL数据帧的业务并发电路的核心设计是在FPGA模块中实现的,根据VL数据帧发生状态机,硬件电路按照VL控制信息从对应的外部RAM地址中读出初始的AFDX帧数据,控制信息寄存器读取采用同步设计读出,其开销仅I个CLK,在读出参数的下一个CLK,完成控制信息处理后的写入操作,读出和写入控制由以下控制电路设计所示。[0024]if (counter=,,001,,) then
VL —IFG <=doubt (15 downto 0);
VL —SKEW <=doubt (31 downto 16);
SN—NUMBER <=doubt (39 downto 32);
SN—INC <=doubt (47 downto 40);
FRAME—NUMBER <=doubt (55 downto 48);
ERR—CASE <=doubt (59 downto 56);
elseif(counter= “010”) then
dinb(39 downto 32)<=SN—NUMBER+SN—INC;
doubt (55 downto 48) <=FRAME—NUMBER- ‘1'
else
end if;
每个VL数据帧链路数据帧都有自己单独对应的控制信息寄存器,控制信息寄存器具体定义,如表1所示。
[0025]图2是本发明的基于VL数据帧并发硬件时序流程图。
[0026]1、在空闲状态,通过CPU完成VL发送控制参数(即内部DPRAM清零操作),进入是否启动发送判断流程。如没有启动发送,则继续空闲状态,等待发送启动命令。
[0027]2、软件启动发送流程后,CPU首先完成VL发送控制参数、VL数据帧初始数据写入,然后设置硬件启动位。硬件电路从空闲状态进入VL帧参数读取状态,读取发送控制参数,形成发送帧数据并发送。
[0028]3、如果全部的VL发送控制参数的FRAME_NUMBER都为0x00的时候,认为全部的帧数据发生已经完成,设置发送停止标志,进入停止状态,发送停止。
[0029]上述所有硬件电路实施流程不同于软件设计之处在于所有操作都是同时并行处理的,发送停止控制位具有最高优先级,即设置停止位后,不论是否发送完毕,均停止发送。
[0030]在发送实施过程中,如果VL发送控制参数的FRAME_NUMBER大于O时,则将读出的帧序号循环加上对应的序号递增SN_INC,FRAME_NUMBER减‘I’后写回VL发送控制参数RAM区域,锁存处理后帧序号,根据读出的间隔和抖动信息,差错控制,转入帧汇聚状态,在帧汇聚状态中实现完整的VL帧。如此循环,直到指定VL的FRAME_NUMBER递减为‘0’时,停止发送该VL数据帧。
[0031]图3是本发明VL数据帧并发软件流程图。
[0032]1、启动并发开始控制;
2、软件设置外部RAM写入VL并发数据帧(即VL数据帧净荷);
3、设置内部DPRAM写入VL发送控制参数;
4、然后清零发送停止标志位,延时IOOus后;
5、设置发送启动控制位,然后定时IOOrns查询发送停止标志位,检索到发送停止位后,发送启动控制位清零,停止并发业务。
[0033]表1为基于VL的信息控制寄存器定义表
【权利要求】
1.一种基于VL的数据帧并发业务发生设备,其特征在于,所述数据帧并发业务发生设备包括帧净荷数据寄存器、FPGA模块、MAC层接口电路,所述FPGA模块包括控制信息寄存器、帧序号硬件并发处理电路、SN序号发生电路、帧间隔并发处理模块、帧间隔控制模块、帧汇聚模块;所述FPGA模块首先读出帧控制信息和帧净荷数据,然后将SN序号发生电路生成的帧序号附加到数据帧帧尾形成完整的数据帧,完整的数据帧后通过帧间隔控制模块送到帧汇聚模块进行数据帧重排,最后送到MAC层接口电路进行数据帧的物理发送。
2.根据权利要求1所述的数据帧并发业务发生设备,其特征在于:所述帧净荷数据寄存器,采用外部RAM,存放高达2048路VL数据帧,所述数据帧的最大长度为2048byte。
3.根据权利要求1所述的数据帧并发业务发生设备,其特征在于:所述控制信息寄存器,采用内部DPRAM,存放每个VL数据帧的发送控制参数,所述发送控制参数包括,相同VL数据帧之间的间隔控制,不同VL数据帧之间的间隔控制,同一个VL数据帧的SN递增大小、冗余通路间隔大小、错误插入、发送帧数周期控制。
4.根据权利要求3所述的数据帧并发业务发生设备,其特征在于:所述VL数据帧的间隔控制通过内部DPRAM来实现。
5.一种基于VL的数据帧并发业务发生方法,其特征在于,所述方法包括如下步骤: 步骤1:将需要生产的不同VL数据帧顺序放置在帧净荷数据寄存器,即外部RAM中; 步骤2:控制信息寄存器,采用内部DPRAM,存放每个VL数据帧的发送控制参数,所述内部DPRAM被配置为2048*64,每个VL数据帧的发送控制参数包括,相同VL数据帧之间的间隔控制参数,不同VL数据帧之间的间隔控制参数,同一个VL数据帧的SN递增大小、冗余通路间隔大小、错误插入识别、发送帧数周期控制参数; 步骤3:当VL数据帧并发业务发生时,帧序号硬件并发处理电路首先读出不同的VL数据帧,然后再根据控制信息参数和对应VL数据帧的外部RAM地址读出AFDX外部数据帧的内容,进行差错控制,时间参数调整,CRC校验等操作。
6.根据权利要求5所述的数据帧并发业务发生方法,其特征在于:所述VL数据帧的间隔控制通过内部DPRAM来实现。
7.根据权利要求5所述的数据帧并发业务发生方法,其特征在于:所述VL数据帧并发业务硬件时序流程如下, 步骤1:在空闲状态,通过CPU完成VL发送控制参数清零操作,进入是否启动发送判断流程;如没有启动发送,则继续空闲状态,等待发送启动命令; 步骤2、软件启动发送流程后,CPU首先完成VL发送控制参数、VL数据帧初始数据写入,然后设置硬件启动位;硬件电路从空闲状态进入VL帧参数读取状态,读取发送控制参数,形成发送帧数据并发送; 步骤3、如果全部的VL发送控制参数的FRAME_NUMBER都为0x00的时候,认为全部的帧数据发生已经完成,设置发送停止标志,进入停止状态,发送停止。
8.根据权利要求5所述的数据帧并发业务发生方法,其特征在于:所述VL数据帧并发软件流程如下, 步骤1、启动并发开始控制; 步骤2、软件设置外部RAM写入VL并发数据帧; 步骤3、设置内部DPRAM写入VL发送控制参数;步骤4、清零发送停止标志位,延时100us后; 步骤5、设置发送启动 控制位,然后定时100ms查询发送停止标志位,检索到发送停止位后,发送启动控制位清零,停止并发业务。
【文档编号】H04L12/931GK103944679SQ201410161476
【公开日】2014年7月23日 申请日期:2014年4月21日 优先权日:2014年4月21日
【发明者】段美霞, 张蕊, 陆桂明, 段爱霞, 黄永志 申请人:华北水利水电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1