【ARM AMBA AXI 入门 2 - AXI协议中的BURST】

news2024/11/26 22:46:08

文章目录

    • 1.1 突发传输简介
      • 1.1.1 AXI4 突发传输控制信号
        • 1.1.1.1 AxLEN 突发传输长度
        • 1.1.1.2 AxSIZE 突发传输宽度
        • 1.1.1.3 AxBURST 突发传输类型
      • 1.1.2 AXI 传输实例

1.1 突发传输简介

在地址总线上进行一次地址传输后,进行多次数据传输( data transfer),第一次地址传输中的地址作为起始地址,根据突发传输类型的不同,后续数据的存储地址在起始地址的基础上递增(INCR 模式);或者首先递增,到达上限地址后回到起始地址,继续递增(WRAP 模式);又或者后续数据都将不断写入起始地址,刷新起始地址上的数据(FIXED 模式)。

1.1.1 AXI4 突发传输控制信号

突发传输的控制信息在地址通道上,随着第一次地址传输时写入,控制信息包括:
在这里插入图片描述

1.1.1.1 AxLEN 突发传输长度

在这里插入图片描述
Burst length: ARLEN[7:0]AWLEN[7:0] 突发传输长度是指在一次突发传输中所进行的传输(data transfer)次数,在传输完初始地址后,进行的数据传输次数就是突发传输长度。在 AXI4 中:

  • INCR 类型最大支持长度为 256;
  • 其他类型(见1.1.1.3节)最大长度为 16。

突发长度最少为 1,不然也就没有传输发生了。协议中的 burst length 从零开始,实际的长度值为长度字段加 1;

  • 一个 burst 内部是不可以被打断的, 所以 data valid一旦高起来就要把一个burst 传完再拉低;
  • slave 的 ready 信号可以中断,但是最终还是要高起来传完一个burst;
  • 对于 master 来说,一旦开始传数,一个 burst 之间的 valid 应该是不会低的。

1.1.1.2 AxSIZE 突发传输宽度

Burst size: 指的是一个 data transfer 里面有多少 bytes. ARSIZE[2:0]AWSIZE[2:0] 就是用于设置这个属性的。
在这里插入图片描述
为什么只有 3bit
如上图所示:只有 8 种情况。一般来说, 总线位宽和 burst size一致的, 比如总线 64bit, 那么 burst size 是8 byte。

1.1.1.3 AxBURST 突发传输类型

在这里插入图片描述

Burst type: 有三种:
- FIXED: 类型适合对某个固定地址进行数据更新,比如向一个 almost full 的 fifo 更新数据;
- INCR: 类型最为常用,后续的数据的存储地址在初始地址的基础上,以突发传输宽度进行递增,适合对于 RAM 等 mapped memory 存储介质进行读写操作;
- WRAP: 模式比较特殊,除了初始地址外,还有最高地址的界限。在最大地址以下,WRAP 与 INCR 类型完全相同,地址递增,但达到最高地址后,地址直接回到起始地址,再进行递增,就这样循环往复。数据手册上表示,WRAP 适合对 cache 的访问。

其他信号包括和内存原子操作有关的 AxLOCK,AxCACHE,AxPROT 以及用于用户自定义的 AxUSER 信号,

1.1.2 AXI 传输实例

接下来举一个突发写操作讲解 AXI4 突发传输机制,AXI数据总线宽度为 128 bits
在这里插入图片描述
上图为主机从0x0地址开始写数据,每次写 64bytes,可以看到地址信号 awaddr_m[39:0] 变化为 0x0->0x40->0x80->0xc0...,图中AXI写数据通道为128bit,见 wdata_m[127:0], 通过将图片放大来看,可以看到 1 burst 中进行了4 次 data transfer(位宽为128bits), 所以正好 64bytes x 8bits = 128bits x 4。
在这里插入图片描述
从上图中同时可以看到 :

  • awsize_m[2:0] 的值为0x4(0b100),根据1.1.1.2 节内容可以看到是每一次 data transfer 为16bytes(128bits),正好匹配上axi写数据通道位宽(128bits);
  • awlen_m[7:0]的值为0x3, 根据 1.1.1.1 节的计算公式可知 该burst 传输的次数为0x3 + 1 = 0x4, 正好匹配上图中1 个 burst 中包含的的 4 次 data transfer;
  • awburst[1:0]的值为0x1, 根据1.1.1.3节的内容知道 burst 类型为 INCR;
  • awvalid_m 为高时地址有效;
  • wavlid_m 为高时数据有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT4 在医学任务表现-Capabilities of GPT-4 on Medical Challenge Problems

微软和openai在2023年4月的论文。 Capabilities of GPT-4 on Medical Challenge Problems 数据集介绍 USMLE Self Assessments:问题,有表格 USMLE Sample Exam:pdf,有图片 MedQA:多语种多选, PubMedQA…

基于Python的接口自动化-pymysql模块操作数据库

目录 引言 一、PyMySQL安装 二、Python操作数据库 写在最后 引言 在进行功能或者接口测试时常常需要通过连接数据库,操作和查看相关的数据表数据,用于构建测试数据、核对功能、验证数据一致性,接口的数据库操作是否正确等。 因此&#x…

MES系统选择指南:企业如何选择适合需求的MES管理系统?

MES(Manufacturing Execution System)管理系统是一种用于生产管理的软件系统,可以帮助企业提高生产效率、降低成本和提高质量。然而,不同类型的MES管理系统适用于不同类型的企业需求,因此选择适合自己企业需求的MES管理…

