AXI中的burst有几种?都用在什么场景中
摘要:在 AXI (Advanced eXtensible Interface) 协议中,Burst 传输是数据传输的基本方式,用于提高传输效率。AXI 定义了三种 Burst 类型:FIXED、INCR 和 WRAP。每种 Burst 类型适用于不同的场景,其行为和地址计算方式也不同。以下详细解释三种 Burst 类型的应用场景,以及 WRAP Burst 的上下边界计算方法。
1. AXI 中的三种 Burst 类型及其应用场景
1.1 FIXED Burst
- 定义:FIXED Burst 是一种固定地址的 Burst 传输方式。在整个 Burst 期间,地址保持不变,每次数据传输(Beat)都访问相同的地址。
- 特点:
- 地址不递增,每次传输的地址与起始地址相同。
- 适用于访问单个寄存器或 FIFO 类型的设备。
- 应用场景:
- FIFO 访问:当 Master 需要多次读写同一个 FIFO 端口时,使用 FIXED Burst 可以连续访问同一地址。例如,读取或写入音频数据流到 FIFO。
- 寄存器轮询:当 Master 需要反复读取某个状态寄存器(如等待中断或状态位变化)时,可以使用 FIXED Burst 持续访问同一地址。
- 简单外设:某些简单外设可能只支持固定地址访问,FIXED Burst 适用于这种场景。
1.2 INCR Burst
- 定义:INCR Burst 是一种递增地址的 Burst 传输方式。每次数据传输(Beat)后,地址按照传输大小(
AxSIZE
)递增,地址连续增加。 - 特点:
- 地址从起始地址开始,每次传输后增加一个步长(步长 = 2^
AxSIZE
,例如 4 字节传输时步长为 4)。 - 地址递增可以跨页面边界(但需要注意 AXI 规范中对跨边界传
- 地址从起始地址开始,每次传输后增加一个步长(步长 = 2^