AMBA协议总结

上传人:仙*** 文档编号:193999584 上传时间:2023-03-13 格式:DOCX 页数:12 大小:41.51KB
收藏 版权申诉 举报 下载
AMBA协议总结_第1页
第1页 / 共12页
AMBA协议总结_第2页
第2页 / 共12页
AMBA协议总结_第3页
第3页 / 共12页
资源描述:

《AMBA协议总结》由会员分享,可在线阅读,更多相关《AMBA协议总结(12页珍藏版)》请在装配图网上搜索。

1、AMBA协议总结1 基于AMBA的微控制器结构 基于AMBA的微控制器典型地由一个高性能系统中枢总线组成,能够支持外部存储器带宽,包括CPU片上存储器和其他直接数据存取设备。这条总线为上述单元之间大多数的传输提供高带宽接口。在这条高性能总线上也有一个桥接器以连接低带宽的APB,而在APB上连接着大多数的系统外设。 图 1 基于AMBA的典型微控制器 1.1 AHB总线架构 Haddr31:0AHB decoderHsel1Hsel2Hmaster2:0Hready1Hresp11:0Slave1Hrdata131:0HreadyHresp1:0MUXS2MHrdata31:0Hsel2Hrea

2、dy2APB BridgeHresp21:0Hrdata231:0Hrdata31:0Master1Haddr131:0Hwdata131:0Hcontrol1Hsel1Haddr31:0Hwdata31:0Haddr31:0MUXM2SHwdata31:0Hbursteq1Hgrant1Hmaster3:0ArbiterHbursteq2Hgrant2Hrdata31:0Master2Hcontrol2Haddr231:0Hwdata231:0Haddr31:0Hwdata31:0图 2 AHB结构框图 AHB系统设计包括以下的成分: AHB主机 总线主机能够通过提供地址和控制信息发起读写操

3、作。任何时候只允许一个总线主机处于有效状态并能使用总线。 AHB从机 总线从机在给定的地址空间范围内响应读写操作。总线从机将成功、失败或者等待数据传输的信号返回给有效的主机。 AHB仲裁器 总线仲裁器确保每次只有一个总线主机被允许发起数据传输。即使仲裁协议已经固定,任何一种仲裁算法,比如最高优先级或者公平访问都能根据应用要求而得到执行。 地址、写数据总线多路选择器 地址、写数据总线多路选择器根据Hmaster总线仲裁结果进行主机地址、写数据的选通输出。 AHB译码器 AHB译码器用来对每次传输进行地址译码并且在传输中包含一个从机选择信号。所有AHB执行都必须仅要求有一个中央译码器,从而进行从机

4、的选通。 读数据、响应总线多路选择器 读数据、响应总线多路选择器根据Hsel信号从机选通信号,进行读数据和响应信号的选通输出。 APB桥 APB桥是AMBA APB中的唯一总线主机。另外,APB桥也是AHB总线中的一个从机。其实现AHB总线到APB总线的转换。 1.2 本设计支持模式 Hburst中支持单一传输、未定长度增量突发、定长增量突发,不支持回环突发模式。 Hresp不支持Retry、Split模式。 仲裁中,不支持未定长增量突发提前终止。 传输数据大小支持字节、半字、字传输。 不支持保护控制Hprot3:0。 不支持锁定传输Hlock。 1.3 可配置参数 表 1 AHB可配置参数

5、可配置参数 说明 ARM_SIZE 传输数据位宽 ARM_BURST 传输模式 ARM_INCRNUM 非定长突发长度 MASTER0_2 Master地址 SLAVE0_2 Slave地址 PSLAVE0_2 Pslave地址 注:Haddr31:28,AHB slave地址。Haddr27:24,APB slave地址。 2 AMBA AHB总线分模块 2.1 AHB总线Wrapper 表 2 AHB Master写Wrapper接口 信号名 Clk Arm_reqx Arm_en 方向 输入 输入 输出 Arm_wdata 输入 Arm_addr 输入 Arm_write 输入 注:Ar

6、m_addr和Arm_data相位相同。 作用 提供AHB时钟 Master请求总线信号 总线授予,请求主机发送地址数据 提供传输数据 传输地址 对/写请求信号 表 3 AHB Slave Wrapper接口 信号名 Ram_addr Ram_wdata Ram_write Ram_read Ram_rdata 方向 输出 输出 输出 输出 输入 作用 Slave与外部的地址 Slave与外部的写数据 Slave与外部的写使能 Slave与外部的读使能 Slave与外部的读数据 注:Ram_addr和Ram_wdata相位相同。Ram_rdata晚于Ram_addr一个时钟周期。 2.2 AH

