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. 加快编译的技巧 & mount及tmpfs

    除了在头文件里面 #ifndef xxx 可以在实际 include这个头文件的前后,加上 #ifndef,这样就不会打开和扫描这个头文件了. 另外,下面这篇文章里面也总结了 http://www.c ...

  2. msp430在ccsv5下出现的问题总结

    一.内存问题 问题描写叙述,报错: program will not fit into available memory.  placement with alignment fails for se ...

  3. 一入python深似海--对象的属性

    Python中一切皆是对象,每一个对象都能够有多个属性.Python是怎样管理这些属性呢?我们来探讨一下. 属性的__dict__系统 对象的属性包括两部分:类属性和对象属性.对象的属性可能来自于其类 ...

  4. server环境信息【C#代码获取】

    server环境信息[C#代码获取] public class ServicesMessage { [DllImport("kernel32", CharSet = CharSet ...

  5. Outlook中设置会议的提醒

    https://support.office.com/en-us/article/Set-or-remove-reminders-7a992377-ca93-4ddd-a711-851ef359792 ...

  6. js对数组进行操作

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  7. POJ 3174 暴力枚举

    思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using nam ...

  8. vs2010 Visula C++ 把CString 转换为string 类型

    CString strSomeCstring ("This is a CString Object"); // Use ANSI variant CStringA to conve ...

  9. [BZOJ4555 TJOI2016 HEOI2016 求和]

    ​ 第一篇博客,请大家多多关照.(鞠躬 BZOJ4555 TJOI2016 HEOI2016 求和 题意: ​ 给定一个正整数\(n\)(\(1\leqq n \leqq100000\)),求: \[ ...

  10. python 新模块或者包的安装方法

    主要介绍通过pip自动工具来安装需要的包. 1,先安装pip 下载pip的包(包括setup.py文件) cmd载入到pip本地文件所在路径,使用命令进行安装. python setup.py ins ...