嵌入式系统中时间的应用以及rtc的验证过程

在嵌入式系统中时间分为3种,分别为当前时间,系统时间,硬件时间,三种之间有一定的关联关系,如果开发板没有电池,用于保持开发板的时钟,那么当开发板断电后,时钟恢复为默认时间,一般为1970年1月1日,0时0分0秒,如果有电池且正常,可以保持时钟,那么无论开发板是否断电,时钟会保持自然走时状态,就是说,当设定正确时间后,会一直保持(当然误差不算在内),那么就可以根据这个原理来验证,一般在正规的场合验证分为2个步骤,及对时功能和守时功能。

1.验证对时功能。

1)功能是否正常

      使用date -s 命令将时间写入到系统时间,如下面的操作

查看当前系统时间

root@localhost:~# date
Tue Sep  7 15:07:09 CST 2021

查看当前硬件时间
root@localhost:~# hwclock -r
2021-09-07 15:07:17.056517+0800

将时间 2021年10月10日 10时10分10秒写入系统时间
root@localhost:~# date -s "2021/10/10 10:10:10"
Sun Oct 10 10:10:10 CST 2021

查看写入后的系统时间是否和设置一致
root@localhost:~# date
Sun Oct 10 10:10:15 CST 2021

查看写入时钟后硬件时钟是否变化,很显然,硬件时钟没有变化
root@localhost:~# hwclock -r
2021-09-07 15:07:56.068781+0800

使用命令将系统时间同步到硬件时钟
root@localhost:~# hwclock -w

查看系统时间
root@localhost:~# date
Sun Oct 10 10:10:35 CST 2021

查看硬件时间 
root@localhost:~# hwclock -r
2021-10-10 10:10:42.258456+0800

使用另外一条指令查看硬件时间
root@localhost:~# hwclock --show
2021-10-10 10:10:46.631912+0800
root@localhost:~# 


 

2)误差研究,这个就需要专业的软件了,使用软件写入卫星钟的正确时间,然后做SOE试验,查看和卫星钟的误差来分析,一般要求2ms以内。

2.守时功能

使用一个标准设备,一致和卫星钟同步时钟,另外被测试设备用卫星钟给设备对时后,断开设备和卫星钟的联系,给北侧设备断电,24小时后设备加电,将2台设备的DO变位,发送SOE,查看2个设备的SOE的时间误差,一般要求24小时误差不超过2s。

以上就是工作中经常使用的验证时钟的方法,希望有些用处。

Guess you like

Origin blog.csdn.net/mainmaster/article/details/120159878