一種表用存儲介質(zhì)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及公用表,尤其是電表、水表或熱表,用于測量公用能耗(例如水、電、熱暖等),特定地涉及公用表的能耗數(shù)據(jù)存儲技術(shù)。
【背景技術(shù)】
[0002]大容量FLASH是目前儀器儀表上廣泛使用的廉價非易失存儲器(NVM),但FLASH的最大缺陷是擦寫次數(shù)受限,一般FLASH只有10萬次的擦寫次數(shù)一一有的型號可能更低,超過其允許擦寫次數(shù),器件就會發(fā)生損壞。針對FLASH的特性,常規(guī)技術(shù)中的做法一般有:采用文件操作系統(tǒng),例如JFFS2、YAFFS2、UBI等嵌入式文件系統(tǒng),這些文件系統(tǒng)具備負(fù)載均衡功能,能夠合理動態(tài)分配存儲空間,從而避免將某文件寫到固定地址,由此均衡整個芯片的擦寫次數(shù)。這樣做,可以提高整機(jī)的壽命,但對于更頻繁的操作,也是無能為力。
[0003]在電力線交流電源有電時,將所要存儲的數(shù)據(jù)保存到RAM中,積累到一定的時間,再將數(shù)據(jù)轉(zhuǎn)存到FLASH中。這樣操作,在不停電時是沒有問題的,可以大大減少對FLASH的擦寫次數(shù)。目前多數(shù)儀器儀表采用電池或大容量電容作為備用電源,在檢測到交流停電后,通過備用電源將數(shù)據(jù)保存到FLASH中。這樣做看似沒有問題,但在電池失效或電容電量不夠時,停電轉(zhuǎn)存數(shù)據(jù)時就會出現(xiàn)數(shù)據(jù)轉(zhuǎn)存不全或無法轉(zhuǎn)存的情況。
【發(fā)明內(nèi)容】
[0004]技術(shù)方案:表用存儲介質(zhì),電氣耦接表內(nèi)部的CPU以存儲來自其中的處理數(shù)據(jù),所述存儲介質(zhì)包括非易失性存儲器(NVM)和可無限次擦寫存儲器(MTP),所述NVM通過并行串口交換處理數(shù)據(jù),所述MTP通過SPI接口交換處理數(shù)據(jù),其中所述NVM被配置為存儲第一數(shù)據(jù)部分,所述MTP被配置為存儲第二數(shù)據(jù)部分。
[0005]在一個實(shí)施例中,所述第一數(shù)據(jù)部分包含有電壓合格率、電功率,所述第二數(shù)據(jù)部分包含電量、時鐘CLK。
[0006]在一個實(shí)施例中,所述NVM選用FLASH單元,所述MTP選用FRAM單元。
[0007]在一個實(shí)施例中,所述CPU被配置為:在一個第一時間間隔T1以外,將第一數(shù)據(jù)部分寫入NVM中;在此第一時間間隔T1以內(nèi),將第二數(shù)據(jù)部分寫入MTP中。
[0008]進(jìn)一步地,在一個第一時間間隔T1以外的第二時間間隔T2R,將存儲于MTP中的第二數(shù)據(jù)部分進(jìn)行提取,寫入所述的NVM中。
[0009]在一個實(shí)施例中,所述CPU被配置為:在一個第一時間間隔T1以外,將第一數(shù)據(jù)部分和第二數(shù)據(jù)部分分別寫入所述的NVM中;在此第一時間間隔T1以內(nèi),將第二數(shù)據(jù)部分寫入MTP中。
[0010]在一個實(shí)施例中,所述CPU被配置為:在一個第一時間間隔T1以外的第三時間周期間隔1內(nèi),將存儲于所述的NVM中的第一數(shù)據(jù)部分與第二數(shù)據(jù)部分根據(jù)預(yù)設(shè)的時鐘CLK進(jìn)行合并。
[0011 ] 在一個實(shí)施例中,所述CPU被配置為在所述第三時間周期間隔T3以外,刪除MTP中的第二數(shù)據(jù)部分。
[0012]在另一個實(shí)施例中,提供一種公用表,包括:CPU,用于計算和處理表對能耗的測量數(shù)據(jù);耦接所述CPU的一個NVM,被配置為存儲第一數(shù)據(jù)部分;以及耦接所述CPU的至少一個MTP,被配置為存儲第二數(shù)據(jù)部分,其中所述CPU被配置為設(shè)置至少一個時間間隔來控制所述第一數(shù)據(jù)部分和第二數(shù)據(jù)部分的存儲次序。
[0013]在一個實(shí)施例中,所述第一數(shù)據(jù)部分包含有電壓合格率、電功率,所述第二數(shù)據(jù)部分包含電量、時鐘CLK。
[0014]在一個實(shí)施例中,所述NVM選用FLASH單元,所述MTP選用FRAM單元。
[0015]在一個實(shí)施例中,所述CPU被配置為:在一個第一時間間隔Tl以外,將第一數(shù)據(jù)部分寫入NVM中;在此第一時間間隔Tl以內(nèi),將第二數(shù)據(jù)部分寫入至少一個MTP中;以及在一個第一時間間隔Tl以外的第二時間間隔T2內(nèi),將存儲于這至少一個MTP中的第二數(shù)據(jù)部分進(jìn)行提取,寫入所述的NVM中。
[0016]在一個實(shí)施例中,所述MTP被配置為包括η個MTP單元,其中在第η_1個時間間隔Tlri以內(nèi),第η個MTP單元存儲所述第二數(shù)據(jù)部分中的第η個區(qū)塊內(nèi)容。
[0017]在一個實(shí)施例中,所述CPU被配置為:在第η個時間間隔Tn以外的第三時間周期間隔1內(nèi),將存儲于所述的NVM中的第一數(shù)據(jù)部分與第二數(shù)據(jù)部分根據(jù)預(yù)設(shè)的時鐘CLK進(jìn)行合并。
[0018]在又一個實(shí)施例中,提供一種提高公用表數(shù)據(jù)存取效率的方法,包括:通過CPU讀取能耗測量數(shù)據(jù),選擇能耗測量數(shù)據(jù)的存儲類別;通過設(shè)置第一時間間隔T1來判斷將能耗測量數(shù)據(jù)存儲至NVM或ΜΤΡ,其中若選擇存儲至NVM,則提取所述能耗測量數(shù)據(jù)中的第一數(shù)據(jù)部分,寫入所述的NVM,若選擇存儲至ΜΤΡ,則提取所述能耗測量數(shù)據(jù)中的第二數(shù)據(jù)部分,寫入所述的MTP ;通過設(shè)置第二時間間隔!^來判斷將第二數(shù)據(jù)部分存儲至所述的NVM中;以及根據(jù)第三時間周期間隔T3,將存儲于所述的NVM中的第一數(shù)據(jù)部分與第二數(shù)據(jù)部分根據(jù)預(yù)設(shè)的時鐘CLK進(jìn)行合并。
[0019]在一個實(shí)施例中,所述第一數(shù)據(jù)部分包含有電壓合格率、電功率,所述第二數(shù)據(jù)部分包含電量、時鐘CLK。
[0020]在一個實(shí)施例中,所述NVM選用FLASH單元,所述MTP選用FRAM單元。
[0021 ] 在一個實(shí)施例中,所述CPU被配置為在所述第三時間周期間隔T3以外,刪除MTP中的第二數(shù)據(jù)部分。
【附圖說明】
[0022]圖1為本發(fā)明存儲介質(zhì)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]參照圖1的表(例如電表)用存儲介質(zhì)電氣耦接表內(nèi)部的CPU 3以存儲來自其中的處理數(shù)據(jù),所述存儲介質(zhì)包括NVM 2和MTP LNVM 2通過并行串口交換處理數(shù)據(jù),總線速度達(dá)133MHz,所述MTP通過SPI接口交換處理數(shù)據(jù),可達(dá)到20MHz的總線速度,其中所述NVM被配置為存儲第一數(shù)據(jù)部分,所述MTP被配置為存儲第二數(shù)據(jù)部分。
[0024]在一個實(shí)施例中,所述第一數(shù)據(jù)部分包含有電壓合格率、電功率,所述第二數(shù)據(jù)部分包含電量、時鐘CLK。
[0025]在一個實(shí)施例中,所述NVM選用FLASH單元,所述MTP選用FRAM單元,其中FRAM單元適合小數(shù)據(jù)量的頻繁讀寫,F(xiàn)LASH單元適合大數(shù)據(jù)量的滾動存儲,通過FLASH單元的緩存,變化頻繁或經(jīng)常采集的數(shù)據(jù)經(jīng)一定周期(如60分鐘)匯集后寫入FLASH單元,從而減少FLASH單元的頁寫次數(shù)。
[0026]在一個實(shí)施例中,所述CPU被配置為: