单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(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电阻相串联二极管也有两个作用:

1、钳去0.6V电压以便与单片机工作电压相匹配,防止口线向单片机内部反推电,造成单片机口线功能紊乱。

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

上面的单片机掉电检测电路,在与掉电保存写入子程序模块结合起来就可以保证在单片机掉电期间,不会因法拉电容上的积累电荷为已经掉电的外部电路无谓供电和向电源反供电造成电容能量泄放缩短掉电维持时间。

有了这些基础,我们来计算0.47UF的电容从5.5V跌落到4.5V(甚至可以下到3.6V)所能维持的单片机掉电工作时间。这里假设设单片机工作电流为20MA(外设驱动电流已经被屏蔽)不难算出:

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

END

来源:strongerHuang


版权归原作者所有,如有侵权,请联系删除。

新手必看!单片机掉电检测与数据掉电保存方案相关推荐

  1. 你了解单片机吗?--------新手必看单片机的编程架构。

    在大家初学编程的时候,总会读一些程序,可是读完程序之后,只能看明白一小部分的程序.有时候会摸不着头脑.下面我就给大家说说编程的架构.了解了程序的架构,在读起来程序就轻松多了.其实架构就是程序的编程思路 ...

  2. 端口速率测试软件,新手必看GPS分辨率、端口、速率、内存检测工具

    一.简介 很多新手朋友们在 为了帮助新手朋友们理清头绪,汤汤汤特意整理了此篇新手必看教程,用最简单易懂的图文形式来帮助大家快速上手.此教程主要对应车机版的CE5,CE6 系统地图,安卓系统端口和速率自 ...

  3. Web.config配置文件详解(新手必看)

    Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点. ...

  4. 新手必看的编程介绍,帮你推荐学习方案!

    新手必看的编程介绍,帮你推荐学习方案! VB是什么? ) y0 {6 G# G; j3 B VB 是Visual Basic编程语言 * B. O2 G# z) O1 |- g8 `4 ^ 编写计算机 ...

  5. python的难点_初学python的操作难点总结(新手必看篇)

    如下所示: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的目录 直接 dir 3 想在一个盘下进去一个文件夹,用cd空格目标文件 cd p 4 写文件的第一个字母 ...

  6. 电脑故障维修:新手必看的修电脑技巧!

    日常生活工作中,我们的电脑总会出现各种各样的问题,如果掌握了一定的通用修电脑技巧,除了可以解决问题,说不定还能得到帮女神修电脑的机会,俗话说的好,电脑修的好,对象少不了! 电脑故障判断一般本着先&qu ...

  7. python新手入门总结_初学python的操作难点总结(新手必看篇)

    如下所示: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的目录 直接 dir 3 想在一个盘下进去一个文件夹,用cd空格目标文件 cd p 4 写文件的第一个字母 ...

  8. 鸿蒙一号指纹锁,【诉说实情】火车头战狼一号家用防盗门指纹锁怎么样?新手必看内情...

    [诉说实情]火车头战狼一号家用防盗门指纹锁怎么样?新手必看内情有猫眼屏幕 顺丰包邮 包安装 我打算入手,选了很久才看中的,不知道质量怎么样,好不好用,所以来这里请教下大家,希望买过的网友分享一下,客观 ...

  9. python新手入门代码-新手必看:手把手教你入门 Python

    原标题:新手必看:手把手教你入门 Python 本文为 AI 研习社编译的技术博客,原标题 : Learning Python: From Zero to Hero 翻译 |永恒如新的日常校对 | 酱 ...

最新文章

  1. 你的每个哈欠老板都知道!被AI摄像头全天盯紧,亚马逊快递小哥不干了
  2. c++ 指针的指针参数
  3. python医学科研中能做什么-非结构化数据-病历智能处理引擎的设计、实现和应用...
  4. 使用Tesseract-OCR训练文字识别记录
  5. C#中dynamic的正确用法 以及 typeof(DynamicSample).GetMethod(Add);
  6. 一个好用的浏览器暗色浏览插件 Dark Reader
  7. Gartner的预言:通向混合IT之旅
  8. 我的python 入门 安装 -- hello world
  9. 2016多校联合训练1 B题Chess (博弈论 SG函数)
  10. QDir的mkdir和mkpath区别
  11. 优秀的基于VUE移动端UI框架合集
  12. 项目管理(二)责任划分
  13. 2020年最全Python常用爬虫代码就这些了(附爬虫教程)
  14. 《东周列国志》第七十二回 棠公尚捐躯奔父难 伍子胥微服过昭关
  15. FatFs- 通用FAT文件系统模块
  16. 小程序分享功能实现php,微信小程序转发好友的功能
  17. 涨姿势!2020最好的 10 大国外编程学习网站
  18. WebView启动支付宝客户端支付失败的解决办法
  19. 重磅丨深度解读UN报告:AI新技术革命将如何重塑就业和全球化格局?
  20. Tableau 中国最美八条骑行线路(二)海拔和气温

热门文章

  1. 【Java基础】 JQuery的常用操作
  2. ROS机器人程序设计(原书第2版)2.3 理解ROS开源社区级
  3. 学习linux第二周作业
  4. [Java]关于throw,throws,try{}catch(){}
  5. Windows Forms、MFC、WTL、WxWidgets、Qt、GTK综合比较
  6. Spring JDBC最佳实践(2)
  7. 数据库中使用自增量字段与Guid字段作主键的性能对比(补充篇)-----转
  8. Diango博客--15.通过 Django Pagination 实现简单分页(一)
  9. Python 第三方模块之 NumPy - 科学计算
  10. {%extends bootstrap/base.html%}的添加,使得其他block无法继承