首页/文章/ 详情

单片机掉电检测与数据掉电保存该怎么做?

11月前浏览75
单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据。在某些应用场合如测量、控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据。
因此,在一些没有后备供电系统的单片机应用系统中,有必要在系统完全断电之前,把这些采集到的或计算出的重要数据保存在FLASH或EEPROM中。为此,通常做法是在这些系统中加入单片机掉电检测电路与单片机掉电数据保存。
用法拉电容可简单实现单片机掉电检测与数据掉电保存。电路见下图。这里用6V供电(如7806),为什么用6V不用5V是显而易见的。
电路中的二极管们一般都起两个作用:
一是起钳位作用,钳去0.6V,保证使大多数实用5V供电的单片机(比如51单片机)都能在4.5V--5.5V之间的标称工作电压下工作。
而4.5-5.5间这1V电压在0.47F电容的电荷流失时间就是我们将来在单片机掉电检测报警后我们可以规划的预警回旋时间。
二是利用单向导电性保证向储能电容0.47F/5.5V单向冲电。
两只47欧电阻作用:
第一,对单片机供电限流。
一般地单片机电源直接接7805上,这是个不保险的做法,为什么?因为7805可提供高达2A的供电电流,异常时足够把单片机芯片内部烧毁。
有这个47欧姆电阻保护,即使把芯片或者极性插反也不会烧单片机和三端稳压器,但这个电阻也不能太大,上限不要超过220欧,否则对单片机内部编程时,会编程失败(其实是电源不足)。
第二,和47UF和0.01UF电容一起用于加强电源滤波。
第三,对0.47F/5.5V储能电容,串入的这只47欧电阻消除"巨量法拉电容"的上电浪涌.实现冲电电流削峰。
现在我们算一算要充满0.47F电容到5.5V,即使用5.5A恒流对0.47F电容冲电,也需要0.47秒才能冲到5.5V,因此我们可以知道:
1.如果没有47欧姆电阻限流,上电瞬间三端稳压器必然因强大过电流而进入自保.
2.长达0.47秒(如果真有5.5A恒流充电的话)缓慢上电,如此缓慢的上电速率,将使得以微分(RC电路)为复位电路的51单片机因为上电太慢无法实现上电复位.(其实要充满0.47UF电容常常需要几分种).
3.正因为上电时间太慢,将无法和今天大多数主流的以在线写入(ISP)类单片机与写片上位计算机软件上预留的等待应答时间严重不匹配(一般都不大于500MS),从而造成应答失步,故总是提示"通信失败".
知道这个道理你就不难理解这个电路最上面的二极管和电阻串联起来就是必须要有上电加速电路.这里还用了一只(内部空心不带蓝色的)肖特基二极管(1N5819)从法拉电容向单片机VCC放电,还同时阻断法拉电容对上电加速电路的旁路作用,用肖特基二极管是基于其在小电流下导通电压只有0.2V左右考虑的,目的是尽量减少法拉电容在单片机掉电时的电压损失.多留掉点维持时间。
三极管9014和钳制位二极管分压电阻垫位电阻(470欧姆)等构成基极上发射极双端输入比较器,实现单片机掉电检测和发出最高优先级的掉电中断,单片机掉电保存程执行。这部分电路相当于半只比较器LM393,但电路更简单耗电更省(掉电时耗电小于0.15MA)。
47K电阻和470欧姆二极管1N4148一道构成嵌位电路,保证基极电位大约在0.65V左右 (可这样计算0.6(二极管导通电压)+5*0.47/47),这样如果9014发射极电压为0(此时就是外部掉电),三极管9014正好导通,而且因为51单片机P3.2高电平为弱上拉(大约50UA),此时9014一定是导通且弱电流饱和的,这样就向单片机内部发出最高硬件优先级的INX0掉电检测中断。
而在平时正常供电时,因发射极上也大约有6*0.22/2.2=0.6V电压上顶,不难发现三极管9014一定处于截止状态,而使P3.2维持高电平的,单片机掉电保存中断程序不被触发。
最后还有两个重要软件和硬件note:
软件上
INX0监测引脚在硬件上(设计)是处于最高优先级的,这里还必须要在软件保证最高级别的优先,从而确保单片机掉电时外部中断0能打断其他任何进程,最高优先地被检测和执行。
硬件上
凡是驱动单片机外部口线等的以输出高电平驱动外部设备,其电源不能和电片机的供电电压VCC去争抢(例如上拉电阻供电不取自单片机VCC).而应直接接在电源前方,图中4.7K电阻和口线PX.Y就是一个典型示例,接其它口线PX.Y'和负载也雷同。
这里与上拉4.7K电阻相串联二极管也有两个作用:
  • 钳去0.6V电压以便与单片机工作电压相匹配,防止口线向单片机内部反推电.造成单片机口线功能紊乱。

  • 利用二极管单向供电特性,防止掉电后单片机通过口线向电源和外部设备反供电。


