AMBA低功耗接口(一)Q_Channel

2023-11-13

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,就不合适了,需要使用P-Channel。

比如在DynamlQ技术中,引入了L3 cache,并且每个core拥有自己的L1 cache,L2 cache,这样,整个系统中,cache的容量就变大了,相应的,消耗在cache上的功耗,也增多了。此时,就需要复杂的对cache的power控制,来实现低功耗,比如对L3 cache,1/4上电,也就是只有1/4的L3 cache工作,其余的都断电,以此来节省功耗。此时,就要用到P-Channel。

 

一、Q-Channel

 

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

1、接口

以下是Q-Channel的接口:

分为device端和power controller端(下文均简称为PMU)。device端,就是需要被电源控制的组件,比如core,外设等。PMU端,就是提供电源管理的组件。

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

  • operational状态: device处于工作状态,简单理解为上电状态,下文称为上电状态

  • quiescent状态:device处于停止状态,简单理解为断电状态,下文称为断电状态

接口如下:

信号

说明

QACTIVE

提供给device,向PMU发送power请求,更改自己的power状态

为高,表示device需要PMU将自己置为上电状态

为低,表示device需要PMU将自己置为断点状态

QREQn

power controller发送power请求信号

为高,表示上电

为低,表示断电

QACCEPTn

为高,表示device接受外部power请求

QDENY

为高,表示device拒绝外部power请求

2、Q-Channel接口的握手状态

ARM对Q-Channel的interface,定义了几种握手状态:

  • Q_RUN:            device处于上电状态。

  • Q_REQUEST:  device处于上电状态,但是在idle状态时,可以接收power request,进入断电状态。

  • Q_STOPPED:  device进入了断电状态。

  • Q_EXIT:   等待被提供时钟或者power的状态。当device得到外部提供的时钟或者power时,将QACCEPTn拉高,进入Q_RUN状态。

  • Q_DENIED:      device拒绝外部power的请求,不进入断电状态,而保持上电状态。

  • Q_CONTINUE: PMU在Q_DENIED状态后,将QREQn拉高后的状态。

    以下是编码:

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

对于握手信号,有以下的规则:

  • QREQn只能在QACCEPTn为高并且QDENY为低时,才可以从高变为低。

  • QREQn满足以下条件,才可以从低变为高

    • QACCEPTn和QDENY都为低

    • QACCEPTn和QDENY都为高

  • QACCEPTn只能在QREQn和QDENY都为低情况下,才可以从高变为低

  • QACCEPTn只能在QREQn和QDENY都为高情况下,才可以从低变为高

  • QDENY只能在QREQn和QACCEPTn都为高情况下,才可以从高变为低

  • QDENY只能在QREQn为低并且QACCEPTn为高情况下,才可以从低变为高

上面的这些原则,在设计P-Channel时,需要遵守的。

3、P_Channel的握手协议

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状态。

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状态。

4、device复位信号与Q_Channel的结合

复位信号,需要和Q_Channel的信号,进行组合。一般来说,复位信号,也会由PMU来控制。

组合分为以下2种情况。

4.1、RESETn复位无效时,QREQn为低

    T2时刻,RESETn为高,复位取消。

T3时刻,QREQn为高,PMU向device请求上电。Q_Channel进入Q_EXIT状态。

T4时刻,QACCEPTn为高,device接受PMU的上电请求。Q_Channel进入Q_RUN状态。

T5时刻,QREQn为低,PMU向device请求断电,Q_Channel进入Q_REQUEST状态。T6时刻,QACCEPTn为低,device接受PMU的断电请求。Q_Channel进入Q_STOPPED。

T7时刻,将RESETn拉低。

4.2、RESETn复位有效时,QREQn为高

T2时刻,QREQn拉高,PMU向device请求上电。Q_Channel进入Q_EXIT状态。

T3时刻,因为RESETn为低,复位有效,device将QACCEPTn保持为低,Q_Channel保持Q_EXIT状态。

T4时刻,因为RESETn为高,复位无效。device将QACCEPTn拉低,响应PMU的上电请求。Q_Channel进入Q_RUN状态。

T5时刻,QREQn拉低,PMU向device请求断电,Q_Channel进入Q_REQUEST状态。

T6时刻,device将QACCEPTn拉低,响应PMU的断电请求。Q_Channel进入Q_STOPPED状态。

T7时刻,RESETn拉低。

5、QACTIVE

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

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

5.1、请求上电和请求下电

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

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

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进入断点状态。

6、Q_Channel的实现

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

下图是同步化的框图:

ARM提供了以下的一些实现指导:

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

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

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

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

7、Q_Channel的向后兼容

Q_Channel是从AXI的低功耗结构,演化过来。但是Q_Channel也可以兼容AXI的低功耗接口。

如下图,device使用AXI的低功耗接口,PMU使用Q_Channel。只需要按照如下的连接进行连接即可。

