基于Camera Link和PCIe DMA的多通道视频采集和显示系统
基于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采集&回放的密集任务量,特别适用于高速视频采集和显示的应用。
内核特性:
- 多种PCIe驱动:
a) Xilinx XDMA驱动,Windows和Linux版本
b) 自研驱动,Windows和Linux版本
- 每个通道的采集和回放DMA地址队列深度大于32
- 多通道DMA引擎,支持连续式DMA(CDMA)和链式DMA(SGDMA)
- 支持MSI中断机制,传统的寄存器读写
- 支持H2C(Host to Card)和C2H(Card to Host)的全双工数据传输
- 支持Camera Link接口的相机和显示器
- 支持DDR3-1600和DDR4-2400接口的内存颗粒或内存条
- 自适应PCIe链路速率:PCIe 1.0,PCIe 2.0,PCIe 3.0和PCIe 4.0和宽度:PCIe x1,PCIe x2,PCIe x4,PCIe x8,PCIe x16
- 支持Xilinx器件:Spartan-6,Virtex-5,Virtex-6,Artix-7,Kintex-7,Virtex-7,Kintex Ultrascale,Virtex Ultrascale
对外接口:
- PCIe接口
- DDR3/DDR4接口
- Camera Link接口
性能指标:
- PCIe 2.0 x4:DMA Read(C2H)速率大于1750MB/s,DMA Write(H2C)速率大于1710MB/s
- PCIe 2.0 x8:DMA Read(C2H)速率大于3490MB/s,DMA Write(H2C)速率大于3400MB/s
- PCIe 3.0 x8:DMA Read(C2H)速率大于6850MB/s,DMA Write(H2C)速率大于6800MB/s
- 64bit DDR3-1600,72bit DDR3-1600,64bit DDR4-2400,72bit DDR4-2400
- Camera Link:base,medium,full
资源使用:
1通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):
- LUTs:6265,FFs:14289,BRAM:80,PCIe:1
8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x4):
- LUTs:14803,FFs:20712,BRAM:75,PCIe:1
8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x4):
- LUTs:19055,FFs:27529,BRAM:94,PCIe:1
8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x8):
- LUTs:20235,FFs:29327,BRAM:55,PCIe:1
8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x8):
- LUTs:26432,FFs:38087,BRAM:55,PCIe:1
8通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):
- LUTs:18747,FFs:36805,BRAM:78,PCIe:1
8通道SGDMA资源使用(XCKU060为例,PCIe 3.0 x8):
- LUTs:25886,FFs:51406,BRAM:78,PCIe:1
可交付资料:
- 详细的用户手册
- Design File:Post-synthesis EDIF netlist or RTL Source
- Timing and layout constraints,Test or Design Example Project
- 技术支持:邮件,电话,现场,培训服务
联系方式:
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的多通道视频采集和显示系统的更多相关文章
- 基于PCIe DMA的多通道数据采集和回放IP
基于PCIe DMA的多通道数据采集和回放IP 在主机端PCIe驱动的控制和调度下,数据采集与回放IP Core可以同时完成对多个通道数据的采集以及回放驱动工作,既可采用行缓存机制(无需帧缓存,无需D ...
- 基于JESD204B和PCIe DMA的多通道数据采集和回放系统
基于JESD204B和PCIe DMA的多通道数据采集和回放系统 在主机端PCIe驱动的控制和调度下,数据采集与回放系统可以同时完成对多个JESD204B接口AD数据的采集以及JESD204B接口DA ...
- 基于PCIe的多路视频采集与显示子系统
基于PCIe的多路视频采集与显示子系统 1 概述 视频采集与显示子系统可以实时采集多路视频信号,并存储到视频采集队列中,借助高效的硬实时视频帧出入队列管理和PCIe C2H DMA引擎, ...
- dsp下基于双循环缓冲队列的视频采集和显示记录
对最近在设计的视频采集和显示缓冲机制做一个记录,以便以后使用. 视频采集和显示缓冲机制,其实是参考了Linux下v4L2的驱动机制,其采用输入多缓冲frame,输出多缓冲的切换机制.简单的就是ping ...
- 图像采集系统的Camera Link标准接口设计
高速数据采集系统可对相机采集得到的实时图像进行传输.实时处理,同时实现视频采集卡和计算机之间的通信.系统连接相机的接口用的是Camera Link接口,通过Camera Link接口把实时图像高速传输 ...
- 基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2
基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2 Video Capture&Display IP for V4L2 在主机端视频设备内核驱动V4L2 的控制和调度下,Vi ...
- 135-基于TMS320C6678、FPGA XC5VSX95T的2路Full模式Camera Link输入双目视觉处理平台
基于TMS320C6678.FPGA XC5VSX95T的2路Full模式Camera Link输入双目视觉处理平台 一.板卡概述 本板卡由我公司自主研发,基于CPCI架构,符合CPCI2.0标准,采 ...
- 134-基于TMS320C6678、FPGA XC5VSX95T的一路Full模式Camera Link图像理平台
基于TMS320C6678.FPGA XC5VSX95T的一路Full模式Camera Link图像理平台 一.板卡概述 该板卡采用TI公司新一代DSP TMS320C6678,结合FPGA,型号为X ...
- PCIE DMA实现
基于Spartan-6, Virtex-5/Virtex-6/Virtex-7/7 Series FPGA PCI Express Block Endpoint模块设计PCI Express Endp ...
随机推荐
- Redis安装及常用配置
Redis安装说明 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包.因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本 ...
- 【JDBC】学习路径8-连接池
为什么是连接池? 第一.受我们硬件资源的限制,我们的一些资源使用时有限制的比如我们的数据库 连接数和线程数.为了摆脱这些限制,我们就使用了池化技术来将这些资源限制在一定范围内. 第二.我们创建和销毁这 ...
- K8S部署超过节点的Pod
在阿里云上部署了一个K8S集群,一master, 两node: 然后执行 kubectl create -f tomcat.yml yaml如下: apiVersion: apps/v1 kind: ...
- Go语言学习的坑爹历程
鄙人暑期实习,需要用Go语言进行编程 在go语言中,结构体的定义只支持变量的声明,成员函数是采用"接口方法"来实现的 留一个成员定义的模板在此 package main impor ...
- C#非托管泄漏中HEAP_ENTRY的Size对不上是怎么回事?
一:背景 1. 讲故事 前段时间有位朋友在分析他的非托管泄漏时,发现NT堆的_HEAP_ENTRY 的 Size 和 !heap 命令中的 Size 对不上,来咨询是怎么回事? 比如下面这段输出: 0 ...
- Netty 学习(四):ChannelHandler 的事件传播和生命周期
Netty 学习(四):ChannelHandler 的事件传播和生命周期 作者: Grey 原文地址: 博客园:Netty 学习(四):ChannelHandler 的事件传播和生命周期 CSDN: ...
- filebeat读取超链接日志 symlinks
filebeat读取超链接日志文件,还需要增加配置上额外的参数:symlinks: true 符号链接选项允许Filebeat除常规文件外,可以收集符号链接.收集符号链接时,即使报告了符号链接的路径, ...
- Systemd 进程管理教程
systemd 介绍 systemd是目前Linux系统上主要的系统守护进程管理工具,由于init一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面init也仅仅是执行启动脚本,并不能对服务本 ...
- haproxy + keeplived
两台主机: 192.168.2.163 192.168.2.165 # yum安装haproxy yum install haproxy # cat /etc/haproxy/haproxy.cfg ...
- Jenkins和Gitlab CI/CD自动更新k8s中pod使用的镜像说明
Jenkins 使用Jenkins的话,完成的工作主要有如下步骤: 1.从Gogs或Gitlab仓库上拉取代码 2.使用Maven编译代码,打包成jar文件 3.根据jar文件使用相对应的Docker ...