Hello-FPGA CoaXPress 2.0 FPGA HOST IP Core Demo User Manual
目录
Hello-FPGA CoaXPress 2.0 Host FPGA IP Core Demo 4
Hello-FPGA CoaXPress 2.0 Host FPGA IP Core Demo
说明
本手册针对Helllo-FPGA的CoaXPress 2.0 HOST FPGA IP Core demo工程,用于演示IP的使用方法、配置流程。
Demo 特点功能如下:
- 代码适用于ZCU102 评估板;
- 使用VIVADO 2019.1 及其SDK;
- VIVADO 工程使用block design形式提供;
- LINK配置为1个相机,4个LINK,设备发现阶段使用0x38配置,即3.125Gbps,设备采集阶段使用0x58配置,即12.5Gbps,如果相机不支持对应速率,请修改代码后进行测试;
- 使用MicroBlaze作为CPU控制器,软件代码使用SDK进行开发、调试;
- IP使用网表形式提供,参数无法修改,如需不同LINK配置,请联系Info@hello-fpga 或其它Hello-FPGA工程师
文件列表:
ZCU102 顶层文件夹
cxp_host 示例FPGA及其软件驱动
IPs 工程依赖的IP文件,除CXP IP外,其余均以源码提供
下图展示了cxp_host内部的目录结构,直接使用VIVADO 2019.1打开 *.xpr工程文件即可。

图 ‑1 VIVADO工程目录结构
下图展示了*.sdk内部目录结构,直接使用Xilinx SDK打开即可。

图 ‑2 SDK工程目录结构
表 ‑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 |
设备连接
设备包含:
- Camera,camera 请按照厂商要求连接电源;
- Camera 与CXP HOST FMC子卡连接,请注意LINK 序号一一对应,使用CXP同轴线缆完成连接;
- CXP HOST FMC 与ZCU102 FMC2 (板上丝印HPC0)连接,连接好后请使用螺丝进行固定;
- ZCU102 UART串口与JTAG需要连接到主计算机,其中JTAG负责下载FPGA bitstream与debug,UART负责将demo软件打印信息输出,demo实际使用的是PL端的UART,应当连接UART的interface 2,串口速率115200。

图 ‑1 ZCU102结构图

图 ‑2 ZCU102 UART接口
VIVADO FPGA工程
使用VIVADO 2019.1 打开。

图 ‑1 VIVADO工程
如下图所示,CPU使用Xilinx的FPGA软核MicroBlaze,没有使用ZYNQ的PS硬核,目的是为了简化Demo工程,同时适应不同FPGA平台,增强一致性。CPU与外设之间均通过AXI总线进行连接。

图 ‑2 CPU控制器

图 ‑3 CXP IP实例化
Demo使用外部PHY,使用AXI lite interface完成速率的动态配置。

图 ‑4 外部PHY接口,用axi lite完成速率配置
下图为均衡器配置IP,均衡器是FMC接口板上的一组芯片,用于均衡高速downlink信号,不同速率会有不同的参数配置,具体配置逻辑请参考软件demo。

图 ‑5 均衡器芯片配置IP
按照正常流程编译即可。如果代码由修改,改动后需要将硬件信息导出到SDK,并LAUNCH SDK或者其它方式打开SDK重新编译软件代码。
SDK工程
下图为裸机SDK软件目录,其中hello_cxp_bsp和cxp_host_wrapper_hw_platform均为系统自动生成bsp包,测试 hello_cxp应用程序即可。

图 ‑1 CXP Demo SDK 软件工程目录

图 ‑2 Debug配置,下载并复位
程序会将打印信息输出到UART串口,demo使用了PL端的UART,对应interface接口的interface2。

图 ‑3 串口连接

