一、前言

        在之前的文章中我们已经对AMBA总线协议进行了一个简单的介绍,这篇文章我们来详细介绍AHB,APB,AXI协议的信号。对于AMBA总线协议有一个初步直观的认识。

系列文章合集:AMBA总线协议(0)——目录与传送门

二、AMBA信号

         所有 AMBA 信号的命名都用名称的第一个字母来指示信号和哪个总线相关联。信号名称中用一个小写的 n 表示该信号低电平有效,否则信号的名称总是用大写字母来表示。 

三、AHB信号

AHB的信号前缀都是H

AHB 信号
名称 来源 描述

HCLK

总线时钟

时钟源
时钟为所有总线传输提供时基。所有信号时序都和
HCLK 的 上升沿相关。
HRESETn
复位信号
复位控制器
总线复位信号低有效并用来复位系统和总线。这是唯
一的低有效的信号。
 HADDR[31:0]
地址总线 
 主机   32 位系统地址总线。 
  HTRANS[1:0]
传输类型  
  主机  
  表示当前传输的类型,可以是不连续、连续、空闲和忙。  
HWRITE
传输方向  
  主机    读写操作,1-写;0-读  
HSIZE[2:0]
传输大小  
  主机     表示传输的大小,典型情况是字节(8 位)、半字(16位)或者是字(32 位)。协议允许最大的传输大小可以达到 1024 位。  
  HBURST[2:0]
突发类型  
  主机     表示传输是否组成了突发的一部分。支持四个、八个或者 16 个节拍的突发传输并且突发传输可以是增量或者是回环。  
HPROT[3:0]
保护控制  
  主机     提供总线访问的附加信息并且主要是打算给那些希望执行某种保护级别的模块使用的。这个信号指示当前传输是否为预取指或者数据传输,同时也表示传输是保护模式访问还是用户模式访问。对带存储器管理单元的总线主机而言这些信号也用来指示当前传输是高速缓存的(cache)还是缓冲的(buffer)。  
  HWDATA[31:0]
写数据总线  
  主机     写数据总线用来在写操作期间从主机到总线从机传输数据。建议最小的数据总线宽度为 32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。  
HSELx
从机选择  
  译码器     
选择信号:表示当前哪个 S 被选择在传送 地址选择就是地址译码出来的 选择信号HSELx
  HRDATA[31:0]
读数据总线  
  从机     读数据总线用来在读操作期间从总线从机向总线主机传输数据。建议最小的数据总线宽度为 32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。  
HREADY
传输完成  
  从机  
  当 HREADY 为高时表示总线上的传输已经完成。在扩展传输时该信号可能会被拉低。
注意:总线上的从机要求 HREADY 作为输入输出信号。  
  HRESP[1:0]
传输响应  
  从机     传输响应给传输状态提供了附加信息。提供四种不同的响应:OKEY、ERROR、RETRY 和 SPLIT。  
        AMBA AHB也有许多信号请求支持多主机操作。许多这些仲裁信号用于点对点连接,表 2.2中后缀 x用来表示信号来自模块 x。例如,一个系统中会有许多的信号 HBUSREQx,例如 HBUSREQarm HBUSREQdma HBUSREQtic。这里不做展开。

四、APB信号

         所有的 AMBA APB 信号使用单个字母 作为前缀。有些 APB 信号,例如时钟,可能 直接连接到系统总线上的对应信号。
名称 来源 描述

PCLK

总线时钟

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

五、AXI信号

1、全局信号

信号

描述

ACLK

Clock source

全局时钟信号

ARESETn

Reset source

全局复位信号,低电平有效

2、写地址通道信号

    信号

描述

AWID[3:0]

主机

写地址ID,这个信号是写地址信号组的ID tag。

AWADDR[31:0]

主机

写地址。写地址信号给出猝发交易的第一个传输地址。相关的控制信号用于确定猝发中剩余传输的地址。

AWLEN[7:0]

主机

猝发长度。给出猝发中准确的传输个数。该信号给出了和地址相关的数据传输个数。

AWSIZE[2:0]

主机

猝发大小。这个信号确定猝发中每个传输的宽度。字节选通来说明需要更新的字节通道。

AWBURST[1:0]

主机

猝发类型。该信息与传输宽度信息一起,表示在猝发过程中,将地址用于每个传输的方法。

AWLOCK[1:0]

主机

锁类型。该信号提供了关于传输原子特性的额外信息(普通和互斥访问)。

AWCACHE[3:0]

主机

Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。

AWPROT[2:0]

主机

保护类型。该信号表示交易的普通。特权或安全保护级,以及交易是数据访问还是指令访问。

AWVALID

主机

写地址有效。

1 = 地址和控制信息有效

0 = 地址和控制信息无效

这个信号会一直保持,直到AWREADY变为高。

AWREADY

从机

写地址准备。这个信号用来指明设备已经准备好接受地址和控制信息了。

1 = 设备准备好

0 =  设备没准备好

AWQOS[3:0] 主机 用于每个写交易地址通道上的4位Qos标志符(可作为优先级标志)
AWREGION[3:0] 主机 用于每个写交易通道上的域标识符

3、写数据通道信号 

信号

描述

WDATA[31:0]

主机

写数据。写数据总线的位宽可以是8,16,32,64,128,256,512和1024位。

WSTRB[3:0]

主机

写选通。WSTRB[n]标示的区间为WDATA[(8*n)+7:(8*n)]

WLAST

主机

写的最后一个数据。表示猝发的最后一个传输

WVALID

主机

写有效

1 = 写数据和选通有效

0 =  写数据和选通无效

WREADY

从机

写准备。指明从机已经准备好接受数据了

1 = 设备就绪

0 = 设备未就绪

   

     在AXI3,还有WID信号,表示写ID tag,WID的值必须与AWID的值匹配。

4、写响应通道信号

信号

描述

BID[3:0]

从机

响应ID , 这个数值必须与AWID的数值匹配。

BRESP[1:0]

从机

写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。

BVALID

从机

写响应有效。

1 = 写响应有效

0 = 写响应无效

BREADY

主机

接受响应就绪。该信号表示主机已经能够接受响应信息。

1 = 主机就绪

0 = 主机未就绪

5、读地址通道信号

信号

描述

ARID[3:0]

主机

读地址ID。该信号用于读地址信号组的标记

ARADDR[31:0]

主机

读地址。该信号给出读猝发交易的第一个传输地址,只提供猝发的开始地址和控制信号,详细讲述了在猝发的剩余传输中计算地址的方法。

ARLEN[7:0]

主机

猝发长度。该信号给出了猝发中准确的传输个数。该信息给出了与地址相关的数据传输数量。

ARSIZE[2:0]

主机

猝发大小。该信号确定猝发中每个传输的宽度。字节通道选通用来指示需要更新的字节通道。

ARBURST[1:0]

主机

猝发类型。该信号与宽度信息一起,用于在猝发过程中,确定将地址用于每个传输的方法。

ARLOCK[1:0]

主机

锁类型。该信号提供了关于传输原子特性的额外信息(普通和互斥访问)。

ARCACHE[3:0]

主机

Cache类型。该信号提供可缓存传输属性

ARPROT[2:0]

主机

保护类型。该信号提供用于传输的保护单元信息。

ARVALID

主机

读地址有效。信号一直保持,直到ARREADY为高。

1 = 地址和控制信息有效

0 = 地址和控制信息无效

ARREADY

从机

读地址准备。指明从机已经准备好接受数据了。

1 = 设备就绪

0 = 设备未就绪

ARQOS[3:0] 主机 用于每个读交易地址通道上的4位QoS标志位(可作为优先级标志)
ARREGION[3:0] 主机 用于每个读交易地址上的域标志符

6、读数据通道信号

信号

描述

RID[3:0]

从机

读ID tag。RID的数值必须与ARID的数值匹配。

RDATA[31:0]

从机

读数据。

RRESP[1:0]

从机

读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。

RLAST

从机

读事务传送的最后一个数据。

RVALID

从机

读数据有效。

1 = 读数据有效。

0 = 读数据无效。

RREADY

主机

读数据就绪。

1 = 主机就绪

0 = 主机未就绪

7、低功耗接口信号

信号

描述

CSYSREQ

CLOCK controller

系统低功耗请求。此信号来自系统时钟控制器,使外围设备进入低功耗状态。

CSYSACK

外围设备

低功耗请求应答。

CACTIVE

外围设备

Clock active

1 = 外围设备时钟请求

0 = 外围设备时钟无请求