各位好
我最近被要求要理解 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放在手機中但有時候網路會影響一切