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

AHB协议理解

从小父亲就教育我,做一个对社会有用的人!

目录

Chapter1 AHB Block Diagram

Ginput signal

lnput signals

Output Signal

Chapter3 Transfers

AHB接口Overview 

 Chapter6 Data Buses

HWDATA

HRDATA


Chapter1 Introduction

AHB: Advanced High-performance Bus ( 高级高性能总线 )
应用场景:针对高效率,高频宽所设计的总线,可以连接微处理器,片内或片外的内存模块,以及 DMA 等高效模块,可以构成完整独立的 SOC 系统

AHB Block Diagram

 Figure 1-1 shows only the main address and data buses and typical data routing. Not all signals are shown.

Decoder 监控 Master 的地址选择到对应的 Slave
Multiplexor 将对应的 slave 的输出路由回 Master

 

 Figure 1-3 Subordinate interface

Global Singal

lnput signals

 

 

Output Signal

 

 

Chapter3 Transfers

  1. Address phase One address and control cycle.
  2. Data phase One or more cycles for the data.
  3. HWRITE is HIGH, it indicates a write transfer and the Manager broadcasts data on the write data bus, HWDATA.
  4. HWRITE is LOW, a read transfer is performed, and the Subordinate must generate the data on the read data bus, HRDATA.

Figure Transfer with no wait state

在采集到 hclk 的上升沿后, master 开始驱动地址和控制信号
Slave 在第二个上升沿后采集到地址和控制信息
Slave 会驱动 HREADYOUT response Master 会在第三个上升沿采集到这个 response ,传输结束

 Figure 3-1 Read transfer

Figure 3-2 Write transfer

Figure AHB transfer with wait

原因:从机未必处于就绪状态

等待时的读写:

写:要保持写的状态直至传输完成

读:只有当Hready为高时,slave才会获取有效值

 

Figure 3-3 Read transfer with two wait states

Figure 3-4 Write transfer with one wait state

Figure 3-5 Multiple transfers

 Table 3-1 Transfer type encoding

Figure 3-6 shows the use of the NONSEQ, BUSY , and SEQ transfer types.

带控制信号的多笔传输时序

 Figure 3-6 Transfer type examples

Figure 3-7 Locked transfer

Table 3-2 Transfer size encoding

Table 3-4 Burst signal encoding

Figure 3-8 shows a write transfer using a four-beat wrapping burst, with a wait state added for the first transfer.

Figure 3-8 Four-beat wrapping burst

AHB接口Overview 

MASTER

SLAVE

 

 Figure 5-1 ERROR response

 Chapter6 Data Buses

HWDATA

The Manager drives the write data bus during write transfers. If the transfer is extended, then the Manager must hold the data valid until the transfer completes, as indicated by HREADY HIGH. See Clock on page 7-72 for details on holding signals valid across multiple cycles.
For transfers that are narrower than the width of the bus, for example a 16-bit transfer on a 32-bit bus, the Manager only has to drive the appropriate byte lanes. The Subordinate selects the write data from the correct byte lanes. See Endianness on page 6-65 for details of the byte lanes that are active for a little-endian and big-endian system.

HRDATA

The appropriate Subordinate drives the read data bus during read transfers. If the Subordinate extends the read transfer by holding HREADY LOW, then the Subordinate only has to provide valid data in the final cycle of the transfer, as indicated by HREADY HIGH.
For transfers that are narrower than the width of the bus, the Subordinate is only required to provide valid data on the active byte lanes. The Manager selects the data from the correct byte lanes.
A Subordinate only has to provide valid data when a transfer completes with an OKAY response. ERROR responses do not require valid read data.

相关文章:

AHB协议理解

从小父亲就教育我,做一个对社会有用的人! 目录 Chapter1 AHB Block Diagram Ginput signal lnput signals Output Signal Chapter3 Transfers AHB接口Overview Chapter6 Data Buses HWDATA HRDATA Chapter1 Introduction AHB: Advanced High-performanc…...

【UE5 多人联机教程】01-创建主界面

目录 工程地址 步骤 参考链接 工程地址 GitHub - UE4-Maple/C_MP_Lobby: 多人大厅教程项目 步骤 1. 先新建一个工程 2. 将下载的工程中的Plugins目录拷贝到自己新建的工程下 3. 打开工程,新建一个游戏实例 这里命名为“GI_Main” 在项目设置中设置游戏实例类为…...

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 五)

Styles装饰器:定义组件重用样式 如果每个组件的样式都需要单独设置,在开发过程中会出现大量代码在进行重复样式设置,虽然可以复制粘贴,但为了代码简洁性和后续方便维护,我们推出了可以提炼公共样式进行复用的装饰器St…...

React(3)

