AMBA总线协议(2)——AMBA信号

news2024/11/19 1:32:18

一、前言

        在之前的文章中我们已经对AMBA总线协议进行了一个简单的介绍,这篇文章我们来详细介绍AHB,APB,AXI协议的信号。对于AMBA总线协议有一个初步直观的认识。

二、AMBA信号

         所有 AMBA 信号的命名都用名称的第一个字母来指示信号和哪个总线相关联。信号名称中用一个小写的 n 表示该信号低电平有效,否则信号的名称总是用大写字母来表示。 

三、AHB信号

AHB的信号前缀都是H

AHB 信号
名称来源描述

HCLK

总线时钟

时钟源
时钟为所有总线传输提供时基。所有信号时序都和
HCLK 的 上升沿相关。
HRESETn
复位信号
复位控制器
总线复位信号低有效并用来复位系统和总线。这是唯
一的低有效的信号。
 HADDR[31:0]
地址总线 
 主机  32 位系统地址总线。 
  HTRANS[1:0]
传输类型  
  主机  
  表示当前传输的类型,可以是不连续、连续、空闲和忙。  
HWRITE
传输方向  
  主机   读写操作,1-写;0-读  
HSIZE[2:0]
传输大小  
  主机    表示传输的大小,典型情况是字节(8 位)、半字(16位)或者是字(32 位)。协议允许最大的传输大小可以达到 1024 位。  
  HBURST[2:0]
突发类型  
  主机    表示传输是否组成了突发的一部分。支持四个、八个或者 16 个节拍的突发传输并且突发传输可以是增量或者是回环。  
HPROT[3:0]
保护控制  
  主机    提供总线访问的附加信息并且主要是打算给那些希望执行某种保护级别的模块使用的。这个信号指示当前传输是否为预取指或者数据传输,同时也表示传输是保护模式访问还是用户模式访问。对带存储器管理单元的总线主机而言这些信号也用来指示当前传输是高速缓存的(cache)还是缓冲的(buffer)。  
  HWDATA[31:0]
写数据总线  
  主机    写数据总线用来在写操作期间从主机到总线从机传输数据。建议最小的数据总线宽度为 32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。  
HSELx
从机选择  
  译码器    
S 选择信号:表示当前哪个 S 被选择在传送 . 地址选择就是地址译码出来的 S 选择信号HSELx
  HRDATA[31:0]
读数据总线  
  从机    读数据总线用来在读操作期间从总线从机向总线主机传输数据。建议最小的数据总线宽度为 32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。  
HREADY
传输完成  
  从机  
  当 HREADY 为高时表示总线上的传输已经完成。在扩展传输时该信号可能会被拉低。
注意:总线上的从机要求 HREADY 作为输入输出信号。  
  HRESP[1:0]
传输响应  
  从机    传输响应给传输状态提供了附加信息。提供四种不同的响应:OKEY、ERROR、RETRY 和 SPLIT。  
        AMBA AHB也有许多信号请求支持多主机操作。许多这些仲裁信号用于点对点连接,表 2.2中后缀 x用来表示信号来自模块 x。例如,一个系统中会有许多的信号 HBUSREQx,例如 HBUSREQarmHBUSREQdmaHBUSREQtic。这里不做展开。

四、APB信号

         所有的 AMBA APB 信号使用单个字母 P 作为前缀。有些 APB 信号,例如时钟,可能 直接连接到系统总线上的对应信号。
名称来源描述

PCLK

总线时钟

时钟源PCLK 的上升沿用作所有 APB 传输的时基。
PRESETn
APB 复位
复位控制器APB 总线复位信号为低有效并且通常将该信号直接连接到系统总线复位信号。
  PADDR[31:0]
APB 地址总线 
 主机  这是 APB 地址总线,可高达 32 位宽度并由外设总线桥接单元驱动。 
 PSELx
APB 选择 
 译码器 
 来自二级译码器的信号,从外设总线桥接单元内到每个外设总线从机 x。
该信号表示从机设备被选中并且要求一次数据传输。每个总线从机都有
一个 PSELx 信号。 
 PENABLE
