AHB协议

article/2025/10/14 0:22:01

文章目录

  • 什么是AHB总线协议
  • AHB总线组成
  • AHB信号描述
  • AHB传输
  • Bust传输

AMBA高级处理器总线架构,不同的速率要求构成了高性能SOC设计的通信标准:

  • AHB高级高性能总线
  • APB高级外围总线
  • AXI高级可拓展接口

什么是AHB总线协议

AHB:主要是针对高速率、高频宽及快速系统模块所设计的总线,可以连接在如微处理器、芯片上或芯片外的内存模块和DMA等高效率总线。AHB可以成为一个完整独立的SOC芯片的骨架,不仅如此还可以通过AHB-APB桥来连接APB总线系统。
特点:

  • 高速总线,高性能
  • 2级流水线操作
  • 可支持多个总线主设备(最多16个)
  • 支持burst传输
  • 总线带宽:8、16、32、64、128bits
  • 上升沿触发操作
  • 对于一个新设计建议使用AHB

在这里插入图片描述

AHB总线组成

  • MasterAHB主设备: 发起一次读/写操作;某一时刻只允许一个主设备使用总线
  • SlaveAHB从设备: 响应一次读/写操作;通过地址映射来选择使用哪一个从设备
  • ArbiterAHB仲裁器: 允许某一个主设备控制总线
  • DecoderAHB译码器: 通过地址译码来决定选择哪一个从设备

在这里插入图片描述

AHB信号描述

信号来源描述
HCLK总线时钟总线时钟,上升沿采样
HRESENTn系统总线复位信号,低有效
HADDR[31:0]Master32位地址总线
HTRANS[1:0]Master当前传输类型IDLE,BUSY,NONSEQ,SEQ
HWRITEMaster1为写,0为读
HSIZE[2:0]Master每一个transfer传输的数据大小,以字节为单位,最高支持1024位
HBURST[2:0]Masterburst类型,支持4、8、16burst,incrementing/wrapping
HPROT[3:0]Master保护控制信号,需要slave带保护功能,一般不用
HWDATA[31:0]Master写数据总线,Master到slave
HRDATA[31:0]Slave读数据总线,Slave到Master
HSELxDecoderslave选择信号
HREADYSlave控制HRDATA的读出数据周期,高:Slaves输出传输结束;低:Slave需延长传输周期
HRESP[1:0]SlaveSlave发给Master的总线传输状态OKAY,ERROR,RETRY,SPLIT

HRESP[1:0]:

  • OKAY:单周期响应
  • ERROR:两周期响应
  • RETRY:两周期响应
  • SPLIT:两周期响应

总线的流水特性需要从设备两个周期的响应。可以使得主设备有足够的时间处理下一次传输。

AHB传输

基本AHB传输:

  • 两个阶段:地址周期,HREADY;数据周期,由HREADY信号决定需要几个cycle
  • 流水线传送:先是地址周期,然后是数据周期

流水线操作: 当总线上有多个为处理完的请求,也就是当A请求被master执行后,slave做响应期间,紧接着master又收到新的请求B,这是master就要执行流水线一样的操作。
在这里插入图片描述

Bust传输

什么是Burst传输?

Burst(突发):是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所设计到存储单元的数量就是突发长度(Burst Lengths,简称BL)。就是地址执法一次,首个地址发出就决定了后面的地址是什么,而不是发送一个地址,再传送一个数据的方式。

为什么要使用Burst传输?
Burst传输就是提高了传输效率。如果不用burst,普通访问模式下,主设备发出的传输命令到达从设备,由于仲裁等原因,传输会产生一定的延时。如果主设备读一个数据,处理一个数据的话,由于延时的存在,处理速度会极低。在进行突发传输时,只需要发送一次地址,内存就会依次地自动对后面相应数量的存储单元进行读/写操作。而不再需要控制器连续地提供访问地址。所以,第一次数据的传输需要若干个周期,而其后每个数据只需一个周期的即可获得。

两种Burst模式:

  • 增量突发(INCR): 地址递增,在地址边界处不回环
  • 回环突发(WRAP): 地址递增,但会在特定的地址边界上回环;一般在需要填充cache line的时候使用。
HBURST[2:0]Burst类型描述
000single transfer单个传输,HTRANS是NONSEQ或IDLE
001INCR地址从开始地址开始递增,突发长度不固定
010WRAP4突发4位,地址递增回环
011INCR4突发4位,地址递增
100WRAP8突发8位,地址递增回环
101INCR8突发8位,地址递增
110WRAP16突发16位,地址递增回环
111INCR16突发16位,地址递增

