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请求的提示信号。 高为上电请求,低为提示信号但不一定接受断电。 |
独立信号,与握手机制无关。 |
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)相关推荐
- linux 低功耗运行,关于Linux的快速启动(fastboot)和低功耗(low power)的学习记录...
我今天想查一下Intel工程师放在CSDN的一个视频,名字倒是查出来叫:Moblin系统的快速启动核心技术剖析,但是怎么找也找不找了.这是一个 好的技术介绍.难道给删除了.不知道CSDN是否上次查图片 ...
- Low Power Design in SoC Using Arm IP
Low Power Design in SoC Using Arm IP Documentation – Arm Developer Documentation – Arm Developer By ...
- redhawk:Low Power Analysis
低功耗分析包括上电,掉电的电流.电压的分析,以及noise的分析. 1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power g ...
- 数字IC验证:ARM协议之AMBA低功耗接口Q-channel
写在前面: 最近实习项目里用到Q-channel,因此简单整理一下,内容大多来自ARM官方文档与网络上的,我主要做一个整合,加上自己的理解补充,内容来源都会分别标出.如有侵权请指出,立刻删帖. 官方文 ...
- signature=0e42fe6b348b65f88748ba8ecefece12,Low power BIST
摘要: In the last years designers have mainly concentrated on low power consumption in mobile computin ...
- Low Power概念介绍<Level Shifter>
今天我们要介绍的Low Power概念是Level Shifter(电平转换单元).该单元主要用于多电源多电压(MSMV)技术中,它通常不具备逻辑功能,只是用于不同电压值的Voltage Area之间 ...
- DSP芯片倍频太大导致low power mode,无法连接JTAG
在调试DSP28377s芯片时,倍频太大超过400MHz,导致low power mode,无法连接JTAG,重启板子也没用. 解决办法:给板子上电,用短线将X1引脚与板子的地相连,即可解除low p ...
- 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 ...
- 【我所认知的BIOS】—Advanced Configuration and Power Interface原理(硬件部分)
[我所认知的BIOS]->Advanced Configuration and Power Interface原理(硬件部分) LightSeed 2/24/2014 ACPI是一个内容很丰富的 ...
最新文章
- 2019攻防世界web新手区
- 支付宝PC即时到账和手机网站支付同步
- VTK:InfoVis之WordCloudDemo
- Pearls POJ - 1260(区间记忆化搜索)
- [笔记]Go语言写文件几种方式性能对比
- 数字孪生+交通,到底有啥用?
- 大哥你需求里说只要工作流引擎组件,怎么真正需要的东西这么.悲剧了,客户需求无止境...
- 【实习之T100开发】T100 Q查询开发流程
- 走进我的交易室01_引子
- 12306 被质疑过度获取用户隐私,不授权还买不了票
- Error: Cannot find module ‘webpack-cli/bin/config-yargs‘ 解决办法
- Sublime Text3 插件:convertToUTF8
- 短信营销 (php示例)
- 解决QQ或TIM下载群文件网路失败或者网速贼慢的办法
- PS驴头案例,熟悉形状工具
- 偶的流氓老公zt (超搞笑-转)
- MOOS通信框架初探(一)
- Linux系统配置文件 /etc/sysconfig详解
- 北京证监局责令贾跃亭月底前回国;中移动完成公司制改制;全国首张微信身份证签发丨价值早报
- 易经八卦解释鸿蒙,易经入门:如何记住八卦的8个符号,理解意思之后,就会很简单...
热门文章
- 树莓派sd卡格式化_树莓派安装免费IP电话系统3CX
- 庖丁解牛,经典运放电路分析
- 微型计算机华硕,【MC年度评选】华硕/ROG DIY精品斩获多个大奖​
- Java代码实现上传视频获取视频某一帧作为截图封面(二)
- 游戏开发(十) 之 lua 150行代码 实现A*寻路
- 华为三层交换机 配置VLAN 基于中继开启DHCP
- 双端 Diff 算法原理解析及 snabbdom 简单实现
- 福建农信 计算机 考试试题,2020福建农信社招聘考试模拟试题——计算机知识(13)...
- 日语中 に、で 用法总结
- NRC Lexicon获取8种情绪