国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

單片機(jī)系統(tǒng)實(shí)時時鐘日差補(bǔ)償?shù)乃惴ㄔO(shè)計

2019-12-19 02:04吳天強(qiáng)葉敏朱劍潘超
科技風(fēng) 2019年34期
關(guān)鍵詞:單片機(jī)

吳天強(qiáng) 葉敏 朱劍 潘超

摘 要:根據(jù)實(shí)時時鐘運(yùn)行的日差大小,在計時控制程序中,設(shè)置自動補(bǔ)償并校正參數(shù)的功能,使系統(tǒng)的計時運(yùn)行誤差,在連續(xù)較長的一段時間內(nèi),保持在較小的波動范圍,以減少計時的累積誤差,提高計時精度。該算法適用于低成本的單片機(jī)或嵌入式系統(tǒng),使用軟件控制自動補(bǔ)償計時日差,代替人工校正過程。其缺點(diǎn)是不同時鐘芯片的計時日差,各不相同,首次運(yùn)行時,需要與標(biāo)準(zhǔn)計時進(jìn)行校對,以確定其合適的補(bǔ)償量。

關(guān)鍵詞:單片機(jī);實(shí)時時鐘;日差;算法設(shè)計

1 問題提出

實(shí)時時鐘(RTC)也稱為時鐘芯片,是一種廣泛應(yīng)用的電子器件,用于提供精確的實(shí)時時間,或者為電子系統(tǒng)提供時間基準(zhǔn)。大多數(shù)時鐘芯片,均采用精度較高的晶體振蕩器作為時鐘源,因此,晶振的頻率誤差大小,決定了計時系統(tǒng)的性能。

時鐘芯片和晶振組成的計時系統(tǒng),短期內(nèi)有較高的精度,長期運(yùn)行,因累積誤差,導(dǎo)致其計時誤差越來越大。例如,獨(dú)立應(yīng)用實(shí)時時鐘的各種電子產(chǎn)品,運(yùn)行一段時間后,與標(biāo)準(zhǔn)時間會有較大差異,需要人工手動調(diào)整計時參數(shù),以適合計時需求。

單片機(jī)或嵌入式芯片組成的實(shí)時時鐘系統(tǒng),若在控制程序中,設(shè)置計時自動補(bǔ)償功能,用以代替人工手動校正,能夠減少計時系統(tǒng)的累積誤差,達(dá)到優(yōu)化產(chǎn)品性能目的。本文將從晶振的參數(shù)、補(bǔ)償方法、算法設(shè)計等三個方面說明實(shí)時時鐘計時補(bǔ)償?shù)姆椒ā?/p>

2 晶振的參數(shù)

石英晶體振蕩器(以下簡稱晶振)是利用石英晶體的壓電效應(yīng)制成。晶振可以分為普通晶振、溫補(bǔ)晶振和恒溫晶振。不同類型的晶振,其技術(shù)指標(biāo)有較大差異。文獻(xiàn)[1]指出晶振的性能參數(shù)有開機(jī)特性(10-6~10-11)、日頻率波動(10-6~10-11)、日老化率(10-6~10-11)、頻率復(fù)現(xiàn)率(10-6~10-11)、頻率準(zhǔn)確度(10-5~10-10)和1秒頻率穩(wěn)定度(10-8~10-12)。

從上述指標(biāo)系數(shù)中可以看出,符合規(guī)格要求的晶振,其1秒頻率穩(wěn)定度相對較高,而頻率準(zhǔn)確度的指標(biāo)系數(shù)則相對較低,故頻率準(zhǔn)確度是判別晶振好環(huán)的一個重要因素。另外,由于溫漂影響,晶振的頻率準(zhǔn)確度也與運(yùn)行環(huán)境溫度相關(guān),因此,溫度補(bǔ)償,是提高晶振頻率準(zhǔn)確度的有效方法。

3 補(bǔ)償方法

3.1 溫度補(bǔ)償

溫度補(bǔ)償是為消除溫度變化引起晶振的頻率誤差。恒溫晶振使用具有單層或雙層的恒溫裝置,以及對應(yīng)的溫控電路,使晶振工作過程溫度盡可能保持不變,減少溫度變化對頻率穩(wěn)定度的影響。

