AMBA总线协议(5)——AHB(三):猝发传输

一、前言

        在之前的文章中我们详细讲述了关于AHB的基本操作流程,主机要先从仲裁器获得授权,然后进行总线的访问,这样可以避免总线冲突,获得授权后,主机给出地址和控制信号,从机根据自身情况进行响应,可以分成有等待的情况和无等待的情况,这主要通过从机控制HREADY信号实现。AHB传输共分成4种类型,由主机通过HTRANS体现。

        在本文中我们将详细介绍AHB协议中的猝发操作。

二、AHB猝发操作

1、操作概述

1.1 什么是猝发

        猝发是英文burst的翻译,也有译作突发,也有意译成批量的。其含义是指只一次进行多个数据的连续传输,支持猝发对于总线协议来说非常重要,因为很多时候主机与从机之间需要进行连续的,大规模的数据传输,猝发可以使得这类传输的效率大大提升。

1.2 AHB猝发

AMBA AHB协议定义了4,8和16拍猝发,也有未定长度的猝发和信号传输。协议支持递增和回卷。

        (1)递增猝发:访问连续地址,并且猝发中每一次传输的地址只是前一次地址的递增。

        (2)回卷猝发:如果传输的起始地址并未和猝发(x 拍)中字节总数对齐,那么突发传输地址将在达到边界处回卷。例如,一个四拍回卷突发的字(4 字节)访问将在16 字节边界回环。因此,如果传输的起始地址是 0x34,那么它将包含四个到地址0x34、0x38、0x3C 和 0x30;

        通过使用HBURST[2:0]提供猝发信息。下表给出了8种可能的猝发类型:

HBURST[2:0]类型描述
000SINGLE单一传输
001INCR未指定长度的递增猝发
010WRAP44拍回卷猝发
011INCR44拍递增猝发
100WRAP88拍回卷猝发
101INCR88拍递增猝发
110WRAP1616拍回卷猝发
111INCR1616拍递增猝发

1.3 注意事项

        (1)猝发禁止超过1KB的地址边界。因此重要的是主机不要尝试发起一个将超过这个边界的定长增量猝发。

        (2)猝发大小表示猝发的节拍数量,并不是一次猝发传输的实际字节数量。一次猝发传输的数据总量可以用节拍数乘以每拍数据的字节数来计算,每拍字节数由 HSIZE[2:0]指示。

(3)所有猝发传输必须将地址边界和传输大小对齐。例如,字传输必须对齐到字地址边界(也就是 A[1:0] = 00),半字传输必须对齐到半字地址边界(也就是 A[0] = 0)。

2、猝发提前停止

        在实际使用中,有一些特定的情况使得猝发不足以完成,因此对于从机的设计来说,能够利用猝发信息来采取正确的行动就显得至关重要。在AHB总线协议中,通过监控 HTRANS 信号,从设备能够决定何时提前终止一个猝发,并且确保在猝发结束之后每次传输有连续或忙的标记。如果产生一个非连续或空闲传输,那么表明已经开始一个新的猝发。因此,一定已经终止了前一次猝发传输。

        如果总线主设备因为失去总线授权而不能完成一次猝发传输,它必须在下一次获得权限后正确地重建猝发。例如,如果一个主机仅完成了4拍猝发中的1拍,那么它必须用一个未定长度猝发来执行剩下的3拍。

        接下来我们将通过示例来帮助大家更好地理解猝发。

2.1 四拍回卷猝发

        由于是第一个例子,我们会详细展开图中的每一处细节,后面的部分相同的部分会直接省略。

(1)信号

        HCLK时钟信号,注意是上升沿有效就行,没什么好多说的。

        HTRANS[1:0] : 传输类型(私以为亦可以理解成传输状态,这样不容易与猝发类型混淆),00:IDLE(空闲) ; 01:BUSY(忙) ; 10:NONSEQ(不连续) ; 11:SEQ(连续)。在上一篇文章中有重点介绍,不记得的即使回顾。

        HADDR[31:0] : 地址总线,32位。

        HBURST[2:0] : 猝发类型,上文刚刚提及,这里不展开啦,这里就是使用的WRAP4:四拍回卷猝发。

        HWRITE,HSIZE[2:0],HPORT[3:0] :先分别解释一下含义,依次为读写信号,传输大小,保护控制,之所以放在一起是因为它们可以统称为控制信号。会在后面的文章中详细解读,这里理解是控制信号就行。

        HWDATA[31:0] : 写数据总线,用来在写操作期间从主机到总线从机传输数据。

        HREADY :传输完成,当 HREADY 为高时表示总线上的传输已经完成。

        HRDATA[31:0] : 读数据总线,用来在读操作期间从总线从机向总线主机传输数据。

