2511|0

56

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

玩转Zynq连载3——AXI总线协议介绍1 [复制链接]

 

1 AXI协议简介

         AMBA AXIAdvanced eXtensible Interface)协议是一种面向高性能、高带宽系统设计的总线协议,能够满足各种高速系统的总线互联。

         AXI协议的主要特点有:

         独立的地址、控制和数据接口

         支持使用字节选通的不对齐数据的传输

         ● 基于特定地址进行的突发传输

         通过独立的读和写通道实现低成本直接内存访问(DMA

         支持无序数据传输

         提供多级寄存器锁存的支持,实现更好的时序收敛

 

1.1 AXI版本介绍

         AXI协议是Xilinx6系列的FPGA开始引入的一个接口协议(AXI3)。在ZYNQ中继续使用,版本是AXI4ZYNQ内部设备都有AXI接口。AXI4-Lite则是AXI4的一个简化版本,实现AXI4运行起来的最少接口信号,对于传输控制要求不高的应用,方便实用。

 

1.2 基本结构

         AXI协议是基于突发传输的。每一次传输,地址通道上有地址和控制信息,描述了被传输数据的特性。数据将在主机和从机之间传输,数据传输的方向则是从写数据通道到从机或从读数据通道到主机。在写传输中,主机到从机发送数据流。额外的写响应通道,反馈从机信号的状态,完成写传输。

         AXI协议可以实现以下功能:

    在有效数据传输前提供地址信息

    支持多个数据的传输

    支持无序传输

         如图所示,显示了一个读传输如何使用读地址和读数据通道。

         如图所示,显示了一个写传输如何使用写地址、写数据和写响应通道。

 

1.2.1 通道定义

         AXI协议一共定义了5个独立的通道,每一个通道都是由一组控制和响应信号组成的,使用双向的有效(VALID)信号和准备好(READY)信号实现握手机制。

         发送端使用有效信号来指示何时有效数据或者控制信息在通道中是有效的。接收端使用准备好信号来指示何时可以接收数据。读数据通道和写数据通道都包含一个结束(LAST)信号来指示何时一个传输中的最后一个数据出现。

 

读和写地址通道

         每一个读和写传输都有独立的地址通道。地址通道上有一个传输所需要的全部的地址和控制信息。AXI协议支持以下地址传输机制:

    1~16个可变数据个数的突发传输

    8~1024bits可变数据位宽的突发传输

    跳变、递增和非递增的突发传输

    专用的或锁定的传输控制

    系统级的缓存、缓冲控制

    安全的、专有的传输控制

 

读数据通道

         读数据通道包含读数据和从从机返回给主机的全部读响应信息。读数据通道包含:

    ● 读数据总线,总线宽度可以是8163264128256512或者1024bits

    ● 用于指示读传输完成状态的一个读响应信号

 

写数据通道

         写数据通道实现从主机到从机的写数据。写数据通道包含:

    ● 写数据总线,总线宽度可以是8163264128256512或者1024bits

    为每8bits数据提供一个有效标识位,标示数据总线的每个byte是否有效

         写数据通道信息会被接收端缓存,因此主机在进行写传输时,无需确认上一次写传输的状态。

 

写响应通道

         写响应通道提供了一种让从机对写传输作出响应的机制。所有的写传输都必须基于完成信号的状态确认传输是否成功。每次突发传输都有一次传输完成的信号响应,注意完成信号只在一次突发传输完成后才产生,而不是为一次突发传输中的每个独立的数据产生。

 

 

1.2.2 接口和互联

         一个典型的系统包含数个主机和从机设备,这些设备通过互联总线的形式连接在一起,如图所示。

         AXI协议提供单一接口定义的形式来描述这种互联:

    在主机与互联总线之间

    在从机与互联总线之间

    在主机与从机之间

         大多数系统使用以下三种互联方式中的一种:

    地址和数据总线共享

    地址共享,有多个数据总线

    ● 多层互联,即有多个地址和数据总线

         在大多数系统中,对地址通道的带宽的需求是明显低于数据通道的带宽的。此类系统能够在系统性能与互联复杂性之间达成很好的平衡,通过共享的地址总线与多个数据总线来达成平行数据传输。

 

1.2.3 插入寄存器

         每个AXI通道只会单向传输信息,无需在不同通道间固定关系。这一点很重要,因为这确保了在任意通道间插入寄存器成为可能,虽然这样可能会产生一拍或多拍的时钟延时,但这可以确保在时钟延时和更高的时钟频率实现间做一些灵活的调整,以最大程度的实现系统的优化。

         也可以在互联中的任何必要的地方插入寄存器,使用简单的寄存器隔离关键的时序路径,以实现处理器和高性能存储器间的直接、快速的连接。

 

1.3 基本传输

         下面我们要对AXI协议的每个基本传输做一一介绍。每个传输实例都有VALIDREADY信号的握手机制。不论是地址或者数据的传输都在VALIDREADY信号为高电平的时候发生。

 

1.3.1 读突发脉冲的例程

         如图所示,这是一个4个数据的突发读操作。在这个实例中,主机发送地址信息,然后从机在一个时钟周期之后接收到地址信息。地址信号出现在地址总线后,数据传输则在读数据通道实现。从机保持RVALID信号为低电平,一直到读数据总线RDATA是有效的,则拉高RVALID信号。对于突发传输的最后一个读数据,从机通过RLAST信号的拉高,指示此时数据总线RDATA上传输的是最后一个读数据。

         主机可以通过拉低RREADY信号来减慢从机送数据的速度。在RVALID为高电平时,从机会判断此时RREADY信号是否也为高,若为高,表明此次传输的RDATA数据已经被接收;若为低,则继续保持RVALID为高,并且保持当前的读数据RDATA不变,直到RREADY拉高为止,接着才会送下一个有效数据。

 

1.3.2 重叠读突发传输实例

         如图所示,在从机接收第一个地址后(ARVALIDARREADY都为高电平),主机可以接着发起第二个地址。读数据通道送出的数据会遵循突发传输地址写入的先后,即“先来后到”的原则。

 

1.3.3 写突发脉冲实例

         如图所示,这是一次突发写传输的例子。写操作开始于主机在写地址通道发送一个地址和控制信息。然后主机在写数据通道上发送所有的有效写数据。在主机发送最后一个写入数据时,WLAST信号变成高电平。当从机接收好所有的数据后,从机通过写响应通道将信息反馈给主机,指示写数据已经被接收,写传输完成。



此内容由EEWORLD论坛网友ove学习使我快乐原创,如需转载或用于商业用途需征得作者同意并注明出处

查看本帖全部内容,请登录或者注册
此帖出自FPGA/CPLD论坛
点赞 关注(1)
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表