亚洲日韩欧美一区二区三区,japanese日本护士booloo,中国XXXXXL17免费,男女差差差差差很痛30分钟

0755-28444777
176 6539 4502

關(guān)于時鐘晶振32.768khz,RTC的校準方法

作者: 揚興晶振 日期:2021-07-21 瀏覽量:

  實現(xiàn)RTC 校準的核心之一是庫文件Stm321f0x_bkp.c中的void BKP_SetRTCCalibrationValue (uint8_t CalibrationValue) 函數(shù)。談到RTC校準的相關(guān)參考文檔包括AN2604.pdf,AN2821.pdf和AN2821.zip。這三個文檔都可以從STM32官方網(wǎng)站下載。

  按照AN2604.pdf描述的原理,RTC 的校準值應(yīng)在0-127之間。可實現(xiàn)的校準誤差對應(yīng)為0-121ppm。相當(dāng)于每30天跑快的秒數(shù)為0-314s。

  RTC只能對跑快進行校準,不能對跑慢進行校準。如果手表晶振的標稱頻率是32768Hz,設(shè)其可能的誤差范圍是±2Hz,則實際頻率會在32766Hz-32770Hz之間。如果RTC的內(nèi)部分頻系數(shù)設(shè)定為32768,則32768Hz是不需要校準的頻率,32768Hz-32770Hz是可以校準的頻率(最大校準能力大概是32772Hz)。但是32766Hz-32768Hz的跑慢頻率段則無法實現(xiàn)校準。為此,在推薦的校準方法中,使用32766代替32768作為分頻系數(shù)。這樣一來,32766Hz是不需要校準的頻率,32766Hz-32770Hz是可以校準的頻率范圍。

  那么,如何測量誤差,并以此得出校準值。一般來說有兩種方法:

  一、測量TamperPin的頻率值,然后計算ppm誤差

  二、是實際運行一定的天數(shù),與標準時鐘做對比,先得到每30天跑快的秒數(shù),然后計算ppm誤差。

  AN2604.pdf,AN2821.pdf里都詳細描述了第一種方法。AN2821.zip則使用定時器T2對TamperPin的頻率值進行自動測量,實現(xiàn)了自動校準。自動校準確實簡化了用戶操作,但是它要依賴于8MHz主時鐘的精度。自動校準不可能達到比8MHz主時鐘精度更高的結(jié)果。所以給用戶留有手動校準界面仍是萬全之策。即使有自動校準,也可以手動、自動疊加作用。

  使用第一種方法進行校準時,需要準確測量TamperPin的頻率值,比如達到511.xxxHz的精度。普通示波器做不到這一點,一般的頻率計也不行,需要高精度的頻率計才可以。

RTC校準,32.768khz晶振,揚興科技

  這兩種方法的核心都是計算ppm誤差。我們先看一下第一種方法是如何計算ppm誤差的。由于使用了32766作為分頻系數(shù),因此32766Hz是不需要校準的基準頻率。不要把32768Hz看得太重,32766Hz可看成新的標稱頻率。TamperPin的頻率應(yīng)為32766Hz/64=511.968Hz。這也就是文檔中計算誤差時反復(fù)使用的基準頻率。按照文檔中所舉的例子,若實測TamperPin的頻率為511.982Hz,則誤差為27.35ppm。計算過程為(511.982Hz-511.968Hz)/ 511.968Hz *10^6 = 27.35ppm。文檔最后給出最接近的校準值為28。注意這里是最后的校準值28,是由27 ppm查表得到的,而不是有些帖子中誤解的將27.35ppm近似成28ppm。

  其實ppm誤差的計算公式為:ppm誤差=偏差/基準值*10的6次方。因此,采用第二種方法時,先得到了每30天跑快的秒數(shù)。這跑快的秒數(shù)就是偏差,而30天就是基準值。所以ppm誤差=每30天跑快的秒數(shù)/(30天*24小時*3600秒)*10的6次方。用這個公式可以容易地解釋文檔AN2604.pdf中提到的“0.65ppm大約是每月誤差1.7秒”。因為:1.7/(30*24*3600)*10^6 = 0.65ppm。

  計算出了ppm誤差,還要解決查表。知道文檔中給出的表格是怎么來的之后,可以使用簡單的計算公式代替查表。AN2604.pdf中說,若校準值為1,則RTC 校準時,每2的20次方個時鐘周期扣除1個時鐘脈沖。這相當(dāng)于0.954ppm(1/2^20*10^6 = 0.954)。而校準值最大為127,所以最大可以減慢121ppm(0.954ppm*127 = 121)。所以這個校準表就是由簡單的乘除運算得來的,當(dāng)然要使用浮點運算才可以得到準確結(jié)果。

推薦閱讀

樣品申請