AMBA标准定义了三种不同的总线

  • 高级高性能总线(AHB);
  • 高级系统总线(ASB);-----用的比较少
  • 高级外设总线(APB)。

基于AMBA的典型微控制器:

典型的AMBA AHB系统设计包含以下成分:

  AHB主机、AHB从机、AHB仲裁器、AHB译码器

典型的AMBA APB系统设计包含APB桥和APB从机

AHB基本传输过程:

  • address phase

  address phase传送的是address和control single

  • data phase

  data phase则是read/write data和response single。如果transfer在data phase时无法在1个clock cycle内完成,slave可用HREADY信号为低来延长transfer。

  1.   HTRANS[1:0]为传输类型,分IDLE, BUSY, NONSEQ, SEQ。其中NONSEQ表示单次传输或者连续传输的开始,SEQ表示连续传输。
  2.   HBURST[2:0]为burst type,分为SINGLE、INCR、WRAP4、INCR4、WRAP8、INCR8、WRAP16和INCR16八种。其中INCR类的burst,每一次transfer address必定是上一次transfer的address加上transfer size;WRAP类的burst,会将跨越地址边界的transfer address绕回地址边界起点。
  3.   HSIZE为transfer size, 支持八种大小,8 bits、16bits、32bits……1024bits。
  4.   HRESP是在transfer结束时表示的状态,分为OKAY、ERROR、RETRY和SPLIT四种。其中ERROR的原因譬如说企图写入只读的memory空间,或者读写根本不存在的memory空间(例如对于32为的读写,地址的最低位为1)。

APB规范以下列标题来描述:

  • 状态图

  1.   IDLE:外设总线的默认状态
  2.   SETUP:当有传输要求时总线转移到SETUP状态,这时对应的选择信号PSELx拉高。总线仅在SETUP状态保持一个周期并将总是在下一个时钟的上升沿移动到  ENABLE状态
  3.   ENABLE:使能信号PENABLE在ENABLE状态中被断言。地址、写和选择信号都是从SETUP到ENABLE状态的转变过程中保持稳定。

ENABLE状态也仅持续一个周期并且在这个状态之后如果没有进一步的传输要求总线将返回IDLE状态。另外,如果紧跟着另一个传输那么总线移动到SETUP状态。

  • 写传输

  • 读传输

AMBA标准的更多相关文章

  1. AMBA简介

    AMBA AMBA(Advanced Microcontroller Bus Architecture)先进的微控制器总线架构是一个免费.开放的标准,用于SoC内部功能模块之间的互连和管理.对成功设计 ...

  2. zedboard如何从PL端控制DDR读写(二)——AXI总线

     虽然Xilinx已经将和AXI时序有关的细节都封装起来,给出了官方IP和向导生成自定义IP,用户只需要关注自己的逻辑实现,但是还是有必要简单了解一下AXI的时序,毕竟咱是做硬件设计的. AXI(Ad ...

  3. AXI总线

    AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...

  4. AXI总线介绍

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

  5. AXI总线(转)

    AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...

  6. 基于ARM的SoC设计入门[转]

    原文:基于ARM的SoC设计入门 我们跳过所有对ARM介绍性的描述,直接进入工程师们最关心的问题.要设计一个基于ARM的SoC,我们首先要了解一个基于ARM的SoC的结构.图1是一个典型的SoC的结构 ...

  7. AMBA

    基于IP复用的设计方法在SOC设计中得到了广泛的应用,设计过程中,片上总线的设计师最关键的问题. AMBA是由ARM公司退出的片上总线,是一种流行的工业标准片上结构. AMBA规范主要包括了AHB(A ...

  8. AMBA总线介绍

    The Advanced Microcontroller Bus Architecture (AMBA) specification defines an on- chip communication ...

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

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

随机推荐

  1. 自己定义控件-DownSlidingDrawer

    一.描写叙述 能够下拉的 SlidingDrawer 二.效果图 图片是网上找到,可是效果是一样的 三.源代码 https://github.com/mentor811/Demo_MySlidingD ...

  2. Redisclient连接方式Hiredis简单封装使用,连接池、屏蔽连接细节

    工作须要对Hiredis进行了简单封装,实现功能: 1.API进行统一,对外仅仅提供一个接口. 2.屏蔽上层应用对连接的细节处理: 3.底层採用队列的方式保持连接池,保存连接会话. 4.重连时採用时间 ...

  3. Python画图工具matplotlib的安装

    今天在机子上安装matplotlib遇到一些问题,特将此记录下来,供大家分享以少走弯路. 1:下载matplotlib 去官网上下载你所须要的版本号http://matplotlib.org/down ...

  4. C#中结构struct的使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. js call 和 apply

    前言 call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向. call 和 apply二者的作用完全一样,只是接 ...

  6. Glide二次封装库的使用

    更多代码可以查询本人GitHub:欢迎阅读,star点起来. Glide二次封装库源码 前言 为什么选择Glide? Glide 轻量级 速度快 可以根据所需加载图片的大小自动适配所需分辨率的图 支持 ...

  7. 【基础篇】Android下拉列表框(Spinner)的基本使用

    个人学习经验:第一步:新建工程,在main.xml中,main.xml内容如下: <?xml version="1.0" encoding="utf-8" ...

  8. C++ 补课 (三)

    1,枚举类型 —— 下标自0开始 enum 枚举类型名 { 常数表 } 2,C++ 的异常处理机制实际上是一种运行时通知机制 3,delete p;只是删除指针p指向内存区,并不是删除指针p,所以p还 ...

  9. factor---将素数分解为质数

  10. Java生产者与消费者(下)

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 上一讲我们让消费者和生产者都各停1毫秒,实际上大多并不是这样的.第二讲,我们讲一个极端的例子和一个正 ...