AHB总线介绍【1】

article/2025/10/14 1:11:09

1.简介

AHB总线规范是amba总线的一部分,全称是Advanced high performance bus。AMBA总线常用的有AXI,AHB,APB。APB 的全称:Advanced Peripheral Bus 作为 AMBA 总线的一层,APB 总线是为了功耗最小化和减低接口复杂度而设计的。APB 总线应该用于低带宽和不需要高性能流水线总线接口的外设。APB 总线上的所有信号都在正时钟沿发生变化,这个特性决定了 APB 可以更容易地整合到各种设计流程里。

以amba总线的SOC架构,以AHB系统为主干,挂上CPU,内存和DMA设备。

AHB系统总线可以给大量数据传输的模块之间提供高带宽的接口。

APB主要是提供给低速外设连接总线的桥梁。

AHB总线结构

2. AHB的特性包括:

2.1 Burst 传输

2.2 Split 传输

2.3 单时钟周期总线Master移交

2.4 单时钟沿操作

2.5 非3态电路(这个是为啥我也不清楚)

2.6 更宽的数据线宽度(64或128位)

AHB被推荐用于所有新设计,不仅因为它提供了更高的带宽解决方案,还因为单时钟边缘协议导致与典型ASIC开发期间使用的设计自动化工具更平滑地集成。

3.AHB总线互联结构

结构功能描述
AHB 主提供读写操作,提供地址和控制信号,同一时间只有 1 个主会被激活
AHB 从对读写操作在一定的地址范围内作出响应,并对主返回成功,失败或者等待等状态即hresp
AHB
Arbiter
仲裁器主要负责让总线上同时只有 1 个主在工作。
AHB
Decoder
负责对地址进行解码,即AHB给与的地址信息,并提供片选信号到slave。每个 AHB 总线都需要 1 个中decoder


4.AHB总线信号

Name

Source

Description

HCLK

时钟源

所有的总线时钟对应时钟的上升沿

HRESETn

复位控制

低有效的复位时钟

HADDR[31:0]

MASTER

给予总线地址

HWRITE

MASTER

1:写

0:读

HTRANS[1:0]

MASTER

00:IDLE

01:BUSY

10:NONSEQ

11:SEQ

HSIEZ

MASTER

单次传输的数据量Byte, half_word,word。注意:32位的总线只能最大是word(即32bit)。这个单次传输最大可以达到1024bit。

HBURST[2:0]

MASTER

就是看increment还是wrap

HPROT[3:0]

MASTER

保护信号

HWDATA[31:0]

MASTER

写入数据

HRDATA[31:0]

SLAVE

读的数据

HSEL

Decoder

片选信号

HREADY

SLAVE

Hready为高,表示是否传输完成

HRESP

SLVAE

一个传输的状态:OKAY,ERROR,RETRY,SPLIT

 5.点对点信号

Name    

Source   

Description

HBUSREQx

MASTER

表明是哪个master请求总线。最多16个

HLOCKx

MASTER

Master向arbiter发出的总线占用请求信号。Arbiter同意后,必须要保证hlockx为low时,才可以获得ARBITER授权来访问

HGRANTx

ARBITER

只有在HGRANT和HREADY都有效的时候,MASTER才能访问总线

HMASTER[3:0]

ARBITER

这些来自仲裁器的信号表明当前哪个总线主正在执行传输,支持SPLIT传输的从服务器使用这些信号来确定哪个总线主正在尝试访问。HMASTER的时间与地址和控制信号的时间保持一致。

HMASTLOCK

ARBITER

锁定正在传输的传输序列

HSPLITx[15:0]

SLAVE

从机用这 16 位的分块总线来指示仲裁器总线主机应该允许重试一个分块传输

 

 6.HREADY信号

heady信号是slave回复主,表示读写操作是否完成的信号,可以通过拉低来延长传输。

注意:HREADY会有两个,一个是总线给的输入hready_in,一个是SLAVE给出的hready_out。

这个示意图是指在传输过程中,在需要延迟传送的周期,会把HREADY拉低(数据的周期),此时地址和数据都需要保持。

因为是流水线的设计,本次操作data 对应下一个address ,所以作为Slave必须先判断一下Master对上一次其它Slave设备的操作是否已经完成。如果完成,则响应主设备的操作;如果没有完成,则等待完成,然后才响应操作。

7.HTRANS

HTRANS[1:0]
00IDLESlave忽略掉此时的传输
01BUSY表示master正在处理数据,slave需要忽略掉此时的传输
10NONSEQ表明当前是单笔的数据,或者是Burst的第一笔数据
11SEQ是Burst传输的剩余数据

