在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32F101xx and STM32F103xx RTC 校準(zhǔn)

            STM32F101xx and STM32F103xx RTC 校準(zhǔn)

            作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
            AN2604
            應(yīng)用筆記
            STM32F101xx and STM32F103xx RTC 校準(zhǔn)
            總體介紹
            實(shí)時(shí)時(shí)鐘在很多嵌入式應(yīng)用中是必不可少的,但是由于外部環(huán)境溫度的改變,驅(qū)動(dòng)RTC的晶體頻率會(huì)發(fā)生變化,因此RTC就沒(méi)有預(yù)想的那么準(zhǔn)確了!
            STM32F101xx and STM32F103xx附帶有數(shù)字時(shí)鐘校準(zhǔn)電路,因此可以適應(yīng)與變化的環(huán)境,它主要是來(lái)補(bǔ)償晶體由于環(huán)境的變化,這篇應(yīng)用筆記主要討論了RTC校準(zhǔn)的基本原理以及解釋了如何利用RTC校準(zhǔn)來(lái)提高計(jì)時(shí)精度。
            1 RTC校準(zhǔn)基本原理
            1.1 晶體的準(zhǔn)確性
            在很多計(jì)時(shí)領(lǐng)域,通常都是用“石英精確度”這么一個(gè)術(shù)語(yǔ)來(lái)描述的,石英晶體振蕩器提供了一個(gè)遠(yuǎn)遠(yuǎn)優(yōu)于其他類(lèi)型振蕩器的精確度,但是它并不是完美的,石英晶體振蕩器對(duì)溫度十分敏感, Figure 1 展示了一個(gè)32.768HZ晶體的頻率精確度(acc)和溫度(T)以及曲率(K)的關(guān)系,這個(gè)曲線(xiàn)可以用下面的公式給出:
            注:曲率K由于不同的晶體而不同,這里是針對(duì) STM3210B-EVAL開(kāi)發(fā)板來(lái)說(shuō)的,關(guān)于這部分可以參考相關(guān)晶體制造商提供的詳細(xì)信息。
            在很多應(yīng)用領(lǐng)域需要一個(gè)高準(zhǔn)確度的時(shí)鐘,但是在實(shí)際中有好多綜合因素限制著精度的提高,通常,典型的方法是通過(guò)調(diào)節(jié)晶體的負(fù)載電容來(lái)調(diào)節(jié)精度,這一方法,雖然十分有效,但是也存在這一些缺點(diǎn):
            1 它需要多加一個(gè)外部器件(可調(diào)電容)。
            2 其增大了電流消耗(這在電池供電的場(chǎng)合尤為突出)。
            取代這種傳統(tǒng)的模擬的方法,STM32F10xxx系列提供了一個(gè)數(shù)字校準(zhǔn)器,允許用戶(hù)用軟件控制的方法進(jìn)行校準(zhǔn),非常的好用!
            1.2 具體方法
            STM32F10xxx 的RTC模塊是用一個(gè)32768HZ的通常石英晶體驅(qū)動(dòng)的,其實(shí)石英晶體是一種能夠提供非常固定頻率的,但是有以下兩種情況導(dǎo)致了其頻率的不穩(wěn)定:
            1 溫度變化; 2 晶體本身的變化。前面講述了一般通常的方法都是用一個(gè)麻煩的可調(diào)電容來(lái)補(bǔ)償誤差,這里STM32F10xxx 使用的是一個(gè)周期計(jì)數(shù)器來(lái)進(jìn)行校正,這個(gè)數(shù)字校正器通過(guò)從220個(gè)時(shí)鐘周期中減去0到127個(gè)周期的方法來(lái)校正的,如圖所示:
            究竟有多少個(gè)時(shí)鐘節(jié)拍是空白的取決于最近一次向備份寄存區(qū)域RTC校準(zhǔn)寄存器最后七位加載的值, 之所以這個(gè)校準(zhǔn)寄存器放在備份區(qū)域是因?yàn)檫@個(gè)寄存器即使在系統(tǒng)掉電情況下仍然可以通過(guò)后備電池進(jìn)行供電(譯者注:如果后背電池也掉電,當(dāng)然這個(gè)寄存器的值也會(huì)丟失的),注意:從上圖中可以看出時(shí)鐘輸出引腳是在校準(zhǔn)之前的頻率,所以這個(gè)值是不會(huì)被校準(zhǔn)所改變的,盡管已經(jīng)進(jìn)行了校準(zhǔn),但是這個(gè)輸出是在校準(zhǔn)之前的頻率。
            每一個(gè)校準(zhǔn)節(jié)拍將會(huì)從220個(gè)時(shí)鐘周期中減去一個(gè)周期,這意味著每一個(gè)校準(zhǔn)節(jié)拍將會(huì)有0.954PPM的調(diào)整值(譯者注:Ppm指的是每百萬(wàn)個(gè)赫茲會(huì)偏移多少赫茲,即真實(shí)頻率值為標(biāo)稱(chēng)頻率值加上或者減去百萬(wàn)分之一的XXX,其中XXX指的是晶體廠商提供的頻率穩(wěn)定度),結(jié)果,振蕩器將會(huì)減慢0到121個(gè)ppm,下面的一個(gè)表格顯示了當(dāng)校準(zhǔn)寄存器變化一位是會(huì)變化多少個(gè)ppm或者說(shuō)30天中會(huì)放慢多少秒:




            上面所描述的都是基于一下條件的:
            STM32F10xxx RTC的數(shù)字校準(zhǔn)電路只是從晶體時(shí)鐘周期里減去了若干個(gè)周期,而且RTC的預(yù)分頻器假定設(shè)置為32768,所以說(shuō)時(shí)鐘快于32868HZ的晶體可以被校準(zhǔn),而慢于32768HZ的晶體不能被校準(zhǔn),因此校準(zhǔn)范圍是32772HZ 到32768HZ(譯者注:為什么是32772呢,因?yàn)樽畲蟮男?zhǔn)PPM是121,121的意思是一百萬(wàn)HZ時(shí)候會(huì)變化(調(diào)整)121HZ,所以32768HZ時(shí)候便可以調(diào)整{32768*(121/10 00000)}即:3.964HZ,將近4HZ,而且這個(gè)校準(zhǔn)只是調(diào)慢的,所以能夠從32772HZ校準(zhǔn)到32768HZ,所以是32772)。
            前面我們所講的都是以預(yù)分頻為32768,但是晶體頻率范圍是變化的,所以當(dāng)晶體頻率快于32768HZ是可以被校準(zhǔn)的(可以放慢),但是當(dāng)晶體頻率慢于32768HZ呢?雖然不能被校準(zhǔn),但是并不是無(wú)能為力,我們可以把校準(zhǔn)預(yù)分頻器改為32766,這樣只要晶體頻率不低于32766HZ就可以校準(zhǔn)了,這樣總的可以校準(zhǔn)(放慢){32766*(121/10 00000)}即3.96HZ,也將近4HZ,于是調(diào)整范圍就變成了(32766HZ到32770HZ)。
            注:在這篇應(yīng)用筆記中,默認(rèn)都是預(yù)分頻位32766。
            2 計(jì)算校準(zhǔn)偏差量
            對(duì)于一個(gè)給定的應(yīng)用,如何確定我們所需要的校準(zhǔn)值呢?這里有一個(gè)很好的方法就是利用到了RTC的時(shí)鐘輸出模式,就是如上圖2所示的器件提供了一個(gè)RTC時(shí)鐘經(jīng)過(guò)一個(gè)64分屏器輸出的的信號(hào),這個(gè)信號(hào)可以用來(lái)精確的測(cè)量晶體產(chǎn)生的頻率,如果是準(zhǔn)32768HZ時(shí),輸出正好是512HZ。
               這個(gè)方法我們可以分一下幾步來(lái)做:
            第一步:使能LSE,并且將LSE作為RTC時(shí)鐘,然后使能RTC;
            第二步:使能RTC時(shí)鐘經(jīng)過(guò)64分頻輸出,然后在器件的ANTI_TAMP 管腳就可以測(cè)得頻率輸出,不過(guò)這需要設(shè)置一下
            BKP_RTCCR寄存器的CCO位,讓其置一使能輸出。
            第三步:算出晶體頻率偏差多少個(gè)ppm,怎么算呢?因?yàn)槲覀兦懊嬲f(shuō)過(guò),校準(zhǔn)值是32766,因而理論上64分頻后輸出為511.968HZ,所以我們將實(shí)際測(cè)量出來(lái)的頻率作出與理論值的差值,然后將這個(gè)差值轉(zhuǎn)化為ppm,如何轉(zhuǎn)化成ppm,知道ppm定義之后就可以知道,ppm是每一百萬(wàn)赫茲所偏差的赫茲數(shù),那現(xiàn)在相對(duì)511.96875的偏差值的ppm就可以計(jì)算出來(lái)了:△f(HZ)*10 00000.
            第四步:到表中去找同計(jì)算結(jié)果最相近的ppm數(shù)所對(duì)應(yīng)的校準(zhǔn)值寫(xiě)入寄存器就可以了!
            注意:讓RTC分頻32766,它的分頻寄存器里面要寫(xiě)32765的,因?yàn)樗?jì)數(shù)到0.
            舉個(gè)例子:我們現(xiàn)在從ANTI_TAMP管腳測(cè)得頻率為: 511.982HZ,那么算出來(lái)同511.968HZ的偏差位0.14HZ,用上面公式換算出來(lái)為 27.35 ppm,在表中找到最近的為28ppm,得出的值寫(xiě)入校準(zhǔn)寄存器,當(dāng)然,這里還有誤差0.65個(gè)ppm,由于表中給出了27個(gè)ppm的話(huà)每個(gè)月會(huì)誤差69秒,那么現(xiàn)在27.35大約誤差71秒左右,那么0.65ppm的話(huà)每個(gè)月只會(huì)誤差1.7秒左右了,所以說(shuō)我們將27.35個(gè)ppm誤差降到0.65個(gè)ppm的結(jié)果是把每個(gè)月誤差69秒降到每個(gè)月誤差1.7秒左右了,已經(jīng)非??捎^。
            注意:本方法由于是基于時(shí)鐘周期削去的方法校準(zhǔn)的,因此是針對(duì)長(zhǎng)期進(jìn)行補(bǔ)償,在有限時(shí)間內(nèi)補(bǔ)償未必發(fā)生作用。
            3 在溫度變化范圍上校準(zhǔn)
            現(xiàn)在我們講在溫度變化方面如何計(jì)算校準(zhǔn)值,這一部分提供了這樣一個(gè)步驟來(lái)最大限度的降低在最大溫度變化范圍內(nèi)的頻率變化,這包括調(diào)整溫度曲線(xiàn)以至于讓它在0ppm邊緣有等量的誤差點(diǎn),下圖3演示了如何將溫度變化帶來(lái)的頻率誤差減小到最?。?br />這個(gè)校準(zhǔn)公式為: ,式中變量如下:
            acc:溫度轉(zhuǎn)變時(shí)的偏差,單位是ppm
            K:曲率常量,值為-0.14ppm/℃
            T0:溫度轉(zhuǎn)變時(shí)的攝氏度
            T:工作環(huán)境的攝氏度
            例如:一個(gè)器件在室溫時(shí)體現(xiàn)出來(lái)的是27ppm的偏差,但是應(yīng)用在40攝氏度的環(huán)境中,那么用這個(gè)等式就可以計(jì)算出來(lái)溫度轉(zhuǎn)變時(shí)的偏差為
            因?yàn)榫绕剖?8ppm,那么依然從上表中可以找出校準(zhǔn)值為19。
            4 結(jié)論
            STM32F10xxx 的RTC數(shù)字時(shí)鐘校準(zhǔn)特性允許用戶(hù)以最低微的成本來(lái)調(diào)整時(shí)鐘的精度,這個(gè)特性也提供了一種方法和思路:那就是為什么溫度漂移也可以被校正或者說(shuō)被預(yù)先估計(jì)出來(lái),當(dāng)然啦,這一系列的數(shù)據(jù)和結(jié)論都是建立在分頻為32766(而不是32768)之上的(分頻寄存器里面寫(xiě)32765).


            關(guān)鍵詞: STM32F101xxSTM32F103xxRTC校

            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