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请求的提示信号。
高为上电请求,低为提示信号但不一定接受断电
独立信号,与握手机制无关。
QREQn PMU向device发送power请求信号。
高为上电,低为断电。
请求状态有三种:
断电→上电
上电→保持
上电→断电
QACCEPTn device对PMU的power请求的接受信号。
高为上电接受,低为断电接受。
高表示device已上电,低表示device可(已)断电。
QDENY device对PMU的power请求的拒绝信号。
高为断电拒绝,低为上电拒绝。
高表示device处于busy状态,低表示device处于idle状态。

2.2.握手状态

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

握手信号 握手状态
Interface State
描述
Description
QREQn QACCEPTn QDENY
0 0 0 Q_STOPPED device已进入quiescent状态。
在此唯一状态下,PMU不保证接口管理的任何时钟或电源的可用性。
1 0 0 Q_EXIT PMU保证已供电,device等待被上电的状态。
当device上电后,置位QACCEPTn高以进入Q_RUN态。
1 1 0 Q_RUN device处于上电且正常运行状态。
0 1 0 Q_REQUEST device处于上电且正常运行状态。
但当device空闲(idle)时被要求进入quiescent状态。
0 1 1 Q_DENIED device拒绝PMU断电请求且保持上电且正常运行状态。
PMU必须拉高QREQn。
1 1 1 Q_CONTINUE PMU在Q_DENIED状态后,将QREQn拉高后的状态。device处于上电且正常运行状态。
x 0 1 Unused(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请求的信号,可以由多个来源的组合。

QACTIVE和握手信号(QREQn,QACCEPTn,QDENY)是独立开的,即无论QACTIVE上的任何活动,控制器都可以做出关于QREQn信号的任何策略决策。然而,本节描述了提供有用解决方案的Q-Channel策略。

置位QACTIVE HIGH可用作控制器退出Q_STOPPED状态的激励,控制器通过驱动QREQn HIGH退出静态状态来响应。

处于Q_RUN状态的控制器可以使用检测QACTIVE LOW作为启动静止请求的标准。然而,当处于Q_RUN状态时,控制器可以随时将QREQn的状态从高变为低。一旦QREQn被驱动为低,控制器就不必考虑QACTIVE的状态,因为在设备用接受或拒绝响应完成握手之前,QREQn不能被驱动为高。

时序图如下:

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.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. linux 低功耗运行,关于Linux的快速启动(fastboot)和低功耗(low power)的学习记录...

    我今天想查一下Intel工程师放在CSDN的一个视频,名字倒是查出来叫:Moblin系统的快速启动核心技术剖析,但是怎么找也找不找了.这是一个 好的技术介绍.难道给删除了.不知道CSDN是否上次查图片 ...

  2. Low Power Design in SoC Using Arm IP

    Low Power Design in SoC Using Arm IP Documentation – Arm Developer Documentation – Arm Developer By ...

  3. redhawk:Low Power Analysis

    低功耗分析包括上电,掉电的电流.电压的分析,以及noise的分析. 1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power g ...

  4. 数字IC验证:ARM协议之AMBA低功耗接口Q-channel

    写在前面: 最近实习项目里用到Q-channel,因此简单整理一下,内容大多来自ARM官方文档与网络上的,我主要做一个整合,加上自己的理解补充,内容来源都会分别标出.如有侵权请指出,立刻删帖. 官方文 ...

  5. signature=0e42fe6b348b65f88748ba8ecefece12,Low power BIST

    摘要: In the last years designers have mainly concentrated on low power consumption in mobile computin ...

  6. Low Power概念介绍<Level Shifter>

    今天我们要介绍的Low Power概念是Level Shifter(电平转换单元).该单元主要用于多电源多电压(MSMV)技术中,它通常不具备逻辑功能,只是用于不同电压值的Voltage Area之间 ...

  7. DSP芯片倍频太大导致low power mode,无法连接JTAG

    在调试DSP28377s芯片时,倍频太大超过400MHz,导致low power mode,无法连接JTAG,重启板子也没用. 解决办法:给板子上电,用短线将X1引脚与板子的地相连,即可解除low p ...

  8. FS61C低电压检测IC芯片 series Low Power Voltage Detector

    FS61C低电压检测IC芯片常规CMOS输出检测电压有1V 1.2V 1.5V 1.8V 2V 2.1V 2.2V 2.4V 2.5V 2.7V 2.8V 3V 3.3V 3.5V 3.6V 4V 5 ...

  9. 【我所认知的BIOS】—Advanced Configuration and Power Interface原理(硬件部分)

    [我所认知的BIOS]->Advanced Configuration and Power Interface原理(硬件部分) LightSeed 2/24/2014 ACPI是一个内容很丰富的 ...

最新文章

  1. 2019攻防世界web新手区
  2. 支付宝PC即时到账和手机网站支付同步
  3. VTK:InfoVis之WordCloudDemo
  4. Pearls POJ - 1260(区间记忆化搜索)
  5. [笔记]Go语言写文件几种方式性能对比
  6. 数字孪生+交通,到底有啥用?
  7. 大哥你需求里说只要工作流引擎组件,怎么真正需要的东西这么.悲剧了,客户需求无止境...
  8. 【实习之T100开发】T100 Q查询开发流程
  9. 走进我的交易室01_引子
  10. 12306 被质疑过度获取用户隐私,不授权还买不了票
  11. Error: Cannot find module ‘webpack-cli/bin/config-yargs‘ 解决办法
  12. Sublime Text3 插件:convertToUTF8
  13. 短信营销 (php示例)
  14. 解决QQ或TIM下载群文件网路失败或者网速贼慢的办法
  15. PS驴头案例,熟悉形状工具
  16. 偶的流氓老公zt (超搞笑-转)
  17. MOOS通信框架初探(一)
  18. Linux系统配置文件 /etc/sysconfig详解
  19. 北京证监局责令贾跃亭月底前回国;中移动完成公司制改制;全国首张微信身份证签发丨价值早报
  20. 易经八卦解释鸿蒙,易经入门:如何记住八卦的8个符号,理解意思之后,就会很简单...

热门文章

  1. 树莓派sd卡格式化_树莓派安装免费IP电话系统3CX
  2. 庖丁解牛,经典运放电路分析
  3. 微型计算机华硕,【MC年度评选】华硕/ROG DIY精品斩获多个大奖​
  4. Java代码实现上传视频获取视频某一帧作为截图封面(二)
  5. 游戏开发(十) 之 lua 150行代码 实现A*寻路
  6. 华为三层交换机 配置VLAN 基于中继开启DHCP
  7. 双端 Diff 算法原理解析及 snabbdom 简单实现
  8. 福建农信 计算机 考试试题,2020福建农信社招聘考试模拟试题——计算机知识(13)...
  9. 日语中 に、で 用法总结
  10. NRC Lexicon获取8种情绪