AMBA 接口文档 - 图文

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

AMBA接口文档

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

Page 9 of 62

3 AMBA信号 3.1AMBA的信号名称

所有AMBA 信号的命名都用名称的第一个字母来指示信号和哪个总线相关联。信号名称中用一个小写的n 表示该信号低电平有效,否则信号的名称总是用大写字母来表示。H 表示一个AHB 信号。例如,HREADY 是用来指示AHB 部分数据传输完毕的信号。该信号高电平有效。P 表示一个APB 信号。例如,PCLK 是APB 使用的主时钟。AMBA AHB信号列表如表3.1所示,AMBA APB信号列表如表3.2所示。 名称 HCLK 总线时钟 HRESETn 复位 HADDR[31:0] 地址总线 来源 目标 Clock 各个Module source Reset 各个Module controller Master Decoder Mux slave Arbiter Mux slave Mux slave Mux slave 描述 时钟为所有总线传输提供时钟基准。所有信号时序都和HCLK 的上升沿相关 总线复位信号低有效并用来复位系统和总线。这是唯 一的低有效的信号。 32为系统的地址总线 to HTRANS[1:0] 传输类型 HWRITE 传输方向 HSIZE[2:0] 传输大小 Master Master Master HBURST[2:0] 突发类型 Master HPROT[3:0] 保护控制 Master to 表示当前传输的类型,可以是不连续、连续、空闲和忙 to 当该信号为高时表示一个写传输,为低的时候表示一个读传输 to 表示传输的大小,典型情况是字节(8 位)、半字(16位)或者是字(32 位)。协议允许最大的传输大小可以达到1024 位。 Mux to 表示传输是否组成了突发的一部分。支slave 持四个、八个或者十六 个节拍的突发传Arbiter 输并且突发传输可以是增量或者是回环。 Mux to 提供总线访问的附加信息并且主要是打slave 算给那些希望执行某种保护级别的模块使用的。这个信号指示当前传输是否为预取指或者数据传输,同时也表示传输是保护模式访问还是用户模式访问。对带存储器管理单元的总线主机而言这些信号也用来指示当前传输是高速缓存的(cache)还是缓冲的(buffer)。

AMBA接口文档

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

Page 10 of 62

HWDATA[31:0] 写数据总线 Master Mux slave HSELx 从机选择 Decoder HRDATA[31:0] 读数据总线 Slave HREADY 传输完成 Slave HRESP[1:0] 传输响应 HBUSREQx 总线请求 Slave Master HLOCKx 锁定的传输 HGRANTx 总线授予 Master Arbiter HMASTER[3:0] 主机号 Arbiter HMASTLOCK 锁定顺序 Arbiter HSPLITx[15:0] Slave 分块完成请求 to 写数据总线用来在写操作期间从主机到总线从机传输数据。建议最小的数据总线宽度为32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。 Slave 每个AHB 从机都有自己独立的从机选择信号并且用该信号来表示当前传输是否是打算送给选中的从机。该信号是地址总线的简单组合译码。 Mux to 读数据总线用来在读操作期间从总线从master 机向总线主机传输数据。建议最小的数据总线宽度为32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。 Mux to 当HREADY 为高时表示总线上的传输已经master 完成。在扩展传输时该信号可能会被拉Arbiter 低。总线上的从机要求HREADY作为输入输出信号 Mux to 传输响应给传输状态提供了附加信息。master 提供四种不同的响应:OKEY、ERROR、Arbiter RETRY 和SPLIT。 Arbiter 从总线主机x 传向总线仲裁器用来表示该主机请求(控制)总线的信号。系统中每个总线主机都有一个HBUSREQx 信号,最多16 个总线主机。 Arbiter 当该信号为高时表示主机请求锁定对总线的访问并且在该信号为低之前其他主机不应该被允许授予总线。 Master 该信号用来表示总线主机x 目前是优先级最高的主机。当HREADY 为高时传输结束,地址/控制信号的所有权发生改变。所以主机应在HREADY 和HGRANTx都为高时获得对总线的访问。 具有SPLIT功这些来自仲裁器的信号表示哪个总线主能的Slave 机正在执行传输和被支持分块传输的从机用来确定哪个主机正在尝试一次访问。 HMASTER 的时序和地址以及控制信号对齐。 具有SPLIT功表示当前主机正在执行一个锁定顺序的能的Slave 传输。该信号和HMASTER 有相同的时序。 Arbiter 从机用这16 位的分块总线来指示仲裁器总线主机应该被允许重试一个分块传

