文章詳情

多用戶智能電表中的數據**存儲技術

日期:2025-05-02 08:21
瀏覽次數:2659
摘要:
多用戶智能電表中的數據**存儲技術
 
摘 要:

  多用戶智能電表因要計量、存儲用戶用電量,其數據存儲**性非常重要。該文采用雙非易失存儲芯片、硬件寫保護接口電路設計、數據備份表決、數據校驗、密碼寫保護、數據回讀校驗等軟、硬件措施,提高了數據存儲的可靠性及**性。

  關鍵詞:單片機;數據存儲;電表

  前言(多用戶智能電表中的數據**存儲技術 )

  多用戶智能電表是以MCU為核心、以大規模電量采集模塊而構成的一種電量數據采集儀表,具有多用戶電量采集、數據遠程傳輸、用戶供電控製、複費率電量計量等先進功能,體積小,功能強,深受集中供電場所如高校學生宿舍、智能化小區等用戶歡迎。為提高儀表使用的靈活性,存在一些可編程的參數,如儀表編號、計量戶數、通訊速率、電表脈衝常數、複費率時段時間值、各戶供電狀態等,以及其計量的數據,即各用戶的用電量。這些數據一旦受到乾擾遭到破壞,不僅儀表不能正常工作,還將給用戶造成經濟損失,引發經濟糾紛,因此必須保證數據的可靠性、**性、非易失性。如何保護這些要求非易失性存儲的關鍵數據不被破壞,確保數據的**,對於多用戶智能電表設計具有非常重要的意義。

  1多用戶智能電表的硬件構成(多用戶智能電表中的數據**存儲技術 )

  多用戶智能電表硬件設計如圖1所示。

  

 

  儀表工作原理:各用戶的用電量,通過大規模電能計量集成電路(如BL0933、ADE7755等)將其轉化為與電量成正比的脈衝量,經光電耦合電路後,由開關量輸入接口被CPU采入內存中,CPU根據采集的脈衝量,對各用戶的用電量進行累加,將其存入非易失存儲器中,並由顯示電路輪流顯示出各戶的用電量。通過遠程通信接口電路(如RS485、CAN總線)實現測量數據的遠程傳輸。

  為提高儀表的可靠性,在數據采集電路和遠程傳輸電路中都設計了光電隔離電路,設計了由X5045芯片構成的獨立的看門狗電路,為實現參數和數據的非易失存儲,儀表中采用了兩種存儲器,一種是X5045內部的512字節的非易失存儲器;另一種是獨立的直接與CPU接口的非易失存儲器W24C16。兩種存儲器相互配合,配以軟件措施,實現數據的非易失、高可靠存儲。

  影響數據**的主要原因有以下幾個方麵:

  (1)上電、掉電、電源跌落過程中,電源衝擊對存儲器芯片的影響;

  (2)上電、掉電、電源跌落過程中,CPU不能可靠複位,導致程序跑飛改寫數據;

  (3)程序運行過程中受到各種乾擾導致程序跑飛改寫數據。

  針對以上原因,硬件、軟件設計應采取相應措施,確保數據存儲的**可靠。

  2數據**的硬件措施(多用戶智能電表中的數據**存儲技術 )

  (1)采用集成看門狗芯片X5045,將其複位輸出端直接與係統各芯片的複位端相連,在上電、掉電、電源跌落過程中,實現可靠複位;同時,當程序跑飛時,及時實現自動複位,減少數據被改寫的可能性。

  (2)采用多重存儲媒體

  對於非易失數據存儲,係統設計時采用了二重媒體存儲技術,一是采用X5045內帶有SPI接口的512字節的非易失存儲器;二是外擴了一種非易失存儲器。將同一組數據,存放到兩種存儲器中,可大大減少抗擾破壞的概率。正常運行時,為提高數據讀寫速度,其運算都安排在CPU內部進行。

  (3)正確選擇非易失存儲器

 目前,在線可擦寫非易失存儲器種類很多,第1類是E2PROM,其特點是可實現在線數據修改,寫入時間長,典型值為5~10ms,寫入次數有限,典型值為1~100萬次。並行接口E2PROM與CPU連線較多,體積較大,讀寫控製容易,讀出速度快;串行E2PROM與CPU接口簡單,連線少,讀寫時間長,讀寫控製較複雜,可分為SPI接口、I2C總線接口、MPS接口等;第2類是非易失RAM,與普通RAM兼容,讀寫速度快,內含鋰電池和數據保護電路,可實現非易失存儲,無寫保護引腳,價格較貴;第3類是FLASHMEMORY,主要用於大容量存儲數據場所,如計算機的BIOS等;第4類是多功能芯片,如X5045中含有512字節的非易失存儲器,DS12887時鐘電路中含有256字節的非易失存儲器等。

  多用戶電表中的數據,如用戶用電量,按每戶4字節計算(顯示範圍為:0.00~999999.99),對16戶電表(適用於一梯兩戶、7層居民住宅、一戶一表、一路公用照明、一路備用),所需存儲容量僅為64字節,因為總的存儲容量並不多,所以以選串行接口存儲器為宜;另外,係統對用戶電量的讀寫不是很頻繁,讀寫速度不要求很快,加以數據可靠性要求很高,係統中選擇了X5045多功能芯片和I2C總線接口的E2PROMW24C16。

  (4)正確設計接口電路

  數據被改寫的原因是隨機乾擾信號滿足了芯片寫時序的要求,執行了非法的寫操作。如並行接口的存儲器芯片的CS、WR同時為低電平時即可完成一次寫操作,所以其抗擾性能要低於串行的E2PROM。對於W24C16芯片,要改寫其內部的數據,除了寫入數據時滿足一定的時序外,芯片本身具有寫保護引腳,其高電平有效時方可對其進行寫操作。該寫保護引腳一般不應直接接到電源上,應將其接到CPU的某一可編程引腳,由CPU來控製該引腳的電平信號,以防止外來的乾擾。

  3數據**的軟件措施(多用戶智能電表中的數據**存儲技術 )

  硬件措施隻是有效提高數據**性的一個方麵,在程序執行過程中,係統受到強烈乾擾後,仍有跑飛改變數據的可能性,所以軟件設計中應采取一定的措施,以正確識彆數據的有效性,對被破壞的數據采取一定的數據恢複措施,以儘可能地達到數據存儲的完整性、有效性。

  3.1數據備份

  在係統設計中,采用兩種方法實現數據備份操作:1)硬件設計中選用了X5045和W24C16兩種獨立的存儲器,實現存儲體的備份;2)在同一存儲體中,對同一批數據存於不同的存儲區域中,一般采用3重備份方案,這樣,同一時刻數據在兩種存儲器中有6個備份。采用不同的存儲器,並同時對采集數據進行多個備份,可以大大提高數據的抗乾擾性能。

  3.2備份數據的表決

  存於存儲器中的6份數據,CPU定期對其進行數據有效性檢驗,以觀察是否受到乾擾。一般通過表決的方式,認為其中有3份以上的數據相同,便認為相同的數據為有效數據,同時用其覆蓋掉不相同的數據備份,以保證數據的有效性和完整性。

  3.3數據校驗

  一般情況下,通過備份數據表決可解決大部分的數據受擾問題,但在有些情況下,也會出現數據表決失敗的情況。為此,還需對每一塊備份數據進行校驗,並將校驗值存於校驗數據區域中。對備份數據表決失敗的情況,再對每一塊備份數據進行校驗,比較其校驗值是否和原來的一致,若一致,則認為該備份數據有效,若不一致,則認為該備份數據已遭到破壞。校驗算法可采用和校驗、CRC校驗等。對校驗數據值亦可采用備份存儲的方法,以進一步提高數據存放的可靠性。

  3.4寫方式控製

  程序中有寫數據的要求,便存在數據被破壞的可能。為防止誤寫數據,程序設計中設置寫請求口令變量,正常執行的程序欲執行一個寫流程時,需先設置一個寫請求口令變量,才可以調用寫數據子程序。而在寫數據子程序中,隻有寫請求口令變量值與該流程的標誌值相同,方可進行寫操作,寫完成後將自動複位寫請求口令變量。對不正確的寫請求口令變量值,寫子程序將對其不予理會並將其複位。

  3.5回讀寫數據校驗

