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

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

3天内不再提示

基于FPGA的PCIE I/O控制卡通信方案

CHANBAEK 来源:FPGA Zone 作者:FPGA Zone 2023-09-01 16:18 次阅读

本文介绍一个FPGA 开源项目:PCIE I/O控制卡。上一篇文章《FPGA优质开源项目– PCIE通信》开源了基于FPGA的PCIE通信Vivado工程,用于实现上位机通过PCIE接口访问FPGA的DDR3以及RAM内存数据。PCIE I/O控制卡工程是在上一个工程的基础上进行了部分模块和参数的修改。

下面围绕FPGA PCIE I/O控制卡通信方案以及Vivado BD工程的创建进行简要介绍。

01软硬件平台

  • 软件平台:Vivado 2017.4;
  • 硬件平台:XC7Z035FFG676-2;

02通信方案

系统通信方案如下图所示。PC上位机端通过PCIE接口与FPGA连接,FPGA端通过XDMA模块的AXI4总线实现对DDR3的读写,通过AXI4-Lite总线实现对多个GPIO外设的控制。其中AXI SmartConnect模块可用于自动完成XDMA与多个GPIO模块的通信仲裁,以及不同时钟域、不用数据位宽自动转换。

图片

03创建Vivado BD工程

Vivado BD工程的创建可在上一个PCIE通信工程的基础上完成。首先,删除AXI BRAM Controller 以及RAM模块:

图片

然后,依次添加两个AXI GPIO模块。将axi_gpio_0配置为 All Outputs ,位宽根据实际情况选择,这里配置为 4bits 。

图片

将axi_gpio_1配置为 All Inputs ,位宽根据实际情况选择,这里同样配置为 4bits 。

图片

XDMA IP核参数配置:

图片

  • Mode:BASE;
  • Lane Width:根据FPGA硬件型号选择,通道越多,传输速度越快;
  • Max Link Speed:5.0GT/s;
  • Reference Clock:参考时钟100MHZ;
  • DMA Interface Option:选择AXI4接口;
  • AXI Data Width:AXI4总线位宽选择128bits;
  • AXI Clock:AXI4总线时钟125MHZ;

图片

  • PCIE to AXI Translation:BAR地址到AXI地址偏移,这里设置为0x44a0_0000;

其它参数配置可参考上一篇文章中的介绍。

04Vivado BD工程结构

下图为最终创建好的Vivado BD工程。同样的,本工程虽然是基于Zynq平台建立,但实际只用到了PL端资源。

图片

地址配置如下图所示:DDR3初始地址偏移配置为0,AXI_GPIO_0初始地址配置为0x44a3_0000,AXI_GPIO_1初始地址配置为0x44a4_0000,与XDMA中地址偏移保持一致即可。

图片

05实现功能