图 ‑4 Debug界面及其串口输出信息
Hello-FPGA CoaXPress 2.0 FPGA HOST IP Core Demo User Manual的更多相关文章
- 【再话FPGA】在xilinx中PCIe IP Core使用方法
采用Xilinx Virtex-5 XC5VSX50T-FF1136 FPGA或者Xilinx Virtex-5 XC5VSX95T-FF1136的板子.采用ISE13.2环境.步骤:一.建立一个IS ...
- 基于FPGA的SATA3.0主机控制器IP
SATA3.0 Host Controller IP SATA3.0 Host IP不仅实现了SATA协议的PHY(物理层).Link(链路层)和TRN(传输层),并且实现了CMD(命令层)和APP( ...
- [原创]免固件开发USB2.0 FPGA方案 速度40Mbyte/s+
USB 2.0接口,实测速度40Mbyte/s: 一个接口实现两种功能(USB2.0+FPGA配置): 免固件开发: 完整的FPGA代码,即拿即用: FPGA逻辑工程师开发USB接口福音: 平台可移植 ...
- 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 ...
- Lattice系列FPGA入门相关0(Lattice与Altera、Xilinx对比及入门)
需求说明:Lattice系统FPGA入门 内容 :Lattice与Altera.Xilinx对比 来自 :时间的诗 1.Lattice与Altera.Xilinx对比 latt ...
- CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评
CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...
- WSO2 API Manager中host Ip 不正确的问题解决方法
问题: 根据官方的Quick start的教程,部署完AM后,添加的API的host Ip不正确,为localhost或者服务器上的其他虚拟ip. 安装版本: WSO2AM 2.6.0 环 ...
- 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 ...
- 【FPGA篇章二】FPGA开发流程:详述每一环节的物理含义和实现目标
欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照下图进行,有些步骤可能由于其在当前项目中的条件 ...
- 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 ...
随机推荐
- 9.springSecurity整合OAuth2结合Jwt实现单点登录
1.总结:昨天主要是继续完善OAuth2配合将问题完成单点登录,昨天也应证了一个认证服务,两个客户端服务在登陆一次后可以访问两个客户端的页面,也算是完成了单点登录 2.具体实现 首先是使用java ...
- 四月十七日Java基础知识点
1.默认构造方法:如果class前面有public修饰符,则默认的构造方法也会是public的.由于系统提供的默认构造方法往往不能满足需求,所以用户可以自己定义类的构造方法来满足需要,一旦用户为该类定 ...
- 数据泵:导入导出dblink
环境介绍:12c->19c [oracle@enmoedu1 dpdump]$ expdp system/oracle directory=DATA_PUMP_DIR dumpfile=STAT ...
- Redis(七)缓存穿透、缓存击穿、缓存雪崩以及分布式锁
应用问题解决 1 缓存穿透 1.1 访问结构 正常情况下,服务器接收到浏览器发来的web服务请求,会先去访问redis缓存,如果缓存中存在数据则直接返回,否则会去查询数据库里面的数据,然后保存在red ...
- 【Git GitHub Idea集成】
1 Git介绍 分布式版本控制工具 VS 集中式版本控制工具 git是一个免费开源的分布式版本控制系统,可以快速高效地处理从小型到中型的各种项目. 1.1 Git进行版本控制 集中式版本控制工具:如C ...
- RESTful API 为何成为顶流 API 架构风格?
作者孙毅,API7.ai 技术工程师,Apache APISIX Committer 万物互联的世界充满着各式各样的 API ,如何统筹规范 API 至关重要.RESTful API 是目前世界上最流 ...
- Kubuesphere部署Ruoyi(二):部署kubesphere
先决条件: 更换DNS 更换apt的镜像源 Ubuntu下永久性修改DNS vi /etc/systemd/resolved.conf DNS字段取消注释,并修改DNS为223.5.5.5 223.5 ...
- [C++基础入门] 5、 数组
文章目录 5 数组 5.1 概述 5.2 一维数组 5.2.1 一维数组定义方式 5.2.2 一维数组数组名 5.2.3 冒泡排序 5.3 二维数组 5.3.1 二维数组定义方式 5.3.2 二维数组 ...
- 在循环内调用 size() 方法的开销大吗?
for (int i = 0; i < buildings.size(); i++) {} 和 int n = buildings.size(); for (int i = 0; i < ...
- 用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇)
用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇) 本篇将开始讲讲开发库/框架的最开始阶段,也就是搭建一个项目 源码:weloe/token-go: a light login library ...