亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種電能表掉電保護(hù)數(shù)據(jù)存貯方法與流程

文檔序號:11154730閱讀:1140來源:國知局
一種電能表掉電保護(hù)數(shù)據(jù)存貯方法與制造工藝

本發(fā)明涉及一種電能表掉電保護(hù)數(shù)據(jù)存貯方法。



背景技術(shù):

在電能表的數(shù)據(jù)存貯中,關(guān)鍵數(shù)據(jù)掉電保存與上電恢復(fù)是產(chǎn)品可靠性的非常關(guān)鍵的一個指標(biāo),在現(xiàn)場運(yùn)行過程中出現(xiàn)的非器件故障導(dǎo)致的數(shù)據(jù)錯誤,絕大部分與掉電數(shù)據(jù)保存與上電恢復(fù)有關(guān)。產(chǎn)生的原因包括很多方面,主要包括掉電檢測與響應(yīng)不及時、掉電/上電過程太頻繁導(dǎo)致工作電源不穩(wěn)、電池鈍化、整流電解電容的儲能性能下降等。

為了解決掉電/上電時的存貯問題,大多數(shù)電能表軟件都會采用多備份的方式來提高可靠性,一般的做法是選擇奇數(shù)個數(shù)據(jù)存貯區(qū),掉電時將數(shù)據(jù)依次寫入每個存貯區(qū),上電時再讀出進(jìn)行比較,按少數(shù)服從多數(shù)的原則選取存貯區(qū)。但是,這種方式本身存在問題,就是掉電時存貯次數(shù)太多,本來掉電時就是靠整流電解電容的剩余電荷為寫入存貯器的主要電源,之后由電池供電完成停電待機(jī)工作,而當(dāng)要寫入的存貯區(qū)數(shù)據(jù)太多時,電解電容的剩余電荷無法完成工作,需要電池來接續(xù)完成,而電能表使用的電池是鋰電池,長時間不用會產(chǎn)生鈍化,無法在短時間提供滿足寫入存貯器的工作電流,導(dǎo)致寫入不正確,從而無法保證寫入的可靠性。



技術(shù)實(shí)現(xiàn)要素:

為了克服現(xiàn)有電能表掉電存貯的可靠性不足的缺陷,本發(fā)明提供一種寫入可靠性高的電能表掉電保護(hù)數(shù)據(jù)存貯方法。

本發(fā)明解決其技術(shù)問題的技術(shù)方案是:一種電能表掉電保護(hù)數(shù)據(jù)存貯方法,在電能表的MCU的RAM中設(shè)置掉電保護(hù)數(shù)據(jù)塊、指針PA、指針PB,將需要掉電保護(hù)的數(shù)據(jù)集中在一起并加上CRC校驗(yàn),存入掉電保護(hù)數(shù)據(jù)塊中;

在電能表的非易失性存貯器中設(shè)置循環(huán)備份存貯區(qū)A和循環(huán)備份存貯區(qū)B,在循環(huán)備份存貯區(qū)A和循環(huán)備份存貯區(qū)B中均設(shè)置若干個用于存貯掉電保護(hù)數(shù)據(jù)塊中數(shù)據(jù)的備份數(shù)據(jù)區(qū)塊;

在電能表的MCU中設(shè)置定時器,當(dāng)定時時間到,且在這個定時間隔中有電量數(shù)據(jù)變化,就啟動一次數(shù)據(jù)備份的寫操作,寫操作的過程如下:

先將要保存的掉電保護(hù)數(shù)據(jù)塊中的數(shù)據(jù)寫入循環(huán)備份存貯區(qū)A 中指針PA所指向的備份數(shù)據(jù)區(qū)塊,然后讀出進(jìn)行比對,若寫入不正確,再重復(fù)寫入,若寫入成功,則指針PA 指向后續(xù)一塊備份數(shù)據(jù)區(qū)塊;若重復(fù)三次都寫入不成功,則放棄本次對循環(huán)備份存貯區(qū)A的寫入;

