在嵌入式系统中时间分为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。
以上就是工作中经常使用的验证时钟的方法,希望有些用处。
|