支持高带宽数据采集卡的XDMA优化之路

背景

3月底接了个私活,开发一个基于XDMA的PCIE板卡驱动,要支持245.76M采样率、8天线、32bit采样精度的采集卡,PCIE插槽是gen 3.0 x16,主机是x86服务器(至强处理器,PCIE5.0,DDR5.0 性能杠杠的)。

经过近5个月的业余时间开发,总算在上周调通了接收,发送以后再说。

系统各节点带宽配置

采集数据的带宽要求是32bit x 8天线 x 245.76M / 8bit = 7864.32MB/s ≈ 8GB/s
PCIE3.0的理论速度是16GB/s,扣除编码开销也高达15.754GB/s,不是瓶颈。
PCIE转接板上的DDR4.0-2400M,理论带宽19.2GB/s,因为DDR IP未优化因此实际带宽13GB/s左右,曾经因参数问题时钟只有1600当过瓶颈。
x86的DDR5.0时钟4800M,位宽128bit,肯定不是瓶颈。

系统框架

接收框架如下图:

接收框架
XDMA支持6个BAR空间,但参考驱动只定义了user、config、bypass这3个BAR,其中config BAR是给XDMA通道使用,bypass BAR用于将XDMA当作纯PCIE IP核使用,

xilliix pcie dma 驱动 (基于 xilnx xdma ip核 4.0 的WDF驱动) --- # XDMA Windows Driver This project is Xilinx's sample Windows driver for 'DMA/Bridge Subsystem for PCI Express v4.0' (XDMA) IP. *Please note that this driver and associated software are supplied to give a basic generic reference implementation only. Customers may have specific use-cases and/or requirements for which this driver is not suitable.* ### Dependencies * Target machine running Windows 7 or Windows 10 * Development machine running Windows 7 (or later) * Visual Studio 2015 (or later) installed on development machine * Windows Driver Kit (WDK) version 1703 (or later) installed on development machine ## Directory Structure ``` / |__ build/ - Generated directory containing build output binaries. |__ exe/ - Contains sample client application source code. | |__ simple_dma/ - Sample code for AXI-MM configured XDMA IP. | |__ streaming_dma/ - Sample code for AXI-ST configured XDMA IP. | |__ user_events/ - Sample code for access to user event interrupts. | |__ xdma_info/ - Utility application which prints out the XDMA core ip | | configuration. | |__ xdma_rw/ - Utility for reading/writing to/from xdma device nodes such | | as control, user, bypass, h2c_0, c2h_0 etc. | |__ xdma_test/ - Basic test application which performs H2C/C2H transfers on | all present channels. |__ inc/ - Contains public API header file for XDMA driver. |__ libxdma/ - Static kernel library for XDMA IP. |__ sys/ - Reference driver source code which uses libxdma |__ README.md - This file. |__ XDMA.sln - Visual Studio Solution. ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值