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

AMBA低功耗接口规范(Low Power Interface Spec)

1.简介

        AMBA提供的低功耗接口,用于实现power控制功能。目前AMBA里面包含2种低功耗接口:

        Q-Channel:实现简单的power控制,如上电,下电。

        P-Channel:实现复杂的power控制,如全上电,半上电,1/4上电等。

        ARM引入这2种低功耗接口是为了满足不同的应用场景下对power的控制。在一些场景下组件只有两种power状态,分别为power-up和power-down。因此,对这种组件的power控制只需要对其上电和断电,用Q-Channel即可实现。而在另外的场景下,组件拥有多种power状态,比如全上电,半上电,1/4上电等。因此,对这种组件的power控制就要复杂很多,不能简单的对其上电断电,还需要Q-Channel制。此时,用Q-Channel就不合适了,需要使用P-Channel。

2.Q-Channel

        Q-Channel是从AXI的低功耗接口中演变过来,但是可以向后兼容。

        Q-Channel通过独立于设备活动指示的握手机制来简化时钟域交叉。

        2.1.接口

                接口两侧分别为device端和power controller端(PMU)。device端是需要被电源控制的组件,比如core、外设等。PMU端,就是提供电源管理的组件。

                在Q-Channel中,将device的power状态,分成了2种:

                        operational状态: device处于工作状态或上电状态

                        quiescent   状态:device处于静默状态或断电状态

                接口信号说明如下:

信号说明补充
QACTIVE作为device向PMU的power请求的提示信号。
高为上电请求,低为提示信号但不一定接受断电
独立信号,与握手机制无关。
QREQnPMU向device发送power请求信号。
高为上电,低为断电。
请求状态有三种:
断电→上电
上电→保持
上电→断电
QACCEPTndevice对PMU的power请求的接受信号。
高为上电接受,低为断电接受。
高表示device已上电,低表示device可(已)断电。
QDENYdevice对PMU的power请求的拒绝信号。
高为断电拒绝,低为上电拒绝。
高表示device处于busy状态,低表示device处于idle状态。

        2.2.握手状态

                对于Q-Channel的接口,定义了以下集中握手状态:

