一、前言
在之前的文章中我们已经对AMBA总线协议进行了一个简单的介绍,这篇文章我们来详细介绍AHB,APB,AXI协议的信号。对于AMBA总线协议有一个初步直观的认识。
系列文章合集:AMBA总线协议(0)——目录与传送门
二、AMBA信号
三、AHB信号
AHB的信号前缀都是H
名称 | 来源 | 描述 |
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 选择信号:表示当前哪个 S 被选择在传送 . 地址选择就是地址译码出来的 S 选择信号HSELx
|
HRDATA[31:0]
读数据总线
|
从机 | 读数据总线用来在读操作期间从总线从机向总线主机传输数据。建议最小的数据总线宽度为 32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。 |
HREADY
传输完成
|
从机 |
当 HREADY 为高时表示总线上的传输已经完成。在扩展传输时该信号可能会被拉低。
注意:总线上的从机要求 HREADY 作为输入输出信号。
|
HRESP[1:0]
传输响应
|
从机 | 传输响应给传输状态提供了附加信息。提供四种不同的响应:OKEY、ERROR、RETRY 和 SPLIT。 |
四、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 = 外围设备时钟无请求 |
评论(0)
您还未登录,请登录后发表或查看评论