ARM AMBA 5 AHB 协议规范 AHB5, AHB-Lite 发行信息 变更历史
日期 | 版本 | 保密性 | 更改 |
---|
2006/6/26 | A | 非保密 | First release for v1.0 | 2015/6/25 | B.a | 保密 | Update for AMBA 5 AHB Protocol Specification | 2015/10/30 | B.b | 非保密 | Confidential to Non-Confidential Release |
Contents ARM AMBA 5 AHB Protocol Specification AHB5,AHB-Lite Chapter 1 引言 1.1 关于此协议 … 1-14 1.2 AHB 历史版本 … 1-17 1.3 操作 … 1-18 Chapter 2 信号描述 2.1 全局信号 … 2-20 2.2 Master信号 … 2-21 2.3 Slave信号… 2-23 2.4 解码器信号 … 2-24 2.5 多路器信号 … 2-25 Chapter 3传输 3.1 基本传输 … 3-28 3.2 传输类型 … 3-30 3.3 锁定传输… 3-32 3.4 传输大小… 3-33 3.5 突发操作 … 3-34 3.6 等待传输 … 3-39 3.7 保护控制… 3-44 3.8 内存类型 … 3-45 3.9 安全传输… 3-50 Chapter 4 总线互联 4.1 互联 … 4-52 4.2 地址解码 … 4-53 4.3 读取数据和多路复用器响应 … 4-54 Chapter 5 Slave响应信号 5.1 Slave传输响应 … 5-56 Chapter 6 数据总线 6.1 数据总线 … 6-60 6.2 大小端… 6-61 6.3 数据总线宽度… 6-65 Chapter 7 Clock and Reset 7.1 Clock 和 reset 要求 … 7-68 Chapter 8 独占传输 8.1 概述 … 8-70 8.2 独占访问监控 … 8-71 8.3 独占访问信号… 8-72 8.4 独占传输限制 … 8-73 Chapter 9 原子性 9.1 单次拷贝原子大小 … 9-76 9.2 多次拷贝原子性 … 9-77 Chapter 10 用户信号 10.1 用户信号描述 … 10-80 10.2 用户信号互联建议 … 10-81 附录A 修正 词汇表
第一章
概述 这一章介绍了AHB协议的基本概念。包含一下部分: ? 1-14关于这个协议. ? 1-17AHB历史版本. ? 1-18操作. 注意 为了便于说明,本规范中使用了32位数据总线。允许附加的数据总线宽度,如6-65页显示数据总线宽度。
1.1关于此协议
AMBA AHB是适用于高性能可综合设计的总线接口。它定义了组件之间的接口,比如主组件、互连组件和从组件。 AMBA AHB实现了高性能、高时钟频率系统所需的功能,包括:: ---突发传输. ---单时钟沿操作 ---非三态实现 ---大范围数据总线配置, 64, 128, 256, 512, 和1024 位. 最常见的AHB从机是内部存储设备,外部存储接口和高带宽外设。 尽管低带宽外设可以作为AHB从机,但是因为系统性能原因,它们通常使用AMBA APB总线。桥接在更高的性能之间AHB和APB是通过AHB slave完成的,也就是APB桥接器。 图1-1显示了单主AHB系统的设计,其中有AHB主机和三个AHB从机。总线互联逻辑是由一个地址解码器和一个从机到主机的多路复用器组成。解码器监控来自主机的地址以便选择适当的从机,多路复用器路由相应的从机输出数据到主机。 AHB通过使用互连组件提供仲裁和从不同的主机到适当从机的路由信号,从而支持多主机设计。
图1-1只展示了主要的地址,数据总线和典型的数据路由。没有显示出全部信号。 AHB系统主要的元件类型描述在: ---Master on page 1-15. ---Slave on page 1-15. ---Interconnect on page 1-16.
1.1.1 Master
一个主机提供地址和控制信息从而启动读和写操作。图1-2显示了一个主机接口。 Note 图1-2中的图不包括AHB5中定义的附加信号。
1.1.2 Slave
从机响应系统中由主机发起的传输。当从机对总线传输响应时,从机使用来自解码器的HSELx选择信号去控制。 从机向主机发送信号: —总线传输的完成或扩展 —总线传输的成功或失败 图1-3显示了一个从机接口. Note 图1-3不包括定义在AHB5中的附加信号。
1.1.3 Interconnect
互连组件提供系统中主从之间的连接。 一个单一的主系统只需要使用解码器和多路复用器,如下面的章节所述。 一个多主系统要求使用一个互连,这个互联可以提供仲裁和从不同的主机到适当从机的路由信号。这种路由对于地址、控制和写数据信号都是必需的。本规范没有提供用于多主系统的不同方法的更多细节,例如单层或多层互连。有关实现多层的更多信息,请参见AHB多层技术概述(arm dvi 0045) AHB-Lite互连。 Decoder 该组件对每次传输的地址进行解码,并为参与传输的从机提供一个选择信号。 它还为多路复用器提供一个控制信号。 在所有使用两个或更多从器的实现中,都需要一个单一的中央解码器。更多信息见4-53页的地址解码。 Multiplexor 从机到主机的多路复用器需要将从机到主机的读数据总线和响应信号进行多路复用。解码器为多路复用器提供控制。 在所有使用两个或更多从机的实现中,都需要一个单一的集中式多路复用器。更多信息请参见第4-54页的读取数据和响应多路复用器。
1.2 AHB revisions
本规范的前一个版本称为issue A,描述这个版本称为AHB-Lite。 本文档为B版本,内容如下: AHB-Lite 本版本被定义为Issue A。 AHB5 这个版本提供了额外的功能,并使用一个属性来声明一个新功能。 如果一个属性没有声明,它被认为是False。
新的特性是: —Extended_Memory_Types。参见第3-45页的内存类型。 —Secure_Transfers. See Secure transfers on page 3-50. —Endian. See Endianness on page 6-61. —Stable_Between_Clock. See Clock on page 7-68. —Exclusive_Transfers. See Chapter 8 Exclusive Transfers. —Multi_Copy_Atomicity. See Multi-copy atomicity on page 9-77. 本规范的修订还包含了关于以下主题的额外信息: —Locked transfers. See Locked transfers on page 3-32. —Multiple slave select. See Multiple slave select on page 4-53. —Single-copy atomicity size. See Single-copy atomicity size on page 9-76. —User signaling. See Chapter 10 User Signaling. 在本规范中,术语AHB用于同时指代AHB- lite和AHB5。 除非特别说明,AHB-Lite和AHB5都有相同的信号。
1.3 Operation
主机通过驱动地址和控制信号开始一个传输。这些信号提供地址,方向,传输宽度和表明传输形式是否是一个突发传输等信息。传输可能是: —Single. —递增在地址边界处没有环回的突发。 —在特定地址边界的环回突发。 写数据总线移动数据从主机到从机,读数据总线移动数据移动数据从从机到主机。 每一个传输由以下组成: —地址阶段 一个地址和控制周期 —数据阶段 数据的一个或多个周期 从机不能请求扩展地址阶段,因此所有从机必须能够在此期间对地址进行采样。然而,一个从机可以请求主机通过HREADY信号扩展数据阶段。这个信号,当LOW时,导致等待状态被插入到传输中,并使从机有额外的时间来提供或采样数据。 从机使用HRESP来表明一次传输的成功或失败。
第二章
信号描述 这一章描述了协议信号。它包含以下部分: —Global signals on page 2-20. —Master signals on page 2-21. —Slave signals on page 2-23. —Decoder signals on page 2-24. —Multiplexor signals on page 2-25 在系统设计中,所有AHB-Lite和AHB5信号都以字母H作为前缀,以区别于其他名称类似的信号。
2.1 Global signals
Table 2-1列出了此协议的全局信号. Table 2-1全局信号
Name | Source | Description |
---|
HCLK | Clock source | 这个总线为所有的总线传输提供时序。所有的信号时序都与HCLK的上升沿有关。见7-68页的时钟 | HRESETn | Reset controller | 这个总线复位信号是低有效,并且复位系统和总线。这是唯一的低有效信号。见Reset on page 7-68 |
2.2 Master signals
Table 2-2列出了主机产生的协议信号。 Table 2-2 Master signals
Name | Destination | Description |
---|
HADDR[31:0] | Slave and decoder | 32位系统地址总线 | HBURST[2:0] | Slave | 突发类型表示该传输是单个传输还是突发的一部分。支持固定长度的4,8和16拍的突发传输。突发传输可以是递增或环回。也支持未定义长度的递增突发。See Burst operation on page 3-34. | HMASTLOCK | Slave | 当为高时,表明当前传输是锁定序列的一部分。它具有与地址和控制信号相同的时序。See Locked transfers on page 3-32. | HPROT[3:0] | Slave | 保护控制信号提供关于总线访问的附加信息,指示在系统中应该如何处理访问。这些信号指示传输是操作码获取还是数据访问,以及传输是特权模式访问还是用户模式访问。See Protection control on page 3-44. | HPROT[6:4] | Slave | HPROT信号的3位扩展,增加了扩展的内存类型。如果AHB5 Extended_Memory_Types属性为True,则支持该信号扩展。 See Memory types on page 3-45. | HSIZE[2:0] | Slave | 指示传输的大小,通常为字节,半字或字。该协议允许更大的传输大小,最高可达1024位。See Transfer size on page 3-33. | HNONSEC | Slave and decoder | 指示当前传输为非安全传输或安全传输。如果AHB5 Secure_Transfers属性为True,则支持此信号。See Secure transfers on page 3-50。 | HEXCL | Exclusive Access Monitor | 独占传输. 指示传输是独占访问序列的一部分。如果AHB5 Exclusive_Transfers属性为True,则支持该信号。See Exclusive access signaling on page 8-72. | HMASTER[3:0] | Exclusive Access Monitor and slave | 主机标识符. 如果有多个独占线程,则有一个主机生成。由互连修改,以确保每个主机都是唯一标识的。如果AHB5 Exclusive_Transfers属性为True,则支持该信号。See Exclusive access signaling on page 8-72. | HTRANS[1:0] | Slave | 当前传输的传输类型。这个可以是以下选项:IDLE、BUSY、NONSEQUENTIAL、SEQUENTIAL.See Transfer types on page 3-30. | HWDATA[31:0]a | Slave | 写数据总线在写操作期间从主机向从机传输数据。建议数据总线宽度不小于32位。但是,这可以扩展以支持更高带宽的操作。See Data buses on page 6-60. | HWRITE | Slave | 传输方向。当信号为HIGH时,表示写传输;当信号为LOW时,表示读传输。它与地址信号具有相同的时序,然而,它必须在整个突发传输中保持恒定。See Basic transfers on page 3-28. |
a.写数据总线的宽度不限制在32位。第6-65页的数据总线宽度列出了其他允许的数据宽度。
2.3 Slave signals
Table 2-3 列出从机产生的协议信号 Table 2-3 Slave signals.
Name | Destination | Description |
---|
HRDATA[31:0]a | Multiplexor | 在读操作期间,读数据总线将数据从所选的从机传输到多路复用器。然后多路复用器将数据传输到主机。建议数据总线宽度不小于32位。但是,这可以扩展以支持更高带宽的操作。See Data buses on page 6-60. | HREADYOUT | Multiplexor | 当HIGH时,HREADYOUT信号表明总线上的传输已经完成。这个信号可以被驱动为LOW来扩展一个传输。 See Read data and response multiplexor on page 4-54. | HRESP | Multiplexor | 传输响应,在经过多路复用器后,向主机提供关于传输状态的附加信息。当为LOW时,HRESP信号表示传输状态为ok。当HRESP信号为HIGH时,表示传输状态为ERROR。See Slave transfer responses on page 5-56. | HEXOKAY | Multiplexor | 独占Okay. 独占传输成功或失败。如果AHB5 Exclusive_Transfers属性为True,则支持该信号。See Exclusive access signaling on page 8-72. |
a.读数据总线的宽度不限制为32位。第6-65页的数据总线宽度列出了其他允许的数据宽度。
2.4 Decoder signals
Table 2-4 出解码器产生的协议信号。 Table 2-4 Decoder signals
Name | Destination | Description |
---|
HSELx a | Slave | 每个从机有它自己的从机选择信号HSELx ,这个信号表明当前的传输是为所选的从机准备的。当从机最初被选中时,它还必须监视HREADY的状态,以确保之前的总线传输已经完成,然后才响应当前的传输。HSELx信号是地址总线的组合解码。See Address decoding on page 4-53. |
a. 在HSELx中使用的字母x必须被更改为系统中每个slave的唯一标识符。例如HSEL_S1, HSEL_S2和HSEL_Memory. Note 通常解码器还为多路复用器提供HSELx信号,或由HSELx信号派生的信号/总线,以使多路复用器能够将适当的信号从所选的从机传送到主机。重要的是,这些额外的多路复用控制信号被重新定时到数据阶段。
2.5 Multiplexor signals
Table 2-5列出由多路复用器产生的协议信号。 Table 2-5 Multiplexor signals。
Name | Destination | Description |
---|
HRDATA[31:0] | Master | 读取数据总线,由解码器选择.a | HREADY | Master and slave | 当HREADY信号为HIGH时,HREADY信号向主服务器和所有从服务器表示之前的传输已经完成。See Read data and response multiplexor on page 4-54. | HRESP | Master | 传送响应,由解码器选择.a | HEXOKAY | Master | 独占OK,由解码器选择.a |
a.由于HRDATA[31:0]、HRESP和HEXOKAY信号通过多路复用器并保留了相同的信号命名,因此在2-23页的表2-3中提供了这三个信号的完整的信号描述。
|