上面的单片机掉电检测电路,在与掉电保存写入子程序模块结合起来就可以保证在单片机掉电期间,不会因法拉电容上的积累电荷为已经掉电的外部电路无谓供电和向电源反供电造成电容能量泄放缩短掉电维持时间。
有了这些基础,我们来计算0.47UF的电容从5.5V跌落到4.5V(甚至可以下到3.6V)所能维持的单片机掉电工作时间.这里假设设单片机工作电流为20MA(外设驱动电流已经被屏蔽)不难算出:

T=1V*0.47*1000(1000是因为工作电流为豪安)/20=23.5秒!

声明:


 
声明:文章来源网络。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。  

来源:硬件笔记本
电源电路电子芯片通信储能控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-11-11
最近编辑:11月前
硬件笔记本
本科 一点一滴,厚积薄发。
获赞 160粉丝 54文章 1128课程 0
点赞
收藏
作者推荐

一个电池与usb供电自动切换电路

日常电器中,双电源自动切换的例子随处可见如:交流适配器和USB供电的电源切换、电池供电和USB供电的自动切换。这些电路一般都遵守一个原则:优先选择电压高者使用。其实最开始这个电路是在 锂电充电电路上发现的,数据手册非常贴心的给出了双电源自动切换的参考应用,简单易实现。如果需要电池和USB电源切换,只需将USB电源放在上面,锂电放在下面。反正无论怎么更改,上面的电压始终要高于下面的。电路:电路实际现象:只插入交流适配器,电路会自动切换为交流适配器供电。只插入USB-5V电源,电路会自动切换为USB供电。同时将交流适配器和USB-5V电源接入电路,由于交流适配器的输出电压一般为 5.5V以上,比USB电源的5V略高,电路会自动切换为交流适配器供电。电路原理:电路由 1个P-MOS(如AO3401)、1个二极管(推荐用肖特基,压降小)、1个适当阻值的下拉电阻 组成。假设USB电源电压为5.0V,交流适配器的电压为5.5V,比USB的略高。当交流适配器的 5.5V单独接入时,二极管导通,电路自动切换为交流适配器供电,此时用电端电压为 5.5 - 0.3 = 5.2V。当USB-5V单独接入时,P-MOS的DS寄生二极管首先导通,S极电压为 5 - 0.7 = 4.3V,而此时的G极被下拉电阻拉低为0V,故 Vgs = 0 - 4.3 = -4.3V。-4.3V < P-MOS的GS最低导通门限电压,于是 P-MOS导通,之后用电端电压为 5 - I*Ron。由于MOS的导通电压都比较低,约几十mΩ,且一般电路电流都不会超过2A,故P-MOS的导通压降几乎可以不计。可以非常高效的将5V输出至用电端。当交流适配器5.5V与USB-5V同时接入时,肖特基D1导通,此时 P-MOS的G极电压为 5.5V,S极电压为 5.2V,Vgs = 5.5 - 5.2 = 0.3V,0.3V > P-MOS的GS最低导通门限电压,于是 P-MOS关断。电路便自动切换为由输入电压较高的交流适配器供电。同理此方法同样适用于 电池输入与USB电源的自动切换。将USB电源连接在电路输入侧的上面,4.2V锂电连接在电路输入侧的下面,电路会优先选择电压高者。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。声明: 声明:本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。 来源:硬件笔记本

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