AHB、APB、AXI三种协议对比分析(AMBA总线)
一、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总线)相关推荐
- APS计划排程系统之下的MRPII、JIT、TOC三种方式对比分析
1.生产物流计划的制订方式对比 ①MRPII采用的是集中式的物料计划方式,建立好产品加工程序,在电脑中确定好准确的订单需求和库存量,对各个生产单元传送生产指令: ②JIT利用的是看板管理控制方式,按照 ...
- 【Leach协议】基于matlab leach+leach-c+TSI-Leach三种协议对比【含Matlab源码 2512期】
⛄一. 简介 1 引言 WSN 由能感知外部环境的传感器节点以自组网的形式构成,是一种分布式无线传感器网络.随着科技的进步和现代生活的需求,由于 WSN 的远程控制.信息即时传播以及低功耗等众多优点, ...
- Aurora 8B/10B、PCIe 2.0、SRIO 2.0三种协议比较
在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PC ...
- Storm与Spark、Hadoop三种框架对比
目录 Storm与Spark.Hadoop三种框架对比 一.Storm与Spark.Hadoop三种框架对比 二.hadoop的应用业务分析 二.浅谈Hadoop的基本原理 Hadoop与Storm的 ...
- 元素隐藏的三种方式对比(针对移动端项目中的按钮,先隐藏且不能被点击 visibility:hidden)
元素隐藏的三种方式对比 display:none opacity:0 visibility:hidden 项目需求 表面一个图片遮罩,鼠标hover遮罩消失,内部元素展现,其中有一个按钮在移动端是手指 ...
- 关于Qt的三种协议以及是否收费
关于Qt的三种协议以及是否收费,有以下引文: 引文一: 最近一直在学习 Qt.Qt 有两个许可证:LGPL 和商业协议.这两个协议在现在的 Qt 版本中的代码是完全一致的(潜在含义是,Qt 的 ...
- 【老生谈算法】matlab实现EKF UKF PF三种算法对比源码——EKF UKF PF算法
EKF UKF PF三种算法对比 matlab程序 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]EKF-UKF-PF三种算 ...
- 宇视录像机多种协议添加摄像机(只介绍常用的宇视、onvif、GB28181三种协议)
一种协议:相机宇视协议添加至宇视录像机 IPV4地址:相机地址 端口:80 用户名:admin 密码:摄像机admin登录web界面的密码(此处的用户名.密码是摄像机的参数不是录像机的用户名.密码) ...
- python miio 连接小米网关_智能家居沟通不再难,小米米家智能多模网关发布,三种协议全支持...
智能家居产品面世很多年了,从期待中的红火到现在的不温不火,其中一个重要的原因就在于各个产品使用不同的协议.不用厂商根据不同的考量,有的选择了Zigbe协议,有的选了WiFi,而有的则选择了蓝牙.这样的 ...
最新文章
- 【迁移2018-04-12 10:46:11】BeanCopier之MapStruct(一)
- 滴水穿石-05数组排序
- phpstudy安装ssl证书_新版Siteground一键安装免费SSL证书 网站https安全访问
- solaris安装java_Solaris是出色的Java开发平台的原因
- Cloud一分钟 |亚马逊市值被微软反超;GKE全球大宕机长达19小时;苹果市值跌破9000亿美元...
- 助力双十一,促销海报设计模板收好!
- 机器学习 正则化(regularization)
- 17R-无重复数字的三位数和去重后最大数
- Abaqus二次开发的一些自制脚本
- 线性回归中的梯度爆炸
- LayaIDE + FGUI + Laya-SimpleFramework-Fairygui框架
- 不卡顿成用户购机第一要素,Mate 9深得人心
- 两向量叉乘的计算公式_向量的叉乘运算法则
- Django验证码*异步方案Celery之Celery介绍和使用(Celery介绍、创建Celery实例并加载配置、加载Celery配置、定义发送短信任务、启动Celery服务、调用发送短信任务)
- Android最新技术-Android11周
- 关于微信小程序与Java后台交互数据中中文乱码问题的讨论
- 转置矩阵,逆矩阵和倒转置矩阵
- pdf根据书签创建目录结构(方便查看各个主题的页码分布)pdf_xchange
- 2022-2028全球与中国生物基聚氨酯(PU)市场现状及未来发展趋势
- csv存储数据代码步骤
热门文章
- 摸鱼有理:大脑一思考就在积累毒素,必须休息才能清除|Cell子刊
- H.266/VVC代码学习17:帧内亮度预测的编解码(intra_luma_pred_modes)
- 【CC2530/ZigBee】任务①
- iOS12 验证码无法填充的问题 苹果坑爹匹配算法
- PPT文档怎么转换成PDF文件?告诉你3种好用的方法
- 火狐浏览器与驱动对应版本,自动化测试浏览器驱动下载
- 电脑出现Windows Xp后就黑屏,进不了系统的解决办法
- java filledrectangle_java – Cafe Wall Illusion
- All of a Sudden
- Win7 删除wifi热点