AMBA总线(AHB)

1.AMBA

  AMBA(Advanced Microcontroller Bus Architecture)高级微控制器总线结构,定义了用于设计高性能嵌入式微控制器的片上通信标准。
  AMBA规范中定义了三种不同的总线:
  (1)高级高性能总线(Advanced High-performance Bus,AHB)
  (2)高级系统总线(Advanced High-performance Bus,ASB)
  (3)高级外围总线(Advanced Peripheral Bus,APB)
  其中ASB使用较少,大家通常使用AHB+APB。下面给出一种经典的基于AMBA的微控制器系统。
  在这里插入图片描述  在这里,可以把Bridge认为是一个从设备。

2.AHB

  AHB总线有以下特性:
  (1)高性能
  (2)流水线操作
  (3)多个总线主机
  (4)突发传输
  (5)拆分事务
  (6)单周期总线主切换
  (7)单时钟沿操作
  (8)非三态实现
  (9)更宽的数据总线配置(64/128位)
  AHB总线由以下四部分组成,如下图所示:
  (1)AHB master:总线主控器能够通过提供地址和控制信息来启动读写操作。任何时候都只允许一个总线主机主动使用总线。
  (2)AHB slave:总线从机在给定的地址空间范围内对读或写操作作出响应。总线从设备向发送请求的主设备发回数据传输成功、失败或等待的信号。
  (3)AHB arbiter:总线仲裁器确保一次只允许一个总线主机启动数据传输。
  (4)AHB decoder:AHB译码器用于对每次传输的地址进行译码,并为参与传输的从设备提供选择信号。
  在这里插入图片描述
  下面给出AHB总线的信号列表(这里不再给出翻译,可自行理解):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述  下面对AHB总线的传输进行讲解。

2.1基础传输

  AHB传输由两个不同的部分组成,分别是一个时钟周期的寻址阶段和一个或多个时钟周期的数据阶段。数据阶段的时钟周期数由从机给出的HREADY信号决定,只有从机准备好了,一次传输才能结束。不过,AMBA协议建议从机的等待状态不要超过16个时钟周期,以防止任何单个访问在大量时钟周期内锁定总线。
  下面给出一个传输图,可以发现当HREADY置1时,传输才结束。
   那么当从机一直准备好时,主机就可以实现两级流水线式的传输操作,即在地址A传输DATA时,地址B已经可以传输地址了。
  主要的传输方式,即HTRANS[1:0]信号有以下四种情形。其中普通传输可以认为是单次BRUST传输,因此单次传输的HTRANS为NONSEQ。
在这里插入图片描述

2.2突发传输

  AMBA AHB协议中定义了4、8和16拍突发,以及未定义长度的突发和单次传输,突发传输包括增量和回环。下面给出HBURST[2:0]信号的所有情况。要注意的是,这些突发传输都不能跨越1KB的地址边界。
  在这里插入图片描述  如果总线主控器因为失去了对总线的所有权而无法完成突发,那么它必须在下一次访问总线时适当地重建突发。例如,如果主机只完成了四拍突发中的一拍,那么它必须使用未定义长度的突发来执行剩余的三次传输。
  下面给出一些突发传输时序图。
(1)普通的增量突发
在这里插入图片描述(2)四拍的增量突发
在这里插入图片描述(3)四拍的回环突发
在这里插入图片描述(4)八拍的回环突发和增量突发(十六拍和八拍差不多)
在这里插入图片描述在这里插入图片描述(5)未定义长度的增量突发(注意传输的是字还是半字)
在这里插入图片描述

2.3从机反馈

  从机除了HREADY信号,还需要反馈HRESP信号,下面给出HRESP信号的描述。
在这里插入图片描述更多关于AHB总线的内容请在ARM官网上寻找

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

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

相关文章

基于nodejs+vue+uniapp微信小程序的短视频分享系统

开发语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 3.1小程序端 用户注册页面,输入用户的个人信息点击注册即可。 注册完成后会返回到登录页面,用户输入自己注…

无人车沿着指定线路自动驾驶与远程控制的实践应用

有了前面颜色识别跟踪的基础之后,我们就可以设定颜色路径,让无人车沿着指定线路做自动驾驶了,视频:PID控制无人车自动驾驶 有了前几章的知识铺垫,就比较简单了,也是属于颜色识别的一种应用,主要…

神码ai火车头伪原创设置【php源码】

大家好,给大家分享一下python编写学生信息管理系统的学生信息保存在哪里,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 火车头采集ai伪原创插件截图: 要求描述: 学生的信息包括:学号&#…

蓝牙资讯|苹果发布AirPods最新开发者固件,最新功能引人关注

苹果面向 AirPods 耳机发布了开发者固件更新 AirPods 6.0 Beta 3,最新内部版本号为 6A5289c。 本次更新适用于 AirPods 3、AirPods Pro 2 和 AirPods Max,不过并非所有 AirPods 耳机都获得了更新。包含5 种新功能 / 新特性: 自适应音频&am…