AMBA接口文档

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

Page 11 of 62

输。分块总线上的每一位对应一个总线主机。 表2.1 AHB信号列表 名称 PCLK 总线时钟 PRESETn APB 复位 PADDR[31:0] APB 地址总线 PSELx APB 选择 来自二级译码器的信号,从外设总线桥接单元内到每个外设总线从机x。该信号表示从机设备被选中并且要求一次数据传输。每个总线从机都有一个PSELx 信号。 PENABLE APB 选通 这个选通信号用来给外设总线上的所有访问提供时间。使能信号用来表示一次APB 传输的第二个周期。PENABLE 的上升沿出现在APB 传输的中间。 PWRITE APB 传输方向 PRDATAAPB 读数读数据总线由被选中的从机在读周期(PWRITE 为低)期间驱动。读数据总线 PWDATA 据总线可达到32 位宽度。 写数据总线由外设总线桥接单元在写周期(PWRITE 为高)期间驱动。该信号为高表示一次APB 写访问而为低表示一次读访问。 APB 总线复位信号为低有效并且通常将该信号直接连接到系统总线复位信号。 这是APB 地址总线,可高达32 位宽度并由外设总线桥接单元驱动。 描述 PCLK 的上升沿用作所有APB 传输的时钟基准。 APB 写数据总线 写数据总线可达到32 位宽度。 表2.2 APB信号列表

AMBA接口文档

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

Page 12 of 62

4 AMBA AHB时序描述

Master必须获得授权接入总线,才可以进行AHB传输。这一过程开始于总线向arbiter发出请求信号,然后arbiter决定哪个master可以获得授权接入总线。在一次AMBA AHB 传输开始之前总线主机必须被授予访问总线。这个过程开始于总线获得授权的总线开始AHB传输,首先发出地址和控制信号。这些信号提供地址信息、传输方向和带宽以及burst类型。允许有两种不同类型的burst传输: ? 增量突发,在地址边界处不回环; ? 回环突发,在特定的地址边界上回环

根据地址和控制信号确定master与哪个slave链接,进行数据传输,数据传输通过数据总线完成。为避免出现三态总线,AHB将读写总线分开,写数据总线用于从master到slave的数据传输,读数据总线用于从slave到master的数据传输。每比传输包括一个地址和控制周期,一个或多个数据周期。地址控制周期不能被扩展,因此slave必须在一个周期采样地址信号。数据周期可以通过HREADY信号扩展 。但HREADY为低时给传输加入一个等待状态以使slave获得额外的时间来提供或采样数据。

在传输中从机通过使用响应信号来表示状态,HRESP[1:0]:

OKAY :OKAY响应用来表示传输进展正常并且当HREADY 变高时表示传输成功完成。 ERROR: ERROR响应表示发生了一个传输错误并且传输失败。

RETRY 和SPLIT: RETRY 和SPLIT 两个传输响应都表示传输不能立刻完成,但是总线主机应该继续尝试传输。在常规操作中主机被允许在仲裁器授予另一个主机访问总线之前完成一个特定突发的所有传输。然而,为了避免过多的仲裁延时可能允许仲裁器打断一个突发并且这种情况下主机必须(申请)重新仲裁总线以完成剩下的突发传输。

4.1基本传输

AHB 传输包含两个截然不同的部分: ? 地址相位,只持续单个周期;

? 数据相位,可能需要多个周期。这通过使用HREADY 信号实现。 图 4.1表示了最简单的传输,没有等待状态:

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