FPGA软核高速网络测试仪控制平台

2019-09-17 08:27邓峰王颖
电子技术与软件工程 2019年16期
关键词:看门狗测试仪总线

文/邓峰 王颖

随着网络的发展和普及,中国骨干网容量大增,单端口带宽能力从Kbps提升10Gbps,骨干网带宽已超100Tbps。随着人工智能、汽车、医疗和金融等领域的发展,对于网络带宽的需求会呈现稳定增长的趋势。根据《中国互联网络发展状况统计报告》数据显示:截止2018年12月,我国国际出口带宽数约8.9Tbps,我国宽带网络平均可用下载速率已经到达28Mbps,均呈现逐年上升的趋势。在网络速度日渐提高的同时,高速率网络测试仪和SDR等高速通信设备的研发也日趋火热。

图1:系统架构

1 系统设计架构

图1是测试仪控制平台系统结构,其中数据平台使用Verilog HDL软核实现,以保证系统性能。处理器是整个控制平台的核心,采用Xilinx MicroBlaze 软核。

核内存储:MicroBlaze使用BlockRAM作为Cache,使用LMB总线与系统相连,这一部分对控制平台软件透明。

AXI4-Lite总线:Xilinx最新的嵌入式方案采用AXI4总线体系,其中AXI4-Lite总线是最简单的一种总线。为了减小系统的复杂度,在可以满足功能的条件下尽可能使用该总线,该总线上连接有看门狗、定时器、UART以及数据平台。

看门狗:为了保证程序由于意外(例如强干扰)跑飞时,能够自动回复使用该模块。

计时器:为了保证可以使用时间片调度,提高网络测试仪的扩展性使用该模块。

UART:用于研发期间的调试。

数据平台:这部分参考NetFPGA10G方案,使用具有自主知识产权IP核,该部分完成包生成,比对和统计等高速信号处理。

AXI4总线:由于PCIe桥(Bridge)必须要DDR3模块的配合完成DMA操作,故这里我们的DDR3与PCIe模块都连接与AXI4总线。PCIe总线工作于从机模式,连接至PC(或工控机)PCIe插槽,完成和上位机的通信。

图3:控制平台流程图

2 网络测试仪软件层次

控制平台层次如图2所示。

从上至下一共3层,最高层应用层可以细分为两层,下面对每层的功能分别说明:

调度框架:实现所有模块任务的整合,采用时间片轮转算法调用各模块的任务函数,完成控制任务。

模块任务层:使用抽象层代码实现该模块在系统中承担的任务。

抽象层:封装物理层驱动,统一化出错(异常)等处理,向上隔离驱动层的易变性,简化模块任务层代码。

驱动层:实现各硬件模块的驱动。

3 控制平台流程

控制平台流程如图3所示。

初始化:首先,设置各模块(PCIe、看门狗、数据通道、定时器、串口)为默认工作模式;然后将时间片设置为1,开启定时器中断;

喂狗:时间片1中将看门狗值设置为初始值,避免程序自动复位;

读取PCIe数据:时间片2读取工控机(PCIe)传来的配置信息;

配置数据通道:时间片3解析PCIe传来的配置信息,并写入数据通道寄存器,间接控制数据通道工作;

空闲:为了便于每轮调度的时间值为一个便于管理的值,将4、5时间片设置为忙等模式;

修改时间片:该功能在定时器中断中完成。

其中,调度中时间片的长度必须大于四个任务中耗时最长的任务,每轮时间片的长度由下式计算:

每轮时间 = 时间片长×时间片数

4 以太网二层测试方案

目前 RFC2544标准测试是所有二层设备入网前的基本测试,为了今后网络测

试仪项目的开展,整理出RFC2544中定义的测试指标,并给出相应的测试方法和方案,用于指导后期逻辑(Verilog)及控制软件(MicroBlaze C/C++)对二层(以太网)测试的研发。RFC2544中定义的最重要4个测试参数为吞吐率、丢包率、时延和背靠背。测试网络(设备)时拓扑结构如图4所示。

图4:测试网络(设备)时系统拓扑结构

5 结论与展望

本设计架构设计新颖,可以借助FPGA的硬件逻辑完成以太网组包、解析、测试、分析等功能来取代传统使用NP(网络处理器)完成的工作,不受性能的约束,后续可以扩展到4~7层网络测试。通过PCIE接口提高稳定性,可以插入多张网络测试卡实现更高速率的带宽测试。

猜你喜欢
看门狗测试仪总线
SDL Atlas推出第二代HydroPro耐静水压测试仪
使用快速水洗色牢度测试仪检测超细纤维脱落
把他叫醒
便携式转辙机转换力测试仪
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于VB与ATEQ测试仪串行通信
一种采用FPGA实现的通用看门狗电路
多通道ARINC429总线检查仪
基于EtherCAT总线的ROV控制系统设计