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

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

3天内不再提示

ARM系列-P Channel简析

安芯教育科技 来源:老秦谈芯 2023-10-24 10:49 次阅读

ARM定义了两个低功耗接口(Low Power Interface),用于低功耗控制握手,分别是Q-Channel和P-Channel。其中的Q-Channel在以前讲过,《SoC设计之功耗 -- Q channel》。Q-Channel相对P-Channel而言简单一些,只是控制开/关两种状态,这在控制时钟的握手时没有任何问题,但是在控制电源的握手时就有点不够用了。

对于一个复杂的设计,仅仅用开/关两种状态描述是不完备的,需要引入更多的电源状态,比如memory retention(一种低功耗技术,为存储单元提供一个较低供电电压,以保留存储阵列的数据,但是存储单元不接受外部的数据访问)。

P-Channel提出了一个概念,叫电源状态转换(power state transition)。在P-Channel的应用场景中,电源的状态有很多,这个是可以是自己定义的。电源的各个状态之间是可以切换的。

P-Channel的接口并不复杂:

N-bit的PACTIVE,由设备端驱动,每个比特位可能由多个源信号组成;

M-bit的PSTATE,由控制器端驱动,表示请求转换到的电源状态;

PREQ,由控制器端驱动,高电平表示请求转换到电源状态(电源状态由PSTATE定义);

PACCEPT,由设备端驱动,高电平表示设备接受制器发出的电源状态转换请求;

PDENY,由设备端驱动,高电平表示设备拒绝控制器发出的电源状态转换请求;

4a098f26-7217-11ee-939d-92fbcf53809c.png

其中N和M的值取决于具体的设计需要,P-Channel规范并没有强制要求。

PREQ、PACCEPT和PDENY构成一个握手接口(PACTIVE不在握手之中),用于管理和保证安全状态转换。P-Channel要求在一次握手转换中,PACCEPT或PDENY中只有一个发生变化。也就是说,PACCEPT和PDENY在握手中,只能有一个为高。

来自设备的PACCEPT和PDENY信号,以及来自控制器的PREQ和PSTATE信号都必须由寄存器直接驱动。拒绝机制的目的是使设备能够保持其当前状态,同时通过该机制可以迅速完成握手。

握手信号状态与PACTIVE位无关。PACTIVE位上的转换不受PREQ、PACCEPT和PDENY上的值的限制。

握手规则如下:

当PACCEPT和PDENY都为低电平时,PREQ才能从低电平转换为高电平。

PREQ只能在以下情况下,可以从高电平到低电平转换:

-PACCEPT为高,PDENY为低。

-PACCEPT为低,PDENY为高。

PSTATE只能在以下情况下转换:

-PREQ、PACCEPT和PDENY都为低电平(控制器在发起请求前,提前改变PSTATE)。

-PREQ和PDENY为高电平,PACCEPT为低电平(设备拒绝请求,控制器需要将PSTATE返回请求前的值)。

仅当PREQ高电平且PDENY低电平时,PACCEPT才可以从低转换到高。

仅当PREQ低电平且PDENY低电平时,PACCEPT才可以从高转换到低。

仅当PREQ高电平且PACCEPT低电平时,PDENY才可以从低转换到高。

仅当PREQ低电平且PACCEPT低电平时,PDENY才可以从高转换为低。

下图是控制器发出从A状态到B状态转换请求,设备接受请求的握手流程:

4a152b42-7217-11ee-939d-92fbcf53809c.png

T0时刻,接口空闲,所有握手信号均为低电平。接口状态为P_STABLE,设备保持当前状态。

T1时刻,控制器想要发出请求,并且需要提前做一些准备工作。接口状态仍为P_STABLE。

T2时刻,控制器设置PSTATE为目标状态B,同时将PREQ信号变为高电平,接口状态变为P_REQUEST。协议要求在设备检测到PREQ时,PSTATE是稳定的。

T3时刻,设备通过将PACCEPT驱动成高电平来表示接受转换,同时PDENY必须保持低电平(PACCEPT和PDENY在握手中,只能有一个为高)。接口状态现在是P_ACCEPT。

T4时刻,控制器端对PACCEPT高电平进行采样,并将PREQ设置为低电平,表示本次请求结束。接口状态为P_COMPLETE。

T5时刻,设备端监测到PREQ变为低电平,将PACCEPT驱动为低电平。此时,一旦控制器检测到PACCEPT为低电平,它就可以采取所需的任何转换后操作(比如控制电源开关)。本次握手全部完成,接口状态回到P_STABLE。

下图是控制器发出从A状态到B状态转换请求,设备拒绝请求的握手流程:

4a1c61fa-7217-11ee-939d-92fbcf53809c.png

T0,T1,T2时刻的握手顺序跟接受请求的流程一样。

T3时刻,设备端拒绝此次控制器发出的电源状态转换请求,驱动PDENY信号为高电平,同时必须保持PACCEPT信号为低电平。接口状态为P_DENIED。

T4时刻,控制请检测到PDENY信号为高电平,知道设备拒绝了本次请求。控制器端驱动PREQ信号为低电平,表示结束本次请求,同时恢复PSTATE信号为初始的A状态。接口状态为P_CONTINUE。

T5时刻,设备端发现PREQ变成低电平,需要将PDENY信号驱动成低电平。一旦控制器发现PDENY变成低电平,它就可以采取所需的任何转换后操作。本次握手流程全部完成,接口状态恢复为P_STABLE。

对于设备端,在复位时,必须将PACCEPT和PDENY置为低电平,但对PACTIVE没有要求。如果设备必须进入特定电源状态才能进行启动操作,则需要在设备复位时将PACTIVE位置为高位。如果不存在此类要求,ARM建议在设备复位时将所有PACTIVE置为低电平。

P-Channel的状态为P_STABLE时,设备的复位信号才可以设置为有效。

当设备的的复位被释放后,设备要进入初始化,此时控制器要设置PSTATE信号值,设备会采样该信号值,从而完成正确的初始化流程。PSTATE要在复位信号无效后要保持稳定。

设备要提供一个初始化时间(tinit),用来表示,复位之后,在所有可能的复位状态下保证捕获PSTATE值之前所需的设备时钟周期数。PSTATE在这段时间内必须保持稳定。

以下是复位后,控制器等待tinit时间后,控制器再发起请求的握手流程。

4a208816-7217-11ee-939d-92fbcf53809c.png

下图展示了控制器在复位解除前将PREQ置为高电平,然后等待P-Channel转换完成后,再发出进一步请求的情况。

4a356b46-7217-11ee-939d-92fbcf53809c.png

下图展示了控制器在复位解除后,使用相同的PSTATE值,并将PREQ设置为高的情况。

4a45aee8-7217-11ee-939d-92fbcf53809c.png

下图展示了多状态转换的握手,从状态A转换到状态B,然后再转换到状态C。

4a4a8364-7217-11ee-939d-92fbcf53809c.png

P-Channel的握手状态和状态转换图如下:

4a52dc30-7217-11ee-939d-92fbcf53809c.png

设备用PACTIVE向电源控制器提出要求,每个位代表不同的要求。PACTIVE位为高电平表示设备向控制器提出需求。如果PACTIVE为低电平,表示设备不再需要该需求。P-Channel握手独立于PACTIVE,控制器可以不考虑PACTIVE而做出任何决策。但是,该设备可以拒绝任何不适当的请求。换句话说,PACTIVE是独立于握手协议的,PACTIVE可以是自定义实现的。 下图展示了控制器根据设备的PACTIVE发出电源转换请求的案例。本例子中:

PACTIVE[2]: State C

PACTIVE[1]: State B

PACTIVE[0]: State A

4a6a4672-7217-11ee-939d-92fbcf53809c.png

为了控制器的正确设计,设备端必须提供足够的信息,包括:

所有设备支持的电源状态,包括:PSTATE定义和编码;PACTIVE每个比特位的分配;用于初始化状态,推荐的PACTIVE值;不再使用的PACTIVE位。

设备支持的电源状态转换,比如,如果控制器发起转换请求,设备采取的任何操作;哪些设备电源状态转换可以被有条件地拒绝。

复位释放后,用于初始化设备的PSTATE值

设备初始化时间tinit

P-Channel规范中,给出了一个例子。本例中,有两个设备,三个电源域。Device 0位于power domain0,电源控制器使用PD0来控制。Device 1位于power domain1和power domain2,电源控制器使用PD1和PD2来分别控制。此例中,三个电源域是独立的。

4a72c3b0-7217-11ee-939d-92fbcf53809c.png

如果电源域不是彼此独立的,而是由嵌套关系,如下图所示。Device1内部有3个电源域,分别为power domain 0,power domain 1,power domain 2,但是domain 0是domain 1和domain 2的父域,domain 1和domain 2是子域,也就是domain 0控制domain 1和domain 2。

电源控制器和device 1有3个P-Channel接口,但是都是在power domain 0中。这种情况下,电源控制与power domain 0的握手需要考虑子域的电源状态。

4a844f04-7217-11ee-939d-92fbcf53809c.png