對寫入串行E2PROM中的數據,為防止在寫數據過程中受到乾擾造成誤寫,寫完成後,再將剛寫入的數據讀出來,與要寫的數據相比較,看兩者是否一致,如一致,則說明數據已正確寫入存儲器中,如不一致,則啟動重寫操作,直到數據寫入正確為準。

  3.6寫入次數限製

  串行E2PROM每個單元都有寫入次數限製,要保證在儀表的使用期限內寫入次數不超過廠家推薦的值,保證數據可靠性。儀表預計*大計量數據為999999.99kWh,將用戶計量電能值分成兩部分進行存儲,一部分為整數電量部分,*大數據為999999,可滿足寫入次數限製;一部分為0.1kWh存儲單元,如寫入次數被限製在10萬次,則每計量10 000kWh,則需要更換存儲單元,程序根據整數電量滿10 000kWh時,便更換存儲單元。對0.01kWh計量,隻有係統掉電時將其存入E2PROM中,正常運行時存儲在單片機內部RAM中。X5045的存儲器分配如表1所示。

  

 

  4結束語(多用戶智能電表中的數據**存儲技術 )

  多用戶智能化電表屬於計量儀表,其測量數據的正確性和可靠性都關係到供電方和用電方的切身經濟利益。通過采取以上軟、硬件措施,數據存放的可靠性得到很大提高。同時,要想**提高係統的可靠性和**性,還要對係統的整體設計、係統應用環境等進行綜合考慮,采取電源濾波、儀表屏蔽、防雷等**措施,才能取得*佳效果。

  參考文獻

  [1]周航慈.單片機應用程序設計技術[M].北京:北京航空航天大學出版社,1992.

  [2]王幸之.單片機應用係統抗乾擾技術[M].北京:北京航空航天大學出版社,2000.
 
 
 
 
 
 


滬公網安備 31011702004337號