按上述方法將要保存的掉電保護(hù)數(shù)據(jù)塊中的數(shù)據(jù)寫入循環(huán)備份存貯區(qū)B中;

當(dāng)電能表MCU檢測到掉電時,若在上次定時寫入后有電量數(shù)據(jù)變化,也啟動一次上述的數(shù)據(jù)備份的寫操作,寫完后,進(jìn)入休眠模式;

當(dāng)重新上電后,電能表MCU從休眠模式喚醒,先從非易失性存貯器中恢復(fù)數(shù)據(jù)到掉電保護(hù)數(shù)據(jù)塊,恢復(fù)過程如下:

(1).讀出循環(huán)備份存貯區(qū)A的各備份數(shù)據(jù)區(qū)塊,若不存在CRC校驗(yàn)錯的備份數(shù)據(jù)區(qū)塊,則將總電量值最小的那個備份數(shù)據(jù)區(qū)塊的位置作為下一次數(shù)據(jù)存貯指針PA;

若存在CRC校驗(yàn)錯的備份數(shù)據(jù)區(qū)塊,則舍棄CRC校驗(yàn)錯的備份數(shù)據(jù)區(qū)塊,并將該備份數(shù)據(jù)區(qū)塊的位置作為下一次數(shù)據(jù)存貯指針PA;

在CRC校驗(yàn)正確的備份數(shù)據(jù)區(qū)塊中找到總電量值最大的備份數(shù)據(jù)區(qū)塊,作為循環(huán)備份存貯區(qū)A的當(dāng)前塊;

(2).用上述同樣的方法再找到循環(huán)備份存貯區(qū)B的當(dāng)前塊和指針PB;

(3).將找到的循環(huán)備份存貯區(qū)A的當(dāng)前塊、循環(huán)備份存貯區(qū)B的當(dāng)前塊進(jìn)行比較,總電量值大的當(dāng)前塊中的數(shù)據(jù)恢復(fù)至RAM中的掉電保護(hù)數(shù)據(jù)塊內(nèi)。

本發(fā)明的有益效果在于:1.在掉電時只寫入了2個數(shù)據(jù)塊,對整流電解電容的儲能要求較低,容易滿足要求;2.循環(huán)備份區(qū)的數(shù)據(jù)除了一個是在掉電時寫入的外,其它區(qū)域是在正常工作時寫入的,數(shù)據(jù)的可靠性有保證,因此,在極限情況下,即使掉電時寫入的數(shù)據(jù)全部錯誤,也能用最近一次定時存貯的數(shù)據(jù)來恢復(fù),電量偏差小于一個定時存貯間隔的用戶用電量;3.當(dāng)有CRC校驗(yàn)錯的備份數(shù)據(jù)塊時,使用該塊作為下一次寫入位置,因此,不論發(fā)生什么狀況,每個循環(huán)備份區(qū)只會有一個寫入不正確的備份數(shù)據(jù)塊。

附圖說明

圖1是本發(fā)明的原理圖。

具體實(shí)施方式

下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)說明。

參照圖1,一種電能表掉電保護(hù)數(shù)據(jù)存貯方法,在電能表MCU的RAM中設(shè)置掉電保護(hù)數(shù)據(jù)塊101、指針PA 104、指針PB 105,將需要掉電保護(hù)的數(shù)據(jù)集中在一起并加上CRC校驗(yàn),存入掉電保護(hù)數(shù)據(jù)塊101中。

在電能表的非易失性存貯器中設(shè)置循環(huán)備份存貯區(qū)A 102和循環(huán)備份存貯區(qū)B 103,在循環(huán)備份存貯區(qū)A 102和循環(huán)備份存貯區(qū)B 103中分別有n和m個用于存貯掉電保護(hù)數(shù)據(jù)塊101中數(shù)據(jù)的備份數(shù)據(jù)區(qū)塊,n和m可以相同也可以不同。

