基于PCIe DMA的多通道数据采集和回放IP

基于PCIe DMA的多通道数据采集和回放IP

在主机端PCIe驱动的控制和调度下,数据采集与回放IP Core可以同时完成对多个通道数据的采集以及回放驱动工作,既可采用行缓存机制(无需帧缓存,无需DDR),也可采用帧缓存机制(需要DDR),使用PCIe接口和主机进行数据的传输,设备端内嵌多通道DMA引擎完成多个通道数据的H2C(Host to Card)和C2H(Card to Host)传输,支持MSI中断机制,完全释放主机/CPU/GPU采集&回放的密集任务量,特别适用于高速AD/DA采集和回放、多通道视频采集和显示等的应用。

内核特性:

  1. 多种PCIe驱动:
    a) 兼容视频设备内核驱动V4L2,支持MMAP,USERPTR和DMABUF
    b) Xilinx XDMA驱动,Windows和Linux版本
    c) 自研驱动,Windows和Linux版本
  2. 每个通道的采集和回放DMA地址队列深度大于32
  3. 多通道DMA引擎,支持连续式DMA(CDMA)和链式DMA(SGDMA)
  4. 支持MSI中断机制,传统的寄存器读写
  5. 支持H2C(Host to Card)和C2H(Card to Host)的全双工数据传输
  6. 自适应PCIe链路速率:PCIe 1.0,PCIe 2.0,PCIe 3.0和PCIe 4.0和链路宽度:PCIe x1,PCIe x2,PCIe x4,PCIe x8,PCIe x16
  7. 支持Xilinx器件:Spartan-6,Virtex-5,Virtex-6,Artix-7,Kintex-7,Virtex-7,Kintex Ultrascale,Virtex Ultrascale

对外接口:

  1. 多个标准的FIFO接口或AXI4-Stream数据总线
  2. 扩展的RAM接口,支持BAR1映射空间
    在这里插入图片描述

性能指标:

  1. PCIe 2.0 x4:DMA Read(C2H)速率大于1750MB/s,DMA Write(H2C)速率大于1710MB/s
  2. PCIe 2.0 x8:DMA Read(C2H)速率大于3490MB/s,DMA Write(H2C)速率大于3400MB/s
  3. PCIe 3.0 x8:DMA Read(C2H)速率大于6850MB/s,DMA Write(H2C)速率大于6800MB/s
  4. 支持8路1080p视频的采集和显示
  5. 支持8路4K视频的采集和显示

资源使用:
1通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):

  1. LUTs:6265,FFs:14289,BRAM:80,PCIe:1

8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x4):

  1. LUTs:14803,FFs:20712,BRAM:75,PCIe:1

8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x4):

  1. LUTs:19055,FFs:27529,BRAM:94,PCIe:1

8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x8):

  1. LUTs:20235,FFs:29327,BRAM:55,PCIe:1

8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x8):

  1. LUTs:26432,FFs:38087,BRAM:55,PCIe:1

8通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):

  1. LUTs:18747,FFs:36805,BRAM:78,PCIe:1

8通道SGDMA资源使用(XCKU060为例,PCIe 3.0 x8):

  1. LUTs:25886,FFs:51406,BRAM:78,PCIe:1

可交付资料:

  1. 详细的用户手册
  2. Design File:Post-synthesis EDIF netlist or RTL Source
  3. Timing and layout constraints,Test or Design Example Project
  4. 技术支持:邮件,电话,现场,培训服务

联系方式:
Email:[email protected]

数据采集与回放IP Block Diagram
在这里插入图片描述
数据采集与回放系统结构框图
在这里插入图片描述
系统结构描述:
数据源模块产生采集数据,以FIFO接口输出到S2MM模块
S2MM模块负责把采集到的数据传输到DMA模块。
DMA模块负责把采集数据搬移到用户的采集缓冲区,或把用户回放缓冲区的数据搬移到MM2S模块。
MM2S模块负责数据回放输出。
数据校验模块接收MM2S输出的数据,进行回放数据的接收和校验。
Register Files模块用来配置以及控制S2MM和M2SS模块,并且返回这些模块的状态。
S2MM和M2SS的中断请求发送到Interrupt模块,发出MSI中断。
PCIe Gen3 Integrated Endpoint Block实现PCIe协议规范,支持Gen 3,8-lane endpoint配置
PCIe驱动采用WDF框架来开发,支持win7/win10操作系统,或者Linux操作系统。用户应用程序访问采集缓冲区可以获得采集数据,或者把回放数据传输到回放缓冲区进行回放。

猜你喜欢

转载自blog.csdn.net/weixin_42144870/article/details/110130769