AXI4的物理传输模型

1、AXI4的组成部分

首先说一下文章是学习《基于AXI4的IP核互联的设计与验证》莫锦辉的学习笔记。文中大部分的知识都是来源于这篇论文,这里学习以便理解AXI4协议。

AXI4是由五个通道构成的:写地址、读地址、写数据、读数据和写数据响应。主机和从机的概念具有区分。每个通道的作用的在后面的传输流程中会有具体的介绍。这里的通道应该是一些小型总线。具体的信号在设计中会偶具体的介绍。

2、AXI4的数据传输流程

AXI4的数据传输采用的是猝发机制,所谓猝发,就是一方发出申请,等待另一方回答。回答后就传输数据。类似于打电话,有一个人打,一个人接。打的人要等待接电话的,接电话的要有人打电话。这里比较特殊的就是写数据响应的发出。这个信号是用来确认主机的数据写入是否成功。但是没有从机的写数据响应,因为主机的数据用户可以直接访问来验证。这里也是区分主从机的一个方法:主机为直接操控、从机为黑盒子。

五个通道的概念解释了AXI4传输数据的基本概念,但是每个通道内部的传输方法还是需要补充的。这里就需要考虑AXI4通道的握手协议。

这里做个简单假设,如果每个通道就是一个时钟线和数据线,也就是IIC协议。这样其实在一个从机的时候是可以工作的。每个通道都可以传输数据。显然,对于需要实现多个设备之间的传输的AXI4总线协议是不够的。这里需要一个可以表示当前通道的工作状态的信号。由于传输的对象只有两个:主机和准备连接的从机,所以需要两个信号来标注。主机的信号为VALID,从机的信号为READY。两个信号均采用高电平有效。即高电平时表示一方准备完成。对于数据位INFORMATION的操作也是随着状态变化而变化的。

VALID有效,数据位开始占用。此时数据已经保持在数据线内。READY有效,数据开始传输。

对于有五个通道的AXI4协议来说,每个通道之间的握手信号是有一定的约束的。例如,在写操作中,主机写地址就绪,写地址有效,写数据就绪这三个信号没有时间依存。而对于从设备必须等待确认写地址有效和写地址就绪后握手成功和写数据有效信号和写数据就绪信号建立连接后再确认写回应有效信号和写数据就绪信号是否建立连接。这段话比较绕,简单理解就是要确保握手成功不违背通道传输的规则。不可能写数据传输握手还没有成功写响应握手就成功了,这违背了写响应的规则。同样的道理也在地址握手和数据握手之间体现。

3、AXI4的传输流程

读猝发传输:

一次读猝发传输四个数据的例子

主机发出读地址为A的请求-----读地址通道处于A地址占用------从机响应数据传输。

这个流程就像主机利用读地址构建了一个单一的单向通道,写数据通道的握手成功与否决定了数据传输与否。这样的优势在于可以选择不同的设备构建临时通道。

显然,可以利用通道的临时性实现两个临时通道的交替进行。这说明从机是支持存储两个甚至更多的地址的。这个功能落到具体的设计就需要一个缓存器来解决了。后面应该会有这部分的具体内容。

写猝发传输:

就是将读猝发的对象对调然后加上写响应。在通道上的原理就是这么简单,但是对于主从机的收发结构来说这里还是有一个比较复杂的内容的。后面可能会介绍这个主机和从机所需的结构。

4、AXI4的小结

AXI4传输的模式是标准的,传输的模式也是多种多样的。其相对于IIC的特点是将数据线拆分为两个通道。相对于UART的优点是加入了时钟线而不需要主机通过人工的方式加入传输波特率。相对于SCCB协议的优点是将地址传输和数据传输分立进行以提高效率。这四种传输协议都有其各自的适用范围。