基于瑞芯微芯片RK3399学习

同是soc,参加新星计划学习下大佬的思路 sys系统 针对:(内核)1.1、通过sysfs清楚了解设备的系统状况的学习 通过了解sys目录和文件了解嵌入式设备的系统状况。 sysfs把连接在系统上的设备和总线组织成为一个分级的文件&#xff0c…

全国职业院校技能大赛信息安全管理与评估赛题一

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 赛题一 模块一 网络平台搭建与设备安全防护 赛项时间 共计180分钟。 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 网络平台搭建与设备安全防护 任务1 网络平台搭建 XX:XX- XX:XX 50 任务…

第6章SpringMVC的RESTful

一、RESTful 1.RESTful简介 REST:Representational State Transfer,表现层资源状态转移 ①资源 将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念 ②资源的表述 源的表述可以有多种格式,例如HTML/XML/JSON…

yolo v5

参考 睿智的目标检测56——Pytorch搭建YoloV5目标检测平台 原理 前处理 网络结构 整体思想 思想框架 特征提取-特征加强-预测先验框对应的物体情况。 改进部分 1、主干部分:使用了Focus网络结构,具体操作是在一张图片中每隔一个像素拿到一个值&…

118. 杨辉三角解题思路

文章目录 题目解题思路 题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: num…

【Java基础】集合List/Set/Map

零、重点 初始大小加载因子扩容大小底层机制ArrayList101(存满)1.5倍动态数组,Arrays.copyof()HashMap160.752.0倍 jdk1.7及其之前:数组单向链表(有扩容死锁问题) jdk1.8及其之后:Node 数组 单向Node链表 红黑树 …

大专苦学 37 天,5 轮面试,6 小时灵魂拷问,含泪拿下阿里 offer~

先纠正一下大家的错误认知,大专学历不是不能进大厂,只不过很难罢了,比如阿里就有很多大专学历的人;学历低想进大厂很难的,不光需要的技术足够厉害,还需要有合适的内推人(人脉)以及恰…

机器的眼睛:漫谈机器视觉(文末送书)

眼睛是人心灵的窗户,我们可以通过凝视对方的眼神来理解他人。当有一天你走过一道需要刷脸才能通过的大门,突然间看到一个冰冷的摄像头在凝视着你的时候,你是否也曾若有所思地看着它,心中充满了疑惑——它是如何工作的?…

苹果颠覆性新品取代iPhone,5万元新电脑告别 Intel

今日凌晨苹果正式举行了 WWDC23 Apple 全球开发者大会。 和往年相比 WWDC23 可以说是倍受关注,在召开前就有号称革命性产品问世的消息。 场面如此壮观,今年到底苹果又带来了什么引领时代的玩意? 革命性产品又是否能接力乔布斯时代&#xff…

day06——朴素贝叶斯算法

朴素贝叶斯算法 一、什么是朴素贝叶斯分类方法二、概率基础知识1,联合概率2,条件概率 三、贝叶斯公式1,公式2,拉普拉斯平滑系数 四、API五、实操案例:20类新闻分类代码 六、总结 一、什么是朴素贝叶斯分类方法 朴素贝…

漫谈大数据 - 如何设计业务埋点方案与数据采集应用

业务埋点和数据分析是在用户行为和业务数据上进行跟踪、收集和分析的关键方法,用于了解用户行为模式、改进产品和服务,并做出数据驱动的决策。 全文1.5万字,建议阅读时间35min。 目录 业务埋点 埋点的重要性 埋点的类型 全埋点 代码埋点…

springboot3自动装配机制原理(小白也看得懂)

springbootApplication注解 实现自动装配的核心就是EnableAutoConfiguration。(springboot就是通过此注解实现自动装配机制,主要作用就是让springboot去扫描默认的配置类,如果没有这个类的话,springboot只会默认扫描启动类下包中各个类的注解…

nuxt3项目在宝塔上使用pm2放到服务器

最近在将nuxt3项目扔到服务器上的时候遇到了一些问题,发现打包后的nuxt项目与正常的vue文件有些差别,缺失了index.html文件。 这边就记录下nuxt3项目是怎么放到服务器上的🤔 一、打包nuxt3项目 执行对应的打包命令 yarn build 二、找…

Electron详解(一):基本介绍

文章目录 一、electron简介二、发展历史三、electron优缺点四、electron和Qt的对比五、使用electron开发的实际案例六、electron 的原理 一、electron简介 Electron(官网:https://www.electronjs.org/zh/)是由Github开发,用HTML&…

17:00面试,还没10分钟就出来了,问的实在是太...

从外包出来,没想到死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到8月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去…

CVE-2022-30887

文章目录 CVE-2022-30887一、漏洞介绍二、渗透步骤1、打开网站2、登录网站3、shell4、文件上传5、查看flag CVE-2022-30887 一、漏洞介绍 多语言药房管理系统 (MPMS) 是用 PHP 和 MySQL 开发的, 该软件的主要目的是在药房和客户之间提供一套接口,客户是该软件的主要…

MLC Chat App上架苹果App Store可在本地运行语言模型;谷歌推出AI设计工具StyleDrop

🦉 AI新闻 🚀 开源项目MLC Chat App上架苹果App Store,可在本地运行语言模型 摘要:CMU助理陈天其教授表示,开源项目MLC LLM的独立聊天应用程序MLC Chat App已上架苹果App Store,允许将任何语言模型本地部…