学习汇报AMBA总线协议_第1页
学习汇报AMBA总线协议_第2页
学习汇报AMBA总线协议_第3页
学习汇报AMBA总线协议_第4页
学习汇报AMBA总线协议_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、阶段学习汇报 AMBA总线协议XXX目录 1. AMBA总线简介 2. AMBA AHB 3. AMBA APB1. AMBA 总线简介 1.1 AMBA总线概述高级微控制器总线体系(Advanced Microcontroller Bus Architecture)规范定义了在设计高性能嵌入式微控制器时的一种片上通信标准 根据AMBA标准定义了三种不同的总线 高级高性能总线(Advanced High-performance Bus) 高级系统总线(Advanced System Bus) 高级外设总线(Advanced Peripheral Bus) 1.1.1 高级高性能总线(AHB)

2、用于高性能、高时钟频率的系统模块。 1.1.2 高级系统总线(ASB) 用于高性能的系统模块之间。在并不要求AHB的高性能特征的地方使用。 1.1.3 高级外设总线(APB) 用于低功耗外设。1.2 AMBA规范的目的 促进带一个或多个CPU(或信号处理器)的嵌入式微控制器产品的第一时间开发 技术上独立并高复用度的外设和系统宏单元能在多样的在多样的IC工序之间方便的移植工序之间方便的移植,以及适用于完整定制、标准宏单元和门列阵技术 鼓励标准系统设计以提高处理器的独立性,提供高级cache CPU的发展路线图和外设库的发展 降低硅的下部构造要求以支持用在操作和生产测试时有效的片上和片外通信 AM

3、BA是为了推出on-chip bus的规范,一开始AMBA1.0只有ASB和APB,为了节省面积,bus协议都是tristate的bus;到2.0的AHB,为了方便设计者(tristate bus需要花更多精力注意timing),改用Mux结构,并增加了新特性。1.3 基于AMBA的典型微控制器 基于AMBA的微控制器,包含一个高性能系统中枢总线(AHB或ASB)和外设总线APB。 System bus负责连接ARM之类的embedded processor,DMA controller,on-chip memory和其他interface,或其他需要high bandwidth的元件。 Pe

4、ripheral bus则用来连接系统的周边元件,该协议相对AHB要简单很多。与AHB之间通过桥接器(Bridge)相连。 一个典型的AMBA系统如下图2. AMBA AHB AHB是为了提出高性能可综合设计的要求而产生的新一代AMBA总线。它的一些特性包括单时钟沿操作(Single-clock edge operation)非三态执行(Non-tristate implementation)突发传输(Burst transfers)分块处理(Split transaction)多主机(Multiple bus master)2.1 概述 AHB System 由Master, Slave,

5、Infrastructure三部分组成。 所有的传输(transfer)都是由master发出,由slave回应。 而infrastructure则由arbiter,master to slave mux, slave to master mux, decoder, dummy slave, dummy master组成。 为了支持multiple master,需要arbiter来仲裁;decoder负责位解码,从multiple slave中选择要回应transfer的slave。 两个mux则负责bus的routing(以不适用tristate bus)。如下图 Bus上传输的信号有七种

6、:clock,arbitration,address,control signal,write data,read data,response signal 除了clock和arbitration之外,其他的信号都会经过mux。经过master to slave mux的信号为:address,control signal,write data经过slave to master mux的为:read data,response signalNameSourceDescriptionHCLKClock sourceBus clock. All signal timings are related

7、 to the rising edge of HCLKHRESETnReset controllerActive LOW.HADDR31:0Master32-bit system busHTRANS1:0MasterCurrent transfer typeHWRITEMasterH: write. L: readHSIZE2:0MasterSize of transferHBURST2:0MasterIndicate if the transfer forms part of a burstHPROT3:0MasterImplement some level of protectionHWD

8、ATA31:0MasterWrite data busNameSourceDescriptionHSELxDecoderSlave select signalHRDATA31:0SlaveRead data busHREADYSlaveH: transfer done; L: extending transferHRESP1:0SlaveTransfer responseHBUSREQxMasterBus requestHLOCKxMasterLocked transferHGRANTxArbiterBus grant signal HMASTER3:0ArbiterIndicate gran

9、ted master numberHMASTLOCKArbiterLocked sequenceHSPLITx15:0SlaveSplit completion request2.2 Basic transfer 在AHB bus上,一次完整的transfer可分为两个阶段:address phase和data phaseaddress phase 传送 address,control signaldata phase 传送 wrtie/read data, response signal. 如图 transfer 在 data phase 时若无法在1个clock cycle内完成,slav

