AMBA总线(AHB)

1.AMBA

  AMBA(Advanced Microcontroller Bus Architecture)高级微控制器总线结构,定义了用于设计高性能嵌入式微控制器的片上通信标准。
  AMBA规范中定义了三种不同的总线:
  (1)高级高性能总线(Advanced High-performance Bus,AHB)
  (2)高级系统总线(Advanced High-performance Bus,ASB)
  (3)高级外围总线(Advanced Peripheral Bus,APB)
  其中ASB使用较少,大家通常使用AHB+APB。下面给出一种经典的基于AMBA的微控制器系统。
  在这里插入图片描述
  在这里,可以把Bridge认为是一个从设备。

2.AHB

  AHB总线有以下特性:
  (1)高性能
  (2)流水线操作
  (3)多个总线主机
  (4)突发传输
  (5)拆分事务
  (6)单周期总线主切换
  (7)单时钟沿操作
  (8)非三态实现
  (9)更宽的数据总线配置(64/128位)
  AHB总线由以下四部分组成,如下图所示:
  (1)AHB master:总线主控器能够通过提供地址和控制信息来启动读写操作。任何时候都只允许一个总线主机主动使用总线。
  (2)AHB slave:总线从机在给定的地址空间范围内对读或写操作作出响应。总线从设备向发送请求的主设备发回数据传输成功、失败或等待的信号。
  (3)AHB arbiter:总线仲裁器确保一次只允许一个总线主机启动数据传输。
  (4)AHB decoder:AHB译码器用于对每次传输的地址进行译码,并为参与传输的从设备提供选择信号。
  在这里插入图片描述
  下面给出AHB总线的信号列表(这里不再给出翻译,可自行理解):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述  下面对AHB总线的传输进行讲解。

2.1基础传输

  AHB传输由两个不同的部分组成,分别是一个时钟周期的寻址阶段和一个或多个时钟周期的数据阶段。数据阶段的时钟周期数由从机给出的HREADY信号决定,只有从机准备好了,一次传输才能结束。不过,AMBA协议建议从机的等待状态不要超过16个时钟周期,以防止任何单个访问在大量时钟周期内锁定总线。
  下面给出一个传输图,可以发现当HREADY置1时,传输才结束。
   那么当从机一直准备好时,主机就可以实现两级流水线式的传输操作,即在地址A传输DATA时,地址B已经可以传输地址了。
  主要的传输方式,即HTRANS[1:0]信号有以下四种情形。其中普通传输可以认为是单次BRUST传输,因此单次传输的HTRANS为NONSEQ。
在这里插入图片描述

2.2突发传输

  AMBA AHB协议中定义了4、8和16拍突发,以及未定义长度的突发和单次传输,突发传输包括增量和回环。下面给出HBURST[2:0]信号的所有情况。要注意的是,这些突发传输都不能跨越1KB的地址边界。
  在这里插入图片描述  如果总线主控器因为失去了对总线的所有权而无法完成突发,那么它必须在下一次访问总线时适当地重建突发。例如,如果主机只完成了四拍突发中的一拍,那么它必须使用未定义长度的突发来执行剩余的三次传输。
  下面给出一些突发传输时序图。
(1)普通的增量突发
在这里插入图片描述(2)四拍的增量突发
在这里插入图片描述(3)四拍的回环突发
在这里插入图片描述(4)八拍的回环突发和增量突发(十六拍和八拍差不多)
在这里插入图片描述在这里插入图片描述(5)未定义长度的增量突发(注意传输的是字还是半字)
在这里插入图片描述

2.3从机反馈

  从机除了HREADY信号,还需要反馈HRESP信号,下面给出HRESP信号的描述。
在这里插入图片描述更多关于AHB总线的内容请在ARM官网上寻找

猜你喜欢

转载自blog.csdn.net/weixin_44126785/article/details/132181700