ZYNQ开发进化史——AXI总线的使用

本文介绍了AXI总线的演变,从AXI4到AXI Stream和AXI Lite的特性。AXI Stream适用于数据流传输,而AXI Lite则针对简单控制。AXI Full结合两者,支持DMA操作,定义了突发传输模式。在ZYNQ开发中,AXI总线使得直接控制底层设备如LED变得高效。
摘要由CSDN通过智能技术生成

AXI总线的解释CSDN上比比皆是,我只发表我对AXI的理解和看法。

AXI4总线是由AMBA简化而来的,其中又被Xilinx分割成了三类:AXI Stream,AXI Lite, AXI Full。它们最核心的就是一个握手准则:ready——valid

在一次通讯中,不管通讯内容是数据还是控制,都是使用这一个握手方式。及发送方高速接收方数据是否有效,接收方高速发送方下一个时钟自己是否能成功接收数据。显然,当ready和valid同时为有效时,下一个时钟来临时数据传输就成功了。这个握手机制是非常高效的,因为主与从完全在独立工作,不存在主等从准备好再准备数据这种蛋疼的机制;一旦双方都准备好下一个时钟来通讯立即完成。这一思想贯穿整个AXI总线。{{数据},valid,ready}是AXI的基本单元,我个人把它称为一个channel(数据被大括号括起是因为尤其是在全协议(FULL)中写地址通道(AW)中数据包括了地址、突发类型、突发长度等等信息,他们整体作为一个集合被我称为数据)。

AXI Stream可能是最简单的一个子集,Stream流最常见的端口定义如下:

Master Slaver
output tdata input tdata
output tready

input tready

input tready output tready
output tlast input tlast
output tuser input tuser

相比我之前定义的channel, 它多了一个tlast和tuser, tlast标志着一个包的结尾,tuser是自定义的信号,典型的例子是在视频流里是帧同步信号。这时,“数据”中包含了{tdata,tlast,tuser}三个信号,其中任何一个信号都是一起被ready-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值