AMBA总线

系统总线简介

在这里插入图片描述
性能瓶颈:每次只能有一对Master和Slave进行通信

AMBA2.0

在这里插入图片描述

发展历史

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

AHB

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

AHB组成部分

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

二级译码:根据地址的两块数据位来判断Slave
在这里插入图片描述

例子:DMA

在这里插入图片描述

步骤

确认DMA状态,此时CPU作为Master,DMA作为Slave
在这里插入图片描述
设置source和destination地址,以及数据大小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AHB总线

在这里插入图片描述

在这里插入图片描述

  1. Master需要使用总线时先要向仲裁器Arbiter进行申请
  2. Master得到Arbiter许可后,仲裁其操作MUX选择将特定的Master进行输出。
  3. 如果多个Master同时申请,根据Master的优先级对MUX进行操作,选择输出。

Dummy Master和Default Master

在这里插入图片描述

Default bus master
当没有任何一个master请求总线时,仲裁所选择到的master被称为default master。
default master不用通过请求、授权阶段就能直接与总线进行通信。
通常最有可能和总线通信的master被设置成default master

Dummy(虚拟) bus master
当没有任何一个真正的master与总线通信时,Dummy master使总线保持同步。
虚拟主机在被授权时,只会将传输类型驱动到空闲状态,不会进行真正的传输。确保总线持续运行。
虚拟master是bus master 0,以下状况Dummy master会被授权

  • 当先前被授权的master收到split响应,传输被锁定时。
  • 当default master接收到Split响应且没有其他主机请求总线时
  • 当所有主机都收到split响应时

default slave

在这里插入图片描述
default slave是用来反馈给master,选用了未定义的地址区间,没有一个slave被选中。
对空闲或繁忙传输进行零等待正常响应,如果执行非顺序或顺序传输,则生成错误响应。

AHB信号

在这里插入图片描述
传输状态(HTRANS[1:0]):idle(空闲) busy(忙) nonseq(不连续) seq(连续)
HSIZE[2:0]:0:8bits 1:16bits 2:32bits
HPROT[3:0]:要求slave带保护功能,一般很少去用
HRESP[1:0]: okey error retry split

基本AHB信号

在这里插入图片描述
在这里插入图片描述
retrysplit的区别
retry:重新传不影响master优先级
split:重新授权重新传,可能会降低优先级

基本AHB传输

在这里插入图片描述
在这里插入图片描述
如果第二个时钟周期中HREADY没有拉高怎么办
在这里插入图片描述
slave不能等待超过16个周期
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一次处理的数据就是32位,4个字节,而计算机是按字节来存储的,1个字节一个地址,所以32位机器一次读写,就要从某个整数地址开始,顺序操作4个存储地址。

  1. 单次传输
  2. 以未指定的长度递增传输(INCR)
  3. 4-beat(连续传四次)
  4. 8-beat(八次)
  5. 16-beat(16次)

传输类型

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

举例

在这里插入图片描述

其他AHB控制信号

在这里插入图片描述

小结

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
短期无法应答:返回Retry 长时间无法应答:返回Split

作业

在这里插入图片描述

Burst传输

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

burst 传输的边界

4beat 4byte

TypeHSIZE边界
WRAP432 bits0x10的整数倍
WRAP832 bits0x20的整数倍
WRAP1632 bits0x40的整数倍

在这里插入图片描述

INCR8 Burst

aaa
在这里插入图片描述

Wrap8 Burst

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
burst4:边界地址0x10的倍数
burst8:边界地址0x20的倍数
burst16:边界地址0x30的倍数

未定义长度的Burst传输


在这里插入图片描述
在这里插入图片描述
SI:single

注意

在这里插入图片描述
穿越1k的边界传输
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

从设备响应

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
retrysplit的区别
retry:重新传不影响master优先级
split:重新授权重新传,可能会降低优先级
在这里插入图片描述
ERROR
在这里插入图片描述
Retry
在这里插入图片描述
;
在这里插入图片描述
When it is necessary for a slave to insert a number of wait states prior to deciding what response will be given then it must drive the response to OKAY

RETRY和SPLIT的不同

在这里插入图片描述

数据总线

在这里插入图片描述

32bit小印第安数据总线的有效字节

aaa
在这里插入图片描述

大印第安

在这里插入图片描述

AHB仲裁器

在这里插入图片描述
AMBA最多支持16个master,HBUSREQ16
在这里插入图片描述
在这里插入图片描述

没有等待状态的grant

在这里插入图片描述

没有等待状态的grant

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

注意

在这里插入图片描述
如果没有主设备号请求总线,要给default master grant

Split传输过程

在这里插入图片描述

防止Deadlock(死锁)

在这里插入图片描述

AHB从设备接口

在这里插入图片描述
HSELx:decoder,译码器
Address and control:Master
Data:Master
Reset,Clock:System

一般作为AHB总线的Slave设备都有2根hready信号,一个为input类型(hready_in),

另一个为output类型(hready_out)。在AHB总线协议中,如果Master设备发起读写操作

的时候,Slave设备不能及时响应的话,由Slave设备把hready_out信号拉低来拖延Data

Phaze周期。

  但是在Pipeline操作的时候,本次操作data phaze是下一次操作的address phaze,

所以作为Slave设备在响应Master设备的时候,必须先判断一下Master设备对上一次其它

Slave设备的操作是否已经完成。如果完成,则响应主设备的操作;如果没有完成,则等待

完成,然后才响应操作。hready_in就是Slave设备用来判断Master设备是否对其它

Slave设备的操作已经完成的信号。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
并行访问提高了系统的带宽

AHB-Lite

在这里插入图片描述
只有一个Master,不需要申请,也不需要授权
在这里插入图片描述
在这里插入图片描述
并不是所有的IP都支持SPLIT和RETRY

AHB的应用建议

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

APB总线

在这里插入图片描述

APB信号

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

写传输

在这里插入图片描述

读传输

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

Bridge状态机

  1. 当PSELx=0,PENABLE=0时,没有传输则一直在着状态循环,如果有传输则跳转SETUP。
  2. SETUP状态时,PSELx拉高,无条件跳转到ENABLE状态,拉高PENABLE。
  3. 如果在ENABLE状态一直有传输则再跳转SETUP状态。
  4. 如果没有传输,则拉低PSELx和PENABLE,回到IDLE状态。

在这里插入图片描述

APB Slave

aaa
在这里插入图片描述

APB到AHB的接口——读

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

CPU与IP之间的通信

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

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值