• Hello-FPGA CoaXPress 2.0 FPGA DEVICE IP Core Demo


     

    Hello-FPGA CoaXPress 2.0 Device FPGA IP Core Demo

     

    1     说明

    本手册针对Helllo-FPGA的CoaXPress 2.0 DEVICE FPGA IP Core demo工程,用于演示IP的使用方法、配置流程。本文的内容适用于所有开发板。

     

    Demo 特点功能如下:

    l   代码适用于ZCU102,ZCU106, KCU105, KC705,AXKU040/2, AX7P, AX19P等使用Xilinx 芯片作为主控制器的评估板;

    l   使用VIVADO 2019.1 及其SDK;

    l   默认配置为4个LINK,设备发现阶段使用0x38配置,即3.125Gbps,设备采集阶段使用0x48配置,即6.25Gbps,最高支持12.5Gbps;

    l   使用MicroBlaze作为link速率控制器,软件代码使用SDK进行开发、调试;

    l   IP使用网表形式提供,参数无法修改,如需不同stream通道数配置,请联系Info@hello-fpga 或其它Hello-FPGA工程师

     

    文件列表由两大部分构成,即vivado工程和SDK工程文件夹:

     

    Vivado工程文件夹(cxp_device_hardware)

           实现cxp device协议的模块存放在library文件夹,以网表的形式提供,其余的模块均以源码形式提供,并放在AXKU042_device.src文件夹中。

           Vivado工程文件存放在AXKU042_device文件夹中,直接使用VIVADO 2019.1打开 *.xpr文件即可。

    下图展示了cxp_device的总体目录结构。

     

     

    图 1‑1 工程目录结构

     

    SDK工程文件夹(cxp_device_driver)

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

     

     

    图 1‑2 SDK工程目录结构

     

    表 1‑1 LINK速率配置

    速率配置

    Downlink速率

    0x28

    1.250 Gbps

    0x30

    2.500 Gbps

    0x38

    3.125 Gbps

    0x40

    5.000 Gbps

    0x48

    6.250 Gbps

    0x50 (1)

    10.000 Gbps

    0x58 (1)

    12.500 Gbps

     

     

    2     设备连接

    我们使用Metrox的cxp采集卡(host)+黑金AXKU042开发板(device)为例进行说明:

    1、 安装好采集卡软件;

    2、 CXP DEVICE FMC子卡 与AXKU042 FMC3 连接,连接好后请使用螺丝进行固定;

    3、 CXP DEVICE FMC子卡前面板与cxp采集卡连接,请注意LINK 序号一一对应,使用CXP同轴线缆完成连接;

    4、 AXKU042 UART串口与JTAG需要连接到主计算机,其中JTAG负责下载FPGA bitstream与debug,UART负责将demo软件打印信息输出,比如输出当前配置的link速率,串口波特率为115200。

     

     

    图 2‑1 连接图

     

     

    3     VIVADO FPGA工程

    使用VIVADO 2019.1 打开,如果使用其它版本,可以自行升级。

     

     

    图 3‑1 VIVADO工程

     

    如下图所示,CPU使用Xilinx的FPGA软核MicroBlaze,在本Demo工程中用于完成link速率配置。CPU与外设之间通过AXI总线进行连接。

     

     

    图 3‑2 控制器

     

     

     

    图 3‑3 pattern generator

     

    Demo使用pattern generator模块模拟图像数据,产生一路图像流,格式为mono类型,从代码上看像素数据位宽达到了12位,但由于bootstrap里默认设置的像素位宽为8,所以在默认情况下实际传输时是有截位的,在device模块里面对数据截取低8位进行传输。

    如果代码有修改,改动后需要将硬件信息导出到SDK,并LAUNCH SDK或者其它方式打开SDK重新编译软件代码。

     

    4     SDK工程

    使用2019.1打开,如果使用Vitis,请自行导入代码。SDK如果不能正常打开,请自行导入工程即可。

    下图为裸机SDK软件目录,其中AXKU042_CXP_Driver_bsp和AXKU042_CXP_Driver_hw均为系统自动生成bsp包,测试 AXKU042_CXP_Driver应用程序即可。

     

     

     

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

     

     

     

    图 4‑2 Debug配置,下载并复位

     

    下载程序到开发板后,程序会将打印信息输出到UART串口。

  • 相关阅读:
    #django基本常识01#
    Spring 从入门到精通 (十四) 切入点详解
    腾讯云服务器+宝塔+后端+前端发布
    QT DAY 4
    容器基础镜像的编写及最佳实践
    TX Text Control.NET 32.0 For WPF
    基于SSM的高校勤工助学系统
    二叉树与树、森林之间的转换
    阿里云短信接入 PHP
    EMQX的docker部署与使用(mqtt)
  • 原文地址:https://www.cnblogs.com/xingce/p/18040479