唤醒芯片的方法、装置、电子设备和存储介质与流程

文档序号:29416493发布日期:2022-03-26 13:14阅读:292来源:国知局
唤醒芯片的方法、装置、电子设备和存储介质与流程

1.本技术实施例涉及芯片设计技术领域,特别涉及一种唤醒芯片的方法、装置、电子设备和存储介质。


背景技术:

2.低功耗芯片设计是本世纪以来最重要的新兴设计方法,可以说没有低功耗芯片设计,就没有今天的智能手机,移动设备,物联网,及高性能计算等产业,随着芯片体积、尺寸朝着越来越小的方向发展,低功耗芯片设计在现在及未来的芯片涉及技术中会起到越来越重要的作用,芯片的睡眠模式就是一种有效降低芯片功耗的手段,在满足需要的情况下,芯片进入休眠模式(掉电模式),整个芯片只有用于唤醒芯片的唤醒模块仍处于正常工作状态,唤醒模块收到唤醒指令后,可以控制芯片退出睡眠模式,回到正常工作模式中。
3.然而,本技术的发明人发现,使用唤醒模块或类似于唤醒模块来对睡眠状态的芯片进行唤醒的技术方案,需要保证唤醒模块一直处于正常工作状态,唤醒模块不能掉电,一旦唤醒模块掉电,芯片则无法被唤醒,一直处于正常工作状态的唤醒模块也会增加芯片的功耗,无法满足芯片的超低功耗的需求。


技术实现要素:

