Zynq-7000 AXI总线接口和协议

amba_axi4.pdf,本文图片来源
Zynq支持三种AXI总线,拥有三种AXI接口。

AXI4:(For high-performance memory-mapped reqirements)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输。
AXI4_Lite:(For simple,low-throughput memory-mapped communicatin)是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。
AXI4_Stream:(For high-speed streaming data)面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。

  • AXI4总线和AXI4_Lite相同组成部分:
  1. 读地址通道,包含ARVALID,ARADDR,ARREADY信号
  2. 读数据通道,包含RCALID,RDATA,RREADY,RRESR信号
  3. 写数据通道,包含AWVALID,AWADDR,AWREADY信号
  4. 写数据通道,包含WVALID,WDATA,WSTEB信号
  5. 写应答通道,包含BVALID,BRESP,BREADY信号
  6. 系统通道,包含:ACLK,ARESETN信号
  • AXI4和AXI4_Lite 总线信号的命名特点
  1. 读地址信号都是以AR开头 (A: address; R: read)
  2. 写地址信号都是以AW开头 (A:address; W:write)
  3. 读数据信号都是以R开头 (R:read)
  4. 写数据信号都是以W开头 (W:write)
  5. 应答型号都是以B开头 (B: back (answer back))
  • AXI4-stream 总线的组成有:
  1. ACLK信号:总线时钟,上升沿有效。
  2. ARESETN信号:总线复位,低电平有效。
  3. TREADY信号:从机告诉主机做好传输准备
  4. TDATA信号:数据,可选宽度32,64,128,256bit
  5. TSTRB信号:每一bit对应DATA的一个有效字节,宽度为TDATA/8
  6. TLAST信号:主机告诉从机该次传输为突发传输的结尾
  7. TVALID信号:主机告诉从机数据本次传输有效
  8. TUSER信号:用户定义信号,宽度为128 bit。
    综上:AXI4-stream总线除了总线时钟和总线复位,其他信号都是以T字母开头,辅以单词表示
    Zynq-7000 AXI总线接口和协议_第1张图片
    AXI-ACP 是ARM多核架构下定义的一种接口,即加速器一致性端口,用于管理DMA之类的不带缓存的AXI外设。
    AFI(AXI_GP)接口主要用于PL访问PS上的寄存器(DDR和On-Chip RAM)
  • AXI协议综述
    协议在总线结构上制定,AXI总线协议分主(master)从(salve)两端,通过AXI InterConnect相连接,其作用在于连接一个/多个主设备到一个/多个从设备,当存在多个主从设备时,对于支持乱序发送的AXI而言可能会存在相同主机ID,所以需要这个控制器对不同主机的ID信号进行唯一化。vivado在auto connect时会自动添加IP。

AXI 协议将读写地址通道,读数据通道,写地址通道,写数据通道,写响应通道分开。每个通道单独握手,互不干涉,彼此依赖。

  • AXI协议之握手协议
    AXI4采用READY,VALID握手通讯机制。主从双方进行数据通信前,产生握手过程。
    • 传输源产生VALID信号说明何时数据或控制信息有效
    • 目标源产生REDAY信号说明已经做好准备接收或控制信息。
    • 传输过程在VALID和READY信号同时为高的情况下开始。
      AXI机制
  • 突发式读写
    突发式读时序图
    Zynq-7000 AXI总线接口和协议_第2张图片
    当地址出现在地址总线后,传输的数据将出现在读数据通道上。设备保持VALID为地直到读有效,为表明一次突发式读完成,设备用RLAST信号来表示最后一个被传输的数据
    突发式写时序图
    Zynq-7000 AXI总线接口和协议_第3张图片
    主机发送地址和控制信息到写地址通道,然后主机发送每一个写数据到写数据通道中。当主机发送最后一个数据时,WLSAT信号就要变高。当设备接收完所有数据之后将一个写相应发送回主机来表明是写完成。

你可能感兴趣的:(FPGA-ZYNQ,zynq)