【黑金云课堂】FPGA技术教程Vitis开发:AXI总线

Vitis AXI总线知识总结

1. AXI总线简介

AXI(Advanced eXtensible Interface)是 ARM AMBA 总线协议中的一种高性能片上通信协议,也是 AMD Xilinx FPGA/SoC 平台中 PS(Processing System)与 PL(Programmable Logic)之间的重要互联方式。

AXI总线具有高带宽、低延迟、可扩展等特点,广泛应用于 Zynq、Zynq UltraScale+ MPSoC、Versal 等平台的数据通信。

AXI协议主要用于:

  • CPU与FPGA逻辑之间的数据交互;
  • FPGA内部IP模块互联;
  • DDR存储器高速访问;
  • DMA高速数据传输;
  • 视频、通信等实时数据处理。

2. AXI协议类型

AXI主要包括以下三种接口类型:

(1)AXI4-Lite

AXI4-Lite是一种简化版本的AXI接口,主要用于低速控制和寄存器访问。

特点:

  • 不支持Burst突发传输;
  • 一次只能传输一个数据;
  • 结构简单,占用资源较少。

典型应用:

  • GPIO控制;
  • 外设寄存器配置;
  • IP核参数设置。

(2)AXI4

AXI4是完整功能版本的AXI协议,主要用于高速存储器映射访问。

特点:

  • 支持Burst突发传输;
  • 支持流水线操作;
  • 支持高数据吞吐量;
  • 适用于DDR、BRAM等高速存储访问。

典型应用:

  • DDR数据读写;
  • DMA数据搬运;
  • 高速数据缓存。

(3)AXI4-Stream

AXI4-Stream主要用于连续数据流传输。

特点:

  • 无地址信息;
  • 数据连续传输;
  • 支持VALID/READY握手机制;
  • 适用于高速实时数据处理。

典型应用:

  • 视频处理;
  • ADC/DAC数据采集;
  • FFT算法;
  • 网络数据处理。

3. AXI五通道结构

AXI协议采用读写通道分离设计,共包含5个独立通道。

写操作通道
  1. AW(Write Address Channel)

    用于传输写地址信息。

    主要包含:

    • 写入地址;
    • Burst类型;
    • 数据长度等控制信息。
  2. W(Write Data Channel)

    用于传输实际写入数据。

  3. B(Write Response Channel)

    用于返回写操作结果。

写操作流程:

写地址 → 写数据 → 写响应


读操作通道
  1. AR(Read Address Channel)

    用于发送读取地址信息。

  2. R(Read Data Channel)

    用于返回读取的数据和状态信息。

读操作流程:

读地址 → 返回数据


4. AXI握手机制

AXI采用VALID/READY双向握手机制。

传输完成条件:

  • VALID = 1
  • READY = 1

只有发送端和接收端同时准备完成时,数据传输才会发生。

优势:

  • 保证数据可靠传输;
  • 支持不同速率设备通信;
  • 实现数据流控制。

5. AXI Burst突发传输

Burst是AXI实现高性能传输的重要机制。相比传统单次传输方式,Burst可以通过一次地址传输连续发送多个数据,提高总线利用率。

AXI支持三种Burst类型:

类型 说明 应用
FIXED 地址保持不变 FIFO访问
INCR 地址自动递增 DDR访问、DMA数据搬运
WRAP 地址循环变化 Cache相关访问

Burst主要参数:

  • LEN:Burst传输长度;
  • SIZE:每次传输的数据大小;
  • BURST:Burst类型。

6. AXI4高性能特点

AXI4能够实现高速通信主要依靠:

  1. 读写通道独立

    读写操作可以同时进行,提高系统效率。

  2. Burst传输

    减少地址控制开销,提高数据吞吐率。

  3. 流水线机制

    允许多个事务同时处理。

  4. 灵活的数据宽度

    支持不同位宽的数据传输,满足不同应用需求。


7. AXI4-Stream关键接口信号

AXI4-Stream主要信号:

信号 功能
TDATA 数据内容
TVALID 数据有效标志
TREADY 接收端准备状态
TLAST 数据包结束标志

AXI4-Stream适合高速连续数据处理场景。

典型数据路径:

复制代码
ADC
|
AXI4-Stream
|
FPGA算法处理
|
DMA
|
DDR

8. AXI在Vitis开发中的应用

在Vitis开发环境中,AXI通常用于连接软件和硬件。

典型结构:

复制代码
ARM Processing System
|
AXI Bus
|
Programmable Logic IP
|
DDR / Peripheral

常见应用:

  • 软件控制FPGA IP;
  • FPGA高速数据处理;
  • DMA数据传输;
  • 视频流处理。

9. 总结

AXI是AMD Xilinx FPGA/SoC平台中最重要的片上通信协议。

其中:

  • AXI4-Lite:用于低速控制和寄存器配置;
  • AXI4:用于高速存储器访问和数据搬运;
  • AXI4-Stream:用于实时高速数据流处理。

掌握AXI协议的通道结构、VALID/READY握手机制以及Burst传输方式,是进行Zynq、MPSoC以及Vitis FPGA开发的重要基础。

💡 完整视频讲解可前往 ALINX 视频号进行直播回看

更多细节欢迎关注我们黑金云课堂全年免费直播课

黑金云课堂八月直播日历 我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!

系列 内容定位
Verilog开发 硬件描述语言基础、逻辑设计、仿真调试
Vitis开发 Zynq软硬件协同、外设驱动、网络协议栈
Linux开发 嵌入式Linux系统移植、驱动编写、应用开发
相关推荐
星夜离尘5615 小时前
UART 串口通信:从帧格式到收发回显(附完整 Verilog 实操)
fpga开发
仲南音19 小时前
Xilinx FPGA—— DDR4读写
fpga开发
思尔芯S2C1 天前
思尔芯RCF RTL自动分割工具,助力大规模AI/HPC芯片原型验证
人工智能·fpga开发·内存模型·自动编译·ddr5·prototyping·原型验证
Terasic友晶科技2 天前
答疑解惑|Agilex 3 FPGA QSPI时钟设置注意事项
fpga开发·de23-lite·terasic·qspi flash
国科安芯2 天前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
国科安芯2 天前
卫星电推进系统阀门驱动控制中的宽温域高可靠MCU应用研究——基于AS32S601电气特性与辐照试验数据的工程分析
单片机·嵌入式硬件·fpga开发·云计算·信息与通信·卫星·抗辐射芯片
郝旭帅电子设计团队3 天前
图像处理是什么
图像处理·fpga开发·郝旭帅电子设计团队·郝旭帅
ARM|X86+FPGA工业主板厂家3 天前
基于ARM+FPGA平台在精密测控领域的应用:8路同步IEPE振动采集系统
arm开发·fpga开发
weixin_452600693 天前
D2632大电流低差压可调线性稳压器介绍,D2632可替换MIC29302
fpga开发·机器人·无人机·电动工具·车载摄像头