一种嵌入式系统时间恢复方法及处理设备与流程

文档序号:27499421发布日期:2021-11-22 16:11阅读:232来源:国知局
一种嵌入式系统时间恢复方法及处理设备与流程

1.本发明涉及计算机处理器时间恢复领域,具体为一种嵌入式系统时间恢复方法及处理设备。


背景技术:

2.目前,很多嵌入系统基于成本考虑一般不会采用外部电池+外置rtc芯片(实时时钟芯片)的方法来用于保持时间,而是采用直接在处理器(mcu)中保存时间的方法,但是这种在处理器中保存时间的方法当处理器异常重启情况下,时间信息会被重置(即使主电源还在供电),对于基于时间工作的设备(如定时开关外设,每天晚上8点整开灯,第二天早上7点关灯的应用),会导致无法按照预期完成功能。


技术实现要素:

3.(一)解决的技术问题
4.针对现有技术的不足,本发明提供了一种嵌入式系统时间恢复方法及处理设备,解决了上述背景技术中提出的采用直接在处理器(mcu)中保存时间的方法,当处理器异常重启情况下,时间信息会被重置的问题。
5.(二)技术方案
6.为实现以上目的,本发明通过以下技术方案予以实现:一种嵌入式系统时间恢复方法,包括:
7.嵌入式系统正常工作时同步网关或云上的时间信息,将所述时间信息转换成utc时间戳t;
8.根据utc时间戳t和嵌入式系统的计数器能够表示的最大秒数m依据表达式:t=m*c+y,计算除数c和余数y的值;
9.将除数c存入嵌入式系统的存储器中,将余数y转化为对应的寄存值r后写入到嵌入式系统的计数器中;
10.当嵌入式系统处理器异常重启时,保持所述存储器中的除数c值不变,计数器继续运行;
11.当嵌入式系统处理器异常重启完成后,根据存储器中的除数c值和计数器中的余数y值恢复utc时间戳t,完成系统时间恢复,执行系统要求的基于时间的功能。
12.优选地,所述方法还包括:当处理器中的计数器溢出时,将除数c值加1后写回到存储器中,溢出后寄存器r自动清零。
13.优选地,所述将余数y转化为对应的寄存值r,具体为:寄存器r根据计数器的频率f和余数y进行计数,依据r=y*f进行寄存值计算。
14.优选地,所述当处理器中的计数器溢出时,将除数c值加1后写回到存储器中,溢出后寄存器r自动清零,具体为:当寄存值r大于f*m时计数器会溢出,此时除数c值加1后写回到存储器中,同时寄存值r自动清零。
15.本发明还提供一种嵌入式系统时间恢复处理设备,包括:存储器、处理器、计数器;
16.所述计数器根据自身频率进行计数;
17.所述存储器用于存储计算机程序,所述计算机程序包括程序指令;
18.所述处理器被配置调用所述程序指令,执行如前任一所述的一种嵌入式系统时间恢复方法。
19.本发明还提供一种嵌入式系统时间恢复处理装置,包括:
20.utc时间戳转换模块:用于嵌入式系统正常工作时同步网关或云上的时间信息,将所述时间信息转换成utc时间戳t;
21.时间恢复处理模块:根据utc时间戳t和嵌入式系统的计数器能够表示的最大秒数m依据表达式:t=m*c+y,计算除数c和余数y的值;
22.将除数c存入嵌入式系统的存储器中,将余数y转化为对应的寄存值r后写入到嵌入式系统的计数器中;
23.当嵌入式系统处理器异常重启时,保持所述存储器中的除数c值不变,计数器继续运行;
24.当嵌入式系统处理器异常重启完成后,根据存储器中的除数c值和计数器中的余数y值恢复utc时间戳t,完成系统时间恢复,执行系统要求的基于时间的功能。
25.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器所执行时执行如前任一所述的一种嵌入式系统时间恢复方法。
26.(三)有益效果
27.本发明提供了一种嵌入式系统时间恢复方法及处理设备。具备以下有益效果:
28.本发明提供的一种嵌入式系统时间恢复方法及处理设备,通过在处理器内设置ram存储器、计数器和软件系统,并利用utc时间戳,将除数c储存在ram储存器内,余数y储存在计数器内,当处理器(mcu)异常重启时,保存在ram存储器中的除数c保持不变,计数器内的余数y将继续运行,重启完成后软件系统会根据ram存储器中的除数c和计数器中的余数y恢复utc时间戳,进一步恢复当前时间信息,解决了现有技术中采用直接在处理器(mcu)中保存时间的方法,当处理器异常重启情况下,时间信息会被重置、无法继续执行需要基于时间的工作任务的问题。
附图说明
29.图1为本发明提供的一种嵌入式系统时间恢复方法流程图;
30.图2为本发明提供的一种嵌入式系统时间恢复处理设备结构图;
31.图3为本发明提供的一种嵌入式系统时间恢复装置结构图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
33.本发明实施例提供一种嵌入式系统时间恢复方法,如图1所示,包括:
34.s1嵌入式系统正常工作时同步网关或云上的时间信息,将所述时间信息转换成
utc时间戳t;
35.所述utc时间戳指1970年1月1日0点整到当前时间的秒数,如1970年1月1日1点的utc就是相对起始点经过了1个小时,所以utc=3600s。
36.s2根据utc时间戳t和嵌入式系统的计数器能够表示的最大秒数m依据表达式:t=m*c+y,计算除数c和余数y的值;
37.所述除数c和余数y是通过utc时间戳t和最大秒数m推导出来的,除数c的含义是记录计数器已经溢出了几次,从而在异常复位情况后恢复时间,比如计数器每隔1s溢出(m=1的情况),那每经过1s,计数器就溢出,然后c加1,c清0(y=0),此时如果恢复时间,则根据公式t=m*c+y,计算出t=1,如果计数器是每隔2s溢出(m=2的情况),则上述情况t=2。比如:现在时间是1970年1月1日0点11s,那么软件系统会先根据这个时间算出时间戳utc=11,除数c取决于两个因素:1、计数器的频率,一般都是通过处理器mcu的晶振进行一定的分频来产生的;2、计数器所支持的最大位数,这个一般都是处理器mcu本身特性决定的,不同mcu存在差异。如计数器的频率是32768hz,计数器的位数是16位(16位二进制最大可以表示65535)那一次溢出的时间就是(65535+1)/32768=2s,这里65535+1是因为要溢出,如果只到65535那不存在溢出。此时已知utc=11,m=2(m也可以根据不同mcu之间的差异选择1或其他值),这时可以根据utc和m的值计算出c和y,其中c=5,y=1,c用来保存到ram,y用来设置到计数器外设中。
38.s3将除数c存入嵌入式系统的存储器中,将余数y转化为对应的寄存值r后写入到嵌入式系统的计数器中;
39.s4当嵌入式系统处理器异常重启时,保持所述存储器中的除数c值不变,计数器继续运行;
40.s5当嵌入式系统处理器异常重启完成后,根据存储器中的除数c值和计数器中的余数y值恢复utc时间戳t,完成系统时间恢复,执行系统要求的基于时间的功能。
41.在一个实施例中,所述方法还包括:当处理器中的计数器溢出时,将除数c值加1后写回到存储器中,溢出后寄存器r自动清零。
42.例如:计数器的频率f为32768hz时,寄存值r=y*32768,当寄存值r大于32768*m时会溢出1加入到除数c中,同时寄存值自动清零。
43.在一个实施例中,所述将余数y转化为对应的寄存值r,具体为:寄存器r根据计数器的频率f和余数y进行计数,依据r=y*f进行寄存值计算。
44.在一个实施例中,所述当处理器中的计数器溢出时,将除数c值加1后写回到存储器中,溢出后寄存器r自动清零,具体为:当寄存值r大于f*m时计数器会溢出,此时除数c值加1后写回到存储器中,同时寄存值r自动清零。
45.如图2所示,本发明实施例还提供一种嵌入式系统时间恢复处理设备,包括:存储器、处理器、计数器;
46.所述计数器根据自身频率进行计数;
47.所述存储器用于存储计算机程序,所述计算机程序包括程序指令;
48.所述处理器被配置调用所述程序指令,执行如前任一所述的一种嵌入式系统时间恢复方法。
49.如图3所示,本发明实施例还提供一种嵌入式系统时间恢复处理装置,包括:
50.utc时间戳转换模块:用于嵌入式系统正常工作时同步网关或云上的时间信息,将所述时间信息转换成utc时间戳t;
51.时间恢复处理模块:根据utc时间戳t和嵌入式系统的计数器能够表示的最大秒数m依据表达式:t=m*c+y,计算除数c和余数y的值;
52.将除数c存入嵌入式系统的存储器中,将余数y转化为对应的寄存值r后写入到嵌入式系统的计数器中;
53.当嵌入式系统处理器异常重启时,保持所述存储器中的除数c值不变,计数器继续运行;
54.当嵌入式系统处理器异常重启完成后,根据存储器中的除数c值和计数器中的余数y值恢复utc时间戳t,完成系统时间恢复,执行系统要求的基于时间的功能。
55.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器所执行时执行如前任一所述的一种嵌入式系统时间恢复方法。
56.综上所述,本发明提供的一种嵌入式系统时间恢复方法及处理设备,通过在处理器内设置ram存储器、计数器和软件系统,并利用utc时间戳,将除数c储存在ram储存器内,余数y储存在计数器内,当处理器(mcu)异常重启时,保存在ram存储器中的除数c保持不变,计数器内的余数y将继续运行,重启完成后软件系统会根据ram存储器中的除数c和计数器中的余数y恢复utc时间戳,进一步恢复当前时间信息,解决了现有技术中采用直接在处理器(mcu)中保存时间的方法,当处理器异常重启情况下,时间信息会被重置、无法继续执行需要基于时间的工作任务的问题。
57.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1