深入浅出AXI协议(2)——通道及信号

一、前言

在之前的文章中,我们主要介绍了什么是AXI协议,AXI协议的特点与优点,然后对于AXI协议非常重要的五通道结构进行了介绍,了解了5个通道各自的作用。本文我们继续AXI协议的学习,我们将讨论5个通道的具体内容和相对应的信号。这一部分的内容现在对于大家来说可能很难理解,但是没有关系,随着学习的深入,我们会逐步讲解这里面的所有现在,现在只需要把它们当作一个可以查阅的手册,快速阅读有一个基本的印象即可。

二、AXI4全局信号

AXI具有5个通道,但是有些信号并不属于其中的单一通道,而是属于整个AXI协议,这些信号就是我们讨论的AXI4全局信号。

|---------|-----|-------------------------|
| 信号 | 源 | 描述 |
| ACLK | 时钟源 | 全局时钟信号。在全局时钟的上升沿采样所有的信号 |
| ARESETn | 复位源 | 全局复位信号,低电平有效 |

三、写地址通道及其信号

我们知道写地址通道的缩写是AW,所以该通道内的所有信号都是以AW开头的。

|-----------------|----|--------------------------------------------------------------------------------------|
| 信号 | 源 | 描述 |
| AWID3:0 | 主机 | 写地址ID,这个信号是写地址信号组的ID tag。 |
| AWADDR31:0 | 主机 | 写地址。写地址信号给出猝发交易的第一个传输地址。相关的控制信号用于确定猝发中剩余传输的地址。 |
| AWLEN7:0 | 主机 | 猝发长度。给出猝发中准确的传输个数。该信号给出了和地址相关的数据传输个数。 |
| AWSIZE2:0 | 主机 | 猝发大小。这个信号确定猝发中每个传输的宽度。字节选通来说明需要更新的字节通道。 |
| AWBURST1:0 | 主机 | 猝发类型。该信息与传输宽度信息一起,表示在猝发过程中,将地址用于每个传输的方法。 |
| AWLOCK1:0 | 主机 | 锁类型。该信号提供了关于传输原子特性的额外信息(普通和互斥访问)。 |
| AWCACHE3:0 | 主机 | Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。 |
| AWPROT2:0 | 主机 | 保护类型。该信号表示交易的普通,特权或安全保护级,以及交易是数据访问还是指令访问。 |
| AWVALID | 主机 | 写地址有效。 1 = 地址和控制信息有效 0 = 地址和控制信息无效 这个信号会一直保持,直到AWREADY变为高。 |
| AWREADY | 从机 | 写地址准备。这个信号用来指明设备已经准备好接受地址和控制信息了。 1 = 设备准备好 0 = 设备没准备好 |
| AWQOS3:0 | 主机 | 用于每个写交易地址通道上的4位Qos标志符(可作为优先级标志) |
| AWREGION3:0 | 主机 | 用于每个写交易通道上的域标识符 |

四、写数据通道信号及其信号

我们知道写数据通道的缩写是W,所以该通道内的所有信号都是以W开头的。

|---------------|----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 信号 | 源 | 描述 |
| WDATA31:0 | 主机 | 写数据。写数据总线的位宽可以是8,16,32,64,128,256,512和1024位。 |
| WSTRB3:0 | 主机 | 写选通。WSTRBn标示的区间为WDATA(8\*n)+7:(8\*n) |
| WLAST | 主机 | 写的最后一个数据。表示猝发的最后一个传输 |
| WVALID | 主机 | 写有效 1 = 写数据和选通有效 0 = 写数据和选通无效 |
| WREADY | 从机 | 写准备。指明从机已经准备好接受数据了 1 = 设备就绪 0 = 设备未就绪 |

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

五、写响应通道信号及其信号

我们知道写响应通道的缩写是B,所以该通道内的所有信号都是以B开头的。

|--------------|----|----------------------------------------------------|
| 信号 | 源 | 描述 |
| BID3:0 | 从机 | 响应ID , 这个数值必须与AWID的数值匹配。 |
| BRESP1:0 | 从机 | 写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。 |
| BVALID | 从机 | 写响应有效。 1 = 写响应有效 0 = 写响应无效 |
| BREADY | 主机 | 响应准备。该信号表示主机已经能够接受响应信息。 1 = 主机就绪 0 = 主机未就绪 |

六、读地址通道信号及其信号

我们知道读地址通道的缩写是AR,所以该通道内的所有信号都是以AR开头的。

