AHB总线

article/2025/10/14 1:10:26

大部分的总结在csdn里面都有。这里只是总结自己理解的。

AHB基本特性有:

  1. Burst传输(一共有Hburst[2 : 0]的类型),single,incr,wrap4,incr4,wrap8,incr8,wrap16,incr16
  2. Hsize表示每一个数据的大小,假如hsize=3’b0,那么这一次传输的数据地址就为byte大小,数据大小十进制最大为2^8=256(十进制)。

2.  通过HRESP[1:0]反映传输的状态,传输响应HRESP[1:0],OKAY,ERROR,RETRY (传输未完成,请求主设备重新开始一个传输,arbiter会继续使用通常的优先级), SPLIT(传输未完成,请求主设备分离一次传输,arbiter会调整优先级方案以便其他请求总线的主设备可以访问总线),当SEQ或NONSEQ传输访问到一个不存在的地址,默认slave应该提供ERROR响应;当IDLE或BUSY传输访问到一个不存在的地址,默认slave会响应OKAY。

3.  任一时间周期只有一个master占用总线。

4.  上升沿操作

5.  无三态:(三态指总线输出有三种状态, 1和 0和高阻状态输出被关断)

为避免出现三态总线,AHB将读写总线分开,写数据总线用于从master到slave的数据传输,读数据总线用于从slave到master的数据传输。

6. 二级流水线操作

7. 可支持最多16个总线主设备

https://img-blog.csdnimg.cn/20200320140046616.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjAyMjQzNA==,size_16,color_FFFFFF,t_70

arbiter允许某一个master控制总线并发起一次读/写操作某一时刻只允许一个master使用总线。

docoder来选择使用哪一个slave响应一次读/写操作。

总线可以分为三组:写数据总线(HWDATA),读数据总线(HRDATA

        地址控制总线(HADDR

总线操作:

        master首先发出地址和控制信号(一个周期),提供地址信息、传输方向、带宽和burst类型,在发出数据信息(可以多个周期)。

没有等待状态的single transfer:

slave插入等待状态的single transfer:

多个single transfer的pipeline操作:

递增burst:

wrapping 4-beat burst

总结1:如果是wrap4, 4*4=16(十进制)=10(16进制),就会在10的倍数回还。如果是wrap8,8*4=32(十进制)=20(十六进制),就会在20的倍数回还。如果是wrap16,16*4=64=40(十六进制) ,就会40的倍数回还。

总结2:INCR4,INCR8和INCR16的区别在于增加的次数不一样,INCR4增加四次,INCR8 增加8次,INCR16增加16次。HSIZE决定每一次增加的数量,分为Byte(1byte)、HalfWord(2byte)、Word(4byte);(HSIZE=000,byte增加),每一次增加8bit,就是1byte,也就是从0x48增加到0x49;(HSIZE=001,halfword增加),每一次增加16bit,就是2byte,也就是从0x48增加到0x4A;依次乘以二。。。

Incr表示一直传输下去,即不限定次数的传输,每一增加长度由HSIZE决定;incr4表示4次传输,每一增加长度由HSIZE决定。

控制信号:

HTRANS[1:0]:这是master发给slave的,

burst不能超过1K地址边界,可以使用nonseq重启一个burst就行了。地址继续增加即可。

总结:字节(byte),比特(bit),1byte=8 bite;1k=1024byte(十进制)=2的十次方(这是十进制,2的十次方就等于1024)=10000000000(二进制)=400(十六进制)

1k边界问题:

因为在AHB划分系统时,最小的地址空间为1KB,即slave至少地址空间是1k,或者2K,或者1M等。这样,当AHB访问地址空间时,因为地址空间对其的原因,就不会恶意的访问到其他的地址空间。

地址译码:

地址译码器用于为总线上每个slave提供选择信号HSELx,只有当前的数据传输完成后(HREADY为高),slave才会采样地址和控制信号以及HSELx。在一定条件下可能会出现这样的情况:产生HSELx信号而HREADY为低,在当前传输后slave会改变。

仲裁:

仲裁机制保证了任意时刻只有一个master可以接入总线。arbiter决定哪个发出接入请求的master可以接入总线,这通过优先级算法实现。AHB规范并没有给出优先级算法,设计者需要根据具体的系统要求定义。一般情况下arbiter不会中断一个burst传输,将总线接入权让给其他master。当然未定义长度的burst传输是可以打断的,这要看优先级算法是如何规定的。如果一笔burst被打断,master再度获得接入权限时,会传递剩余的部分。如一笔长度为INCR8的传输在传递3 beat后被打断,master再次获得接入授权后,会继续传输剩余的5 beat,剩余部分可以由一个SINGLE和一个INCR4组成。

        HBUSREQx:master向arbiter发出接入请求的信号。

        HLOCKx:指示是否要进行不可中断的传输,这一信号与HBUSREQx同时由master向arbiter发出。

        HGRANTx:arbiter产生指示master获得授权,当HGRANTx信号为高同时HREADY为高时,master可以向总线传输地址信号。

        HMASTER[3:0]:arbiter产生指示哪个master获得授权,这一信号用于地址控制多路来选择哪个master接入总线。

        HMASTERLOCK:arbiter产生指示当前传输是否为锁定序列传输。

        HSPLIT:供支持SPLIT传输使用。


http://chatgpt.dhexx.cn/article/0EoAx3wr.shtml

相关文章

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

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;很蓝…