廣東工業大學 楊應志 鐘其源 許錦標
基于STM32斷電保護的研究與分析
廣東工業大學 楊應志 鐘其源 許錦標
以STM32F103ZET單片機為例,通過對幾種掉電保護方法的分析對比,詳細地介紹了其掉電保護電路的設計原理及硬、軟件實現方法,并分析了該系統的可靠性。
STM32;單片機;掉電保護
以單片機為核心的控制系統終端已廣泛應用于很多領域,而對于系統運行中所采集或產生的數據常常要求在電源掉電時不被丟失,重新加電后系統能恢復原來的工作狀態。掉電保護通常有2種方法:1、加備用電源(如:電池),使系統在掉電后仍能正常工作;2、不采用備份電源,使用法拉電容[1]的延遲放電特性,使得系統在掉電時將需要保護的數據存儲到非易失存儲器(如:FLASH)中。
對于這兩種方法,各有其優缺點,第1種方法由于使用電池,電源掉電時可保存大量數據,但需有相應的充放電電路,成本也相應的高,其使用壽命于電池充放電次數相關。第2種方法,電路搭建簡單,電容的充放電次數大于電池,但由于是使用電容作為儲能元件,系統在掉電后能繼續運行的時長受限于系統電路的功耗以及電容的容量;對于一般的工業控制、數據量較小的,該方法完全能夠勝任。本研究采用STM32F103ZET作為主控芯片,使用第2種掉電保護方法,使得系統在掉電時,能存儲不低于16K字節的數據到芯片內部FLASH[2]。
2.1 基于STM32系統硬件電路
本研究所搭建的硬件電路主要組成元件有STM32F103ZET芯片、MAX809L掉電檢測芯片、法拉電容,其電路圖如2-1所示。
2.2 STM32F103ZET簡介
STM32F103ZET基于ARM32位的Cortex-M3內核,最高72MHz工作頻率,在存儲器的0等待周期訪問時可達1.25DMips/MHZ,512K字節的閃存程序存儲器,64KB RAM,LQFP-144腳封裝。
對于設計掉電保護系統所涉及的芯片參數主要有三點:
(1)芯片工作電壓,STM32的工作電壓(VDD)為2.0~3.6V。
(2)芯片的功耗,STM32F103ZET的最大電流IVDD=150mA(該值是流進VDD/VDDA的電流值)。
(3)芯片內部FLASH讀寫速度,寫入16位數據最大時間為70uS,擦除1頁(2k字節)最大時間為40mS。
2.3 MAX809L掉電檢測特性

圖2-1 掉電保護硬件電路
MAX809L是一種檢測芯片,常常用來監控數字電路電源,且其具有很高的穩定性和較低的功耗。
MAX809L在本系統當中主要是檢測5V外部電源,當5v電源掉電跌至4.65v時,MAX809L的reset端會變為低電平(系統正常供電時是高電平),而這時STM檢測到該信號,開始數據保存。
根據以上數據資料,計算系統在2~4.65v之間電容的放電時間,根據電容充放電公式[3],留有一定時間裕量,本系統選用1F的電容作為掉電后維持系統運行的儲能元件。
為測試掉電保護系統的可靠性,將STM32的外部輸入PE1(圖2-1中用來檢測掉電的接口)設置為中斷形式,且搶占優先級設置為最高優先級,使得系統在掉電時第一時間進入中斷保存數據。具體軟件流程圖如圖3-1所示,系統在進入中斷后,先擦除8頁的FLASH,然后寫數據進入這8頁數據(本實驗填充的是FF),接著進入死循環,即每500ms反轉一次LED

圖3-1 掉電系統測試流程圖
通過觀測LED閃爍的次數,可得出在系統保存完16K字節數據后最大時長25s的時間裕量。對于此處時間裕量只有最大值是由于系統在掉電后能運行的時間主要是與電容存儲的電量相關,在實際的應用中可對系統的上電運行做個延時,以便電容存儲夠相應的電量后進入主程序,而對于中斷程序則添加檢測到系統完成電容充電后才會進行保存工作(以5v/2A的外部電源為例,本系統上電延時10秒后可確保16K字節數據的保存)。
[1]江健琦.法拉電容在掉電保護中的應用[J].單片機與嵌入式系統應用,2007(6):49-50.
[2]郝雯,沈金鑫,梅成等.基于STM32單片機的存儲式數據采集系統設計[J].電子設計工程,2013,21(17):80-82
[3]王剛,李桂林.基于電容充放電原理的納秒級時間精度測量技術[J].化工自動化及儀表,2010,37(8):69-71.
楊應志,海南人,廣東工業大學碩士研究生,研究方向:智能樓宇。
鐘其源,廣東人,廣東工業大學碩士研究生,研究方向:智能樓宇。
許錦標,廣東工業大學教授,研究方向:智能樓宇。
Taking STM32F103ZET microcontroller as an example,analy zing and contrasting several power-fail protection circuits,the paper discusses the entire system from hardware and software,and analyzes it's credibility in detail.
STM32;microcontroller;power-fail protection circuits