一、引出

研究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总线介绍和对比相关推荐

  1. 36_2 On Chip Bus —— AXI总线介绍

    目录 1.AXI总线介绍(读2写3) 1.1流量控制 1.2 AXI signals 信号线 1.3重点信号线的介绍 1.4原子操作--让读改写一套操作 永远是一个master对一个slave 1.5 ...

  2. AMBA 系列之 AXI 总线协议

    目录 0.绪论 1.简介 1.1 AXI协议特点 1.2 AXI 读写架构 1.3 接口和互联 1.4 复位 2. 信号描述 2.1 全局信号 2.2 写地址通道信号 2.3 写数据通道信号 2.4 ...

  3. AMBA 系列之 AXI 总线协议初探

    目录 0.绪论 1.简介 1.1 AXI协议特点 1.2 AXI 读写架构 1.3 接口和互联 1.4 复位 2. 信号描述 2.1 全局信号 2.2 写地址通道信号 2.3 写数据通道信号 2.4 ...

  4. FPGA 常用AXI总线介绍

    1.1 FPGA复位激励编写(方法三) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA复位激励编写(方法三): 5)结束语. 1.1.2 本节引言 " ...

  5. AMBA:AXI/AHB/APB学习笔记

    AMBA.AXI.AHB.APB学习笔记 AMBA总线:各模块之间的连接 AHB 特性: 组成部分: AXI APB AMBA总线:各模块之间的连接 advanced microcontroller ...

  6. AXI总线技术简介——ZYNQ PS和PL的互联技术

    AXI总线技术简介--ZYNQ PS和PL的互联技术 1.AXI总线介绍 2.AXI协议通道介绍 3.ZYNQ芯片内部的AXI总线 4.常用AXI接口IP介绍 5. 多个AXI接口互联交互 1.AXI ...

  7. AHB、APB、AXI三种协议对比分析(AMBA总线)

    一.AMBA概述  AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构  AHB (Advanced High-performance ...

  8. 深度解读AMBA、AHB、APB、AXI总线

    什么是AMBA? 现如今,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SoC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最关键 ...

  9. ARM amba总线介绍

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

最新文章

  1. 来看看几篇Nature上的GNN吧~
  2. MySQL的库表详细操作
  3. 判断一个字符串是否全部相同
  4. 接口之用例编写、验证
  5. 53. 最大子数组和(JavaScript)
  6. 树状结构搜索功能_ICLR 2020 高分论文!利用稀疏多层次Transformer结构获取语法树!...
  7. SQL Server分组查询
  8. Win10打开nvidia控制面板闪退怎么解决
  9. html5判断屏幕锁屏,js实现自动锁屏功能
  10. 成考专升本高等数学公式笔记
  11. 四川300家旅游企业上“云端”转型信息化
  12. rpc error: code = Unimplemented desc =
  13. [源码和文档分享]基于JAVA实现的图形化页面置换算法
  14. CSP 2018-9-4 再卖菜 搜索 + 剪枝
  15. 计算机学院早操规定,计算机学院早操动员大会顺利召开
  16. 为JBoot系统增加启动任务
  17. 如何安装R语言以及Rstudio的安装
  18. EXCEL生成正态分布随机数据
  19. python 正则表达式生成器_正则表达式生成器
  20. HTTP通信安全和Web攻击技术

热门文章

  1. markdown 图片居中_Markdown常用语法汇总
  2. java数组去重_数组去重12种方案-你要的全在这
  3. ios腾讯云文件服务器,使用axios 上传文件到腾讯云
  4. java mysql 自动提交_Mybatis的JDBC提交设置/关闭mysql自动提交------关于mysql自动提交引发的惨剧...
  5. 首届丘成桐女子中学生数学竞赛成绩出炉,成都七中成最大赢家,摘得1金2银1优胜...
  6. 今年,就没有一款能打的5G旗舰机吗?
  7. JupyterLab 3.0发布:支持中文界面,安装插件无需Node.js
  8. 拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...
  9. 细思极恐!只需54块钱,你也能让AI伪造一系列联合国发言
  10. 隔空操控iPhone!苹果新获悬停手势专利