AMBA协议

本文详细解析了AHB协议,包括其互连系统示例、内部工作原理(仲裁、数据交换和等待操作),以及数据传输类型的说明。重点强调了AHB协议的两拍式数据传输和遇到busy时的等待策略。
摘要由CSDN通过智能技术生成

一、AHB协议

1、概述

在这里插入图片描述

1.1典型案例

下图是一个典型的AHB和APB的互联系统,两者之间通过APB桥接器连接

在这里插入图片描述

1.2内部互联信号

在这里插入图片描述
这是一个AHB总线协议的互联方案,它是由3个主机、4个从机、1个仲裁器、1个译码器和3个多路选择器组成。

  • 首先,仲裁器与地址和控制选择器从3个主机中选择其中的地址发到4个从机上。
  • 仲裁器和写数据选择器选择3个主机中的1个数据写入到4个从机中
  • 译码器和读数据选择器选择4个从机中的1个数据读入到主机中

1.3数据传输

在这里插入图片描述在这里插入图片描述

  • 上图是一种最简单的数据传输方式,在第一个时钟上升沿到来时,主机将HADDR(地址信号)和Control(控制信号)驱动到总线上;然后下一个时钟上升沿到来时,从机从总线上读取采样地址和控制信号
  • 由于AHB协议允许上传数据和读写数据交叉进行,因此在读入上个周期信号的地址时,同时可以上传下一个信号的地址,这意味这3个信号,4个周期就可以完成
  • 这是典型的两拍式数据传输方式,也可以延长采样的周期。HREADY信号拉高表示数据有效可以直接采样,但是HREADY拉低表示此时从机无法采样,数据会一直保存直到HREADY被拉高可以采样,这就实现了等待操作。如下图所示
    在这里插入图片描述
  • 需要注意的是这种等待操作会对后续的信号传输有影响,例如有A、B、C,3个信号以此传输,只需4个周期即可完成。如果B等待了一个周期,那么C也会相应延后1个周期
    在这里插入图片描述

1.4传输类型

信号HTRANS[1:0]用来指示传输类型
在这里插入图片描述

  • 如果遇到busy,就要等待一个周期,才能写入数据。例如下面这个例子,一共写了4个数据,本应该花5个周期,但实际用了7个周期,就是因为busy了一个周期,然后HREADY拉低等待了一个周期
    在这里插入图片描述
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值