[发明专利]基于时间戳和计数器的时钟装置及其实现方法在审
申请号: | 201610067032.2 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105717979A | 公开(公告)日: | 2016-06-29 |
发明(设计)人: | 高彦斌;孟祥军;何军田;李伟硕 | 申请(专利权)人: | 山东鲁能智能技术有限公司 |
主分类号: | G06F1/14 | 分类号: | G06F1/14 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250101 山东省济南市高新区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 时间 计数器 时钟 装置 及其 实现 方法 | ||
技术领域
本发明涉及系统时钟技术领域,具体涉及一种基于时间戳和计数器的时钟装置及其实现 方法。
背景技术
本发明中提到了两种时间:
(1)日历时间:直观的时间形式,将时间表示为年、月、日、时、分、秒、毫秒;
(2)系统时间:基于时间戳的时间表示形式,将时间表示为从时间戳开始经历的秒数+毫 秒数,是在嵌入式系统内部表示时间的形式;
这两种时间只是表示形式不一样,都可以用来表示某一时刻的时间,这两种形式的时间 可以互相转换。
在需要时标的嵌入式应用中,需要硬件或软件提供一种时间机制,系统需要提供一个实 时运行的时钟供应用程序随时调用,往往该时钟需要包含年月日时分秒等信息。
现有的一种解决方案是使用芯片内部或外部的实时时钟(Real-TimeClock,以下简称 RTC)。这种方式的优点是比较简单,应用程序可以直接读取日历时间,无需额外的软件支持。 但是也存在如下缺点:
1.可提供的时钟精度较低,一般的RTC只能够提供精确到秒的时钟,对于一些需要精确 到毫秒及更高精度的应用这种方式就不适用了;
2.有些芯片没有真正意义上的RTC模块,使用外部RTC无疑会增加硬件成本;
3.使用外部RTC会带来总线读取延迟,导致读取到的时钟实时性降低。
现有的另外一种解决方案是使用定时器中断辅以进位算法来维护一段内存数据,数据中 包含年月日时分秒的信息,定时器每中断一次使时钟数据相应的加一。这种方式对芯片要求 最低,任何有定时器的芯片均可实现。但这种基于中断+全局变量的方式极容易产生临界和并 发的问题,如果软件不加以控制,应用程序读取到的时钟很可能是一个残缺的时钟,不方便 应用程序随时调用,不适用于对时钟要求比较严格的应用。
发明内容
本发明的目的就是为了解决上述问题,提出了一种基于时间戳和计数器的时钟装置及其 实现方法,该装置及方法是完全的硬件时钟,运行过程无需软件干预,适用于高精度应用、 实时应用以及无硬件RTC的应用场合。
为了实现上述目的,本发明采用如下技术方案:
一种基于时间戳和计数器的时钟装置,包括:依次连接的第一计数器和第二计数器;所 述第一计数器作为第二计数器的预分频器,第一计数器的每个计数周期均能够向第二计数器 产生一个进位信号驱动第二计数器加1;所述第一计数器在计数周期结束后自动重装载,自 动开始下一个计数周期。
将第一计数器的计数周期设置成1S,第二计数器的值用来表示秒值,第一计数器的值用 来推算出毫秒、微秒、纳秒或者更高时间精度的值,系统时间即用第一计数器值和第二计数 器值来表示。
所述第一计数器在需要毫秒、微秒精度时选用16位以上的计数器,在需要纳秒以上精度 时选用32位以上的计数器;所述第二计数器选用32位以上的计数器。
一种基于时间戳和计数器的时钟装置的实现方法,包括:
将第一计数器的计数周期设置成1S,即每秒向第二计数器产生一个进位信号,第二计数 器每秒加1;
读取系统时间时,连续读两遍,判断两次读取到的第二计数器的值是否一致,若一致则 取第一次读到的值,若不一致则取第二次读到的值;
定义日历时间的数据结构,分别进行从日历时间到系统时间的转换以及系统时间到日历 时间的转换。
将时间戳定义为2000年1月1日0时0分0秒0毫秒。
所述系统时间到日历时间的转换方法具体为:
将系统时间中第二计数器的值转换成日历时间中的年、月、日、时、分、秒;
将系统时间中第一计数器的值转换成日历时间中的毫秒、微秒或纳秒;
将根据第二计数器计算的年、月、日、时、分、秒以及第一计数器得到的时间值组合在 一起,得到日历时间。
根据第二计数器的秒值,分别计算出从自定义时间戳开始的年、月、日、时、分、秒的 值;
具体方法如下:
根据秒值计算分钟数,根据分钟数计算小时数,根据小时数计算天数,根据天数计算年 数,再计算出当年的月数和当年的天数;
其中,根据天数计算年数的时候,假定所有年都是平年,计算出整年数和剩余天数m;
计算整年数中的闰年数n;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东鲁能智能技术有限公司,未经山东鲁能智能技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610067032.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理方法及电子设备
- 下一篇:多用途笔