AXI-Stream协议详解(1)—— Introduction

目录

一、概述

1.1 协议简介

1.1.1 字节定义(Byte definitions)

1.1.2 流条款( Stream terms)

1.2 数据流(Data Stream)

1.2.1 字节流(Byte Stream)

1.2.2 连续对齐流(Continuous aligned stream)

1.2.3 连续非对齐流( Continuous unaligned stream) 

1.2.4 稀疏流(Sparse stream)

二、总结

一、概述

1.1 协议简介

        AXI-Stream协议被用作一种标准的接口,它是AXI协议的一部分,被用来连接进行数据传输的组件。AXI,是Advanced eXtensible Interface的缩写,其中文含义是高级可扩展接口,它是 ARM 公司所提出的 AMBA (Advanced Microcontroller Bus Architecture)协议的一部分。

        AXI4细分:

AXI4(AXI4-full) 高性能存储映射接口
AXI4-Lite 简化版的 AXI4 接口,用于较少数据量的存储映射通信
AXI4-Stream 用于高速数据流传输,非存储映射接口

关于AXI协议的详细内容,可以阅读:

深入浅出AXI协议(1)——概述icon-default.png?t=N7T8https://blog.csdn.net/apple_53311083/article/details/132481689

1.1.1 字节定义(Byte definitions)

        我们在讨论AXI4-Stream协议的时候,对于字节,一般采用如下的规范:

数据字节(Data byte) 一个包含了用于在源端和目的端传输有效信息的数据字节
位置字节(Position byte) 一个表示流中的数据字节的相对位置的字节。这是一个占位符,它不包含在源和目标之间传输的任何相关数据值。
空字节(null byte) 一个不包含任何数据信息或关于流中数据字节的相对位置的任何信息的字节。

1.1.2 流条款( Stream terms)

传输(Transfer) 通过AXI4-Stream接口的单次数据传输。单个传输由单次握手定义
包(Packet)
通过AXI4-Stream接口一起传输的一组字节。数据包类似于AXI4突发。一个数据包可以由单个传输或多个传输组成。基础架构组件可以使用数据包来更有效地处理数据包大小的组中的流。
帧(Frame)
AXI4-Stream中最高级别的字节分组。一个帧包含一个整数数量的数据包。一个帧可以是非常多的字节,例如一整个视频帧缓冲区。
数据流(Data Stream)

数据从一个源到一个目的地的传输。一个数据流可以是:

  • 一系列独立的字节传输
  • 一系列聚合成packet的字节传输

1.2 数据流(Data Stream)

        数据流有多种形式。本节提供了一些可能使用已定义的AXI4-Stream字节类型的不同数据流样式的示例。

1.2.1 字节流(Byte Stream)

        字节流是对大量数据和空字节的传输。在每个TVALID、TREADY握手上,都可以传输任意数量的数据字节。空字节没有任何意义,可以从流中插入或删除。图1-1显示了一个字节流的两个示例。在图中,每个垂直列表示单个传输中的字节,在本例中使用了一个4字节宽的数据总线。列是按时间顺序排列的,从左到右排列。

AXI-Stream协议详解(1)—— Introduction_第1张图片

        由于空字节不传递任何信息,也不在流中存在,因此图1-1中给出的两个示例传递相同的信息。

1.2.2 连续对齐流(Continuous aligned stream)

         连续对齐的流是对多个数据字节的传输,其中每个数据包都没有位置或空字节。图1-2显示了一个连续对齐的流的示例。

AXI-Stream协议详解(1)—— Introduction_第2张图片

1.2.3 连续非对齐流( Continuous unaligned stream) 

        连续的非对齐流是每个数据包的第一个数据字节,第一个数据字节和最后一个数据字节之间没有位置字节的若干数据字节。图1-3显示了一个连续的未对齐的流的两个示例。

AXI-Stream协议详解(1)—— Introduction_第3张图片

        (连续的未对齐流可以在包的开始、结束或在包的开始和结束都有任意数量的连续位置字节。)

1.2.4 稀疏流(Sparse stream)

        稀疏流是对大量数据字节和位置字节的传输。必须维护所有数据和位置字节,并从源代码传输到目的地。图1-4显示了一个稀疏流的示例。

AXI-Stream协议详解(1)—— Introduction_第4张图片

        稀疏流可以包含任何数据字节和位置字节的混合,但通常大部分字节都是数据字节。稀疏流并不意味着只有少数字节是数据字节。 

二、总结

        对于AXI-Stream协议来说,首先它是AXI协议的一种,一定程度上来说它是AXI协议中最简单的一部分,但是使用还是非常广泛的。适合用于大规模的高速数据传输过程。

你可能感兴趣的:(AMBA总线协议,AXI,AMBA,AXI-Stream,fpga开发)