打印

用法拉电容从容实现单片机掉电数据保存

[复制链接]
6505|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zenyin|  楼主 | 2008-5-16 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天,因为MCU内部一般都带FLASH ROM和伴随着法拉级电容的出现,事实上已经宣布背掉电电池或者用达拉斯DS存储器实现掉电数据保存的传统的思维和电路已经成为历史!

以下的电路,是一个可靠的简单的掉电检测、法拉电容能量储存等完整硬件电路和相应的软件细节,是笔者在产品上一个成熟的可靠的自诩经典电路和心血,在这里完全公开地提供给二姨爱社(21IC)下的全体表兄表弟表姐表妹们以供大家一起来批判赏析借鉴和改进.

首先提请老表们别一看电路繁琐就不想继续看下去,事实是:大电容储存实现掉电保护并非人们想象的那么容易做.
我们往往突然萌发一个跳跃灵感闪烁一丝思想火花,但最终都没幻化为现实结果而最终不了了之,在我们遗憾叹息之于我们是否思考过常常并不是我们思维"太过创新"需求和愿望大大超越了现实(我们能超越我国的现实的器件工业和材料工业水平吗)最后我们总不得不以理论不完全等同于实践来为自己无奈和熄灭的灵感作排解!其真正原因我们作过真正思考吗?!
事实上一个理论成立,现实上完全具备可实现性的一个电路单元,到最后我们并未达到预想效果,甚至以失败了告终,原因何在??----细节..细节..还是细节...永远的细节!!!!细节为王!!!!!

所以敬请大家耐心地静静地留意这里的每个电路技巧和对细节,事实上你会发现这里每个细节都充满着技巧智慧体贴人性和柔情.每处都让我们感悟了一种做事就是做人和精益求精的思想和行动境界,即使你是表弟表兄级男性电子工程师对你的设计和实现都应具备女性的细腻周到和柔情.

电路见下:这里首先用6V供电(如7806),为什么用6V不用5V是显而易见的.这里的二极管们一般都起两个作用,一是利用单向导电性保证向储能电容0.47F/5.5V单向冲电;二是起钳位作用,钳去0.6V,保证使大多数51系列的单片机都能在4.5V--5.5V之间的标称工作电压下工作.而4.5-5.5间这1V电压在0.47F电容的电荷流失时间就是我们将来在掉电报警后我们可以规划的预警回旋时间.

两只47欧电阻也有两个作用:
1:和47UF和0.01UF电容一起用于加强电源滤波.
2.对单片机供电限流
一般电子工程师都喜欢把单片机电源直接接7805上,这是个非常不好的习惯,为什么?7805可提供高达2A的供电电流,异常时足够把单片机芯片内部烧毁.有这个电阻47欧姆电阻挡即使把芯片插反或者电源极性颠倒也不会烧单片机和三端稳压器,但这限流电阻也不能太大,上限不要超过220欧为益,否则对单片机内部编程时,计算机会告警提示"编程失败"(其实是电源不足).
3.对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维持高电平.

下面还有两个重要软硬件要点和建议提请注意:

1.硬件要点:凡是单片机外部以输出高电平驱动的口线,其电流都不能到单片机的供电电压VCC上去争抢(例如上拉电阻供电不取自单片机VCC而应直接接在电源前方),图中4.7K电阻和口线PX.Y就是一个典型示例,接其它口线PX.Y'和负载也雷同.这里与上拉4.7K电阻相串联二极管也有两个作用:

1.钳去0.6V电压以便与单片机工作电压相匹配,从而防止口线向单片机内部反推电.带来单片机口线功能紊乱.
2.利用二极管单向供电特性,防止掉电后单片机通过口线向电源和外部设备反供电造成电荷泄露.

上面的硬件设计,还要与软件结合起来(见下面叙述)才能保证在掉电期间,不会因法拉电容上的积累电荷向已经掉电的外部电路无谓供电和向电源内部反向供电造成法拉电容上能量泄放从而缩短掉电维持时间.

2.软件要点:首先INX0在硬件上(硬件设计已经保证)是处于最高优先级的,这里还必须要在软件上再次保证INX0是最高优级别的中断.从而确保掉电时外部中断0能打断其他任何进程,最高地优先地被检测和执行到.其次在INX0的中断程序入口,还要用:
MOV P1,#00H 
MOV P2,#00H
MOV P3,#00H
MOV P0,#00H
SJMP 掉电保存
来阻断法拉电容的电荷通过单片机口线外泄和随后立即跳转到掉电写入子程序模块.(见硬件要点)

有了上面的预备和细节处理,下面我们完全有理由信心百倍地一道来计算0.47UF的电容从5.5V跌落到4.5V(甚至可以下到3.6V)所能维持的单片机掉电工作时间.
这里设单片机工作电流为20MA(外设驱动电流已经被屏蔽)不难算出:    
      T=1V*0.47*1000(1000是因为工作电流为豪安)/20=23.5秒!!!!!
天!这个时间对单片机而言简直相当于从原始社会到**社会的历史慢长.休说是从容写入内部FLASH ROM掉电保护数据,就是把芯片从新写入新程序都可以写5次!!!!!!!!!!

相关帖子

沙发
zenyin|  楼主 | 2008-5-16 17:00 | 只看该作者

当初我搭试试验评估扳时就遇到了三个问题

一。不能上电复位  二。不能写片 三。三端稳压器限流保护且开始很烫。一个很简单的极其普通的电路,因为电容突破了法拉级竟然出现了这么多问题.
(教材上认为1F的电容是不可能在实际做出来天文容量,其实今天10F电容都有了),而且体积还比过去1000UF=1/1000的体积还小。

使用特权

评论回复
板凳
zenyin|  楼主 | 2008-5-16 17:04 | 只看该作者

平时数据放RAM中,掉电写入再结合已经发表过的

FLASH ROM不擦除多次编程,铁电存储器也可以省去了!

使用特权

评论回复
地板
ocon| | 2008-5-16 17:08 | 只看该作者

在某个应用中,掉电时我用法拉电容驱动继电器摘机拨号。

使用特权

评论回复
5
yewuyi| | 2008-5-16 17:09 | 只看该作者

先留给脚印,回家再看

使用特权

评论回复
6
zenyin|  楼主 | 2008-5-16 18:52 | 只看该作者

想法不等于实际科研不等于成果更不等于产品

做任何一件小事都非常不容易!

使用特权

评论回复
7
ocon| | 2008-5-16 19:15 | 只看该作者

支持楼主。

使用特权

评论回复
8
wrainp| | 2008-5-16 21:30 | 只看该作者

支持

使用特权

评论回复
9
hq_y| | 2008-5-17 01:22 | 只看该作者

呵呵做个记号,以后有用的时候拿出来

使用特权

评论回复
10
hotpower| | 2008-5-17 02:56 | 只看该作者

法拉电容掉电保护RAM俺不知道用了多少年了~~~

使用特权

评论回复
11
czha1| | 2008-5-17 11:49 | 只看该作者

支持

支持

使用特权

评论回复
12
hotpower| | 2008-5-17 16:19 | 只看该作者

哈哈~~~才发现楼主不一般~~~给匠人一个解答:俺不是楼主的马

*********************************************
14. zenyin 篇
*********************************************

 zenyin是位高手,同时也是位神秘的人物,或者说,他(她?)是一个谜。
 
 他的第一个谜是关于他的眼睛,匠人怀疑他的眼睛具有显微镜的功能,他能看到别人看不到的细节。比如说吧,当你看到一个汉字时,他看到的却是一组笔画而已。由于拥有这项特异功能,所以他常把自己装扮成一个拆字先生。
 
 他的第二个谜是关于他的性别,虽然他声称自己是雄性,但网上关于他性别的猜测从来都没有中止过。
 
 他的第三个谜是关于他的去向,曾经有一段时间,他在坛子里非常活跃。但突然间就蒸发了。许多人坏疑他还在坛子里,甚至有人猜测hotpower就是他的马甲。这事情在没有得到zenyin或hotpower承认(或否认)之前,当然是无法考证的。唯一能够确认的是,hotpower是在zenyin消失前后才来的。

使用特权

评论回复
13
machunshui| | 2008-5-18 11:43 | 只看该作者

顶!
除了顶,还是顶!!!

论坛需要这样的实战式设计!

使用特权

评论回复
14
fzjswn| | 2010-7-26 17:59 | 只看该作者
*********************************************14. zenyin 篇********************************************* zenyin是位高手,同时也是位神秘的人物,或者说,他(她?)是一个谜。  他 ...
hotpower 发表于 2008-5-17 16:19

有点像写小说

使用特权

评论回复
15
sanguo147| | 2010-10-21 21:31 | 只看该作者
受教了,翻帖子真是好啊,学习了

使用特权

评论回复
16
luochangqing112| | 2014-1-19 22:51 | 只看该作者
留着有用

使用特权

评论回复
17
whxbluesky| | 2014-1-27 14:13 | 只看该作者
最近正在给工控机设计备份电源,也是用超级电容,不过我用的是总电容值1000F以上的
还需要串联,现在正在努力设计均衡电路中,貌似这种电容稍有不慎就会过压爆炸
危险品啊

使用特权

评论回复
18
menfiss| | 2014-2-3 10:07 | 只看该作者
技术贴

使用特权

评论回复
19
北极星405| | 2015-1-8 14:07 | 只看该作者
是不是说如果我把电容减小到几百微法的话,也可以给单片机留下几十毫秒的时间去备份数据?这样的话,在数据量很小的情况下,是不是也可以实现掉电数据不丢失呢?

使用特权

评论回复
20
北斗小星| | 2015-1-8 16:40 | 只看该作者
学习了,十分感谢楼主。作为一个新手,再次拜谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

393

帖子

5

粉丝