基于安路PCIe SGDMA 高速数据传输方案-Anlogic-安路社区-FPGA CPLD-ChipDebug

基于安路PCIe SGDMA 高速数据传输方案

安路科技PH1A系列FPGA定位高性价比逻辑器件,针对高带宽应用场景,能够在保持低功耗的前提下,提供同类最佳的收发器和信号处理功能。

PH1A系列FPGA集成的第三代PCIe硬核控制器,带宽最高可达8Gbit/s、可通过TD软件的IP GEN配置。该核架构广泛应用于通信设备、网络接口卡、存储系统等领域,具有高性能、低成本等特点。

PCIe SGDMA演示方案

安路科技提供基于PCIe 硬核控制器开发的SGDMA  IP。SGDMA可作为一个PCIe2AXI4系列接口的桥或者一个高性能DMA使用。

「SGDMA支持属性」

64bit和128bit(PH1A90、PH1A180)数据位宽

32bit或64bit源地址、目的地址和描述符地址

目前支持单通道C2H以及单通道H2C

后续版本将支持N通道C2H以及N通道H2C

可选的单通道AXI4-Stream接口或AXI4-MM(memory mapped)接口

支持AXI4-Lite Master读写用户和DMA寄存器

支持AXI4-Lite Slave读DMA状态寄存器

支持Scatter Gather描述符列表和环形描述符列表,列表大小无限制

MSI-X中断 (后续支持)

Bypass descriptor 通道 (后续支持)

20231120101130921-image

图1.DMA框图

「SGDMA工作流程」

SGDMA工作分为两个流程,H2C(Host to Card)和C2H(Card to Host)。

DMA C2H 方向传输摘要:

20231120101213303-image

图2.C2H传输框图

首先,应用程序启动C2H传输,并设置传输长度和用于存储数据的缓冲器位置。然后,驱动程序会基于传输长度创建描述符,并将信息写入寄存器控制传输启动。DMA开始启动描述符提取请求,之后DMA接收到描述符,判断是否为最后一个描述符,如果是则停止,否则继续发送描述符提取请求。DMA会根据接收的描述符向(板卡)源地址发送读请求,读请求会持续到没有剩余描述符,并从板卡的AXI4(MM或者Stream)接口上接收数据,向主机发送数据,数据发送完毕以后向主机发送中断。

驱动程序将执行中断流程,并读取完成描述符计数寄存器,与生成的描述符数量对比。随后将控制权随传输大小一起返还给应用程序。应用程序从分配的缓冲器读取传输数据,并将其写入文件。文件写入完成后,退出应用程序。

H2C的流程与C2H的类似,主要的不同点为C2H将板卡的数据发送给主机,H2C接收主机的数据。图2.C2H传输框图

首先,应用程序启动C2H传输,并设置传输长度和用于存储数据的缓冲器位置。然后,驱动程序会基于传输长度创建描述符,并将信息写入寄存器控制传输启动。DMA开始启动描述符提取请求,之后DMA接收到描述符,判断是否为最后一个描述符,如果是则停止,否则继续发送描述符提取请求。DMA会根据接收的描述符向(板卡)源地址发送读请求,读请求会持续到没有剩余描述符,并从板卡的AXI4(MM或者Stream)接口上接收数据,向主机发送数据,数据发送完毕以后向主机发送中断。

驱动程序将执行中断流程,并读取完成描述符计数寄存器,与生成的描述符数量对比。随后将控制权随传输大小一起返还给应用程序。应用程序从分配的缓冲器读取传输数据,并将其写入文件。文件写入完成后,退出应用程序。

H2C的流程与C2H的类似,主要的不同点为C2H将板卡的数据发送给主机,H2C接收主机的数据。

20231120101258332-image

上海安路科技于2020年12月底正式成为PCI-SIG协会新会员。加入PCI-SIG协会后,安路科技将获得更为广泛的服务、了解最新的PCI技术动态,同时能参与PCI技术法规研讨会、参与规范修订和补充建议、PCI技术支持、获得Vendor ID分配等系列服务与支持,这些都将助力安路研发技术和技术创新的稳步提升与发展。

请登录后发表评论

    没有回复内容