我是靠谱客的博主 开朗彩虹,最近开发中收集的这篇文章主要介绍AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 ),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
AMBA AHB 总线协议介绍请点击以下链接:
- AMBA总线协议(一)——一文看懂APB总线协议
- AMBA总线协议(二)一文看懂AMBA2 AHB2与AMBA3 AHB-Lite总线协议的区别
- AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 )
- AMBA总线协议(四)——Multi-Layer AHB System (多层AHB总线架构)
1. 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三个版本的介绍
欢迎关注下面公众号,每周精选一篇原创文章!!!
最后
以上就是开朗彩虹为你收集整理的AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 )的全部内容,希望文章能够帮你解决AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 )所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复