首页 > 其他分享 >002 AHB总线

002 AHB总线

时间:2023-08-21 16:34:08浏览次数:30  
标签:AHB hready 传输 总线 002 地址 信号

一、AHB总线

AHB 是为提出高性能可综合设计的要求而产生的新一代 AMBA 总线。 AMBA AHB 是
位于 APB 之上新一级的总线并且实现了高性能、高系统时钟频率系统的以下特征要求:
z 突发传输;
z 分块处理;
z 单周期总线主机移交;
z 单时钟沿操作;
z 非三态执行;
z 更宽的数据总线架构( 64 位或者 128 位)。

下面来介绍一个多主机多从机的总线互联架构,如下图所示:

 

 

可以看出,主机这边的地址信号haddr和数据信号hwdata都是广播的,通过仲裁器arbiter给出的hselx来选择对应的从机,而从机这边的数据则是通过decoder来解码给主机这边的。当hselx选中对应的从设备后,就可以开始传输了,一个无等待传输的时序如下所示:

 

 

可以看出主机在第一个时钟周期hclk的上升沿给出地址和控制信号,随后从机会在第二个时钟周期给出响应,主机则会在第三个时钟周期采样到从机的响应。当插入等待周期时,可以选择将hready拉低,来扩展数据周期的保持时间,如下图所示:

由上图我们还可以看出AHB的传输是呈一个流水线架构的,在第一拍的时候给出地址A并在第二拍给出地址B同时发出数据A,在第三拍给出地址C和数据B,。。。。以此类推。

  • 下面针对AHB Master的具体信号和时序进行一个分析,一个AHB Master的接口如下图所示:

 

  1. 一次完整的发送流程从信号①开始,①中的信号表示AHB master给arbiter的信号,hbusreqx表示向其申请总线,hlockx表示锁定总线;
  2. 在获得arbiter返回的②hgrant信号后表示申请到了总线,这时候可以开始传输;
  3. 发送③中的地址信号,控制信号和写数据信号
  4. 在得到主机的信号后,从机给与的response ④
  5. 若是读操作,在AHB Master在第一拍给出控制信号和地址信号后,在第二拍(若hready = 1)AHB slaver给出hrdata,随后AHB master在第三拍采样得到数据hrdata.
  6. htrans表示传输的类型,分别有IDLE,BUSY,NONSEQ(非连续),SEQ(连续),四种类型;
  7. hburst用于描述突发传输的四种模式,分别是SINGLE(单一传输),INCR(未指定长度的增量突发),WRAP4(4拍回环突发),INCR4(4拍增量突发);burst模式很复杂,有空单独开一章来详细的讲;
  8. hwrite表示读写控制信号,1表示写,0表示读;
  9. hsize表示传输的大小,通常和hburst信号来一起决定burst传输的地址边界;
  10. hport是保护控制信号,不常用;
  11. hready和hresp是从机的传输响应信号,其中hready主要用于扩展信号,当其拉低时可以对数据进行扩展,当其拉高表示一次传输完成,hresp和hready相结合来返回响应,当hready =1 时,hresp会返回OKAY信号表示传输成功完成,其余还有ERROR,RETRY,SPILT三种其他响应类型;

两个AHB master争夺总线的时序如下图所示:

  • AHB Slave的接口如下图所示:

  1. 首先根据hselx来看slave是否被选中;
  2. 被选中后根据②中的控制和地址信号来判断传输master传输的要求;
  3. 若是读请求,则送出读数据③,写请求则接收写数据
  4. 给出传输响应④

arbiter的接口和decoder的分别如下所示:

 

这里比较简单,就不再详细的描述了。

标签:AHB,hready,传输,总线,002,地址,信号
From: https://www.cnblogs.com/linford/p/15304289.html

相关文章

  • [NOI2002]银河英雄传说
    银河英雄传说TJ题目背景公元5801年,地球居民迁至金牛座第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。宇宙历799年,银河系的两大军事集团在巴米利恩星域爆发战争。泰山压顶集团派宇宙舰队司令莱因哈特(B)率领十万余艘战舰出征,气吞山河集团点名......
  • AMBA2_AHB协议介绍
    1.概述AMBA架构的SoC,一般包括用于high-performance的systembus-AHB与low-power的peripheralbus-APB。Systembus负责core与DMAcontroller、on-chipmemory以及其他interface或需要highbandwidth的元件。而peripheralbus则用于连接off-chip外设,其协议相比AHB较为简单,与A......
  • vue3探索——组件通信之事件总线
    Vue2.x使用EventBus进行组件通信,而Vue3.x推荐使用mitt.js。比起Vue实例上的EventBus,mitt.js好在哪里呢?首先它足够小,仅有200bytes,其次支持全部事件的监听和批量移除,它还不依赖Vue实例,所以可以跨框架使用,React或者Vue,甚至jQuery项目都能使用同一套库。安装使用yarn安装yarn......
  • [AGC002F] Leftmost Ball 题解
    很好的一道组合题。思路直接设\(dp_{i,j}\)表示已经放了\(i\)个白点与\(j\)中颜色。然后直接组合数算即可。CodeAC记录。......
  • [AGC002E] Candy Piles 题解
    比较简单的题。思路考虑这个玩意在几何上的意义。发现就是要么往上走,要么往右走。那么就十分容易找到规律。找到规律后也很容易感性理解。CodeAC记录。......
  • [AGC002D] Stamp Rally 题解
    可以看做一道比较套路的的$kruskal$重构树。但或许也是一道复习与入门的好题。思路考虑把图论问题转化为树上问题。发现所求的为路径上最大的最小。容易想到$kruskal$重构树。发现由于从两端一起走,不能直接处理。那么就可以在外面套一个二分,内部直接倍增处理即可。Cod......
  • 全局事件总线
    全局事件总线——就是用来组件间通信使用的;可以理解为事件订阅main.js就一行代码Vue.prototype.$bus=newVue()1、组件种订阅this.$bus.on(eventName,function(params){})2、组件中发布this.$bus.$emit(eventName,params)解释:去官网可以看到一些用法:vm.$onvm.$emi......
  • vue项目在360浏览器兼容模式下SCRIPT1002: 语法错误以及“fetch”未定义问题解决
    使用360浏览器的兼容模式,vue项目页面空白,打开控制台,发现如下报错:SCRIPT1002:语法错误 解决方法如下:1、安装依赖npminstall--savecore-jsregenerator-runtime2、在main.js引入import'core-js/stable';import'regenerator-runtime/runtime';3、在babel.confi......
  • 杭电多校赛第9场1002 Shortest path
    给定一个数字n,每次可以选择一项。令n=n-1令n=n/2,ifn%2==0令n=n/3,ifn%3==0求最少需要多少步可以让其变成1.减1操作可以看作是为了除法做准备,连续超过两次减1再除2是不优的,连续超过三次减1再除2也是不优的。可以根据下一步除2还是除3来分出两个分......
  • platform总线详解
    转载:手把手教Linux驱动10-platform总线详解-知乎(zhihu.com)platform总线是学习linux驱动必须要掌握的一个知识点。本文参考已发布:Linux3.14内核一、概念嵌入式系统中有很多的物理总线:I2c、SPI、USB、uart、PCIE、APB、AHBlinux从2.6起就加入了一套新的驱动管理和注册的......