AXI4协议的物理模型的更多相关文章

  1. AXI协议(一)

    最近弄Zynq,不懂AXI协议Zynq很难玩儿的转.这些笔记主要攻克AXI中的一些难题. 所有的AXI4包含了5个不同的通道:     (1)读/写地址通道(Read/Write address ch ...

  2. AXI总线简介

    AXI全称Advanced eXtensible Interface,是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式.在ZYNQ中继续使用,版本是A ...

  3. 【高速接口-RapidIO】5、Xilinx RapidIO核例子工程源码分析

    提示:本文的所有图片如果不清晰,请在浏览器的新建标签中打开或保存到本地打开 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:Vivado2015.4.2 ...

  4. zynq里面的AXI总线(2017-1-11)

    在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议.其中三种AXI总线分别为: AXI4:(For high-performance memory-mapped requir ...

  5. 5.Xilinx RapidIO核例子工程源码分析

    https://www.cnblogs.com/liujinggang/p/10091216.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:V ...

  6. 【转】AXI_Lite 总线详解

    目录: · 1.前言 · 2.AXI总线与ZYNQ的关系 · 3 AXI 总线和 AXI 接口以及 AXI 协议 · 3.1 AXI 总线概述 · 3.2 AXI 接口介绍 ·3.3 AXI 协议概述 ...

  7. S02_CH12_ AXI_Lite 总线详解

    S02_CH12_ AXI_Lite 总线详解 12.1前言 ZYNQ拥有ARM+FPGA这个神奇的架构,那么ARM和FPGA究竟是如何进行通信的呢?本章通过剖析AXI总线源码,来一探其中的秘密. 1 ...

  8. AXI总线简介、ID分析、DMA、Vivado烧录、系统集成

    转载:https://blog.csdn.net/CrazyUncle/article/details/89918030?depth_1-utm_source=distribute.pc_releva ...

  9. PowerDesigner创建物理模型

    原文:PowerDesigner创建物理模型 Using PowerDesigner Create PDM 1.打开PowerDesigner 按Ctrl+N 创建物理模型 2.创建后修改名称,并在工 ...

  10. 接口与协议学习笔记-AMBA片上通信协议_APB_AHB_AXI_AXI4不同版本(二)

    随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最 ...

随机推荐

  1. JLink OB相关的一些记录

    使用 STM32F103 Bluepill 制作 JLink OB https://github.com/GCY/JLINK-ARM-OB https://stm32duinoforum.com/fo ...

  2. 【framework】TaskStack简介

    1 前言 ​ TaskStack 用于管理 app,一般一个应用程序对应一个 TaskStack,其父容器为 TaskStackContainers(DisplayContent 的子容器),子容器为 ...

  3. spring boot使用自带缓存

    项目地址:https://gitee.com/indexman/spring_boot_in_action 下面就介绍一下如何使用spring boot自带的缓存.按步骤来操作即可,不懂的可以去看项目 ...

  4. RK3568开发笔记(一):瑞芯微RK3568芯片介绍,入手开发板的核心板介绍

    前言   目前主流国产芯片为RV11XX.RK33XX.Hi35XX系列,本系列开启RK3568系列的技术教程笔记分享.  本篇主要介绍RK3568芯片和入手开发板的核心板详细介绍.   RK3568 ...

  5. 公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页)

    前言   上一篇重新安装了CentOS8.2之后,接下来开始安装部署PHP服务器,让公网可以访问到我们部署的PHP服务器首页.   背景   为什么自行搭建,是因为红胖子专业做相关Qt软件以及终端设备 ...

  6. 默认形参和关键字实参,收集参数,命名关键字参数,return自定义返回,全局变量和局部变量,函数名的使用---day10

    1.函数定义处(默认形参在函数的定义) 1.1.函数的调用处(关键字实参在函数的调用处) 2.收集参数 (1)收集参数: (1) 普通收集参数 在参数的前面加一个*,代表的是普通收集参数 作用:收集多 ...

  7. heapq.merge()高效合并有序序列

    import heapq import random # 针对较大的数据集,采用heapq中的merge()方法 # merge()不是对整个合并后的序列排序,而是使用一个堆一次一个元素的生成一个新序 ...

  8. Vue 上传前获取图片宽度尺寸和大小

    参考资料:https://www.cnblogs.com/wyx-remove-love/p/wyx-20190626-1.html    https://blog.csdn.net/qq_22771 ...

  9. 名校AI课推荐 | MIT6.S191《深度学习导论》

    "连续开设5年,对新手友好.易于上手,参加课程的多数学生来自非计算机科学领域--" 推荐一门AI课程--MIT官方深度学习入门课程6.S191<深度学习导论(2022)> ...

  10. 前后端分离项目(七):实现"添加"功能(前端视图)

    好家伙,本篇用于测试"添加"接口,为后续"用户注册"功能做铺垫   (完整代码在最后) 我们要实现"添加"功能 老样子我们先来理清一下思路, ...