AMBA总线介绍2.0PPT课件_第1页
AMBA总线介绍2.0PPT课件_第2页
AMBA总线介绍2.0PPT课件_第3页
AMBA总线介绍2.0PPT课件_第4页
AMBA总线介绍2.0PPT课件_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

1、1 1 amba 总线2 2sep32033 3目录 amba总线概述 ahb apb 不同ip之间的互连4 4系统总线简介 系统芯片中各个模块之间需要有接口来连接系统芯片中各个模块之间需要有接口来连接 总线作为子系统之间共享的通信链路总线作为子系统之间共享的通信链路 优点优点 低成本低成本 方便易用方便易用 缺点缺点 会造成性能瓶颈会造成性能瓶颈5 5amba介绍 advanced microcontroller bus architectureadvanced microcontroller bus architecture 片上总线的标准片上总线的标准 定义了三种总线定义了三种总线 ah

2、b (advanced high-performance bus)ahb (advanced high-performance bus) asb (advanced system bus)asb (advanced system bus) apb (advanced peripheral bus)apb (advanced peripheral bus)6 6amba发展历史 amba 1.0amba 1.0 asb asb 和和 apbapb amba 2.0amba 2.0 ahb, asb ahb, asb 和和 apbapb amba 3.0amba 3.0 amba advanced

3、 extensible interface (axi)amba advanced extensible interface (axi)7 7一个典型的amba系统 处理器和其它主设备/从设备都是可以替换的8 8ahb 高速总线,高性能高速总线,高性能 流水线操作流水线操作 可支持多个总线主设备(最多可支持多个总线主设备(最多1616个)个) 支持支持burstburst传输传输 总线带宽:总线带宽:8 8、1616、3232、6464、128bits128bits 上升沿触发操作上升沿触发操作 对于一个新设计建议使用对于一个新设计建议使用ahbahb 9 9asb高速总线高速总线流水线操作流水