APB 选通 
 主机 
 这个选通信号用来给外设总线上的所有访问提供时间。使能信号用来表
示一次 APB 传输的第二个周期。 PENABLE 的上升沿出现在 APB 传输
的中间。 
 PWRITE
APB 传输方向 
 主机 读写操作,1-写;0-读 
 PRDATA
APB 读数据总线 
 从机 
 读数据总线由被选中的从机在读周期(PWRITE 为低)期间驱动。读数
据总线可达到 32 位宽度。 
 PWDATA
APB 写数据总线 
 主机 
 写数据总线由外设总线桥接单元在写周期(PWRITE 为高)期间驱动。
写数据总线可达到 32 位宽度。 

五、AXI信号

1、全局信号

信号

描述

ACLK

Clock source

全局时钟信号

ARESETn

Reset source

全局复位信号,低电平有效

2、写地址通道信号

    信号

描述

AWID[3:0]

主机

写地址ID,这个信号是写地址信号组的ID tag。

AWADDR[31:0]

主机

写地址。

AWLEN[3:0]

主机

突发式写的长度。此长度决定突发式写所传输的数据的个数。

AWSIZE[2:0]

主机

突发式写的大小。

AWBURST[1:0]

主机

突发式写的类型。

AWLOCK[1:0]

主机

锁类型。

AWCACHE[3:0]

主机

Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。

AWPROT[2:0]

主机

保护类型。

AWVALID

主机

写地址有效。

1 = 地址和控制信息有效

0 = 地址和控制信息无效

这个信号会一直保持,直到AWREADY变为高。

AWREADY

设备

写地址准备好。这个信号用来指明设备已经准备好接受地址和控制信息了。

1 = 设备准备好

0 =  设备没准备好

3、写数据通道信号 

信号

描述

WID[3:0]

主机

写ID tag,WID的值必须与AWID的值匹配

WDATA[31:0]

主机

写的数据。

WSTRB[3:0]

主机

写阀门。WSTRB[n]标示的区间为WDATA[(8*n)+7:(8*n)]

WLAST

主机

写的最后一个数据。

WVALID

主机

写有效

1 = 写数据和阀门有效

0 =  写数据和阀门无效

WREADY

设备

写就绪。指明设备已经准备好接受数据了

1 = 设备就绪

0 = 设备未就绪

4、写响应通道信号

信号

描述

BID[3:0]

设备

响应ID , 这个数值必须与AWID的数值匹配。

BRESP[1:0]

设备

写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。

BVALID

设备

写响应有效。

1 = 写响应有效

0 = 写响应无效

BREADY

主机

接受响应就绪。该信号表示主机已经能够接受响应信息。

1 = 主机就绪

0 = 主机未就绪

5、读地址通道信号

信号

描述

ARID[3:0]

主机

读地址ID。

ARADDR[31:0]

主机

读地址。

ARLEN[3:0]

主机

突发式读长度。

ARSIZE[2:0]

主机

突发式读大小。

ARBURST[1:0]

主机

突发式读类型。

ARLOCK[1:0]

主机

锁类型。

ARCACHE[3:0]

主机

Cache类型。

ARPROT[2:0]

主机

保护类型。

ARVALID

主机

读地址有效。信号一直保持,直到ARREADY为高。

1 = 地址和控制信息有效

0 = 地址和控制信息无效

ARREADY

设备

读地址就绪。指明设备已经准备好接受数据了。

1 = 设备就绪

0 = 设备未就绪

6、读数据通道信号

信号

描述

RID[3:0]

设备

读ID tag。RID的数值必须与ARID的数值匹配。

RDATA[31:0]

设备

读数据。

RRESP[1:0]

设备

读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。

RLAST

设备

读事务传送的最后一个数据。

RVALID

设备

读数据有效。

1 = 读数据有效。

0 = 读数据无效。

RREADY

主机

读数据就绪。

1 = 主机就绪

0 = 主机未就绪

7、低功耗接口信号

信号

描述

