[发明专利]高精度定时方法、装置、存储介质及处理器在审
申请号: | 202211529912.9 | 申请日: | 2022-11-30 |
公开(公告)号: | CN116225152A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 史于心;王兴兵;高向东;张东明;安凤栓;宫喜鹏 | 申请(专利权)人: | 国能智深控制技术有限公司 |
主分类号: | G06F1/08 | 分类号: | G06F1/08 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 封瑛 |
地址: | 102211 北京市昌平区未*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高精度 定时 方法 装置 存储 介质 处理器 | ||
本申请实施例提供一种高精度定时方法、装置、存储介质及处理器,属于计算机技术领域,所述方法包括:定时器初始化,并设置定时参数;获取CPU的时钟频率;根据所述时钟频率和所述定时参数确定目标事件的预设间隔时钟周期计数;确定目标事件的当前间隔时钟周期计数;当所述当前间隔时钟周期计数大于或者等于所述预设间隔时钟周期计数时,通过信号量通知目标事件的工作线程。本申请实施例所述方法定时时间精度高,相比现有的毫秒级别的定时器,可以达到百纳秒的精度级别,能够有效提升定时精度。
技术领域
本申请涉及计算机技术领域,具体涉及一种高精度定时方法、一种高精度定时装置、一种机器可读存储介质及一种处理器。
背景技术
随着大数据的发展和企业信息化的需要,火电厂需要采集、处理的数据越来越庞大,数据管理粒度也越来越精细。这对于流程控制时间的精度提出更高的要求。
在工业生产控制过程中,有许多需要定时完成的操作,例如:定时显示当前时间,定时刷新屏幕上的进度条,上位机定时向下位机发送命令和传送数据,下位机定时向上位机传输生产数据和状态等。特别是在对控制性能要求较高的控制系统和数据采集系统中,就更需要进行精确定时操作。
然而,传统定时器,仅能达到毫秒级别的精度等级,这对于数据的精细化要求是远远不够的。
发明内容
本申请实施例的目的是提供一种高精度定时方法、装置、存储介质及处理器,以解决上述背景技术中提出的问题。
为了实现上述目的,本申请第一方面提供一种高精度定时方法,所述方法包括:
定时器初始化,并设置定时参数;
获取CPU的时钟频率;
根据所述时钟频率和所述定时参数确定目标事件的预设间隔时钟周期计数;
确定目标事件的当前间隔时钟周期计数;
当所述当前间隔时钟周期计数大于或者等于所述预设间隔时钟周期计数时,通过信号量通知目标事件的工作线程。
在本申请实施例中,所述方法还包括:
当所述当前间隔时钟周期计数小于所述预设间隔时钟周期计数时,返回确定目标事件的当前间隔时钟周期计数的步骤。
在本申请实施例中,在所述通过信号量通知目标事件的工作线程之后,还包括:重置定时器,并返回确定目标事件的当前间隔时钟周期计数的步骤。
在本申请实施例中,所述获取CPU的时钟频率,包括:通过操作系统下的频率查询函数获取CPU的时钟频率。
在本申请实施例中,所述通过操作系统下的频率查询函数获取CPU的时钟频率,包括:通过windows系统下的QueryPerformanceFrequency()函数获取CPU的时钟频率。
在本申请实施例中,所述确定目标事件的当前间隔时钟周期计数,包括:获取所述目标事件的第一时钟周期计数以及第二时钟周期计数;基于所述第一时钟周期计数以及所述第二时钟周期计数,确定目标事件的当前间隔时钟周期计数。
在本申请实施例中,所述获取目标事件的第一时钟周期计数以及第二时钟周期计数,包括:通过windows系统下的QueryPerformanceCounter()函数获取所述目标事件的第一时钟周期计数以及第二时钟周期计数。
本申请第二方面提供一种高精度定时装置,所述装置包括:
初始化模块,用于定时器初始化,并设置定时参数;
时钟频率获取模块,用于获取CPU的时钟频率;
第一确定模块,用于根据所述时钟频率和所述定时参数确定目标事件的预设间隔时钟周期计数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国能智深控制技术有限公司,未经国能智深控制技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211529912.9/2.html,转载请声明来源钻瓜专利网。