ZYNQ AXI协议学习
(本系列是学习笔记,若有错误请指出,谢谢)
AXI协议是ARM公司AMBA3.0的升级版
AXI包含3种类型接口
AXI4:主要面向高性能地址映射通信的需求,面向地址映射的接口,在单地址传输的情况下最大允许256个时钟周期的数据突发长度
AXI4-Lite: 是一个轻量级,适用于数据量小的地址映射通信总线,占用较少资源
AXI4-Stream: 不需要考虑地址映射,用于高速数据传输
AXI工作模式
AXI4和AXI4-Lite 包含5个不同的通道 读地址通道 写地址通道 读数据通道 写数据通道 读响应通道
AXI4数据突发长度最大256,AXI-Lite 每次只能传输一个数据
AXI4读操作
AXI主从设备间读操作每次使用独立的地址通道和数据通道,使用一个地址就可以传输256个数据
AXI4写操作
AXI主从设备间写操作每次使用独立的地址通道和数据通道,使用一个地址就可以传输256个数据
AXI总线每个通道包含一组信号还有一个 VALID 和一个 READY 信号。VALID 信号由源端(source)产生,表示当前地址或者数据线上的信息是有效的;而 READY 信号由目的端(destination)产生,则表示已经准备好接收地址、数据以及控制信息。VALID 和 READY 信号提供了 AXI 总线中的握手机制
VALID 和 READY 握手机制
AXI协议中,都是在时钟上升沿采样
T1后,源端将VALID拉高,表明INFORMATION数据是有效的,T2目的端拉高READY信号,表示准备接收数据
T3开始传输数据,只有同时检测到VALID和READY有效才能传输数据,在READY拉高后,VALID必须处于有效
AXI5个通道都有自己的握手信号
AXI_ACPP接口
加速性一致接口,用来管理DMA类不带缓冲的外设。PS端是Slave
AXI_HP接口
ZYNQ有4个AXI_HP接口,专门用于PL端访问DDR和OCM,HP接口都有读缓冲和写缓冲
PL端作为主设备
AXI_GP接口
ZYNQ有4个AXI_GP接口,适用于通用接口(32位),2个主接口与2个从接口
M_AXI_GP[0:1] ,对于APU来说是Master
AXI_Interconnect互联矩阵
AXI_Intreconnect IP核最多支持16个主设备和16个从设备
AXI_Interconnect 多对一
在AXI_Intreconnect使用过程中,出现2个主设备访问一个从设备的情况。那么AXI_Intreconnect IP核里的仲裁器就开始工作,将总线分配给工作中的主设备,从而与从设备建立连接,没有分配到总线的主设备,无法完成握手信号就一直处于等待状态