本發(fā)明主要涉及電力領(lǐng)域,尤其涉及一種支持離線高精度計時的裝置及其實施方法。
背景技術(shù):
1、rtc(real-time?clock)即實時時鐘,是電力領(lǐng)域設(shè)備常見的功能單元,用于裝置數(shù)據(jù)歷史曲線的支持,soe功能的時間戳支持等等。rtc時鐘可以看作是一個獨立的定時器,通過晶體振蕩器產(chǎn)生一個精確的時鐘信號,并通過計數(shù)器來跟蹤時間。
2、目前的技術(shù)中,為了維持較高的rtc精度,較多情況下會采用周期性地通過外部標準時鐘源校時等方法來實現(xiàn),其中外部標準時鐘源可采用如gps時鐘、ntp服務(wù)器或其他高精度的時間服務(wù)器。
3、由于受到各種限制,部分現(xiàn)場無外部標準時鐘源,同時就算在有外部時鐘源的情況下,部分現(xiàn)場要求設(shè)備掉電時rtc模塊需在極低的功耗下正常運行,且在一定時間(48小時甚至7天內(nèi))保持較高的走時精度。這樣一來,由于在掉電或rtc模塊在極低功耗運行時無法獲取外部標準時鐘源數(shù)據(jù),傳統(tǒng)方法很難滿足高精度走時要求。
技術(shù)實現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種支持離線高精度計時的裝置和方法,以較好的實現(xiàn)在外部時鐘源掉電或rtc模塊在極低功耗運行時無法獲取外部時鐘源數(shù)據(jù)時的高精度計時,且應(yīng)用簡單,可操作性強。
2、本發(fā)明依靠下述措施來達到目的:
3、根據(jù)本發(fā)明的第一方面,提供一種支持離線高精度計時的裝置。該裝置包括:
4、rtc模塊,用于通過內(nèi)置晶體的振蕩產(chǎn)生內(nèi)部時鐘信號;
5、備用電源,用于在有外部電源供電時儲存電力,并在沒有外部電源供電時為所述rtc模塊供電;
6、溫度感測模塊,用于采集溫度感測數(shù)據(jù);
7、控制器,用于基于外部時鐘源的外部時鐘信號、所述內(nèi)部時鐘信號和所述溫度感測數(shù)據(jù),以設(shè)定的時間間隔產(chǎn)生時鐘補償值,并發(fā)送至rtc模塊;
8、其中,在有外部電源供電時,所述rtc模塊保存并更新所述時鐘補償值,根據(jù)所述時鐘補償值對所述內(nèi)部時鐘信號進行修正;在沒有外部電源供電時,所述rtc模塊根據(jù)最新保存的時鐘補償值對所述內(nèi)部時鐘信號進行修正。
9、進一步的,所述備用電源包括二極管和電容;所述二極管的正極連接至所述外部電源,所述二極管的負極分別連接至所述電容和所述rtc模塊。
10、進一步的,所述rtc模塊為支持iic通訊、時鐘補償機制以及秒中斷輸出的rtc模塊。
11、進一步的,所述控制器包括flash存儲器,用于儲存所述時鐘補償值。
12、進一步的,所述控制器還包括通訊接口;所述控制器還用于經(jīng)由所述通訊接口獲取并保存所述rtc模塊的晶振頻率溫度系數(shù)。
13、進一步的,所述控制器為mcu;所述通訊接口為modbusrtu通訊接口。
14、根據(jù)本發(fā)明的第二方面,提供一種如本發(fā)明第一方面所述的支持離線高精度計時的裝置的實施方法。該方法包括:
15、(1)在室溫恒溫環(huán)境下,所述控制器根據(jù)所述外部時鐘信號對所述內(nèi)部時間信號進行校準,確定并保存室溫補償值,將所述室溫補償值發(fā)送至所述rtc模塊;
16、(2)在校準完成且有外部電源供電時:所述控制器滾動讀取所述溫度感測模塊采集的溫度感測數(shù)據(jù),并實時計算24h內(nèi)的平均溫度值;所述控制器根據(jù)保存的常溫時鐘補償值和所述平均溫度值,按照預(yù)設(shè)的時間間隔確定和保存時鐘補償值,并將所述時鐘補償值發(fā)送給所述rtc模塊;所述rtc模塊接收并保存所述時鐘補償值,根據(jù)所述時鐘補償值對所述內(nèi)部時鐘信號進行修正;
17、(3)在校準完成且無外部電源供電時:所述rtc模塊由所述備用電源供電,根據(jù)最新保存的時鐘補償值對所述內(nèi)部時鐘信號進行修正。
18、進一步的,步驟(1)具體包括:
19、在25℃恒溫環(huán)境下,所述rtc模塊和外部時鐘源分別將準秒脈沖發(fā)送給所述控制器;所述控制器以中斷的方式處理準秒脈沖,并在所述外部時鐘源的準秒時刻將準確時間寫入rtc模塊并開始計時,并在所述外部時鐘源的離開始計時的一分鐘之后最近的準秒時刻停止計時,計算出所述外部時鐘源和所述rtc模塊的時間差,從所述時間差中剔除固定的控制器中斷響應(yīng)時間以及計算時間偏差,得到修正時間差;所述控制器根據(jù)所述修正時間差和rtc模塊的晶振周期,通過以下式子確定并保存所述室溫補償值,并發(fā)送給所述rtc模塊:
20、m=a/h
21、其中,m為室溫補償值,a為所述修正時間差,h為rtc模塊的晶振周期。
22、進一步的,步驟(2)中,通過所述控制器滾動讀取所述溫度感測模塊采集的溫度感測數(shù)據(jù),并計算24h內(nèi)的平均溫度值,具體包括:
23、將所述控制器設(shè)定為每半小時讀取一次溫度感測模塊采集的溫度感測值,并填充到一個48位的先進先出數(shù)組中,根據(jù)所述數(shù)組中存儲的溫度感測值計算24小時內(nèi)的平均溫度值。
24、進一步的,步驟(2)中,所述控制器根據(jù)下式確定所述時鐘補償值:
25、n=-(x-25)2×tf×f×60+m
26、其中,對n四舍五入取整數(shù)后得到1分鐘內(nèi)的時鐘補償值,x為24h內(nèi)的平均溫度值,tf為晶振頻率溫度系數(shù),f為晶振頻率,m為室溫補償值。
27、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
28、1、通過為rtc模塊設(shè)置備用電源,設(shè)置控制器來根據(jù)內(nèi)外部時鐘信號和溫度感測數(shù)據(jù)確定和保存時鐘補償值,并發(fā)送至rtc模塊保存,使得該rtc模塊即使在外部電源掉電或極低功耗的情況下,也能夠由備用電源供電,并根據(jù)保存的時鐘補償值對內(nèi)部時鐘信號進行高精度補償。
29、2、通過將備用電源設(shè)置為包括二極管和電容,并使二極管的正極連接至外部電源,二極管的負極分別連接至電容和rtc模塊,可以無需檢測外部電源何時供電何時斷電,通過簡單的單向二極管即可實現(xiàn)外部電源上電時電容自動充電,外部電源斷電時,電容自動只給rtc模塊供電。這樣一來,可以極大降低功耗(例如,rtc模塊的供電電流可以低到只有500na左右),1法拉的紐扣超級電容就可以維持rtc模塊工作一周以上,同時可以極大地減小備用電源的體積,進行減小整個裝置的體積。
30、3、通過控制器進行室溫校準,確定室溫補償值,將該值存儲在控制器內(nèi)并發(fā)送至rtc模塊進行時鐘補償,使得用戶無需關(guān)注該時鐘補償值的大小,同時rtc模塊內(nèi)也無需設(shè)置額外的時鐘補償計算模塊,進一步降低了外部電源掉電時rtc模塊的功耗,確保rtc模塊在掉電時的正常工作。
31、4、通過每半小時讀取一次溫度感測模塊采集的溫度感測值,并填充到一個48位的先進先出數(shù)組中,可以在數(shù)組填滿時,自動填入最新的數(shù)據(jù)并拋棄最老的數(shù)據(jù),實現(xiàn)24小時內(nèi)溫度感測值的實時更新,進而得到更準確的24小時內(nèi)實時平均溫度值,從而可以盡可能地減小晝夜溫差對時鐘精度的影響。
1.一種支持離線高精度計時的裝置,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的支持離線高精度計時的裝置,其特征在于,
3.根據(jù)權(quán)利要求1所述的支持離線高精度計時的裝置,其特征在于,所述rtc模塊為支持iic通訊、時鐘補償機制以及秒中斷輸出的rtc模塊。
4.根據(jù)權(quán)利要求1所述的支持離線高精度計時的裝置,其特征在于,所述控制器包括flash存儲器,用于儲存所述時鐘補償值。
5.根據(jù)權(quán)利要求1所述的支持離線高精度計時的裝置,其特征在于,所述控制器還包括通訊接口;所述控制器還用于經(jīng)由所述通訊接口獲取并保存所述rtc模塊的晶振頻率溫度系數(shù)。
6.根據(jù)權(quán)利要求5所述的支持離線高精度計時的裝置,其特征在于,所述控制器為mcu;所述通訊接口為modbusrtu通訊接口。
7.一種如權(quán)利要求1-6中任一項所述的支持離線高精度計時的裝置的實施方法,其特征在于,包括如下步驟:
8.根據(jù)權(quán)利要求7所述的支持離線高精度計時的方法,其特征在于,步驟(1)具體包括:
9.根據(jù)權(quán)利要求7所述的支持離線高精度計時的方法,其特征在于,步驟(2)中,通過所述控制器滾動讀取所述溫度感測模塊采集的溫度感測數(shù)據(jù),并計算24h內(nèi)的平均溫度值,具體包括:
10.根據(jù)權(quán)利要求7所述的支持離線高精度計時的方法,其特征在于,步驟(2)中,所述控制器根據(jù)下式確定所述時鐘補償值: