一、AMBA概述

 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构

 AHB (Advanced High-performance Bus) 高级高性能总线

 ASB (Advanced System Bus) 高级系统总线

 APB (Advanced Peripheral Bus) 高级外围总线

 AXI (Advanced eXtensible Interface) 高级可拓展接口

 这些内容加起来就定义出一套为了高性能SoC而设计的片上通信的标准。

 AHB主要是针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、芯片上或芯片外的内存模块和DMA等高效率模块。

 APB主要用在低速且低功率的外围,可针对外围设备作功率消耗及复杂接口的最佳化。APB在AHB和低带宽的外围设备之间提供了通信的桥梁,所以APB是AHB或ASB的二级拓展总线

 AXI:高速度、高带宽,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多。

几种AMBA总线的性能对比分析

总线 AXI AHB APB
总线宽度 8, 16, 32, 64, 128, 256, 512, 1024 32, 64, 128, 256 8, 16, 32
地址宽度 32 32 32
通道特性 读写地址通道
读写数据通道均独立
读写地址通道共用读写数据通道 读写地址通道共用读写数据通道
不支持读写并行操作
体系结构 多主/从设备
仲裁机制
多主/从设备
仲裁机制
单主设备(桥)/多从设备
无仲裁
数据协议 支持流水/分裂传输
支持猝发传输
支持乱序访问
字节/半字/字
大小端对齐
非对齐操作
支持流水/分裂传输
支持猝发传输
支持乱序访问
字节/半字/字
大小端对齐
不支持非对齐操作
一次读/写传输占两个时钟周期
不支持突发传输
传输方式 支持读写并行操作 不支持读写并行操作 不支持读写并行操作
时序 同步 同步 同步
互联 多路 多路 无定义

二、AXI总线

AXI的三种类型

 AXI(AXI4-Full):用于高性能的存储器映射需求;(占用资源较多,传输大量数据)

 AXI4-Lite:简化版的AXI4接口;(占用资源较少,可用于低吞吐率的存储器的通信)

 AXI4-Stream:用于高速的流数据通信(不使用地址,适用于视频流)

AXI的工作方式

AXI4和AXI4-Lite包含5个独立的通道

 读地址通道
 读数据通道
 写地址通道
 写数据通道
 写响应通道

 AXI4:由于读写地址通道是分离的,所以支持双向同时传输;突发长度最大为256;

 AXI4-Lite:和AXI4比较类似,但是不支持突发传输;

 AXI4-Stream:和AXI4的写数据通道比较类似,只有一个单一的数据通道,突发长度不受限制;

三、AHB总线

AHB的组成

 Master:能够发起读写操作,提供地址和控制信号,同一时间只有1个Master会被激活。

 Slave:在给定的地址范围内对读写操作作响应,并对Master返回成功、失败或者等待等状态。

 Arbiter:负责保证总线上一次只有1个Master在工作。仲裁协议是规定的,但是仲裁算法可以根据应用决定。

 Decoder:负责对地址进行解码,并提供片选信号到各Slave。

 每个AHB都需要1个仲裁器和1个中央解码器。

AHB基本信号

 HADDR:32位系统地址总线

 HTRANS:M指示传输状态,NONSEQ、SEQ、IDLE、BUSY

 HWRITE:传输方向1-写,0-读

 HSIZE:传输单位

 HBURST:传输的burst类型

 HWDATA:写数据总线,从M写到S

 HREADY:S应答M是否读写操作传输完成,1-传输完成,0-需延长传输周期。需要注意的是HREADY作为总线上的信号,它是M和S的输入;同时每个S需要输出自HREADY。所以对于S会有两个HREADY信号,一个来自总线的输入,一个自己给到多路器的输出。

 HRESP:S应答当前传输状态,OKAY、ERROR、RETRY、SPLIT。

 HRDATA:读数据总线,从S读到M。

AHB基本传输

 两个阶段

 地址周期(AP),只有一个cycle

 数据周期(DP),由HREADY信号决定需要几个cycle

 流水线传送

 先是地址周期,然后是数据周期

AHB突发传输与AXI突发传输的特点

 AHB协议需要一次突发传输的所有地址,地址与数据锁定对应关系,后一次突发传输必须在前次传输完成才能进行。

 AXI只需要一次突发的首地址,可以连续发送多个突发传输首地址而无需等待前次突发传输完成,并且多个数据可以交错传递,此特征大大提高了总线的利用率。

 AHB总线与AXI总线均适用于高性能、高带宽的SoC系统,但AXI具有更好的灵活性,而且能够读写通道并行发送,互不影响;更重要的是,AXI总线支持乱序传输,能够有效地利用总线的带宽,平衡内部系统。因此SoC系统中,均以AXI总线为主总线,通过桥连接AHB总线与APB总线,这样能够增加SoC系统的灵活性,更加合理地把不同特征IP分配到总线上。

四、APB总线

 主要应用在低带宽的外设上,如UART、 I2C,它的架构不像AHB总线是多主设备的架构,APB总线的唯一主设备是APB桥(与AXI或APB相连),因此不需要仲裁一些Request/grant信号。APB的协议也十分简单,甚至不是流水的操作,固定两个时钟周期完成一次读或写的操作。其特性包括:两个时钟周期传输,无需等待周期和回应信号,控制逻辑简单,只有四个控制信号。APB上的传输可用如图所示的状态图来说明。

1、系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。

