版权声明:本文为CSDN博主「yangzhiyuan0928」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yang2011079080010/article/details/52605567
AXI4总线分为主、从两端,两者间可以连续的进行通信,AXI 4总线采用READY,VALID握手通信机制,主设备收到从设备发送的READY,主设备将数据和VALID信号同时发送给从设备。
AXI4:主要面向高性能地址映射通信的需求;
AXI4-Lite:是一个简单地吞吐量地址映射性通信总线;AXI 4-Lite所有的猝发长度为1,数据总线宽度为32位或64位
AXI4-Stream:面向高速流数据传输;AXI 4-Stream数据总线宽度:8、16、32、64、128、256、512和1024位;
AWLEN,猝发长度,是一个猝发中传送的数据个数,传送个数=AWLEN+1;如AWLEN=5,传送6个数据。
AWSIZE,猝发大小,猝发中每个传送的数据的大小,字节数为=2^AWSIZE;如AWSIZE=0,每个数据是1个字节,AWSIZE=3,每个数据大小是8个字节
axi总线分为五个通道: axis信号分为:
--读地址通道,包含ARVALID,ARADDR, ARREADY信号; --TREADY信号:从告诉主做好传输准备;
--写地址通道,包含AWVALID,AWADDR,AWREADY信号; --TVALID信号:主告诉从数据传输有效;
--读数据通道,包含RVALID,RDATA, RREADY, RRESP信号; --TLAST信号:主告诉从该次传输为突发传输结尾;
--写数据通道,包含WVALID, WDATA,WSTRB,WREADY信号; --TDATA信号:数据,可选宽度32,64,128,256bit
--写应答通道,包含BVALID,BRESP, BREADY信号; --TSTRB信号:为1的bit为对应tdata有效字节,宽度为tdata/8
--TUSER信号 :用户定义信号,宽度为128bit
--ACLK信号:总线时钟,上升沿有效;
--ARESETn信号:总线复位,低电平有效;
Valid信号必须保持有效直到ready信号有效
读操作:
在读交易中,主设备先发送ARADDR和ARVALID给从设备,从设备回发ARREADY,通知主设备该地址有效,当ARVALID和ARREADY都为高电平时,主设备发出RREADY,表示主设备准备好接受读数据和相应信号了。从设备发送RVALID、RDATA以及RRESP,当RVALID和RREADY都为高电平时,数据被写入主设备。
写操作:
在写操作中,主设备往从设备中写入AWADDR和AWVALID,然后主设备并没有等待从设备的AWREADY,而是继续发送WVALID和WDATA,当从设备回应AWREADY有效后,紧接着从设备发送WREADY表示从设备准备好接受数据,当WVALID和WREADY都为高电平是数据写入从设备。主设备发送的AWVALID和WVALID要有重叠区。