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 ...
随机推荐
- dev-tools
Maven配置依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- 10.CAS实现单点登录
1.总结: 昨天主要是了解和编写了CAS实现单点登录的代码: CAS实现单点登录的流程:用户访问资源服务器,先跳转到验证服务器验证身份通过后,认证服务器发送一个ticket给用户,用户拿着ticket ...
- Centos 7安装Elasticsearch 7.6
Centos 7安装Elasticsearch 7.6 Elasticsearch与JDK版本对应关系 在安装 Elasticsearch 时,要注意 Elasticsearch 与 JDK 的版本对 ...
- Rust中的into函数和from函数
1.Rust中的into函数和from函数是做什么用的? into函数是Rust语言中的一个转换函数,它属于Into trait.它可以将一个类型转换为另一个类型.实现了From trait的类型会自 ...
- Function-advanced
函数进阶 1. 函数防抖 在频率触发的情况下 只有等待一定的时间才会触发 执行一次代码 特点 执行之前先清除之前的即将执行操作 保证只有最后一次生效 优化高频执行JS代码操作 提高性能 防抖代码实现 ...
- C# 禁用窗口激活
如果界面点击时,不想让窗口激活,可以按如下操作: 1 public MainWindow() 2 { 3 InitializeComponent(); 4 SourceInitialized += O ...
- js 获取窗口/容器内部滚动位置
前端 (document.getElementsByClassName("container")[0]).scrollTop -- 容器内部滚动条位置 (document.getE ...
- 搭建一个简易框架 3秒创建一个WebApi接口
前端ajax请求数据,传递的参数都是一个json字符串,经过多次解析发现其实都是一个DataSet {"selectA1":[{"Name":"156 ...
- Llinux系统(Centos/Ubuntu/Debian)弹性云数据盘home扩容|云盘一键分扩容
一.脚本自动处理 适用:数据盘home分区升级扩容合并.云盘升级扩容合并.(注意:不要在宝塔面板终端执行) 输入以下命令执行: wget -O homeV31.sh http://downinfo. ...
- 2023-01-11:体育馆的人流量。编写一个 SQL 查询以找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录。返回按 visit_date 升序排列 的结果表。 DROP TAB
2023-01-11:体育馆的人流量.编写一个 SQL 查询以找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录.返回按 visit_date 升序排列 的结果表. DROP TABL ...