首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AMBA之AHB总线学习笔记

AMBA之AHB总线学习笔记

作者头像
根究FPGA
发布2020-09-10 16:16:07
1.5K0
发布2020-09-10 16:16:07
举报
文章被收录于专栏:根究FPGA根究FPGA

AHB同是由ARM提出的总线规范,全称为Advanced High Performance Bus,高级高性能总线(高性能、高速时钟),主要用于高速模块(如CPU、DMA、DSP)之间的连接,作为SoC的片上系统总线,它包括以下特性:

(1)、单个时钟边沿操作

(2)、非三态的实现方式

(3)、支持突发传输

(4)、支持分段传输

(5)、支持多个总线主机master(最多16个)

(6)、可配置32~128为总线宽度

(7)、支持字节、半字和字的传输

典型的应用如ARM核与内部高速RAM、NAND FLASH、DMA、Bridge的连接,相比于APB,AHB增加了地址周期和数据周期。AHB总线系统包括主设备Master、从设备Slave、内部仲裁器、译码器和地址/数据多路控制器构成,如下图所示:

AHP系统特性为

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

2、从设备响应一次读写操作,通过地址映射选择使用哪一个从设备。

3、任意时刻仅允许一个主设备控制总线 4、译码器通过地址译码决定选择使用哪一个从设备。

仲裁机制:

仲裁机制保证了任意时刻只有一个master可以接入总线,arbiter决定哪个发出接入请求的master可以接入总线,这通过优先级算法实现,AHB规范并没有给出优先级算法,设计者需要根据具体的系统要求定义。

一般情况下arbiter不会中断一个burst传输,将总线接入权让给其他master。未定义长度的burst是可以打断的,这需要看优先级算法是如何让规定的,如果一笔burst被打断,master再度获得接入权限时,会传递剩余的部分。如一笔长度为INCR8的传输在传输3beat后打断,master再次获得接入权限后,会传输剩余的5beat,剩余部分可以由一个SINGLE和一个INCR4组成,或者一个INCR(次数不限的递增burst传输)。

地址译码器:

地址译码器用于为总线上每个slave提供选择信号HSELx,选择信号是通过组合逻辑对地址译码产生的,片选(chipselect)相应的slave,使slave采样地址和控制信号。每个slave最小的地址空间是为1K,所有的master的burst传输上限也是1KB,如此设计保证不会出现地址越界问题。

基本信号描述:

HADDR[31:0]:32位系统地址总线

HTRANS[1:0]:指示tranfer类型,NONSEQ、SEQ、IDLE、BUSY

HWRITE:1写0读

HSIZE[2:0]:传输单位,指示每一transfer的大小,

HBURST[2:0]:传输的burst类型

HWDATA:写数据总线,从master’写到slave

HREADY:Slave应答Master读写操作是否完成,1:传输完成,0:延长传输周期。

HRDATA:读数据总线,将数据从slave读到Master。

HPROT[3:0]:由master发出,作为保护控制信号,一般不用

HBUSREQx:由master发出,给仲裁器的获取总线使用权的请求信号。

HRESP[1:0]应答信号

00:OKAY

01:ERROR

10:RETRY 传输未完成,请求主设备重新开始一个传输,arbiter会继续使用通常的优先级

11:SPLIT 传输未完成,请求主设备分离一次传输,arbiter会调整优先级方案以便其他请求总线的主设备可以访问总线。

AHB仲裁信号:

8种类型的传输模式:HBURST[2:0]用于决定选择哪种传输模式,对应的传输模式类型如下图所示:

需要注意的是:

1、 AHB的所有操作,都要求给出的地址是对齐的

2、 对于同一burst来说,每次数据的宽度都是一样的

本来还想写一点传输时序分析,有点晚了,大家可以参考网上的诸多资料,十分有趣,以后有时间再写,还想写一点DDR3与HDMI的小问题的,留作以后更新的动力吧!

Night~

- END -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 根究FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档