(2)行为详解

T1时刻:什么都还没发生(对传输来说,对系统来说或许主机正在尝试获取权限呢)

T2时刻:此时主机获得了总线的访问权限,给出了地址和控制信息,还给出了传输类型和猝发类型,表明了这是一次四拍回卷猝发。同时由于是一次猝发的第一个传输,所以传输类型是非连续的。

T3时刻:此时注意到HREADY拉低了,也就是从机插入了等待,对于写操作,主机需要维护HWDATA有效,对于读操作,从机数据无要求。

T4时刻:此时HREADY拉高,从机结束等待,正常进行数据传输。

T5时刻:首先注意一下地址,由于是4拍回卷猝发,地址在16字节边界边界处回卷,所以0x3C后面的地址是0x3O 。其他就是一个正常的数据传输。

T6,T7:正常的数据传输过程。

2.2 四拍递增猝发

         与之前说的四拍回卷猝发唯一的不同就在于地址的变化,地址连续通过16个字节边界。

2.3 八拍回卷猝发

        地址在32字节边界回卷,因此,地址0x3C后一个地址为0x20 。

2.4 八拍递增猝发 

        这次我们采用的是半字传输,所以地址每次增加2个字节,并且为增量猝发。 

2.5未定义长度的递增猝发

         图中有2个猝发:

(1)在地址0x20处,开始传输2个半字,半字传输地址以2递增

(2)在地址0x5C处,开始传输3个字,字传输地址以4递增

三、小结

        在本文中我们展现了AHB猝发传输的具体细节,学习了猝发的类型和具体传输方式,猝发是AHB传输中非常重要的一部分,到这里我们已经基本学习完了AHB的核心内容,接下来的文章中我们将继续研究AHB的一些额外细节,让我们整体的知识结构更加完整。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多维时序 | MATLAB实现SCNGO-CNN-Attention多变量时间序列预测

多维时序 | MATLAB实现SCNGO-CNN-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现SCNGO-CNN-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.SCNGO-CNN-Attention超前24步多变量回归预测算法。 程序平台:无Attention适…

《一个操作系统的实现》windows用vm安装CentOS——从bochs环境搭建到第一个demo跑通

vm安装CentOS虚拟机带有桌面的版本。su输入密码123456。更新yum -y update 。一般已经安装好后面这2个工具:yum install -y net-tools wget。看下ip地址ifconfig,然后本地终端连接ssh root192.168.249.132输入密码即可,主要是为了复制网址方便…

ASR(自动语音识别)任务中的LLM(大语言模型)

一、LLM大语言模型的特点 二、大语言模型在ASR任务中的应用 浅度融合 浅层融合指的是LLM本身并没有和音频信息进行直接计算。其仅对ASR模型输出的文本结果进行重打分或者质量评估。 深度融合 LLM与ASR模型进行深度结合,统一语音和文本的编码空间或者直接利用ASR…

STP知识总结

