什么是AHB、APB、AXI总线?

2023-10-17 01:52
文章标签 总线 axi ahb apb

本文主要是介绍什么是AHB、APB、AXI总线?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是总线?

总线(Bus)是芯片内部或外部用于传输数据、地址、指令的一组公共电气信号线路,它们一般是由导线、总线控制器组成,总线一般分为地址总线、数据总线、指令总线、状态总线,时钟总线。每个总线的作用用不同,地址总线主要负责传输地址相关的信息,数据总线主要负责传输数据等;总线的总也有集合的意思,就是多根线的集合所以称为总线。
总线可以看成是计算机内部运作的中枢神经系统,各种硬件设备都通过总线与中央处理器(CPU)相连,共享总线上的数据传输带宽和控制信号,以实现数据的交换和处理。
总线分为内部总线与外部总线,内部总线主要负责芯片内部的通讯,而外部总线主要负责与外围设备通讯,而内部总线会与外部总线相连以便与外围设备进行交互。
通常有些总线协议是可以直接与外部设备进行连接的,如I2C、SPI,这两个总线一般被集成在芯片内部但是它们是可以直接与外部设备进行连接,因此可以被视为内部总线或外部总线。

AMBA

AMBA全称为"Advanced Microcontroller Bus Architecture",即高级微控制器总线体系结构。是由ARM公司于1996年提出并制定的多总线协议。
为什么称它为多总线协议呢?
因为它是由多个总线组成的,AMBA是由:

  1. Advanced High-performance Bus (AHB):高性能总线,用于连接高性能主设备,如处理器和DMA控制器等。AHB总线具有多主从设备、分时复用等特点,支持带宽请求、优先级传输和错误处理等功能。
  2. Advanced Peripheral Bus (APB):外设总线,用于连接低速器件,例如控制器和定时器等。它是单主多从的设备总线,APB总线是一种简单的串行总线,具有定时器可编程特性,其速度较慢,但其节点可达数目较多。
  3. Advanced eXtensible Interface (AXI):可扩展性接口,用于连接系统中高速器件之间的互连。AXI是多主和多从设备的连接,AXI总线支持优先级传输、带宽请求、流水线传输和乱序传输等功能,是AMBA规范中最高级别的总线接口协议。

AHB

概述

AHB(Advanced High-performance Bus)是一种高性能的总线协议,由英国ARM公司设计,被广泛应用于许多嵌入式系统中。它是一种基于Mater-Slave的总线架构,广泛应用于SoC、MCF当中,并且支持多个内存和外设连接。
AHB一般应用于高性能、高时钟频率的系统结构,例如CPU与高速RAM、NAND FLASH、DMA等。

特点

  1. 支持多总线连接。AHB总线协议可连接多个片上总线或外设(通过AHB桥),实现高效的数据传输。
  2. 支持多种数据移动方式。AHB总线可以支持不同的传输类型,如单次传输、热点传输或者累加传输等,满足不同的数据传输需求。
  3. 支持多主从式的连接。AHB总线可以同时连接多个主设备和从设备,实现了多任务的同时完成,提高了总线的效率。
  4. 支持握手协议。AHB总线采用了先进的握手协议,保证了数据传输的正确性和可靠性。

APB

概述

**APB(Advanced Peripheral Bus)**总线是一种用于连接微处理器和外设的串行总线协议,它与AHB一样都是基于主从协议,APB一般应用于低速外设之间的连接,在STM32中它的时钟信号一般由AHB经分频器而来。

特点

  1. 低速串行总线:APB总线的速度较慢,一般在几十MHz的水平。
  2. 面向寄存器的访问方式:APB总线采用面向寄存器的方式进行外设访问,即每个外设都被映射到一组寄存器中,通过读写这些寄存器来实现对外设的控制。
  3. 点对点连接:APB总线是一种点对点连接的总线,即每个外设都与处理器直接相连,这种连接方式简化了总线结构,提高了总线效率。
  4. 低功耗设计:APB总线采用低功耗设计,能够通过动态电源管理技术进一步降低功耗。

AXI

概述

**AXI(Advanced eXtensible Interface)**是一种高性能、高带宽、可扩展的总线协议,由ARM公司开发并推广应用于各种系统-on-chip (SoC)设计中,它一般应用于ARM高端芯片系列中。
AXI总线协议定义了一种通信方式,用于将不同的核和处理器连接在一起,实现数据的高效传输和管理。
AXI总线协议采用了流水线操作方式,通过分离地址信号和数据信号,使得不同的IP核或子系统可以同时使用总线,实现高效的数据传输。
流水线相比串行操作有极大的性能提升,串行操作会把任何拆分成一组顺序执行的步骤,必须一步一步执行下去,而流水线操作是把任何拆分成不同部分并允许同步执行,每个任何之间的执行时间允许相互重叠。