7、B主机 典型的一个AMBA系统设计者应该使用预先设计的总线主机因此就不需要关注总线主机接口的细节。 图 3 AHB主机接口 图 4 AHB主机传输时序 AHB主机状态跳转流程: 主机模块设计中,主要包括以下几个状态:空闲Idle,总线请求Req,非连续传输Nonseq,连续传输Seq,非定长突发Nonfix。 主机在Req状态向Arbiter进行总线请求,在收到Arbiter的Hgrantx信号,且当前Hready为高时跳转到Nonseq进行Single数据传输; 在Nonseq状态下判断Burst模式,如为定长突发,跳转至Seq,若为非定长突发,跳转至Nonfix; Seq下进行突发长度计数

8、,计够则跳转Idle,Seq下地址输出对Hready进行判断,当采样到Hready为高时,进行地址的自加,在Seq下不需进行总线请求; Nonseq下进行非定长突发传输,Nonseq下地址的自加需要判断Hready和Hgrantx_reg需要一直进行总线请求。 注:AHB总线上地址和数据遵从流水线传输,数据晚于地址一个时钟周期。在地址输出之后的一个周期,如果Hready为高,则进行数据的输出。 注:在对APB bridge进行读操作时,因为Haddr有效后第二个时钟才会有数据输出,和AHB下第一个时钟输出数据不一致,故需要特别考虑。 注:在突发模式下进行计数时,应在Hready为高时进行计数加

9、1. 注:在状态跳转中需要判断Hready信号,因为总线上地址和数据的跳变需要在Hready为高时才能进行。 传输类型Htrans1:0实例 图 5 传输类型Htrans1:0实例 突发操作Hburst2:0 图 6 四拍增量突发 图 7 未定长度的突发 图中表示两个突发:两个传输在地址0x20处开始,半字传输地址增加为2;三个字传输在地址0x5C,字传输地址增加为4。 从机可以通过Hready信号可以延长数据。 当该信号为低时导致在传输中插入等待状态同时允许从机有额外的时间提供或者采样数据。 在传输中从机通过响应信号来表示状态,Hresp1:0: OKAY: OKAY响应用来表示传输进展正常

10、且当Hready变高时表示传输成功完成。 ERROR: ERROR响应表示一个传输错误并且传输失败。 传输大小Hsize2:0 传输大小被用来和Hburst2:0信号一起决定回环突发的地址边界。 地址译码 从机只能在Hready信号为高时采样地址和控制信号以及Hselx,Hselx为高表示当前传输已经完成。 能够分配给单个从机的最小地址空间是1KB,所有总线主机必须被设计为不能执行超过1KB地址边界的增量传输,因此确保了一个突发决不能超过地址译码的边界。 图 8 地址译码 2.3 AHB从机 从机使用一个来自译码器的Hselx选择信号以确认何时响应总线主机。所有传输要求的其他信号,例如地址和控

11、制信息,将有总线主机产生。 图 9 AHB从机接口 AHB从机状态有以下几个:Idle,Write,Read,Error_1,Eeeor_2状态。Hsel根据Haddr进行选择。 Idle下,当Hsel选通,且为读时,跳转至Read状态,当为写时,跳转至Write态,当Hresp为ERROR时,跳转至Error_1; 在Read态下,若Hsel选通,Hready为高,且为写时,跳至Write; 在Write下,若Hsel选通,Hready为高且为读时,跳至Read; Error_2下,若选通,且为写时,跳至Write,若为读,跳至Read。 注:在Hsel为高时,对地址进行锁存。在Hsel_r

12、eg时,对写数据进行锁存。 注:在读状态下,若Hready为高,且选通状态下,对读数据输出。 图 10 AHB从机时序 传输响应Hresp1:0 典型的从机将会用Hready信号来在传输中插入适当数量的等待状态,而传输在Hready为高时完成并且给出OKAY响应,表示传输成功完成。 在系统中如果有包含一个存储器映射并未完全填满的情况时应该设置一个额外的默认从机以在访问任何不存在的地址空间时提供响应。如果一个非连续或者连续传输试图访问一个不存在的地址空间时,这个默认从机应该提供一个ERROR响应。空闲或者忙传输访问不存在的空间应该给出一个零等待状态的OKAY响应。 2.4 AHB仲裁器 在AMB

13、A系统中,每个总线主机有一个请求/授予接口连到仲裁器,并且仲裁器使用一个优先权分配方案来决定哪个总线主机是当前请求总线的主机中优先级最高的。 在没有主机请求总线并且仲裁器将访问总线授予一个默认的主机。因此,如果一个主机并没有请求访问总线那么它驱动传输类型Htrans来表示空闲传输。 每个主机也可以用来表示主机请求独占总线访问的Hlockx信号。 图 11 AHB仲裁器接口 AHB仲裁器有以下几个状态: 默认态Default,锁定传输态Locked,固定传输态Fixed,额外态Extra,总线移交态Handover。 Default态下,当Hgrantx为1时,判断Hburst,当Hburst为