握手信号握手状态
Interface State
描述
Description
QREQnQACCEPTnQDENY
000Q_STOPPEDdevice已进入quiescent状态。
在此唯一状态下,PMU不保证接口管理的任何时钟或电源的可用性。
100Q_EXITPMU保证已供电,device等待被上电的状态。
当device上电后,置位QACCEPTn高以进入Q_RUN态。
110Q_RUNdevice处于上电且正常运行状态。
010Q_REQUESTdevice处于上电且正常运行状态。
但当device空闲(idle)时被要求进入quiescent状态。
011Q_DENIEDdevice拒绝PMU断电请求且保持上电且正常运行状态。
PMU必须拉高QREQn。
111Q_CONTINUEPMU在Q_DENIED状态后,将QREQn拉高后的状态。device处于上电且正常运行状态。
x01Unused(illegal)不存在

                下图是各个握手状态的切换:

                握手信号规则如下:

                        •当QACCEPTn为高且QDENY为低时,QREQn只能从高转换为低。

                        •QREQn只能在以下任一情况下从低电平转换为高电平:

                                -QACCEPTn和QDENY均为低。

                                -QACCEPTn和QDENY均为高。

                        •当QREQn为低且QDENY为低时,QACCEPTn只能从高转换为低。

                        •当QREQn为高且QDENY为低时,QACCEPTn只能从低转换为高。

                        •当QREQn为高且QACCEPTn为高时,QDENY只能从高转换为低。

                        •当QREQn为低且QACCEPTn为高时,QDENY只能从低转换为高。

        2.3.握手协议

                2.3.1.device接受PMU的power请求

                        握手时序如下图:

                        在T1,QREQn和QACCEPTn为高,Q_Channel进入Q_RUN状态。

                        在T2,QREQn为低,PMU请求device进入断电状态,然后等待外设响应,此时Q_Channel进入Q_REQUEST状态。

                        在T3,QACCEPTn为低,表示device接收PMU的请求,将自己进入断电状态。此时Q_Channel进入Q_STOPPED状态。

                        在T4,QREQn为高,PMU请求device进入上电状态,然后等待外设响应。此时Q_Channel进入Q_EXIT状态。

                        在T5,QACCEPTn为高,表示device接收PMU的请求,将自己进入上电状态。此时Q_Channel进入Q_RUN状态。

                2.3.2.device拒绝PMU的power请求

                        当外部PMU给device发送power请求,device可以拒绝该power请求。PMU收到device的拒绝响应后,应取消该power请求。

                        在T1,QREQn和QACCEPTn为高,Q_Channel进入Q_RUN状态。

                        在T2,QREQn为低,PMU请求device进入断电状态,然后等待外设响应,此时Q_Channel进入Q_REQUEST状态。

                        在T3,QDENY为高,表示device拒绝PMU的请求,自己保持上电状态。此时Q_Channel进入Q_DENIED状态。

                        在T4,PMU接收到device的拒绝响应,将QREQn拉高,PMU请求device进入上电状态,然后等待外设响应。此时Q_Channel进入Q_CONTINUE状态。

                        在T5,QDENY为低,表示device接收PMU的上电请求,将自己保持上电状态。此时Q_Channel进入Q_RUN状态。

        2.4.复位操作

                复位时,device必须:

                        同时驱动QACCEPTn和QDENY为LOW。

                        QACTIVE可重置LOW(低)或HIGH(高)。如果设备必须在退出复位时执行启动操作,则可以重置QACTIVE HIGH,否则建议将QACTIVE重置为LOW。

                PMU可以通过以下任一方式解除设备复位:

                        QREQn LOW,接口处于Q_STOPPED状态。

                        QREQn HIGH,接口处于Q_EXIT状态,前提是满足时钟或电源保证。

                当接口处于Q_STOPPED状态或控制器和设备同时复位时,控制器只能断言设备复位。这与在功率边界隔离所有信号LOW的建议一致。

        2.5.QACTIVE

                QACTIVE是提供给device向PMU发送power请求的信号,可以由多个来源的组合。如果为高,那么PMU要给自己上电,并且之后不能给自己断电。

                QACTIVE和握手信号(QREQn,QACCEPTn,QDENY)是独立开的。

                2.5.1.请求上电和请求断电

                        时序图如下: 

                        T1时刻,device将QACTIVE拉高,向PMU发起退出断电请求。T2时刻,PMU将QREQn拉高,Q_Channel进入Q_EXIT状态。T3时刻,device拉高QACCEPTn,进入Q_RUN状态。

                        T4时刻,device将QACTIVE拉低,device向PMU发起进入断电请求。T5时刻,PMU将QREQn拉低,Q_Channel进入Q_REQUEST状态,在T6时刻,进入Q_STOPPED状态。

                2.5.2.PMU不允许断电

                        T1时刻,device将QACTIVE拉高,向PMU发起上电请求。T2时刻,PMU将QREQn拉高,Q_Channel进入Q_EXIT状态,T3时刻,进入Q_RUN状态。之后,device处于上电状态。

                        T4时刻,PMU将QREQn拉低,PMU想让device进入断电状态,但是QACTIVE为高,表示device要一直处于上电状态。因此QACCEPTn持续保持高,Q_Channel一直维持在Q_REQUEST状态。device维持在上电状态。

                        T5时刻,因为之前QACTIVE拉低,device想进入断电状态,device将QACCEPTn拉低,响应PMU的断电请求,然后Q_Channel进入Q_STOPPED状态。device进入断点状态。

        2.6.接口的同步

                一般来说,device和PMU的时钟是异步时钟。因此需要一些同步化。下图是同步化的框图:

                Q-Channel实现指导:

                        被使用的所有信号,都需要进行同步;

                        只有当Q_Channel进入Q_STOPPED状态时,才可以将时钟和power给关掉;

                        为了保证握手信号的正确性,QREQn,QACCEPTn,QDENY需要使用寄存器直接输出;

                        QACTIVE使用寄存器直接输出,或者是相关寄存器输出的组合输出。ARM强烈建议组合输出,使用或门。

        2.7.与AXI低功耗接口的兼容