1.案例选项卡 import React, { Component } from reactexport default class App extends Component {state{tabList:[{id:1,text:"电影"},{id:2,text:"影院"},{id:3,text:"我的"}]}render() {return (<div><ul>{this.state.tabList…...

LangChain大型语言模型(LLM)应用开发(三):Chains

LangChain是一个基于大语言模型&#xff08;如ChatGPT&#xff09;用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口&#xff0c;可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…...

FPGA——点亮led灯

文章目录 一、实验环境二、实验任务三、实验过程3.1 编写verliog程序3.2 引脚配置 四、仿真4.1 仿真代码4.2仿真结果 五、实验结果六、总结 一、实验环境 quartus18.1 vscode Cyclone IV开发板 二、实验任务 每间隔1S实现led灯的亮灭&#xff0c;实现流水灯的效果。 三、实…...

idea创建spark教程

1、环境准备 java -version scala -version mvn -version spark -version 2、创建spark项目 创建spark项目&#xff0c;有两种方式&#xff1b;一种是本地搭建hadoop和spark环境&#xff0c;另一种是下载maven依赖&#xff1b;最后在idea中进行配置&#xff0c;下面分别记录两…...

【JavaEE】DI与DL的介绍-Spring项目的创建-Bean对象的存储与获取

Spring的开发要点总结 文章目录 【JavaEE】Spring的开发要点总结&#xff08;1&#xff09;1. DI 和 DL1.1 DI 依赖注入1.2 DL 依赖查询1.3 DI 与 DL的区别1.4 IoC 与 DI/DL 的区别 2. Spring项目的创建2.1 创建Maven项目2.2 设置国内源2.2.1 勾选2.2.2 删除本地jar包2.2.3 re…...

C#图片处理

查找图片所在位置 原理&#xff1a;使用OpenCvSharp对比查找小图片在大图片上的位置 private static System.Drawing.Point Find(Mat BackGround, Mat Identify, double threshold 0.8) {using (Mat res new Mat(BackGround.Rows - Identify.Rows 1, BackGround.Cols - Iden…...

php 开发微信 h5 支付 APIv3 接入超详细流程

✨ 目录 &#x1f388; 申请商户号&#x1f388; 申请商户证书&#x1f388; 设置V3密钥&#x1f388; 开通H5支付&#x1f388; 设置支付域名&#x1f388; SDK 下载&#x1f388; 第一次下载平台证书&#x1f388;非第一次下载平台证书&#x1f388; H5下单 &#x1f388; 申…...

HTML学习 第一部分(前端学习)

参考学习网站: 网页简介 (w3schools.com) 我的学习思路是&#xff1a;网站实践视频。 视频很重要的&#xff0c;因为它会给你一种开阔思路的方式。你会想&#xff0c;噢&#xff01;原来还可以这样。这是书本或者网站教程 所不能教给你的。而且&#xff0c;对一些教程&#…...

python 实现串口指令通讯

上一篇文章文章写了串口数据的读取&#xff0c;这篇文章讲串口数据的写入&#xff08;指令控制&#xff09; 与下位机通信往往需要十六进制形式进行数据通信&#xff0c;根据设备串口通信指令文档进行指令通信&#xff0c;本篇以灯光控制为例&#xff1a; 1.pyserial模块封装…...

pytorch深度学习逻辑回归 logistic regression

# logistic regression 二分类 # 导入pytorch 和 torchvision import numpy as np import torch import torchvision from torch.autograd import Variable import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import matplotlib.pyplot as …...

数据仓库建设-数仓分层

数据仓库能够帮助企业做出更好的决策&#xff0c;提高业务效率和效益&#xff1b;在数据仓库建设时&#xff0c;绕不开的话题就是数仓分层。 一、数据分层的好处 1. 降低数据开发成本 通用的业务逻辑加工好&#xff0c;后续的开发任务可以基于模型快速使用&#xff0c;数据需…...

共享与协作:时下最热门的企业共享网盘推荐!

现代企业面临着越来越大的数据存储和共享压力。为了提高公司的生产力和效率&#xff0c;许多企业开始寻找共享网盘解决方案。这些共享网盘平台可以帮助企业集中管理文件和数据&#xff0c;并方便快速地与同事、客户或供应商共享。以下是几款好用的企业共享网盘。 Zoho Workdriv…...

mysql取24小时数据

MySQL是一种常用的关系型数据库管理系统。在进行实时数据处理时&#xff0c;我们常常需要查询最近24小时的数据来进行分析和处理。下面我们将介绍如何使用MySQL查询最近24小时的数据。 SELECT * FROM table_name WHERE timestamp_column > DATE_SUB(NOW(), INTERVAL 24 HOU…...

TCP/IP网络编程 第十五章:套接字和标准I/O

标准I/O函数的优点 标准I/O函数的两个优点 将标准I/O函数用于数据通信并非难事。但仅掌握函数使用方法并没有太大意义&#xff0c;至少应该 了解这些函数具有的优点。下面列出的是标准I/O函数的两大优点: □标准I/O函数具有良好的移植性(Portability) □标准I/O函数可以利用缓…...

SaleSmartly,客户满意度调查的绝对好助手

企业使用客户满意度调查来收集反馈并评估客户满意度水平&#xff0c;包括有关产品质量、服务、支持和整体满意度的问题。客户满意度调查的主要目标是直接从客户那里收集有价值的见解&#xff0c;以了解他们的需求、偏好和期望。这种反馈可以帮助企业确定需要改进的领域&#xf…...

MySQL高阶语句

文章目录 一.常用查询1.按关键字排序&#xff08;ORDER BY 语句&#xff09;1.1 语法格式1.2 ASC和DESC的排序概念1.3 举例1.3.1 数据库有一张info表&#xff0c;记录了学生的id&#xff0c;姓名&#xff0c;分数&#xff0c;地址和爱好1.3.2 按分数排序&#xff0c;默认不指定…...

手机快充协议

高通:QC2.0、QC3.0、QC3.5、QC4.0、QC5.0、 FCP、SCP、AFC、SFCP、 MTKPE1.1/PE2.0/PE3.0、TYPEC、PD2.0、PD3.0/3.1、VOOC 支持 PD3.0/PD2.0 支持 QC3.0/QC2.0 支持 AFC 支持 FCP 支持 PE2.0/PE1.1 联发科的PE&#xff08;Pump Express&#xff09;/PE 支持 SFCP 在PP…...

微算法科技(NASDAQ:MLGO)基于信任的集成共识和灰狼优化(GWO)算法,搭建高信任水平的区块链网络

随着数字化转型的加速&#xff0c;区块链技术作为去中心化、透明且不可篡改的数据存储与交换平台&#xff0c;正逐步渗透到金融、供应链管理、物联网等多个领域&#xff0c;探索基于信任的集成共识机制&#xff0c;并结合先进的优化算法来提升区块链网络的信任水平&#xff0c;…...

【云安全】以Aliyun为例聊云厂商服务常见利用手段

目录 OSS-bucket_policy_readable OSS-object_public_access OSS-bucket_object_traversal OSS-Special Bucket Policy OSS-unrestricted_file_upload OSS-object_acl_writable ECS-SSRF 云攻防场景下对云厂商服务的利用大同小异&#xff0c;下面以阿里云为例 其他如腾…...

5.Nginx+Tomcat负载均衡群集

Tomcat服务器应用场景&#xff1a;tomcat服务器是一个免费的开放源代码的Web应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP程序的首选。一般来说&#xff0c;Tomcat虽然和Apache或…...

强化学习基础概念图文版笔记

&#x1f4d8; 强化学习基础概念图文版笔记 1️⃣ 基本框架&#xff1a;Agent 与 Environment &#x1f9e0; 核心角色&#xff1a; Agent&#xff08;智能体&#xff09;&#xff1a;做出决策的“大脑”&#xff0c;根据当前状态选择动作。Environment&#xff08;环境&…...

DAY45 可视化

DAY 45 Tensorborad 之前的内容中&#xff0c;我们在神经网络训练中&#xff0c;为了帮助自己理解&#xff0c;借用了很多的组件&#xff0c;比如训练进度条、可视化的loss下降曲线、权重分布图&#xff0c;运行结束后还可以查看单张图的推理效果。 如果现在有一个交互工具可…...

Ubuntu22.04 安装 Miniconda3

Conda 是一个开源的包管理系统和环境管理系统&#xff0c;可用于 Python 环境管理。 Miniconda 是一个轻量级的 Conda 发行版。Miniconda 包含了 Conda、Python和一些基本包&#xff0c;是 Anaconda 的精简版本。 1.下载安装脚本 在 conda官网 找到需要的安装版本&#xff0…...

【Go面试陷阱】对未初始化的chan进行读写为何会卡死?

Go面试陷阱&#xff1a;对未初始化的chan进行读写为何会卡死&#xff1f;深入解析nil channel的诡异行为 在Go的世界里&#xff0c;var ch chan int 看似人畜无害&#xff0c;实则暗藏杀机。它不会报错&#xff0c;不会panic&#xff0c;却能让你的程序悄无声息地"卡死&qu…...

Python爬虫实战:Yelp餐厅数据采集完整教程

前言 在数据分析和商业智能领域&#xff0c;餐厅和商户信息的采集是一个常见需求。Yelp作为全球知名的本地商户评论平台&#xff0c;包含了大量有价值的商户信息。本文将详细介绍如何使用Python开发一个高效的Yelp数据爬虫&#xff0c;实现商户信息的批量采集。 技术栈介绍 …...

golang 如何定义一种能够与自身类型值进行比较的Interface

定义一种具有比较能力的类型是一种常见需求&#xff0c;比如对一组相同类型的值进行排序&#xff0c;就需要进行两两比较&#xff0c;那么在Go语言中有没有办法定义一种具有比较能力的Interface&#xff0c;实现该接口的类型都具备比较能力呢&#xff0c;最常见最容易的办法是定…...

如何给windos11 扩大C盘容量

动不动C盘就慢了&#xff0c;苹果逼着用户换手机&#xff0c;三天两头更新系统&#xff0c;微软也是毫不手软。c盘 从10个G就够用&#xff0c;到100G 也不够&#xff0c;看来通货膨胀是部分行业的。 在 Windows 11 中扩大 C 盘容量&#xff0c;主要取决于磁盘分区布局和可用空…...