AMBA协议AXI-Lite(AXI-Lite介绍)


一、AXI_Lite简介

AXI_Lite顾名思义即简化版的AXI协议,是对完整的AXI协议裁剪后的AXI协议;
特点:

  1. 突发长度永远是1,即只能单次读写,无法连续读写,常用于配置寄存器;
  2. 由于删减了逻辑,其资源也消耗较少;
  3. 地址映射,相较于AXI-Stream,AXI-Lite的每个数据读写都需要对应的地址;

二、AXI_Lite系统框图

AXI_Lite的系统框图如下:在这里插入图片描述首先,AXI_Lite的读写通道分离,即AXI是一种全双工总线,在同一时刻可以同时进行读写操作;
其次,写通道又分为 写地址通道,写数据通道,写响应通道;
读通道又分为,读地址通道,读数据通道;
所以一个AXI-Lite系统总共有五个通道,分别为:

  • 写地址通道;
  • 写数据通道;
  • 写响应通道;
  • 读地址通道;
  • 读数据通道;

且这些通道内部传输数据都按照握手协议进行;

由于AXI-Lite是地址映射单次读写的,所以一个Waddr地址对应一个Wdata数据,Wdata存放于由Waddr指向的寄存器中;
一个Raddr地址对应一个Rdata数据,读出从机中由Raddr指向的寄存器中的数据;


三、握手协议

由于AXI-Lite的总线大量使用了握手协议,故在此先对握手协议进行简单的介绍;
握手协议的信号一般为DATA、READY、VALID;

  • **DATA:**由主机发出的,需要传输的数据;
  • **VALID:**由主机发出的,标志DATA有效的信号(高电平表示有效,低电平表示无效)
  • **READY:**由从机发出的,标志从机准备接收的信号(高电平表示准备接收,低电平表示不具备接收条件)

其时序如下:在这里插入图片描述当VALID 与 READY 均有效时,数据完成传输;

  • 为什么需要用握手协议?

  为了解决亚稳态的问题,数据在跨时钟域传输时,往往会出现亚稳态,为了避免亚稳态被采样,常常采用握手协议来传输数据;
  AXI中的握手协议可以保证每个通道的数据传输时,大大减小出现亚稳态的概率;
  且数据传输在VALID与READY信号同时有效时立即发生;


三、AXI-Lite信号表

在这里插入图片描述在这里插入图片描述
乍一看AXI-Lite的信号还是很多的,但实际上大多通道都是按照握手协议来定义信号的,所以不难理解;


四、AXI传输机制

AXI中每个通道的传输都有三种可能的情况:

1.VALID信号先有效,READY信号后有效

此时,当READY信号拉高时,立即完成传输;在这里插入图片描述2.READY信号先有效,VALID信号后有效
此时当VALID信号拉高时,立即完成传输在这里插入图片描述3.READY与VALID信号同时有效
此时数据立马完成传输
在这里插入图片描述不管是哪一种传输机制,我们都需要搞清楚VALID与READY的约束关系,否则会出现死锁现象:
VALID与READY的死锁:
  发生在VALID等待从机的READY信号,同时READY也在等待主机的VALID信号;
  在这种情况下,VALID信号持续为0,等待READY信号的拉高;
  而READY信号也持续为0等待VALID信号的拉高;
  两个信号则同时处于低电平状态,则总线出现死锁;
解决:
  对于这种现象,我们规定,VALID信号不能等待READY信号,即数据准备好则拉高,而READY信号可以等待VALID信号,即VALID信号拉高之后再拉高;


五、AXI读写时序

根据第四节,我们可以给出AXI发生一次写操作的具体过程;

  1. 首先主机将地址与数据分别放到写地址通道与写数据通道上,并将相应的VALID信号拉高,并等待从机发出响应信号;
  2. 从机检测到写地址的VALID信号与写数据的VALID信号同时为高时,将数据写入到对应的寄存器中,并拉高READY信号,发出响应;
  3. 主机检测到READY信号与响应信号后,拉低VALID信号;从机将READY信号拉低;

而读操作的过程如下:

  1. 主机将读地址放到读地址通道上,并拉高VALID信号,等待从机的READY信号;
  2. 从机检测到读地址的VALID信号后,对读地址进行采样,并拉高READY信号;
  3. 从机将读数据放到读数据总线上,并拉高VALID信号,主机检测到VALID后,将读数据采样,并拉高READY信号;主机拉低VALID信号,从机拉低READY信号;

写操作时序:
在这里插入图片描述写数据WDATA在AWREADY、AWVALID、WREADY、WVALID同时有效时被写入寄存器;

读操作时序:
在这里插入图片描述


总结

  下一章将讲解AXI-Lite从机接口的代码实现;

  • 12
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PPRAM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值