專利名稱:電能計量數(shù)據(jù)高可靠性管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計量及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及電能計量數(shù)據(jù)的高可靠性管理方 法。
背景技術(shù):
電子式電能表的主要工作原理是電流電壓采樣模塊將流過供電線路的大電流和 交流電壓變換為合適的小電流,小電壓信號,經(jīng)計量模塊轉(zhuǎn)換成隨功率變化的脈沖信號,微 處理器(MCU)接收功率脈沖信號,更新計量數(shù)據(jù)并將其保存,計量數(shù)據(jù)經(jīng)MCU的隨機存儲器 (后續(xù)簡稱為RAM-Random-access memory)存入電可擦除只讀存儲器存儲器(后續(xù)簡稱為 EEPR0M)內(nèi)。電子式電能表運行過程中受到的干擾無處不在,隨著電子技術(shù)的進步和發(fā)展,加 上設(shè)計理論的不斷完善和設(shè)計方法的不斷改進,數(shù)據(jù)存儲器因干擾而損壞的概率已經(jīng)很小 了,而數(shù)據(jù)在受到干擾情況下的保護、自糾和恢復成為提高計量數(shù)據(jù)可靠性的基本方式?,F(xiàn)有電子式電能表在處理計量數(shù)據(jù)過程中的缺陷在于(1)計量數(shù)據(jù)的自糾和恢 復措施沒有或者不足;(2)對計量數(shù)據(jù)的保護欠缺,被其他數(shù)據(jù)沖亂。
發(fā)明內(nèi)容
本發(fā)明從計量數(shù)據(jù)保存和備份、更新及糾錯著手,提供一種計量數(shù)據(jù)高可靠性管 理方法,由以下技術(shù)方案實現(xiàn)。一種電能計量數(shù)據(jù)高可靠性管理方法,其特征在于,包括保存及備份區(qū)的劃分 提供相互關(guān)聯(lián)的RAM及EEPROM,RAM中設(shè)置當前計量數(shù)據(jù)區(qū)、第一備份區(qū)及掉電數(shù)據(jù)存儲 區(qū),EEPROM中設(shè)置至少兩個電量備份區(qū)和一個掉電數(shù)據(jù)備份區(qū);計量數(shù)據(jù)的保存與備份 每次累加所獲得的最新計量數(shù)據(jù)保存在RAM的當前計量數(shù)據(jù)區(qū);每累計K個數(shù)據(jù)量則將當 前計量數(shù)據(jù)更新到RAM的第一備份區(qū);每累計M個數(shù)據(jù)量則將當前計量數(shù)據(jù)更新到EEPROM 中的各電量備份區(qū),M > K ;當前計量數(shù)據(jù)的恢復當前計量數(shù)據(jù)區(qū)數(shù)據(jù)損壞時,先校驗RAM 第一備份區(qū)數(shù)據(jù),正確則覆蓋當前計量數(shù)據(jù)區(qū);否則用EEPROM中電量備份區(qū)有效數(shù)據(jù)覆蓋 當前計量數(shù)據(jù)區(qū);如果EEPROM內(nèi)各電量備份區(qū)數(shù)據(jù)均損壞,則報錯。上述計量數(shù)據(jù)管理方法中,每次累加獲得最新計量數(shù)據(jù)的方法具體包括①在進 行數(shù)據(jù)累加前,先對RAM當前計量數(shù)據(jù)區(qū)的數(shù)據(jù)進行校驗,如通過則直接累加,如不通過則 執(zhí)行②;②取RAM第一備份區(qū)中的數(shù)據(jù)進行校驗,如通過則用RAM第一備份區(qū)數(shù)據(jù)覆蓋當前 計量數(shù)據(jù)區(qū)數(shù)據(jù),再進行累加,如不通過則執(zhí)行③;③取EEPROM各電量備份區(qū)中的合法數(shù) 據(jù)覆蓋當前計量數(shù)據(jù)區(qū)數(shù)據(jù),再進行累加,并重新計算校驗碼,然后拷貝至各備份區(qū)。其他模塊在數(shù)據(jù)塊處理過程中,需要實時判斷數(shù)據(jù)塊指針所指位置,看是否超出 規(guī)定區(qū)域,如果超過或者進入非法區(qū)域則初始化指針位置。本發(fā)明有益效果在于通過合理設(shè)置數(shù)據(jù)備份區(qū),使得數(shù)據(jù)的保存更加可靠,并為 數(shù)據(jù)的恢復提供充分準備,而通過各種判斷及校驗,使得數(shù)據(jù)的恢復和更新更加精確,使得計量數(shù)據(jù)可靠性得到有效保證。此外,其他模塊在數(shù)據(jù)塊處理過程中,需要實時判斷數(shù)據(jù)塊 指針所指位置,如果超過或者進入非法區(qū)域則初始化指針位置。從而避免對其他數(shù)據(jù)的破 壞。
圖1為實施例提供的數(shù)據(jù)存儲方法中計量數(shù)據(jù)累加更新的處理流程圖。圖2為實施例提供的數(shù)據(jù)存儲方法中上電時對掉電計量數(shù)據(jù)恢復的處理流程圖。
具體實施例方式實施例一本實施例以電能表計量為例進行說明,電能表具有相互關(guān)聯(lián)的RAM(通 常為MCU自帶的RAM)及EEPROM(習慣稱之為內(nèi)卡)。該電能計量數(shù)據(jù)存儲方法主要包 括一、保存及備份區(qū)的劃分RAM中設(shè)置當前計量數(shù)據(jù)區(qū)、第一備份區(qū)及掉電數(shù)據(jù)存儲區(qū), EEPROM中設(shè)置三個電量備份區(qū)(名稱分別為EEPROM第二備份區(qū)、EEPROM第三備份區(qū)、 EEPROM第四備份區(qū),當然也可以是更多個電量備份區(qū))和一個掉電數(shù)據(jù)備份區(qū)(用于存 儲計量數(shù)據(jù)和相關(guān)狀態(tài)數(shù)據(jù));二、存儲和校驗過程,包括正常運行的的存儲和校驗及掉電 時的存儲和上電數(shù)據(jù)恢復,分別說明如下(1)正常運行時計量數(shù)據(jù)的保存與備份每次累 加所獲得的最新計量數(shù)據(jù)保存在當前計量數(shù)據(jù)區(qū);每累計0. 01度電時則將當前電量數(shù)據(jù) 更新到RAM第一備份區(qū);每累計1度電時則將當前電量數(shù)據(jù)更新到EEPROM第二備份區(qū)、 EEPROM第三備份區(qū)及EEPROM第四備份區(qū)。當RAM當前計量數(shù)據(jù)區(qū)數(shù)據(jù)損壞時,先用RAM第一備份區(qū)合法數(shù)據(jù)覆蓋當前計 量數(shù)據(jù)區(qū),此時損失的電量小于0. 01度電;如果RAM的第一備份區(qū)數(shù)據(jù)也損壞了,則用 EEPROM第二備份區(qū)合法數(shù)據(jù)覆蓋當前計量數(shù)據(jù)區(qū);如果EEPROM第二備份區(qū)數(shù)據(jù)也損壞了, 則用EEPROM第三備份區(qū)合法數(shù)據(jù)覆蓋當前計量數(shù)據(jù)區(qū);如果EEPROM第三備份區(qū)數(shù)據(jù)也損 壞了,則用EEPROM第四備份區(qū)合法數(shù)據(jù)覆蓋當前計量數(shù)據(jù)區(qū);從EEPROM三個備份區(qū)恢復數(shù) 據(jù),則損失的電量小于1度;如果EEPROM各電量備份區(qū)的數(shù)據(jù)均損壞則報錯。上述電能計量存儲方法中,由于當前計量數(shù)據(jù)區(qū)的數(shù)據(jù)在用戶用電過程中是實時 更新的,在這個過程中會受到外界的干擾,本實施例進而提供一種可靠的數(shù)據(jù)更新方法,即 每次累加獲得最新計量數(shù)據(jù)的方法。如圖1所示,該方法包括①在進行電量數(shù)據(jù)累加前, 先判定當前計量數(shù)據(jù)區(qū)的數(shù)據(jù)是否被非法改動過,判據(jù)為CRC校驗,如通過則直接累加,如 不通過則執(zhí)行②;②取RAM第一備份區(qū)中的數(shù)據(jù)進行CRC校驗,如通過則用第一備份區(qū)數(shù)據(jù) 覆蓋當前計量數(shù)據(jù)區(qū)數(shù)據(jù),再進行累加,如不通過則執(zhí)行③;③取EEPROM各電量備份區(qū)的 合法數(shù)據(jù)覆蓋當前計量數(shù)據(jù)區(qū)數(shù)據(jù),再進行累加,并重新計算CRC校驗碼,然后將相關(guān)數(shù)據(jù) 區(qū)更新。(2)掉電時的存儲和上電數(shù)據(jù)恢復掉電時數(shù)據(jù)存儲方法為掉電時將當前計量 數(shù)據(jù)和相關(guān)狀態(tài)量保存在RAM掉電數(shù)據(jù)存儲區(qū)和EEPROM掉電數(shù)據(jù)存儲區(qū)。如圖2所示,上電時對掉電數(shù)據(jù)的恢復方法為a.初始化過程中取所述RAM中掉 電數(shù)據(jù)存儲區(qū)數(shù)據(jù)進行校驗,通過則以該數(shù)據(jù)恢復電量數(shù)據(jù)及相關(guān)狀態(tài)量,不通過則執(zhí)行 b ;b.取所述EEPROM掉電數(shù)據(jù)進行校驗,通過則以該備份恢復電量數(shù)據(jù)及相關(guān)狀態(tài)量,不 通過則執(zhí)行c ;c.取所述EEPROM第二備份區(qū)電量數(shù)據(jù)進行校驗,通過則以該備份電量數(shù)據(jù)
4恢復并初始化相關(guān)狀態(tài)量,不通過則執(zhí)行d ;d.取所述EERPOM第三備份區(qū)中的電量數(shù)據(jù)進 行校驗,通過則以該備份電量數(shù)據(jù)恢復并初始化相關(guān)狀態(tài)量,不通過則執(zhí)行e ;f.取所述 EERPOM第四備份區(qū)電量數(shù)據(jù)進行校驗,通過則以該備份數(shù)據(jù)恢復并初始化相關(guān)狀態(tài)量,不 通過則報錯。電能表掉電數(shù)據(jù)在表計檢測到電源電壓不足時進行保存,保存完成后表計進入掉 電模式(低功耗狀態(tài))。上述實施例中,設(shè)置了四個數(shù)據(jù)電量備份區(qū)(RAM—個,EERPOM三處)和兩個掉 電數(shù)據(jù)備份區(qū)(RAM和EERPOM各一個),對于數(shù)據(jù)的可靠性而言,EERPOM三處區(qū)域數(shù)據(jù)均 遭到破壞的概率基本上是沒有的(正常運行和上電初始化過程計量數(shù)據(jù)最后的保障均為 EERPOM中的三處電量備份),除非內(nèi)卡器件物理損壞。可以理解的是,數(shù)據(jù)備份區(qū)的個數(shù)不 應(yīng)被限制,本發(fā)明主要是提出在RAM和EEPROM分別備份數(shù)據(jù)的理念,并且RAM電量備份區(qū) 和EEPROM電量備份區(qū)是按計量精度分等級進行備份。計量數(shù)據(jù)糾錯是以CRC方式來糾錯, 其他糾錯方式不應(yīng)被限制,相比于累加和糾錯,CRC的糾錯可靠性更高更可靠,CRC糾錯可 以精確到位的錯誤。實施例二 實施例一主要從計量數(shù)據(jù)的保存和備份及更新和糾錯來保證計量數(shù)據(jù) 的可靠性,而本實施例將分析RAM的當前計量數(shù)據(jù)區(qū)中數(shù)據(jù)損壞的主要原因,并提供相應(yīng) 的解決辦法。電能計量系統(tǒng)的其他模塊在數(shù)據(jù)塊處理過程中,需要實時判斷數(shù)據(jù)塊指針所指位 置,看是否超出規(guī)定區(qū)域,如果超過或者進入非法區(qū)域則初始化指針位置,從而避免對其他 數(shù)據(jù)的破壞,特別是計量數(shù)據(jù)。電能計量系統(tǒng)的其他模塊數(shù)據(jù),比如通信模塊、顯示模塊、預(yù)付費模塊都需要處理 大量的數(shù)據(jù),這部分數(shù)據(jù)的可靠性間接威脅到計量數(shù)據(jù)的可靠性。其他模塊對計量數(shù)據(jù)區(qū) 數(shù)據(jù)的破壞主要有兩個方面1.由于通信模塊、預(yù)付費模塊、顯示模塊需要較大RAM空間來 處理數(shù)據(jù),特別是通信模塊和預(yù)付費模塊從外部通信載體接收數(shù)據(jù),外部數(shù)據(jù)有可能超過 規(guī)定數(shù)據(jù)長度,使得RAM緩沖區(qū)的溢出沖亂計量數(shù)據(jù);2.指針的運用不當,導致指針越界, 破壞其他區(qū)域的數(shù)據(jù)。所以,為了避免RAM當前計量數(shù)據(jù)區(qū)中數(shù)據(jù)被損壞,可以在每接收一個數(shù)據(jù)前先 判斷接收指針所指位置,如果超過或者進入非法區(qū)域則初始化指針位置;此外,RAM緩沖 區(qū)設(shè)置的長度要大于可能收發(fā)數(shù)據(jù)的最長幀長度(例如,電能表通信規(guī)約中最長幀長度為 200,則RAM緩沖區(qū)的長度設(shè)為256個字節(jié)),且接收計數(shù)器為char型,這樣,無論這個計數(shù) 器怎么累加都不會出現(xiàn)緩沖區(qū)溢出問題。在用C進行編程中,指針運用特別注意,不同類型的指針自加運算和自減運算時 操作的字節(jié)數(shù)不同,如果將長幀型指針當作字節(jié)型指針處理,則后果將是操作非法數(shù)據(jù)區(qū) 域。相應(yīng)的處理方式為對于數(shù)據(jù)塊的操作時的指針全部定義為字節(jié)型指針,如需要則進行 強制類型轉(zhuǎn)換。以上實施例雖然是針對電子式電能表進行闡述的,但是明顯可知,其他計量領(lǐng)域、 計量儀表,都具有類似的情形,所以本發(fā)明提供的方法不應(yīng)被限制于電能計量領(lǐng)域。
權(quán)利要求
一種電能計量數(shù)據(jù)高可靠性管理方法,其特征在于,包括保存及備份區(qū)的劃分提供相互關(guān)聯(lián)的RAM及EEPROM,RAM中設(shè)置當前計量數(shù)據(jù)區(qū)、第一備份區(qū)及掉電數(shù)據(jù)存儲區(qū),EEPROM中設(shè)置至少兩個電量備份區(qū)和一個掉電數(shù)據(jù)備份區(qū);計量數(shù)據(jù)的保存與備份每次累加所獲得的最新計量數(shù)據(jù)保存在RAM的當前計量數(shù)據(jù)區(qū);每累計K個數(shù)據(jù)量則將當前計量數(shù)據(jù)更新到RAM的第一備份區(qū);每累計M個數(shù)據(jù)量則將當前計量數(shù)據(jù)更新到EEPROM中的各電量備份區(qū),M>K;當前計量數(shù)據(jù)的恢復當前計量數(shù)據(jù)區(qū)數(shù)據(jù)損壞時,先校驗RAM第一備份區(qū)數(shù)據(jù),正確則覆蓋當前計量數(shù)據(jù)區(qū);否則用EEPROM中電量備份區(qū)有效數(shù)據(jù)覆蓋當前計量數(shù)據(jù)區(qū);如果EEPROM內(nèi)各電量備份區(qū)數(shù)據(jù)均損壞,則報錯。
2.根據(jù)權(quán)利要求1所述的電能計量數(shù)據(jù)高可靠性管理方法,其特征在于每次累加獲 得最新計量數(shù)據(jù)的方法具體包括①在進行數(shù)據(jù)累加前,先對RAM當前計量數(shù)據(jù)區(qū)的數(shù)據(jù) 進行校驗,如通過則直接累加,如不通過則執(zhí)行②;②取RAM第一備份區(qū)中的數(shù)據(jù)進行校 驗,如通過則用RAM第一備份區(qū)數(shù)據(jù)覆蓋當前計量數(shù)據(jù)區(qū)數(shù)據(jù),再進行累加,如不通過則執(zhí) 行③;③取EEPROM各電量備份區(qū)中的合法數(shù)據(jù)覆蓋當前計量數(shù)據(jù)區(qū)數(shù)據(jù),再進行累加,并 重新計算校驗碼,然后拷貝至各備份區(qū)。
3.根據(jù)權(quán)利要求1所述的電能計量數(shù)據(jù)高可靠性管理方法,其特征在于所述EEPROM 內(nèi)設(shè)置的電量備份區(qū)為三個,分別為EEPROM第二備份區(qū)、EEPROM第三備份區(qū)、EEPROM第四 備份區(qū)。
4.根據(jù)權(quán)利要求3任意一項所述的電能計量數(shù)據(jù)高可靠性管理方法,其特征在于,掉 電時數(shù)據(jù)存儲方法為掉電時將最新計量數(shù)據(jù)及相關(guān)狀態(tài)量保存在所述RAM掉電數(shù)據(jù)存儲 區(qū)和EEPROM掉電數(shù)據(jù)存儲區(qū)。
5.根據(jù)權(quán)利要求4所述的電能計量數(shù)據(jù)高可靠性管理方法,其特征在于,上電時對掉 電數(shù)據(jù)的恢復方法為a.初始化過程中取所述RAM掉電數(shù)據(jù)存儲區(qū)數(shù)據(jù)進行校驗,通過則 以該數(shù)據(jù)恢復電量數(shù)據(jù)及相關(guān)狀態(tài)量,不通過則執(zhí)行b ;b.取EEPROM掉電數(shù)據(jù)存儲區(qū)數(shù)據(jù) 進行校驗,通過則以該備份恢復電量數(shù)據(jù)及相關(guān)狀態(tài)量,不通過則執(zhí)行c ;c.取所述EEPROM 第二備份區(qū)電量數(shù)據(jù)進行校驗,通過則以該備份電量數(shù)據(jù)恢復并初始化相關(guān)狀態(tài)量,不通 過則執(zhí)行d ;d.取所述EERPOM第三備份區(qū)中的電量數(shù)據(jù)進行校驗,通過則以該備份電量數(shù) 據(jù)恢復并初始化相關(guān)狀態(tài)量,不通過則執(zhí)行e ;f.取所述EERPOM第四備份區(qū)電量數(shù)據(jù)進行 校驗,通過則以該備份數(shù)據(jù)恢復并初始化相關(guān)狀態(tài)量,不通過則報錯。
6.根據(jù)權(quán)利要求2或5所述的電能計量數(shù)據(jù)高可靠性管理方法,其特征在于所述校 驗方式為CRC校驗。
7.根據(jù)權(quán)利要求1所述的電能計量數(shù)據(jù)高可靠性管理方法,其特征在于電能計量系 統(tǒng)的其他模塊在數(shù)據(jù)塊處理過程中,需要實時判斷數(shù)據(jù)塊指針所指位置,如果超過或者進 入非法區(qū)域則初始化指針位置。
全文摘要
本發(fā)明公開一種電能計量數(shù)據(jù)高可靠性管理方法,主要從保存及備份區(qū)的劃分、計量數(shù)據(jù)的保存與備份及當前計量數(shù)據(jù)的恢復著手。本發(fā)明通過設(shè)置多個數(shù)據(jù)備份區(qū),使得數(shù)據(jù)的保存更加可靠,并為數(shù)據(jù)的恢復提供充分準備,而通過各種判斷及校驗,使得數(shù)據(jù)的恢復和更新更加精確,使得計量數(shù)據(jù)可靠性得到有效保證。此外,在隨機存儲器每接收一個數(shù)據(jù)前判斷指針位置,并且合理設(shè)置緩沖區(qū)長度,從而避免其他模塊對計量數(shù)據(jù)的破壞。
文檔編號G01R22/06GK101923112SQ20101023673
公開日2010年12月22日 申請日期2010年7月26日 優(yōu)先權(quán)日2010年7月26日
發(fā)明者任智仁, 冉際華, 劉振雨, 史謙, 周宣, 唐振中, 張波, 李朝培, 許永平, 賈俊, 鄧廷 申請人:珠海中慧微電子有限公司