您的位置 首页 传感器

AHB总线协议

1. 简介AHB总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance B

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 decoder
mux to slave
arbiter
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 master
arbiter
高:Slave指出传输完毕
低:Slave需延伸传输周期
HRESP[1:0] Slave mux to master
arbiter
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操作

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/155720.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部