0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【FPGA开发教程】基于ALINX FPGA开发板实现USB3.2高速通信(Z7-P+FL2010)

FPGA技术专栏 来源:FPGA技术专栏 2026-05-30 15:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

教程目的

基于 ALINX FPGA 开发板FL2010 USB3.2 子卡 实现高速数据通信

介绍子卡硬件特性、主控芯片功能、FMC 接口连接方式、数据传输模式,为后续基于 USB3.2 的实际应用开发提供基础。


FL2010 USB3.2 子卡

ALINX FL2010 子卡是 USB3.2 FMC 通信模块,与 ALINX FPGA 开发板配合使用,可实现 USB3.2 数据通信。

  • 主控芯片 :采用英飞凌 CYUSB4024-FCAXI 芯片,内部集成 ARM 架构 CPU 和 USB 控制器,负责 USB3.2 数据传输。
  • 连接方式 :通过 FMC 接口与 FPGA 载板相连,通过 16 对 LVDS 数据通道与 FPGA 进行通信。
  • 供电方式 :可通过 USB3.2 接口供电。
  • 调试接口 :板载 Debug 口,用于输出串口调试信息。
  • 产品官网www.alinx.com(FL2010)
  • 开发资源 :更多开发信息请参考英飞凌官网:www.infineon.cn

FL2010 与 FPGA 开发板的连接

FL2010 子板通过 FMC 接口与 FPGA 开发板连接,支持两种数据通信模式:

模式差分数据通道数Lane 速率
Wide Link16 对594 Mbps
Narrow Link8 对594 Mbps
  • 数据恢复方式 :可通过原语 ISERDES3BITSLIP 实现数据传输。
  • 工程实现 :示例工程中例化了 High Speed SelectIO IP 核,用于统一管理上述原语。

image

(CYUSB4024-FCAXI 与 FPGA 连接的接口示意图)

FL2010 子卡接口信号说明

1. LVDS 数据与控制信号

信号名方向功能描述
P0D0P ~ P0D7PFPGA → CYUSB4024Port0 的 8 对差分数据线
P1D0P ~ P1D7PFPGA → CYUSB4024Port1 的 8 对差分数据线
P0CP, P1CPFPGA → CYUSB4024控制字符输入

2. LVDS 模式下的控制信号

  • p0ctl0 ~ p0ctl4 :LVDS 模式下不使用。
  • p0ctl5 :CYUSB4024 → FPGA,link_ready 信号,用于数据链路训练。
  • p0ctl6 :CYUSB4024 → FPGA,buffer_ready 信号,用于数据传输控制。

Port1 的控制信号(p1ctl0 ~ p1ctl6)定义与 Port0 相同。

3. 信号使用规则

  • Wide Link 模式 :仅使用 Port0 的控制信号(p0ctl)。
  • Narrow Link 模式
    • 若选择 Port0,使用 p0ctl;
    • 若选择 Port1,使用 p1ctl。

FPGA 作为从机工作

在 demo 中,FPGA 作为 CYUSB4024-FCAXI 的 从机 工作。两者之间还需要 I2C 通信,FPGA 作为 I2C 从机,响应读写请求并访问内部寄存器。寄存器的内容由 CYUSB4024 执行的固件(firmware)决定。

I2C 两根控制线的连接位置如图示:

image

上电复位要求

FL2010 子卡上电时,FPGA 需要提供一个 低电平有效 的复位信号,具体引脚位置如图示。

image

硬件设计约束

  • 差分对的数据线必须连接到 FPGA 的 HP Bank
  • 一个 Port 的所有差分线(数据线+控制字符线)必须位于 同一 Bank

FPGA 工程介绍

FPGA 工程包含三个主要部分:

  1. 时钟模块
    根据 Lane 速率 594 Mbps 计算,参考时钟应为 74.25 MHz
  2. FL2010 对接模块
    实现 LVDS 通信的逻辑。
  3. High Speed SelectIO IP
    由于 demo 基于 Z7-P 开发板,Port0 位于 Bank64,Port1 位于 Bank65,需例化 两个 High Speed SelectIO IP(单个 IP 只能配置一个 Bank)。

工程结构如图示:

image

FL2010 对接模块也包含三个部分:

  1. 图像生成
  2. I2C 从机应答模拟
  3. FL2010 软件协议解析

图像通过控制 test_pattern_generator 生成彩条,FL2010 接收到彩条之后模拟成相机传输图像给 USB 3.2 的 host 设备。

FL2010 子卡对接模块包含以下几个子控制模块:

