Arm高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)是一种开放式标准片上互联规范,用于连接和管理片上系统(System on Chip,Soc)中的功能块。
AMBA是一种广泛用于Soc设计的架构,可在芯片总线中找到。AMBA规范标准用于设计高级嵌入式微控制器。AMBA的主要目的是提供技术独立性并鼓励模块化系统设计。更进一步说,它强烈鼓励开发可重复使用的外设,同时最大限度地减少硅基础设备。
简而言之,它是鼓励每个人用来在其芯片中将块连接在一起的接口。
本文是对于AMBA总线的一个简单概述,我们主要关注的是其中的AHB,APB,AXI协议,很多概念在本文中只是简单的涉及,没有进行具体展开,所有读者可能有些部分无法理解,这是正常的,随着学习的深入我们会对于细节逐渐展开,在这里我们首先要明确AHB是高性能总线,用于CPU等高性能系统,APB可以理解成AHB的一个外设,作为局部二级总线存在。AXI经常用于外设的拓展使用。
AMBA总线协议(1)——概述https://blog.csdn.net/apple_53311083/article/details/132383230
这篇文章我们来详细介绍AHB,APB,AXI协议的信号。对于AMBA总线协议有一个初步直观的认识。
AMBA总线协议(2)——AMBA信号https://blog.csdn.net/apple_53311083/article/details/132383902
从本文开始我们将正式开始学习AMBA总线的细节, 在本文中对于AMBA AHB做了一个简单的介绍,AHB 主要用于高性能模块(如 CPU、DMA 和 DSP 等)之间的连接,是Soc所经常采用的一种总线协议,AHB可以支持多主机多从机结构。设备之间的互联使用一个中央多路选择器互联方案
AMBA总线协议(3)——AHB(一):概述https://blog.csdn.net/apple_53311083/article/details/132390890
本文中我们详细讲述了关于AHB的基本操作流程,主机要先从仲裁器获得授权,然后进行总线的访问,这样可以避免总线冲突,获得授权后,主机给出地址和控制信号,从机根据自身情况进行响应,可以分成有等待的情况和无等待的情况,这主要通过从机控制HREADY信号实现。AHB传输共分成4种类型,由主机通过HTRANS体现。
AMBA总线协议(4)——AHB(二):基本传输https://blog.csdn.net/apple_53311083/article/details/132396045
在本文中我们展现了AHB猝发传输的具体细节,学习了猝发的类型和具体传输方式,猝发是AHB传输中非常重要的一部分,到这里我们已经基本学习完了AHB的核心内容
AMBA总线协议(5)——AHB(三):猝发传输https://blog.csdn.net/apple_53311083/article/details/132415543
在本文中我们讨论了AHB的很多传输细节,主要有控制信号,地址信号的译码,从机的响应等,其中重点介绍了双周期响应,最后介绍了数据总线及端结构。
AMBA总线协议(6)——AHB(四):传输细节https://blog.csdn.net/apple_53311083/article/details/132425028
本文中,我们重点介绍了AHB传输的仲裁,首先介绍了仲裁相关的信号,然后分别介绍了请求总线访问,授权总线访问,猝发提前终止,锁定传输和默认主机总线
AMBA总线协议(7)——AHB(五):传输仲裁https://blog.csdn.net/apple_53311083/article/details/132426952
在本文中我们讲述了AHB协议的分割传输机制,它使得从机可以决定一次传输是否继续进行,以防止传输的执行将占据大量的时钟周期,有效提高了总线的公平性与效率问题
AMBA总线协议(8)——AHB(六):分割传输https://blog.csdn.net/apple_53311083/article/details/132430386
至此我们就结束了AHB部分的全部内容,本文讲述了AHB的复位,数据总线位宽,包括有如何在宽总线实现窄从设备和如何在窄总线实现宽从设备。最后展现了AHB各类接口设备。当然学习AMBA AHB仅仅通过这一系列的文章是不够的,但是还是希望能够过这个系类帮助刚刚入门的朋友有一个基本的概念,笔者也在不断学习的过程中。
AMBA总线协议(9)——AHB(七):终章https://blog.csdn.net/apple_53311083/article/details/132434466
在本文中,我们介绍了 AMBA APB 协议,分别介绍了APB传输(读传输,写参数,错误传输),其中读写又可以分别分成有等待状态和无等待状态,最后介绍了APB的操作状态。APB相对于AHB来说会简单很多,但是也是非常有用的。
AMBA总线协议(9)——APBhttps://blog.csdn.net/apple_53311083/article/details/132459990