4、线操作支持多个总线主设备支持多个总线主设备支持支持burstburst传输传输总线带宽:总线带宽:8 8、1616、32bits32bits三态、双向总线三态、双向总线 (不适于做(不适于做dftdft)下降沿或者上升沿触发下降沿或者上升沿触发1010apb 低速总线、低功耗低速总线、低功耗 接口简单接口简单 在在bridgebridge中锁存地址信号和控制信号中锁存地址信号和控制信号 适用于多种外设适用于多种外设 上升沿触发上升沿触发1111ahb组成部分 ahb ahb 主设备(主设备(mastermaster) 初始化一次读初始化一次读/ /写操作写操作 某一时刻只允许一个主设备使用总线

5、某一时刻只允许一个主设备使用总线 upup、dmadma、dspdsp、lcdc lcdc ahbahb从设备(从设备(slaveslave) 响应一次读响应一次读/ /写操作写操作 通过地址映射来选择使用哪一个从设备通过地址映射来选择使用哪一个从设备 外部存储器控制器外部存储器控制器emiemi、apb bridgeapb bridge、uartuart、 ahbahb仲裁器(仲裁器(arbiterarbiter) 允许某一个主设备控制总线允许某一个主设备控制总线 在在ambaamba协议中没有定义仲裁算法协议中没有定义仲裁算法 ahbahb译码器(译码器(decoderdecoder) 通

6、过地址译码来决定选择哪一个从设备通过地址译码来决定选择哪一个从设备1212apb组成部分 ahb2apb bridgeahb2apb bridge 可以锁存所有的地址、数据和控制信号可以锁存所有的地址、数据和控制信号 进行二级译码来产生进行二级译码来产生apbapb从设备选择信号从设备选择信号 apbapb总线上的所有其他模块都是总线上的所有其他模块都是apbapb从设备从设备 不是流水线方式不是流水线方式 接口是零功耗接口是零功耗1313amba协议其他有关问题 与工艺无关与工艺无关 没有定义电气特性没有定义电气特性 仅在时钟周期级定义时序仅在时钟周期级定义时序 提取时序参数依赖于所采用的工

7、艺和工作频率提取时序参数依赖于所采用的工艺和工作频率1414目录 amba总线概述 ahb apb 不同ip之间的互连1515ahb总线互连1616ahb传输发起一个请求给仲裁发起一个请求给仲裁器器驱动地址和驱动地址和控制信号控制信号允许某个主设允许某个主设备控制总线备控制总线仅选中的从设仅选中的从设备响应地址备响应地址/控制信号控制信号拉高拉高hready信号,总线信号,总线传输完成传输完成1717dummy/default masterdummy master granted when all masters split generates idle cycles only typical

8、ly master #0 granted when locked master gets split response implement as part of address/control muxdefault master granted when no master requires bus generally master most likely to require bus generates idle cycles when not requesting bus avoids minimum 2 cycle arbitration period immediate access

9、to bus1818default slaveslave 3(apb)default slave0 x0000_00000 xffff_ffffcase haddr is when . = hselebi hselsram hselapb hseldefault hresp hresp 0 x38 - 0 x3c - 0 x300 x34 - 0 x38 - 0 x3c - 0 x30 应用场合:应用场合:cachecache填充填充3434地址计算举例 根据hsize和hburst来计算地址 例:起始地址是0 x48,hsize=010(32bits)3535incr8 bursthclks

10、eqnseqseqseqseqseqincr80 x600 x680 x640 x6c0 x740 x70htranshbursthaddrhrdatad1d0d2d4d3d50 x780 x7cseqseqd6d73636wrap8 bursthclkseqnseqseqseqseqseqwrap80 x700 x780 x740 x7c0 x640 x60htranshbursthaddrhrdatad5d4d6d0d7d10 x680 x6cseqseqd2d3start of line3737incr4 burst3838wrap4 burst3939例:未定义长度的burst传输40

11、40example ldm ahb activity si = singlehclkseqnseqnseqnseqseqseqidleincr4sisi0 x340 x3c0 x380 x400 x480 x44htranshbursthaddrhrdatahwdatar6r5r7r9r8r10ldm ,r5-r104141注意! burstburst传输不能穿越传输不能穿越1k1k边界边界 一个从设备最小的地址间隙是一个从设备最小的地址间隙是1kb1kb nonseq - seq - 1kb boundary -nonseq - seq - 1kb boundary - nonseq - s

12、eq nonseq - seq 主设备不能试图开始一个可能穿越主设备不能试图开始一个可能穿越1k1k边界的固定长度的边界的固定长度的incrementing burstincrementing burst传输传输4242incr burst over 1k boundaryhclkseqnseqseqnseqseqseqincr0 x3f00 x3f80 x3f40 x3fc0 x4040 x400htranshbursthaddrhrdatad1d0d2d4d3d50 x408 0 x40cseqseqd6d7start of 1k page4343地址译码 hselxhselx:选择从设备

13、:选择从设备 指出由主设备所选择的从设备指出由主设备所选择的从设备 由地址译码器来提供选择信号由地址译码器来提供选择信号 一个从设备应该至少占用一个从设备应该至少占用1kb1kb的存储空间的存储空间 需要一个额外的缺省从设备来映射其他的存储地址需要一个额外的缺省从设备来映射其他的存储地址4444地址译码(续)4545从设备响应 所访问的从设备必须响应这次传输所访问的从设备必须响应这次传输 从设备可能返回的响应:从设备可能返回的响应: 完成这次传输完成这次传输 插入等待状态(插入等待状态(hreadyhready信号)信号) 发出错误信号表示这次传输失败发出错误信号表示这次传输失败 延迟传输,使

14、得总线可用于其他传输(延迟传输,使得总线可用于其他传输(splitsplit)4646从设备响应信号 hreadyhready:transfer donetransfer done hresp1:0hresp1:0:transfer responsetransfer response 0000:okayokay 成功成功 0101:errorerror 失败失败 1010:retryretry 传输未完成传输未完成 请求主设备重新开始一个传输请求主设备重新开始一个传输 1111:splitsplit 传输未完成传输未完成 请求主设备分离一次传输请求主设备分离一次传输4747两周期的响应 hre

15、sp1:0hresp1:0 okayokay:单周期响应:单周期响应 errorerror:两周期响应:两周期响应 retryretry:两周期响应:两周期响应 splitsplit:两周期响应:两周期响应 总线的流水特性需要从设备两个周期的响应。可以使得主设备有总线的流水特性需要从设备两个周期的响应。可以使得主设备有足够的时间处理下一次传输。足够的时间处理下一次传输。4848slave responsesmem amem bmem dmem cslaveprocessorambawrite mem ei couldnt write it because of no mem e!4949sla

16、ve responsesmem amem bmem dmem cslaveprocessorambawrite mem ai couldnt write it now for busy!you could retry write it latter!busy5050例:retry 响应5151retry和split的不同 主要区别在于仲裁的方式主要区别在于仲裁的方式 retryretry:arbiterarbiter会继续使用通常的优先级会继续使用通常的优先级 splitsplit:arbiterarbiter会调整优先级方案以便其他请求总线的主设备可以访问会调整优先级方案以便其他请求总线的主

17、设备可以访问总线总线 总线主设备应该用同样的方式处理总线主设备应该用同样的方式处理retryretry响应和响应和splitsplit响应响应5252locked transfershclkhaddrhwdatahlockaddress phaseadata phase aaddress phase baadata phase baddress phase cccbb locked sequences of transfers cannot be interrupted by interconnect hlock indicates next address phase is part of

18、a locked transfer in the above transfers to addresses b & c are locked and should not be separated arm processors use hlock for swp instruction only5353数据总线 不是三态总线,读总线和写总线是分开的。不是三态总线,读总线和写总线是分开的。 印第安序印第安序 在在ambaamba协议中没有定义协议中没有定义 主设备和从设备应该采用同样的印第安序主设备和从设备应该采用同样的印第安序 不支持动态印第安序不支持动态印第安序 对于对于ipip设计

19、,设计, 只有应用面比较广泛的应用程序才支持两种印第只有应用面比较广泛的应用程序才支持两种印第安序。安序。545432bit小印第安数据总线的有效字节555532bit大印第安数据总线的有效字节5656多个主设备i am first i am first!5757ahb仲裁信号5858仲裁信号(续) hbusreqhbusreq 总线请求总线请求 hlockxhlockx: 高电平:主设备请求锁定总线高电平:主设备请求锁定总线 hgrantxhgrantx 指出主设备指出主设备x x可访问总线可访问总线 主设备主设备x x控制总线:控制总线:hgrantx=1hgrantx=1且且hready

20、=1hready=15959仲裁信号(续) hmaster3:0hmaster3:0 指出哪个主设备正在进行传输指出哪个主设备正在进行传输 hmastlockhmastlock 指出主设备正在进行一次锁定传输指出主设备正在进行一次锁定传输 hsplitx15:0hsplitx15:0 从设备用这个信号告诉仲裁器哪个主设备允许重新尝试一次从设备用这个信号告诉仲裁器哪个主设备允许重新尝试一次splitsplit传输。传输。 每一位对应一个主设备每一位对应一个主设备6060仲裁举例(1) 没有等待状态的grant6161仲裁举例(2) 有等待状态的有等待状态的grantgrant6262仲裁举例(3

21、) burstburst传输之后移交总线传输之后移交总线6363总线主设备grant信号arbiter6464几点说明对于固定长度的对于固定长度的burstburst传输,不必持续请求总线传输,不必持续请求总线对于未定义长度的对于未定义长度的burstburst传输,主设备应该持续传输,主设备应该持续送出送出requestrequest信号,直到开始最后一次传输。信号,直到开始最后一次传输。如果没有主设备请求总线,则给缺省主设备如果没有主设备请求总线,则给缺省主设备grantgrant信号,且信号,且htrans=idlehtrans=idle建议主设备在锁定总线传输结束之后插入建议主设备在锁

22、定总线传输结束之后插入idleidle传传输,以重新仲裁优先级。输,以重新仲裁优先级。6565split传输过程由主设备开始传输。由主设备开始传输。如果从设备需要多个周期才能获取数据,则从设如果从设备需要多个周期才能获取数据,则从设备给出一个备给出一个splitsplit传输响应。从设备记录主设备号:传输响应。从设备记录主设备号:hmasterhmaster。接着仲裁器改变主设备的优先级。接着仲裁器改变主设备的优先级。仲裁器仲裁器grantgrant其他的主设备,总线主设备移交。其他的主设备,总线主设备移交。当从设备准备结束本次传输,将设置给仲裁器的当从设备准备结束本次传输,将设置给仲裁器的h

23、splitxhsplitx信号的相应位。信号的相应位。仲裁器恢复优先级仲裁器恢复优先级仲裁器仲裁器grantgrant主设备,这样主设备可以重新开始传主设备,这样主设备可以重新开始传输。输。结束结束6666防止deadlock当多个不同的主设备试图访问同一个从设备,这当多个不同的主设备试图访问同一个从设备,这个从设备发出了个从设备发出了splitsplit或或retryretry信号,这是很可能信号,这是很可能发生发生deadlockdeadlock从设备最多可以接收系统中从设备最多可以接收系统中1616个主设备的请求。个主设备的请求。只需要记录主设备号(忽略地址和控制信号)只需要记录主设备号

24、(忽略地址和控制信号)给出给出retryretry响应的从设备在某一时刻只能由一个响应的从设备在某一时刻只能由一个主设备访问。主设备访问。 可以使用一些硬件保护机制,比如可以使用一些硬件保护机制,比如errorerror6767ahb主设备接口6868ahb从设备接口6969ahb arbiter7070ahb decoder7171typical multi-layer examplemaster 0on-chiprammaster 1externalmemoryi/fdmaslaveslave muxslave muxuarttimergpioahb2apb master 0 can ac

25、cess private ram, apb and external interface master 1 can access dma slave, apb and external interfaceparallel access improves system bandwidth7272ahb-litesubset of ahb functionalitysubset of ahb functionalitysingle master no need for hbusreq & hgrantsimple slavesno retry or split responses stan

26、dard ahb modules can be usedstandard ahb modules can be usedallows easier module design/debugallows easier module design/debugmaster 0slave#1slave#2slave#3slave#47373ahb总结主要组成部分主要组成部分 mastermaster、slavesslaves、arbiterarbiter、decoderdecoder传输的过程传输的过程 流水线机制流水线机制 address phaseaddress phase和和data phased

27、ata phase如何提高性能如何提高性能 burst read/writeburst read/write仲裁机制仲裁机制 总线控制权的移交总线控制权的移交7474ahb总结(续) slaveslave短时间内无法响应短时间内无法响应 hreadyhready信号拉低信号拉低 slaveslave长时间内无法响应长时间内无法响应 插入插入split/retrysplit/retry mastermaster不能进行传输不能进行传输 插入插入busybusy7575ahb的应用建议 arbiterarbiter的优先级可以配置的优先级可以配置 slaveslave长时间不能响应的话,一般不支持

28、长时间不能响应的话,一般不支持splitsplit响应,使用响应,使用retryretry响应响应 总线上如果只有一个总线上如果只有一个mastermaster的话,可以使用的话,可以使用ahb liteahb lite协议,不用协议,不用arbiterarbiter 设计一个新的设计一个新的ipip时,要仔细核对时,要仔细核对ambaamba的的featurefeature和和ipip所支持的所支持的featurefeature是否匹配。是否匹配。7676实现 如果设计中既有主设备端口又有从设备端口如果设计中既有主设备端口又有从设备端口 通过主设备端口读通过主设备端口读/ /写数据写数据 通

29、过从设备端口配置寄存器等通过从设备端口配置寄存器等 如处理器设置的一些参数如处理器设置的一些参数7777目录 amba总线概述 ahb apb 不同ip之间的互连7878apb信号7979apb信号(续) paddr31:0paddr31:0 地址总线,由设备总线的地址总线,由设备总线的bridgebridge单元驱动单元驱动 pselxpselx 从译码器来的信号,到每一个总线从设备从译码器来的信号,到每一个总线从设备x x penablepenable 用于在设备总线上把所有访问按时间阶段进行用于在设备总线上把所有访问按时间阶段进行 pwritepwrite 高电平:写高电平:写 低电平:

30、读低电平:读 prdataprdata和和pwdatapwdata 最多最多3232位宽位宽8080address decoding stagesslave 3(apb)slave 1(ebi)slave 2(sram)0 xcfff_ffff0 xc000_00000 x5000_ffff0 x5000_00000 x3fff_ffff0 x0000_0000peripheral 3(uart)peripheral 1(int cont)peripheral 2(timers)0 xc3ff_ffff0 xc300_00000 xc2ff_ffff0 xc100_00000 xc000_ff

31、ff0 xc000_0000apbmemory maptimer 2timer 10 xc2ff_ffff0 xc200_00000 xc1ff_ffff0 xc100_0000ahb decoderhselapbpseltimapb bridgetimersahbmemory maptimersmemory map8181apb interconnectahb2apbbridgeapbmasterpaddrhclkpsel#1pwritepsel#2psel#3pclkhaddrhwriteperipheral #1peripheral #3peripheral #2penablepwdat

32、aprdatahrdatahselhwdataahbapb8282写传输8383读传输8484bridgehow to translate ahb pipelined timing to 2-cycle apb timing?8585bridge fsmahb transfer8686apb slave8787apb到ahb的接口读8888目录 amba总线概述 ahb apb 不同ip之间的互连8989通信方式 cpu (master) cpu (master) ip (slave) ip (slave) ip (master) ip (slave)ip (master) ip (slave) 9090memory mapped io 每一个从设备都占用系统中的一段地址空间每一个从设备都占用系统中的一段地址空间 所有的从设备都是可寻址的所有的从设备都是可寻址的 寄存器寄存器/ /存储器都是内存

温馨提示

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

评论

0/150

提交评论