审核编辑:刘清

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

    关注

    134

    文章

    8651

    浏览量

    361779
  • 控制器
    +关注

    关注

    112

    文章

    15223

    浏览量

    171186
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117719
  • 电源开关
    +关注

    关注

    12

    文章

    994

    浏览量

    43207
  • 低电平
    +关注

    关注

    1

    文章

    76

    浏览量

    13089

原文标题:ARM系列 -- P Channel

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ARM系列-P Channel介绍

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

    【设计技巧】rtos的核心原理

    rtos的核心原理rtos全称real-time operating system(实时操作系统),我来简单分析下:我们都知道,c语句中调用一个函数后,该函数的返回地址都是放在堆栈中的(准确
    发表于 07-23 08:00

    什么是ARM处理器 ARM处理器有哪些系列

    32 位寄存器,其中 16 个可以在任何模式下看到。它的指令为 单的加载与存储指令(从内存加载某个值,执行完操作后再将其放回内存)。ARM 一个有趣 的特点是它所有的指令都带有条件。例如,用户可以测试
    发表于 09-24 17:47

    EPLAN P8部件库

    p 8软件PLC:AB Controllogix/conpactlogix/Micro800系列;:西门子S7-200、S7-200SMART、S7-300全系列;:三菱FX全系列
    发表于 09-02 07:23

    基于ARM架构的MCU

    并非所有基于ARM架构的MCU都能提供相同水平的性能和能效,因此选择合适的方案是非常重要的。许多MCU供应商组合包括主题上的数百种变体。虽然看起来基于ARM Cortex-M的MCU的出现可能是这一
    发表于 11-03 07:52

    ARM指令分类与汇编指令格式

    一. ARM指令长度及数据类型ARM微处理器的指令长度可以是32位(ARM状态下), 也可以是16位(在Thumb状态下)ARM微处理器中支持字节(8位),半字(16位),字(32位)
    发表于 04-14 09:25

    ARM存储系统中的大/小端及MMU

    1.arm存储系统中的大/小端在arm体系结构中,每个字单元包含4字节单元或者2个半字单元,1个半字单元包含2字节单元。但是在字单元中,4字节哪一个是高位字节,哪一个是低位字节则有两种不同的格式
    发表于 04-20 09:23

    Linux内核网络之网络层发送消息之IP分片

    1、Linux内核网络之网络层发送消息之IP分片本文分析下ip的分片。行 IP 分片。IP分片通常发生在网络环境中,比如1个B环境中的MTU为500B,若的数据长度超过
    发表于 07-20 15:34

    Armv8.1-M PAC和BTI扩展

    1、Armv8.1-M PAC和 BTI 扩展Armv8-M通过Trustzone for Armv8-M, Memory Protection Unit (MPU) 和Privileged
    发表于 08-05 14:56

    Rockchip RK3399 Linux4.4 USB DTS配置步骤

    1、Rockchip RK3399 Linux4.4 USB DTS配置步骤本文档提供RK3399 USB DTS的配置方法。RK3399支持两个Type-C USB3.0(Type-C PHY
    发表于 08-10 16:10

    RK3288 Android6.0系统RT5640播放时的Codec寄存器列表

    1、RT5640播放时的Codec寄存器列表Platform: RockchipOS: Android 6.0Kernel: 3.10.92Codec: RT5640此文给调试RT5640播放
    发表于 11-24 18:12

    ARM exclusive机制

    request可以改写数据。在software层面上可以用一些flag来握手。在hardware层面上,不同的architecture也进入了一些同步机制来达成。  Arm architecture中给
    发表于 03-17 15:35

    OpenHarmony智慧设备开发-芯片模组T507

    降噪,自动调色系统和梯形校正模块可以提供提供流畅的用户体验和专业的视觉效果。 典型应用场景: 工业控制、智能驾舱、智慧家居、智慧电力、在线教育等。 、*附件:OpenHarmony智慧设备开发-芯片模组T507.docx
    发表于 05-11 16:34

    OpenHarmony智慧设备开发-芯片模组RK3568

    产品需求。 典型应用场景: 影音娱乐、智慧出行、智能家居,如烟机、烤箱、跑步机等。 *附件:OpenHarmony智慧设备开发-芯片模组RK3568.docx
    发表于 05-16 14:56

    OpenHarmony应用核心技术理念与需求机遇

    一、核心技术理念 图片来源:OpenHarmony官方网站 二、需求机遇 新的万物互联智能世界代表着新规则、新赛道、新切入点、新财富机会;各WEB网站、客户端( 苹果APP、安卓APK)、微信
    发表于 09-22 16:12