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

news2025/2/22 1:26:38

一、前言

        在之前的文章中我们详细讲述了关于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.coloradmin.cn/o/911705.html

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

相关文章

峰会回顾第7期 | 视窗绘制技术演进和新趋势

本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第7期 | 视窗绘制技术演进和新趋势》 演讲嘉宾 | 陈秋林 回顾整理 | 廖 涛 排版校对 | 李萍萍 嘉宾简介 陈秋林,华为终端OS资深架构师、菲尔兹Lab主任,长期从事终端OS研发,先后负责Lit…

“MyBatis中的动态SQL、模糊查询与结果映射“

目录 引言1. MyBatis中的动态SQL1.1 if元素1.2 foreach标签 2. MyBatis中的模糊查询三种形式2.1 #{} 模糊查询2.2 ${} 模糊查询2.3 concat() 模糊查询2.4 MyBatis中#与$的区别 3. MyBatis中的结果映射resultType与resultMap的区别 总结 引言 MyBatis是一个强大而灵活的持久层框…

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

关于esp-aliyun的SDK编译常出错的问题1

下载完SDK后一般会将工程文件夹进行修改已适配自己的项目。这时问题就已经存在了。 如下图所示: 阿里云SDK里面的CMakeLists.txt里多处均调用了esp-aliyun这个文件夹。 还是老老实实的别修改esp-aliyun文件名了哈。

【数学建模】清风数模中正课4 拟合算法

拟合算法 在插值算法中,我们得到的曲线一定是要经过所有的函数点的;而用拟合所得到的曲线则不一样,拟合问题中,不需要得到的曲线一定经过给定的点。 拟合的目的是寻求一个函数曲线,使得该曲线在某种准则下与所有的数…

Java“牵手“拼多多商品详情数据、拼多多优惠券信息、拼多多到手价信息获取方法,拼多多API实现批量商品数据抓取示例

拼多多商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取拼多多商品详情数据,您可以通过开放平台的接口或者直接访问拼多多商城的网页来获取商品详情信息。以下是两种常用方法的介绍:…

vue3——递归组件的使用

该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>&#xff0c;且包含 typescript 的基础用法 一、使用场景 递归组件 的使用场景&#xff0c;如 无限级的菜单 &#xff0c;接下来就用菜单的例子来学习 二、具体使用 先把菜单的基础内容写出来再说 父…

Django实现音乐网站 ⑿

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是加载静态资源和推荐页-轮播图、推荐歌单功能开发。 目录 加载静态资源 引入jquery.js 引入bootstrap资源文件 创建基类模板样式文件 推荐页开发 轮播图开发 下载 加载swiper 自定义引入继承块设置 使用…

CW6B-90A-RCW6B-100A-RCW6B-110A-RCW6B-115A-R三相三线式滤波器

CW4B-10A-S CW4B-20A-S CW4B-30A-S三相三线式滤波器 CW6B-50A-S CW6B-60A-S CW6B-70A-S CW6B-80A-S CW6B-90A-S CW6B-100A-S CW6B-250A-S三相三线式滤波器 CW12B-3A-S(005) CW12B-6A-S(005) CW12B-10A-S(005) CW12B-20A-S(005 CW12B-30A-S(005) CW12B-40A-S(005)三…

代理池在过程中一直运行

Hey&#xff0c;爬虫达人们&#xff01;在爬虫的过程中&#xff0c;要保持代理池的稳定性可不容易。今天就来和大家分享一些实用经验&#xff0c;教你如何让代理池在爬虫过程中一直运行&#xff01;方法简单易行&#xff0c;让你的爬虫工作更顺畅. 在进行爬虫工作时&#xff0…

VisualStudio创建项目模板教程

简介 Visual Studio 项目模板是预先定义的项目结构和设置&#xff0c;可以帮助开发者快速启动新的项目。项目模板中可以包含预配置的文件、资源、设置和代码结构&#xff0c;这样开发者在创建新的项目时就不必从零开始。 以下是Visual Studio项目模板的一些核心点&#xff1a…

HD Supply EDI 到 JSON 方案简介

本文将介绍与HD Supply进行EDI对接&#xff0c;通过调用知行之桥的Admin API及JSON格式来集成业务系统。 准备下载和运行 HD Supply EDI 到 JSON 使用 JSON 生成一系列 EDI 文档与 HD Supply 通信。 下载工作流 下载示例文件 HD Supply EDI到JSON示例流具有预配置的端口…

二、3.中断

中断上半部和下半部是什么&#xff1f; 操作系统是中断驱动的&#xff0c;中断发生后会执行相应的中断处理程序&#xff0c;我们希望 CPU 中断响应的时间越短越好&#xff0c;这样便能响应更多设备的中断。但是中断处理程序还是需要完整执行的&#xff0c;不能光为了提高中断响…

数据结构(3)

线性表是多个具有相同特征的数据的有限序列。 前驱元素&#xff1a;A在B前面&#xff0c;称A为B的前驱元素。 后继元素&#xff1a;B在A后面&#xff0c;称B为A的后继元素。 线性表特征&#xff1a; 1.一个元素没有前驱元素&#xff0c;就是头结点&#xff1b; 2.最后一个…

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 5- 完成 Spring 容器对象的自动装配 -@Autowried

&#x1f600;前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 5- 完成 Spring 容器对象的自动装配 -Autowried &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&…

数据挖掘技术在智能外呼系统的应用探索

随着科技的不断发展&#xff0c;人们对于智能化的需求也日益增加&#xff0c;在企业获客领域&#xff0c;智能外呼系统应运而生。智能外呼系统是一种基于人工智能技术的客户服务系统&#xff0c;通过自动化的方式实现客户服务&#xff0c;提高客户满意度和企业效率。数据挖掘技…

wifi高通驱动之WCNSS_qcom_cfg.ini以及MCS、空间流数的学习和记录

一、WCNSS_qcom_cfg.ini 这个文件说是可以调优wifi的带宽&#xff0c;还有MIMO技术 Android Wi-Fi MIMO/SISO设置方法&#xff08;基于高通平台&#xff09;_广凯的博客-CSDN博客 不是太了解&#xff0c;先记录一下&#xff0c;个人感觉MCS和MIMO技术最全的应该是下面的网址…

Bigemap在地质工程勘察行业中的应用

Bigemap在地质工程勘察行业中的应用 选择Bigemap的原因&#xff1a; 师兄在测绘局工作&#xff0c;买过全能版&#xff0c;帮我下载过高程数据&#xff0c;我觉得效果可以&#xff0c;于是联系到软件公司进行试用、咨询 使用场景&#xff1a; 影像、等高线、地形等资料下载&…

买空气净化器怎么选 空气净化器哪个牌子性价比高

买空气净化器怎么选 空气净化器哪个牌子性价比高 空气净化器3个选购要点 空气净化器在如今的大气污染严重的环境下越来越受人们关注。然而&#xff0c;在市场上如此多的品牌和型号中&#xff0c;该如何选择一款适合自己的空气净化器呢&#xff1f;以下给出三个选购要点&#…

【校招VIP】网络基础之cookie、session和storage

考点介绍&#xff1a; cookie、session和localstorage 是目前常用的存储机制&#xff0c;不管是大厂还是中小公司&#xff0c;都会对这个问题有比较高的考察频度&#xff0c;而且有一定的深度和对比分析。 本期分享的网络基础之cookie、session和storage&#xff0c;分为试题、…