T1:标明是busrt传输,这是burst的第一笔数据。

T2:HTANS是busy状态,表明当前传输延迟。

T3:继续传输,但是此时是没有数据的,所以是空白

T4:slave传输发现没法完成,拉低了Hready,

T5:master收到 延迟的信息,在T6时刻,随着hready拉高而受到数据。

8.HBURST

 这个递增和回绕是指的地址,递增就是随着上一地址增加,回绕就是数据传输到一个边界内返回。这个边界是由hsize和hburst共同决定的。注意边界不能超过1KB。

1. 在 T1 正沿触发时,第一个传送地址 0x68 送出, NONSEQ 表示这是第一笔的传送; WARP4 表明是4个数据要回绕地址。
S 在 T3 时,回传一笔数据。注意地址 0x60 为一延伸周期,其数据在 T6 正沿才被接收到 (对读而言)或写入 S (对写而言)。

这个图就是T1-T3是一笔传输,T3-T6是一笔传输。

第一笔传输从0x68开始,16位传输,第二笔是32Bit,从0x108开始。


http://chatgpt.dhexx.cn/article/6VurLEVv.shtml

相关文章

AMBA总线—AHB总线协议详解

文章目录 一、AMBA总线介绍1.1.AMBA发展史1.2.典型的AMBA系统 二、AHB总线(宏观构造)2.1.AHB总线组成2.2.AHB总线组成互连2.3.AHB操作概述2.4.AHB基本传输阶段 三、AHB总线传输(时序)3.1.AHB信号描述(重要)…

Docker详解之EXPOSE

EXPOSE <端口1> [<端口2>...] 大家都知道以上代码是Dockerfile中来声明端口的命令&#xff0c;但是你真的了解过它吗&#xff1f;现在我带大家来深入了解我们的EXPOSE命令。 首先&#xff0c;我们最应该明确的一点就是&#xff0c;EXPOSE命令只是声明了容器应该打…

Network: use `--host` to expose

vite启动后提示&#xff1a; Network: use --host to expose&#xff0c;且无法通过网络IP访问服务 你遇到的问题是不是跟下图这样&#xff1a; 此问题的原因 当 局域网 中另一台设备需要访问该服务时&#xff0c;必须通过本机 IP 端口 访问。 尝试访问后&#xff0c;发现找…

AE(Auto Expose)自动曝光

AE Auto Expose自动曝光 1.作者&#xff1a;一隅生 自动曝光就是相机根据光线条件自动确定曝光量。 从根本测光原理上分可分两种&#xff1a;入射式和反射式。入射式就是测量照射到相机上的光线的亮度来确定曝光组合&#xff0c;这是一种简单粗略的控制&#xff0c;多用于低档相…

简单的聊一聊 Vue3.2 中新出的 expose 是做啥用的?

随着Vue 3.2的发布&#xff0c;一个新的组合工具提供给我们&#xff0c;叫做 expose。 你是否曾经创建过一个需要向模板提供一些方法和属性的组件&#xff0c;但又希望这些方法对组件是私有的&#xff0c;不能被父类调用&#xff1f; 如果你在开发一个开源的组件或库&#xff0…

Android gson解析@SerializedName、transient、@Expose