1. Device Selection DSM

  • 功能 :设备选择,最多支持 8 路设备通过 LVDS 信号线串行传输。
  • 工作流程
    • 工程烧录后,先进行 PHY 训练 ,完成后进行 Link 训练
    • 训练完成后进入设备遍历状态,以帧为单位遍历设备。

状态机切换方式如图示:

image

注:对于 Low Power 状态,实际未做任何操作,因为 demo 使用 LVDS 模式;demo 中仅使用一路输入。

2. PHY and Link Training FSM

  • 功能 :实现 PHY 训练和 Link 训练。
  • 流程
    • FL2010 通过 I2C 下发 4 字节训练数据(写入寄存器)。
    • 本模块按顺序发送训练数据,无需等待子卡反馈。
    • 训练完成时通过 I2C 下发 complete 信号。

状态机切换方式如图示:

image

3. Frame Data Transmitter FSM

  • 功能 :帧数据打包传输。
  • 触发条件 :收到 Device Selection 模块的 device_serve 信号。部分状态切换取决于 FL2010 子卡的固件配置。

image

4. Initial Socket Sequence FSM

  • 功能 :决定初始化顺序,分配初始的线程和 socket 地址。
  • 工作 :在 Frame Data Transmitter FSM 的 init_socket_seq 状态下工作。

状态机切换方式如图示:

image

5. Frame Header Transmitter FSM

  • 功能 :配置帧头部信息。
  • 工作 :在 Frame Data Transmitter FSM 进入 TX_FRAME_HEADER_INFO 后开始工作。

状态机切换方式如图示:

image

6. LVDS Data Packet Transmitter FSM

  • 功能 :实现数据的组包传输。

状态机如图示:

image

7. Frame End Sequence FSM

  • 功能 :每帧结尾时发送帧结尾信号。

状态机如图示:

image

FL2010 部分固件 (Firmware) 编译步骤

  1. 打开 Eclipse,选择工作空间(Workspace)。

image

  1. 选择 New Application

image

  1. BSP 这里选择 FX20

image

  1. 在下一个页面选择 UVC_UAC_4K_camera

image

  1. 打开该工程的 makefile 文件。

image

  1. 设置模式参数:
    • WL_EN = 1:表示开启 Wide Link 模式(此时需将 port1_en 设为 0)。

Demo 复现

固件下载到 FL2010 子卡(通过 USB 烧录)

  1. 工程编译后,在 build 文件夹中找到生成的 .hex 文件,将这个文件通过FX Control Center 软件下载到板子上。

2079ebc77b0e58dc110eaef78dceae61

  1. FMC 子卡上插入跳帽。

04cde7c9088af81fd391e1f8790b4c03

  1. TypeC 口插入 USB 线连接电脑,按下子卡上的 KEY1 ,再按下 Key2 ,然后先松开 Key1 再松 Key2。出现软件界面如下:

image

  1. 单击 EZ_USB FX BOOT LOADER
  2. 选择 Program → Internal Flash

image

  1. 选择编译生成的 .hex 文件,等待烧录完成。

image

上板运行

  1. 将 FL2010 FMC 子板连接到 ALINX 开发板,Debug 口链接串口,TypeC 口链接电脑,板卡上电。

928128b9b23c37abbce2c763d135b3b1

  1. 从 Vitis 烧录 FPGA 程序。
    注:如果 Windows 相机未打开,会打印相应提示:

image

此时打开 Windows 相机应用,显示彩条画面。

