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总线介绍的更多相关文章

  1. AMBA总线协议AHB、APB

    一.什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus).ASB (Advanced ...

  2. AMBA总线协议AHB、APB、AXI对比分析【转】

    转自:https://blog.csdn.net/ivy_reny/article/details/56274412 一.AMBA概述    AMBA (Advanced Microcontrolle ...

  3. AMBA总线基础知识简介

    AMBA:Advanced Microcontroller Bus Architecture,是ARMA公司的片内互联总线协议. 1995 - AMBA1.0 APB外设总线及ASB系统总线发布. 1 ...

  4. AXI总线介绍

    原帖地址:https://wenku.baidu.com/view/7c424c17e3bd960590c69ec3d5bbfd0a7956d5b9.html   1.AXI简介 AXI(Advanc ...

  5. SPI总线介绍

    1. 简介 SPI, Serial Peripheral Interface, 串行外设接口, 是一种高速的.全双工.同步的通信总线SPI在芯片的管脚上只占用四根线 SPI接口主要用于MCU与各种外围 ...

  6. 干货|Spring Cloud Bus 消息总线介绍

    继上一篇 干货|Spring Cloud Stream 体系及原理介绍 之后,本期我们来了解下 Spring Cloud 体系中的另外一个组件 Spring Cloud Bus (建议先熟悉 Spri ...

  7. USB总线介绍

    •USB 1.0出现在1996年的,速度只有1.5Mb/s1998年升级为USB 1.1,速度也提升到12Mb/s,称之为”full speed” •USB2.0规范是由USB1.1规范演变而来的.它 ...

  8. [国嵌攻略][161][USB总线介绍]

    USB发展史 USB(universal serial bus),通用串行总线,是一种外部总线标准.用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft ...

  9. [国嵌攻略][157][SPI总线介绍]

    SPI总线架构 SPI(serial peripheral interface)串行外设接口,是一种高速,全双工,同步的通信总线.采用主从模式(master slave)架构,支持多个slave,一般 ...

随机推荐

  1. oracle学习笔记2:创建修改表

    1.创建表 CREATE TABLE ORDERINFO ( ORDERID NUMBER(*, 0) NOT NULL , ORDERCODE VARCHAR2(20 BYTE) NOT NULL ...

  2. HttpServletRequest 获取URL的方法及区别

    HttpServletRequest 获取请求的URL的方法有: 1.request.getRequestURL() 返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它 ...

  3. 百度前端技术学院(IFE)2016春季学期总结

    今天(5月16日)作为第八个提交者提交了任务五十:RIA微型问卷管理平台 这样一个综合性的大任务,宣告我的IFE春季学期课程学习顺利完成.其实任务五十并不复杂,现在再让我来做,可能一周不到就写出来了, ...

  4. 简单的GDI+双缓冲的分析与实现

    为什么要使用双缓冲绘制 在进行多图元绘制的时候: 因为是要一个一个画上去,所以每画一个图元,系统就要做一次图形的绘制操作,图形的重绘是很占用资源的,特别当需要重绘的图形数量很多的时候,所造成的消耗就特 ...

  5. 通过javascript实现页面的横竖屏固定

    javascript是不能固定页面是横屏还是竖屏的,但是我们可以通过另外一种思路来监听window.orientation状态,假设我们要固定页面为横屏显示,则当window.orientation返 ...

  6. Prototype:Copy和Clone

    原型模式在C#中的实现比较直接,因为只需要继承了IClone的接口,就可以通过重写Clone方法,调用MemberwiseClone()来实现ProtoType的方式. class Test:IClo ...

  7. ios开发之C语言第一天

    最近在学习ios开发,先学习C语言,再学习OC和swift.正所谓"万丈高楼平地起",打好基础是很重要的,所以C语言也必须好好学习.学习中所使用的操作系统是OS X,开发工具是Xc ...

  8. nutch 二次开发

    /*深度控制*/ 深度控制:nutch是广域网的深度遍历,我们需要的是垂直采集(即只采集某一个栏目),举例,索引页总计20页,如果只有下一页,则深度为20,如果是1 2 3 4 5……20则深度为2即 ...

  9. jquery中each遍历对象和数组示例

    通用遍历方法,可用于遍历对象和数组.$().each(),回调函数拥有两个参数: 第一个为对象的成员或数组的索引,第二个为对应变量或内容.如需退出each循环可使回调函数返回false 现有如下两个s ...

  10. 向Python女神推荐这些年我追过的经典书籍

    http://blog.csdn.net/yueguanghaidao/article/details/10416867 最近"瑞丽模特学Python"的热点牵动了大江南北程序员的 ...