如下图,device使用Q_Channel,PMU使用AXI的低功耗接口,只需要按照如下的连接进行连接即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AMBA低功耗接口(一)Q_Channel 的相关文章

  • 正则表达式匹配第一个单个字符

    匹配单字符 数字 d表示0 9的数字 只匹配一个 import re result re match r d 3python print result result re match r d python3 print result 运行结
  • ipsec.secrets

    IPSEC SECRETS 5 strongSwan IPSEC SECRETS 5 NAME ipsec secrets secrets for IKE IPsec authentication DESCRIPTION The file
  • 多元共进|科技促进艺术发展,助力文化传承

    科技发展助力文化和艺术的传播 融合传统与创新 碰撞独特魅力 一起来了解 2023 Google 开发者大会上 谷歌如何依托科技创新 推动艺术与文化连接 传承和弘扬传统文化 自 2011 年成立以来 谷歌艺术与文化致力于提供体验艺术和文化的新
  • 使用OpenResty搭建简单的文件服务器

    前言 前几天使用nginx nginx upload module python 回调处理程序 搭建了一个简单的文件服务器 网上很多人都建议使用Lua去扩展nginx的功能 所以琢磨了下如何使用Lua语言去对nginx去做功能扩展 网上查阅
  • 网络上的学习笔记 Hadoop

    1 如今有10个文件夹 每个文件夹都有1000000个url 如今让你找出top1000000url 1 运用2个job 第一个job直接用filesystem读取10个文件夹作为map输入 url做key reduce计算个url的sum
  • 【弹性分布式EMA】在智能电网中DoS攻击和虚假数据注入攻击(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 FDIA攻击 1 2 DoS攻击 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述
  • Java 正则提取短信签名

    使用java 正则表达式提取短信签名 import java util regex Matcher import java util regex Pattern public class ExtractSmsSignature 匹配中括号内
  • 安装ESXi

    1 简介 ESXi是vmware推出的一款优秀的服务器级别的虚拟机 它与我们常用的虚拟机不同的是 日常使用的虚拟机是需要依赖于一个操作系统的 比如在window上使用vmware 或者linux上使用virtualbox 而ESXi不依赖于
  • 【多模态】1、几种多模态 vision-language 任务和数据集介绍

    文章目录 一 Phrase Grounding 1 1 概念介绍 1 2 常用数据集介绍 1 3 评估指标 二 Referring Expression Comprehension REC 2 1 概念介绍 2 2 常用数据集介绍 三 Vi
  • cmd相关命令

    查看本地端口占用问题并进行处理 1 查看所有的端口及相关信息 命令 netstat ano 2 找到对应的端口对应的PID 输入指令找到对应的进程 tasklist findstr 7676 7676表示pid 3 杀掉该进程 再次启动就O
  • 爬虫实例十二 沪深证券股票全站数据爬取

    先上代码 import requests from lxml import etree import openpyxl import time import random 新建workbook对象 wb openpyxl Workbook
  • SQLLite创建数据表

    SQLIteTest cpp 此文件包含 main 函数 程序执行将在此处开始并结束 pragma warning disable 4996 include
  • docker + ngrok + nginx内网穿透访问本地,方便本地调试

    ngrok客户端生成 docker run rm it e DOMAIN jiadays com v root ngrok myfiles hteen ngrok bin sh build sh 对应生成的目录 bin ngrokd 服务端
  • hadoop 的 namenode 宕机如何解决

    先分析宕机后的损失 宕机后直接导致client无法访问 内存中的元数据丢失 但是硬盘中的元数据应该还存在 如果只是节点挂了 重启即可 如果是机器挂了 重启机器后看节点是否能重启 不能重启就要找到原因修复了 但是最终的解决方案应该是在设计集群
  • wedo2.0编程模块介绍_wedo2.0课程包

    实例简介 开放性实验的视觉概述 16课时实验课程 包含生命科学 宇宙科学 物质科学 技术与工程 b11 We20简介 欢迎使用乐高教育WeD20 课程包 本章主要介绍产品操作的基本步骤 15V 们Wa02简介 乐高教育W2课程包 乐高教育W

随机推荐

  • 【Python】学生管理系统——详细解释+代码+详细注释(课设必过)

    带你编写学生管理系统 Python 很多学生在学校学习完Python 就要做一个课设考验你对知识的掌握程度 这次就教大家如何来用Python来实现一个学生管理系统 对学生管理系统的分析 学生管理系统是对学生信息的学生信息的增删查改 另外如需
  • DOS下执行robotframework脚本

    在当前python环境中的路径添加pybot bat文件 文件中添加 Echo off python m robot run 启动时添加路径即可 pybot 项目路径
  • python自动化办公--QQ发送邮件包含中文名附件

    python自动化办公 本节目标 python调用QQ邮箱API发送邮件 本节内容 自动化定时发送邮件 本节技术点 smtplib datetime 本节阅读需要 15 min 本节实操需要 20 min 文章目录 python自动化办公
  • 田忌赛马

    田忌赛马 问题描述 中国古代的历史故事 田忌赛马 是为大家所熟知的 话说齐王和田忌又要赛马了 他们各派出N匹马 每场比赛 输的一方将要给赢的一方200两黄金 如果是平局的话 双方都不必拿出钱 现在每匹马的速度值是固定而且已知的 而齐王出马也
  • 玩转Netty – 从Netty3升级到Netty4

    这篇文章主要和大家分享一下 在我们基础软件升级过程中遇到的经典Netty问题 当然 官方资料 也许是一个更好的补充 另外 大家如果对Netty及其Grizzly架构以及源码有疑问的 欢迎交流 后续会为大家奉献我们基于Grizzly和Nett
  • java基础之String类

    String类里面的内容必须会 必须熟悉 public final class String 字符串是一个特殊的对象 这个类不能有子类 String s new String 与String s1 是等价的 String s1 abc s1
  • 基于CH340的一键下载电路

    一 CH340简介 CH340 是一个 USB 总线的转接芯片 实现 USB 转串口或者 USB 转打印口 CH340是国产芯片 应用场合居多 市场占有率很高 常用的USB转串口芯片还有CP2102 PL2303 FT232等 相比之下CH
  • Vue的页面跳转与刷新

    Vue刷新页面 在开发的过程中 有时候我们需要刷新整个页面 this router go 0 Vue页面跳转 例如 在用户登录成功之后跳转到系统首页 this router push home
  • 基础算法题——虫洞(简单版、vector)

    虫洞 简单 题目链接 解题步骤 求出第 i 个星球作为中心子星系时 f i 的大小 对每个 i 与 n f i 异或后的结果相加 再对998244353取模即可得到答案 问题关键点 求第 i 个星球 f i 的大小 个人解题思路 暴力 利用
  • cpython下载_一、Python简介及下载安装

    一 关于Python Python是目前比较受欢迎的脚本语言之一 具有简洁性 易读性以及可扩展性的特点 Python与Java均可以写网页 也可以写后台功能 区别是Python执行效率低 开发效率高 而Java执行效率高 开发效率低 pyt
  • Linux--vim安装、简介、模式及命令

    目录 1 vim简介 1 命令模式转为插入模式 2 命令模式转为末行模式 3 转换图 4 vim常用命令 复制 删除 1 删除 2 拷贝 3 粘贴 4 撤销 5 恢复撤销 6 替换 7 光标移动 1 行开头 2 行末尾 3 最后一行 4 第
  • SAP 销售订单及发票 利润中心替代 Userexit出口 配置及程序

    在跨公司销售业务中 跨公司销售订单的发票时无法从销售订单中将利润中心带到发票中 所以在跨公司的发票创建过程中需要配置出口来获取对应销售订单行项目的利润中心 事务代码 0KEM 配置步骤 1 创建一个新的替代 2 创建一个步骤 3 维护一个先
  • 华为数通方向HCIP-DataCom H12-831题库(单选题:1-20)

    第1题 关于IPSG下列说法错误的是 A IPSG可以防范IP地址欺骗攻击 B IPSG是一种基于三层接口的源IP地址过滤技术 C IPSG可以开启IP报文检查告警功能 联动网管进行告警 D 可以通过IPSG防止主机私自更改IP地址 答案
  • 更改默认滚动条的样式

    在前端开发的过程中 通常会需要更改滚动条的默认样式 代码如下 webkit scrollbar 滚动条整体样式 width 4px 高宽分别对应横竖滚动条的尺寸 height 1px webkit scrollbar thumb 滚动条里面
  • echarts前后端交互数据_Web的前后端交互

    1503年 列奥纳多 达 芬奇回到佛罗伦萨 开始绘制 蒙娜丽莎 耗时四年 塑造了资本主义上升时期一位城市有产阶级的妇女形象 将自己内心的的妇女通过画卷展示给了众人 期间无数的灵感 无数的情绪 无数的状态这是大家不能所得知的 更不用说付出的心
  • MAC系统 批量删除一个项目中的所有.svn

    打开终端 进入项目所在的文件夹 使用命令find type d name svn xargs rm rvf就可将项目的 svn全部删除
  • Oracle存储过程总结(一、基本应用)

    1 创建存储过程 create or replace procedure test var name 1 in type var name 2 out type as 声明变量 变量名 变量类型 begin 存储过程的执行体 end tes
  • React系列之useState

    目录 1 基础使用 2 状态的读取和修改 3 组件的更新过程 4 使用规则 1 基础使用 作用 useState为函数组件提供状态 state 使用步骤 导入 useState 函数 调用 useState 函数 并传入状态的初始值 从us
  • 人脸识别刷脸以往大多应用在安防领域

    最近你会看到各大媒体 网络平台都是关于刷脸的报道 感觉不聊聊刷脸是不是就已经跟这个时代脱节了 简单的说 刷脸支付是一种连手机都不需要的新型支付方式 刷脸支付意味着在手机没电 信号不好 因为卡顿打不开支付宝和微信 甚至出门忘记带手机时也能完成
  • AMBA低功耗接口(一)Q_Channel

    AMBA提供了 低功耗的接口 用于实现power控制功能 目前 AMBA里面 包含2种低功耗接口 Q Channel 实现简单的power控制 如上电 下电 P Channel 实现复杂的power控制 如全上电 半上电 1 4上电等 AR