image

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1665

    文章

    22587

    浏览量

    641248
  • 开发板
    +关注

    关注

    26

    文章

    6527

    浏览量

    121417
  • 高速通信
    +关注

    关注

    0

    文章

    63

    浏览量

    11211
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于FPGA开发板TSP的串口通信设计

    本文详细介绍基于Terasic FPGA开发板TSP(又名C5P和OSK)和其板载CP2102N USB-UART桥接芯片的串口通信系统设计
    的头像 发表于 10-15 11:05 4993次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>开发板</b>TSP的串口<b class='flag-5'>通信</b>设计

    开发者福利 一文带你了解Digilent Arty S7 FPGA开发板

    Digilent为Arty FPGA开发板系列增加了新的成员——两种不同规格的新的Arty S7,这款FPGA开发板是基于中等大小(size
    的头像 发表于 09-27 06:33 9256次阅读
    <b class='flag-5'>开发</b>者福利 一文带你了解Digilent Arty S<b class='flag-5'>7</b> <b class='flag-5'>FPGA</b><b class='flag-5'>开发板</b>

    [原创]高性价比USB+FPGA开发板,USB开发板,开发板

    CY7C68013A-128AXC、FPGA芯片EP1C6Q240C8和SDRAM芯片IS61LV25616AL-10T共同组合完成,实现USB2.0的
    发表于 03-25 16:01

    USB 3.0开发板 USB3.0+fpga开发板 FPGA开发板

    )。●FPGA跟CYUSB3014之间数据传输采用双通道设计,高速的数据传输通道和低速的控制指令传输通道是独立的。●丰富的软件功能支持,让您可以更快更高效的进行学习开发USB3.0
    发表于 09-20 15:22

    USB 3.0开发板 USB+FPGA开发板 FPGA开发板

    )。●FPGA跟CYUSB3014之间数据传输采用双通道设计,高速的数据传输通道和低速的控制指令传输通道是独立的。●丰富的软件功能支持,让您可以更快更高效的进行学习开发USB3.0
    发表于 10-18 14:46

    USB 3.0开发板 USB3.0+FPGA开发板 FPGA开发板 USB开发板

    )。●FPGA跟CYUSB3014之间数据传输采用双通道设计,高速的数据传输通道和低速的控制指令传输通道是独立的。●丰富的软件功能支持,让您可以更快更高效的进行学习开发USB3.0
    发表于 01-08 14:30

    USB 3.0开发板 USB3.0+FPGA开发板 FPGA开发板

    只要大于该值,一般都可以不丢数了。USB3.0开发板速度测试图USB3.0开发板虚拟逻辑分析仪图USB3.0
    发表于 01-15 10:50

    USB 3.0开发板 USB+FPGA开发板 USB开发板

    )。●FPGA跟CYUSB3014之间数据传输采用双通道设计,高速的数据传输通道和低速的控制指令传输通道是独立的。●丰富的软件功能支持,让您可以更快更高效的进行学习开发USB3.0
    发表于 01-22 14:40

    7 FPGA进阶级智能互联开发板

    FPGA芯片(Xilinx产品编号XC7A100T-1CSG324C)并集成了USB,以太网和其它端口,Nexys 4 DDR开发板实现
    发表于 02-08 04:33 983次阅读

    AT7 USB3.0 FPGA开发板原理图的合集免费下载

    本文档的主要内容详细介绍的是AT7 Xilinx USB3.0 FPGA开发板原理图的合集免费下载。
    发表于 03-19 08:00 19次下载
    AT<b class='flag-5'>7</b> <b class='flag-5'>USB</b>3.0 <b class='flag-5'>FPGA</b><b class='flag-5'>开发板</b>原理图的合集免费下载

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以
    的头像 发表于 03-14 18:20 5249次阅读

    基于ALINX开发板Z19-P实现WIFI无线通信功能

    本教程基于 ALINX 开发板 Z19-P , 实现 WIFI 无线通信的功能,WIFI 模块使用 US
    的头像 发表于 11-11 10:44 1656次阅读
    基于<b class='flag-5'>ALINX</b><b class='flag-5'>开发板</b><b class='flag-5'>Z19-P</b><b class='flag-5'>实现</b>WIFI无线<b class='flag-5'>通信</b>功能

    ALINX AMD RFSoC射频开发板选型指南

    ALINX 作为 FPGA 开发板领域领先供应商,RFSoC 系列开发板精准定位于雷达通信、5G 基站、卫星
    的头像 发表于 07-11 10:03 2008次阅读
    <b class='flag-5'>ALINX</b> AMD RFSoC射频<b class='flag-5'>开发板</b>选型指南

    ALINX 助力希腊 SpaceDot AcubeSAT 卫星项目,2026 将入太空

    卫星 时,采用了 SatNOGS 通信开发板,板内集成了  ALINX AC7Z020 FPGA SoM 。   (
    的头像 发表于 09-16 11:56 749次阅读
    <b class='flag-5'>ALINX</b> 助力希腊 SpaceDot AcubeSAT 卫星项目,2026 将入太空

    ALINX 教程】FPGA Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板

    教程目的 本教程介绍如何在  ALINX Artix US+ AXAU25 FPGA  开发板上,通过  Multiboot  实现多个 bitstream 的存储与动态切换,并在配置
    的头像 发表于 01-05 15:41 1851次阅读
    【<b class='flag-5'>ALINX</b> 教程】<b class='flag-5'>FPGA</b> Multiboot 功能<b class='flag-5'>实现</b>——基于 <b class='flag-5'>ALINX</b> Artix US+ AXAU25 <b class='flag-5'>开发板</b>