AHB总线协议
1. 简介
AHB总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高时钟频率的系统结构,典型的应用如ARM核与系统内部的高速RAM、NAND FLASH、DMA、Bridge的连接。APB用于连接外部设备,对性能要求不高,而考虑低功耗问题。ASB是AHB的一种替代方案。
1.1 AHB总线的架构
AHB总线的强大之处在于它可以将微控制器(CPU)、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线master、各种拥有AHB接口的控制器等等连接起来构成一个独立的完整的SOC系统,不仅如此,还可以通过AHB-APB桥来连接APB总线系统。AHB可以成为一个完整独立的SOC芯片的骨架。
下图是一个典型的AHB系统总线的结构示意图
1.2 AHB基本特性
Burst传输
Split事务处理
单周期master移交
单一时钟沿操作
无三态
更宽的数据总线配置(64/128)
流水线操作
可支持多个总线主设备(最多16个)
2. AHB总线的组成
AHB总线由Master、Slave和Infrastructure构成。Infrastructure由arbiter、数据多路、地址控制多路、译码器构成。
主设备Master
发起一次读/写操作
某一时刻只允许一个主设备使用总线
从设备Slave
响应一次读/写操作
通过地址映射来选择使用哪一个从设备
仲裁器arbiter
允许某一个主设备控制总线
译码器decoder
通过地址译码决定选择哪一个从设备
总线可以分为三组
写数据总线(HWDATA)
读数据总线(HRDATA)
地址控制总线(HADDR)
3. 信号描述
Name | Source | To | Description |
HCLK | clock source | 各module | 总线时钟,上升沿采样 |
HRESETn | reset controller | 各module | 总线复位,低电平有效 |
HADDR[31:0] | Master | decodermux to slavearbiter | 32位系统地址总线 |
HTRANS[1:0] | Master | mux to slave | 当前传输类型NONSEQ, SEQ, IDLE, BUSY |
HWRITE | Master | mux to slave | 1为写,0为读 |
HSIZE[2:0] | Master | mux to slave | 每一个transfer传输的数据大小,以字节为单位,最高支持1024位 |
HBURST[2:0] | Master | mux to slave | burst类型,支持4、8、16 burst,incrementing/wrapping |
HPROT[3:0] | Master | mux to slave | 保护控制信号,需要slave带保护功能,一般不用 |
HWDATA[31:0] | Master | mux to slave | 写数据总线,Master到Slave |
HRDATA[31:0] | Slave | mux to master | 读数据总线,Slave到Master |
HREADY | Slave | mux to masterarbiter | 高:Slave指出传输结束低:Slave需延长传输周期 |
HRESP[1:0] | Slave | mux to masterarbiter | Slave发给Master的总线传输状态OKAY, ERROR, RETRY, SPLIT |
HSELx | Decoder | slave | slave选择信号 |
AHB仲裁信号
Name | Source | To | Description |
HBUSREQx | Master | arbiter | master给仲裁器的请求获得总线使用权的请求信号,最多支持16个master |
HLOCKx | Master | arbiter | 如果一个master希望自己在传输期间不希望丢掉总线,则需要向仲裁器发送这个锁定信号 |
HGRANTx | arbiter | master | 授权信号,当前bus master x的优先级最高。当HREADY和HGRANTx同时为高时,master获取系统总线的权利 |
HMASTER [3:0] | arbiter | 具有split功能的slave | 仲裁器为每一个master分配的ID,指出哪个主设备正在进行传输,提供进行split的信息 |
HMASTLOCK | arbiter | 具有split功能的slave | 表示当前的master正在执行Locked操作。这个信号和HMASTER有这相同的时序 |
HSPLITx[15:0] | slave | arbiter | 从设备用这个信号告诉仲裁器哪个主设备运行重新尝试一次split传输,每一位对应一个主设备 |
4. 总线操作
有需要占用总线的Master向arbiter发出请求,arbiter授权给指定的master。任一时间周期只有一个master可以接入总线,对其指定的slave进行读写操作。
获得授权的总线开始AHB传输,首先发出地址和控制信号,提供地址信息、传输方向、带宽和burst类型。总线统一规划slave的地址,译码器根据地址和控制信号确定哪个slave与master进行数据通信。数据传输通过数据总线完成。为避免出现三态总线,AHB将读写总线分开,写数据总线用于从master到slave的数据传输,读数据总线用于从slave到master的数据传输。每笔传输包括一个地址和控制周期,一个或多个数据周期。地址和控制周期不能被扩展,因此slave必须在一个周期内采样地址信号。数据周期可以通过HREADY信号扩展,但HREADY为低时给传输加入一个等待状态以使slave获得额外的时间来提供或采样数据,另外slave通过响应信号HRESP反映传输状态。
一般情况下master完成完整的burst传输,arbiter才会授权给其他的master接入总线,然而为避免过大的判决延迟,arbiter也可能打断burst传输。在这种情况下master必须再次接入总线以进行中断的burst剩余部分的传输。
5. 基本传输
一笔传输由如下两部分组成:
地址阶段:一个周期
数据阶段:一个或多个周期,由HBURST信号决定需要几个有效周期,可以由HREADY发出请求延长一个周期。
5.1 没有等待状态的single transfer
第一个周期的上升沿,master驱动地址和控制信号;
第二个周期的上升沿,slave采样地址和控制信号,并将HREADY拉高;
如果是写操作,master会在第二个周期的上升沿传输要写入的数据;
如果是读操作,slave会在HREADY信号拉高后将读取的数据写入总线;
第三个周期的上升沿,
如果是写操作,master获取HREADY高信号,表明slave已成功接收数据,操作成功;
如果是读操作,master获取HREADY高信号,表明此时的读数据有效并且接收下来,操作成功。
需要注意,HREADY信号在数据有效期间必须为高,并且延续到第三个周期的上升沿之后,确保master的正确采样。
5.2 slave插入等待状态的single transfer
slave可以及时处理master请求,但也可能存在slave太慢不能立即处理的情况。这时需要让master稍微等一等,需要slave插入一些等待的状态。如下图所示,HREADY信号在第二和第三周期拉低,意在告诉master,slave不能立即处理,需要master等待2个周期。在这里需要注意2点:
如果是写操作,master需要在等待期间保持写数据不变,直到本次传输完成;
如果是读操作,slave不需要一开始就给出数据,仅当HREADY拉高后才给出有效数据。
5.3 多个single transfer的pipeline操作
相关阅读
-
12-20
-
12-20
-
12-20
-
12-20
-
12-20
-
12-20
-
12-20
-
12-20
推荐阅读
-
-
江苏省养老方式及服务需求研究报告发布
当你老了,如何养老?10月11日,江苏省消保委发布《江苏省养老方式及服务需求研究报告》(简称《报告》),本次研究采用线上问卷和线下问卷调 更多
2021-10-12 07:55:20
-
-
电影票房狂吸金超40亿元 上市公司表现如何呢?
在刚刚过去的国庆长假里,电影票房成绩优秀。据灯塔专业版数据,2021年国庆档总票房43 86亿元,这是国庆档票房历史第二次破40亿,仅次于201 更多
2021-10-09 07:54:06
-
-
国庆假期你去露营了吗?我国目前有3.2万家露营相
相约露营,现如今变得新潮又时尚。把客厅、厨房和卧室,都搬到野外去,食于山野,宿于山野,每一帧画面都透露出一种岁月静好的美好。扬子晚 更多
2021-10-08 08:27:04
-
-
我国现存眼镜企业超132万家 南京居全国第四
日前,在第三届国民视觉健康高峰论坛上分享了一组数据,2020年,我国儿童青少年总体近视率为52 7%,其中6岁儿童为14 3%,小学生为35 6%,初 更多
2021-10-08 07:54:47
-
-
兴昌塑胶拟减持不超1%股份 大股东减持曾重挫股价
股东减持出现新理由,要借给上市公司无偿使用。9月29日晚间,高乐股份(002348)披露称,公司实控人之一兴昌塑胶五金厂有限公司(以下简称兴昌 更多
2021-09-30 08:43:16
-
-
”酱油三剑客“股价都在涨 股价再度突破百元大关
9月26日晚间,海天味业公告:由于今年以来各主要原材物料、运输、能源等成本持续大幅上涨,给经营带来了一定的挑战,近期正在评估是否对产 更多
2021-09-28 07:50:33
-
-
“丝绸文创第一股”来了!万事利发行价格为5.24元
9月22日,以丝绸文化创意领先的杭州丝绸品牌万事利登陆A股创业板。万事利(301066)发行价格为5 24元 股,截至9月24日,最新股价为24 18元, 更多
2021-09-26 07:51:26
-
-
组团减持后股价大跌 百亚股份跌逾8%
卫生巾第一股百亚股份(003006)股东组团减持不超过公司10%股份的消息果然影响了公司9月22日的股价。截至9月22日收盘,百亚股份股价大跌8 02% 更多
2021-09-23 08:07:23
财经热图
-
今日必看
- 精彩话题