特点

  1. 高性能:AXI总线协议支持高带宽、低延迟的数据传输,在多个IP核间实现高速并发传输。
  2. 可扩展性:AXI总线协议支持多种扩展方式,可以方便地添加新的IP核,扩展SoC的功能。
  3. 灵活性:AXI总线协议支持多种传输模式和响应方式,可以根据不同的应用场景选择最优的传输方式。
  4. 安全性:AXI总线协议支持安全访问和保护,能够保护系统内部的敏感数据。

这篇关于什么是AHB、APB、AXI总线?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222147

相关文章

电子电气架构---私有总线通信和诊断规则

电子电气架构—私有总线通信和诊断规则 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。 无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、

I2C总线协议(AT24C02C)

本文章是基于TQ2440开发板上的AT24C02C 一, I2C简介       IIC即Inter-Integrated Circut(集成电路总线),有飞利浦在八十年代实际出来. I2C是一种多向控制总线,就是同一个总线下可以连接多个芯片,同时每个芯片都可以作为实时数据传输的控制源. 二. 硬件结构       I2C串行总线一般有两根信号线,一根是双向的数据总线SDA, 一根是

【STM32】CAN总线基础入门

CAN总线基础入门 一、CAN简介二、主流通信协议对比三、CAN物理层1、CAN硬件电路2、CAN电平标准3、CAN收发器 – TJA1050(高速CAN)4、CAN物理层特性 四、帧格式1、CAN总线帧格式2、数据帧3、数据帧各部分用途简介4、数据帧的发展历史5、遥控帧6、错误帧7、过载帧8、帧间隔9、位填充10、波形实例 五、位同步1、接收方数据采样2、接收方数据采样遇到的问题3、位时序

V90总线伺服报800F错误

1、博途PLC工艺对象位置轴轴控功能块 博途PLC工艺对象位置轴轴控功能块(完整SCL代码)-CSDN博客文章浏览阅读423次。S7-1200PLC脉冲轴位置轴位置控制功能块S7-1200PLC脉冲轴位置轴位置控制功能块优化(完整SCL源代码)_s71200 脉冲轴-CSDN博客文章浏览阅读341次。该博客详细介绍了如何优化S7-1200 PLC的位置控制功能块,使得在轴激活限位时无需复位即可直

EventBus-Vue事件总线解析与使用指南

前言         在Vue.js中,组件通信是开发过程中非常场景的需求。根据不同的场景和需求,Vue提供了多种组件通信方式。比如父子组件通信、兄弟组件通信、跨代组件通信等。当应用程序中两个组件或者说页面之间没有引入和被引入的关系的时,或者说他们之间嵌套的结果复杂的时候,我们可以考虑如何传递数据呢?         其中适用的通信方式有 Vuex、provide 和 inject、Event

计算机总线及外部总线汇总

参考视频教程:    **编程必备基础 计算机组成原理+操作系统+计算机网络  ** 计算机总线 名称 传输速率(比特/字节) 推出年分 I²C 3.4 Mbit/s 425 kB/s 1992 Apple II series (incl. Apple IIGS) 8-bit/1 MHz 8 Mbit/s 1 MB/s[[31]](https://zh.wikip

《PCI Express体系结构导读》随记 —— 第II篇 第7章 PCIe总线的数据链路层与物理层(7)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第II篇 第7章 PCIe总线的数据链路层与物理层(6) 7.1 数据链路层的组成结构 7.1.1 数据链路层的状态 3. DL_Active状态 当数据链路层处于DL_Active状态时,PCIe链路可以正常工作。此时数据链路层可以从事务层和物理层正常接收和发送TLP、并处理DLLP,此时数据链路

思考(六十九):一种基于消息总线的功能可插拔的服务器架构

架构图 +--------------------+ +----------------+ +----------------+| | | NODE 1 | | NODE 2 || TOPIC ROUTE INFO |

LIN总线CAPL函数—— 更新特定报文数据(linUpdateResponse)

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe,博客目录大全,点击跳转👉 linResetRespBaudrate函数用于更新一个从节点的数据,语法如下 激活LIN从节点,使LIN从节点报文周期发送,如下图0x23 报文的默认数据如下: 通

51单片机——I2C总线

1、I2C总线简介 I2C总线(Inter IC BUS)是由Philips公司开发的一种通用数据总线 两根通信线:SCL(Serial Clock)、SDA(Serial Data) 同步、半双工,带数据应答 通用的I2C总线,可以使各种设备的通信标准统一,对于厂家来说,使用成熟的方案可以缩短芯片设计周期、提高稳定性,对于应用者来说,使用通用的通信协议可以避免学习各种各样的自定义协议,降