各位好
我最近被要求要理解 Android 手机的时间计算机制与校正机制
先来说说我目前理解的内容好了
关于时间计算:
1.处理器内部的计时器,如果是多核心还可能有多个计时器不同用途
2.主机板设计的计时器,通常适用于获取目前时间与关机时持续计时 (通常有颗小电池)
3.其他接收芯片计时器,因各种无限电波需要不同的计时器避免干扰
关于时间校正:
1.接收行动基地台的时间
2.接收网络服务器的NTP时间
3.接收GPS讯号的卫星定位时间
4.接收地区Radio Clock电波时间 (许多电子钟以这种方式校正)
其实我还想到有其他计时的方式,只是不知道可不可行,就是以重力计和磁场计换算时间
因为太阳与地磁的磁场有不同的振动频率,如果能测得其高频讯号,理论上可以用这方式
理论上GPS讯号是最准确的,因为要以GPS卫星的接收时间差算出目前所在位置,只是呢..
有时候GPS卫星会有特殊模式可以隐蔽目前的时间只能定位但不知道实际正确的时间为何.
所以基本上行动基地台的时间已经足够的准确可以当日常生活中校时的依据但不能有假的
至于网络服务器的NTP时间就与你所连结的无线网络也有直接关联毕竟真的有时候很不准确
最后就是Radio Clock电波时间,我知道有时候我车上的电波时钟会被校时而瞬间跳动时间
例如从 6:30 跳到 7:20 但时这都和我的电池有关系,好像有时候不准确或受到特殊干扰.
不知道 Android 手机有没有开放可以选择不同的校时机制或是让使用者看到不同较时时间
因为我想换成电波时钟,不然每次出发去学校好像时间过得快!平常开同样路只要五分钟.
我有经验是没塞车的5分钟的路程而手机确跳了15分钟让我迟到,且车上多个钟也跳不同速
当然也有时候觉得过了10分钟可是时钟只跳了5分钟,我有买振子时钟放在家里所以很生气
因为这些校时如果有不同区域不同时间,然后透过渐进分布的方式校正时间那真的很恐怖!
先谢过大家了,这让我想起以前的天气时钟真的非常重要还可以看天气来决定是否出门呢!
希望能有人推荐一下校时的方式,目前我是用多组NTP放在手机中但有时候网络会影响一切