AMBA、AHB、APB、AXI总线介绍和对比
一、引出
研究STM32H7的总线系统,对AXI、AHB、APB、ASB有点兴趣,于是去简单了解了一下,总结如下:
说到AXI、AHB、APB、ASB就得先说AMBA(Advanced Microcontroller Bus Architecture高级处理器总线架构),它是ARM推出的一种片上总线标准,AMBA规范主要包括了:
AHB (Advanced High-performance Bus) 高级高性能总线
ASB (Advanced System Bus) 高级系统总线
APB (Advanced Peripheral Bus) 高级外围总线
AXI (Advanced eXtensible Interface) 高级可拓展接口
1、AHB主要是针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、芯片上或芯片外的内存模块和DMA等高效率模块。
2、ASB 总线适用于连接高性能的系统模块。它的读/写数据总线采用的是同一条双向数据总线,可以在某些高速且不必要使用AHB 总线的场合作为系统总线,可以支持处理器、片上存储器和片外处理器接口及与低功耗外部宏单元之间的连接。
3、APB主要用在低速且低功率的外围,可针对外围设备作功率消耗及复杂接口的最佳化。APB在AHB和低带宽的外围设备之间提供了通信的桥梁,所以APB是AHB或ASB的二级拓展总线。
4、AXI:高速度、高带宽,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多。
几种AMBA总线的性能对比分析:
二、下面一个典型的基于AMBA总线的SOC系统架构:
从上面的架构图可知:
1、这个SOC架构以AHB为主干,上面挂着CPU、片上内存和其他DMA设备。
2、AHB主要是针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、芯片上或芯片外的内存模块和DMA等高效率模块。
3、AMBA中的APB主要用在低速且低功率的外围,可针对外围设备功率消耗及复杂接口的最佳化。
4、APB在AHB和低带宽的外围设备之间提供了通信的桥梁,所以APB是AHB或者ASB的二级扩展总线。
三、下面来介绍一下AHB总线组成:
在上图中:
Master(主机):能够发起读写操作,提供地址和控制信号,同一时间只有1个Master会被激活。
Slave(从机):在给定的地址范围内对读写操作作响应,并对Master返回成功、失败或者等待等状态。
Arbiter(仲裁机):负责保证总线上一次只有1个Master在工作。仲裁协议是规定的,但是仲裁算法可以根据应用决定。
Decoder(解码器):负责对地址进行解码,并提供片选信号到各Slave。
每个AHB都需要1个仲裁器和1个中央解码器。
四、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
https://wenku.baidu.com/view/f56ec4808762caaedd33d4e8.html?sxts=1560500521295
AMBA、AHB、APB、AXI总线介绍和对比相关推荐
- 36_2 On Chip Bus —— AXI总线介绍
目录 1.AXI总线介绍(读2写3) 1.1流量控制 1.2 AXI signals 信号线 1.3重点信号线的介绍 1.4原子操作--让读改写一套操作 永远是一个master对一个slave 1.5 ...
- AMBA 系列之 AXI 总线协议
目录 0.绪论 1.简介 1.1 AXI协议特点 1.2 AXI 读写架构 1.3 接口和互联 1.4 复位 2. 信号描述 2.1 全局信号 2.2 写地址通道信号 2.3 写数据通道信号 2.4 ...
- AMBA 系列之 AXI 总线协议初探
目录 0.绪论 1.简介 1.1 AXI协议特点 1.2 AXI 读写架构 1.3 接口和互联 1.4 复位 2. 信号描述 2.1 全局信号 2.2 写地址通道信号 2.3 写数据通道信号 2.4 ...
- FPGA 常用AXI总线介绍
1.1 FPGA复位激励编写(方法三) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA复位激励编写(方法三): 5)结束语. 1.1.2 本节引言 " ...
- AMBA:AXI/AHB/APB学习笔记
AMBA.AXI.AHB.APB学习笔记 AMBA总线:各模块之间的连接 AHB 特性: 组成部分: AXI APB AMBA总线:各模块之间的连接 advanced microcontroller ...
- AXI总线技术简介——ZYNQ PS和PL的互联技术
AXI总线技术简介--ZYNQ PS和PL的互联技术 1.AXI总线介绍 2.AXI协议通道介绍 3.ZYNQ芯片内部的AXI总线 4.常用AXI接口IP介绍 5. 多个AXI接口互联交互 1.AXI ...
- AHB、APB、AXI三种协议对比分析(AMBA总线)
一.AMBA概述 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构 AHB (Advanced High-performance ...
- 深度解读AMBA、AHB、APB、AXI总线
什么是AMBA? 现如今,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SoC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最关键 ...
- ARM amba总线介绍
ARM amba总线介绍 什么是AMBA片上总线? 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛 ...
最新文章
- 来看看几篇Nature上的GNN吧~
- MySQL的库表详细操作
- 判断一个字符串是否全部相同
- 接口之用例编写、验证
- 53. 最大子数组和(JavaScript)
- 树状结构搜索功能_ICLR 2020 高分论文!利用稀疏多层次Transformer结构获取语法树!...
- SQL Server分组查询
- Win10打开nvidia控制面板闪退怎么解决
- html5判断屏幕锁屏,js实现自动锁屏功能
- 成考专升本高等数学公式笔记
- 四川300家旅游企业上“云端”转型信息化
- rpc error: code = Unimplemented desc =
- [源码和文档分享]基于JAVA实现的图形化页面置换算法
- CSP 2018-9-4 再卖菜 搜索 + 剪枝
- 计算机学院早操规定,计算机学院早操动员大会顺利召开
- 为JBoot系统增加启动任务
- 如何安装R语言以及Rstudio的安装
- EXCEL生成正态分布随机数据
- python 正则表达式生成器_正则表达式生成器
- HTTP通信安全和Web攻击技术
热门文章
- markdown 图片居中_Markdown常用语法汇总
- java数组去重_数组去重12种方案-你要的全在这
- ios腾讯云文件服务器,使用axios 上传文件到腾讯云
- java mysql 自动提交_Mybatis的JDBC提交设置/关闭mysql自动提交------关于mysql自动提交引发的惨剧...
- 首届丘成桐女子中学生数学竞赛成绩出炉,成都七中成最大赢家,摘得1金2银1优胜...
- 今年,就没有一款能打的5G旗舰机吗?
- JupyterLab 3.0发布:支持中文界面,安装插件无需Node.js
- 拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...
- 细思极恐!只需54块钱,你也能让AI伪造一系列联合国发言
- 隔空操控iPhone!苹果新获悬停手势专利