AMBA4 AXI 相关理解(二)

发布时间 2023-06-08 13:15:50作者: 可达达鸭

1. 五个独立通道

  • 只支持单向传输,由主机发起读写请求。
  • 通道分别为:
    • 写数据 W
    • 写地址 AW
    • 读数据 R
    • 读地址 AR
    • 写回复 R
  • 没有读回复通道的原因:读回复借用了读数据通道。思考读回复和写回复的数据流向,两者都是从机给主机,对于读操作,读回复可以和读数据一起给到主机,但是写数据是主机到从机,与写回复方向相反。

2. 读写传输操作

2.1 写传输操作

  • 首先主机在写地址通道(AWC)发送给从机地址和控制信息(突发传输相关信息)。
  • 之后主机在写数据通道(WDC)向从机不断写入数据。(也可以与上一步同时。或滞后(可以滞后的原因是从机设计缓存写数据功能))
  • 从机接收到所有的数据之后向主机在写回复通道(RC)反馈一个信号。
  • 主机接收到写回复信号,代表了整个传输的结束。

2.2 读传输操作

  • 首先主机在读地址通道(ARC)发送给从机地址和控制信息。
  • 从机接收到地址后,就将地址上的数据通过读数据通道(RC)传输给主机。

2.3 通道定义

  • 5个通道都使用VALID/READY握手机制。
  • 对于两个数据通道,突发传输的最后一个数据同时要拉高LAST信号,该信号拉高方便主机和从机之间的握手或信号控制。
  • 写数据通道有设计缓存,可以在从机响应本次写传输前发起下一次写传输。

3. 通道信号

3.1 全局信号

  • ACLK,上升沿开始传输。
  • ARESETn,同步复位信号。

3.2 写地址通道

  • 基础信号:AWADDR(起始地址)、AWVALID、AWREADY。
  • 突发传输信号:AWLEN(传输数据个数)、AWSIZE(传输数据位宽)、AWBURST(突发传输类型)。
  • 其它信号,原子操作相关:AWPROT、AWCACHE、AWLOCK等。

3.3 读地址通道

  • 与写地址通道类似。

3.4 写数据通道

  • WDATA、WVALID、WREADY
  • WSTRB:标记传输数据中有效的字节,位宽对应一个字节的位宽。
  • WLAST:根据BURST_Len可以计算出何时传输完成,为什么还需要WLAST信号?
    • 参考这篇文章评论区的回答。
    • 从机接收的写数据可能错过了前面一个或多个数据,导致长度不足WLEN,但是主机认为自己都发送结束了,从机计算的长度迟迟达不到WLEN,那么就会一直等待。

3.5 写回复通道

  • BVALID、BREADY
  • BRESP
    • 返回传输状态.会在后面具体介绍。

3.6 读数据通道

  • 与写数据通道区别
    • 读回复信号RRESP在读数据通道上传递。