AMBA 接口文档 - 图文

发布时间 : 星期一 文章AMBA 接口文档 - 图文更新完毕开始阅读

AMBA接口文档

Last updated: 7/10/2013 8:44 AM

Page 21 of 62

持不变。

当HWRITE 为高,该信号表示一个写传输并且主机将数据广播到写数据总线上HWDATA[31:0]。当该信号为低时将会执行一个读传输并且从机必须产生数据到读数据总线HRDATA[31:0]。

HSIZE[2:0]表示传输的大小,见表 4.4。传输的大小被用来和HBURST[2:0]信号一起决定回环突发的地址边界。

HSIZE[2:0] 大小 8bits 16bits 32bits 64bits 描述 字节 半字 字 2字 000 001 010 011 100 101 110 111 126bits 4字 256bits 512bits 1024bits 表4.4 大小编码 保护控制信号,HPROT[3:0],提供总线访问的附加信息是给那些希望执行某种保护级别的模块使用的,并不是所有总线主机都能产生正确的保护信息,因此建议从机在没有严格必要的情况下不要使用HPROT 信号。保护信息编码见表 4.5所示。这些信号表示传输是否是:

? 一次预取指或者数据访问; ? 特权模式访问或者用户模式访问;

对于带有存储器管理单元的总线主机来说这些信号也表示当前访问是带高速缓存的(cache)还是带缓冲的(buffer)。

HPROT[3] HPROT[2] HPROT[1] HPROT[0] 描述 高速缓存 带缓冲的 特权模式 数据/预取指 - - - - - - - - - - 0 1 0 1 - - 预取指 数据访问 用户模式访问 特权模式访问

AMBA接口文档

Last updated: 7/10/2013 8:44 AM

Page 22 of 62

- - 0 1 0 1 - - - - - - - - - 无缓冲 带缓冲 无高速缓存 带高速缓存 表4.5 保护信息编码 4.5 地址译码

对于每个总线上的从机来说使用一个中央地址译码器提供选择信号,HSELx。选择信号是高位地址信号的组合译码,并且应使用简单的译码方案以避免复杂译码逻辑和确保高速操作。

从机只能在HREADY 信号为高时采样地址和控制信号以及HSELx,HSELx 为高表示当前传输已经完成。在特定的情况下有可能在HREADY 为低时采样HSELx,但是被选中的从机将会在当前传输完成后变更。

能够分配给单个从机的最小地址空间是1KB。所有总线主机必须被设计为不能执行超过1KB 地址边界的增量传输,因此确保了一个突发绝不会超过地址译码的边界。

在系统设计中如果有包含一个存储器映射并未完全填满(存储空间)的情况时应该设置一个额外的默认从机以在访问任何不存在的地址空间时提供响应。如果一个非连续或者连续传输试图访问一个不存在的地址空间时这个默认从机应该提供一个ERROR 响应。空闲或者忙传输访问不存在的空间(默认从机)应该给出一个零等待状态的OKAY 响应。典型默认从机的功能将以作为中央地址译码器的一部分来实现。图 4.10表示了一个典型地址译码系统和从机选择信号。

AMBA接口文档

Last updated: 7/10/2013 8:44 AM

Page 23 of 62

图 4.11从机选择信号

在主机发起传输后,由从机决定传输该如何进行。AHB 规范中没有做出总线主机在传输已经开始后取消传输的规定。只要从机被访问那它必须提供一个表示传输状态的响应。HREADY 信号被用来扩展传输并且和响应信号HRESP[1:0]相结合,以提供传输状态。从机能够用许多种方式来完成传输。它能: ? 立刻完成传输;

? 插入一个或者多个等待状态以允许有时间来完成传输; ? 发出一个错误信号来表示传输失败;

? 延时传输的完成,但是允许主机和从机放弃总线,把总线留给其他传输使用。

HREADY 信号用来扩展一次AHB 传输的数据部分。当HREADY 信号为低时表示传输将被扩展而当其为高时表示传输完成。每个从机必须有一个预先确定的在从机放弃总线之前插入的最大等待状态数目,以便能够计算访问总线的延时。建议从机不要插入多于16 个等待状态以阻止任何单个访问将总线锁定较长的时钟周期。

典型的从机将会用HREADY 信号来在传输中插入适当数量的等待状态而传输在HREADY 为高时完成并且给出OKAY 响应,表示传输成功完成。

ERROR 响应被从机用来表示某种形式的错误条件和相关的传输。典型的这被用作保护 错误,例如试图写一个只读的存储空间。SPLIT 和RETRY 响应组合允许从机延长传输完

AMBA接口文档

Last updated: 7/10/2013 8:44 AM

Page 24 of 62

成的时间,但是释放总线给其他主机使用。这些响应组合通常仅由有高访问延时的从机请求并且从机能够利用这些响应编码来确保其他主机在长时间内不被阻止访问总线。 关于SPLIT和RETRY的完整描述参见分块和重试。HRESP[1:0]的编码、传输响应信号和每个响应的描述参见表 4. 6。当从机需要插入一定数量的等待状态优于决定将要给出何种响应时从机必须将响应驱动为OKAY。 HRESP[1:0] 响应 描述 00 OK 当HREADY 为高表示传输已经成功完成。OKAY 响应也被用来插入任意一个附加周期,当HREADY 为低时,优先给出其他三种响应之一。 01 ERROR 该响应表示发生了一个错误。错误条件应该发信号给总线主机以便让主机意识到传输失败。 一个错误条件需要双周期响应。 10 RETRY RETRY(重试)信号表示传输并未完成,因此总线主机应该重试传输。主机应该继续重试传输直到完成为止。 要求双周期的RETRY 响应。 11 SPLIT 传输并未成功完成。总线主机必须在下一次被授予访问总线时重试传输。当传输能够完成时从机将请求代替主机访问总线。 要求双周期的SPLIT 响应。 表4.6响应编码 仅有OKAY 响应可以在单个周期里给出。ERROR、SPLIT 和RETRY 响应需要至少两个周期。为了完成这些响应中的任意一个那么在倒数第二个(最后一个的前一个)周期从机驱动HRESP[1:0]以表示ERROR、RETRY 或者SPLIT 并同时驱动HREADY 为低以给传输扩展一个额外的周期。在最后一个周期HREADY 被驱动为高电平以结束传输,同HRESP[1:0]保持驱动以表示ERROR、RETRY 或者SPLIT。

如果从机需要两个以上的周期以提供ERROR、SPLIT 或者RETRY 响应那么额外的等待状态可能会在传输开始时被插入。在这段时间HREADY 信号将为低电平同时响应必须被设为OKAY。

需要双周期响应是因为总线流水通道的本质特征。在从机开始发出ERROR、SPLIT 或者RETRY 中任何一个响应时接下来传输的地址已经广播到总线上了。双周期响应允许主

联系合同范文客服:xxxxx#qq.com(#替换为@)