0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AMBA低功耗接口之Q_Channel

jf_78858299 来源: 安谋科技学堂 作者:卢jun 2023-05-04 10:58 次阅读

本文选自极术专栏Arm AMBA 协议集的文章。文章将介绍Q-Channel的知识。

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处于停止状态,简单理解为断电状态,下文称为断电状态

接口如下:

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的低功耗接口,只需要按照如下的连接进行连接即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7639

    浏览量

    148495
  • Power
    +关注

    关注

    1

    文章

    496

    浏览量

    67395
  • Channel
    +关注

    关注

    0

    文章

    31

    浏览量

    11707
  • AMBA
    +关注

    关注

    0

    文章

    67

    浏览量

    14812
收藏 人收藏

    评论

    相关推荐

    ARM系列-P Channel介绍

    ARM定义了两个低功耗接口(Low Power Interface),用于低功耗控制握手,分别是Q-Channel和P-Channel
    的头像 发表于 10-26 14:42 765次阅读
    ARM系列-P <b class='flag-5'>Channel</b>介绍

    #硬声创作季 #STM32 手把手教你学STM32-044 待机唤醒实验-低功耗-M4-2

    功耗低功耗
    水管工
    发布于 :2022年10月29日 14:06:37

    第30章 FreeRTOS低功耗睡眠模式

    ,STM32F407和STM32F429的低功耗方式睡眠模式的一些知识点,第33章讲解FreeRTOS支持的tickless模式是睡眠模式的具体使用例子。30.1 STM32F103睡眠模式介绍30.2
    发表于 09-12 17:21

    ARM总线协议AMBA中AHB、APB的区别与联系

    , ASB, APB);Qchannel文章目录1 AMBA总线2 AHB2.1 一个典型的基于AHB的微控制器2.2 AHB总线互联结构:中心选择器连接master与slave2.3 AHB的特性3 APB4 AHB和APB的区别与联系4 Q-channel1
    发表于 02-09 07:46

    AMBA低功率接口规格参考手册

    Q-Channel是AXI低功耗接口的发展,在大多数情况下都是向后兼容的。了解更多信息 有关信息,请参阅第2-37页的Q信道向后兼容性。 Q
    发表于 08-02 09:31

    AMBA静态内存接口数据表

    AMBA静态存储器接口(SMI)是一个示例设计,它显示了AMBA系统中外部总线接口(EBI)的基本要求。 它并不打算成为真正系统的“现成”EBI。 这样的EBI设计必须考虑到流程、包装
    发表于 08-21 06:22

    AMBA测试接口驱动程序数据表

    本文档介绍了AMBA测试接口驱动程序(通常称为TICBOX)。 您应该熟悉AMBA及其测试接口协议。 如果没有,请参考AMBA规范(ARM
    发表于 08-21 06:43

    基于PIC单片机的低功耗键盘接口设计

    针对低功耗需求下的键盘控制应用,本文采用红外发码芯片TC9148 作为键盘接口芯片,给出了基于低功耗单片机PIC16F73来实现低功耗应用的键盘接口
    发表于 03-28 16:17 14次下载

    AD9393:低功耗HDMI显示接口

    AD9393:低功耗HDMI显示接口
    发表于 04-30 18:23 6次下载
    AD9393:<b class='flag-5'>低功耗</b>HDMI显示<b class='flag-5'>接口</b>

    基于AMBA总线介绍​

    (先进外围总线)低速总线、低功耗接口简单 ASB:Advanced System Bus(先进系统总线)
    的头像 发表于 05-19 14:22 1876次阅读
    基于<b class='flag-5'>AMBA</b>总线介绍​

    浅述AMBA-APB总线

    1 APB介绍 高级外设总线 (APB) 是高级微控制器总线架构 (AMBA) 协议系列的一部分。它定义了一个低成本接口,该接口针对最低功耗和降低的
    的头像 发表于 07-23 10:04 1949次阅读
    浅述<b class='flag-5'>AMBA</b>-APB总线

    介绍AMBA2.0总线

    (先进外围总线) 低速总线、低功耗接口简单 ASB:Advanced System Bus(先进系统总线
    的头像 发表于 09-06 09:53 2770次阅读
    介绍<b class='flag-5'>AMBA</b>2.0总线

    4-AMBA VIP 编程接口

    Env的编程接口和使用接口目录4-介绍AMBA System Env的编程接口和使用接口Configuration objectsTran
    发表于 12-08 16:21 10次下载
    4-<b class='flag-5'>AMBA</b> VIP 编程<b class='flag-5'>接口</b>

    AMBA-APB总线是怎样进行读写操作的?

    高级外设总线 (APB) 是高级微控制器总线架构 (AMBA) 协议系列的一部分。它定义了一个低成本接口,该接口针对最低功耗和降低的接口复杂
    的头像 发表于 09-07 09:55 717次阅读
    <b class='flag-5'>AMBA</b>-APB总线是怎样进行读写操作的?

    ARM系列-P Channel简析

    ARM定义了两个低功耗接口(Low Power Interface),用于低功耗控制握手,分别是Q-Channel和P-Channel
    的头像 发表于 10-24 10:49 863次阅读
    ARM系列-P <b class='flag-5'>Channel</b>简析