4.本技术实施例的目的在于提供一种唤醒芯片的方法、装置、电子设备和存储介质,可以最大限度地降低芯片的功耗,满足芯片的超低功耗的需求。
5.为解决上述技术问题,本技术的实施例提供了一种唤醒芯片的方法,包括以下步骤:若检测到芯片有待接收数据,则开启所述芯片的异步收发器的电源开关;其中,所述芯片处于睡眠状态,所述芯片设置有异步收发器和唤醒模块,所述唤醒模块集成在所述异步收发器中;通过所述异步收发器接收所述待接收数据;检测所述待接收数据中是否包含唤醒指令;若所述待接收数据中包含唤醒指令,则通过所述唤醒模块生成唤醒信号;其中,所述唤醒信号用于控制所述芯片进入工作状态;若所述待接收数据中不包含唤醒指令,则关闭所述异步收发器的电源开关。
6.本技术的实施例还提供了一种唤醒芯片的装置,包括:开关控制模块、异步收发器和唤醒模块,所述唤醒模块集成在所述异步收发器中;所述开关控制模块用于在检测到芯片有待接收数据时,开启所述异步收发器的电源开关;所述异步收发器用于接收所述待接收数据,并将所述待接收数据发送至所述唤醒模块;所述唤醒模块用于检测所述待接收数据中是否包含唤醒指令,当所述待接收数据中包含唤醒指令时,生成唤醒信号,当所述待接收数据中不包含唤醒指令时,控制所述开关控制模块关闭所述异步收发器的电源开关;其中,所述唤醒信号用于控制所述芯片进入工作状态。
7.本技术的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述唤
醒芯片的方法。
8.本技术的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述唤醒芯片的方法。
9.本技术实施例提供的唤醒芯片的方法、装置、电子设备和存储介质,芯片设置有异步收发器和唤醒模块,唤醒模块集成在异步收发器中,芯片处于睡眠状态时,若检测到芯片有待接收数据,则开启芯片的异步收发器的电源开关,使异步收发器和唤醒模块上电,再通过异步收发器接收待接收数据,并检测待接收数据中是否包含唤醒指令,若待接收数据中包含唤醒指令,则通过唤醒模块生成唤醒信号,从而控制芯片退出睡眠状态,进入工作状态,若待接收数据中不包含唤醒指令,则关闭异步收发器的电源开关,继续睡眠状态,考虑到使用一直处于正常工作状态的唤醒模块来唤醒芯片的技术方案中,一直处于正常工作状态的唤醒模块也会增加芯片的功耗,而本技术的实施例采用双唤醒策略来唤醒芯片,即先通过检测芯片是否有待接收数据的方式决定是否给异步收发器和唤醒模块上电,即先唤醒唤醒模块,再通过检测待接收数据中是否包含唤醒指令的方式唤醒芯片,省去了唤醒模块不必要的功耗,从而最大限度地降低芯片的功耗,满足芯片的超低功耗的需求。
10.另外,在所述芯片进入睡眠状态之前,设置所述异步收发器的外部引脚的异步规则;其中,所述异步规则包括:若所述芯片处于睡眠状态,则所述外部引脚的引脚电平为高电平,若所述芯片有待接收数据,则所述外部引脚的引脚电平为低电平;所述若检测到芯片有待接收数据,则开启所述芯片的异步收发器的电源开关,具体为:若检测到所述外部引脚的引脚电平为低电平,则开启所述异步收发器的电源开关,只需检测异步收发器的外部引脚是否发生引脚电平的变化,即可知晓芯片是否有待接收数据,决定是否给异步收发器上电,使得检测更加简单,进一步降低了芯片的功耗。
11.另外,所述检测所述待接收数据中是否包含唤醒指令,包括:检测所述待接收数据中是否包括停止位数据;若所述待接收数据中不包括停止位数据,则关闭所述异步收发器的电源开关;若所述待接收数据中包括停止位数据,则检测所述待接收数据中是否包含唤醒指令,在确定待接收数据是完整的情况下,再继续检测待接收数据中是否包含唤醒指令,若待接收数据不完整,可能是发送发错误或传输数据的通道发生故障,此时不能判断是否应唤醒芯片,则直接关闭异步收发器的电源开关,进一步降低芯片的功耗。
12.另外,所述唤醒指令中包含待唤醒芯片的身份信息,所述若所述待接收数据中包含唤醒指令,则通过所述唤醒模块生成唤醒信号,包括:若所述待接收数据中包含唤醒指令,则判断所述待唤醒芯片的身份信息中是否包括所述芯片的身份信息;若所述待唤醒芯片的身份信息中包括所述芯片的身份信息,则通过所述唤醒模块生成唤醒信号;若所述待唤醒芯片的身份信息中不包括所述芯片的身份信息,则关闭所述异步收发器的电源开关,考虑到一个模组中可能包含若干芯片,这些芯片通过总线与上位机通信,若上位机只想唤醒其中的某个或某几个芯片,则可以在唤醒指令中附上待唤醒芯片的身份信息,当唤醒模块检测到唤醒指令包含自身芯片的身份信息时再唤醒芯片,可以提升芯片唤醒的效率。
13.另外,所述唤醒指令中包含待发送数据的发送方的身份信息,所述若所述待接收数据中包含唤醒指令,则通过所述唤醒模块生成唤醒信号,包括:若所述待接收数据中包含唤醒指令,则判断所述待发送数据的发送方的身份信息是否符合预设的白名单;若所述待发送数据的发送方的身份信息符合预设的白名单,则通过所述唤醒模块生成唤醒信号;若
所述待发送数据的发送方的身份信息不符合预设的白名单,则关闭所述异步收发器的电源开关,可以有效保障芯片的安全。
附图说明
14.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
15.图1是根据本技术的一个实施例的唤醒芯片的方法的流程图一;
16.图2是根据本技术的一个实施例中提供的一种异步收发器的示意图;
17.图3是根据本技术的一个实施例中,检测待接收数据中是否包含唤醒指令的流程图;
18.图4是根据本技术的一个实施例中,若待接收数据中包含唤醒指令,则通过唤醒模块生成唤醒信号的流程图;
19.图5是根据本技术的一个实施例中,若待接收数据中包含唤醒指令,则通过唤醒模块生成唤醒信号的流程图;
20.图6是根据本技术的另一个实施例的唤醒芯片的方法的流程图二;
21.图7是根据本技术的另一个实施例的唤醒芯片的装置的示意图;
22.图8是根据本技术的另一个实施例的电子设备的结构示意图。
具体实施方式
23.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
24.本技术的一个实施例涉及一种唤醒芯片的方法,应用于唤醒芯片的装置,本实施例以及以下个各个实施例中以芯片唤醒装置为例进行说明,下面对本实施例的唤醒芯片的方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
25.本实施例的唤醒芯片的方法的具体流程可以如图1所示,包括:
26.步骤101,若检测到芯片有待接收数据,则开启芯片的异步收发器的电源开关。
27.具体而言,如图2所述,芯片设置有异步收发器和唤醒模块,唤醒模块集成在所述异步收发器中,此时芯片处于睡眠状态,芯片唤醒装置可以实时检测芯片是否有待接收数据,若芯片唤醒装置检测到芯片有待接收数据,则可以开启芯片的异步收发器的电源开关,使异步收发器和唤醒模块上电,即唤醒唤醒模块。
28.在具体实现中,芯片进入睡眠模式后,异步收发器的电源开关自动断开,此时芯片的唤醒模块也是处于掉电状态,不产生功耗,整个芯片除了保证最基本功能的alwayson常开域外,均处于掉电状态,整个芯片的功耗非常小。
29.在一个例子中,在芯片进入睡眠状态之前,芯片对应的上位机可以先设置异步收
发器的外部引脚的异步规则,包括:设置异步收发器的波特率、设置异步收发器的外部引脚异步唤醒模式等,具体可以设置为若芯片处于睡眠状态,则外部引脚的引脚电平为高电平,若芯片有待接收数据,则外部引脚的引脚电平为低电平,芯片唤醒装置在检测芯片是否有待接收数据时,可以检测到异步收发器的外部引脚的引脚电平是否发生变化,若异步收发器的外部引脚的引脚电平为低电平,芯片唤醒装置则可以开启异步收发器的电源开关,使异步收发器和唤醒模块上电,从而只需检测异步收发器的外部引脚是否发生引脚电平的变化,即可知晓芯片是否有待接收数据,决定是否给异步收发器上电,使得检测更加简单,进一步降低了芯片的功耗。
30.步骤102,通过异步收发器接收待接收数据。
31.具体而言,芯片唤醒装置在检测到芯片有待接收数据,开启芯片的异步收发器的电源开关后,可以通过异步收发器接收待接收数据。
32.在一个例子中,如图2所示,异步收发器包括接收模块和存储模块,接收模块与外部引脚连接,芯片唤醒装置在开启芯片的异步收发器的电源开关后,可以通过异步收发器的接收模块接收外部引脚上的待接收数据,并将接收到的待接收数据保存在存储模块中。
33.步骤103,检测待接收数据中是否包含唤醒指令,如果是,执行步骤104,否则,执行步骤105。
34.具体而言,芯片唤醒装置在通过异步收发器接收到待接收数据后,可以检测待接收数据中是否包含唤醒指令。
35.在一个例子中,唤醒指令为at指令,根据数据传输规则,at指令位于待接收数据的最开头,即前两个字节,将at指令作为唤醒指令可以提大地提升唤醒芯片的速度。
36.在另一个例子中,唤醒指令为预设指令,其中,预设指令不包括at指令,考虑到异步收发器上电不是瞬间完成的,可能需要一定的时间,这有可能导致异步收发器丢失待接收数据的前几个字节,也就无法收到at指令,将唤醒指令设置为处at指令外的预设指令,唤醒指令位于at指令后面的位置,可以增加唤醒芯片的容错率。
37.步骤104,通过唤醒模块生成唤醒信号。
38.具体而言,若芯片唤醒装置检测到待接收数据中包含唤醒指令,则可以通过唤醒模块生成唤醒信号,其中,唤醒信号用于控制芯片进入工作状态。
39.步骤105,关闭异步收发器的电源开关。
40.具体而言,若芯片唤醒装置检测到待接收数据中不包含唤醒指令,说明用户暂不需要唤醒该芯片,此时芯片唤醒装置直接关闭异步收发器的电源开关,进一步降低芯片的功耗。
41.本实施例,相较于使用一直处于正常工作状态的唤醒模块来唤醒芯片的技术方案而言,芯片设置有异步收发器和唤醒模块,唤醒模块集成在异步收发器中,芯片处于睡眠状态时,若检测到芯片有待接收数据,则开启芯片的异步收发器的电源开关,使异步收发器和唤醒模块上电,再通过异步收发器接收待接收数据,并检测待接收数据中是否包含唤醒指令,若待接收数据中包含唤醒指令,则通过唤醒模块生成唤醒信号,从而控制芯片退出睡眠状态,进入工作状态,若待接收数据中不包含唤醒指令,则关闭异步收发器的电源开关,继续睡眠状态,考虑到使用一直处于正常工作状态的唤醒模块来唤醒芯片的技术方案中,一直处于正常工作状态的唤醒模块也会增加芯片的功耗,而本技术的实施例采用双唤醒策略
来唤醒芯片,即先通过检测芯片是否有待接收数据的方式决定是否给异步收发器和唤醒模块上电,即先唤醒唤醒模块,再通过检测待接收数据中是否包含唤醒指令的方式唤醒芯片,省去了唤醒模块不必要的功耗,从而最大限度地降低芯片的功耗,满足芯片的超低功耗的需求。
42.在一个实施例中,检测待接收数据中是否包含唤醒指令,可以通过如图3所示的各步骤实现,具体包括:
43.步骤201,检测待接收数据中是否包括停止位数据,如果是,执行步骤202,否则,执行步骤203。
44.在具体实现中,完整的数据应该包括起始位数据、数据位数据和停止位数据,芯片唤醒装置在收到待接收数据后,先检测待接收数据中是否包括停止位数据,若待接收数据中包括停止位数据,说明收到的待接收数据是完整的,若待接收数据中不包括停止位数据,说明收到的待接收数据不完整。
45.步骤202,检测待接收数据中是否包含唤醒指令。
46.具体而言,若待接收数据中包括停止位数据,说明收到的待接收数据完整,可以使用,芯片唤醒装置再检测待接收数据中是否包含唤醒指令。
47.步骤203,关闭异步收发器的电源开关。
48.具体而言,若待接收数据中不包括停止位数据,说明收到的待接收数据不完整,可能在传输过程中发生了故障,芯片唤醒装置无法判断是否应该唤醒芯片,此时芯片唤醒装置直接关闭异步收发器的电源开关,继续保持芯片处于睡眠状态。
49.本实施例,所述检测所述待接收数据中是否包含唤醒指令,包括:检测所述待接收数据中是否包括停止位数据;若所述待接收数据中不包括停止位数据,则关闭所述异步收发器的电源开关;若所述待接收数据中包括停止位数据,则检测所述待接收数据中是否包含唤醒指令,在确定待接收数据是完整的情况下,再继续检测待接收数据中是否包含唤醒指令,若待接收数据不完整,可能是发送发错误或传输数据的通道发生故障,此时不能判断是否应唤醒芯片,则直接关闭异步收发器的电源开关,进一步降低芯片的功耗。
50.在一个实施例中,唤醒指令中包含待唤醒芯片的身份信息,若待接收数据中包含唤醒指令,则通过唤醒模块生成唤醒信号,可以通过如图4所示的各步骤实现,具体包括:
51.步骤301,若待接收数据中包含唤醒指令,则判断待唤醒芯片的身份信息中是否包括该芯片的身份信息,如果是,执行步骤302,否则,执行步骤303。
52.步骤302,通过唤醒模块生成唤醒信号。
53.步骤303,关闭异步收发器的电源开关。
54.在具体实现中,芯片通常不是单独裸露使用的,而是若干张芯片通过其他连接原件形成一个模组,即多张芯片以一个模组的形式进行使用,用户在使用时可能只需要唤醒模组中的某一个或某几个芯片,上位机下达的唤醒指令中可以携带待唤醒芯片的身份信息,芯片唤醒装置在确定待接收数据中包含唤醒指令后,可以判断待唤醒芯片的身份信息中是否包括自身芯片的身份信息,若芯片唤醒装置判断待唤醒芯片的身份信息中包括自身芯片的身份信息,说明用户需要唤醒该芯片,芯片唤醒装置通过唤醒模块生成唤醒信号,以唤醒该芯片;若芯片唤醒装置判断待唤醒芯片的身份信息中不包括自身芯片的身份信息,说明用户暂时不需要唤醒该芯片,此时芯片唤醒装置直接关闭异步收发器的电源开关。
55.本实施例,所述唤醒指令中包含待唤醒芯片的身份信息,所述若所述待接收数据中包含唤醒指令,则通过所述唤醒模块生成唤醒信号,包括:若所述待接收数据中包含唤醒指令,则判断所述待唤醒芯片的身份信息中是否包括所述芯片的身份信息;若所述待唤醒芯片的身份信息中包括所述芯片的身份信息,则通过所述唤醒模块生成唤醒信号;若所述待唤醒芯片的身份信息中不包括所述芯片的身份信息,则关闭所述异步收发器的电源开关,考虑到一个模组中可能包含若干芯片,这些芯片通过总线与上位机通信,若上位机只想唤醒其中的某个或某几个芯片,则可以在唤醒指令中附上待唤醒芯片的身份信息,当唤醒模块检测到唤醒指令包含自身芯片的身份信息时再唤醒芯片,可以提升芯片唤醒的效率。
56.在一个实施例中,唤醒指令中包含待发送数据的发送方的身份信息,若待接收数据中包含唤醒指令,则通过唤醒模块生成唤醒信号,可以通过如图5所示的各步骤实现,具体包括:
57.步骤401,若待接收数据中包含唤醒指令,则判断待发送数据的发送方的身份信息是否符合预设的白名单,如果是,执行步骤402,否则,执行步骤403。
58.具体而言,预设的白名单可以由本领域的技术人员根据实际需要进行设置,本技术的实施例对此不做具体限定。
59.步骤402,通过唤醒模块生成唤醒信号。
60.步骤403,关闭异步收发器的电源开关。
61.在具体实现中,为了防止不法分子恶意唤醒芯片,盗取芯片数据或破坏芯片功能,芯片唤醒装置在唤醒芯片之前,先判断唤醒指令即待发送数据的发送方的身份信息是否符合预设的白名单,预设的白名单中的发送方是合法的、被允许的发送方,只有在待发送数据的发送方的身份信息符合预设的白名单的情况下,芯片唤醒装置才会通过唤醒模块生成唤醒信号来唤醒芯片;当待发送数据的发送方的身份信息不符合预设的白名单时,芯片唤醒装置可以拒绝唤醒芯片,直接关闭异步收发器的电源开关来保护芯片。
62.本实施例,所述唤醒指令中包含待发送数据的发送方的身份信息,所述若所述待接收数据中包含唤醒指令,则通过所述唤醒模块生成唤醒信号,包括:若所述待接收数据中包含唤醒指令,则判断所述待发送数据的发送方的身份信息是否符合预设的白名单;若所述待发送数据的发送方的身份信息符合预设的白名单,则通过所述唤醒模块生成唤醒信号;若所述待发送数据的发送方的身份信息不符合预设的白名单,则关闭所述异步收发器的电源开关,可以有效保障芯片的安全。
63.本技术的另一个实施例涉及一种唤醒芯片的方法,下面对本实施例的唤醒芯片的方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施例的唤醒芯片的方法的具体流程可以如图6所示,包括:
64.步骤501,若检测到芯片有待接收数据,则开启芯片的异步收发器的电源开关。
65.步骤502,通过异步收发器接收待接收数据。
66.步骤503,检测待接收数据中是否包括停止位数据,如果是,执行步骤504,否则,执行步骤508。
67.步骤504,检测待接收数据中是否包括唤醒指令,如果是,执行步骤505,否则,执行步骤508。
68.步骤505,判断待唤醒芯片的身份信息中是否包括芯片的身份信息,如果是,执行
步骤506,否则,执行步骤508。
69.步骤506,判断待发送数据的发送方的身份信息是否符合预设的白名单,如果是,执行步骤507,否则,执行步骤508。
70.步骤507,通过唤醒模块生成唤醒信号。
71.步骤508,关闭异步收发器的电源开关。
72.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
73.本技术的另一个实施例涉及一种唤醒芯片的装置,下面对本实施例的唤醒芯片的装置的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施例的唤醒芯片的装置的示意图可以如图7所示,包括:开关控制模块601、异步收发器602和唤醒模块603,唤醒模块603集成在异步收发器602中。
74.开关控制模块601用于在检测到芯片有待接收数据时,开启异步收发器602的电源开关。
75.异步收发器602用于接收待接收数据,并将待接收数据发送至唤醒模块603。
76.唤醒模块603用于检测待接收数据中是否包含唤醒指令,当待接收数据中包含唤醒指令时,生成唤醒信号,当待接收数据中不包含唤醒指令时,控制开关控制模块601关闭异步收发器02的电源开关;其中,唤醒信号用于控制所述芯片进入工作状态。
77.值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本技术的创新部分,本实施例中并没有将与解决本技术所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
78.本技术另一个实施例涉及一种电子设备,如图8所示,包括:至少一个处理器701;以及,与所述至少一个处理器701通信连接的存储器702;其中,所述存储器702存储有可被所述至少一个处理器701执行的指令,所述指令被所述至少一个处理器701执行,以使所述至少一个处理器701能够执行上述各实施例中的唤醒芯片的方法。
79.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
80.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
81.本技术另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
82.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称:rom)、随机存取存储器(random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
83.本领域的普通技术人员可以理解,上述各实施例是实现本技术的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1