RTC補償機制是否可行

現(xiàn)在在使用CH571,有幾個疑問需要確認(rèn):

1. 內(nèi)部RTC如何進行溫度補償?? 我的想法是通過晶振溫度取消累加到30秒,對R16_RTC_CNT_32K進行調(diào)整,太頻繁我任務(wù)會影響計數(shù),導(dǎo)致誤差更大。?

2.如果上面的補償可行,那么我利用1秒的周期中斷,通過一個IO輸出秒脈沖,29秒是未補償?shù)?,?0秒是補償后的秒脈沖,通過平均,是否可以反應(yīng)我RTC的誤差???


通過中斷輸出的秒脈沖是否對精度有影響? 或者官方有更好的版本或者方案


關(guān)于溫度,如果做晶振溫度曲線補償,那么芯片內(nèi)部的溫度傳感器的精度是多少?資料說是10度?真的這么差嗎?

?如果真的這么差,那是否采用貼片熱敏電阻,通過AD測量,可以獲取到較高精度?


謝謝


CH571/573的內(nèi)部低頻時鐘校準(zhǔn), 本身是支持定時強制校準(zhǔn)的,在BLE的歷程里面,config.h 文件中有個宏BLE_CALIBRATION_PERIOD 即為強制定時校準(zhǔn)的間隔,這個值的單位是ms,默認(rèn)是2分鐘.

這個宏最終是在HAL_Init 函數(shù)中調(diào)用,并且開啟一個定時的任務(wù),如果使能了內(nèi)部的rc 將會定時強制校準(zhǔn)內(nèi)部時鐘? ? Lib_Calibration_LSI();?(在EVT>EXAM>BLE>HAL>MCU.c 文件中調(diào)用),? 芯片專門設(shè)計了通過一定周期的RTC的cnt變化,記錄高頻時鐘的變化次數(shù)的計數(shù)器, 可以參考這個代碼的實現(xiàn), 來了解芯片內(nèi)部的低頻RC校準(zhǔn)原理.


另外,ble在初始化時候,也傳入了獲取溫度,和內(nèi)部低頻rc校準(zhǔn)的函數(shù),

默認(rèn)在(在EVT>EXAM>BLE>HAL>MCU.c 的函數(shù)CH57X_BLEInit 中)


至于芯片內(nèi)部的溫度sensor的精度,

實際上,sensor測量的絕對誤差很大程度上取決于生產(chǎn)校準(zhǔn). 專門設(shè)計用于準(zhǔn)確測量的sensor是在生產(chǎn)時通過若干嚴(yán)格校準(zhǔn)的點的值來修正測量結(jié)果,最終實現(xiàn)高準(zhǔn)確度(accuracy)和高精密度(precision)的. 而這些往往直接影響到芯片的最終成本.

CH571/573 其內(nèi)部溫度sensor設(shè)計的目的,是滿足內(nèi)部模塊受溫度影響時校準(zhǔn)使用的, 具備比較一致的線性度, 這也正符合絕大多的校準(zhǔn)只關(guān)心溫度變化量,而并不關(guān)心測量結(jié)果的絕對誤差這一特點.



  1. 我采用的是外部32.768K的晶振,因為內(nèi)部RC即使校準(zhǔn)也達(dá)不到理想的精度要求。? ? 在使用外部比如5PPM的晶振,那么在-40~80°的范圍內(nèi),需要進行補償。?

    我的要求是在整個溫度范圍內(nèi),24小時每度0.15秒以內(nèi)的誤差。? 我會根據(jù)每秒種的溫度進行誤差累積(預(yù)先確定32.768晶振的溫度曲線表格),并在一定時間后修正LSE。?

? ? ?所以,整個RTC運行和補償沒有HSE的參與。??

? ? 但是補償是否正確,需要有一個可以檢測的秒脈沖,我的想法是通過補償后的周期定時器,輸出到IO進行驗證。(外部有專門的時鐘誤差測試儀器)


2.如果芯片沒有對溫度進行出廠標(biāo)定,那么溫度線性符合即可,我可以在常溫下對溫度進行校準(zhǔn)。如果溫度校準(zhǔn)后,溫度測試的線性誤差能夠做到多少?±1°?


3. 溫度傳感器的的AD值和溫度是否有轉(zhuǎn)換關(guān)系的算法?? ?假設(shè)溫度通道誤差已經(jīng)校準(zhǔn), 斜率是否有現(xiàn)成的?? 我只需要校準(zhǔn)單點溫度。? ?因為實際中,校準(zhǔn)常溫誤差是比較方便的。



只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频