AMBA(二)

2 篇文章 0 订阅
2 篇文章 0 订阅
本文详细介绍了AMBA AHB-lite协议中的非等待和等待传输机制,包括读写时序、传输类型、锁定传输、传输大小、连续传输操作等。同时阐述了在等待状态时地址和传输类型的变更规则,以及保护控制信号的作用。
摘要由CSDN通过智能技术生成


参考:AMBA 3 AHB-Lite Protocol v1_0 Specification

前言

A2和AHB-lite:AHB-lite是AMBA3里的AHB协议,其简化了AHB的复杂性。本文仅讲述AHB-lite协议。

上图1-1是AHB-lite的系统图,包含一个发起者,3个响应者,以及地址译码器和多路选择器。
其中master为发起者,slave为响应者,decode为地址译码器,其用来帮master选来选定slave作为数据接收方,multiplexor为多路选择器用来选择通过slave的数据。

在这里插入图片描述

上图1-2为master的接口图。

在这里插入图片描述

上图1-3为slave的接口图。
信号描述

在这里插入图片描述

在这里插入图片描述

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

非等待传输

在这里插入图片描述

图3-1为写传输时序图,由上图可知在读数据时刻,第一拍传输目标地址,第二拍传输目标数据。在图中第二个上升沿采样地址信息,第三个上升沿采样数据信息。由于是读操作,所以write信号在第一拍为低,在数据阶段write信号不做要求。

在这里插入图片描述

图3-2为写信号时序,和读时序同理,只是在地址阶段write信号为高电平。

等待传输

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

图3-3和3-4为等待传输的读写时序,和3-1和3-2不同的仅是在数据阶段可以将ready信号拉低使得读或写操作可以延后几拍进行。

传输类型:

在这里插入图片描述

图3-6为加入传输类型时序的传输。在AHB中有4种传输类型,分别为等待,忙碌,非序列,序列。由信号trans[1:0]控制。下表为每个传输类型对应的描述。
在这里插入图片描述

锁定传输:

Masterlock信号拉高时,其他从端或者使能端不能占用总线进行数据传输,直到数据传输完成。下图3-7为一个锁定传输时序。在masterlock拉高期间,仅允许当前master和slave之间的通讯,其他设备不能打断。
在这里插入图片描述

传输大小:

Size[2:0]声明了传输数据的位宽,具体表示为下表3-2所示。
在这里插入图片描述

Size一般和burst一起使用,用来确定循环传输或是递增传输数据地址的边界。在每个传输的过程中size的值必须保持不变。

连续传输操作:

AHB协议支持1拍,4拍,8拍,16拍和长度未未定义的连续发送,支持地址连续和地址循环两种模式。
地址连续访问表示地址随上一传输的地址递增,地址循环访问在遇到地址边界时开始循环,地址边界HBURST和HSIZE决定。
下图为关于信号burst的描述。
在这里插入图片描述

Single是指单数据传输,可以是一拍也可以是未定长的数据。
Incr为未定义长度的连续地址增长传输
Wrap4为4拍循环地址传输
Incr4为4拍连续增长地址传输
Incr16,Wrap16为16拍的传输。

传输举例:

4拍循环地址传输:

在这里插入图片描述

上图展示了4拍循环地址传输,可以看到trans信号第一拍为非序列类型,后三拍为序列类型。应知所有序列传输第一拍都应该是非序列类型开头。传输的地址由0x38到0x30共16byte循环。应知循环的地址包含完整的地址位,即若是16byte循环,则从0x3x开始到0x3(x-4)结束,即遍历地址的低位。

4拍连续地址传输:

在这里插入图片描述

该时序图同3-8,只是地址是逐渐递增而非循环。

8拍循环地址传输:

在这里插入图片描述

该时序图同3-8,只是传输换成8拍。

8拍连续地址传输:

在这里插入图片描述

时序图同3-8,改变的只是8拍和每次地址长度改变半个字节。

未定长地址传输:

在这里插入图片描述

上图3-12为未定长地址传输。可以看见在T2到T3之间,trans由序列变为非序列,意为后面的序列为独立的新序列,与前一个序列无关。可以看到地址也是在这一刻变为不连续。

等待传输:

Slaves 使用 HREADY 来插入等待状态,以获得更多的时间提供或采样数据。在等待传输期间,Master 被限制改变传输类型和地址。
除了下面的情况外,使能端不能在从端要求等待的时刻改变传输类型

1

在等待状态期间,使能端允许将传输类型从IDLE转变为NONSEQ,当类型转变为NONSEQ后,使能端必须保持HTRANS不变,指导HREADY信号为高。如下图3-13所示。

在这里插入图片描述

2.定长连续BUSY传输

定长传输时,使能端允许将传输类型从BUSY转变为SEQ,但同样应在转变后保持HTRANS不变,直到HREADY为高。如下图3-14所示。

在这里插入图片描述

3.不定长连续BUSY传输

在一个不定长连续地址传输中,使能端允许在HREADY为低时将传输类型从BUSY转变为任何一种状态,若转变为SEQ则传输继续进行,若转变为IDLE或NONSEQ,则传输结束。如下图3-15所示。可以看到trans由busy变成nonseq,传输结束,在ready拉高后,nonseq发送一个新地址,意为新的传输开始了。

在这里插入图片描述

等待状态时地址改变

除了下面的情况外,从端处于等待状态时,使能端只能进行一次地址改变

(1) IDLE传输期间

在等待状态期间,使能端允许改变IDLE传输的地址,当HTRANS转变为NONSEQ后使能端必须保持地址直到HREADY为高。如下图3-16所示。
在这里插入图片描述

(2)ERROR响应之后

在等待状态期间,从端发送ERROR信号后,使能端允许在HREADY为低时改变地址。
在这里插入图片描述

保护控制

保护控制信号HPORT[3:0]提供了总线访问的额外信息,通常被含有某种等级的保护措施的模块调用。该信号主要表示当前传输是:
(1)是一个操作码还是一个数据访问
(2)是特权模式访问还是用户模式访问
对于带有存储管理单元的使能端它还表示当前的访问是缓存的还是缓冲的。
在这里插入图片描述

HPORT控制信号与地址总线有相同的时序,但是必须在一个连续传输中保持不变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值