一种低功耗唤醒方法及装置与流程

文档序号:17317805发布日期:2019-04-05 21:22阅读:325来源:国知局
一种低功耗唤醒方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种低功耗唤醒方法及装置。



背景技术:

目前,微控制器芯片广泛应用于各个领域,例如,家用电器、医疗器械、工业控制、远程设备、办公设备、玩具以及嵌入式系统等。

在微控制器芯片的设计中,功耗为其中一个比较重要的影响参数,芯片的功耗越高,寿命越短,因此,在微控制器的芯片设计中主要是采用将芯片断电或者关闭时钟来降低功耗,而微控制器芯片由于其应用需求,需要对芯片进行唤醒达到实时响应的功能,故,低功耗的芯片唤醒设计变得越来越重要。

在目前的低功耗唤醒方法中,微控制器芯片的管脚中只有几个固定的管脚能够支持唤醒功能,由于可低功耗唤醒的管脚有限且管脚固定,导致板级开发的时候并不灵活,复杂度加大,布线需要考虑输入输出的管脚的位置,使用不够方便。



技术实现要素:

本发明的目的是提供一种低功耗唤醒方法及装置,以提高芯片应用的灵活性。

本发明的目的是通过以下技术方案实现的:

第一方面,本发明提供一种低功耗唤醒方法,包括:

在芯片的低功耗模式下,配置芯片管脚中的输入信号;

对所述输入信号进行信号检测,并在所述输入信号的电平发生变化时,输出中断唤醒信号,对所述芯片进行唤醒。

可选的,配置芯片管脚中的输入信号,包括:

对所述芯片的管脚进行分组;

针对每一组芯片的管脚,利用输入选择器或逻辑运算器配置所述每一组芯片的管脚中的输入信号。

可选的,所述方法还包括:

将所述每一组芯片的管脚中的输入信号保存在第一寄存器中,并将所述中断唤醒信号保存在第二寄存器中。

可选的,所述方法还包括:

利用所述第二寄存器中保存的中断唤醒信号,以及所述第一寄存器中保存的每一组芯片的管脚中的输入信号,确定发生电平变化的芯片管脚。

第二方面,本发明提供一种低功耗唤醒装置,包括:

配置单元,用于在芯片的低功耗模式下,配置芯片管脚中的输入信号;

检测单元,用于对所述配置单元配置的输入信号进行信号检测;

唤醒单元,用于在检测单元检测到的所述输入信号的电平发生变化时,输出中断唤醒信号,对所述芯片进行唤醒。

可选的,所述配置单元具体用于按如下方式配置芯片管脚中的输入信号:

对所述芯片的管脚进行分组;

针对每一组芯片的管脚,利用输入选择器或逻辑运算器配置所述每一组芯片的管脚中的输入信号。

可选的,所述装置还包括:保存单元,具体用于将所述每一组芯片的管脚中的输入信号保存在第一寄存器中,并将所述中断唤醒信号保存在第二寄存器中。

可选的,所述装置还包括确定单元,用于利用所述第二寄存器中保存的中断唤醒信号,以及所述第一寄存器中保存的每一组芯片的管脚中的输入信号,确定发生电平变化的芯片管脚。

第三方面,本发明提供一种低功耗唤醒装置,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行第一方面所述的方法。

第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面所述的方法。

本发明提供了一种低功耗唤醒方法及装置,在低功耗模式下,配置芯片管脚中的输入信号,对输入信号进行信号检测,并在输入信号的电平发生变化时,确定发生变化的信号所对应的管脚,利用该管脚对芯片进行唤醒,通过对芯片的管脚进行输入信号的配置,使得芯片的所有输入输出管脚都具有低功耗唤醒的功能,从而提高芯片应用的灵活性。

附图说明

图1为本申请实施例提供的一种低功耗唤醒方法流程图;

图2为本申请实施例提供的一种低功耗唤醒电路图;

图3为本申请实施例提供的另一种低功耗唤醒电路图;

图4为本申请实施例提供的一种io源选择电路图;

图5为本申请实施例提供的一种低功耗唤醒装置的结构框图;

图6为本申请实施例提供的另一种低功耗唤醒装置示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,在低功耗唤醒的芯片设计方案中,在低功耗模式下,能够支持唤醒的芯片管脚只有几个固定的管脚,这大大限制了系统电路板的制作,降低了应用的灵活性。

