目录

1 说明 4

2 设备连接 7

3 VIVADO FPGA工程 8

4 调试说明 9

图 1‑1 资料目录 4

图 1‑2 VIVADO工程目录结构 5

图 1‑3 VS软件工程目录 5

图 1‑4 CXP HOST PCIe Block Design 5

图 1‑5 VS工程 6

图 1‑6 CXP camera 6

图 1‑7 KC705搭载Hello-FPGA CoaXPress 2.0 FMC子卡 7

图 2‑1 KC705 开发板 8

图 3‑1 VIVADO工程 8

图 3‑2 XDMA控制器 9

图 3‑3 CXP IP实例化 9

图 4‑1 连接相机并完成视频拍摄与显示 10

表 1‑1 LINK速率配置 7

说明

本手册针对Helllo-FPGA的CoaXPress 2.0 HOST FPGA IP Core PCIe demo工程,用于演示IP的使用方法、配置流程,使用上位机采集到相机真实的图像并在界面上完成显示。通过该demo提供了1个较为完整的系统级演示,方便用户更加直观的评估IP

Demo 特点功能如下:

  • Demo 分为FPGA工程与Windows 驱动及其应用程序,利用XDMA搭建PCIe接口,并利用PCIe接口及其驱动,实现对CoaXPress HOST IP的配置、数据读取。
  • 当前代码适用于Xilinx KC705 评估板,其它评估板请联系我们咨询;
  • 使用KC705 FMC HPC接口,搭载Hello-FPGA 4 channel receiver 子卡;
  • 使用EoSens 2.0CXP2 系列相机进行演示;
  • 使用VIVADO 2017.3(我们测试了2019.1和2020.2,PCIe IP使用有问题,暂时仅支持2017.3)、Windows10台式计算机;
  • VIVADO 工程使用block design形式提供;
  • LINK配置为1个相机,4个LINK,设备发现阶段使用0x38配置,即3.125Gbps,设备采集阶段使用0x48配置,即6.125Gbp,如果相机不支持对应速率,请修改代码后进行测试,请注意KC705不支持10Gbps和12.5Gbps速率,KU/ZU等支持;
  • 使用vs2022或者其它版本调试windows驱动与应用程序;
  • IP使用网表形式提供,参数无法修改,如需不同LINK配置,请联系Info@hello-fpga ;
  • 其它相关IP使用加密方式提供;

文件列表:

顶层文件夹

cxp_host_pcie 示例FPGA工程

IPs 工程依赖的IP文件

Kc705评估板手册

user manual

图 ‑1 资料目录

下图展示了cxp_host_pcie内部的目录结构,直接使用VIVADO 2017.3打开 *.xpr工程文件即可。

图 ‑2 VIVADO工程目录结构

图 ‑3 VS软件工程目录

利用XDMA Subsystem 构建PCIe 及其DMA控制器,MIG DDR作为板上缓存,用于缓存高速图像数据并完成DMA操作,AXI Interconnect作为系统总线树,CoaXPress IP以及MIG等均挂载在总线树上,方便XDMA灵活方位其内存完成寄存器读写、DMA读写操作。

图 ‑4 CXP HOST PCIe Block Design

VS工程采用C++面向过程驱动、C#面向对象驱动以及C# 应用程序组成,C++驱动负责具体功能实现,C# 应用程序最终通过C# 驱动调用C++ API实现相机的连接、配置、图像读取、图像显示等功能,用于用户更加直观的评估IP。

图 ‑5 VS工程

图 ‑6 CXP camera

图 ‑7 KC705搭载Hello-FPGA CoaXPress 2.0 FMC子卡

表 ‑1 LINK速率配置

速率配置

Downlink速率

最大速率

0x28

1.250 Gbps

1.000 Gbps

0x30

2.500 Gbps

2.000 Gbps

0x38

3.125 Gbps

2.500 Gbps

0x40

5.000 Gbps

4.000 Gbps

0x48

6.250 Gbps

5.000 Gbps

0x50 (1)

10.000 Gbps

8.000 Gbps

0x58 (1)

12.500 Gbps

10.000 Gbp

设备连接

设备包含:

  1. Camera,camera 请按照厂商要求连接电源,FMC子板提供了对应POE功能,但是KC705开发板供电能力不足,因此依然需要连接相机电源;
  2. Camera 与CXP HOST FMC子卡连接,请注意LINK 序号一一对应,使用CXP同轴线缆完成连接;
  3. Demo使用JTAG启动模式,PCIe lane size对应选择X8模式;
  4. Demo需要将KC705插入台式计算机的PCIe插槽内,注意KC705不是标准3U板卡,需要注意其机械尺寸,使用合适的机箱;

图 ‑1 KC705 开发板

VIVADO FPGA工程

使用VIVADO 2020.2 打开。

图 ‑1 VIVADO工程

如下图所示,系统使用Xilinx XDMA控制器作为PCIe与DMA核心,使用PCIe Gen2x8配置。

图 ‑2 XDMA控制器

图 ‑3 CXP IP实例化

调试说明

连接好硬件后,烧录bit文件,安装PCIe内核驱动,然后重启计算机,打开VS工程重新编译,运行basic test C#应用程序,然后即可看到相机连接成功、拍摄图像正常。Demo软件使用源码方式提供,用户可以任意修改参数完成调试。

