当前位置: 首页 > 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(略)

http://www.lryc.cn/news/10727.html

相关文章:

  • matlab-汽车四分之一半主动悬架模糊控制
  • 【安全加密】通信加密算法介绍
  • kubernetes教程 --组件详细介绍
  • 数字化系统使用率低的原因剖析
  • <<Java开发环境配置>>7-Apache Tomcat安装教程环境变量配置IDEA配置
  • 互联网大厂测开面试记,二面被按地上血虐,所幸Offer已到手
  • 网络管理之设备上线技术的发展现状和趋势
  • SQL67 返回固定价格的产品
  • webpack 开发环境的基本配置(webpack打包样式资源、html、图片、devserver、开发环境配置、以及其他资源)
  • 刷题记录:牛客NC14402求最大值
  • javaEE 初阶 — 传输层 TCP 协议 中的延迟应答与捎带应答
  • STM32单片机初学8-SPI flash(W25Q128)数据读写
  • MS-SQL创建查询排序语句总结
  • subprocess—Python多进程模块
  • 【APP渗透测试】 Android APP渗透测试技术实施以及工具使用(客户端服务端)
  • 字符串匹配 - Overview
  • 【IP课堂】Ip地址如何进行精准定位?
  • MySQL 临时表相关参数说明区别
  • 第二章 变量和基本类型
  • 【Python】循环语句(while,for)、运算符、字符串格式化
  • 利用设计模式、反射写代码
  • Spring Cloud Alibaba--seata微服务详解之分布式事务(三)
  • [USACO2023-JAN-Bronze] T3 Moo Operations 题解
  • OKCC呼叫中心支持哪些接入方式?
  • 如何让手机共享电脑代理网络的WIFI热点
  • 渲染有问题?怎么办?6种方法让你渲染无忧
  • 中国人寿业务稳定性保障:“1+1+N” 落地生产全链路压测
  • 2/17考试总结
  • 零信任-360连接云介绍(9)
  • 使用dlib进行人脸检测和对齐