AHB总线介绍及其时序图

AHB总线简介

    AHB是新一代的AMBA总线,旨在解决高性能可综合设计的要求。它是一种高性能的系统总线,能够支持多总线master,提供高带宽操作。AMBA  AHB实现高性能、高时钟频率系统所需的功能,包括:

  • 突发传输
  • 拆分transactions
  • 当时钟周期mater切换
  • 单时钟沿操作
  • non-tristate实现
  • 更宽的数据总线配置(64/128)

    AHB总线和ASB/APB可以通过bridge有效连接,这使得现有的设计能够轻松集成;

AHB设计可能包含一个或者多个master总线,一个典型的系统只少会包含一个处理器和测试接口。然而,一个系统通常会包括一个DMA或者DSP作为一个总线master;

    外部存储接口、APB桥和内部缓存是最常见的AHB slave。系统里任何其他外设都能够作为AHB slave。但是,小带宽外设通常挂在APB上面;

一个典型的AMBA AHB系统包括以下4个部分:

  • AHB master:能够通过地址和控制信息发起读写操作;同时只能有一个master发起读写操作;
  • AHB slave:响应有效地址空间内的master读写操作,包括成功、失败或者等待数据传输的信息;
  • AHB arbiter:确保同一时间内只有一个master发起读写操作;仲裁算法是固定的,但是可以根据应用进行相应的选择。
  • AHB decoder:用来解码地址和选择相应slave的响应信号。

AHB总线互联

​    AHB总线互联如上图所示:其中master发送包括haddr的控制信号,已经写操作的hwdata。ahb总线系统允许多个mater存在;arbiter会根据预设算法决定将mater控制信号发送给所有slave。slave会接收mater的控制信号,写操作时接收hwdata,读操作时返回hrdata。decoder根据master的控制信号haddr选择相应的slave的响应信号和读操作时的hrdata给master。

AHB总线操作

AHB总线传输钱,mater必须获取总线访问权限:master先向仲裁器(arbiter)发送一个申请(request),仲裁器返回授权(granted)信号,表示该mater可以使用总线;

获得授权的master发送地址和控制信号,以此开始一次AHB传输;控制信号包括已下信息:传输方向、宽度和突发类型。突发类型包括:incrementing突发和wrapping突发,他们的区别是在地址边界是否会回绕;

每次传输包括两个阶段:控制阶段和数据阶段(传输数据,会持续一个或几个周期);

控制阶段:传输地址和控制信息,只会持续一个周期;所以,在这个周期内必须能够采样到相应地址和控制信号。

数据阶段:传输数据,会持续一个或几个周期;slave可以通过拉低HREADY信号来获取额外的时间来提供数据或者才牙膏数据;

slave可以通过HRESP[1:0]来只是传输状态:

    OKEY:表示传输处理正常,当HREADY拉高,OKEY表示传输成功完成;

    ERROR:传输过程中有错误发生。创数不成功;

    RETRY/SPLIT:表示传输不能够立即完成,mater需要重试传输;

在正常操作中,在仲裁器授予另一个主机访问总线的权限之前,允许主机完成特定突发中的所有传输。 但是,为了避免仲裁等待时间过长,仲裁器可能会中断突发,在这种情况下,主机必须重新仲裁总线以完成突发中的剩余传输。

无等待状态传输时序

有等待状态传输时序

OVERLAP多次传输时序

传输类型

HTRANS[1:0]Type描述
00IDLE表示没有数据需要传输;当master获得granted后,没有数据需要传输;此时,slave需要回复OKAY,且忽略盖茨传输;
01BUSY表示master有数据需要传输,但是传输不能够马上进行;master使用BUSY传输必须能够反映busrt传输得下一次传输;slave必须马航回复OKAY。
10NONSEQ表示burst传输得第一次传输,地址和控制信号与前一次传输没有关系。单次busrt传输类型也是NONSEQ。
11SEQ表示burst传输得第一次以后得传输,地址和控制信号与前一次相关。

突发类型

HBURST[3:0]类型描述
000单次突发单独一次独立传输
001递增突发不定义长度、地址递增得突发传输
0104次回绕突发当地址到达4*size边界位置会回绕的4次突发
0114次递增突发当地址到达4*size边界位置不会回绕的4次突发
1008次回绕突发当地址到达8*size边界位置会回绕的8次突发
1018次递增突发当地址到达8*size边界位置不会回绕的8次突发
11016次回绕突发当地址到达16*size边界位置会回绕的16次突发
11116次递增突发当地址到达16*size边界位置不会回绕的16次突发

无论哪一种突发,haddr地址都不能跨过1kB地址边界。

地址译码

地址译码器回根据地址产生给每个slave HSELx信号。地址译码通常是利用组合逻辑完成,所以需要逻辑简单。

当HREADY为高是,slave必须能够采样地址、控制信号和HSELx,这表明当前传输完成。一些情况下,在HREADY为低的情况下,HSELx有可能为高;但是,在当前传输完成前,该slave必须将HREADY拉高。

对于每个slave最小的地址空间为1kB。在突发不超过1kB边界的情况下,地址不会超过地址解码边界。

当系统里面存在不使用的地址,需要存在一个默认的slave来回复master传输。当传输类型是NONSEQ或这SEQ,默认slave回复ERROR;当传输类型为IDLE或者BUSY,应该立即回复OKAY。

slave传输响应

AHB里面,一旦传输开始,master是不能够取消传输的;所以,无论何时slave接收到传输都要放回相应的响应,它回指示传输的状态。HREADY可以用来扩展传输;HRESP[1:0]被用来指示传输状态。

HREADTY为低时扩张传输;为高时表示传输已经完成;

HRESP[1:0]响应描述
00OKAY当HREADY为高时,HRESP为OKAY,表示传输成功完成;
01ERROR当HREADY为高时,HRESP为ERROR,表示传输过程中有错误;
10RETRY当HREADY为高时,HRESP为RETRY/SPLIT,表示传输无法立即完成,但是先释放总线给其他master,稍后master重新申请总线以完成传输;RETRY时,只有更高优先级的master才能申请到总线;
11SPLIT当HREADY为高时,HRESP为RETRY/SPLIT,表示传输无法立即完成,但是先释放总线给其他master,稍后重新获取总线以完成传输;当传输能够完成时,SLAVE代替master申请总线。SPLIT时,较低优先级的master也能申请到总线;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值