一种嵌入式设备的唤醒方法及系统技术方案

技术编号:28736146 阅读:16 留言:0更新日期:2021-06-06 11:43
本发明专利技术公开了一种嵌入式设备的唤醒方法及系统,其中方法包括:S101设备的微处理控制器接收到深睡定时器发出的唤醒指令从而控制设备进入到运行状态;S102设备完成执行任务操作;S103设备获取网络时间;S104设备将获取的网络时间同步到RTC中;S105读取RTC当前时间信息T

【技术实现步骤摘要】
一种嵌入式设备的唤醒方法及系统


[0001]本专利技术属于嵌入式设备物联网开发领域,尤其涉及一种嵌入式设备的唤醒方法及系统。

技术介绍

[0002]随着物联网行业的发展,各种MCU携带wifi,gps等模块的物联网设备越来越多,尤其是基于NBIOT的窄带物联网设备,对设备功耗的要求较高。这样的设备往往为了降低功耗而长期处于休眠状态,通过定时唤醒或在需要的时刻唤醒后进入工作状态。在某些应用场景中,设备不仅仅需要准确的间隔唤醒时间,还要求设备在预期的某一特定时刻保证会被唤醒。但是,一些移动的物联网设备,有时会出现联网盲区的情况下,无法一直利用网络同步时间来保证设备在预设时间的唤醒。如设计一种嵌入式设备的唤醒方法及系统,在网络时间无法同步到设备的情况下,仍能保持在预定的时间将设备唤醒,将解决上述问题,使物联网设备的使用更加高效便捷。

技术实现思路

[0003]本专利技术的目的是提供一种嵌入式设备的唤醒方法及系统。
[0004]本专利技术所提供的嵌入式设备的唤醒方法,包括如下步骤:
[0005]S101设备的微处理控制器接收到深睡定时器发出的唤醒指令从而控制设备进入到运行状态;
[0006]S102设备完成执行任务操作;
[0007]S103设备获取网络时间;
[0008]S104设备将获取的网络时间同步到RTC中;
[0009]S105读取RTC当前时间信息T
REC

[0010]S106根据RTC当前时间信息T
RECr/>计算下次唤醒设备的时间信息T
WAK

[0011]S107将下次唤醒设备的时间信息保存在深睡定时器中,将深睡定时器设置为当定时器计时达到下次唤醒设备的时间时,深睡定时器向微处理控制器发出唤醒指令;
[0012]S108设备进入深度睡眠。
[0013]所述S106根据RTC当前时间信息计算下次唤醒设备的时间信息的步骤,包括:
[0014]S1061设定睡眠周期ΔT;
[0015]S1062通过T
WAK
=T
REC
+ΔT的算法计算获得下次唤醒设备的时间信息T
WAK

[0016]本专利技术还提供另一种嵌入式设备的唤醒方法,包括如下步骤:
[0017]S201嵌入式设备记录第一次启动或唤醒的时间,该时间表示嵌入式设备系统的运行初始时间T
O

[0018]S202嵌入式设备在运行状态处理核心任务;
[0019]S203嵌入式设备读取唤醒间隔参数信息T
heartbeat
及嵌入式设备必须唤醒的时间信息T
WAKE

[0020]S204执行获取当前网络时间T
NOW
,并判断当前网络时间T
NOW
获取是否成功,如当前网络时间T
NOW
获取成功,执行第一睡眠唤醒步骤;如当前网络时间T
NOW
获取失败,执行第二睡眠唤醒步骤。
[0021]所述第一睡眠唤醒步骤,包括:
[0022]S20511将获取到的当前网络时间T
NOW
转换为UTC时间戳;
[0023]S20512判断当前网络时间T
NOW
是否已超过嵌入式设备必须唤醒的时间信息T
WAKE
,如是则执行网络时间补偿操作后,再执行步骤S20513;如否,则直接执行步骤S2053;所述网络时间补偿操作按照算法T
WAKE
=T
NOW
+(T
NOW

T
WAKE
)%(24*3600)计算操作执行;
[0024]S20513按照算法ΔT=(T
WAKE

T
NOW
)%T
heartbeat
进行运算处理;
[0025]S20514判断嵌入式设备必须唤醒的时间信息T
WAKE
与当前网络时间T
NOW
的时间差与唤醒间隔参数信息T
heartbeat
进行比对,当嵌入式设备必须唤醒的时间信息T
WAKE
与当前网络时间T
NOW
的时间差大于唤醒间隔参数信息T
heartbeat
时,执行步骤S20515;
[0026]S20515按照算法T
slp
=ΔT+T
heartbeat
计算出当前时间下还需睡眠的时间信息T
slp;
[0027]S20516将还需睡眠的时间信息T
slp
设定熟睡定时器,从而在设定的时间执行唤醒,进入工作状态。
[0028]所述第二睡眠唤醒步骤,包括:
[0029]S20521记录当前一次开机或唤醒嵌入式设备的本地时间戳T
BOOT

[0030]S20522记录写入深睡定时器前的本地时间戳T
RUN

