【FPGA】AXI总线协议

文章目录

  • AXI总线协议
  • AXI总线类型
    • AXI4-Lite
    • AXI4
    • AXI4-Stream
  • AXI数据协议分析

AXI总线协议

  • AXI 全称 Advanced eXtensible Interface 主要描述了主设备和从设备之间的数据传输方式
  • AXI 协议主要描述了主设备和从设备之间的数据传输方式,主设备和从设备之间通过握手信号建立连接
  • 当从设备准备好接收数据时,会发出 READY 信号。当主设备的数据准备好时,会发出和维持 VALID 信号,表示数据有效
  • 数据只有在 VALID 和 READY 信号都有效的时候才开始传输。当这两个信号持续保持有效,主设备会继续传输下一个数据
  • 主设备可以撤销VALID 信号,或者从设备撤销 READY 信号终止传输
  • AXI 的协议如图, T2 时,从设备的 READY信号有效, T3 时主设备的 VILID 信号有效,数据传输开始
    【FPGA】AXI总线协议_第1张图片

AXI总线类型

【FPGA】AXI总线协议_第2张图片

AXI4-Lite

  • 具有轻量级,结构简单的特点,适合小批量数据、简单控制场合。不支持批量传输,读写时一次只能读写一个字( 32bit)。主要用于访问一些低速外设和外设的控制

AXI4

  • 接口和 AXI-Lite 差不多,只是增加了一项功能就是批量传输,可以连续对一片地址进行一次性读写。也就是说具有数据读写的 burst 功能

上面两种均采用内存映射控制方式,即 ARM 将用户自定义 IP 编入某一地址进行访问,读写时就像在读写自己的片内 RAM,编程也很方便,开发难度较低。代价就是资源占用过多,需要额外的读地址线、写地址线、读数据线、写数据线、写应答线这些信号线

AXI4-Stream

  • 这是一种连续流接口,不需要地址线(很像 FIFO,一直读或一直写就行)。对于这类 IP,ARM 不能通过上面的内存映射方式控制( FIFO 根本没有地址的概念),必须有一个转换装置,例如 AXI-DMA 模块来实现内存映射到流式接口的转换
  • AXI-Stream 适用的场合有很多:视频流处理;通信协议转换;数字信号处理;无线通信等。其本质都是针对数值流构建的数据通路,从信源(例如 ARM 内存、 DMA、无线接收前端等)到信宿(例如 HDMI 显示器、高速 AD 音频输出,等)构建起连续的数据流。这种接口适合做实时信号处理

AXI数据协议分析

  • AXI4 和 AXI4-Lite 接口包含 5 个不同的通道
  • Read Address Channel :读地址通道
  • Write Address Channel :写地址通道
  • Read Data Channel :读数据通道
  • Write Data Channel : 写数据通道
  • Write Response Channel :写响应通道

其中每个通道都是一个独立的 AXI 握手协议。下面两个图分别显示了读和写的模型:
【FPGA】AXI总线协议_第3张图片
具体可看:AXI总线协议

你可能感兴趣的:(FPGA)