基于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操作系统。用户应用程序访问采集缓冲区可以获得采集数据,或者把回放数据传输到回放缓冲区进行回放。