本發明專利技術涉及一種基于CPU掉電中斷的變量存儲的實現方法,其特征在于:在CPU的FLASH程序空間劃分出一空間,利用所述CPU掉電檢測,在檢測到掉電后觸發一中斷,將要保存的參數存入所述空間。本發明專利技術能實現不用外部存儲芯片就能做到工控儀表參數的掉電存儲,節約了設備成本,提高了市場競爭力。
【技術實現步驟摘要】
本專利技術涉及工控儀表變量存儲
,特別是一種基于CPU掉電中斷的變量存儲的實現方法。
技術介紹
在工控儀表的設計中,某些變量(如累積流量、工作狀態等)需要實時更新,并帶掉電保存功能,設計中一般采用帶掉電保存的特殊RAM芯片來實現,如FRAM、NVRAM等,或用RAM外接電池的方式來實現掉電保存。該種方式不僅要一外部存儲芯片,提高了產品的成本,而且零件的增加也限制了產品的使用壽命和后期維護的成本。此外,由于要實時存儲,也增加了系統程序執行的負擔。
技術實現思路
本專利技術的目的是提供一種基于CPU掉電中斷的變量存儲的實現方法,能實現不用外部存儲芯片就能做到工控儀表參數的掉電存儲。本專利技術采用以下方案實現一種基于CPU掉電中斷的變量存儲的實現方法,其特征在于在CPU的FLASH程序空間劃分出一空間,利用所述CPU掉電檢測,在檢測到掉電后觸發一中斷,將要保存的參數存入所述空間。在本專利技術一實施例中,所述的空間是在FLASH程序空間末端劃分。在本專利技術一實施例中,所述的中斷在程序中設置成最高優先級。在本專利技術一實施例中,還包括增加所述CPU供電端的儲能電容容量。在本專利技術一實施例中,所述的電容容量為lOOOuf。在本專利技術一實施例中,還包括在所述中斷前通過運行程序先將所述空間中的參數擦除。在本專利技術一實施例中,所述掉電檢測是檢測到所述CPU的供電電壓低于2. 9V時,觸發所述中斷。本專利技術的方法不僅節省了掉電存儲器件,降低了產品的硬件成本、生產維護成本,而且提高了整機的可靠性,進一步提升了產品的性價比,經濟效益顯著。附圖說明圖I是本專利技術方法實施流程原理示意圖。具體實施例方式下面結合附圖及實施例對本專利技術做進一步說明。本實施例提供一種基于CPU掉電中斷的變量存儲的實現方法,其特征在于在CPU的FLASH程序空間劃分出一空間,利用所述CPU掉電檢測,在檢測到掉電后觸發一中斷,將要保存的參數存入所述空間。上述的空間是在FLASH程序空間末端劃分。上述的中斷在程序中設置成最高優先級。 此外,本專利技術的方法還包括增加所述CPU供電端的儲能電容容量。所述的電容容量為 lOOOuf。在本專利技術一實施例中,還包括在所述中斷前通過運行程序先將所述空間中的參數擦除。所述掉電檢測是檢測到所述CPU的供電電壓低于2. 9V時,觸發所述中斷。具體的,請參見圖1,本實施例的方法在CPU的FLASH程序空間末端劃分出一小部分空間,用于參數的掉電存儲,省略了外部的掉電存儲RAM芯片。利用CPU掉電檢測功能,當CPU的供電電壓(正常為3. 3V)低于2. 9V時,產生掉電中斷,此時電壓繼續下降,到CPU完全停止工作還有一小段時間,利用這段時間在掉電中斷處理程序中將要保存的參數存入flash空間,待下次上電后從程序FLASH空間中重新讀出到RAM中,從而實現參數的掉電保存。本實施例中,為了保證該中斷的快速響應,可在CPU程序設計中,將掉電中斷設計成搶占式最高優先級。考慮到FLASH需要擦除后才能燒寫的特性,而I個擦除指令的執行時間超過10ms,因此在軟件設計中,本實施例采用在掉電中斷前的正常運行程序中先擦除參數FLASH區,掉電中斷處理程序中直接寫參數的方式來保證執行保存的有效時間長度,同時做好相關配套軟件的可靠性冗余設計。要說明的是,本專利技術的方法在不增加外部硬件的情況下,可實現少量參數(64字節內)的掉電保存,當需要保存的數據較多時,可增加CPU供電端的儲能電容容量,延長掉電中斷處理的時間,以保存更多的數據。測試增加IOOOuf的電容,可將保存數據擴展到1KB。本專利技術特別適用于工控儀表中,能顯著降低工控儀表的成本。以上所述僅為本專利技術的較佳實施例,凡依本專利技術申請專利范圍所做的均等變化與修飾,皆應屬本專利技術的涵蓋范圍。權利要求1.一種基于CPU掉電中斷的變量存儲的實現方法,其特征在于在CPU的FLASH程序空間劃分出一空間,利用所述CPU掉電檢測,在檢測到掉電后觸發一中斷,將要保存的參數存入所述空間。2.根據權利要求I所述的基于CPU掉電中斷的變量存儲的實現方法,其特征在于所述的空間是在FLASH程序空間末端劃分。3.根據權利要求I所述的基于CPU掉電中斷的變量存儲的實現方法,其特征在于所述的中斷在程序中設置成最高優先級。4.根據權利要求I所述的基于CPU掉電中斷的變量存儲的實現方法,其特征在于還包括增加所述CPU供電端的儲能電容容量。5.根據權利要求4所述的基于CPU掉電中斷的變量存儲的實現方法,其特征在于所述的電容容量為IOOOuf。6.根據權利要求I所述的基于CPU掉電中斷的變量存儲的實現方法,其特征在于還包括在所述中斷前通過運行程序先將所述空間中的參數擦除。7.根據權利要求I所述的基于CPU掉電中斷的變量存儲的實現方法,其特征在于所述掉電檢測是檢測到所述CPU的供電電壓低于2. 9V時,觸發所述中斷。全文摘要本專利技術涉及一種基于CPU掉電中斷的變量存儲的實現方法,其特征在于在CPU的FLASH程序空間劃分出一空間,利用所述CPU掉電檢測,在檢測到掉電后觸發一中斷,將要保存的參數存入所述空間。本專利技術能實現不用外部存儲芯片就能做到工控儀表參數的掉電存儲,節約了設備成本,提高了市場競爭力。文檔編號G06F12/16GK102945210SQ20121047479公開日2013年2月27日 申請日期2012年11月21日 優先權日2012年11月21日專利技術者林瑞忠, 張善明 申請人:福州昌暉自動化系統有限公司本文檔來自技高網...
【技術保護點】
一種基于CPU掉電中斷的變量存儲的實現方法,其特征在于:在CPU的FLASH程序空間劃分出一空間,利用所述CPU掉電檢測,在檢測到掉電后觸發一中斷,將要保存的參數存入所述空間。
【技術特征摘要】
【專利技術屬性】
技術研發人員:林瑞忠,張善明,
申請(專利權)人:福州昌暉自動化系統有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。