|-----------------|----|---------------------------------------------------------------|
| 信号 | 源 | 描述 |
| ARID3:0 | 主机 | 读地址ID。该信号用于读地址信号组的标记 |
| ARADDR31:0 | 主机 | 读地址。该信号给出读猝发交易的第一个传输地址,只提供猝发的开始地址和控制信号,详细讲述了在猝发的剩余传输中计算地址的方法。 |
| ARLEN7:0 | 主机 | 猝发长度。该信号给出了猝发中准确的传输个数。该信息给出了与地址相关的数据传输数量。 |
| ARSIZE2:0 | 主机 | 猝发大小。该信号确定猝发中每个传输的宽度。字节通道选通用来指示需要更新的字节通道。 |
| ARBURST1:0 | 主机 | 猝发类型。该信号与宽度信息一起,用于在猝发过程中,确定将地址用于每个传输的方法。 |
| ARLOCK1:0 | 主机 | 锁类型。该信号提供了关于传输原子特性的额外信息(普通和互斥访问)。 |
| ARCACHE3:0 | 主机 | Cache类型。该信号提供可缓存传输属性 |
| ARPROT2:0 | 主机 | 保护类型。该信号提供用于传输的保护单元信息。 |
| ARVALID | 主机 | 读地址有效。信号一直保持,直到ARREADY为高。 1 = 地址和控制信息有效 0 = 地址和控制信息无效 |
| ARREADY | 从机 | 读地址准备。指明从机已经准备好接受数据了。 1 = 设备就绪 0 = 设备未就绪 |
| ARQOS3:0 | 主机 | 用于每个读交易地址通道上的4位QoS标志位(可作为优先级标志) |
| ARREGION3:0 | 主机 | 用于每个读交易地址上的域标志符 |

七、读数据通道信号

我们知道读数据通道的缩写是R,所以该通道内的所有信号都是以R开头的。

|---------------|----|---------------------------------------------|
| 信号 | 源 | 描述 |
| RID3:0 | 从机 | 读ID tag。RID的数值必须与ARID的数值匹配。 |
| RDATA31:0 | 从机 | 读数据。读数据总线可以是8,16,32,64,128,256,512和1024位 |
| RRESP1:0 | 从机 | 读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。 |
| RLAST | 从机 | 读事务传送的最后一个数据。 |
| RVALID | 从机 | 读数据有效。 1 = 读数据有效。 0 = 读数据无效。 |
| RREADY | 从机 | 读数据准备。 1 = 主机就绪 0 = 主机未就绪 |

八、低功耗接口信号

|---------|------------------|-----------------------------------------|
| 信号 | 源 | 描述 |
| CSYSREQ | CLOCK controller | 系统低功耗请求。此信号来自系统时钟控制器,使外围设备进入低功耗状态。 |
| CSYSACK | 外围设备 | 低功耗请求应答。 |
| CACTIVE | 外围设备 | Clock active 1 = 外围设备时钟请求 0 = 外围设备时钟无请求 |

相关推荐
lf2824814311 天前
08 AD9361自发自收PS工程搭建
fpga开发
zlinear数据采集卡1 天前
电源纹波无处遁形!工业采集卡电源去耦与滤波电路深度解析
c语言·嵌入式硬件·fpga开发·自动化·硬件架构
凉、介1 天前
深入理解 ARMv8-A|异常/中断处理
笔记·学习·嵌入式·arm
通信小呆呆1 天前
单端口RAM、伪双端口RAM、真双端口RAM:功能详解与应用选型指南
fpga开发
s09071362 天前
【FPGA实战】基于Verilog的MCP2515 CAN控制器SPI驱动详解 | 附完整代码
fpga开发·硬件设计·can通信·mcp2515
szxinmai主板定制专家2 天前
基于 ARM+FPGA 数据机床实时工业控制设计--以雕刻机为例
arm开发·人工智能·嵌入式硬件·fpga开发
Quincy_Freak2 天前
工具分享|基于 SQLiteGo 的国产系统离线数据处理方案
大数据·数据库·数据分析·arm·国产系统·银河麒麟·aarch64
XMAIPC_Robot2 天前
基于RK3588 ARM+FPGA电火花数控机床控制系统设计,兼顾ethercat软硬件实时
linux·arm开发·人工智能·嵌入式硬件·fpga开发
底层开发智库2 天前
C1-Ultra FVP调试并运行Linux kernel全程记录,硬核演示如何解决启动问题
linux·arm开发·内核·嵌入式·arm