《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 高準確度時鐘程序算法

高準確度時鐘程序算法

2008-12-31
作者:黃沛芳

  摘? 要: 通過對引起實時時鐘" title="實時時鐘">實時時鐘計時誤差因數(shù)的分析,給出了一種提高實時時鐘長期計時準確度的實用而有效的軟件方法。該方法具有成本低、易實現(xiàn)、通用性強、徹底校正等優(yōu)點。

  關(guān)鍵詞: 實時時鐘? 準確度? 定時器? 軟件校正

?

  電子計時器" title="計時器">計時器通常以石英晶振" title="晶振">晶振為時鐘源。時鐘源的頻率通常為幾十kHz乃至幾十MHz,而常用時鐘的最小計時單位一般在0.01s~1s。高頻的時鐘源脈沖通過分頻" title="分頻">分頻器后產(chǎn)生基本定時脈沖。電子計時器的計時部分就是對基本定時脈沖進行累加,產(chǎn)生秒、分、時等時間信息乃至日、月、年等日期信息。

1 引起計時誤差的因數(shù)

  一個常規(guī)電子計時器的計時準確度,取決于晶振標稱頻率(fs)與實際頻率(fo)的頻率偏差和晶振頻率的時漂、溫漂等離散參數(shù)。普通晶振的實際頻率與標稱頻率有較大的偏差,可達萬分之五(5‰),折算到一天計時誤差就是43.2s。一般室內(nèi)氣溫變化在每天10℃左右,對應(yīng)晶振頻率溫漂<10-5,若以一段較長的時間取溫漂的平均值則更小。因此電子計時器的誤差主要取決于晶振實際頻率與標稱頻率的偏差。

2 減少計時誤差的方法

2.1 純硬件方法

  對于純硬件計時電路,因分頻系數(shù)N固定不變,要提高計時準確度只能調(diào)整fo,使得它盡可能接近于fs。常規(guī)減少計時誤差的方法是:微調(diào)元件L、C、R的參數(shù),調(diào)節(jié)硬件頻率,使得時鐘源的頻率誤差減小。但此方法操作復(fù)雜,沒有一定的電子技術(shù)知識和專用儀器很難校準,而且會降低晶振頻率穩(wěn)定度。

2.2 純軟件方法

  由微控制器控制的實時時鐘,可以采用軟件的方法消除晶振實際頻率與標稱頻率間誤差引起的計時誤差。

  由微控制器控制的實時時鐘,可以用軟件模擬,將歸入總的計時程序中,從而消除fs和fo間偏差引來的計時誤差。對于專用硬件時鐘電路如:DS1320、PCF8583等,可以采用每小時或每10分鐘讀出時間,然后乘上再寫回芯片的方法校正。對于采用可編程分頻定時器,由軟件模擬時鐘功能的軟件實時時鐘,則有更好的提高計時準確度的方法。因為定時器的分頻系數(shù)是可以動態(tài)改變的,如89C52內(nèi)置的16位計數(shù)器,分頻系數(shù)可以在1~216內(nèi)任意選取。令N=Ns作為分頻系數(shù)寫入計數(shù)器,這樣每個基本計時周期TN=TNS,從而實現(xiàn)軟件校正定時周期。

  在×Ns剛好為整數(shù)時,可以使得計時誤差為0。大部分的情況×Ns并不是整數(shù),若將四舍五入后的值作為Ns,就會帶來量化誤差" title="量化誤差">量化誤差,最大可達,這是一個不容忽視的問題。以12MHz的89C52 T2定時器定時10ms為例,每天最大量化誤差累加是:24×3600÷(2×10000)=4.32s。若在片內(nèi)RAM中定義1個字節(jié)尾數(shù),令它的滿碼值為,則最大量化誤差就從原來的下降到。對應(yīng)于上述的10ms定時程序,其最大量化誤差的累加值由原來的4.32秒/天減少到0.016875秒/天,這是很大的改進。根據(jù)精度要求,可以在片內(nèi)RAM中定義2個字節(jié),令它的滿碼值為,這樣最大量化誤差就可降為。減少量化誤差的具體算法是:對于使用89C52的T2定時器,若標稱為12MHz的晶振實際長期平均振蕩頻率fo=12.0006MHz,量化精度取1字節(jié),取TNS=10ms,則分頻系數(shù)為:

  

  Ni為第i次定時值,可能是10000或10001,這取決于NTi的進位;NTi為第i次尾數(shù)暫存值。?

  每次定時中斷服務(wù)程序均執(zhí)行(1)式,取得第i 次的定時計數(shù)值,然后實時時鐘增加10ms,完成時鐘功能。值得注意的是,Ni是實際的計數(shù)值,至于實際寫入特定定時器的數(shù)值,則須根據(jù)具體定時器的遞減、遞加計時性質(zhì)分別寫入Ni或Ni的補碼,同時定時器 在溢出到新的定時值裝入并開始新定時周期這段時間,將TLOAD考慮在內(nèi)。例如89C52 T2工作于自動重裝定時初值、遞加定時方式時,實際寫入定時器T2的捕獲/自動重裝載寄存器(Rcap2H,Rcap2L)的值是Ni的補碼,即65536-Ni;而對于89C52 T0和T1定時器則實際寫入的定時初值是:Ni的補碼+TLOAD對應(yīng)的機器周期數(shù)。

