AMBA总线介绍
The Advanced Microcontroller Bus Architecture (AMBA) specification defines an on-
chip communications standard for designing high-performance embedded
microcontrollers.
高级微控制器总线结构Advanced Microcontroller Bus Architecture(AMBA)定义了高性能嵌入式微控制器的通信标准。
l Advanced High-performance Bus (AHB)
AHB总线用于高性能,高时钟工作频率模块。AHB在AMBA架构中为系统的高性能运行起到了基石作用。AHB为高性能处理器,片上内存,片外内存提供接口,同时桥接慢速外设。
l Advanced System Bus (ASB)
ASB总线主要用于高性能系统模块。ASB是可用于AHB不需要的高性能特性的芯片设计上可选的系统总线。ASB也支持高性能处理器,片上内存,片外内存提供接口和慢速外设。
l Advanced Peripheral Bus (APB)
APB总线用于为慢速外设提供总线技术支持。
APB是一种优化的,低功耗的,精简接口总线,可以技术多种不同慢速外设。由于APB是ARM公司最早提出的总线接口,APB可以桥接ARM体系下每一种系统总线。
A typical AMBA-based microcontroller
典型的基于AMBA总线结构的微控制器通常包含AHB, ASB总线,用于支持CPU, 内存,DMA等设备。这种总线架构为上述各种设备提供了高带宽接口用于数据的传输和控制。通过桥接方式将APB总线上的慢速设备连接起来,进行与慢速设备的数据传输和控制。如图所示。
AHB特性:
高性能,数据传输,多总线主控制器,突发连续传输,分 步传输
ASB特性:
高性能,数据传输,多总线主控制器,突发连续传输
APB:
低功耗,寻址控制,支持简单接口协议,支持多种外设
APB通过桥接高带宽、高性能总线,提供基本的微控制器二级总线,通常该总线上的外设有以下特点:
支持映射寄存器接口
对带宽没有很高的要求
通过编程实现对外设进行控制
一、AHB概述
AHB总线协议是AMBA的新一代总线协议,支持多种高性能总线主控制器。
特性:
l 突发连续传输
l 分步传输
l 单周期内主控制器处理
l 单时钟边沿操作
l 非三态操作
l 支持64位,128位总线
AHB总线通过DMA和DSP,允许在总线上存在一个或多个主控制器。虽然APB总线上可以挂接慢速外设,但是也允许在AHB上挂接一些慢速外设作为从设备,不过它们通常还是挂接在APB总线上。
AHB总线通常设计时包含以下几个设备:
l AHB主控制器:主控制器可以通过地址和控制信息,可以进行初始化,读,写操作。在同一时间,总线上只能有一个主控制器。
l AHB从设备:从设备通常是指在其地址空间内,响应主控制器发出的读写控制操作的被动设备。通过操作的成功与否反馈给其主控制器,完成数据的传输控制。
l AHB仲裁器:仲裁器根据用户的配置,确保在总线上同一时间只有一个主控制器拥有总线控制权限。AHB总线上只能有一个仲裁器。
l AHB译码器:译码器解析在总线上传输的地址和控制信息。AHB总线上只能有一个译码器。
二、 ASB概述
ASB总线协议是AMBA协议的新提出的新一代总线协议。ASB总线是位于APB总线架构之上的用于高性能的总线协议,它有如下特点:
l 突发连续传输
l 单管道数据传输
l 多总线主控制器
ASB总线通过DMA和DSP,允许在总线上存在一个或多个主控制器。虽然APB总线上可以挂接慢速外设,但是也允许在ASB上挂接一些慢速外设作为从设备,不过它们通常还是挂接在APB总线上。
ASB总线通常设计时包含以下几个设备:
l AHB主控制器:主控制器可以通过地址和控制信息,可以进行初始化,读,写操作。在同一时间,总线上只能有一个主控制器。
l AHB从设备:从设备通常是指在其地址空间内,响应主控制器发出的读写控制操作的被动设备。通过操作的成功与否反馈给其主控制器,完成数据的传输控制。
l AHB仲裁器:仲裁器根据用户的配置,确保在总线上同一时间只有一个主控制器拥有总线控制权限。AHB总线上只能有一个仲裁器。
l AHB译码器:译码器解析在总线上传输的地址和控制信息。AHB总线上只能有一个译码器。
三、AMBA APB总线
APB总线接口协议是AMBA协议层次结构中的一部分,它是高度优化的连接低功耗外设的精简接口。
APB看起来是一个本地的二级总线接口协议,用作AHB,ASB总线协议的从设备接口。
APB桥是从控制器模块用来保证不同总线数据的有效传输和不同总线上控制信号的转发处理。
APB应该用于连接低带宽,且不需求高性能数据传输的外设。最新的APB总线协议规定了所有的信号传递都发生在时钟的上升沿。这样设计有以下优势:
l 易于实现高频率操作
l performance is independent of the mark-space ratio of the clock
l 通过单时钟操作简化静态时序
l no special considerations are required for automatic test insertion
l 许多ASIC库在上升沿寄存器有更好的选择
l 简化整合的时钟模拟器
上述的优势也说明APB总线可以更好的链接最新的AHB总线接口。
APB总线协议包含一个APB桥,它用来将AHB,ASB总线上的控制信号转化为APB从设备控制器上可用信号。APB总线上所有的外设都是从设备,这些从设备有以下特点:
l 接收有效的地址和控制访问
l 当APB上的外设处于非活动状态时,可以将这些外设处于0功耗状态
l 译码器可以通过选通信号,提供输出时序(非锁定接口)
l 访问时可执行数据写入
AMBA总线介绍的更多相关文章
- AMBA总线协议AHB、APB
一.什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus).ASB (Advanced ...
- AMBA总线协议AHB、APB、AXI对比分析【转】
转自:https://blog.csdn.net/ivy_reny/article/details/56274412 一.AMBA概述 AMBA (Advanced Microcontrolle ...
- AMBA总线基础知识简介
AMBA:Advanced Microcontroller Bus Architecture,是ARMA公司的片内互联总线协议. 1995 - AMBA1.0 APB外设总线及ASB系统总线发布. 1 ...
- AXI总线介绍
原帖地址:https://wenku.baidu.com/view/7c424c17e3bd960590c69ec3d5bbfd0a7956d5b9.html 1.AXI简介 AXI(Advanc ...
- SPI总线介绍
1. 简介 SPI, Serial Peripheral Interface, 串行外设接口, 是一种高速的.全双工.同步的通信总线SPI在芯片的管脚上只占用四根线 SPI接口主要用于MCU与各种外围 ...
- 干货|Spring Cloud Bus 消息总线介绍
继上一篇 干货|Spring Cloud Stream 体系及原理介绍 之后,本期我们来了解下 Spring Cloud 体系中的另外一个组件 Spring Cloud Bus (建议先熟悉 Spri ...
- USB总线介绍
•USB 1.0出现在1996年的,速度只有1.5Mb/s1998年升级为USB 1.1,速度也提升到12Mb/s,称之为”full speed” •USB2.0规范是由USB1.1规范演变而来的.它 ...
- [国嵌攻略][161][USB总线介绍]
USB发展史 USB(universal serial bus),通用串行总线,是一种外部总线标准.用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft ...
- [国嵌攻略][157][SPI总线介绍]
SPI总线架构 SPI(serial peripheral interface)串行外设接口,是一种高速,全双工,同步的通信总线.采用主从模式(master slave)架构,支持多个slave,一般 ...
随机推荐
- js基础知识之_函数
javascript函数 函数概念 将完成某一特定功能的代码集合起来,可以重复使用 白话函数理解-函数就是一个工厂,帮大家实现某一个功能 优点 -时程序更加简洁 -逻辑更有条例 -调用方便 -维护更加 ...
- 数据库性能高校:CPU使用过高(下)
CPU使用率过高的常见原因 查询优化器会尽量从CPU,IO和内存资源成本最小的角度,找到最高效的数据访问方式.如果没有正确的索引,或者写的语句本身就会忽略索引, 又或者不准确的统计信息等情况下,查询计 ...
- 跟着老男孩一步步学习Shell高级编程实战
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1264627 本sh ...
- OC加强-day01
#pragma mark - 00 知识回顾 1.@property + 类型 + 属性名 :执行的结果 1>在类的.m里面生成一个_属性名的属性 2>生成 _属性名 这个属性的set/g ...
- C++单元测试2
这里再对上一篇<C++单元测试>进行技巧补充. 我们知道对动态链接库(lib和dll)的测试是比较简单的,我这里主要对需要注意的地方说明一下. 1.建议单独创建单元测试解决方案(不是创建项 ...
- ubuntu下提示/boot空间不足,解决办法
在安装 ubuntu的时候 , 给/boot文件目录分配空间的时候,是100M,/boot可以单独分成一个区,也可以不单独分,在/(根目录)下也会自动为其创建一个boot目录.顺便提一下,linux分 ...
- Struts2常规配置
默认配置文件名:struts.xml WEB-INF/classes下(放到src下) Struts2的有效常量可以查看 org\apache\struts2 下的 default.p ...
- 使用APT减少MVP的冗余代码
前言 不知道从何时起,移动端开发都开始采用MVP.我们在认识到MVP有点的时候,也不妨会察觉到它其实也有很多恼人的地方,比如,我们针对每种状态渲染不同的视图: private void renderI ...
- PHP开发APP接口---返回数据的封装类
参考视频http://www.imooc.com/learn/163 <?php /** * app返回数据类 * 1.接受多维,缺少键名的数组, * 2.可由输入的format参数决定返回数据 ...
- The Perfect Stall
poj1274:http://poj.org/problem?id=1274 题意:有n个奶牛和m个谷仓,现在每个奶牛有自己喜欢去的谷仓,并且它们只会去自己喜欢的谷仓吃东西,问最多有多少奶牛能够吃到东 ...