目录 生成树协议 导致问题 生成树 存在算法 1、802.1D 接口状态 收敛时间 结构变化 802.1D 缺点 2、PVST cisco私有 3、PVST 缺点 4、快速生成树 快速原理 边缘接口 5、MSTP/MST/802.1S 生成树协议 生成树协议是一种工作在OSI网络模型中第二层(数据链路层…

MsrayPlus多功能搜索引擎采集软件

MsrayPlus多功能搜索引擎采集软件 摘要: 本文介绍了一款多功能搜索引擎软件-MsrayPlus,该软件能够根据关键词从搜索引擎中检索相关数据,并提供搜索引擎任务、爬虫引擎任务和联系信息采集三大功能。我们将分析该软件在不同领域的应用&#xf…

基于Java+SpringBoot+Vue的乌鲁木齐南山冰雪旅游服务网站【源码+论文+演示视频+包运行成功】

博主介绍:✌csdn特邀作者、博客专家、java领域优质创作者、博客之星,擅长Java、微信小程序、Python、Android等技术,专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推…

Redis进阶底层原理- Redis结构图与底层数据编码结构

Redis底层原理篇,​让学习绚丽多彩起来!!!(需要原图私信)

智能仓储管理系统(自动化仓库管理解决方案)

企业实际的仓储管理中,往往会出现那样这样的错误,归根结底,主要是由于没使用合适的仓库管理工具。相反,人工使用合适的仓库管理工具,不仅可以在日常仓库管理方法中根据采集到的产品信息数据,大大地提高管理…

什么是CSS中的BFC?

①什么是BFC BFC 全称:Block Formatting Context, 名为 “块级格式化上下文”。 W3C官方解释为:BFC它决定了元素如何对其内容进行定位,以及与其它元素的关系和相互作用,当涉及到可视化布局时,Block Forma…

在Hive/Spark上执行TPC-DS基准测试 (PARQUET格式)

在上一篇文章:《在Hive/Spark上运行执行TPC-DS基准测试 (ORC和TEXT格式)》中,我们介绍了如何使用 hive-testbench 在Hive/Spark上执行TPC-DS基准测试,同时也指出了该项目不支持parquet格式。 如果我们想要生成parquet格式的测试数据,就需要使用其他工具了。本文选择使用另…

Lnton羚通算法算力云平台【PyTorch】教程:torch.nn.Softsign

torch.nn.Softsign 原型 CLASS torch.nn.Softsign() 图 代码 import torch import torch.nn as nnm nn.Softsign() input torch.randn(4) output m(input)print("input: ", input) print("output: ", output)# input: tensor([ 0.0046, -0.4135, -2…

离散Fourier变换的一种理解方法

1. 离散Fourier变换的定义 一个信号 x 的离散Fourier变换(Discrete Fourier Transform,简记为DFT)定义为 , 其逆(inverse) Fourier变换(简记为 IDFT)定义为 。 (译注:符号“≜”表示“根据定义,左边等于右边”。) 其中&#x…

html | 基于iframe的简易富文本编辑器

效果图 支持: 选中后 ctrlI 斜体 代码 思路就是在iframe种嵌套html和css。 <pre> - 支持: 选中后 ctrlI 斜体 - todo: 鼠标实现单击斜体 </pre> <iframe name"richedit" style"height:30%; width:100%;"></iframe><script…

操作符详解(2)

9.条件操作符 由问号和冒号组成&#xff0c;有三个表达式&#xff0c;有三个操作符&#xff0c;所以条件操作符是唯一的一个三目操作符&#xff0c;exp1为真&#xff0c;exp2则计算&#xff0c;exp3不算&#xff0c;整个表达式的结果就是exp2的结果。exp1为假&#xff0c;exp2…

LVS负载均衡DR(直接路由)模式

在LVS&#xff08;Linux Virtual Server&#xff09;负载均衡中的DR&#xff08;Direct Routing&#xff09;模式下&#xff0c;数据包的流向如下&#xff1a; 客户端发送请求到负载均衡器&#xff08;LVS&#xff09;的虚拟IP&#xff08;VIP&#xff09;。负载均衡器&#x…

【网络】数据链路层——MAC帧协议 | ARP协议

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 来到数据链路层后&#xff0c;完整的数据被叫做数据帧&#xff0c;习惯上称之为MAC帧。 MAC帧协议 | A…

C++STL之string类

​ 食用指南&#xff1a;本文在有C基础的情况下食用更佳 &#x1f340;本文前置知识&#xff1a;C基础 ♈️今日夜电波&#xff1a;喜劇—星野源 1:06 ━━━━━━️&#x1f49f;──────── 3:51 …

AI 绘画Stable Diffusion 研究(十三)SD数字人制作工具SadTlaker使用教程

免责声明: 本案例所用安装包免费提供&#xff0c;无任何盈利目的。 大家好&#xff0c;我是风雨无阻。 想必大家经常看到&#xff0c;无论是在产品营销还是品牌推广时&#xff0c;很多人经常以数字人的方式来为自己创造财富。而市面上的数字人收费都比较昂贵&#xff0c;少则几…

三自由度PUMA机器人非线性控制研究(Matlab代码、Simulink仿真实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…