CN103888227B - 一种基于vl的数据帧接收分析设备和方法 - Google Patents
一种基于vl的数据帧接收分析设备和方法 Download PDFInfo
- Publication number
- CN103888227B CN103888227B CN201410160335.XA CN201410160335A CN103888227B CN 103888227 B CN103888227 B CN 103888227B CN 201410160335 A CN201410160335 A CN 201410160335A CN 103888227 B CN103888227 B CN 103888227B
- Authority
- CN
- China
- Prior art keywords
- frame
- module
- data
- count
- analysis
- 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.)
- Expired - Fee Related
Links
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于VL的数据帧接收分析设备,其中,所述接收分析设备包括接口电路、FPGA模块、工控核心CPU和外部DDR3,所述FPGA模块包括帧识别校验模块、帧统计模块、定时及秒中断发生模块、帧捕获模块、分析模块和缓存模块,所述接口电路用于实现从网络数据的物理电信号到数字信号的转换;所述FPGA模块用于对所述数字信号进行VL数据帧的分析处理,并将实时捕获的数据存放到所述外部DDR3上;所述工控核心CPU用于本地电路的控制和配置。硬件分时的方式对接收到的基于VL的数据帧进行处理,保证了对基于VL的AFDX数据帧的硬件实时处理和软件实时刷新。
Description
技术领域
本发明涉及一种AFDX(Avionics Full Duplex Switched Ethernet,航空电子全双工交换式以太网)航空数据总线基于VL(Virtual link虚链路)的接收分析设备和方法,该设备和方法基于高度集成度的FPGA(Filed-Programmable Gate Array,现场可编程门阵列)设计和AFDX航空数据总线ARCIN664协议标准中基于VL的接收测试要求。
背景技术
随着航空电子设备和航空电子网络的快速发展,AFDX数据总线由于其高可靠性、时间延迟固定、高通信速率等特点,在新一代飞机中已开始采用AFDX数据总线作为飞机内部通信数据总线。但与之对应的国内AFDX总线测试设备还没有得到发展,现有的相 关产品技术也较滞后,仅适用与特定的VL或者较小VL范围内的通信使用。用于基于满负载(接收VL最大范围为0XFFFF)测试的AFDX总线测试板卡还没有,同时,作为测试分析仪器,必须能够对所有的测试情况都满足,即要求能够同时对0XFFFF路不同VL的数据帧进行分析和处理。通常是采用软件定时去查询接收到的VL相关数据,如果不对接收的VL数据进行检索处理,则每次查询必须遍历所有的VL查找表,对软件负载过大。
发明内容
本发明要解决的技术问题是提供了一种基于VL的数据帧接收分析设备和方法,硬件分时的方式对接收到的基于VL的数据帧进行处理,保证了对基于VL的AFDX数据帧的硬件实时处理和软件实时刷新。
本发明提供的一种基于VL的数据帧接收分析设备,其中,所述接收分析设备包括接口电路、FPGA模块、工控核心CPU和外部DDR3,所述FPGA模块包括帧识别校验模块、帧统计模块、定时及秒中断发生模块、缓存模块、分析模块和帧捕获模块,所述接口电路用于实现从网络数据的物理电信号到数字信号的转换;所述FPGA模块用于对所述数字信号进行VL数据帧的分析处理,并将实时捕获的数据存放到所述外部DDR3上;所述工控核心CPU用于本地电路的控制和配置。
进一步,所述所述FPGA模块用于对所述数字信号进行VL数据帧的分析处理,包括帧识别,同一VL数据帧的SN判断,冗余帧选取、帧统计、定时发生,按照AFDX协议标准对AFDX数据帧指定的VL数据帧进行数据帧完整性分析,错误分析,冗余帧判断及选取。
进一步,在进行数据帧统计时候,采用硬件寻址初级检索和软件二次检索的方式,不用遍历整个VL统计RAM,减小软件负荷。
进一步,所述接口电路用于实现从网络数据的物理电信号到数字信号的转换,即所述接口电路实现了对串行数据的并行化处理,其并行数据为8BIT,对应的同步时钟为12.5M。
进一步,所述FPGA模块接收分析时,缓存模块将2个接收通道的数据通过2个异步FIFO方式进行缓存,在FIFO输出端采用同一时钟进行读取,实现了不同接收通道的时钟同步。
本发明还提供的一种基于VL的数据帧接收分析方法,其中,通过接口电路实现了从网络数据的物理电信号到数字信号的转换,FPGA模块实现VL数据帧的分析处理,并将实时捕获的数据存放到外部DDR3上,本地电路的控制和配置由工控核心CPU实现。
进一步,FPGA模块的硬件工作流程如下,
步骤1、FPGA模块对接收到的VL数据帧建立初级索引表,其数据宽度为17 BITS,D[16]为代表该索引是否有效,D[15:0]代表该VL在次级索引表中的具体地址;
步骤2、当接收到新的VL数据帧,则D16被置“1”,VL值作为初级索引表的地址,写入RX_VL_MAXVL+1,同时RX_VL_MAXVL+1,次级索引表按照此时的RX_VL_MAXVL指定地址分别写入VL_NO,RX_VL_COUNT,RX_ERR_COUNT;
步骤3、如果接收到旧的VL数据帧,即初级索引表对应的VL_NO地址的D17已经为“1”,还是以VL值作为初级索引表的地址,FPGA模块读出初级索引表内的D[15:0],作为次级索引表地址直接读出上次的RX_VL_COUNT,RX_ERR_COUNT;
步骤4、软件读取统计值时候,工控核心CPU首先读取该次分析总共有多少种不同的VL,读取地址寄存器定义为RX_VL_MAXVL;工控核心CPU顺序读取RX_VL_NO,RX_VL_COUNT,RX_ERR_COUNT进行累加处理,处理后的结果分别代表对应VL的数据帧数量和错误帧数量。
进一步,FPGA模块的软件工作流程如下,
步骤1、接收分析开始以后,软件首先开始初始化所有的统计寄存器,确保检索表初始化,然后清除中断标志;
步骤2、等待中断发生,如果没有中断业务,则进入通用服务例程,进行常规分析操作;如果有中断发生,跳转到步骤4;
步骤3、停止分析命令检测到后,写停止分析控制位,软件停止分析操作;
步骤4、如果有中断发生,软件首先清除中断标志,进入中断服务例程,读取基于VL的统计数据,并进行累加处理。
本发明的有益效果是:硬件分时的方式对接收到的基于VL的数据帧进行处理,保证了对基于VL的AFDX数据帧的硬件实时处理和软件实时刷新。
通过硬件检索的方法,软件只需要遍历RX_VL_MAXVL即可,不需要每次都遍历多达0XFFFF的地址空间,以牺牲硬件资源为代价,提高了低负载情况下软件的工作效率。
附图说明
图1 为本发明接收分析原理框图;
图2 为本发明基于VL的硬件检索示意图;
图3为本发明的基于VL软件分析流程图。
具体实施方式
下面结合附图对本发明进一步说明。
本发明的发明目的是采用硬件分时的方式对接收数据帧进行实时分析和处理。同时,在进行数据帧统计时候,采用硬件寻址初级检索,软件二次检索的方式,减小软件负荷,使得在被检测数据总线上VL数据帧种类较少的时候软件不用遍历整个VL统计RAM(randomaccess memory随机存储器,简称RAM),从而提高软件的显示数据刷新频率,使得显示更加流畅。
AFDX是建立在100M以太网基础上的航空数据总线,在本发明中采用以太网物理接口芯片实现了对AFDX物理信号的变换,即通过接口电路实现了对串行数据的并行化处理,其并行数据为8BIT,对应的同步时钟为12.5M。由于AFDX本身的特殊性,通常是需要对2路信号同时进行分析处理,并做出冗余判断选择。
在冗余工作模式下,接收分析需要同时对2个接收通道经冗余选择后的数据采用FIFO(First Input First Output先入先出队列,简称FIFO)方式进行缓存,然后利用基于VL排列的外部DDR3(Double Data Rate双倍速率同步动态随机存储器,简称DDR)的接口IP(Intellectual Property)电路(即帧捕获模块),配合基于VL的分析模块实现硬件分时的9种(分别为:通道1帧数据存储状态、通道1帧状态存储状态、通道1帧控制地址存储状态、通道1帧数据有效判断状态、通道2帧数据存储状态、通道2帧状态存储状态、通道2帧控制地址存储状态、通道2帧数据有效判断状态、CPU读写操作状态)分析操作。在本发明中,FIFO的高速读取时钟采用外部DDR3 的接口IP电路的生成时钟,由于外部DDR3 的接口IP电路接口侧数据总线宽度为256BIT,同时工作时钟高达125M,所以完全能够满足前端最多为3路的接收数据,以及CPU模块实时读取的要求。
图1是本发明实施例的电路设计功能框图。通过接口电路实现了从网络数据的物理电信号到数字信号的转换,在FPGA模块中实现本发明的核心部分,即实现VL数据帧的识别、分析等硬件处理工作,将实时捕获的数据存放到外部DDR3上,本地电路的控制和配置由工控核心CPU实现。
1、由于AFDX航空数据总线是建立在IEEE802.3规范之上的网络协议,其收发设备的物理接口基本上与以太网保持一致。在本发明中的收发设备中采用了MARVELL公司的88E1111以太网收发器,它符合AFDX(ARCINC664-7)协议标准与IEEE802.3标准规范,本实施例中的收发器对应于图1中的接口电路。
2、FPGA模块是本发明的核心部分。接口电路恢复处理的数据帧直接送到FPGA分析处理模块中进行基于VL的AFDX的数据帧实时分析处理,如帧识别,同一VL数据帧的SN判断,冗余帧选取、帧统计、定时发生等,按照AFDX协议标准对AFDX数据帧指定的VL数据帧进行数据帧完整性分析,错误分析,冗余帧判断及选取等。
3、符合要求的VL数据帧通过FPGA模块中的基于VL的帧捕获模块存放在外部DDR3中,所有的数据帧存放都是基于VL的(VL数据帧种类最多可以有0XFFFF种),由于同时需要进行2个通道数据分析,以及在冗余工作模式下单独分析AFDX数据帧,还要支持CPU模块对外部DDR3进行读写,在本发明中采用硬件分时处理的方法进行,即采用count_time作为时间片计数器,最大计数为0x10,然后循环,在不同的count_time值时分别进行不同的操作,具体细节参加下面的伪硬件描述语言设计。FPGA模块接收分析时,缓存模块将2个接收通道的数据通过2个异步FIFO方式进行缓存,由于不同接收通道的恢复时钟存在不同步,所以必须对不同的接收通道数据进行同步操作,在FIFO输出端采用同一时钟进行读取,实现了不同接收通道的时钟同步。然后利用开发系统自带的外部DDR3的接口IP电路,配合基于VL的分析模块实现分时的9种分析操作(分别为:通道1帧数据存储状态、通道1帧状态存储状态、通道1帧控制地址存储状态、通道1帧数据有效判断状态、通道2帧数据存储状态、通道2帧状态存储状态、通道2帧控制地址存储状态、通道2帧数据有效判断状态、CPU读写操作状态)。在设计中,FIFO的高速读取时钟采用外部DDR3 的接口IP电路的生成时钟,由于该侧数据总线宽度为256BIT,同时工作时钟高达125M。经过计算,完全能够满足对2路数据同时处理的要求。其控制电路硬件描述设计如下:
If(count_time==8’h01)
begin
// 通道1数据存储
end
else
if(count_time==8’h02) begin
//通道1数据帧状态存储
end
else
if(count_time==8’h03) begin
//通道1数据帧控制地址存储
end
else
if(count_time==8’h04) begin
//通道1数据有效判断
end
else
if(count_time==8’h05) begin
//通道2数据存储
end
…{通道2的AFDX数据帧分析捕获,冗余帧分析捕获}
else
if(count_time==8’h10) begin
//cpu 模块读取数据
end
…//CPU模块操作共计占用4个CLK时间。
图2为本发明基于VL的硬件检索示意图。通过硬件的方式对接收到的基于VL的AFDX数据帧建立初级索引表,其数据宽度为17 BITS,D[16]为代表该索引是否有效,D[15:0]代表该VL在次级索引表中的具体地址。
当接收到新的VL数据帧,则D16被置“1”,VL值作为初级索引表的地址,写入(RX_VL_MAXVL+1),同时RX_VL_MAXVL+1,次级索引表按照此时的RX_VL_MAXVL指定地址分别写入VL_NO, RX_VL_COUNT,RX_ERR_COUNT。
如果接收到旧的VL数据帧,即初级索引表对应的VL_NO地址的D17已经为“1”,还是以VL值作为初级索引表的地址,FPGA硬件读出初级索引表内的D[15:0],作为次级索引表地址直接读出上次的RX_VL_COUNT,RX_ERR_COUNT。根据情况进行下一步处理。
软件读取统计值时候,工控核心CPU首先读取该次分析总共有多少种不同的VL,读取地址寄存器定义为RX_VL_MAXVL。CPU顺序读取RX_VL_NO,RX_VL_COUNT,RX_ERR_COUNT进行累加处理。处理后的结果分别代表对应VL的数据帧数量和错误帧数量。由于100M线速工作时候,如果是单一VL数据帧,其理论最大秒帧数应该是148810,因此在本发明中,设计的VL统计帧数和错误数均为20位,最大为0xFFFFF,确保不会在数据读取前发生2次翻转的情况出现。
图3是本发明的软件流程图,接收分析开始以后,软件首先开始初始化所有的统计寄存器,确保检索表初始化,然后清除中断标志。等待中断发生,如果没有中断业务,则进入通用服务例程,进行常规分析操作。停止分析命令检测到后,写停止分析控制位,软件停止分析操作。如果有中断发生,软件首先清除中断标志,进入中断服务例程,读取基于VL的统计数据,并进行累加处理。
硬件分时的方式对接收到的基于VL的数据帧进行处理,保证了对基于VL的AFDX数据帧的硬件实时处理和软件实时刷新。通过硬件检索的方法,软件只需要遍历RX_VL_MAXVL即可,不需要每次都遍历多达0XFFFF的地址空间,以牺牲硬件资源为代价,提高了低负载情况下软件的工作效率。
Claims (1)
1.一种基于VL的数据帧接收分析设备的分析方法,其特征在于,所述接收分析设备包括接口电路、FPGA模块、工控核心CPU和外部DDR3,所述FPGA模块包括帧识别校验模块、帧统计模块、定时及秒中断发生模块、帧捕获模块、分析模块和缓存模块,所述接口电路用于实现从网络数据的物理电信号到数字信号的转换;所述FPGA模块用于对所述数字信号进行VL数据帧的分析处理,并将实时捕获的数据存放到所述外部DDR3上;所述工控核心CPU用于本地电路的控制和配置;所述的FPGA模块用于对所述数字信号进行VL数据帧的分析处理,包括帧识别,同一VL数据帧的SN判断,冗余帧选取、帧统计、定时发生,按照AFDX协议标准对AFDX数据帧指定的VL数据帧进行数据帧完整性分析,错误分析,冗余帧判断及选取;在进行数据帧统计时候,采用硬件寻址初级检索和软件二次检索的方式,不用遍历整个VL统计RAM,减小软件负荷;所述接口电路用于实现从网络数据的物理电信号到数字信号的转换,即所述接口电路实现了对串行数据的并行化处理,其并行数据为8BIT,对应的同步时钟为12.5M;所述的FPGA模块接收分析时,缓存模块将2个接收通道的数据通过2个异步FIFO方式进行缓存,在FIFO输出端采用同一时钟进行读取,实现了不同接收通道的时钟同步;
一种基于VL的数据帧接收分析方法,其特征在于,通过接口电路实现了从网络数据的物理电信号到数字信号的转换,FPGA模块实现VL数据帧的分析处理,并将实时捕获的数据存放到外部DDR3上,本地电路的控制和配置由工控核心CPU实现;
其中,FPGA模块的硬件工作流程如下,
步骤1、FPGA模块对接收到的VL数据帧建立初级索引表,其数据宽度为17 BITS,D[16]为代表该索引是否有效,D[15:0]代表该VL在次级索引表中的具体地址;
步骤2、当接收到新的VL数据帧,则D16被置“1”,VL值作为初级索引表的地址,写入RX_VL_MAXVL+1,同时RX_VL_MAXVL+1,次级索引表按照此时的RX_VL_MAXVL指定地址分别写入VL_NO,RX_VL_COUNT,RX_ERR_COUNT;
步骤3、如果接收到旧的VL数据帧,即初级索引表对应的VL_NO地址的D17已经为“1”,还是以VL值作为初级索引表的地址,FPGA模块读出初级索引表内的D[15:0],作为次级索引表地址直接读出上次的RX_VL_COUNT,RX_ERR_COUNT;
步骤4、软件读取统计值时候,工控核心CPU首先读取该次分析总共有多少种不同的VL,读取地址寄存器定义为RX_VL_MAXVL;工控核心CPU顺序读取RX_VL_NO,RX_VL_COUNT,RX_ERR_COUNT进行累加处理,处理后的结果分别代表对应VL的数据帧数量和错误帧数量;
FPGA模块的软件工作流程如下,
步骤1、接收分析开始以后,软件首先开始初始化所有的统计寄存器,确保检索表初始化,然后清除中断标志;
步骤2、等待中断发生,如果没有中断业务,则进入通用服务例程,进行常规分析操作;如果有中断发生,跳转到步骤4;
步骤3、停止分析命令检测到后,写停止分析控制位,软件停止分析操作;
步骤4、如果有中断发生,软件首先清除中断标志,进入中断服务例程,读取基于VL的统计数据,并进行累加处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160335.XA CN103888227B (zh) | 2014-04-21 | 2014-04-21 | 一种基于vl的数据帧接收分析设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160335.XA CN103888227B (zh) | 2014-04-21 | 2014-04-21 | 一种基于vl的数据帧接收分析设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888227A CN103888227A (zh) | 2014-06-25 |
CN103888227B true CN103888227B (zh) | 2017-02-08 |
Family
ID=50956959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410160335.XA Expired - Fee Related CN103888227B (zh) | 2014-04-21 | 2014-04-21 | 一种基于vl的数据帧接收分析设备和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888227B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708679A (zh) * | 2015-11-17 | 2017-05-24 | 深圳市中兴微电子技术有限公司 | 一种片上系统总线行为检测方法和装置 |
CN109085798B (zh) * | 2018-08-06 | 2021-01-26 | 常州工业职业技术学院 | 一种嵌入式系统g代码异步通讯机制、协议及编程方法 |
CN111065190B (zh) * | 2019-12-05 | 2022-01-28 | 华北水利水电大学 | 基于Zigbee通信的智能灯光控制方法及系统 |
CN114143138A (zh) * | 2021-11-29 | 2022-03-04 | 天津市英贝特航天科技有限公司 | 一种机载afdx远程调试设备、方法及系统 |
-
2014
- 2014-04-21 CN CN201410160335.XA patent/CN103888227B/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
《基于FPGA的AFDX端系统协议芯片的设计与实现》;张志;《计算机测量与控制》;20100228;正文第2段-第3段,附图1 * |
《基于FPGA的AFDX端系统的设计与实现》;黄劲松;《计算机测量与控制》;20111031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103888227A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888227B (zh) | 一种基于vl的数据帧接收分析设备和方法 | |
JP6149150B2 (ja) | スキューのあるマルチレーン通信リンクにおけるタイムスタンプ補正 | |
CN110213143B (zh) | 一种1553b总线ip核及监视系统 | |
US7093061B2 (en) | FIFO module, deskew circuit and rate matching circuit having the same | |
CN108880723B (zh) | 一种时钟同步的方法和装置 | |
CN105320490A (zh) | 用于异步fifo电路的方法和设备 | |
CN101296217B (zh) | 弹性缓冲装置 | |
CN1812317A (zh) | 同步媒介访问控制器 | |
US9880949B1 (en) | Cross clock compensation between layers in peripheral component interconnect express | |
US7330921B2 (en) | Communication control circuit and communication control method | |
US8458389B2 (en) | Apparatus and method for converting protocol interface | |
CN101001199A (zh) | 一种高速多位并行数据总线的数据处理方法 | |
CN103107862A (zh) | 逻辑器件及其mdio数据发送方法 | |
CN105915518A (zh) | 一种以太网数据帧实时解析方法及装置 | |
US20230231940A1 (en) | Communication Method and System, Device, and Computer-Readable Storage Medium | |
CN103840934B (zh) | 一种基于时钟自动恢复的开销传递方法及装置 | |
CN105827350B (zh) | 一种信息同步方法及网络设备 | |
US7694176B2 (en) | Fault-tolerant computer and method of controlling same | |
CN105163064A (zh) | 一种嵌入式网络视频数据采集传输系统及方法 | |
JP4470582B2 (ja) | ハードウェア/ソフトウェア協調シミュレーション方式及びその方法 | |
CN103268278B (zh) | 支持多核处理器的sram控制器及其跟踪信息处理方法 | |
JP4060530B2 (ja) | データチャネルで受信されたデータパケット又は送信されるデータパケットの処理方法及び装置 | |
CN103576740A (zh) | 一种usb设备的时钟检测系统及其时钟检测方法 | |
US9311045B2 (en) | Elastic buffer module and elastic buffering method for transmission interface | |
CN106357459A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170208 Termination date: 20180421 |
|
CF01 | Termination of patent right due to non-payment of annual fee |