電能表在生產(chǎn)或計量檢定期間進(jìn)行初始化或電量總清時,掉電保護(hù)數(shù)據(jù)塊101、循環(huán)備份存貯區(qū)A 102、循環(huán)備份存貯區(qū)B 103的數(shù)據(jù)全部清零,指針PA 104和指針PB 105 也賦予初始值,指向兩個循環(huán)備份存貯區(qū)的首部。

在電能表的MCU中設(shè)置定時器,當(dāng)定時時間到,且在這個定時間隔中有電量數(shù)據(jù)變化,就啟動一次數(shù)據(jù)備份的寫操作,寫操作的過程如下:

先將要保存的掉電保護(hù)數(shù)據(jù)塊101中的數(shù)據(jù)寫入循環(huán)備份存貯區(qū)A 102 中指針PA 104所指向的備份數(shù)據(jù)區(qū)塊,然后讀出進(jìn)行比對,若寫入不正確,再重復(fù)寫入,若寫入成功,則指針PA 104指向后續(xù)一塊備份數(shù)據(jù)區(qū)塊,若原PA 104指向循環(huán)備份存貯區(qū)A 102的尾部的備份An塊,則指向首部的備份A1塊;若3次寫入不成功,放棄本次對循環(huán)備份存貯區(qū)A 102的寫入操作;

按上述方法將要保存的掉電保護(hù)數(shù)據(jù)塊101中的數(shù)據(jù)寫入循環(huán)備份存貯區(qū)B 103中;

當(dāng)電能表MCU檢測到掉電時,若在上次定時寫入后有電量數(shù)據(jù)變化,也啟動一次上述的數(shù)據(jù)備份的寫操作,寫完后,進(jìn)入休眠模式。

當(dāng)重新上電后,電能表MCU從休眠模式喚醒,先從非易失性存貯器中恢復(fù)數(shù)據(jù)到掉電保護(hù)數(shù)據(jù)塊101,恢復(fù)過程如下:

(1).讀出循環(huán)備份存貯區(qū)A 102的各備份數(shù)據(jù)區(qū)塊,若不存在CRC校驗(yàn)錯的備份數(shù)據(jù)區(qū)塊,則將總電量值最小的那個備份數(shù)據(jù)區(qū)塊的位置作為下一次數(shù)據(jù)存貯指針PA;

若存在CRC校驗(yàn)錯的備份數(shù)據(jù)區(qū)塊,則舍棄CRC校驗(yàn)錯的備份數(shù)據(jù)區(qū)塊,并將該備份數(shù)據(jù)區(qū)塊的位置作為下一次數(shù)據(jù)存貯指針PA;

在CRC校驗(yàn)正確的備份數(shù)據(jù)區(qū)塊中找到總電量值最大的備份數(shù)據(jù)區(qū)塊,作為循環(huán)備份存貯區(qū)A102的當(dāng)前塊;

(2).用上述同樣的方法再找到循環(huán)備份存貯區(qū)B 103的當(dāng)前塊和指針PB 105;

(3).將找到的循環(huán)備份存貯區(qū)A 102的當(dāng)前塊、循環(huán)備份存貯區(qū)B 103的當(dāng)前塊進(jìn)行比較,總電量值大的當(dāng)前塊中的數(shù)據(jù)恢復(fù)至RAM中的掉電保護(hù)數(shù)據(jù)塊101內(nèi)。

掉電保護(hù)數(shù)據(jù)恢復(fù)到RAM后,MCU就能進(jìn)入正常的工作狀態(tài)了。

在掉電保護(hù)數(shù)據(jù)恢復(fù)中,利用了總電量值作為判別依據(jù),因?yàn)榭傠娏靠偸遣粩噙f增的,因此,總電量最小的是最早保存的備份數(shù)據(jù),總電量最大的就是最新的備份數(shù)據(jù),因此,將指針指向總電量最小的數(shù)據(jù)塊,就能做到先進(jìn)先出,而用總電量最大值的數(shù)據(jù)塊,就能確認(rèn)用的是最后一次保存的有效值。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1