有鉴于此,本申请实施例提供了一种低功耗唤醒方法及装置,通过在低功耗模式下,配置芯片管脚中的输入信号,并对输入信号进行信号检测,当检测到输入信号的电平发生变化时,输出中断唤醒信号对芯片进行唤醒,从而使得芯片的所有输入输出管脚都具有低功耗唤醒的功能,从而提高芯片应用的灵活性。

需要理解的是,在下文的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

图1所示为本申请实施例提供的一种低功耗唤醒方法流程图,图1所示方法的执行主体可以为一种低功耗唤醒装置,参阅图1所示,该方法包括:

s101:在芯片的低功耗模式下,配置芯片管脚中的输入信号。

s102:对输入信号进行信号检测。

s103:在输入信号的电平发生变化时,输出中断唤醒信号,对芯片进行唤醒。

具体的,配置芯片管脚中的输入信号,可包括:对芯片的管脚进行分组,并针对每一组芯片的管脚,利用输入选择器或逻辑运算器配置每一组芯片的管脚中的输入信号,通过对芯片管脚进行分组,使得能够输出较多的中断源,达到提高定位唤醒源准确性的效果。

以下将结合图2对上述涉及到的步骤进行详细说明,如图2所示。其中,io唤醒模块可包括:io源选择电路、检测电路以及寄存电路。

在图2中,各部分功能如下:

io(inputandoutput,输入输出):芯片上的输入输出管脚,通常以组区分,比如64pin的芯片,可能分为4组io,每组io有16个。

io唤醒模块:主要是选择io输入源选择,输入信号边沿变化检测,并触发中断给cpu和pc模块。

cpu(centerprocessunit,中央处理器):芯片中用于处理指令,数据,控制其他外设等,是芯片的核心部件。

nvic(nestvectorinterruptcontroller,嵌套向量中断控制器):cpu中负责中断处理的部分。

pc(powercontroller,电源控制器):芯片中的电源管理系统,主要负责进行区域断电和上电的功能。

rcc(resetandclockcontroller,复位和时钟控制器):负责控制芯片内部各个外设的时钟和复位信号。

边沿检测电路:检测输入信号的边沿变化,可选上升沿检测或者下降沿检测或者两者都可。

io源选择寄存器(0-m):对每组的io输入进行选择,可以选择其中一个,也可以选择所有同时进入。

pes(peripheraleventsystem,外设事件管理系统):主要是输入信号边沿变化检测,并触发中断给cpu和pc模块。

本申请实施例中,可将芯片管脚分为m组port,分别为port0、port1…portm,每组ioport有n个io。

结合图2所示框图对图1所示方法的流程图进行说明,具体如下:在低功耗模式下,利用io源选择电路对芯片的管脚进行输入信号的选择,可以选择一个管脚,也可以选择多个管脚,对此本申请实施例不作限定。

io源选择电路的输出为待检测的输入信号,将输入信号输入到信号检测电路中,对选择的输入信号进行信号检测,经过信号检测电路后,可输出中断唤醒信号。

需要说明的是,输出中断唤醒信号之后对系统如何进行供电唤醒在下文中将会详细描述在此不做说明。

可以理解的是,图2中的信号检测电路为边沿检测电路,也可以为其它的信号检测电路,本申请实施例对此不作限定。

图2中的中断唤醒信号保存在rs触发器中,也可以保存在寄存器中,具体的可参阅图3所示。

需要说明的是,图2和图3所示框图仅是唤醒信号保存的位置不同,故,在此不再对图3作过多赘述。

进一步的,本申请实施例中可将每一组芯片的管脚中的输入信号保存在第一寄存器中,并将中断唤醒信号保存在第二寄存器中。

需要说明的是,第一寄存器为io源选择电路中的寄存器,第二寄存器为信号检测电路之后输出的中断唤醒信号所保存的寄存器。

可以理解的是,将芯片进行分组后,由于每一组只有一个信号检测电路,故,每一组都可输出一个中断唤醒信号。

具体的,芯片分组后,port1中的全部io可与一个io选择模块相连接,该io选择模块的输出与一个边沿检测模块相连接。port2到portn的连接方式与port1相同。

如图4所示为本申请实施例提供的一种io源选择电路图,参阅图4所示,首先配置多路选择器或者或逻辑运算器中哪个或哪几个io作为输入,然后通过二选一输入选择器选择信号检测电路的输入来自多路选择器的输出还是或逻辑的输出。