图 ‑1 连接相机并完成视频拍摄与显示

Hello-FPGA CoaXPress 2.0 FPGA HOST IP Core PCIe Demo User Manual的更多相关文章

  1. 基于FPGA的SATA3.0主机控制器IP

    SATA3.0 Host Controller IP SATA3.0 Host IP不仅实现了SATA协议的PHY(物理层).Link(链路层)和TRN(传输层),并且实现了CMD(命令层)和APP( ...

  2. [原创]免固件开发USB2.0 FPGA方案 速度40Mbyte/s+

    USB 2.0接口,实测速度40Mbyte/s: 一个接口实现两种功能(USB2.0+FPGA配置): 免固件开发: 完整的FPGA代码,即拿即用: FPGA逻辑工程师开发USB接口福音: 平台可移植 ...

  3. dubbo could not get local host ip address will use 127.0.0.1 instead 异常处理

    dubbo could not get local host ip address will use 127.0.0.1 instead 查看hostname localhost:spring wls ...

  4. Lattice系列FPGA入门相关0(Lattice与Altera、Xilinx对比及入门)

    需求说明:Lattice系统FPGA入门 内容       :Lattice与Altera.Xilinx对比 来自       :时间的诗 1.Lattice与Altera.Xilinx对比 latt ...

  5. CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评

    CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...

  6. WSO2 API Manager中host Ip 不正确的问题解决方法

    问题: 根据官方的Quick start的教程,部署完AM后,添加的API的host Ip不正确,为localhost或者服务器上的其他虚拟ip. 安装版本:       WSO2AM 2.6.0 环 ...

  7. HOSt ip is not allowed to connect to this MySql server, MYSQL添加远程用户或允许远程访问三种方法

    HOSt ip is not allowed to connect to this MySql server 报错:1130-host ... is not allowed to connect to ...

  8. 【FPGA篇章二】FPGA开发流程:详述每一环节的物理含义和实现目标

    欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照下图进行,有些步骤可能由于其在当前项目中的条件 ...

  9. cannot send list of active checks to "127.0.0.1": host [Zabbix server] not monitored

    查看错误日志:  /etc/log/zabbix/zabbix_server.log 3148:20210404:233938.363 cannot send list of active check ...

  10. 虚拟机中MySQL连接问题:Lost connection to MySQL server at 'reading initial communication packet, system error: 0 以及 host is not allowed to connect mysql

    环境:在VirtualBox中安装了Ubuntu虚拟机,网络使用了NAT模式,开启了端口转发. 局域网内其他计算机访问虚拟机中的MySQL Server出现两个问题: Lost connection ...

随机推荐

  1. Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!

    在这篇文章中,我将手把手地教你如何从零开始部署一个使用Django框架的Python服务.无论你是一个刚开始接触开发的新手,还是一个有经验的开发者想要快速了解Django,这篇教程都会为你提供一条清晰 ...

  2. Unity中的RegisterPlugins:深入解析与实用案例

    Unity中的RegisterPlugins:深入解析与实用案例 在Unity游戏开发中,我们经常需要使用第三方插件来实现一些特定的功能.为了让这些插件能够在Unity中正常工作,我们需要对它们进行注 ...

  3. FFmpeg+SDL实时解码和渲染H264视频流

    前言 之前实现了Android手机摄像头数据的TCP实时传输,今天接着聊聊,如何在PC端把接收到的H264视频流实时解码并渲染出来.这次使用的语言是C++,框架有FFmpeg和SDL2. 解码 解码部 ...

  4. MD文本编辑工具推荐-matktext

    最开始是用vscode编辑markdown文档,左边写右边看效果的实时渲染模式,对于markdown编辑来说是多余的,多是文字类的内容,配以插图,复杂表格和脑图则更少.之后接触到Typora,所打即所 ...

  5. ubuntu发行版内核源码下载

    Ubuntu 发行版linux内核在哪里? 内核安装包:http://archive.ubuntu.com/ubuntu/pool/main/l/linux/ 内核源码:https://git.lau ...

  6. JPA自动生成POJO

    原文地址 JPA自动生成POJO 通过表生成POJO类 这篇文章不涉及idea配置数据源教程,该文章使用前提是用户已配置好idea数据源 修改自带的生成类 import com.intellij.da ...

  7. Linux 上 KVM 虚拟机网络问题

    通过控制台连接虚拟机,ping自己的ip,ping宿主机的ip,ping同网段的ip 1. 自己的ip也不通,先检查网络配置 2. 宿主机的ip不通,就要确认下虚拟机网卡的类型 对于macvlan网卡 ...

  8. Centos 8 时钟同步

    Centos 8 时钟同步使用的是 chrony 参考:https://www.cnblogs.com/my-show-time/p/14658895.html $ rpm -qa | grep ch ...

  9. 最全面的JAVA多线程知识总结

    ​ 背景: 2023年经营惨淡,经历了裁员就业跳槽再就业,在找工作过程中对于知识的梳理和总结,本文总结JAVA多线程. 应用场景: 需要同时执行多个任务或处理大量并发请求时, 目前常用的场景有: We ...

  10. webpack配置文件的分离

    配置文件的分离 目的就是让开发环境, 生产环境,测试环境的配置分隔开 步骤一: 在项目根目录下创建一个 build 文件夹专门用来存放配置文件,再创建三个js文件, base.config.js 文件 ...