IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 高级可拓展接口 4.0 - 流传输(Advanced eXtensible Interface 4 - Stream AXI4-Stream) -> 正文阅读

[嵌入式]高级可拓展接口 4.0 - 流传输(Advanced eXtensible Interface 4 - Stream AXI4-Stream)

《AMBA 4 AXI4-Stream Protocol Specification》
AXI4_stream协议详解
AXI协议(五)-AXI-STREAM及接入思路解析
【OpenHW参赛手记】AXI-Stream接口介绍


1. Overview

AXI4-Stream(AXIS)协议主要用于组件之间数据流传输,既可用于单主单从,也可用于多主多从流传输。AXIS该协议支持多种数据流使用相同共享总线集合,允许构建类似于路由、宽窄总线、窄宽总线等更为普遍的互联。

2. Interface Description

AXIS接口描述如下,不再如AXI一样划分多个独立通道

Signal Source Width(bits) Description
ACLKClock Source1AXIS时钟
ARESETnReset Source1AXIS全局复位
TIDMasterTID_WIDTH用于多机通信时指示数据流ID号
TDATAMasterTDATA_WIDTH传递的数据
TSTRBMasterTDATA_WIDTH/8指示TDATA中对应的byte是data byte还是position byte
TKEEPMasterTDATA_WIDTH/8指示TDATA中对应的byte是data byte还是null byte
TVALIDMaster1数据信息有效
TREADYSlave1数据信息准备接收
TLASTMaster1指示一包数中最后一个TDATA
TDESTMasterTDEST_WIDTH用于多机通信时指示路由信息
Parameter Units Description
TID_WIDTHbit数据流ID号位宽
TDATA_WIDTHbitAXI AW通道的AWADDR位宽

3. Transfer Signaling

3.1. Handshake process

与AXI单个通道的握手时序一致

在这里插入图片描述

3.2. Byte signaling

TSTRB和TKEEP两个信号用于指示TDATA中每个byte的类型,用于帮助写入内存时位宽对齐,总共有以下三种类型

Data Byte: 数据字节,TDATA中从source到destination必须要传递的有效数据byte

Position Byte: 占位字节,TDATA中从source到destination必须要传递的无效数据byte,但必须占据内存

Null Byte: 空字节,实际传递中被无视的byte

指示方式为

TSTRB[i] TKEEP[i] TDATA[8(i+1)-1:8i]
highhighdata byte
highlowposition byte
lowhighreserved
lowlownull byte

为什么要搞这么多种byte呢?其实为了让一包数与内存中的数据位宽对齐

例如内存数据位宽是4byte,一包数共16byte的话,恰好占据4个内存单元,可见Continuous Aligned Stream。但是在传输中可以加入null byte传输多次,即Byte Stream。

Continuous Aligned Stream

如下图,TDATA_WIDTH为32,每一列是每一次transfer transaction

在这里插入图片描述

Byte Stream

如下图,每次transaction加入了null byte,就可以使同样的16byte握手不同次,但最终写入内存的还是这D-00~D-0F,null byte被丢弃!

在这里插入图片描述

Continuous Unaligned Stream

下图中要传递18byte,写入内存时会占据4.5个内存单元,即第5个内存单元只用了2byte,另外2byte难道要存下一包数嘛?

不能,所以加入position byte使这一包数大小恰为内存单元的整数倍。注意TSTRB和TKEEP指示position byte就用于占位并不是有效数据

在这里插入图片描述

Sparse Stream

还可以穿插着插入position byte

在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-09-25 23:18:15  更:2022-09-25 23:18:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 15:18:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码