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

发布时间:2022-12-09  

单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(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(外设驱动电流已经被屏蔽)不难算出:


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    STM32通过ADC模拟看门狗实现掉电保存;1.前言很多时候我们需要将程序中的一些参数、数据等存储在EEPROM或者Flash中,达到掉电保存的目的。但有些情况下,程序需要频繁的修改这些参数,如果每次修改参数都进行一次保存......
    基于51单片机实现温度监测报警系统;具体功能实现 利用DS18B20实时检测温度并显示在LCD1602显示屏上,同时可以通过K1,K2,K3,K4设置最高温度和最低温度利用AT24C02可以实现掉电......
    常的做法是,在这些系统中加入单片机掉电检测电路与单片机掉电数据保存。 用法拉电容可简单实现单片机掉电检测与数据掉电保存,电路见下图。这里用6V供电(如7806),为什么用6V不用5V是显而易见的。 电路......
    诊断模块主要是89C51外围芯片 MAX691的电源监控以及掉电保护电路检测到硬件故障后向单片机发出中断请求INT0所执行的外部中断服务子程序。该程序主要功能是在累加数据保存完毕 后,置位89C51内部的特殊功能......
    AT89S51单片机的两种低功耗节电工作模式解析;AT89S51有两种低功耗节电工作模式:空闲模式(Idle Mode)和掉电保持模式(PowerDown Mode),其目......
    MAX30102模块检测当前心率和血氧 DS18B20检测当前温度或者是体温 ADXL3轴传感器采集当前行走步数,并且具有掉电保存功能 通过HC05蓝牙模块把当前数据无线传输到手机端进行显示 第一......
    降沿的过零信号,即为1秒,如此计数,用来计时。 5. 可通过过零信号检测来实现系统掉电保护,如中断口在规定的时间内未检测到过零信号,单片机即判定为设备掉电单片机立即将需要保存......
    护方式将PCON寄存器的PD位置1,单片机则进入掉电保护方式。如果单片机检测到电源电压过低,此时除进行信息保护外,还需将PD位置1,使单片机进入掉电保护方式。 此时,单片机停止工作,但是内部RAM中的数据仍被保存......
    (休闲)状态进入 只要使PCON中IDL位置1。 ⑶ 待机(休闲)状态退出 ①产生中断; ②复位。 ⒉ 掉电保护方式 ⑴ 掉电保护方式状态 ●片内振荡器停振,所有功能部件停止工作; ●片内RAM数据信息保存......
    介绍的数字人体心率检测仪可以在人体的手、腕、臂等部位均能准确测量出心跳次数,同时还具有掉电存储、测量数据上传PC机及声光报警等多项功能。 1 、系统组成及工作原理 系统组成如图1所示,本设计以单片机为主控信号,外辅......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>