发明名称 |
有利于低功耗的无累计误差的动态时长定时器实现方法 |
摘要 |
本发明涉及一种有利于低功耗的无累计误差的动态时长定时器实现方法。其特征在于相对时间单元是系统从开机到现在所经过的时间;时间中断服务单元负责更新软件定时器的运行时间,根据最近软件定时器超时时间,设置下一次的硬件时钟源中断产生时间,同时激活定时器处理任务单元;定时器处理任务单元根据当时相对时间单元时间判断软件定时器节点是否到达定时时间,定时器超期则执行预定处理单元的定时器超期处理方法,根据定时器类型判断是循环定时器还是非循环定时器执行相关操作;定时器管理单元负责相关初始化及定时器节点的插入、删除操作。本发明避免了由于CPU执行中断服务程序而产生的时间偏差和累计误差,实现了动态可变长定时以降低功耗。 |
申请公布号 |
CN104834347A |
申请公布日期 |
2015.08.12 |
申请号 |
CN201510212549.1 |
申请日期 |
2015.04.29 |
申请人 |
杭州东信捷峻科技有限公司 |
发明人 |
宫尚;周冬生;苏碎洲;高东;张宗军 |
分类号 |
G06F1/08(2006.01)I |
主分类号 |
G06F1/08(2006.01)I |
代理机构 |
杭州浙科专利事务所(普通合伙) 33213 |
代理人 |
吴秉中 |
主权项 |
有利于低功耗的无累计误差的动态时长定时器实现方法,其特征在于由相对时间单元、时钟中断服务单元、定时器处理任务单元、定时器管理单元和预定处理单元配合实现,所述的相对时间单元是系统从开机到现在所经过的时间,由硬件定时器B构成,配置后持续运行,不会随系统时间的变化而变化,能够用来准确的计算时间;所述的时间中断服务单元负责更新软件定时器的运行时间,根据最近软件定时器超时时间,设置下一次的硬件时钟源中断产生时间,同时激活定时器处理任务单元,时钟中断由硬件定时器A到期后触发中断;所述定时器处理任务单元根据当时相对时间单元时间判断软件定时器节点是否到达定时时间,如果判断为定时器超期,则执行预定处理单元的定时器超期处理方法,根据定时器类型判断是循环定时器还是非循环定时器执行相关操作;所述的定时器管理单元负责相关的初始化及定时器节点的插入、删除操作;创建定时器时,需要记录定时器定时时长、定时器类型、超期后发送的信息,根据定时器定时时长,将定时器增加到定时器等待处理链表,根据插入链表的位置,决定是否需要修改硬件时钟源的超时时间;删除定时器时,根据定时器编号,直接定位到定时器在链表中的位置,删除定时器,根据删除链表的位置,决定是否需要修改硬件时钟源的超时时间。 |
地址 |
310013 浙江省杭州市西湖区塘苗路18号华星现代产业园B座一层B106室 |