3? 測量晶振實際長期振蕩頻率

  沒有專用儀器,怎樣測得晶振實際長期振蕩頻率?有一個很簡單的方法。以標稱頻率下的定時計數(shù)值Ns作為實際計數(shù)值,在電臺報時時將時間設(shè)置正確,然后讓它運行一段較長的時間,再與電臺的報時比較求出誤差的秒數(shù),即可算出實際頻率。例如晶振標稱頻率是12MHz,時鐘運行了10天,快了432s,則

  

  若將上述算法編成程序,讓用戶直接輸入N和NT的值;或輸入運行了多少天、時、分、秒,快或慢了多少秒,讓系統(tǒng)自動算出N和NT,將會為從根本上校準時鐘帶來極大方便。任何人都可以輕松地提高時鐘準確度而無需專業(yè)知識和專用儀器。

  現(xiàn)在微控制器已廣泛應(yīng)用于人們?nèi)粘I畹母鱾€方面,電子時鐘也隨著它融入到各種電器和設(shè)備中,如專門時鐘功能的石英表和各種附帶電子計時器的電器如手機、普通液晶顯示電話、VCD機、DVD機、電視及高檔音響、空調(diào)遙控器、電力系統(tǒng)微機自動化設(shè)備等。高檔專用計時器如高檔石英表,因為計時是它的主功能,須保證計時準確度而對計時時鐘源準確度要求嚴格,每天誤差在1s以下。以上提到的其它電器,其時鐘只是它的一個附帶功能,出廠時一般不嚴格校正,甚至根本不做任何校正。所以誤差通常在1秒/天以上,有些達10秒/天以上,每天都需校正,否則運行幾天就會因誤差太大而變得不可信,令用戶不勝煩惱。

  在電力系統(tǒng)中,無人值班變電站須安裝無功自動控制設(shè)備。它根據(jù)一天中的不同時間段和電網(wǎng)無功情況自動投退電容器組,使得電網(wǎng)的功率因數(shù)盡可能接近于1,以利于經(jīng)濟運行。但有些設(shè)備內(nèi)部時鐘每天誤差>5分鐘。若將本文算法編入計時程序中,讓用戶自己校正定時參數(shù),將大大提高各種附帶時鐘的計時準確度。

  將基于軟件提高實時時鐘準確度的算法應(yīng)用于普通石英晶振,利用89C52 T2定時器的軟實時時鐘,未作校正前每天快11s;進行軟件計時校正后,每10天的計時誤差<1s。本文提出的基于軟件提高時鐘準確度的算法,具有極高的實用價值。

?

參考文獻

1 何立民.單片機應(yīng)用技術(shù)選編(1).北京:北京航空航天大學(xué)出版社,1994