该Vivado工程实现了基于FPGA的PCIE I/O控制卡功能。FPGA端把AXI_GPIO地址映射到BAR地址空间,上位机端通过PCIE总线读取FPGA端GPIO1 I/O口输入状态信息,以及控制GPIO0 I/O口输出信息。

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

    关注

    1629

    文章

    21735

    浏览量

    603154
  • 控制卡
    +关注

    关注

    2

    文章

    60

    浏览量

    13013
  • PCIe
    +关注

    关注

    15

    文章

    1237

    浏览量

    82620
  • 上位机
    +关注

    关注

    27

    文章

    942

    浏览量

    54798
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66499
收藏 人收藏

    评论

    相关推荐

    PCIe EtherCAT实时运动控制卡PCIE464的IO与编码器读写应用

    C#进行PCIe EtherCAT运动控制卡的项目开发和快速读取多个IO和轴编码器位置的例程。
    的头像 发表于 07-17 14:47 782次阅读
    <b class='flag-5'>PCIe</b> EtherCAT实时运动<b class='flag-5'>控制卡</b><b class='flag-5'>PCIE</b>464的IO与编码器读写应用

    【正运动】高速高精,超高实时性的PCIe EtherCAT实时运动控制卡 | PCIE464

    产品摘要正运动技术PCIE464运动控制卡,提供高效的工业运动控制解决方案。用户可直接将PCIE464嵌入标准PC机快速实现高性能的Ethe
    发表于 01-24 09:48

    采用LabVIEW FPGA模块和可重新配置I/O设备开发测量与控制应用

    使用LabVIEW FPGA 模块和可重新配置I/O 设备开发测量与控制应用通过使用LabVIEW FPGA 模块和可重新配置
    发表于 07-23 08:15

    如何利用FPGA设计运动控制卡

    FPGA (field-programmable gate array) 和PCI9054 接口芯片为核心硬件的运动控制卡,内部硬件接口和算法通过对FPGA 的编程实现。这样,既能很好地克服传统运动
    发表于 07-30 06:07

    使用LabVIEW FPGA模块和可重新配置I/O设备开发测

    使用 LabVIEW FPGA 模块和可重新配置I/O 设备开发测量与控制应用通过使用LabVIEW FPGA 模块和可重新配置
    发表于 07-23 08:09 68次下载

    基于FMC标准的FPGA夹层卡I/O设计

      面对似乎层出不穷的新 I/O 标准,目前嵌入式系统设计人员继续依靠 FPGA 来部署系统日益重要的外部 I/O 接口,这点丝毫不足为奇。
    发表于 11-02 09:50 5151次阅读

    基于FPGA I/O接口的五大优势与FPGA深层分析

    NI VeriStand是一款用于配置实时测试系统应用的软件环境,如硬件在环(HIL)测试系统等。当向NI VeriStand添加实时I/O接口时,用户能够快速配置多种标准模拟、数字和通信总线接口
    发表于 11-18 07:47 9545次阅读
    基于<b class='flag-5'>FPGA</b> <b class='flag-5'>I</b>/<b class='flag-5'>O</b>接口的五大优势与<b class='flag-5'>FPGA</b>深层分析

    ZH系列字符控制卡通信协议

    ZH系列字符控制卡通信协议
    发表于 11-22 18:35 0次下载

    FPGA器件的I/O引脚布局的优化方案分析

    对于需要在PCB板上使用大规模FPGA器件的设计人员来说,I/O引脚分配是必须面对的众多挑战之一。 由于众多原因,许多设计人员发表为大型FPGA器件和高级BGA封装确定
    的头像 发表于 06-03 08:06 2810次阅读

    PCIe中三种基本的I/O架构

    导言:这篇为PCIe要提及的时钟类型作个小铺垫,可以大致作一个了解,想深入了解可以参考更加细致的文献。 三种基本的I/O架构 1• 通用时钟(Common Clock) 2• 前向时钟
    的头像 发表于 04-04 11:53 5801次阅读
    <b class='flag-5'>PCIe</b>中三种基本的<b class='flag-5'>I</b>/<b class='flag-5'>O</b>架构

    【含案例源码】IMX8基于FlexSPI、PCIeFPGA的高速通信开发详解!

    本文主要介绍i.MX 8M Mini基于FlexSPI、PCIeFPGA的高速通信案例。
    的头像 发表于 09-02 14:33 2865次阅读
    【含案例源码】IMX8基于FlexSPI、<b class='flag-5'>PCIe</b>与<b class='flag-5'>FPGA</b>的高速<b class='flag-5'>通信</b>开发详解!

    不止10倍提速!PCIe EtherCAT实时运动控制卡XPCIE1032H 等您评测!

    PCIe实时运动控制卡助力EtherCAT高速高精运动控制应用!
    的头像 发表于 06-26 10:14 7669次阅读
    不止10倍提速!<b class='flag-5'>PCIe</b> EtherCAT实时运动<b class='flag-5'>控制卡</b>XPCIE1032H 等您评测!

    基于FPGAPCIE通信测试

    本文介绍一个FPGA开源项目:PCIE通信。该工程围绕Vivado软件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDM
    的头像 发表于 09-04 16:45 3234次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>PCIE</b><b class='flag-5'>通信</b>测试

    超高实时性的EtherCAT运动控制卡——PCIE464

    正运动技术PCIE464运动控制卡,提供高效的工业运动控制解决方案。用户可直接将PCIE464嵌入标准PC机快速实现高性能的EtherCAT
    发表于 01-26 14:39 1175次阅读

    PCIe实时运动控制卡的双盘视觉筛选机上位机开发应用

    PCIe实时运动控制卡的双盘视觉筛选机上位机开发应用
    的头像 发表于 10-10 10:15 310次阅读
    <b class='flag-5'>PCIe</b>实时运动<b class='flag-5'>控制卡</b>的双盘视觉筛选机上位机开发应用