AMBA2 AHB2与AMBA3 AHB-Lite, AHB 5 总线协议的区别

一、AHB-Lite协议


1. AHB-Lite协议:

AHB-Lite协议为AMBA 3 家族的AHB协议,其简化了AHB的协议复杂性;面向高性能,高频率系统设计;AHB-Lite Slave一般是内存器件(MCU),外部存储器接口和高带宽外围器件,低带宽的器件也可以连接至AHB-Lite上,但是一般通过桥接器连接至APB总线上。

带宽(bandwith):单位时间内,器件或接口能够稳定传输或处理的数据量。单位通常是MB/s,GB/s。一般数据总线位宽越大,单位周期能传输的数据越多。

AHB-Lite协议为单Master,多Slave的,因此没有仲裁器。与AHB 2协议特性不同的是,没有分块传输,单周期总线移交操作。

2. AHB-Lite总线接口及结构:


说明:上图中包含了AHB-Lite总线的各个模块的组成部分:

a. 主机
b. 从机
c. 译码器
d. 多路MUX

二、AHB 2 协议

下面是AHB 2协议简单介绍,具体功能介绍请参考官方SPEC文档

1. AHB总线协议

a. 主要用途:用于高性能、高时钟频率的系统结构,一般用于MCU;

b. AHB总线的结构:

AHB总线将微控制器,RAM,外部存储器接口,DMA等各种具有AHB总线接口的控制器连接起来,构成独立的完整的SoC系统,不仅如此,也可以通过AHB2APB桥接器,连接至APB总线系统

2. AHB的基本特性

Burst传输(突发传输);【特点:地址自动递增,仲裁开销只发生一次,提高总线带宽利用率】
Split事务处理(分块处理);【特点:slave主动打断当前master的访问,并释放总线】
单周期总线Master移交;【特点:不同master之间的总线控制权切换不插入空拍idle】
无三态;【特点:ahb内部信号不使用三态总线即Z状态】
更宽的数据总线配置(如64,128等,具体规格可以根据自己来定);
流水线操作;【特点:地址阶段 与数据阶段重叠进行,当前拍传递当前拍的数据和下一拍的地址,可以做到每拍一个数据】
可以支持多个主设备(最多16个)
 

3. AHB总线的组成部分

说明:AHB总线由Master,Slave,和Infrastructure构成,infrastructure由arbiter,数据选择器,地址控制器,译码器构成;

主设备Master

        1) 发起一次读、写操作;
        2) 某一时刻只允许一个主设备使用总线;

从设备Slave

        1) 响应一次读、写操作;
        2) 通过地址映射来选择哪一个从设备(由译码器完成)

仲裁器Arbiter

        1) 仲裁某一个主设备控制总线

译码器Decoder

        1) 通过地址译码决定选择哪一个从设备

总线可以分为三路通道

        写数据总线
        读数据总线
        地址控制总线


三、 AHB 2 与AHB-Lite总线协议对比
下表详细介绍了AHB-Lite协议与AHB2 协议的接口信息对比情况,以及各自的特点等

三. AHB 5 协议:

AMBA AHB协议总线的接口适用于高性能的设计。

主模块:Cortex-M内核,DMA存储器,DMA外设,以太网DMA USB等
连接组件和从模块:内部Flash,内部SRAM,AHB2APB桥,APB外设之间的接口。
            


大多数挂在总线上的模块,包括CPU只是单一属性的功能模块:主模块或者从模块。

主模块是向从模块发出,读写操作的模块,如CPU, DSP等;
从模块是接收命令并做出反应的模块,如片上RAM, AHB/APB桥等;
还有一些模块具有两种属性,例如DMA,在被编程时是从模块,在系统读传输数据时,是主模块;


AHB 5总线特点:


a. 扩展存储类型
b. 安全传输
c. 字节顺序Endian
d. 时钟稳定
e. 独占传输(Exclusive transfer)
f. 原子性访问 Multi-copy Atomicity
额外:
g. 锁定传输
h. 多从机选择
i. 原子性访问 Single-copy Atomicity 
j. 用户信号



2. 存储器类型(Extended Momory Type)

AHB5 定义了扩展存储器类型的功能。定义接口是否支持扩展的存储器类型,如果没有定义,那么接口就不支持该类型


3.字节顺序ENDIANNESS

AHB支持大端和小端系统,支持两种存储大端数据的方案;
AHB5 引入了Endian功能,定义支持哪种大端数据的方法:

BE8:字节不变的大端模式; 字节访问(8bit)使用的数据总线 与小端模式访问地址相同;
BE32:字不变的大端模式;字访问对最高有效字节与最低有效字节使用相同的数据总线位,与小端模式访问地址相同;


以下给出了那些可以使用小端模式,字节不变的大端模式,字不变的大端模式:


变量:
1) Address : 传输地址
2) Data_bus_bytes:8 bit数据总线字节通道的数量;
3) INT(x):对X取整


a. 小端模式:

1) 当小端模式访问一个字节,下面方程显示使用了那些数据位
    Byte_Lane = Address - INT(Address / Data_bus_bytes) * Data_bus_bytes
2) 数据在DATA[8*Byte_lane + 7 : 8*Byte_lane]上传输;

3) 当大的小端模式传输出现时,数据传输:
    1) 最低有效字节被驱动到传输地址上;
    2) 然后越来越大的字节按照地址递增的方式依次传输;


b. 字节不变的大端模式:

1) 当字节不变的大端模式访问一个字节,下面方程显示具体使用的数据位情况:
    Byte_Lane = Address –(INT(Address / Data_bus_Bytes)) × Data_Bus_Bytes
2) 数据在DATA[8*Byte_lane + 7 : 8*Byte_lane]上传输;

3) 注意:
    1) 这和小端模式情况相同,因为大端和小端模式访问在字节传输上是等效的;
4) 当大量的字节不变大端模式传输时,数据传输:
    1) 最高有效字节被驱动到传输地址上;
    2) 越来越少的字节数按照地址递增的方式依次传输


c. 字不变的大端模式:

1) 当字不变的大端模式访问一个字节,下面方程显示具体使用数据位的情况:
    Address_Offset = Address –(INT(Address / Data_Bus_Bytes)) × Data_bus_Bytes
    Word_Offset = (INT(Address_Offset / 4)) × 4
    Byte_Offset = Address_Offset – Word_Offset
2) 数据在DATA[8*(Word_Offset + 3- Byte_Offset) + 7   :   8*(Word_Offset + 3 - Byte_Offset)上传输
3) 对于32 bit的数据总线,Word_Offset = 0, 并且公式可以简化为:DATA[8*(3- Byte_Offset) + 7   :   8*(3 - Byte_Offset);


有关AHB5, AHB-Lite, AHB2的其他详细介绍可以阅读官方SPEC文档,具体后续会有详细的介绍。

本次主要介绍AHB 三个版本的协议的相同点与不同点:

2. AHB 5, AHB-Lite,与AHB 2三个版本的介绍


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值