021-64886750

  • 实时目标机

    Simulink模型库

    Demo套件

info@yisuworld.com

Speedgoat FPGA板卡使用系列文章之Aurora协议

网站首页    技术blog和使用技巧    Speedgoat FPGA板卡使用系列文章之Aurora协议
 

Aurora协议在Speedgoat FPGA板卡中的应用场景

 

 

AuroraXilinx®为高速串行通信(千兆级别)开发的轻量级,点对点链路层协议。具有逻辑资源使用少、数据传输延时低、带宽高、可配置的特点。Speedgoat FPGA板卡最高可以实现每通道12.5Gbps的通信速率,8个通道可以实现100Gbps的数据传输。Speedgoat FPGA板卡支持Aurora 64b/66bAurora8b/10b两种规范。Speedgoat FPGA板卡支持全双工传输和CRC32数据校验。

 

img1

Speedgoat FPGA板卡主要的三种应用场景

 

 

应用场景1多块FPGA板卡通过Aurora协议将数据聚合到某一块FPGA板卡,然后通过DMA传送给CPU

 

此场景的优点在于:

Ø                      实现对高速、大容量数据的处理

Ø                      发挥FPGA数据处理能力强和CPU功能多样的优点

Ø                      避免CPU访问多块FPGA板卡,减低对CPU的占用

Ø                      通过DMA方式,减低对CPU的占用

 

此应用场景多用于,高速的同步数据采集、处理、传输和存储。例如主动降噪对于振动噪声数据的采集和分析;雷达信号,图形信号,或类似高频信号的采集与预处理,然后通过CPU进行数据的融合与分析决策。

 

 

应用场景2多块FPGA板卡通过Aurora协议将数据聚合到某一块FPGA板卡,同时某一块FPGA将数据分发至多块FPGA板卡。

 

此场景的优点在于:

Ø                      微秒级的实时仿真数据处理与闭环反馈

Ø                      多块FPGA板卡之间的纳秒级数据同步

Ø                      大容量,高速数据的实时融合与处理

 

此应用场景可用于大规模电力电子仿真,以一块FPGA作为整个仿真系统的中央节点,其他FPGA作为分布节点,所有FPGA板卡根据主节点生成的时钟信号进行同步仿真。此场景还可以用于自动驾驶的多传感器数据融合与处理。

 

 

应用场景3FPGA板卡通过Aurora协议与其他外部硬件通信。

 

此场景的优点在于:

Ø                      与外部硬件进行高速数据交换;

Ø                      灵活扩展Speedgoat系统的能力

 

此应用场景可用于模块化多电平变流器或者类似的电力电子HIL测试,Speedgoat FPGA模拟MMC阀,通过SFP光纤连接MMC阀控,通过Aurora协议接收阀控信号,反馈桥臂电流、子模块电压和状态。

 

 

Speedgoat FPGA板卡Aurora协议的物理接口

Speedgoat FPGA板卡Aurora协议的提供两种物理接口:MGTmulti-gigabit transceivers)和SFPSmall Form-factor Pluggable)。

 

MGT接口为电气连接,采用Samtec采用Firefly Micro Flyover连接器,用于连接机箱内部的FPGA板卡,常用的连接方式有以下三种,也可以根据需要定制。

 

img2

 

下图为一个中央节点与四个分布节点的相连图。

img3

 

SFP接口为光纤连接,用于连接机箱外部,距离较远的FPGA模块。下图中左侧为SpeedgoatMGT接口转SFP接口的转接卡,通过此板卡可将机箱内的FPGA板卡与外部的Aurora设备相连。

 

img4

SFP接口的光模块如下图所示:

img5

 

下图为Speedgoat FPGA板卡上子板的QSFP接口,1QSFP接口通过14的光纤,转为4SPF接口。

img6

 

 

Speedgoat FPGA板卡Aurora协议的软件接口

 

Speedgoat公司已经开发Aurora协议的软件接口,用户只需要专注于应用的开发就可以。下面对于软件接口的使用进行介绍,软件的功能模块图如下

 

img7

 

图中Aurora协议的IP核是Xilinx公司提供的,其常用的User Interface的接口时序如下:

 

img8

User Interface数据发送时序

 

 

img9

User Interface数据接收时序

 

 

为了与上述时序接口,Speedgoat已经提供了图中的User Application模块。

img10

数据发送和接收的接口模块

 

 

用户只需要从Transmit Frame模块的data端口输入需要发送的数据,再通过valid端口控制发送的频率以及与其他FPGA板卡之间的数据同步即可;从Received Frame模块的frame_data端口输出接收的数据即可。此外Speedgoat还提供了数据的组包和分包模块,以及CRC监测模块。

 

img11

数据的组包和分包模块,以及CRC监测模块

 

 

总之,Speedgoat既支持Aurora 8b/10b也支持Aurora 64b/66b,支持的速率范围从2Gbits/s12.5Gbits/s。用户只需要关心本身应用的开发,对于Aurora协议的IP核的集成,软件接口Speedgoat都已经为用户开发好了。

 

下面测试Speedgoat FPGA板卡的Aurora数据传输延迟,条件如下:

Ø       测试方式为Loopback测试;

Ø       测试板卡IO333-SFP,采用的FPGA型号为Xilinx Kintex7-325T

Ø       采用的Aurora 64b/66b (64-bit beat) 协议,速率为3.125Gbits/s

Ø       FPGA的时钟频率为100MHz

 

测试结果如下图所示,传输延时约为158 × 10ns = 1.58 μsLoopback的延时约为311 × 10ns = 3.11 μs。图中左边为传输延时的波形显示,可知传输延时非常稳定,波动非常小。

 

如果将传输速率提升至最快的12.5Gbits/s,则传输延时可降至0.4 μs左右。

img12

 

2020年8月6日 15:15
浏览量:0