• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

      關(guān)鍵詞:?jiǎn)纹瑱C(jī);實(shí)時(shí)時(shí)鐘;日差;算法設(shè)計(jì)

      1 問(wèn)題提出

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

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

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

      2 晶振的參數(shù)

      石英晶體振蕩器(以下簡(jiǎn)稱晶振)是利用石英晶體的壓電效應(yīng)制成。晶振可以分為普通晶振、溫補(bǔ)晶振和恒溫晶振。不同類型的晶振,其技術(shù)指標(biāo)有較大差異。文獻(xiàn)[1]指出晶振的性能參數(shù)有開(kāi)機(jī)特性(10-6~10-11)、日頻率波動(dòng)(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)定度相對(duì)較高,而頻率準(zhǔn)確度的指標(biāo)系數(shù)則相對(duì)較低,故頻率準(zhǔn)確度是判別晶振好環(huán)的一個(gè)重要因素。另外,由于溫漂影響,晶振的頻率準(zhǔn)確度也與運(yùn)行環(huán)境溫度相關(guān),因此,溫度補(bǔ)償,是提高晶振頻率準(zhǔn)確度的有效方法。

      3 補(bǔ)償方法

      3.1 溫度補(bǔ)償

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

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

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

      3.2 同步時(shí)鐘

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

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

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

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

      3.3 日差補(bǔ)償

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

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

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

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

      4 算法設(shè)計(jì)

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

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

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

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

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

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

      5 仿真結(jié)果

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

      6 結(jié)語(yǔ)

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

      參考文獻(xiàn):

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

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

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

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

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

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

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

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

      基金項(xiàng)目:2018年度高校訪問(wèn)工程師“校企合作項(xiàng)目”(項(xiàng)目編號(hào):FG2018242)

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

      猜你喜歡
      單片機(jī)
      基于單片機(jī)MCU的IPMI健康管理系統(tǒng)設(shè)計(jì)與實(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í)驗(yàn)室的建立方法
      點(diǎn)陣式液晶顯示器lMl2864與51單片機(jī)的接口設(shè)計(jì)
      單片機(jī)I/O口模擬串行通訊的C51實(shí)現(xiàn)方法
      單片機(jī)調(diào)試方法的探討
      用PIC單片機(jī)制作的時(shí)間繼電器
      镇远县| 昌江| 安泽县| 九龙城区| 台江县| 策勒县| 淄博市| 高雄县| 庆元县| 渑池县| 西吉县| 弋阳县| 重庆市| 福安市| 昌宁县| 射洪县| 扎兰屯市| 师宗县| 桃园市| 呼玛县| 宁海县| 嘉鱼县| 自贡市| 彰化县| 大冶市| 遂宁市| 龙泉市| 崇礼县| 东乡| 保亭| 革吉县| 尼玛县| 永川市| 青岛市| 南郑县| 思南县| 广南县| 驻马店市| 荆州市| 丽江市| 临海市|