[0031]S20523按照算法T
slp
=T
heartbeat

(T
RUN

T
BOOT
)%T
heartbeat
计算出当前时间下还需睡眠的时间信息T
slp

[0032]S20524将还需睡眠的时间信息T
slp
设定熟睡定时器,从而在设定的时间执行唤醒,进入工作状态。
[0033]本专利技术还提供一种嵌入式设备的唤醒系统,包括如下步骤:
[0034]用于设备的微处理控制器接收到深睡定时器发出的唤醒指令从而控制设备进入到运行状态的模块;
[0035]用于设备完成执行任务操作的模块;
[0036]用于设备获取网络时间的模块;
[0037]用于设备将获取的网络时间同步到RTC中的模块;
[0038]用于读取RTC当前时间信息T
REC
的模块;
[0039]用于根据RTC当前时间信息T
REC
计算下次唤醒设备的时间信息T
WAK
的模块;
[0040]用于将下次唤醒设备的时间信息保存在深睡定时器中,将深睡定时器设置为当定时器计时达到下次唤醒设备的时间时,深睡定时器向微处理控制器发出唤醒指令的模块;
[0041]用于设备进入深度睡眠的模块。
[0042]所述用于根据RTC当前时间信息T
REC
计算下次唤醒设备的时间信息T
WAK
的模块,包括:
[0043]用于设定睡眠周期ΔT的子模块;
[0044]用于通过T
WAK
=T
REC
+ΔT的算法计算获得下次唤醒设备的时间信息T
W本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种嵌入式设备的唤醒方法,其特征在于,包括如下步骤:S101设备的微处理控制器接收到深睡定时器发出的唤醒指令从而控制设备进入到运行状态;S102设备完成执行任务操作;S103设备获取网络时间;S104设备将获取的网络时间同步到RTC中;S105读取RTC当前时间信息T
REC
;S106根据RTC当前时间信息T
REC
计算下次唤醒设备的时间信息T
WAK
;S107将下次唤醒设备的时间信息保存在深睡定时器中,将深睡定时器设置为当定时器计时达到下次唤醒设备的时间时,深睡定时器向微处理控制器发出唤醒指令;S108设备进入深度睡眠。2.如权利要求1所述的嵌入式设备的唤醒方法,其特征在于,所述S106根据RTC当前时间信息计算下次唤醒设备的时间信息的步骤,包括:S1061设定睡眠周期ΔT;S1062通过T
WAK
=T
REC
+ΔT的算法计算获得下次唤醒设备的时间信息T
WAK
。3.一种嵌入式设备的唤醒方法,其特征在于,包括如下步骤:S201嵌入式设备记录第一次启动或唤醒的时间,该时间表示嵌入式设备系统的运行初始时间T
O
;S202嵌入式设备在运行状态处理核心任务;S203嵌入式设备读取唤醒间隔参数信息T
heartbeat
及嵌入式设备必须唤醒的时间信息T
WAKE
;S204执行获取当前网络时间T
NOW
,并判断当前网络时间T
NOW
获取是否成功,如当前网络时间T
NOW
获取成功,执行第一睡眠唤醒步骤;如当前网络时间T
NOW
获取失败,执行第二睡眠唤醒步骤。4.如权利要求3所述的嵌入式设备的唤醒方法,其特征在于,所述第一睡眠唤醒步骤,包括:S20511将获取到的当前网络时间T
NOW
转换为UTC时间戳;S20512判断当前网络时间T
NOW
是否已超过嵌入式设备必须唤醒的时间信息T
WAKE
,如是则执行网络时间补偿操作后,再执行步骤S20513;如否,则直接执行步骤S2053;所述网络时间补偿操作按照算法T
WAKE
=T
NOW
+(T
NOW

T
WAKE
)%(24*3600)计算操作执行;S20513按照算法ΔT=(T
WAKE

T
NOW
)%T
heartbeat
进行运算处理;S20514判断嵌入式设备必须唤醒的时间信息T
WAKE
与当前网络时间T
NOW
的时间差与唤醒间隔参数信息T
heartbeat
进行比对,当嵌入式设备必须唤醒的时间信息T
WAKE
与当前网络时间T
NOW
的时间差大于唤醒间隔参数信息T
heartbeat
时,执行步骤S20515;S20515按照算法T
slp
=ΔT+T
heartbeat
计算出当前时间下还需睡眠的时间信息T
slp;
S20516将还需睡眠的时间信息T
slp
设定熟睡定时器,从而在设定的时间执行唤醒,进入工作状态。5.如权利要求4所述的嵌入式设备的唤醒方法,其特征在于,所述第二睡眠唤醒步骤,包括:
S20521记录当前一次开机或唤醒嵌入式设备的本地时间戳T
BOOT
;S20522记录写入深睡定时器前的本地时间戳T
RUN
;S20523按照算法T
slp
=T
heartbeat

(T
RUN

T
BOOT...

【专利技术属性】
技术研发人员:滕景东
申请(专利权)人:上海锐伟电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1