包含突发控制信号,所以可以进行突发传输,在只指定一次地址后,可以一次传输多达256个数据(数据的宽度取决于带宽)。
axi协议遵循的突发传输的流程:
读:当地址出现在地址总线后,传输的数据将出现在读数据通道上。设备保持VALID为低直到读数据有效。为了表明一次突发式读写的完成,设备用RLAST信号来表示最后一个被传输的数据。
写:这一过程的开始时,主机发送地址和控制信息到写地址通道中,然后主机发送每一个写数据到写数据通道中。当主机发送最后一个数据时,WLAST信号就变为高。当设备接收完所有数据之后他将一个写响应发送回主机来表明写事务完成。
1. 突发传输长度,突发传输长度(burst length),指一次突发传输中包含的数据传输(transfer)数量
2. 突发传输宽度(burst size),指传输中的数据位宽,具体地,是每周期传输数据的字节数量.
3. 突发传输类型,突发传输类型(burst type),类型共有 3 种,分别为 FIXED,INCR 以及 WRAP。
ready valid握手协议:
数据产生端:生产者数据准备好后将标志信号valid置位。数据接受端:消费者准备好接收数据则将标志信号ready置位。在时钟沿同时出现valid和ready置位,则完成数据传输。
一次valid ready协议的数据传输过程:如图所示,tready信号一直处于高电平,表示从设备做好了接收数据准备。tvalid变为高电平的同时,tdata、tkeep、tuser也同时进行发送。在tdata最后一个字节数据时,tlast发送一个高电平脉冲。数据发送完成后,tvalid变为低电平。这样一次传输就完成了。
下面为使用ready valid 协议进行数据传输的代码: