历史上的今天
返回首页

历史上的今天

今天是:2025年12月09日(星期二)

正在发生

2022年12月09日 | 新手必看!单片机掉电检测与数据掉电保存方案

2022-12-09 来源:zhihu

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


推荐阅读

史海拾趣

中科芯(CKS)公司的发展小趣事

作为电子行业的领军企业,中科芯承担着众多国家重点科研任务。多年来,公司积极参与国家重大科研项目,涉及通信、计算机、航空航天等多个领域。通过不断的技术攻关和创新,中科芯成功完成了500多项国家重点科研任务,获得了国家奖18项、省部级奖近200项。这些成果的取得不仅提升了公司的技术实力,也为中国电子行业的发展做出了巨大贡献。

Andon Electronics公司的发展小趣事

在技术创新方面,中科芯不断推出具有竞争力的新产品。其中,CKS32系列MCU是公司近年来推出的一款高性能微控制器产品。该产品具有高可靠性、高兼容性和高性价比的特点,在市场上广受好评。在苏州先进技术成果交易大会上,CKS32系列MCU以其卓越的性能和广泛的应用领域吸引了众多关注。该产品的推出不仅提升了中科芯在微控制器领域的市场地位,也为中国电子行业的发展注入了新的活力。

ADLINK公司的发展小趣事

作为电子行业的领军企业,中科芯承担着众多国家重点科研任务。多年来,公司积极参与国家重大科研项目,涉及通信、计算机、航空航天等多个领域。通过不断的技术攻关和创新,中科芯成功完成了500多项国家重点科研任务,获得了国家奖18项、省部级奖近200项。这些成果的取得不仅提升了公司的技术实力,也为中国电子行业的发展做出了巨大贡献。

DBS Microwave Inc公司的发展小趣事

作为一家有社会责任感的企业,DBS Microwave始终关注环境保护和可持续发展。公司积极采用环保材料和生产工艺,减少生产过程中的污染排放。同时,公司还积极参与社会公益活动,为当地社区的发展做出了积极贡献。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

Fractus公司的发展小趣事

为了加速技术的商业化进程,Fractus积极寻求与全球领先企业的合作。自2000年以来,公司陆续与多家知名手机厂商、电信运营商以及设备制造商建立了战略合作关系。这些合作不仅为Fractus带来了稳定的收入来源,也促进了其技术的广泛应用和持续改进。同时,Fractus还通过签订全球许可协议和建立战略伙伴关系,进一步拓展了其业务范围和市场影响力。

Digital View公司的发展小趣事

为了进一步提升品牌影响力和市场竞争力,Digital View公司开始实施国际化战略。公司积极参加国际展览和论坛,与全球同行建立合作关系,引进先进技术和管理经验。同时,公司还在海外设立研发中心和生产基地,以便更好地服务全球客户。通过国际化战略的实施,Digital View的品牌知名度和市场份额均得到了显著提升。

问答坊 | AI 解惑

在mtk做手机软件开发有前途么?很急,请各位指教!

  我现在拿到mtk的offer了,手机软件开发职位,11w/年左右,我也同时拿到了另一家国内比较有名的做网络安全的公司的offer,8~9w/年。     上面两个公司职位一个是偏嵌入式,一个是win c++软件开发, 我是计算机系的,自己感 ...…

查看全部问答>

求助:eVC开发数据库的问题

请教各位高人:     我使用的工具是eVC4.0,前期开发了一些程序,不是利用MFC框架编的,直接用API编写的 那么我想问一下在我目前的这样开发环境下,开发数据库数据库,选用SQLite和SQLCE哪个开发容易一些呢? 另外:我没有开发数据库 ...…

查看全部问答>

大锅和机顶盒的原理是?有点疑问,很愚昧

我这样问,好像是很简单的问题了。 大锅和机顶盒好像都是只会接受消息,不会回复消息。 如果大锅能回复消息,卫星怎能承受得了。 机顶盒也是一样。 如果是这样,怎么认证帐号呢?[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/ ...…

查看全部问答>

请教USB DEVICE 驱动的一个问题

Bulk-Only时 如果HOST向DEVICE写数据时 出现如下情况: 1 HOST发送CBW 2 DEVICE接收后开始等待DATA 3 HOST没有接收硬件层的关于CBW的确认。(对USB不了解,其中可能出现了重传等过程。最终的结果就是,HOST认为CBW没有被接收,DEVICE则等待DATA ...…

查看全部问答>

--声卡驱动 找不到 啊 !!!

音频控制芯片 SiS Azalia Audio Controller 芯片制造商 SiS 子系统ID 304217AAh 板卡制造商 Lenovo 中断 IRQ 18,INT# A ------------------------以上是Windows优化大师 检测的信息 sis high definition audio controller 着驱动精灵的信息 ...…

查看全部问答>

VGA 转 RGB

请问有谁做过VGA 转 RGB的系统没? 电脑显卡出来的VGA显示信号,转变为RGB数字信号,24位的最好, 就是想用480x272的LCD液晶来显示电脑输出的显示信号呀 ,各位高 手请指点一下,用哪个芯片好?…

查看全部问答>

怎么理解 ??????????????????????????????????????????????????????????????????

8051的停止位怎么设置? -------------------------------------------------------------------------------- 发布时间: 2006-12-15 ; 上次回复: 2006-12-15; 总计回复: 1人次 -------------------------------------------------------------- ...…

查看全部问答>

sql ce 数据库联接的问题,困扰

需要做一个sql ce的程序,我的开发环境是.net 2005,pc端数据库是sql server 2000 Developer版,pda操作系统mobile 5,sql ce 2.0,数据库放在My Documents下。 在程序进行数据库pull时连接不上,提示“The database file cannot be found. Check ...…

查看全部问答>

IAR5.4所產生的library(.a)如何在GCC下使用??

Dear all, 有人使用過IAR5.4產生的library,然後在GCC(WINARM)下使用嗎??…

查看全部问答>