目录 SerializedName和transient Expose SerializedName和transient SerializedName 自定义序列化与反序列化过程中json数据的的key transient 加这个关键字表示这个字段 不会参与任何的序列化与反序列化 看代码 该商品类,name字段加上SerializedName("goodsName"…

kubectl 命令详解(七):expose

一、命令作用 将资源暴露为新的Kubernetes Service。 指定deployment、service、replica set、replication controller或pod &#xff0c;并使用该资源的选择器作为指定端口上新服务的选择器。deployment 或 replica set只有当其选择器可转换为service支持的选择器时&#xf…

Dockerfile EXPOSE指令 语法解析

Docker容器启动后&#xff0c;需要宿主机和容器端口进行映射&#xff0c;以便容器内服务对外暴露&#xff0c;这可以在启动是通过docker run -p host:port ...指定&#xff0c;也可以在镜像构建时通过dockerfile的EXPOSE指令指定&#xff0c;本文本来具体对EXPOSE指令进行解析。…

Dockerfile中的expose到底有啥用

如题&#xff0c;看过Dockerfile常识的肯定都知道这个EXPOSE指令是暴露容器的端口。 docker run 的时候指定 -P 或者 -p 将容器的端口映射到宿主机上。这样外界访问宿主机就可以获取到容器提供的服务了。 -P命令可以结合这个dockerfile文件中的EXPOSE暴露的端口。会将容器…

Dockerfile(6) - EXPOSE 指令详解

EXPOSE 通知 Docker 容器在运行时监听指定的网络端口 EXPOSE 端口号 EXPOSE 端口号/协议 默认协议是 TCP 同时在 TCP、UDP 上暴露端口 EXPOSE 80/tcp EXPOSE 80/udp EXPOSE 原理 个人理解&#xff1a;EXPOSE 暴露的端口更像是指明了该容器提供的服务需要用到的端口EXPOSE 并不…

2019中兴捧月·初赛心得

2019中兴捧月初赛心得 原文链接&#xff1a;https://hey-yahei.cn/2019/05/22/zte_challenge_preliminary/ 赛题背景 自从 Alex Krizhevsky 夺得 ILSVRC 2012 ImageNet 图像分类竞赛的冠军后&#xff0c;深度卷积神经网络在图像分类、物体检测、语义分割、目标跟踪等多个计算…

2019中兴捧月之智能音频处理参赛总结

抱着免笔试的心态参加了中兴捧月比赛&#xff0c;赛题一下来&#xff0c;呦&#xff01;题目可选余地很大&#xff0c;稳了&#xff01;看完题之后&#xff0c;凉了&#xff01;再见&#xff0c;中兴。。。 正题开始&#xff0c;博主选的是智能音频识别&#xff0c;题目给了几段…

算法4-中兴捧月杯热身赛1素数判断-热身赛2亲和串-热身赛3旅游路线-

题目1&#xff1a;素数判断 需求 给定一个数n&#xff0c;要求判断其是否为素数(0,1&#xff0c;负数都是非素数)。输入描述:测试数据有多组&#xff0c;每组输入一个数n。输出描述:对于每组输入,若是素数则输出yes&#xff0c;否则输入no。 样例1: 输入:13输出:yes 代码 //…

2021中兴捧月神算师算法赛,4-24第一场,第四题:D-换队伍,2021-4-28

第四题&#xff1a;D-换队伍 分析&#xff1a; 1.问题本身很简单&#xff0c;也只有两条队伍&#xff0c;一个队伍中的人换到另一个队伍的末尾。问题在于对其他人排队位置的保存和排序。 2.用什么数据结构进行保存&#xff0c;是一个很关键的问题&#xff0c;对问题解决的方法和…

中兴捧月算法挑战赛-RAW夜景图像去噪总结

最终排名 85/1159 网址&#xff1a;https://zte.hina.com/zte/denoise 无缘复赛&#xff0c;太菜了&#xff0c;不好意思说自己学去噪的了&#xff0c;代码会开源&#xff0c;但是感觉没什么人看吧 尝试过的模型 DnCNN&#xff1a;很差&#xff0c;0分UNet&#xff1a;很蓝…

2021中兴捧月神算师算法赛,4-24第一场,第二题:B - 切绳子,2021-4-27

第二题&#xff1a;B - 切绳子 题目如下图所示&#xff1a; 这道题目难度中等&#xff0c;但是有很多细节要注意。 分析&#xff1a; 1.首先数据类型问题&#xff0c; 1<n<1e18,这个显然超过了int的长度65535&#xff0c;需要使用big int 或者是long long 型进行定义…

中兴捧月算法-切绳子

中兴捧月算法-切绳子 题目描述 来源&#xff1a;牛客网 示例一&#xff1a;

中兴捧月比赛DIJKSTRA派算法说明

因为文章包含太多公式&#xff0c;无法复制&#xff0c;所以只能截图 我现在不知道怎么传源码&#xff0c;代码的话如果有人要&#xff0c;留言QQ 输出的次优解路径为&#xff1a; S->N2->N4->N5->N3->N7->N8->N14->N13->N12-…

2019中兴捧月·总决赛心得

2019中兴捧月总决赛心得 原文链接&#xff1a;https://hey-yahei.cn/2019/05/25/zte_challenge_final/ 赛题背景 与初赛类似&#xff0c;不过初赛更多关注的是加速&#xff0c;而总决赛更关注的是压缩。 原始模型是一个简单的3x112x112输入大小的resnet18&#xff0c;人脸识…

2020年中兴捧月傅里叶派决赛题目

目录 题目&#xff1a; 模型建立 题目分析 注意的小问题 计算结果 代码 模型改进和精细预测 写在最后 题目&#xff1a; 假设&#xff1a; 病毒正在一个居民总数为N100,000, 的城市里扩散。在我们研究的时间段内&#xff08;300天&#xff09;&#xff0c;没有新生儿…