时间:2024-07-29 来源:网络搜集 关于我们 0
AXI4-Stream协议,作为高级可扩展接口(AXI)的一部分,专为高速数据流传输而设计,它在FPGA和ASIC设计中扮演着重要角色。
本文将深入探讨AXI4-Stream协议的基本概念、信号定义、工作机制以及其在FPGA设计中的应用。
延伸:
一、AXI4-Stream协议概述
AXI4-Stream协议是ARM定义的AMBA(高级微控制器总线架构)标准中的一部分。
它与AXI4-Full和AXI4-Lite一起构成了AXI4接口的三种类型。
AXI4-Stream协议专为无地址的流式数据传输设计,适用于不需要地址信息的高速数据通信场合 。
二、AXI4-Stream协议特点
与基于内存映射的AXI4-Full和AXI4-Lite不同,AXI4-Stream不涉及内存地址,它通过流的方式传输数据,类似于串口通信,不关心数据的存储细节 。
这种设计使得AXI4-Stream非常适合于视频、音频、网络数据包等高速数据流的传输。
在AMD视频处理IP中应用非常广泛,大部分都是使用AXI4接口。
三、AXI4-Stream信号定义
AXI4-Stream协议的信号定义相对简单,主要包括以下几类:
1、全局信号
ACLK:全局时钟信号,所有信号在该时钟的上升沿采样。
ARESETN:全局复位信号,低电平有效 。
2、握手信号
TVALID:由发送方(主机)控制,表示数据是否有效。
TREADY:由接收方控制,表示是否准备好接收数据。
3、数据信号
TDATA:实际传输的数据。
TSTRB:数据的字节修饰符,指示哪些字节是有效的(可选)。
TKEEP:数据的有效性修饰符,指示哪些字节是有效的,通常与TSTRB配合使用(可选)。
TUSER:一帧数据起始信号,也表示为SOL(start of frame)。
TLAST:一行数据结束信号,或数据包结束信号,也表示为EOL(end of line signal)
4、通讯时序图
四、AXI4-Stream工作机制
AXI4-Stream的工作机制基于握手协议。
发送方通过TVALID信号表示数据准备就绪,接收方通过TREADY信号表示准备好接收数据。
只有当TVALID和TREADY都为高电平时,数据才会在ACLK的上升沿被传输 。
五、视频数据格式
AXI4-Stream为了传输不同数据格式的视频数据,约定了不同的编码格式,如不同视频通道(RGB、YUV420、YUV422、YUV444等)以及数据位深(8bit、10bit、12bit等等)。
1、静态数据格式
(1)单像素格式
10 bit RGB格式:
紧凑型数据格式,但是按照RBG顺序排列
更多的数据格式如下:
(2)多像素数据格式
多像素数据格式
这里需要注意的是多像素数据顺序
六、AXI4-Stream的优势与局限性
1、优势
高效率:无地址的流式传输减少了协议开销,提高了数据传输效率。
灵活性:适用于多种高速数据流的应用场景。
简洁性:协议简单,易于在FPGA中实现。
2、局限性
缺乏地址信息:由于不涉及地址信息,AXI4-Stream不适用于需要内存映射的应用。
数据流控制:需要额外的机制来控制数据流的开始和结束。
UG934手册:
https://pan.quark.cn/s/a2f9a8efc550
请阅读下面这篇文章: