Xilinx AXI4总线概述

1 ZYNQ-7000与AXI

1.1 AXI总线概述

1.1.1 三种类型
  • ZYNQ支持AXI4-Lite,AXI4和AXI4-Stream三种AXI(Advanced eXtensible Interface)总线协议。
  • AXI4:主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大 256 轮的数据突发传输。
  • AXI4-Lite:是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。
  • AXI4-Stream:面向高速流数据传输;去掉了地址项,允许无限制的数据突发
    传输规模。
1.1.2 总线接口介绍
  • AXI4 总线和 AXI4-Lite 总线具有相同的组成部分
    (1)读地址通道,包含 ARVALID, ARADDR, ARREADY 信号。
    (2)写地址通道,包含 AWVALID,AWADDR, AWREADY 信号。
    (3)读数据通道,包含 RVALID, RDATA, RREADY, RRESP 信号。
    (4)写数据通道,包含 WVALID, WDATA,WSTRB, WREADY 信号。
    (5)应答通道,包含 BVALID, BRESP, BREADY 信号。
    (6)系统通道,包含:ACLK,ARESETN 信号。
  • AXI4-Stream 总线的组成
    (1)ACLK 信号:总线时钟,上升沿有效。
    (2)ARESETN 信号:总线复位,低电平有效。
    (3)TREADY 信号:从机告诉主机做好传输准备。
    (4)TDATA 信号:数据,可选宽度 32,64,128,256bit。
    (5)TSTRB 信号:每一 bit 对应 TDATA 的一个有效字节,宽度为 TDATA/8。
    (6)TLAST 信号:主机告诉从机该次传输为突发传输的结尾。
    (7)TVALID 信号:主机告诉从机数据本次传输有效。
    (8)TUSER 信号 :用户定义信号,宽度为 128bit。
  • AXI 协议将读地址通道,读数据通道,写地址通道,写数据通道,写响应通道分开,各自通道都有自己的握手协议。每个通道互不干扰却又彼此依赖。这也是 AXI 高效的原因之一。
1.1.3 AXI4的握手机制
  • 传输源产生 VLAID 信号来指明何时数据或控制信息有效。而目地源产生 READY 信号来指明已经准备好接受数据或控制信息。传输发生在 VALID 和 READY 信号同时为高的时候。
  • VALID 和 READY 信号的出现有三种关系(在箭头处信息传输发生):
    (1)VALID 先变高 READY 后变高。
    Xilinx AXI4总线概述_第1张图片
    (2)READY 先变高 VALID 后变高。
    Xilinx AXI4总线概述_第2张图片
    (3) VALID 和 READY 信号同时变高。
    Xilinx AXI4总线概述_第3张图片
1.1.4 AXI4突发式读写
  • 突发式读时序图:
    Xilinx AXI4总线概述_第4张图片
    当地址出现在地址总线后,传输的数据将出现在读数据通道上。设备保持 RVALID 为低直到读数据有效。为了表明一次突发式读写的完成,设备用 RLAST 信号来表示最后一个被传输的数据。
  • 突发式写时序图:
    Xilinx AXI4总线概述_第5张图片
    开始时主机发送地址和控制信息到写地址通道中,然后主机发送每一个写数据到写数据通道中。当主机发送最后一个数据时,WLAST 信号就变为高。当设备接收完所有数据之后他将一个写响应BRESP发送回主机来表明写事务完成。

1.2 ZYNQ与AXI4

1.2.1 ZYNQ的外部总线接口
  • ZYNQ支持AXI4-Lite,AXI4和AXI4-Stream三种总线协议,但PS和PL之间的接口(AXI-GP、AXI-HP、AXI-ACP)只支持AXI4和AXI4-Lite这两种协议。因此AXI4-Stream与它们互联时,需要进行协议转换。
  • ZYNQ 有 ARM+FPGA的架构,它们之间通过3种AXI4总线进行通信。
    (1)AXI-GP接口(4 个):是通用的 AXI 接口,包括两个 32 位主设备接口和两个 32 位从设备接口,使用该接口可以访问 PS 中的片内外设。
    (2)AXI-HP接口(4 个):是高性能带宽的标准的接口,PL 模块作为主设备连接(从下图中箭头可以看出)。主要用于 PL 访问 PS 上的存储器(DDR和OCM)。
    (3)AXI-ACP接口(1 个):是 ARM 多核架构下定义的一种接口,用来管理 DMA之类的不带缓存的 AXI 外设,PS 端是 Slave 接口。
    Xilinx AXI4总线概述_第6张图片
1.2.2 AXI Interconnect
  • ,AXI 总线协议的两端可以分为分为主(master)、从(slave)两端,他们之间一般需要通过一个AXI Interconnect IP核相连接,作用是提供将一个或多个 AXI 主设备连接到一个或多个 AXI 从设备的一种交换机制。
  • AXI Interconnect的主要作用是,当存在多个主机以及从机器时,AXI Interconnect 负责将它们联系并管理起来。由于 AXI 支持乱序发送,乱序发送需要主机的 ID 信号支撑,而不同的主机发送的 ID 可能相同,而 AXI Interconnect解决了这一问题,它会对不同主机的 ID 信号进行处理让 ID 变得唯一。
    Xilinx AXI4总线概述_第7张图片

2 AXI-Lite源码分析

你可能感兴趣的:(Xilinx,嵌入式设计相关)