[发明专利]虚拟定时器的定时方法及其装置、电子装置有效
申请号: | 201780001891.4 | 申请日: | 2017-10-20 |
公开(公告)号: | CN109952560B | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 周永林;杨柯 | 申请(专利权)人: | 深圳市汇顶科技股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰 |
地址: | 518045 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟 定时器 定时 方法 及其 装置 电子 | ||
一种虚拟定时器的定时方法及其装置、电子装置,定时方法包括:若硬件定时器的计数的时间到其定时基准值,则进入中断阶段并停止硬件定时器(S701);在虚拟定时器刷新阶段,判断虚拟定时器队列中是否有到达定时时间的虚拟定时器(S702);若有,则执行对应的应用任务(S703);若无,则不执行对应的应用任务;根据硬件定时器从进入中断阶段时停止及其之前最近启动之间的耗时,确定进入中断阶段从硬件定时器停止的时刻开始虚拟定时器队列中的最短定时时间(S704);进入硬件定时器启动阶段并根据最短定时时间以及硬件定时器的最长定时时间更新定时基准值,退出中断阶段以重新启动硬件定时器(S705),有效提高了处理器的性能,减小处理器的负担。
技术领域
本发明实施例涉及定时器技术领域,尤其涉及一种虚拟定时器的定时方法及其装置、电子装置。
背景技术
常用的定时器可以分为硬件定时器和虚拟定时器(又称之为软件定时器)。硬件定时器具有精度高、实时性高的优点,但是对于处理器(CPU或者MCU)来说,硬件定时器的数量往往是有限的,因此难以满足需要大量定时器的场景;虚拟定时器可以满足需要大量定时器的场景,而不受硬件定时器个数的限制。
在现有技术中,一方面,虚拟定时器需要按照其中作为基准时钟的硬件定时器的最小定时周期进行刷新,并判断虚拟定时器是否到达定时时间,由此可见,当硬件定时器的定时周期越小时,虚拟定时器刷新的就越为频繁,由此导致处理器资源的负担越大。另一方面,虚拟定时器常常是附带于操作系统之中,使用虚拟定时器资源往往需要移植操作系统的整个最小内核。而对于轻量级嵌入式应用来说,由于其处理器的资源有限,当应用在复杂应用场景下,使用虚拟定时器都得需要移植操作系统的整个最小内核的话,会加大处理器资源的浪费。
发明内容
有鉴于此,本发明实施例所解决的技术问题之一在于提供一种虚拟定时器的定时方法及其装置、电子装置,用以克服现有技术中上述技术缺陷。
本发明实施例提供了一种虚拟定时器的定时方法,其包括:
若硬件定时器的计数的时间到其定时基准值,则进入中断阶段并停止所述硬件定时器;
在虚拟定时器刷新阶段,判断虚拟定时器队列中是否有到达定时时间的虚拟定时器;若有,则执行对应的应用任务;若无,则不执行对应的应用任务;
根据所述硬件定时器从进入中断阶段时所述停止及其之前最近启动之间的耗时,确定进入中断阶段从所述硬件定时器停止的时刻开始所述虚拟定时器队列中的最短定时时间;
进入硬件定时器启动阶段并根据所述最短定时时间以及所述硬件定时器的最长定时时间更新所述定时基准值,退出中断阶段以重新启动所述硬件定时器。
本发明实施例提供了一种虚拟定时器的定时装置,其包括:
中断模块,用于当硬件定时器的计数的时间到其定时基准值时,进入中断阶段并停止所述硬件定时器;
定时模块,用于在虚拟定时器刷新阶段,判断虚拟定时器队列中是否有到达定时时间的虚拟定时器;若有,则执行对应的应用任务;若无,则不执行对应的应用任务;
刷新模块,用于根据所述硬件定时器从进入中断阶段时所述停止及其之前最近启动之间的耗时,确定进入中断阶段从所述硬件定时器停止的时刻开始所述虚拟定时器队列中的最短定时时间;
启动模块,用于进入硬件定时器启动阶段并根据所述最短定时时间以及所述硬件定时器的最长定时时间更新所述定时基准值,退出中断阶段以重新启动所述硬件定时器。
本发明实施例提供了一种电子装置,其包括:硬件定时器、若干个虚拟定时器、处理器,当硬件定时器的计数的时间到其定时基准值时进入中断阶段并停止所述硬件定时器;所述处理器用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市汇顶科技股份有限公司,未经深圳市汇顶科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780001891.4/2.html,转载请声明来源钻瓜专利网。