AMBA(Advanced Microcontroller Bus Architecture)高级微控制器总线架构,开放的片内互联总线标准,能在多主机设计中实现多个控制器和外围设备之间的互联和管理。
AXI(Advanced eXtensible Interface)高级拓展接口, ARM AMBA的一部分。
AXI总线有三种类型
**AXI4(AXI4-Full):**用于高性能的存储器映射需求。(存储器映射:主机对从机进行读写操作时,指定目标地址,此地址对应存储空间的地址,表示对该地址进行读写操作)
**AXI4-Lite:**简化版的AXI4接口,用于低吞吐率存储器映射的通信
**AXI4-Stream(ST):**用于高速的流数据通信
AXI4突发长度最大为256(即指定一个读写地址后,可连续最多读写256个数)
AXI4-Lite不支持突发传输,每次只传输一个数据,都属于存储器映射
AXI4-Stream不属于存储器映射,突发长度不受限制
AXI总线的五个通道
读数据通道和写数据通道都包含各自的地址通道,地址通道携带了请求所需的地址和信息。
读数据通道由从机发给主机,包含读数据和读响应的信息,该响应的信号用于表示传输是否操作完成。
写数据通道由主机发给从机,包含写数据,通过WSTRB信号表示当前数据的哪个字节有效
写响应通道由从机发给主机,包含了写响应信号,用于表示当前写操作是否完成。
读通道结构示意
写通道结构示意
DMA可以用来在AXI与AXI-Stream之间进行通道转换
AXI总线信号端口
写地址通道信号
突发长度
突发尺寸
突发类型
写数据通道信号
写响应通道信号
写响应状态
读地址通道信号
读数据通道信号
时钟信号
复位信号
握手机制
信息源端使用valid信号表示当前通道地址、数据和控制信息什么时候有效。
目的端使用ready信号表示什么时候可以接受数据
所有五个通道都是通过相同的VALID/READY握手处理来传输地址、数据和控制信息的。双向握手的机制意味着主机和从机之间传输数据时,都可以控制传输的速率,只有VALID和READY同时为高电平时,传输才会发生。
VALID和READY同时拉高
VALID先拉高, READY后拉高
** READY先拉高,VALID后拉高**
五个通道分别对应的握手信号
不同通道间VALID和READY信号的拉高先后顺序
双箭头指向的,前面信号必须先于箭头指向的信号拉高,如ARVALID拉高后,RVALID才能拉高。
读地址通道与读数据通道
写地址通道、写数据通道与写响应通道
AXI读突发传输波形
AXI写突发传输波形
AXI4-Lite
适用于不需要AXI4完整功能的时候,一些简单的控制寄存器的读写