AMBA4 AXI 五个通道


1. 五个独立通道

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

2. 读写传输操作

2.1 写传输操作

  • 首先主机在写地址通道(AWC)发送给从机地址和控制信息(突发传输相关信息)。
  • 之后主机在写数据通道(WDC)向从机不断写入数据。(也可以与上一步同时。或提前(可以提前的原因是从机设计缓存写数据功能))
  • 等待WLAST信号拉高,传输完成。
  • 传输完成之后从机向主机在写回复通道(WRC)反馈一个信号BRESP。
  • 主机接收到写回复信号,代表了整个传输的结束。
  • 注意:AXI协议并没有对写数据和写地址通道的握手信号先后顺序做要求。(关键在于写数据和写地址没有绝对的顺序,见上解释)

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在读数据通道上传递。

4. 传输波形

  • AXI写
  • AXI读

如有问题,请指正!!

posted @ 2023-06-08 13:05  可达达鸭  阅读(61)  评论(0编辑  收藏  举报