可以理解的是,通过多路选择器选择的输入或者或逻辑配置的输入都可保存在io源选择寄存器中,并且二选一选择器最终选择的输入也可保存在io源选择寄存器中。

cpu在进入睡眠状态或者断电状态之前,需要进行上述输入信号选择的配置,在进入睡眠状态或者断电状态之后,被选中的io输入信号的电平变化一直被信号检测电路检测,当检测到io输入信号的电平发生变化后,输出唤醒信号,该唤醒信号可被锁存在寄存器中,同时,该唤醒信号可经过io唤醒模块的或逻辑,发出中断,该中断一边输送到cpu,另一边输送到pc模块,以实现对芯片的唤醒。

若cpu此时在断电状态,那么pc模块接收到唤醒信号后,会将芯片正常供电,让cpu和外设开始工作,rcc接收到供电后,开始恢复芯片的时钟和复位信号,cpu在恢复正常供电和时钟后,处理io唤醒模块发出的中断,可以在io唤醒模块寄存器中找到相应的那一组io唤醒的标志信号,然后根据io源选择寄存器的配置,判断出是哪一个管脚的电平发生变化。

若此时cpu在睡眠状态,当接收到io唤醒发送的中断后,可以直接进行工作,处理io唤醒发出的中断,可以在io唤醒模块寄存器中找到相应的那一组io唤醒的标志信号,并根据io源选择寄存器的配置,判断出是哪一个管脚的电平发生变化。

在本申请实施例中,可以理解为:利用第二寄存器中保存的中断唤醒信号,以及第一寄存器中保存的每一组芯片的管脚中的输入信号,确定发生电平变化的芯片管脚。

综上,本申请实施例可以先将芯片的管脚进行分组,分为port0,port1直到portn,每组里面的具体管脚数量可以为任意值,然后每组管脚都接入io源选择电路,在选择电路中可以选择一个或者多个管脚作为输入信号,将io源选择电路的输出信号输入到检测电路中,进行检测,当输入信号发生电平变化时,检测电路输出唤醒信号唤醒系统,唤醒信号经过寄存器可以被锁存,当系统被唤醒后,cpu可以根据io源选择电路中寄存器的配置和寄存器锁存的唤醒信息,定位到具体的唤醒管脚。

基于与上述一种低功耗唤醒方法实施例相同的构思,本发明实施例还提供了一种低功耗唤醒装置。图5所示为本申请实施例提供的一种低功耗唤醒装置的结构框图,包括:配置单元101、检测单元102、唤醒单元103。

其中,配置单元101,用于在芯片的低功耗模式下,配置芯片管脚中的输入信号。

检测单元102,用于对配置单元101配置的输入信号进行信号检测。

唤醒单元103,用于在检测单元102检测到的输入信号的电平发生变化时,输出中断唤醒信号,对芯片进行唤醒。

具体的,配置单元102具体用于按如下方式配置芯片管脚中的输入信号:

对芯片的管脚进行分组;针对每一组芯片的管脚,利用输入选择器或逻辑运算器配置所述每一组芯片的管脚中的输入信号。

进一步的,该装置还包括:保存单元104,具体用于将每一组芯片的管脚中的输入信号保存在第一寄存器中,并将中断唤醒信号保存在第二寄存器中。

更进一步的,该装置还包括:确定单元105,用于利用第二寄存器中保存的中断唤醒信号,以及第一寄存器中保存的每一组芯片的管脚中的输入信号,确定发生电平变化的芯片管脚。

需要说明的是,本发明实施例中上述涉及的低功耗唤醒装置中各个单元的功能实现可以进一步参照相关方法实施例的描述,在此不再赘述。

本申请实施例还提供另外一种低功耗唤醒装置,如图6所示,该装置包括:

存储器202,用于存储程序指令。

收发机201,用于接收和发送低功耗唤醒的指令。

处理器200,用于调用所述存储器中存储的程序指令,根据收发机201接收到的指令按照获得的程序执行本申请实施例所述的任一方法流程。处理器200用于实现图5所示的唤醒单元(103)所执行的方法。

其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器200代表的一个或多个处理器和存储器202代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。

收发机201可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。

处理器200负责管理总线架构和通常的处理,存储器202可以存储处理器200在执行操作时所使用的数据。

处理器200可以是中央处理器(cpu)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)。

本申请实施例还提供了一种计算机存储介质,用于储存为上述本申请实施例中所述的任一装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1