CSYSREQ

CLOCK controller

系统低功耗请求。此信号来自系统时钟控制器,使外围设备进入低功耗状态。

CSYSACK

外围设备

低功耗请求应答。

CACTIVE

外围设备

Clock active

1 = 外围设备时钟请求

0 = 外围设备时钟无请求

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习设计模式之装饰器模式,但是宝可梦

装饰模式 为了不改变组件的结构,动态地扩展其功能。 通常,扩展功能通过子类进行,但是继承的方式具有静态特征,耦合度高。 意图:动态地给对象添加额外的功能 主要解决:继承方式是静态特征,扩…

[国产MCU]-W801开发实例-GPIO输入与中断

GPIO输入与中断 文章目录 GPIO输入与中断1、硬件准备2、软件准备3、驱动实现4、驱动测试W801的GPIO支持软件配置中断,中断触发方式包含:上升沿触发、下降沿触发、高电平触发、低电平触发。本文在前面[ 国产MCU]-W801开发实例-按键与GPIO输入的基础上实现GPIO中断配置。 1、硬…

字节跳动推出免费域名DNS和公共DNS服务

近日,字节跳动旗下云计算服务火山引擎推出了 TrafficRoute DNS 套件,套件提供了从公网到私网、从递归到权威的全链路 DNS 服务以及基于 DNS 的流量调度服务,包含了云解析(DNS)、云调度(GTM)、私…

Linux:安全技术与防火墙

目录 一、安全技术 1.安全技术 2.防火墙的分类 3.防水墙 4.netfilter/iptables关系 二、防火墙 1、iptables四表五链 2、黑白名单 3.iptables命令 3.1查看filter表所有链 iptables -L ​编辑3.2用数字形式(fliter)表所有链 查看输出结果 iptables -nL 3.3 清空所有链…

宇宙原理:黑洞基础。

宇宙原理:黑洞基础TOC 黑洞的数理基础:一个由满数组成的数盘,经过自然演进,将会逐步稀疏化、最终会向纯数方案发展;纯数方案虽然只有{2}、无数(虚拟)、{0,1,2,3}(虚拟)、…

wustoj2007标准体重和身高的对应关系

#include <stdio.h> int main() {int n;double f;scanf("%d",&n);f(n-100)*0.9*2;printf("%.1lf",f);return 0;}

读发布!设计与部署稳定的分布式系统(第2版)笔记34_读后总结与感想兼导读

1. 基本信息 发布&#xff01;设计与部署稳定的分布式系统 第2版 Release It! Design and Deploy Production - Ready Software,Second Edition [美]迈克尔尼加德(MichaelT.Nygard) 人民邮电出版社,2020年1月出版 1.1. 读薄率 2版书籍总字数426千字&#xff0c;笔记总字数…

wustojc2011计算终止时间

#include <stdio.h> int main() {int n,m,a,b,c,d;scanf("%d%d",&n,&m);an%100;c0;bam;while(b>60&&b>0){bb-60;c;}while(b<0){bb60;c--;}dn/100c;if(d>24)dd-24;printf("%d%02d",d,b);return 0; }

【硬件设计】INA282电流采集电路

文章目录 1. 电流采集电路介绍1.1 电流采集电路是什么1.2 电流采集电路的作用和特点1.3 电流采集电路的应用场景 2. 电流采集芯片INA282AQDRQ12.1 INA282AQDRQ1特性和基本参数2.2 INA282AQDRQ1原理2.3 INA282AQDRQ1的注意事项 3. INA282单向电流采集电路4. INA282双向电流采集电…

计算机技术与软件专业技术资格(水平)考试----系统架构设计师

【原文链接】计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试----系统架构设计师 考试简介 计算机软件资格考试是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试。计算机软件资格考试既是职业资格考试&#xff0c;又是职称资格考试。考试合格…

vue3、react组件数据传值对比分析——父组件传递子组件,子组件传递父组件