溫補(bǔ)晶振則是把溫度變化對振蕩所產(chǎn)生的頻率誤差進(jìn)行補(bǔ)償,以提高晶振的頻率穩(wěn)定度?!霸诔叵拢?5℃),實(shí)時時鐘精度約為±20ppm,針對晶體振蕩器的溫漂特性,設(shè)計了一種分頻鏈的頻率校準(zhǔn)算法,校準(zhǔn)精度達(dá)±0.25ppm”[2]。集成溫補(bǔ)晶振具有更寬溫度范圍的工作性能,“其輸出信號的頻率穩(wěn)定性可在寬溫范圍(-30℃~+85℃),達(dá)到±1×10-6”[3]。以上案例表明,溫補(bǔ)晶振能有效提高頻率穩(wěn)定度的指標(biāo)系數(shù)。

溫補(bǔ)晶振和恒溫晶振均通過輔助電路或裝置,來減小或消除溫度的影響,提高晶振的頻率穩(wěn)定度,但是也不能完全消除頻率誤差。獲得更高精度時鐘的另一種方法,是采用同步時鐘。

3.2 同步時鐘

同步時鐘精度高,一般用于對時鐘有嚴(yán)格要求的系統(tǒng)。常用的同步時鐘有衛(wèi)星同步時鐘和網(wǎng)絡(luò)同步時鐘。

衛(wèi)星時鐘同步,是利用晶振短期計時精度高的特點(diǎn),與衛(wèi)星時鐘進(jìn)行同步,可以得到高性能價格比的高精度時鐘發(fā)生裝置[4]?!皩PS信號的長期穩(wěn)定度和準(zhǔn)確度與晶振的短期穩(wěn)定度相結(jié)合,大大提高了頻率源的性能”[5],若“使用全球定位系統(tǒng)(GPS)接收機(jī)的整秒脈沖信號和串口時間信息,作為高精度的時間源,同步精度優(yōu)于500μs”[6]。衛(wèi)星“時間同步在航天測控、衛(wèi)星遙感、軍事靶場、視覺測量、電力運(yùn)輸?shù)阮I(lǐng)域有重要意義”[6]!

網(wǎng)絡(luò)時鐘同步,也是一種獲得高精度時鐘的方法。基于“IEEE1588高精度時間同步算法,通過晶振補(bǔ)償和OffsetTime濾波,達(dá)到了微秒級高精度同步系統(tǒng)的要求,適用于機(jī)電控制、通信等領(lǐng)域”[7]。

除了上述的溫度補(bǔ)償、同步時鐘以外,在時鐘同步精度要求不高的場合,也可用采用日差補(bǔ)償?shù)姆椒?,來提高時鐘芯片的計時精度。

3.3 日差補(bǔ)償

計時器一天的走時誤差,稱為日差。由于時鐘芯片所使用的晶振,存在頻率誤差,因而獨(dú)立使用時鐘芯片的計時器,一定存在走時誤差。對于時鐘同步要求不高的場合,存在走時偏差的時鐘,可以人工校準(zhǔn),也可以由程序自動校正。

如圖1實(shí)時時鐘偏慢補(bǔ)償示意圖所示,將實(shí)時時鐘與標(biāo)準(zhǔn)時鐘進(jìn)行比較,可以得到補(bǔ)償量,將此補(bǔ)償量,向前疊加到實(shí)時時鐘(加快實(shí)時時鐘)的計時數(shù)據(jù)中,可完成實(shí)時時鐘的偏差調(diào)整。若實(shí)時時鐘偏快,則需要將得到的補(bǔ)償量,向后疊加到實(shí)時時鐘(減慢實(shí)時時鐘)的計時數(shù)據(jù),以完成計時校正。

對于以獨(dú)立時鐘芯片的作為計時依據(jù)的各種電子產(chǎn)品,可以采用日差補(bǔ)償?shù)姆椒?,提高計時的準(zhǔn)確度。具體實(shí)施方法是,經(jīng)24小時實(shí)走,與標(biāo)準(zhǔn)時鐘進(jìn)行比較,得到日差補(bǔ)償量,在程序中設(shè)置對應(yīng)補(bǔ)償參數(shù)。然后,在實(shí)際計時過程中,每天由軟件自動校正偏差,減少計時的累積誤差,達(dá)到優(yōu)化計時性能目的。