注意:

  • INCR类型和WRAP类型的Burst时,发送的地址不能跨过1KB的地址空间
  • WRAP类型的Burst主要用于CPU中有cache line需要填充

地址的递增与HSIZE有关,当HSIZE指定单个传输数据位宽为半字(16bit)时,地址按每次加2递增。当HSIZE指定单个传输数据位宽为1个word(32位)时,地址是按每次加4递增。
HSIZE[2:0]

HSIZE[2:0]描述
0008bits
00116bits
01032bits
01164bits
100128bits
101256bits
110512bits
1111024bits

增量Burst传输
有INCR、INCR4、INCR8和INCR16四种类型
INCR类型如下:
在这里插入图片描述
在这里插入图片描述
回环Burst传输
在0x3C地址之后,根据回环的地址边界,第四拍的地址变为0X30。4个地址(0x30、0x34、0x38、0x3c),每个地址各不相同,这四个地址是一个回环范围。起始地址决定了回环操作的回环范围。
在这里插入图片描述

参考:
哔哩哔哩大学
https://blog.csdn.net/SummerXRT/article/details/118077270


http://chatgpt.dhexx.cn/article/9ydMFxFL.shtml

相关文章

AHB 协议学习

文章目录 AHB 协议学习一、 AHB 协议 信号二、 AHB 协议 传输2.1 a read transfer with two wait states2.2 a write transfer with one wait states2.3 transfer with HTRANS(控制信号)**2.4 transfer :Eight-beat incrementing burst, INCR…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第三章 传输

第三章 Transfers 本章描述读写传输。它包括以下部分: – 基本传输 on page 3-28. – 传输类型 on page 3-30. – 锁定传输 on page 3-32. – 传输大小 on page 3-33. – 突发操作 on page 3-34. – 等待传输 on page 3-39. – 保护控制 on page 3-44. – 内存类型 on page 3-…

AMBA 系列之 AHB 协议

目录 1. 简介 1.1 AHB总线的架构 1.2 AHB基本特性 2. AHB总线的组成 3. 信号描述 3.1 AHB Slave 接口 3.2 AHB Master 接口 3.3 AHB Arbiter 接口 3.4 AHB Decoder 接口 4. 总线操作 5. 基本传输 5.1 没有等待状态的单次传输(Single Transfer&#xff0…

AHB总线

大部分的总结在csdn里面都有。这里只是总结自己理解的。 AHB基本特性有: Burst传输(一共有Hburst[2 : 0]的类型),single,incr,wrap4,incr4,wrap8,incr8,wra…

AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第一章 引言

ARM AMBA 5 AHB 协议规范 AHB5, AHB-Lite 发行信息 变更历史 日期版本保密性更改2006/6/26A非保密First release for v1.02015/6/25B.a保密Update for AMBA 5 AHB Protocol Specification2015/10/30B.b非保密Confidential to Non-Confidential Release Contents ARM AMBA 5 A…

AHB协议详解

AHB总线 AHB总线在AMBA2中就已经定义,AHB总线一开始主要是作为系统高速总线使用,适用于高性能,低功耗的系统设计。目前因为AXI总线作为高速总线的优势更加明显,AHB会用在相对低速的系统设计中。基本排序就是APB适用于低速设计&am…

AHB学习笔记

1.AHB概述 AHB总线是一种专为高性能同步传输设计的总线,层次高于APB总线,支持以下特性: 突发传输拆分事务主设备单时钟周期传输单时钟沿操作非三态实现宽数据总线配置(64/128bit) 1.1.典型AHB系统 典型的AHB系统包括以…

AHB协议学习

AHB协议总结 AHB协议学习1. AHB简介2. AHB的接口信号2.1 Global signals2.2 Master signals2.3 slave signals2.4 decoder signals2.5 multiplexor signals 3. 传输4. Decoder5. Multiplexor6. 大小端Endianness:7. Exclusive transfer AHB协议学习 1. AHB简介 AH…

AHB总线介绍【1】

1.简介 AHB总线规范是amba总线的一部分,全称是Advanced high performance bus。AMBA总线常用的有AXI,AHB,APB。APB 的全称:Advanced Peripheral Bus 作为 AMBA 总线的一层,APB 总线是为了功耗最小化和减低接口复杂度而…

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;深度卷积神经网络在图像分类、物体检测、语义分割、目标跟踪等多个计算…