3.P-Channel(略)

相关文章:

AMBA低功耗接口规范(Low Power Interface Spec)

1.简介 AMBA提供的低功耗接口,用于实现power控制功能。目前AMBA里面包含2种低功耗接口: Q-Channel:实现简单的power控制,如上电,下电。 P-Channel:实现复杂的power控制,如全上电,半上…...

matlab-汽车四分之一半主动悬架模糊控制

1、内容简介汽车四分之一半主动悬架模糊控制651-可以交流、咨询、答疑2、内容说明半主动悬架汽车 1/4 动力学模型建立 本章主要对悬架类型进行简要介绍,并对其进行对比分析,提出半主动悬架的优越性,论述半主动悬架的工作原理,并对…...

【安全加密】通信加密算法介绍

加密常用于通信中,如战争中电台通讯有明码和密码,密码需要不断更换密码本;另外,商用软件也需要用到加密技术,如根据电脑的mac地址设置权限,防止软件被恶意传播。 文章目录一、介绍1. 单向散列/哈希算法2. 对…...

kubernetes教程 --组件详细介绍

组件详细介绍 NameSpace 在 Kubernetes 中,名字空间(Namespace) 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。 名字空间作用域仅针对带有名字…...

数字化系统使用率低的原因剖析

当“数字化变革”成为热门话题,当“数字化转型”作为主题频频出现在一个个大型会议中,我们知道数字化时代的确到来了。但是,根据Gartner的报告我们看到一个矛盾的现象——85%的企业数字化建设与应用并不理想、但对数字化系统的需求多年来持续…...

<<Java开发环境配置>>7-Apache Tomcat安装教程环境变量配置IDEA配置

一.Apache Tomcat简介: Apache是普通服务器,本身只支持html即普通网页。不仅可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomc…...

互联网大厂测开面试记,二面被按地上血虐,所幸Offer已到手

在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。 如何备战面试的? 第一步:准备简历…...

网络管理之设备上线技术的发展现状和趋势

网络和网络设备无处不在 随着社会的发展和技术的进步,人类文明开始向信息时代演进,网络逐渐变成现代社会不可或缺的一部分,极大程度影响了人类的认知形式、思维方式与生活模式。从家庭网,到企业网;从无线网&#xff0…...

SQL67 返回固定价格的产品

描述有表Productsprod_idprod_nameprod_pricea0018sockets9.49a0019iphone13600b0018gucci t-shirts1000【问题】从 Products 表中检索产品 ID(prod_id)和产品名称(prod_name),只返回价格为 9.49 美元的产品。【示例结…...

webpack 开发环境的基本配置(webpack打包样式资源、html、图片、devserver、开发环境配置、以及其他资源)

