欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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



背景技術(shù):

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

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



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

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

本發(fā)明解決其技術(shù)問(wèn)題的技術(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è)置若干個(gè)用于存貯掉電保護(hù)數(shù)據(jù)塊中數(shù)據(jù)的備份數(shù)據(jù)區(qū)塊;

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

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

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

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

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

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

若存在CRC校驗(yàn)錯(cuò)的備份數(shù)據(jù)區(qū)塊,則舍棄CRC校驗(yàn)錯(cuò)的備份數(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.在掉電時(shí)只寫(xiě)入了2個(gè)數(shù)據(jù)塊,對(duì)整流電解電容的儲(chǔ)能要求較低,容易滿足要求;2.循環(huán)備份區(qū)的數(shù)據(jù)除了一個(gè)是在掉電時(shí)寫(xiě)入的外,其它區(qū)域是在正常工作時(shí)寫(xiě)入的,數(shù)據(jù)的可靠性有保證,因此,在極限情況下,即使掉電時(shí)寫(xiě)入的數(shù)據(jù)全部錯(cuò)誤,也能用最近一次定時(shí)存貯的數(shù)據(jù)來(lái)恢復(fù),電量偏差小于一個(gè)定時(shí)存貯間隔的用戶用電量;3.當(dāng)有CRC校驗(yàn)錯(cuò)的備份數(shù)據(jù)塊時(shí),使用該塊作為下一次寫(xiě)入位置,因此,不論發(fā)生什么狀況,每個(gè)循環(huán)備份區(qū)只會(huì)有一個(gè)寫(xiě)入不正確的備份數(shù)據(jù)塊。

附圖說(shuō)明

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

具體實(shí)施方式

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

參照?qǐng)D1,一種電能表掉電保護(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個(gè)用于存貯掉電保護(hù)數(shù)據(jù)塊101中數(shù)據(jù)的備份數(shù)據(jù)區(qū)塊,n和m可以相同也可以不同。

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

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

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

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

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

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

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

若存在CRC校驗(yàn)錯(cuò)的備份數(shù)據(jù)區(qū)塊,則舍棄CRC校驗(yàn)錯(cuò)的備份數(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頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
华阴市| 绍兴县| 稷山县| 泌阳县| 鹤庆县| 承德县| 鄂伦春自治旗| 沙河市| 磐安县| 和龙市| 临海市| 双牌县| 江北区| 元阳县| 贵港市| 东台市| 怀安县| 焉耆| 大荔县| 定襄县| 奉化市| 盈江县| 和平县| 金秀| 绥江县| 得荣县| 灵宝市| 乌兰察布市| 吉林市| 武鸣县| 分宜县| 错那县| 西城区| 彰武县| 确山县| 蒙城县| 化德县| 安溪县| 焦作市| 罗定市| 大渡口区|