网站大量收购独家精品文档,联系QQ:2885784924

AMBA总线介绍.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AMBA总线介绍.doc

计算机基本知识AMBA总线ARM处理器的广泛使用而拥有众多第三方支持,被ARM公司90%以上的合作伙伴采用。 在AMBA总线规范中,定义了AHB APB ,ASB这3种总线最初的AMBA总线是ASB和APB。在它的第二个版本中,ARM引入了AHB。   (l)AHBAdvanced High Performace Bus,用于高性能系统模块的连接,支持突发模式数据传输和事务分割;   (2)ASBAdvanced System Bus,也用于高性能系统模块的连接,支持突发模式数据传输,这是较老的系统总线格式,后来由AHB总线替代;   (3)APBAdvanced PeriPheral Bus,用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线。AMBA 为架构的SOC,图1是个典型的系统架构,一般来说包含了high-performance 的system bus – AHB以及low speed, low power 的peripheral bus - APB 。System bus 是负责连接例如ARM 之类的embedded processor 以及DMA controller,on-chip memory 和其他 interface,或其他需要high bandwidth的模块。而peripheral bus 则是用来连接系统的外围慢速模块,其协议规则相对AHB来说较为简单,它以AHB之间则通过Bridge 相连,期望能減少system bus 的loading。 二:结构以及仲裁原理 1 .AHB Bus AHB System是由Master,Slave,Infrastructure 三部分所组成。整个AHB bus上的传输都是由master 所发出,由slave 负责回应。而infrastructure 则由arbiter ,master to slave multiplexor,slave to master multiplexor,decoder,dummy slave,dummy master 所组成。 AHB总线互联结构图【2】 AHB支持多主设备,所以需要仲裁器。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。AHB Arbitration的机制简述如下: 当master 想要access bus 时候,master 将HBUSREQ signal(bus request) 给drive high(每个master 都有自己的HBUSREQ 信号),同一个时间可能有多个master 都想要access bus,因此arbiter 在HCLK 的rising edge 去sample 各个master 的HBUSREQ 信号后,需要决定哪个发出request 的master 有最高的priority(虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由设计工程师决定,AHB priority algorithm,其中两个最常用的算法是固定优先级算法和循环制算法)master 的HGRANT(bus grant signal由arbiter给出) 信号drive high,表示他可以access bus 了。(若原本已有master 在access bus,arbiter会把原本master 的HGRANT 信号给drive LOW, 表示他已经丧失access 的权利。 当master 正在进行fixed-length burst transfer (固定长度的突发连续传输)时候,如果有更高priority 的master 发出了request,arbiter 可以等待burst 完成后再將bus grant 给新的master,也可以在burst进行中就中断原来 master 的bus 拥有权(ownership),让更高priority 的master 去access bus。而被中断的master就需要重新发出request,等待下一次Grant bus时候继续完成burst了。 若master想要进行的连续 transfer是不可以中断的 (比如在access shared memory 时候),则master 可以在request 时候,同时将HLOCK 给drive high,告诉arbiter我要进行的是不可被中断的transfer,则当master 获得access bus权力后 ,arbiter将不会把bus release给其它master,直到master自行将HLOCK 给drive LOW,arbiter才会进行arbitration 的动作

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档