A.打包样式资源 1. 创建文件 2. 下载安装 loader 包 npm i css-loader style-loader less-loader less -D 3. 修改配置文件 /*webpack.config.js webpack的配置文件作用: 指示 webpack 干哪些活(当你运行 webpack 指令时,会加载里面的配置&#xff…...

刷题记录:牛客NC14402求最大值

传送门:牛客 题目描述: 给出一个序列&#xff0c;你的任务是求每次操作之后序列中 &#xff08;a[j]-a[i]&#xff09;/&#xff08;j-i&#xff09;【1<i<j<n】的最大值。 操作次数有Q次&#xff0c;每次操作需要将位子p处的数字变成y. 输入: 5 2 4 6 8 10 2 2 5 4…...

javaEE 初阶 — 传输层 TCP 协议 中的延迟应答与捎带应答

文章目录1. 延迟应答2. 捎带应答TCP 工作机制&#xff1a;确认应答机制 超时重传机制 连接管理机制 滑动窗口 流量控制与拥塞控制 1. 延迟应答 延时应答 也是提升效率的机制&#xff0c;也是在滑动窗口基础上搞点事情。 滑动窗口的关键是让窗口大小大一点&#xff0c;传输…...

STM32单片机初学8-SPI flash(W25Q128)数据读写

当使用单片机进行项目开发&#xff0c;涉及大量数据需要储存时&#xff08;例如使用了屏幕作为显示设备&#xff0c;常常需要存储图片、动画等数据&#xff09;&#xff0c;单靠单片机内部的Flash往往是不够用的。 如STM32F103系列&#xff0c;内部Flash最多只能达到512KByte&a…...

MS-SQL创建查询排序语句总结

重新捡起枪杆子&#xff0c;学习N年没用过的MS-SQL&#xff0c;整理一些学习笔记记录。 一、创建、修改和删除表 在SQL中&#xff0c;表有如下规则&#xff1a; 每张表都有一个名字&#xff0c;通常称为表名或关系名。表名必须以字母开头&#xff0c;最大长度为 30 个字符。一…...

subprocess—Python多进程模块

subprocess—Python多进程模块 1.概述 这篇文章介绍并行运算中的subprocess模块&#xff0c;subprocess 模块允许我们启动一个新进程&#xff0c;并连接到它们的输入/输出/错误管道&#xff0c;从而获取返回值。 subprocess 它可以用来调用第三方工具&#xff08;例如&#x…...

【APP渗透测试】 Android APP渗透测试技术实施以及工具使用(客户端服务端)

文章目录前言一、安全威胁分析二、主要风险项三、Android测试思维导图四、反编译工具五、Android客户端漏洞一、Jnaus漏洞漏洞二、数据备份配置风险漏洞漏洞三、Activity组件泄露漏洞漏洞四、BroadcastReceiver组件泄露漏洞漏洞五、允许模拟器Root环境登录漏洞漏洞六、未识别代…...

字符串匹配 - Overview

字符串匹配(String Matchiing)也称字符串搜索(String Searching)是字符串算法中重要的一种&#xff0c;是指从一个大字符串或文本中找到模式串出现的位置。字符串匹配概念字符串匹配问题的形式定义&#xff1a;文本&#xff08;Text&#xff09;是一个长度为 n 的数组 T[1..n]&…...

【IP课堂】Ip地址如何进行精准定位?

通过Ip地址定位&#xff0c;是目前网络上最常见的定位方式。当然&#xff0c;也是最简单的定位方式。其实方法大多都是雷同的&#xff0c;通过Ip定位&#xff0c;就目前网上公开的技术。如通过搜索关键词“定位&#xff0c;定位查询&#xff0c;Ip定位”等&#xff0c;只能查询…...

MySQL 临时表相关参数说明区别

MySQL 临时表参数innodb_temp_tablespaces_dir、innodb_temp_data_file_path、innodb_tmpdir、tmpdir 区分 解决方案 innodb_tmpdir&#xff1a; alter table生成中间表文件&#xff0c;innodb_tmpdir有指定效路径&#xff0c;优选选择innodb_tmpdir&#xff0c;没有则选择tm…...

第二章 变量和基本类型

1.string类型数据的另一种初始化方式 语法&#xff1a; string 变量名 (" 初始化内容 "); 2.C中的列表初始化 语法&#xff1a; 数据类型 变量名 { 变量初始化的值 } ; 数据类型 变量名 { 变量初始化的值 } ; 例&#xff1a; 3.引用常量 常量引…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...