本系列内容来自ARM官方SPEC
AMBA AXI协议支持在Manager和Subordinate组件之间的高性能,高频率通信系统设计。
1、AXI关键特性有:
独立的地址控制和数据阶段
支持通过字节选通实现非对齐数据传输
仅使用发布的起始地址即可使用burst传输事务
独立的读写通道,提供低成本的DMA
支持outstanding传输,即主机可以连续发送多个burst传输首地址而无需等待前次burst传输完成。
支持乱序传输,用ID来标识各个访问的归属。 一次burst传输内的数据是按序传输的。
允许增加简单的寄存器来保证时序收敛。
2、AXI架构
AXI协议是基于burst的,定义了五个独立的事务通道。
读地址:用AR开头的信号名
读数据:用R开头的信号名
写地址:用AW开头
写数据:用W开头
写响应:用B开头
地址通道带有描述了被传输的数据的特性的控制信息。数据在Manager和Subordinate之间传输:
写数据通道将数据从Manager传输至Subordinate。在一次写事务中,Subordinate用写响应通道来标志传输的完成。
读数据通道将数据从Subordinate传输至Manager。
AXI协议:
1.允许地址信息在实际的数据传输前发送。
2、支持多次outstanding传输
3、支持事务的乱序完成
每5个独立的通道包含一组信息信号和VALID和READY信号来提供双路握手机制。信息源使用VALID信号来表明通道上的地址、数据或者控制信号有效。终点使用READY信号来表明它可以接收信息。读写数据通道均包含一个LAST信号来表明一个事务中最后的传输数据。
读和写地址通道:
读和写事务有它们自己的地址通道。地址通道携带了一个事务所有需要的地址和控制信息。
读数据通道:
读数据通道携带了来自Sub的读数据和读响应信号,它包括:
数据总线,可以是8,16,32,64,128,256,512,1024位宽
一个响应信号表示读事务完成状态
写数据通道:
写数据通道包含来自Manager的写数据:
数据总线,可以是8,16,32,64,128,256,512,1024位宽
每8位数据的字节通道选通信号,表明数据的该字节有效
写数据通道信息总被当成缓存数据,因此Manager可以在未收到之前写事务来自Sub的确认的情况下执行写事务。
写响应通道:
Sub使用写响应通道来响应写事务。所有写事务都需要写响应通道上的完成信号。该完成信号仅在整个事务完成阶段才发送,而不是一次事务中每次数据传输均发送。
接口和互连:
一个典型的系统包含多个Manager和Sub设备通过一些互连设备相连接。
AXI协议提供了一个简单的接口定义,包括:
一个Manager和Interconnect
一个Sub和Interconnect
一个Manager和一个Sub
典型系统拓扑:
1.共享地址和数据总线
2.共享地址总线和多个数据总线
3.多层,多个地址和数据总线
在大多数系统中,地址通道带宽要求明显低于数据通道带宽要求。这样的系统可以通过使用多个数据总线共享地址总线来实现并行数据传输,从而在系统性能和互连复杂度之间达到良好的平衡。