日差測試所需時間較長,應(yīng)用不方便。如果計時系統(tǒng)顯示最小位是秒的產(chǎn)品,可以在首次運(yùn)行時,由用戶根據(jù)實(shí)際運(yùn)行天數(shù)的走時誤差,估算出日差補(bǔ)償量,并進(jìn)行參數(shù)設(shè)置即可。實(shí)時時鐘的日差補(bǔ)償量,也可以通過測量瞬時日差得到。

4 算法設(shè)計

單片機(jī)系統(tǒng)實(shí)時時鐘日差補(bǔ)償,如圖2日差自動校正流程圖所示,根據(jù)時鐘校正的時刻點(diǎn)不同,可以分為(a)、(b)兩種情況。程序設(shè)計中,這兩種情況都需要設(shè)定一個“標(biāo)記位”的變量,其作用是記錄能否進(jìn)行日差補(bǔ)償?shù)臓顟B(tài),防止程序循環(huán)執(zhí)行中,多次連續(xù)、重復(fù)進(jìn)行日差補(bǔ)償,而使計時出錯。

以圖2日差自動校正流程圖(a)為例,說明“標(biāo)記位”變量的作用。程序運(yùn)行時,“標(biāo)記位”變量初始狀態(tài)被置1,以及計時到達(dá)“時間點(diǎn)1”的時刻,“標(biāo)記位”變量也置1,置1表示允許進(jìn)行日差補(bǔ)償。計時到了“時間點(diǎn)2”的時刻,并且“標(biāo)記位”變量是1時,則由程序自動將設(shè)置好的補(bǔ)償量,向前(加快)或向后(減慢)疊加到當(dāng)前時鐘數(shù)據(jù)上,得到新的時鐘數(shù)值,同時將新的時鐘數(shù)值,寫入實(shí)時時鐘芯片,完成以上調(diào)整后,將“標(biāo)記位”變量置0,以確保每天的日差補(bǔ)償有且只有一次。

在圖2時鐘校正流程圖(a)和(b)中,“時間點(diǎn)1”和“時間點(diǎn)2”之間的時間間隔值(以下稱間隔值),應(yīng)該要大于可能設(shè)定的補(bǔ)償量,否則,在自動調(diào)整時鐘過程中,向前(加快)或向后(減慢)調(diào)整后的時鐘值,有可能會跳至“時間點(diǎn)1”和“時間點(diǎn)2”的時刻所界定的時鐘區(qū)間之外,使程序運(yùn)行出錯。因此,以下兩種可能,在程序編程中,應(yīng)該避免發(fā)生。

第一種情況,如圖2日差自動校正流程圖(a)所示,在“時間點(diǎn)2”時刻,自動向后(減慢)調(diào)整時鐘數(shù)值,完成調(diào)整后,“標(biāo)記位”變量被置0。若補(bǔ)償量超過“間隔值”,必定使新時鐘的數(shù)值,指向“時間點(diǎn)1”前的某一個時刻,使“標(biāo)記位”置1的程序又被觸發(fā),導(dǎo)致程序反復(fù)進(jìn)行日差補(bǔ)償,進(jìn)入死循環(huán)。

第二種情況,如圖2日差自動校正流程圖(b)所示,若在“時間點(diǎn)1”時刻,自動向前(加快)調(diào)整時鐘數(shù)值時,補(bǔ)償量大到超過“時間點(diǎn)2”的時刻,則程序會跳過“標(biāo)記位”變量置1的執(zhí)行流程,使日差補(bǔ)償動作,只執(zhí)行一次,程序失去計時補(bǔ)償功能。

因此,程序流程中的“間隔值”,必須大于日差補(bǔ)償量,且要留有一定裕量。非專用型的液晶數(shù)字秒表,其瞬時日差為±1.5S/d[8],參考此數(shù)據(jù)值,程序中的補(bǔ)償量范圍,可以限值在60S以內(nèi),間隔值則應(yīng)大于60S。對于某些家用產(chǎn)品上的獨(dú)立時鐘,進(jìn)行日差自動補(bǔ)償調(diào)整的時刻,宜選在凌晨兩、三點(diǎn)鐘較為合適。

5 仿真結(jié)果

