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

news2024/10/2 18:20:14

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(略)

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

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

相关文章

今天面了个腾讯拿28K出来的,让我见识到了测试基础的天花板...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。 一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-20k,面试的人很多,但平均水平很让人失望。 看简历很多都是3年工作经验,但…

每天10个前端小知识 【Day 17】

前端面试基础知识题 1.使用原生js实现以下效果:点击容器内的图标,图标边框变成border:1px solid red,点击空白处重置 const box document.getElementById(box); function isIcon(target) { return target.className.includes(icon); } b…

【Unity VR开发】结合VRTK4.0:设置抓取时可交互对象的方向

语录: 取酒酿晚风,赠我一场空。 前言: 获取可交互对象的默认方法是将可交互对象的原点与交互器的原点对齐。此机制适用于基本抓取,但有时当您想要抓取某个对象时,您可能希望将可交互对象定向到特定位置并旋转到交互器…

【免费教程】SWAT模型及在面源污染中的应用与案例分析

SWATSWAT(Soil and Water Assessment Tool)是由美国农业部(USDA)的农业研究中心Jeff Arnold博士1994年开发的。模型开发的最初目的是为了预测在大流域复杂多变的土壤类型、土地利用方式和管理措施条件下,土地管理对水分…

mysql 按时间倒排序深翻页思考

背景深翻页,可以用id做为偏移量,但如果是uuid时,或需求是要按时间排序时,深翻页就是一个问题了。如果要按最后修改时间倒排序,把时间做索引是可以,但有可能时间是有重的,这样结果就可能不准确这…

【Deformable Convolution】可变形卷积记录

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 可变形卷积记录 1. 正文 预印版: Deformable Convolutional Networks v1 Deformable ConvNets v2: More Deformable, Better Results 发表版…

【郭东白架构课 模块一:生存法则】05|法则二:研发人员的人性需求是如何影响架构活动成败的?

你好,我是郭东白。上节课我们学习了马斯洛关于人性的理论,那么这节课我们就利用这个理论来看看我们在架构活动中应该注意些什么。 架构设计必须符合人性,而在架构活动中,与“人”相关的主要就是研发人员和目标用户。那么今天这节…

大数据全方位学习路线

大数据全方位学习路线 一、大数据处理流程 上图是一个简化的大数据处理流程图,大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。下面我们逐一对各个环节所需要的技术栈进行讲解: 1.1 数据收集 大数据处理的第一步是数据的收…

23- 条件随机场CRF (NLP算法) (算法)

CRF模型构建 : crf sklearn_crfsuite.CRF(c1 0.1,c2 0.1,max_iterations100,all_possible_transitionsTrue) crf.fit(X_train,y_train) 1、条件随机场CRF概述 将之前所有的观测作为未来预测的依据是不现实的,因为其复杂度会随着观测数量的增加而无限制地增长。因…

【C++提高编程】C++全栈体系(二十)

C提高编程 第三章 STL - 常用容器 二、vector容器 1. vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展&#xff1a…

小菜版考试系统——“C”

各位CSDN的uu们你们好呀,今天,小雅兰的内容是小菜版考试系统,最近一直在忙C语言课程设计的事,那么,就请uu们看看我的学习成果吧。 课程设计任务 摘要 题目分析 流程图 关键程序代码 程序运行结果 结论与心得 参…

JVM08 StringTable

StringTable String的基本特性 String:字符串,使用一对 ”” 引起来表示 String s1 “mogublog” ; // 字面量的定义方式String s2 new String(“moxi”); string声明为final的,不可被继承String实现了Serializable接口:表示字…

python 调用 dll 出现精度问题

问题:python 在调用dll 的时候出现了精度问题 总结:使用decimal库进行转换就可以正常传递。 ‘ 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 心急的朋友可以略过下文了。 ’ 遇到的问题具体情况 dll 生成函数…

手机棋牌游戏开发的流程是怎样的?

最近几年,随着网络游戏的兴起,棋牌手游开发也越来越受欢迎,在国内,几乎随处可见从事手游和手游的公司。不过,虽然公司和产品很多,但效果也不一样,区别就在于,他们能不能掌握好这款游…

实现一个更快的终端彩色文本格式化工具库

终端中打印的五颜六色的彩色文本,你知道是怎么实现的吗,你都知道或用过哪些相关的工具库呢?来一起了解一下吧! 在前端项目开发中,说到控制台终端彩色文本格式化,你可能会想到 chalk、picocolors、ansi-colo…

ElasticSearch入门安装与SpringBoot集成实战

介绍 Elasticsearch 是一个实时分布式搜索和分析引擎,一般用于全文搜索、结构化搜索,分析或者三者混用。 它的底层是基于Apache Lucene(TM)的开源搜索引擎,但是lucene只是一个库,需要java开发然后集成到应…

LeetCode刷题复盘笔记—一文搞懂贪心算法之452. 用最少数量的箭引爆气球(贪心算法系列第十一篇)

今日主要总结一下可以使用贪心算法解决的一道题目,452. 用最少数量的箭引爆气球 题目:452. 用最少数量的箭引爆气球 Leetcode题目地址 题目描述: 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#…

备战蓝桥杯【二维前缀和】

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

【自学MYSQL】MySQL Windows安装

MySQL Windows安装 MySQL Windows下载 首先,我们打开 MySQL 的官网,网址如下: https://dev.mysql.com/downloads/mysql/在官网的主页,我们首先根据我们的操作系统,选择对应的系统,这里我们选择 Windows&…

神奇的nextTick一定能获取到最新的dom么?

前言 众所周知,vue的dom更新操作时异步的,为了获取更新后的dom官方提供了相应的apinextTick,文档中对该api的描述为:将回调延迟到下次 DOM 更新循环之后执行 , 所谓的下一次,到底是哪一次呢?dom更新是异步任务&#xf…