【世说芯品】基于安路PCIe SGDMA 高速数据传输方案

描述

FPGA

安路科技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 通道 (后续支持)

FPGA

图1.DMA框图


 


 

 

SGDMA工作流程

 

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


 

DMA C2H 方向传输摘要:

FPGA

图2.C2H传输框图

 

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

 

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

 

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

FPGA

图3.H2C传输框图

 

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


 

原文转自安路科技官微

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分