文章目录 ⭐前言⭐react 组件传值实例&#x1f496;父组件传值给子组件&#xff08;props&#xff09;&#x1f496;子组件传递事件给父组件props绑定事件&#x1f496;父组件触发子组件的事件Ref ⭐vue3 组件传值实例&#x1f496; 父组件传递数据给子组件props&#x1f496; …

Transformer---ViT:vision transformer

记录一下对transformer方法在计算机视觉任务中的应用方法的理解 参考博客:https://blog.csdn.net/weixin_42392454/article/details/122667271 参考代码:https://gitcode.net/mirrors/Runist/torch_vision_transformer?utm_sourcecsdn_github_accelerator 模型训练流程: imp…

【数据结构与算法】克鲁斯卡尔算法

克鲁斯卡尔算法 介绍 克鲁斯卡尔&#xff08;Kruskal&#xff09;算法是用来求加权连通图的最小生成树的算法。基本思想&#xff1a;按照权值从小到大的顺序选择 n - 1 条边&#xff0c;并保证这 n - 1 条边不构成回路。具体做法&#xff1a;首先构造一个只含 n 个顶点的森林…

文本三剑客sed grep awk

目录 1、sed 1.1、基本用法 1.2、sed脚本格式 1.3、搜索与替换 1.4、变量 2、awk 2.1、基础用法 2.2、常见的内置变量 2.3、模式 2.4、判断 2.5、for计算 2.6、数组 3、grep 1、sed sed 即 Stream EDitor&#xff0c;和 vi 不同&#xff0c;sed是行编辑器 Sed是从…

leetcode刷题之283:移动零

问题 实现思路 首先, 将dest指向-1 位置, cur指向下标为0 的位置, 在cur遍历的过程中: 1) 遇到非零元素则与下标dest1 位置的元素交换, 2) 若遇到零元素则只继续cur遍历. 下标为1 的位置上是 非零元素 执行1) 交换得到右图结果 随后cur 得到下图结果 下标为2 的位置上是零…

day-27 代码随想录算法训练营(19)part03

78.子集 画图分析&#xff1a; 思路&#xff1a;横向遍历&#xff0c;每次遍历的时候都进行一次添加&#xff0c;然后进行纵向递归&#xff0c;递归完之后进行回溯。 注意&#xff1a;空集也是子集。 90.子集|| 分析&#xff1a;和上题一样&#xff0c;区别在于有重复数字 …

LeetCode283.移动零

这道题还是很简单的&#xff0c;我用的是双指针&#xff0c;左指针i从头开始遍历数组&#xff0c;右指针j是从i后面第一个数开始遍历&#xff0c;当左指针i等于0的时候&#xff0c;右指针j去寻找i右边第一个为0的数和i交换位置&#xff0c;交换完了就break内层循环&#xff0c;…

STM8遇坑[EEPROM读取debug不正常release正常][ STVP下载成功单运行不成功][定时器消抖莫名其妙的跑不通流程]

EEPROM读取debug不正常release正常 这个超级无语,研究和半天,突然发现调到release就正常了,表现为写入看起来正常读取不正常,这个无语了,不想研究了 STVP下载不能够成功运行 本文摘录于&#xff1a;https://blog.csdn.net/qlexcel/article/details/71270780只是做学习备份之…

每周AI大事件 百度文心一言上线搜索、文生视频、图表制作等5大插件

每周AI大事件 | 百度文心一言上线搜索、文生视频、图表制作等5大插件 文章目录 一、百度文心一言简介二、百度文心一言五大插件功能详解三、 开启文心一言 体验览卷文档E言易图 &#xff08;貌似不太理想&#xff0c;可能指令姿势不对&#xff09;说图解画&#xff08;貌似不太…

「第2讲」正版PyCharm但是免费,安装教程来了,还有中文插件哦~

大家好&#xff0c;这里是程序员晚枫。 免费的【50讲Python自动化办公】持续更新中&#xff0c;关注我学习吧&#x1f447;想了解更多精彩内容&#xff0c;快来关注程序员晚枫 上一讲&#xff1a;「第1讲」Python的下载、安装和卸载&#xff0c;有手就能学 装完了Python&#…