2、当有传输要进行时,PSELx=1,,PENABLE=0,系统进入SETUP状态,并只会在SETUP状态停留一个周期。当PCLK的下一个上升沿到来时,系统进入ENABLE状态。

3、系统进入ENABLE状态时,维持之前在SETUP状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。

参考原文链接:https://blog.csdn.net/ivy_reny/article/details/56274412

AHB、APB、AXI三种协议对比分析(AMBA总线)相关推荐

  1. APS计划排程系统之下的MRPII、JIT、TOC三种方式对比分析

    1.生产物流计划的制订方式对比 ①MRPII采用的是集中式的物料计划方式,建立好产品加工程序,在电脑中确定好准确的订单需求和库存量,对各个生产单元传送生产指令: ②JIT利用的是看板管理控制方式,按照 ...

  2. 【Leach协议】基于matlab leach+leach-c+TSI-Leach三种协议对比【含Matlab源码 2512期】

    ⛄一. 简介 1 引言 WSN 由能感知外部环境的传感器节点以自组网的形式构成,是一种分布式无线传感器网络.随着科技的进步和现代生活的需求,由于 WSN 的远程控制.信息即时传播以及低功耗等众多优点, ...

  3. Aurora 8B/10B、PCIe 2.0、SRIO 2.0三种协议比较

    在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PC ...

  4. Storm与Spark、Hadoop三种框架对比

    目录 Storm与Spark.Hadoop三种框架对比 一.Storm与Spark.Hadoop三种框架对比 二.hadoop的应用业务分析 二.浅谈Hadoop的基本原理 Hadoop与Storm的 ...

  5. 元素隐藏的三种方式对比(针对移动端项目中的按钮,先隐藏且不能被点击 visibility:hidden)

    元素隐藏的三种方式对比 display:none opacity:0 visibility:hidden 项目需求 表面一个图片遮罩,鼠标hover遮罩消失,内部元素展现,其中有一个按钮在移动端是手指 ...

  6. 关于Qt的三种协议以及是否收费

    关于Qt的三种协议以及是否收费,有以下引文: 引文一:     最近一直在学习 Qt.Qt 有两个许可证:LGPL 和商业协议.这两个协议在现在的 Qt 版本中的代码是完全一致的(潜在含义是,Qt 的 ...

  7. 【老生谈算法】matlab实现EKF UKF PF三种算法对比源码——EKF UKF PF算法

    EKF UKF PF三种算法对比 matlab程序 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]EKF-UKF-PF三种算 ...

  8. 宇视录像机多种协议添加摄像机(只介绍常用的宇视、onvif、GB28181三种协议)

    一种协议:相机宇视协议添加至宇视录像机 IPV4地址:相机地址 端口:80 用户名:admin 密码:摄像机admin登录web界面的密码(此处的用户名.密码是摄像机的参数不是录像机的用户名.密码) ...

  9. python miio 连接小米网关_智能家居沟通不再难,小米米家智能多模网关发布,三种协议全支持...

    智能家居产品面世很多年了,从期待中的红火到现在的不温不火,其中一个重要的原因就在于各个产品使用不同的协议.不用厂商根据不同的考量,有的选择了Zigbe协议,有的选了WiFi,而有的则选择了蓝牙.这样的 ...

最新文章

  1. 【迁移2018-04-12 10:46:11】BeanCopier之MapStruct(一)
  2. 滴水穿石-05数组排序
  3. phpstudy安装ssl证书_新版Siteground一键安装免费SSL证书 网站https安全访问
  4. solaris安装java_Solaris是出色的Java开发平台的原因
  5. Cloud一分钟 |亚马逊市值被微软反超;GKE全球大宕机长达19小时;苹果市值跌破9000亿美元...
  6. 助力双十一,促销海报设计模板收好!
  7. 机器学习 正则化(regularization)
  8. 17R-无重复数字的三位数和去重后最大数
  9. Abaqus二次开发的一些自制脚本
  10. 线性回归中的梯度爆炸
  11. LayaIDE + FGUI + Laya-SimpleFramework-Fairygui框架
  12. 不卡顿成用户购机第一要素,Mate 9深得人心
  13. 两向量叉乘的计算公式_向量的叉乘运算法则
  14. Django验证码*异步方案Celery之Celery介绍和使用(Celery介绍、创建Celery实例并加载配置、加载Celery配置、定义发送短信任务、启动Celery服务、调用发送短信任务)
  15. Android最新技术-Android11周
  16. 关于微信小程序与Java后台交互数据中中文乱码问题的讨论
  17. 转置矩阵,逆矩阵和倒转置矩阵
  18. pdf根据书签创建目录结构(方便查看各个主题的页码分布)pdf_xchange
  19. 2022-2028全球与中国生物基聚氨酯(PU)市场现状及未来发展趋势
  20. csv存储数据代码步骤

热门文章

  1. 摸鱼有理:大脑一思考就在积累毒素,必须休息才能清除|Cell子刊
  2. H.266/VVC代码学习17:帧内亮度预测的编解码(intra_luma_pred_modes)
  3. 【CC2530/ZigBee】任务①
  4. iOS12 验证码无法填充的问题 苹果坑爹匹配算法
  5. PPT文档怎么转换成PDF文件?告诉你3种好用的方法
  6. 火狐浏览器与驱动对应版本,自动化测试浏览器驱动下载
  7. 电脑出现Windows Xp后就黑屏,进不了系统的解决办法
  8. java filledrectangle_java – Cafe Wall Illusion
  9. All of a Sudden
  10. Win7 删除wifi热点