理論上
只要是用晶振作為時基的單片機(jī)時間鐘,在常溫下做到日差1秒之內(nèi),甚至更精準(zhǔn)是應(yīng)該極易達(dá)成的。
只是許多人并不知道如何達(dá)成這個目標(biāo)的方案。
而且市面很多帶單片機(jī)的產(chǎn)品中,時間都做不準(zhǔn),這絕對是設(shè)計問題。例如:筆者車子上的時鐘日差有10秒多。
一般大多數(shù)人所設(shè)計的定時器時常,是根據(jù)晶振標(biāo)出的數(shù)據(jù)(如12M)計算而成的,固定不變,設(shè)計呆板。但普通晶振的實(shí)際振蕩頻率是不可能與標(biāo)出的數(shù)據(jù)完全相同的,例如:12.00043M,11.99985……,這個誤差必然積累,所以時鐘就不準(zhǔn)了。另外絕大多數(shù)設(shè)計也沒有考慮微調(diào)方案,對于日差幾秒無法控制。
日差1秒要求的精準(zhǔn)是:1秒/(24小時*60分*60秒),對應(yīng)12M晶振;當(dāng)頻率是12.000014M或11.999986M,日差就有1.2秒??梢娪闷胀ňд褡龅臅r間鐘,如果不采取修正措施,會因精度不夠,時鐘日差10多秒是很普遍的。
在筆者設(shè)計的有單片機(jī)時間產(chǎn)品中,隨機(jī)取10個,同時上電,3天后再看時鐘,它們之間的最大時間誤差,一般都不會超出1秒(普通晶振,不聯(lián)網(wǎng))。許多產(chǎn)品月差在1秒之內(nèi)。
1、實(shí)現(xiàn)方法:
1)將時間的定時中斷時常數(shù)做成可修正的,且加入微調(diào)常數(shù),定時時常數(shù)與微調(diào)時常數(shù)在FLASH中取得。微調(diào)時常數(shù)用于修正時常數(shù)的小數(shù)點(diǎn)之后的部分。
2)程序可以對某端口輸入的秒脈沖再進(jìn)行計算,并據(jù)之修正定時器的時常數(shù),以及微調(diào)常數(shù),并存入FLASH中。達(dá)成利用外部精準(zhǔn)脈沖源對時鐘進(jìn)行校準(zhǔn)的目的,說白了,就是用外校消除普通晶振的個體差異。同時程序也可以輸出自己的秒脈沖,這樣就可以達(dá)成產(chǎn)品之間的互校。
3)選擇一個產(chǎn)品,對其時鐘進(jìn)行精確校準(zhǔn)(這需要外部精準(zhǔn)的時鐘源。如果手中沒有,可以多花點(diǎn)時間,用手機(jī)、電視、廣播上的報時進(jìn)行校準(zhǔn)),這樣就可以將它做成一個自己的【標(biāo)準(zhǔn)秒脈沖時鐘源】。
4)產(chǎn)品出貨前,用自己的【標(biāo)準(zhǔn)秒脈沖時鐘源】校一下(將輸出的標(biāo)準(zhǔn)秒脈沖送入其它產(chǎn)品的校準(zhǔn)端口,讓其它產(chǎn)品自動完成定時器時常數(shù)及微調(diào)常數(shù)的修正。)
如此處理,時間鐘的精度就取決于晶振的穩(wěn)定度,而不是精度。而晶振的穩(wěn)定度普遍可以達(dá)到PPM級,當(dāng)環(huán)境溫度變化不大時,極易保證《11.57PPM,這就達(dá)成了日差小于1秒的目的。
2、產(chǎn)品相關(guān)時間基準(zhǔn)的程序:
(只提方案,不提程序代碼)
1)將端口輸入的秒脈沖與本體的晶振頻率進(jìn)行比對,計算出定時器的時常數(shù)與微調(diào)時常數(shù)(只做一次即可,計算結(jié)果保存到FLASH了,其最初值是按晶振的標(biāo)稱值計算確定的)。
2)時間微調(diào)補(bǔ)償。
3)秒脈沖輸出(用于互校,可以放棄不寫)。
要點(diǎn):定時器的時常數(shù)不是程序直接賦值,而是從FLASH中調(diào)取的。
編輯:lyn
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44973瀏覽量
650012 -
晶振
+關(guān)注
關(guān)注
35文章
3254瀏覽量
70049
原文標(biāo)題:如何用單片機(jī)做一個高精度的時間鐘方案?
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
時統(tǒng)設(shè)備高精度時間同步解決方案:為數(shù)字化時代注入精準(zhǔn)時間基因
一種高精度單斜率AD及其單片機(jī)實(shí)現(xiàn)
方案分享 | 高精度時間同步技術(shù)的實(shí)現(xiàn)與應(yīng)用

單片機(jī)和伺服有什么區(qū)別
用dac7742y做一個高精度的鋸齒波,無波形輸出是怎么回事?
康謀方案 | BEV感知技術(shù):多相機(jī)數(shù)據(jù)采集與高精度時間同步方案

基于單片機(jī)的磁致伸縮位移傳感器的應(yīng)用

基于51單片機(jī)的手動數(shù)字時鐘

如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信
單片機(jī)&超聲波探傷儀
物聯(lián)網(wǎng)系統(tǒng)中高精度RTK定位方案的實(shí)現(xiàn)_高精度定位模塊

單片機(jī)方案開發(fā):如何給電子產(chǎn)品單片機(jī)選型?
藍(lán)牙模塊如何實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳

評論