MySQL5.7 与 MariaDB10.1 审计插件兼容性验证

这是一篇关于发现 MariaDB 审计插件导致 MySQL 发生 crash 后,展开适配验证并进行故障处理的文章。 作者:官永强 爱可生DBA 团队成员,擅长 MySQL 运维方面的技能。热爱学习新知识,亦是个爱打游戏的宅男。 本文来源:原创…

flask使用cookie (设置cookie与查看cookie内容)

1.flask包cookie的使用 设置cookie app.route(/set_cookie) def set_cookie():resp make_response(Setting cookie)resp.set_cookie(username, John)return resp查看cookie: app.route(/get_cookie) def get_cookie():username request.cookies.get(username)return Welco…

Elasticsearch之kibana相关命令

1.中文分词器相关命令 2.拼音分词器相关命令

一个月学通Python(三十四):使用Selenium模拟人工操作及获取网页内容

专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教…

React 核心开发者 Dan Abramov 宣布从 Meta 离职

导读React.js 核心开发者、Redux 作者 Dan Abramov 在社交平台发文宣布,将辞去在 Meta 的职务: “我感到苦乐参半,几周后我就要辞去 Meta 的工作了。在 Meta 的 React 组织工作是我的荣幸。感谢我过去和现在的同事接纳我,容忍我犯…

暗黑版GPT流窜暗网 降低犯罪门槛

随着AIGC应用的普及,不法分子利用AI技术犯罪的手段越来越高明,欺骗、敲诈、勒索也开始与人工智能沾边。 近期,专为网络犯罪设计的“暗黑版GPT”持续浮出水面,它们不仅没有任何道德界限,更没有使用门槛,没有…

接口幂等性实现方式

优质博文:IT-BLOG-CN 幂等 操作的特点是一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态&am…

PCB制造中铜厚度的重要性

电子产品中的PCB是现代电子设备中不可或缺的一部分。在PCB制造过程中,铜厚度是一个非常重要的因素。正确的铜厚度可以保证电路板的质量和性能,同时也影响着电子产品的可靠性和稳定性。 一般我们常见的铜厚有17.5um(0.5oz)&#x…

捕捉时刻:将PDF文件中的图像提取为个性化的瑰宝(从pdf提取图像)

应用场景: 该功能的用途是从PDF文件中提取图像。这在以下情况下可能会很有用: 图片提取和转换:可能需要将PDF文件中的图像提取出来,并保存为单独的图像文件,以便在其他应用程序中使用或进行进一步处理。例如&#xff…

微信小程序的项目解构

视频链接 黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)_哔哩哔哩_bilibili 接口文档 https://www.escook.cn/docs-uni-shop/mds/1.start.html 1:微信小程序宿主环境 1:常见的宿…

linux_常用命令

一、日常使用命令/常用快捷键命令 开关机命令 1、shutdown –h now:立刻进行关机 2、shutdown –r now:现在重新启动计算机 3、reboot:现在重新启动计算机 4、su -:切换用户;passwd:修改用户密码 5、logou…

如何对电脑文件进行备份?介绍五种常用方法

在现代生活中,我们的电脑中存储着大量重要的文件和数据。然而,电脑硬件可能会损坏,文件可能会被误删除或感染病毒等情况,因此定期备份文件至关重要,本文将介绍五种常用的电脑文件备份方法,并解决电脑数据没…

无涯教程-Perl - endpwent函数

描述 此功能告诉系统您不再希望使用getpwent从密码文件读取条目。在Windows下,使用Win32API::Net函数从域服务器获取信息。 语法 以下是此函数的简单语法- endpwent返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perlwhile(($name, $pas…

分布式 - 服务器Nginx:一小时入门系列之静态网页配置

文章目录 1. 静态文件配置2. nginx listen 命令解析3. nginx server_name 命令解析4. nginx server 端口重复5. nginx location 命令 1. 静态文件配置 在 /home 文件下配置一个静态的AdminLTE后台管理系统: [rootnginx-dev conf.d]# cd /home [rootnginx-dev home…

一站式印度跨境电商平台开发--多用户购物商城搭建

搭建一个一站式印度跨境电商平台开发,需要考虑以下几个方面:平台设计,技术架构,多用户购物商城搭建。 一、平台设计: 1. 市场调研:了解印度电商市场的特点和需求,确定目标用户群体。 2. 平台功…

HIVE语法优化之Join优化

桶用两表关联字段,MapJoin时需要将小表填入内存,这时候,分桶就起到了作用 一个stage阶段代表一个mr执行,好几个MR,会吧每一个MR的结果都压缩 Mysql 慢查询 如果sql语句执行超过指定时间,定义该sql为慢查询,存储日志, 查问题: SQL日志,模拟慢SQL 然后查询执行计划 分组聚合 就…