圖3是PROTEUS日差補(bǔ)償仿真圖,仿真時鐘芯片為DS1302,截圖中的LCD顯示,當(dāng)前設(shè)定的日差補(bǔ)償量為+2秒/天,“+”表示是加快時鐘的補(bǔ)償量。對于計時最小單位是秒的時鐘芯片,若遇到實(shí)際走時日差不足1S時,應(yīng)增加天數(shù),直至誤差達(dá)到1秒以上,才進(jìn)行時鐘校正。對于計時顯示最小單位是分鐘的產(chǎn)品,也可以考慮將月差作為自動調(diào)整的周期。將“標(biāo)記位”變量的置、復(fù)位控制,改成日期計數(shù)功能,可以實(shí)現(xiàn)對于任意周期天數(shù)的計時偏差進(jìn)行補(bǔ)償。

6 結(jié)語

上述提出的日差補(bǔ)償算法,是對獨(dú)立時鐘芯片的計時系統(tǒng),在實(shí)際應(yīng)用環(huán)境,綜合運(yùn)行一段時間后產(chǎn)生的誤差,進(jìn)行補(bǔ)償?shù)姆椒ǎm用于低成本的單片機(jī)和嵌入式系統(tǒng),由軟件程序設(shè)置自動補(bǔ)償功能,代替人工校準(zhǔn)過程,在不提高產(chǎn)品器件成本的前提下,優(yōu)化計時性能,提高產(chǎn)品的用戶滿意度。其缺點(diǎn)是不同器件的計時誤差,各不相同,首次運(yùn)行時,需要與標(biāo)準(zhǔn)計時進(jìn)行比對,以確定其合適的補(bǔ)償量。

參考文獻(xiàn):

[1]JJG180-2002,電子測量儀器內(nèi)石英晶體振蕩器檢定規(guī)程[S].北京:中國計量出版社,2003.

[2]李根岱.可校準(zhǔn)實(shí)時時鐘芯片的研究和設(shè)計[D].華中科技大學(xué),2007.

[3]江玉潔,陳辰,等.一種全集成化的溫補(bǔ)晶體振蕩器[J].宇航計測技術(shù),2003(03):52-57.

[4]曾祥君,尹項根,等.GPS時鐘在線監(jiān)測與修正方法[J].中國電機(jī)工程學(xué)報,2002(12):42-47.

[5]馬彥青.恒溫晶振OCXO自適應(yīng)馴服保持技術(shù)研究[D].西安電子科技大學(xué),2011.

[6]王向軍,張亞元,等.基于GPS和高精度實(shí)時時鐘的時間同步方法[J].納米技術(shù)與精密工程,2016,14(01):66-70.

[7]桂本烜,馮冬芹,等.IEEE1588的高精度時間同步算法的分析與實(shí)現(xiàn)[J].工業(yè)儀表與自動化裝置,2006(04):20-23.

[8]GB/T22778-2008,液晶數(shù)字式石英秒表[S].北京:中國標(biāo)準(zhǔn)出版社,2008.

基金項目:2018年度高校訪問工程師“校企合作項目”(項目編號:FG2018242)

作者簡介:吳天強(qiáng)(1977-),男,工程碩士,講師,從事電子電路教學(xué)研究工作。

猜你喜歡
單片機(jī)
基于單片機(jī)MCU的IPMI健康管理系統(tǒng)設(shè)計與實(shí)現(xiàn)
淺析51單片機(jī)的特點(diǎn)與應(yīng)用
單片機(jī)在智能控制中的應(yīng)用
C8051F020與80C51單片機(jī)的異同點(diǎn)
MCS—51單片機(jī)多串口通訊技術(shù)應(yīng)用分析
一種單片機(jī)虛擬實(shí)驗室的建立方法
點(diǎn)陣式液晶顯示器lMl2864與51單片機(jī)的接口設(shè)計
單片機(jī)I/O口模擬串行通訊的C51實(shí)現(xiàn)方法
單片機(jī)調(diào)試方法的探討
用PIC單片機(jī)制作的時間繼電器
平遥县| 宣恩县| 曲麻莱县| 鲜城| 凉城县| 南涧| 敦煌市| 卫辉市| 缙云县| 侯马市| 涟源市| 靖边县| 博罗县| 长治县| 寿宁县| 西和县| 淮安市| 渝北区| 屏东市| 平山县| 枣庄市| 福清市| 长垣县| 汉川市| 措勤县| 北碚区| 三门峡市| 鄄城县| 松溪县| 页游| 武汉市| 盐山县| 名山县| 哈尔滨市| 平安县| 山东省| 牙克石市| 虞城县| 岳池县| 新源县| 酉阳|