zoukankan      html  css  js  c++  java
  • zynq里面的AXI总线(2017-1-11)

    在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议。其中三种AXI总线分别为:

    AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输;

    AXI4-Lite:(For simple, low-throughput memory-mapped communication )是 一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。

    AXI4-Stream:(For high-speed streaming data.)面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。

    说AXI4总线和AXI4-Lite总线具有相同的组成部分: 

    (1)读地址通道,包含ARVALID, ARADDR, ARREADY信号;

    (2)读数据通道,包含RVALID, RDATA, RREADY, RRESP信号;

    (3)写地址通道,包含AWVALID,AWADDR, AWREADY信号;

    (4)写数据通道,包含WVALID, WDATA,WSTRB, WREADY信号;

    (5)写应答通道,包含BVALID, BRESP, BREADY信号;

    (6)系统通道,包含:ACLK,ARESETN信号。

    AXI4总线和AXI4-Lite总线的信号也有他的命名特点:

    读地址信号都是以AR开头(A:address;R:read)

    写地址信号都是以AW开头(A:address;W:write)

    读数据信号都是以R开头(R:read)

    写数据信号都是以W开头(W:write)

    应答型号都是以B开头(B:back(answer back)) 

    而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。

    对于AXI4-Stream总线命名而言,除了总线时钟和总线复位,其他的信号线都是以T字母开头,后面跟上一个有意义的单词,看清这一点后,能帮助读者记忆每个信号线的 意义。如TVALID = T+单词Valid(有效)。

    AXI 接口介绍

    三种AXI接口分别是:

    AXI-GP接口(4个):是通用的AXI接口,包括两个32位主设备接口和两个32位从设备接口,用该接口可以访问PS中的片内外设。(AXI4)

    AXI-HP接口(4个):是高性能/带宽的标准的接口,PL模块作为主设备连接(从下图中箭头可以看出)。(AXI4-Lite)

              主要用于PL访问PS上的存储器(DDR和On-Chip RAM)

    AXI-ACP接口(1个)(AXI4-Stream):是ARM多核架构下定义的一种接口,中文翻译为加速器一致性端口,用来管理DMA(direct memory access)之类的不带缓存的AXI外设,PS端是Slave接口。 我们可以双击查看ZYNQ的IP核的内部配置,就能发现上述的三种接口。

    从图中可以看出,右边一个,下方有两个

    AXI 协议概述

    讲到协议不可能说是撇开总线单讲协议,因为协议的制定也是要建立在总线构成之 上的。虽然说AXI4,AXI4-Lite,AXI4-Stream都是AXI4协议,但是各自细节上还是不同的。

    总的来说,AXI总线协议的两端可以分为分为主(master)、从(slave)两端,他 们之间一般需要通过一个AXI Interconnect相连接,作用是提供将一个或多个AXI主设 备连接到一个或多个AXI从设备的一种交换机制。当我们添加了zynq以及带AXI的IP后再 进行自动连线时vivado会自动帮我们添加上这个IP。

    AXI Interconnect的主要作用是,当存在多个主机以及从机器时,AXI Interconnect负责将它们联系并管理起来。

    由于AXI支持乱序发送,乱序发送需要主机 的ID信号支撑,而不同的主机发送的ID可能相同,而AXI Interconnect解决了这一问题, 他会对不同主机的ID信号进行处理让ID变得唯一。

    AXI协议将读地址通道,读数据通道,写地址通道,写数据通道,写响应通道分开, 各自通道都有自己的握手协议。

    每个通道互不干扰却又彼此依赖。这也是AXI高效的原 因之一。

    AXI 协议之握手协议

    AXI4所采用的是一种READY,VALID握手通信机制,简单来说主从双方进行数据通信 前,有一个握手的过程。当接收到READY信号后,再进行数据交互。如下图所示:

    需要强调的是,AXI的五个通道,每个通道都有握手机制,接下来我们就来分析一 下AXI-Lite的源码来更深入的了解AXI机制。

    incremental:增加的

     Wrapping:包装用的,包裹的;

  • 相关阅读:
    thinkphp引入phpmailer发送邮件
    让火狐的DIV被内容自动撑开
    mysql 日期操作 增减天数、时间转换、时间戳
    [MySQL] 几句MySQL时间筛选SQL语句[进入查看]
    公钥和私钥
    SSI整合搭建Struts2+Spring+Ibatis框架
    目前 NORTON SEP 及各类产品 离线升级包下载及升级方法
    Spring 3.1.1 + Struts 2.3.1.2 + Hibernate 4.1 整合(SSH)
    IIS与asp.net3.5的问题
    SSI框架整合
  • 原文地址:https://www.cnblogs.com/hai5111/p/6273558.html
Copyright © 2011-2022 走看看