基于STM32断电保护的研究与分析
2017-03-13广东工业大学杨应志钟其源许锦标
广东工业大学 杨应志 钟其源 许锦标
基于STM32断电保护的研究与分析
广东工业大学 杨应志 钟其源 许锦标
以STM32F103ZET单片机为例,通过对几种掉电保护方法的分析对比,详细地介绍了其掉电保护电路的设计原理及硬、软件实现方法,并分析了该系统的可靠性。
STM32;单片机;掉电保护
1 综述
以单片机为核心的控制系统终端已广泛应用于很多领域,而对于系统运行中所采集或产生的数据常常要求在电源掉电时不被丢失,重新加电后系统能恢复原来的工作状态。掉电保护通常有2种方法:1、加备用电源(如:电池),使系统在掉电后仍能正常工作;2、不采用备份电源,使用法拉电容[1]的延迟放电特性,使得系统在掉电时将需要保护的数据存储到非易失存储器(如:FLASH)中。
对于这两种方法,各有其优缺点,第1种方法由于使用电池,电源掉电时可保存大量数据,但需有相应的充放电电路,成本也相应的高,其使用寿命于电池充放电次数相关。第2种方法,电路搭建简单,电容的充放电次数大于电池,但由于是使用电容作为储能元件,系统在掉电后能继续运行的时长受限于系统电路的功耗以及电容的容量;对于一般的工业控制、数据量较小的,该方法完全能够胜任。本研究采用STM32F103ZET作为主控芯片,使用第2种掉电保护方法,使得系统在掉电时,能存储不低于16K字节的数据到芯片内部FLASH[2]。
2 基于STM32系统的掉电保护硬件设计
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的电容作为掉电后维持系统运行的储能元件。
3 掉电保护系统的软件设计以及其可靠性分析
为测试掉电保护系统的可靠性,将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