基于Camera Link和PCIe DMA的多通道视频采集和显示系统

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

内核特性:

  1. 多种PCIe驱动:

a)       Xilinx XDMA驱动,Windows和Linux版本

b)       自研驱动,Windows和Linux版本

  1. 每个通道的采集和回放DMA地址队列深度大于32
  2. 多通道DMA引擎,支持连续式DMA(CDMA)和链式DMA(SGDMA)
  3. 支持MSI中断机制,传统的寄存器读写
  4. 支持H2C(Host to Card)和C2H(Card to Host)的全双工数据传输
  5. 支持Camera Link接口的相机和显示器
  6. 支持DDR3-1600和DDR4-2400接口的内存颗粒或内存条
  7. 自适应PCIe链路速率:PCIe 1.0,PCIe 2.0,PCIe 3.0和PCIe 4.0和宽度:PCIe x1,PCIe x2,PCIe x4,PCIe x8,PCIe x16
  8. 支持Xilinx器件:Spartan-6,Virtex-5,Virtex-6,Artix-7,Kintex-7,Virtex-7,Kintex Ultrascale,Virtex Ultrascale

对外接口:

  1. PCIe接口
  2. DDR3/DDR4接口
  3. Camera Link接口

性能指标:

  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. 64bit DDR3-1600,72bit DDR3-1600,64bit DDR4-2400,72bit DDR4-2400
  5. Camera Link:base,medium,full

资源使用:

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:neteasy163z@163.com

视频采集与显示系统结构框图

系统结构描述:

Camera Link RX模块负责从相机采集视频,以AXIS接口输出到S2MM模块。

S2MM模块负责把采集到的视频写入预设的DDR4缓存区。

SGDMA模块负责把DDR4缓冲区的数据搬移到用户的采集缓冲区,或把用户回放缓冲区的数据搬移到DDR4缓冲区。

MM2S模块负责读取预设的DDR4缓存区的数据显示输出。

Camera Link TX模块接收MM2S输出的数据,显示到显示器。

Register Files模块用来配置以及控制S2MM和M2SS模块,并且返回这些模块的状态。

S2MM和M2SS的中断请求发送到Interrupt模块,发出MSI中断。

DDR4控制器完成对4GB-DDR4的读写访问,支持2400MHz主频,72-bit接口宽度,ECC。

PCIe Gen3 Integrated Endpoint Block实现PCIe协议规范,支持Gen 3,8-lane endpoint配置。

PCIe驱动采用WDF框架来开发,支持win7/win10操作系统,或者Linux操作系统。用户应用程序访问采集缓冲区可以获得采集数据,或者把回放数据传输到回放缓冲区进行回放。

基于Camera Link和PCIe DMA的多通道视频采集和显示系统的更多相关文章

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

    基于PCIe DMA的多通道数据采集和回放IP 在主机端PCIe驱动的控制和调度下,数据采集与回放IP Core可以同时完成对多个通道数据的采集以及回放驱动工作,既可采用行缓存机制(无需帧缓存,无需D ...

  2. 基于JESD204B和PCIe DMA的多通道数据采集和回放系统

    基于JESD204B和PCIe DMA的多通道数据采集和回放系统 在主机端PCIe驱动的控制和调度下,数据采集与回放系统可以同时完成对多个JESD204B接口AD数据的采集以及JESD204B接口DA ...

  3. 基于PCIe的多路视频采集与显示子系统

    基于PCIe的多路视频采集与显示子系统 1        概述 视频采集与显示子系统可以实时采集多路视频信号,并存储到视频采集队列中,借助高效的硬实时视频帧出入队列管理和PCIe C2H DMA引擎, ...

  4. dsp下基于双循环缓冲队列的视频采集和显示记录

    对最近在设计的视频采集和显示缓冲机制做一个记录,以便以后使用. 视频采集和显示缓冲机制,其实是参考了Linux下v4L2的驱动机制,其采用输入多缓冲frame,输出多缓冲的切换机制.简单的就是ping ...

  5. 图像采集系统的Camera Link标准接口设计

    高速数据采集系统可对相机采集得到的实时图像进行传输.实时处理,同时实现视频采集卡和计算机之间的通信.系统连接相机的接口用的是Camera Link接口,通过Camera Link接口把实时图像高速传输 ...

  6. 基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2

    基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2 Video Capture&Display IP for V4L2 在主机端视频设备内核驱动V4L2 的控制和调度下,Vi ...

  7. 135-基于TMS320C6678、FPGA XC5VSX95T的2路Full模式Camera Link输入双目视觉处理平台

    基于TMS320C6678.FPGA XC5VSX95T的2路Full模式Camera Link输入双目视觉处理平台 一.板卡概述 本板卡由我公司自主研发,基于CPCI架构,符合CPCI2.0标准,采 ...

  8. 134-基于TMS320C6678、FPGA XC5VSX95T的一路Full模式Camera Link图像理平台

    基于TMS320C6678.FPGA XC5VSX95T的一路Full模式Camera Link图像理平台 一.板卡概述 该板卡采用TI公司新一代DSP TMS320C6678,结合FPGA,型号为X ...

  9. PCIE DMA实现

    基于Spartan-6, Virtex-5/Virtex-6/Virtex-7/7 Series FPGA PCI Express Block Endpoint模块设计PCI Express Endp ...

随机推荐

  1. java学习第七天xml.day18

    反射 在java中,反射主要是指程序可以访问.检测和修改它本身状态或行为的一种能力. 获取字节码的方式: 使用反射获取构造器 : 内省

  2. Blazor VS Vue

    Vue--​​两分钟概述 Vue 是一个JavaScript 框架. 在其最简单的模式中,您可以简单地将核心 Vue 脚本包含在您的应用程序中,然后开始构建您的组件. 除此之外,对于更复杂的应用程序, ...

  3. Python自动化之常用模块学习

    自动化常用模块 urllib和request模块学习笔记 '获取页面,UI自动化校验页面展示作用': #-*- coding : utf-8 -*-import urllib.requestimpor ...

  4. 你言我语 By Twikoo

    主要做了两件事: 一是前端魔改 二是首页调用(替代原 bber) 注明:以下样式.功能代码基于 Twikoo v1.6.4 前端魔改 "管理面板"按钮同步隐藏输入框.先到twiko ...

  5. 【Java】学习路径54-使用UDP协议开发发送、接收端

    UDP协议,简单的说就是,发信息. 不管对方有没有收到. 发送端: import java.net.*; public class UDP_Send { public static void main ...

  6. 第六十九篇:vue项目的运行过程

    好家伙, 1.vue的目录结构分析 来看看项目的目录 (粗略的大概的解释) 2.vue项目的运行流程 在工程化项目中,vue要做的事情很单纯:通过main.js把App.vue渲染到index.htm ...

  7. KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(同一主机)

    案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...

  8. Hybrid app本地开发如何调用JSBridge

    前天同事问我公司内部的小程序怎么对接的,我回忆了一下,简单记录了一下前端同学需要注意的点. 背后还有小程序架构.网络策略等等.当时恰逢小程序架构调整,(老架构的时候我就发现了有一个问题点可以优化,但是 ...

  9. Linux零拷贝原理

    Linux零拷贝原理 前言 磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝.直接 I/O.异步 I/O 等等,这些优化的目的就是为了提 ...

  10. losf命令详解

    一.概念:lsof全名list opened files,也就是列举系统中已经被打开的文件,进程打开的端口(TCP.UDP).linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至socke ...