14、定长Burst时,跳转至Fixed,当Hburst为非定长或Single时,跳转至Handover,若为锁存传输时,跳至Locked; 在Fixed态下,在倒数第一个地址输出时,跳转至Handover; 在Handover下,当有总线移交Hgrantx且为定长突发时,跳转至Fixed,若有Hgrantx且为非定长或者Single时,跳至自身,否则跳至Default。 当为Locked时,需要额外的一个缓冲周期Extra。 注:仲裁器对Hbursteq1和Hbursteq2进行优先级仲裁后,Hgrant不能立刻改变,必须在空闲Default或者总线移交状态Handover改变。 注:Hgrant

15、输出时,用组合逻辑判断change_en。 注:Hmaster晚于Hgrant一个周期转变。 注:设计中使用组合逻辑almost_finished,计数到N-1,若用时序逻辑则N-2。 图 12 AHB主机仲裁时序 图 13 AHB仲裁器分块时序 图 14 数据总线所有权移交过程 2.5 AHB地址、写数据总线多路选择器 在此Hready为高时,根据Hmaster进行地址的选通;由于流水线结构,故写数据需在地址之后一个周期输出,故将Hmaster延时一拍,若此时Hready为高,则进行写数据总线的切换。 2.6 AHB译码器 在AMBA系统中译码器被用来执行集中的地址译码功能,通过使它们独立于

16、系统的存储器映射,可以提高外设的移植性。根据地址Haddr对从机选通Hsel。 图 15 AHB译码器接口 图 16 AHB译码器时序 2.7 AHB读数据、响应多路选择器 根据Hsel的选通进行读数据和响应信号的总线切换。由于流水线结构,读数据输出晚于Hsel一拍,故在Hready为高时,对Hsel延时,从而对对数据、响应信号的总线切换输出。 2.8 APB桥 高级外设总线是高级微控制器总线系统的总线层次的一部分并且为降低功率消耗和接口复杂性做了优化。 APB桥接单元将系统总线传输转换成APB传输并实现下列功能: 锁存地址并使之在整个传输期间有效。 译码地址和产生一个外设选择信号Pselx,

17、在一个传输期间只有一个选择信号有效。 对于写传输驱动数据到APB上。 对于读传输驱动APB数据到系统总线上。 为传输产生一个时序选通信号Penable。 图 17 APB桥 APB桥状态如下: 空闲Idle,AHB地址写延时W_Latch,单数据APB写选通W_Setup,单数据APB写使能W_Enable,突发写选通BurstW_Setup,突发写使能BurstW_Enable,读选通R_Setup,读使能R_Enable。 Idle态下,当Hsel选通后,若为写则跳至W_Latch进行Haddr地址锁存,若为读,则跳至R_Setup模态; 在W_Latch态下,进行单数据和突发模式的判断,

18、单数据跳至W_Setup,突发模式跳至BurstW_Setup态; 在W_Enable态下,若下一时刻为读,则跳至R_Setup态; 在R_Enable态下,若Hready为高,且选通Hsel下,若为读,则跳至R_Setup态,若为写,则跳至W_Latch态; 在BurstW_Enable态下,若下个时刻还是写,则跳至BurstW_Setup,否则跳至Idle。 注:W_Enable跳至R_Setup态(写到读的切换)的判断条件是经W_Setup和W_Enable延时Hsel和Hwrite两拍后的变量Read_next_sel_reg和Read_next_reg。 注:BurstW_Setup

19、下,若上个状态在W-Latch和BurstW_Enable下锁存的地址Paddr不同。 注:R-Setup下,上个状态是R_Enable,Idle和W_Enable下锁存的地址Paddr不同。 注:APB总线不支持Hready延长总线周期,故在地址Paddr的下个周期Pdata有效。 图 18 突发读模式 3 AMBA代码仿真 3.1 SINGLE写 Master1未申请总线,Master2为SINGLE写模式。 3.2 Burst写 Master1为定长突发模式INCR16;Master2为未定长突发,突发长度为7。 3.3 总线仲裁 Hmaster1和Hmaster2同时进行总线请求,Hmaster1为INCR4,Hmaster2为INCR8。 3.4 APB桥写 Hmaster2以INCR8写APB桥。 3.5 SINGLE读 Hmaster2以未定长突发INCR读APB桥。 3.6 Burst读 Master1为INCR4读,Master2为SINGLE读。 3.7 APB桥读 Master1为INCR4读,Master2为INCR8读。 3.8 AHB slave先写后读 Master1对AHB slave先SINGLE写,然后SINGLE读。 3.9 APB桥先写后读 Master2读APB bridge先SINGLE写,然后SINGLE读。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!