当前位置: 首页 > news >正文

AXI接口

什么是AXI?

AXI(高级可扩展接口),是ARM AMBA的一部分

AMBA(Advanced Microcontroller Bus Architecture):高级微控制器总线架构;是1996年首次引入的一组微控制器总线;开放的片内互联的总线标准,能在多主机设计中实现多个控制器和外围设备之间的连接和管理。

AXI接口的三种类型

AIX4(AXI4-Full)用于高性能的存储器映射【存储器映射-主机在对从机进行读写操作时,指定一个目标地址,这个地址就是对应系统存储空间的地址,表示对该空间进行读写操作(在读写操作时有没有指定地址)】

AXI4-Lite:简化版的AXI4接口-用于低吞吐率存储器映射通信-对寄存器进行读写,配置操作

AXI4-Stream(ST):用于高速的流数据通信-传输视频流数据

AXI优点:

  • 生产力
  • 灵活性

AXI

存储器映射

最大突发支持256数据传输,只需要给定一个单一的地址

AXI-lite

存储器映射

轻量级,单次的存储器映射接口(1个数据)

AXI-Stream

非存储器映射

突发长度不受限制

  • 可获得性

AXI工作方式?

单个主机和从机之间进行信息的交互;通过AXI Intercconnect IP 和 AXI SmartConnect IP可以实现多主机和多从机之间的路由。

AXI4和AXI4-Lite包含5个独立通道:

(主机对从机的读操作)

  • 读地址通道
  • 读数据通道

(主机对从机的写操作)

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

AXI4:由于读写地址通道是分离的,所以支持双向同时传输;突发长度最大256;

AXI4-Lite:和AXI4比较相似,但是不支持突发传输;

AXI4-Stream:用于传输流数据的单一通道,是有一个单一数据通道,和AXI4的写数据通道比较类似,突发数量不受限制。

存储器映射协议:

在系统存储空间和传输数据时,需要指定目标地址

AXI4-Stream协议:

侧重于数据为中心和数据流模式的应用程序,每个AXI-Stream都充当单向通道,并具有握手式数据流。

Infrastructure IP:基础设施IP核--用于搭建系统构建模块

AXI DMA(AXI Direct Memory Access)--用于存储器映射到stream流的转换 用于AXI4 Memory Map格式和AXI4-Stream格式之间的转换。

AXI Stream 与 Memory-Mapped Protocols之间的转换

使用DMA

AXI SmartConnct IP 和 AXI Interconnect IP

这两个IP核都是用于连接单/多个存储器映射AXI Master和单/多存储器映射 AXI Slave(不能是AXI4-Stream)

AXI互联核心关键模型

关于AXI Channel的定义

  • 每一个独立的通道都包含一组信息信号:VALID信号和READY信号;用于提供双向的握手机制。
  • 信息源端使用VALID信号表示当前通道地址、数据和控制信息什么时候有效
  • 目的端使用READY信号表示什么时候可以接受信息,
  • 读数据通道和写数据通道都包含一个LAST信号,用于表示传输的最后一个数据(由源端将LAST信号拉高)

读地址通道和写地址通道,都包含各自的地址信息的通道,地址通道携带了请求所需的地址和控制信息。

读数据通道(用从机发送给主机):包含了读数据和读响应信息(从机到主机的响应信息),数据的位宽

读响应信息是被包含在读数据通道里面,写响应信息是在写响应通道,是一个独立的通道。

读响应信号用于标识读传输是否操作完成。

写数据通道(从主机发送个给从机):包含了写数据,通过WSTRB信号表示当前数据的哪个字节有效

写响应通道:由从机发送给主机,包含了写响应信号,用于标识当前写操作是否完成。

所有的信号都是在全局时钟的上升沿采样的,复位信号时在低电平有效

IVCR-自增的突发模式

突发长度和突发大小?

突发长度:

突发大小:单次数据占用了多少字节

关于握手机制的处理:

所有的五个通道都是通过相同的VALID/READY握手处理来传输地址、数据和控制信息

双向握手机制意味着主机和从机之间传输数据时,都可以控制传输的速率。

只有当VAALID和READY信号为高电平,传输才会发生。

http://www.lryc.cn/news/593993.html

相关文章:

  • HTML和CSS快速入门
  • 相似度计算
  • Golang的微服务链路追踪
  • Unity笔记——Unity 封装方法指南
  • AS32X601 系列 MCU 硬件最小系统设计与调试方案探析
  • 神经网络:池化层
  • 从零开始开发纯血鸿蒙应用之跨模块路由
  • OpenCV 入门知识:图片展示、摄像头捕获、控制鼠标及其 Trackbar(滑动条)生成!
  • Ubuntu 24.04 设置静态 IP 的方法
  • Linux操作系统之线程(四):线程控制
  • HarmonyOS 启动提速秘籍:懒加载全链路实战解析
  • 反序列化漏洞4-Thinkphp5.4靶场安装及Thinkphp反序列化漏洞任意文件删除演示
  • 讲座|人形机器人多姿态站起控制HoST及宇树G1部署
  • python学智能算法(二十六)|SVM-拉格朗日函数构造
  • 什么是 ELK/Grafana
  • C#.NET EFCore.BulkExtensions 扩展详解
  • 手写tomcat
  • LINUX720 SWAP扩容;新增逻辑卷;逻辑卷扩容;数据库迁移;gdisk
  • DAY 20 奇异值分解(SVD)
  • RocketMQ核心编程模型
  • 咨询进阶——解读业务流程优化与重组【附全文阅读】
  • 5.2.4 指令执行过程
  • 【原创】微信小程序添加TDesign组件
  • ChatIM项目语音识别安装与使用
  • ARFoundation系列讲解 - 101 VisionPro 真机调试
  • USRP B210生成信号最大带宽测试之BPSK
  • 人脸识别:AI 如何精准 “认人”?
  • FreeSwitch编译部署
  • 【星海出品】python安装调试篇
  • 【数据集】NOAA 全球监测实验室(GML)海洋边界层(MBL)参考简介