10、e可用HREADY信号延长transfer。参考下图,当HREADY为Low时,表示transfer尚未结束,为High是则表示transfer结束。 由于一次transfer需要两个phase,为了增加总线的performance,AHB将多次transfer pipeline。 当前transfer的data phase与下一次transfer的address phase是重叠的。2.3 Control signal AHB上的control signal分5类HTRANS1:0 : Transfer typeHBURST2:0 : Burst typeHPORT3:0 : Protect

11、ion controlHSIZE2:0 : Transfer size HWRITE : Transfer direction2.3.1 Transfer type(HTRANS1:0) IDLE (00) 指示slave忽略目前的transfer BUSY (01) burst transfer时,若master无法及时将数据准备好,发出BUSY通知slave NONSEQ (10) 指示目前transfer的address和control signal和之前的transfer不一样 SEQ (11) 指示目前transfer的address和control signal和之前的transf

12、er一样,通常用在busrt transfer中2.3.2 Burst type(HBURST2:0) AHB支持8种burst type HBURST = 010 (WRAP4) HBURST = 011(INCR4) HBURST = 100(WRAP8) HBURST = 101(INCR8)2.3.3 Transfer direction(HWRITE) HWRTIE = HIGH master在data phase将数据置于write data bus HWDATA31:0上,传输给slave HWRTIE = LOW slave在data phase将数据置于read data b

13、us HRDATA31:0上,传输给master 2.3.4 Transfer size(HSIZE2:0)2.3.5 Protection control(HPROT3:0) 让master提供额外的protection information。 Slave在设计时尽量不使用HPROT信号2.4 Slave response 在transfer结束时,slave可以用HRESP1:0告诉master结束的状态。AHB中transfer结束时的状态可分为4种:OKAY, ERROR, RETRY, SPLIT OKAY表示transfer成功 ERROR表示transfer失败 RETRY和S

14、PLIT则是用于当slave判断目前的transfer需要很多个bus cycle才能完成,为了避免当前的transfer将bus一直占有,回应RETRY/SPLIT response给master,表示说目前的transfer并未完成,master需要重新发出相同的transfer再试一次。而arbiter可以将bus释放给其他有需要的masterRETRY和SPLIT的区别 RETRY:arbiter内master的优先权不变。拥有高优先权的master发出request时,bus还是由高优先权的master获得 SPLIT:当arbiter观察到master收到SPLIT respons

15、e时,则该master的优先权mask起来,使其无法获得bus。若所有master都收到SPLIT,则arbiter把bus交给dummy master(只会发出IDLE transfer)。当发出SPLIT response的slave处理完transfer之后,会发出HSPLIT信号给arbiter,将master的优先权unmask。 SPLIT能让低优先权的master在合理的情况下,取得bus的所有权,让AHB有更好的设计。缺点是,是设计更加复杂。 4个response中,OKAY需要1个cycle,其他三个response都需要2个cycle。2.5 Arbitration 当ma

16、ster想要access bus时,将HBUSREQ置高,arbiter在HHCLK的上升沿采样各个master的HBUSREQ信号后,将拥有最高优先权的master的HGRANT信号置高,使其能够access bus。 当master正在进行burst transfer,如果有更高优先权的master发出了request,arbiter可以等待当前burst完成后再将bus grant给新的master,也可以中断当前的transfer,将bus交给优先级更高的master。被中断的master需重新发出request,等到下次被grant bus是继续完成burst transfer。 当

17、arbiter决定在当前burst结束后,转移bus的所有权,arbiter会在倒数第二个transfer的address被sample之后,改变HRANT信号,所有新的HGRANT信号会跟最后一个transfer的address一起在同一个时间被sample RETRY/SPLIT response时,其第二个cycle必须是IDLE transfer以便让arbiter去改变bus owner。下图介绍HGRANT如何利用IDLE transfer的cycle变化3. AMBA APB APB主要用在连接低带宽的外设时。 APB里唯一的master就是APB bridge(与AHB bus

18、相连)。因此,不需要arbiter,以及一些request/grant信号。 特性Always two-cycle transferNo wait cycle & response signal3.1 APB概述 APB上的transfer如下图中的state diagram一开始为IDLE state,此时没有transfer,也没有slave被选择当有transfer要进行时,PSELx=1,PENABLE=0,进入SETUP state,且只停留一个cycle。进入ENABLE state时,之前在SETUP state的PADDR, PSEL, PWRTIE皆保持不变,只有PENABLE被置H。Transfer也只在ENABLE保持一个cycle,若之后没有其他的transfer则又进入IDLE。NameDescriptionPCLKBus clock.PRESETnAPB reset. Active LOWPADDR31:0APB address busPSELxIndicates that the slave device is selected.PENABLEIndicates the second cycl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论