2 羅 娟.計算機時間校準方法.微計算機信息,1999;(4)
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品一区二区三区99| 亚洲免费高清视频| 欧美日本亚洲| 欧美1区免费| 美女精品自拍一二三四| 久久久久久穴| 久久午夜精品一区二区| 久久国产福利| 欧美一区二区在线免费播放| 午夜欧美大片免费观看| 亚洲欧美偷拍卡通变态| 亚洲一区制服诱惑| 亚洲欧洲av一区二区| 亚洲欧美日韩精品一区二区| 午夜在线观看欧美| 欧美在线视频免费| 久久久久久精| 久久综合国产精品| 免费观看不卡av| 欧美激情按摩在线| 欧美日韩国产一区二区| 国产精品99一区二区| 国产精品久久久久一区二区三区共| 国产精品成人午夜| 国产精品婷婷午夜在线观看| 国产农村妇女毛片精品久久莱园子| 国产伦精品一区二区三区视频黑人 | 欧美精品123区| 欧美三日本三级少妇三2023| 国产精品乱人伦一区二区| 国产婷婷一区二区| 亚洲第一精品久久忘忧草社区| 亚洲精品乱码久久久久久日本蜜臀| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美刺激性大交免费视频 | 欧美电影在线观看完整版| 欧美精品国产| 国产精品乱码一区二区三区| 国产色综合久久| 在线观看日韩www视频免费 | 亚洲国产精品一区二区第四页av| 久久精品一区二区国产| 亚洲国产精品久久久久秋霞不卡 | 亚洲视频中文| 国产精品久久久亚洲一区| 国产精品久久久久久模特 | 欧美尤物一区| 亚洲人成网站精品片在线观看| 一本色道久久综合亚洲精品按摩| 一区二区三区在线观看视频| 亚洲国产二区| 这里只有精品视频| 久久精品国产一区二区三区| av成人黄色| 久久精品人人做人人爽| 欧美日韩国产高清| 国产一区二区三区丝袜| 日韩视频一区二区在线观看| 欧美一区二区三区视频免费播放| 亚洲精品网址在线观看| 欧美在线视频网站| 欧美日韩国产综合新一区| 国产日韩欧美一区二区| 亚洲人体影院| 久久av红桃一区二区小说| 亚洲视频一二三| 久久综合九色综合欧美狠狠| 国产精品大全| 亚洲黄色性网站| 欧美一级免费视频| 中文精品99久久国产香蕉| 麻豆av一区二区三区| 国产精品毛片va一区二区三区| 亚洲国产综合91精品麻豆| 午夜精品网站| 亚洲夜间福利| 欧美极品在线视频| 黄色一区二区在线观看| 亚洲尤物在线| 一区二区三区国产| 欧美va亚洲va日韩∨a综合色| 国产日韩亚洲欧美| 亚洲网站视频| 亚洲视屏一区| 欧美成人日本| 韩国亚洲精品| 午夜精品久久久久99热蜜桃导演| 一区二区激情| 欧美国产一区二区三区激情无套| 国产一区二区在线观看免费| 亚洲在线观看视频网站| 日韩一级黄色片| 欧美成人精品不卡视频在线观看| 国产一区二区三区网站| 亚洲伊人网站| 亚洲免费视频在线观看| 欧美日韩在线播放三区四区| 亚洲人精品午夜| 欧美jizz19性欧美| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲精品乱码久久久久久蜜桃91 | 国产主播一区二区三区四区| 亚洲一区欧美| 亚洲免费视频观看| 欧美日韩在线观看一区二区| 亚洲精品护士| 99re这里只有精品6| 欧美电影资源| 亚洲国产高潮在线观看| 亚洲国产日韩欧美综合久久| 久久天天躁狠狠躁夜夜爽蜜月| 国产主播一区二区三区| 欧美在线看片a免费观看| 久久精品国产99国产精品澳门| 国产乱码精品一区二区三区av| 亚洲午夜视频| 亚洲欧美中文在线视频| 国产精品成人aaaaa网站| 亚洲手机在线| 午夜影视日本亚洲欧洲精品| 国产精品影片在线观看| 性刺激综合网| 久久久久久久久久看片| 在线播放中文字幕一区| 亚洲精品女av网站| 欧美激情一区二区三区在线视频观看 | 国产精品免费网站| 亚洲一区高清| 久久不见久久见免费视频1| 国产一区二区三区不卡在线观看| 欧美在线视频二区| 久久综合色婷婷| 亚洲高清三级视频| 一本色道久久加勒比88综合| 欧美三级小说| 亚洲免费在线| 久久久久久久一区二区| 亚洲免费电影在线| 亚洲国产成人不卡| 日韩午夜一区| 欧美三级视频| 午夜精品影院在线观看| 另类av一区二区| 亚洲日本电影| 午夜精品久久久久久久久| 国产一区二区三区不卡在线观看 | 欧美亚洲一区| 国产亚洲精品久久久久动| 久久国产88| 欧美精品免费看| 一区二区av在线| 欧美在线黄色| 在线看片成人| 亚洲图色在线| 国产亚洲一区二区在线观看 | 狠狠色狠狠色综合系列| 99国产精品久久久久久久成人热| 欧美亚洲成人免费| 久久激情婷婷| 欧美三区在线视频| 久久99在线观看| 欧美看片网站| 亚洲欧美日韩在线观看a三区| 老司机67194精品线观看| aaa亚洲精品一二三区| 久久久久久穴| 99视频热这里只有精品免费| 久久国产主播精品| 亚洲精品乱码久久久久久| 欧美在线日韩精品| 91久久精品日日躁夜夜躁欧美 | 亚洲青涩在线| 欧美与黑人午夜性猛交久久久| 在线观看国产日韩| 亚洲欧美日韩一区二区在线| 一区二区在线观看视频在线观看| 一区二区三区国产盗摄| 国产一区亚洲一区| 在线中文字幕不卡| 激情欧美亚洲| 午夜国产一区| 91久久综合亚洲鲁鲁五月天| 久久精品视频在线| 一区二区三区精品在线| 每日更新成人在线视频| 亚洲永久免费精品| 欧美日韩精品一区二区天天拍小说 | 欧美不卡视频| 小嫩嫩精品导航| 欧美色123| 亚洲欧洲精品一区| 国产视频久久| 亚洲免费中文字幕| 亚洲精品免费一区二区三区| 久久网站免费| 亚洲欧美激情视频在线观看一区二区三区 | 美国十次成人| 午夜欧美精品久久久久久久| 欧美日韩视频一区二区| 亚洲精品视频一区|