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. 使用UltraEdit配置多行注释和取消多行注释

    UltraEdit功能强大,使用方便,成为软件开发者必备的文档和代码编辑工具.有很多人也直接用它来写代码,如C/Java,脚本如:Perl/Tcl/JavaScript 等. 如果用来写代码,有一个不 ...

  2. C++ 不输入回车就不结束输入的实现方法

    方法一 char mystr[128]; mystr[0] = '\0'; char c = getchar(); int i=0; while(c!='\n') { mystr[i] = c; c ...

  3. 为SSD编程(4)——高级功能和内部并行

    原文 http://codecapsule.com/2014/02/12/coding-for-ssds-part-4-advanced-functionalities-and-internal-pa ...

  4. IIS7下设置AD单点登录

    简介:IIS7下设置AD单点登录 1.选中网站,双击“身份验证”: 2.启用“Window身份验证”.禁用“匿名身份验证”.启用“基本身份验证”: 3.在“基本身份验证”上面点右键,选择“编辑”,输入 ...

  5. solrj简介

    SolrJ基于httpClient: 使用SolrJ操作Solr会比利用httpClient来操作Solr要简单. SolrJ是封装了httpClient方法,来操作solr的API的. SolrJ底 ...

  6. vuejs实现表格分页

    http://www.cnblogs.com/landeanfen/p/6054654.html#_label3_8 <html xmlns="http://www.w3.org/19 ...

  7. batch---系统不繁忙时执行任务

    batch:不需要指定时间,自动在系统空闲的时候执行指定的任务 [root@xiaolizi ~]# batch at> echo 1234at> <EOT>job 5 at ...

  8. android notify

    notify http://examples.javacodegeeks.com/android/core/ui/notifications/android-notifications-example ...

  9. JSON.parse和eval()的区别

    eval方法不检查给的字符串是否符合json的格式,parse会检查json语法格式. 比如一个json字符串data: { "a": 1, "b": &quo ...

  10. Node中的JavaScript和浏览器中的JavaScript的区别

    浏览器中的JavaScript: 1.基于ECMAscript规范,这个规范规定了语法 2.添加了dom:用来处理文档 document object model 3.添加了BOM:用于操作浏览器 w ...