发明内容
根据现有技术中面临的唤醒低功耗模式下的芯片,采用的唤醒方法芯片功耗比较高,芯片的唤醒需要依赖芯片空闲的I/0才能实现等问题,本发明提供一种芯片唤醒方法、系统、电子设备及可读存储介质。
在本申请的第一方面提供了一种芯片唤醒方法,应用于芯片唤醒系统,包括唤醒控制模块、唤醒检测模块、唤醒模块、供电电源,并具体包括:
获取芯片的工作状态,工作状态包括待唤醒工作状态;
在芯片处于待唤醒工作状态的情况下,根据外部接口输入的唤醒触发指令,生成唤醒指令;
在唤醒指令传输至供电电源的情况下,供电电源输出唤醒指令;
在确认唤醒指令为突变持续信号的情况下,唤醒检测模块检测突变持续信号;
在突变持续信号满足预设唤醒条件的情况下,唤醒模块唤醒芯片;
其中,预设唤醒条件至少包括预设时间间隔。
在上述第一方面的可能实现方式中,获取芯片的工作工作状态包括:
在唤醒模块检测供电电源的唤醒指令的情况下,芯片处于待唤醒工作状态。
在上述第一方面的可能实现方式中,,生成唤醒指令包括:
在唤醒控制模块接收到唤醒触发信号的情况下,触发第一定时装置发送高电平信号;
在高电平信号的持续时间满足预设时间间隔的情况下,生成唤醒指令。
在上述第一方面的可能实现方式中,,供电电源输出唤醒指令包括:
根据唤醒触发指令触发唤醒控制模块的唤醒开关导通;
在唤醒控制模块的唤醒开关处于导通状态的情况下,唤醒指令经唤醒开关传输至供电电源并输出。
在上述第一方面的可能实现方式中,,确认唤醒指令为突变持续信号包括:
获取供电电源输出的唤醒指令;
在检测到唤醒指令存在至少两个间隔一定时间的电平突变点的情况,确认供电电源输出的唤醒指令为突变持续信号。
在上述第一方面的可能实现方式中,,突变持续信号满足预设唤醒条件包括:
在唤醒模块接收到突变持续信号的情况下,触发唤醒模块的第二定装置记录突变持续信号的持续时间;
在供电电源输出的突变持续信号的持续时间满足预设时间间隔的情况,突变持续信号满足预设唤醒条件。
在上述第一方面的可能实现方式中,,芯片唤醒方法还包括:
在供电电源输出突变持续信号的情况下,唤醒模块的备用电源的电源通路打开,为唤醒模块供电。
本申请的第二方面提供了一种芯片唤醒系统,应用于前述第一方面所提供的芯片唤醒方法中,芯片唤醒系统具体包括:
获取单元,用于获获取芯片的工作状态,工作状态包括待唤醒工作状态;
唤醒指令生成单元,用于在芯片处于待唤醒工作状态的情况下,根据外部接口输入的唤醒触发指令,生成唤醒指令;
唤醒指令输出单元,用于在唤醒指令传输至供电电源的情况下,供电电源输出唤醒指令;
唤醒信号检测单元,用于在确认唤醒指令为突变持续信号的情况下,唤醒检测模块检测突变持续信号;
芯片唤醒单元,用于在突变持续信号满足预设唤醒条件的情况下,唤醒芯片。
本申请的第三方面提供了一种电子设备,包括:
存储器,存储器用于存储处理程序;
处理器,处理器执行处理程序时实现前述第一方面所提供的芯片唤醒方法。
本申请的第四方面提供了一种可读存储介质,该种可读存储介质上存储有处理程序,处理程序被处理器执行时实现前述第一方面所提供的芯片唤醒方法。
与现有技术相比,本申请具有如下的有益效果:
通过本申请提出的技术方案,能够基于芯片的待唤醒状态,在芯片需要唤醒时,根据唤醒触发指令控制芯片的供电电源生成满足一定预设条件的突变持续信号,该突变持续信号经供电电源输出,并被设置在芯片内的唤醒模块检测到,通过唤醒模块控制实现芯片低功耗模式下的唤醒,利用芯片的供电电源生成唤醒信号进而实现芯片唤醒,可以充分利用芯片的有效资源,无需依赖芯片的空闲I/O,实现芯片的唤醒可以在更低功耗模式下实现。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
为了解决现有技术中芯片唤醒依赖芯片提供的空闲I/O,唤醒需要占用芯片额外资源,导致芯片的低功耗模式整体功耗不能做到满足更低功耗功耗数量级的技术问题。通过本申请提供的芯片唤醒方法,应用于芯片唤醒系统,具体包括唤醒控制模块、唤醒检测模块、唤醒模块、供电电源,能够通过芯片的供电电源生成突变持续信号,并被唤醒模块检测到,实现在芯片需要唤醒时,通过芯片的供电电源实现芯片的唤醒,无需依赖芯片本身的I/O,从而实现在更低功耗模式下的芯片唤醒。
具体地,图1根据本申请的一些实施例,示出了一种芯片唤醒方法的流程示意图,具体包括:
步骤100:获取芯片的工作状态,工作状态包括待唤醒工作状态。可以理解的是,系统基础芯片可以包括典型正常工作状态、待唤醒状态,其中,待唤醒状态可以包括停止/待机状态、休眠状态等,此时芯片无需处理业务时,为了降低芯片的功耗,芯片的工作只需检测唤醒信号,通过唤醒信号的传输实现芯片唤醒,进入正常工作状态。
步骤200:在芯片处于待唤醒工作状态的情况下,根据外部接口输入的唤醒触发指令,生成唤醒指令。
可以理解的是,芯片的待唤醒状态无法处理正常数据业务,当出现业务需求时,主机需要唤醒芯片,此时芯片的唤醒模块接收外部发送的唤醒触发指令,在接收到唤醒触发指令的情况下,认为需要对芯片进行唤醒,基于唤醒触发指令可以生成一个唤醒指令。其中唤醒触发指令可以表现为一个高电平输出,在此不做限制。
步骤300:在唤醒指令传输至供电电源的情况下,供电电源输出唤醒指令。可以理解的是,唤醒指令的表现形式可以是持续一段预设时间的突变电平信号,当唤醒指令生成时,其应作为芯片唤醒的触发信号提供给唤醒模块,该唤醒指令传输至供电电源并进一步表现为芯片的供电电源的一段突变电平信号输出。
步骤400:在确认唤醒指令为突变持续信号的情况下,唤醒检测模块检测突变持续信号。可以理解的是,唤醒指令传输至芯片的供电电源表现为突变持续信号,供电电源本身在供电时可能由于外界的干扰因素、或者芯片内部故障等原因,供电电源可能会出现短时的电平突变,该部分的电平突变信号也会随芯片的供电电源输出,因此需要对突变持续信号进行检测。
步骤500:在突变持续信号满足预设唤醒条件的情况下,唤醒模块唤醒芯片。可以理解的是,外界干扰或者芯片本身的故障可能会产生持续某一时段的突变电平信号,持续时间并不能确定,因此需要进一步地判断该突变持续信号是否满足芯片的预设唤醒条件。
在本申请的一些实施例中,于上述步骤100中,在唤醒模块检测供电电源的输出唤醒指令的情况下,芯片处于待唤醒工作状态。可以理解的是,在芯片正常工作时,芯片供电电源为芯片提供电能以维持芯片的正常工作,此时无需对芯片唤醒也无需对突变持续信号进行检测;当芯片无需处理业务数据时,其供电电源无需提供电能进行芯片正常运行维持,芯片处于待唤醒的状态,此时检测供电电源的输出电平信号即为检测输出的唤醒指令的情况下。
在本申请的一些实施例中,于上述步骤200中,在唤醒控制模块接收到唤醒触发信号的情况下,触发第一定时装置发送高电平信号;在高电平信号的持续时间满足预设时间间隔的情况下,生成唤醒指令。可以理解的是,当唤醒触发指令表现为一个输出突变高电平的情况下,在高电平信号生成的同时,唤醒控制模块中的第一定时装置启动定时,根据定时时间发送持续一段时间的高电平信号,根据第一定时装置的定时时间生成满足预设时间间隔的高电平信号,并根据该持续预设时间间隔的高电平信号指令生成唤醒指令。对于唤醒指令的具体表现形式将在将于后文中进行具体说明。
在本申请的一些实施例中,于上述步骤300中,根据唤醒触发指令触发唤醒控制模块的唤醒开关导通;在唤醒控制模块的唤醒开关处于导通状态的情况下,唤醒指令经唤醒开关传输至供电电源并输出。可以理解的是,唤醒触发指令生成时,可以表现为一个高电平突变点,高电平的突变点可以导通唤醒开关,进而在第一定时装置持续发送高电平信号时,唤醒开关一直处于导通状态,直至第一定时装置停止发送,唤醒开关截止,生成的与第一定时装置发送的高电平持续时间相同的唤醒指令传输至芯片的供电电源,输出表现为一个持续一点时间的突变高电平信号。
在本申请的一些实施例中,于上述步骤400中,获取供电电源输出的唤醒指令;在检测到唤醒指令存在至少两个间隔一定时间的电平突变点的情况,确认供电电源输出的唤醒指令为突变持续信号。可以理解的是,在芯片的供电电源产生突变点的时刻,需要判断电平突变是否持续了一定的时间,如果突变仅仅在某一时刻产生,该唤醒指令没有表现为持续某个时间段的突变持续信号,该唤醒指令不能作为有效指令,唤醒模块不会对芯片进行任何唤醒动作。
在本申请的一些实施例中,于上述步骤500中,在唤醒模块接收到突变持续信号的情况下,触发唤醒模块的第二定装置记录突变持续信号的持续时间;在供电电源输出的突变持续信号的持续时间满足预设时间间隔的情况,突变持续信号满足预设唤醒条件。可以理解的是,在供电电源输出电平突变信号的瞬间,第二定装置启动记录突变持续信号的持续时间,以此对突变信号是否输出芯片唤醒的有效信号进行判断确认。
在本申请的一些实施例中,供电电源输出的信号表现为持续一段时间的突变信号,可以设置为唤醒触发指令表现为一个瞬时突变信号,例如一个瞬间电平拉高的信号,第一定时装置可以为一个定时器,唤醒开关可以为一个MOSFET管单元,在此不做限定。
在本申请的一些实施例中,预设唤醒条件至少包括预设时间间隔,可以是十几微秒到几十微秒,在此不做限定。
在本申请的一些实施例中,在供电电源输出突变持续信号的情况下,唤醒模块的备用电源的电源通路打开,为唤醒模块供电。可以理解的是,在芯片的供电电源用于芯片唤醒信号生成时,即用于输出突变持续信号时,需要备用电源为唤醒模块供电,具体地,可以在芯片设置一个电容存储电量,为唤醒模块供电。
在本申请的一些实施例中,还提供了一种芯片唤醒系统,该种芯片唤醒系统应用于前述实施例中所提及的芯片唤醒方法中,具体包括:获取单元,用于获获取芯片的工作状态,工作状态包括待唤醒工作状态;
唤醒指令生成单元,用于在芯片处于待唤醒工作状态的情况下,根据外部接口输入的唤醒触发指令,生成唤醒指令;
唤醒指令输出单元,用于在唤醒指令传输至供电电源的情况下,供电电源输出唤醒指令;
唤醒信号检测单元,用于在确认唤醒指令为突变持续信号的情况下,唤醒检测模块检测突变持续信号;
芯片唤醒单元,用于在突变持续信号满足预设唤醒条件的情况下,唤醒芯片。
可以理解的是,上述芯片唤醒系统中各个功能模块执行与前述芯片唤醒方法中相同的步骤流程,在此不做赘述。
在本申请的一些实施例中,图2示出了一种多芯片同步唤醒的示意图,当系统中存在多个芯片同时处于待唤醒状态的情况下,被同一供电电源控制的N个芯片时,根据外部接口输入的唤醒触发指令,生成唤醒指令,当唤醒指令触发唤醒开关产生唤醒信号供电电源模块时,唤醒模块接收到供电电源输出的持续突变信号传输至唤醒模块,同时唤醒N个芯片进入正常工作的状态。
具体地,同时唤醒的芯片数量N可以根据当前芯片的状态,芯片的供电电源及供电电源可提供的电量设定为大于等于2个芯片,在此不做限定。
现提供一具体实施例对上述对唤醒指令的生成进行阐述:
具体地,如图3所示,示出了一种唤醒指令生成的具体形式示意图,唤醒触发指令触发芯片控制模块的定时器启动输出并定时输出持续十几到几十微秒的高电平信号,唤醒开关可以通过NMOS管单元实现,正常情况下,唤醒控制模块信号为低电平,但高电平信号输出时,NMOS管导通唤醒开关的输出为低;当开关控制信号为高时,NMOS管导通,此时唤醒开关的输出为低,输出的持续低电平信号传输至芯片供电电源,可以作为突变持续信号被唤醒模块检测,满足预设芯片唤醒条件的情况下,芯片主运算模块的电源开关打开,实现芯片唤醒进入正常工作模式。
本申请提出的技术方案涉及方法、装置、系统、电子设备、计算机可读存储介质和/或计算机程序产品。计算机程序产品可以包括用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
在本申请的一些实施例中,还提供了一种电子设备。该种电子设备中包含存储器和处理器,其中存储器用于对处理程序进行存储,处理器则根据指令对处理程序进行执行。当处理器对处理程序进行执行时,使得前述实施例中的芯片唤醒方法得以实现。
在本申请的一些实施例中,还提供了一种可读存储介质,该可读存储介质可以为非易失性可读存储介质,也可以为易失性可读存储介质。该可读存储介质中存储有指令,当该指令在计算机上运行时,使得包含该种可读存储介质的电子设备执行前述的芯片唤醒方法。
综上所述,通过本申请提出的技术方案,能够基于芯片的待唤醒状态,在芯片需要唤醒时,根据唤醒触发指令控制芯片的供电电源生成满足一定预设条件的突变持续信号,该突变持续信号经供电电源输出,并被设置在芯片内的唤醒模块检测到,通过唤醒模块控制实现芯片低功耗模式下的唤醒,利用芯片的供电电源生成唤醒信号进而实现芯片唤醒,可以充分利用芯片的有效资源,无需依赖芯片的空闲I/O,实现芯片的唤醒可以在更低功耗模式下实现。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。