不错的**

[复制链接]
10505|18
手机看帖
扫描二维码
随时随地手机跟帖
tlm1012|  楼主 | 2008-9-18 09:17 | 显示全部楼层 |阅读模式
今天,因为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在硬件上(设计)是处于最高优先级的,这里还必须要在软件保证最高级别的优先.从而确保掉电时外部中断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片!!!!!!!!
相关链接:http://www.kamcap.com

相关帖子

pheavecn| | 2008-9-18 15:11 | 显示全部楼层

呵呵,免费的呀,先给我来1车吧。

**还是不错的。

使用特权

评论回复
甄蔡组合| | 2008-9-22 09:29 | 显示全部楼层

不错的东东

以前设计没过的考虑供电问题!使用中会偶尔烧片子!也行是这个原因

使用特权

评论回复
wang5430| | 2008-9-26 21:00 | 显示全部楼层

太太太太复杂

一个5V电源,一个法拉电容,一个100UF的电解电容,一个100R的电阻。就可以了。然后就是单片机要弄个脚来检测电压。

使用特权

评论回复
cjr82123| | 2008-11-8 01:30 | 显示全部楼层

不错的**

不错!支持!

使用特权

评论回复
msliang18| | 2008-11-8 22:09 | 显示全部楼层

设计思路不错

就是太复杂了点。
而且那个比较电路完全可以不要,直接用单片机检查就行了。
还有,既然这么在乎掉电时的功耗,可以选用低功耗的单片机,如MSP430,工作电压范围在1.8~3.6V之间,有更大的压降空间可以保证对电容放电时间的要求,如果适当的应用它的低功耗模式的话估计用铝电解电容就能做相关设计了。

使用特权

评论回复
lp1468| | 2010-12-14 17:25 | 显示全部楼层
确实有些复杂。

使用特权

评论回复
Clipper| | 2012-3-29 11:25 | 显示全部楼层
STC12C56单片机的片内EEPROM(数据Flash)擦写的时候是不是要比较大的瞬时电流啊?我用0.47F的法拉电容怎么也擦写不成功呢?写后检查低压标志好像有。

使用特权

评论回复
huailove| | 2012-4-19 11:01 | 显示全部楼层
感觉简单的事情复杂化

使用特权

评论回复
tonlife| | 2012-4-27 09:47 | 显示全部楼层
写得很详细,对每个元器件的工作都很了解 ,学习

使用特权

评论回复
hqdx| | 2012-5-10 16:11 | 显示全部楼层
MARK

使用特权

评论回复
chphei| | 2013-5-31 15:57 | 显示全部楼层
i=Cdu/dt,假如i=I=20mA,则  I dt= C du,两边积分可得I(t-0)=C(5.5-4.5),故t=1V *0.47uF/20mA=23.5*(10-6)秒,即23.5us。 该文作者计算公式没有考虑电容的单位,所以结果算大了1000000倍。 网上所有的转帖**居然全部都是错误的。

如果需要达到延时效果,需要更改0.47uF的电容为4700uF,即电容增大10000倍,时间可以保证到0.235秒。即使这样时间也显得比较紧张。 多用几个4700uf的电容并联扩容(比如4个),则延时时间增大4倍,接近1秒,应该基本够用了。 市场上有2200uF(耐压6.3V)的小尺寸电解电容(10*16mm,单价约0.1元),你买几个并联使用就可以了。 如果不在乎电路板尺寸,你买10000uF甚至更大的电容也可以,只是价格要贵许多,尺寸更超大。

轩辕之血 chphei  2013年5月31日更正补充。

使用特权

评论回复
xiaomage_2000| | 2013-6-17 15:53 | 显示全部楼层
chphei 发表于 2013-5-31 15:57
i=Cdu/dt,假如i=I=20mA,则  I dt= C du,两边积分可得I(t-0)=C(5.5-4.5),故t=1V *0.47uF/20mA=23.5*(10- ...

哥们应该是你看错了,人家电容是0.47F不是0.47uF。。。

使用特权

评论回复
mengyue520| | 2013-6-18 14:50 | 显示全部楼层
其实单片机正常工作在8M以上的话,设置掉电电压为4V,一般掉电时间电源上的大滤波电容足够把东西保存了,不需要这么麻烦的电路的!

使用特权

评论回复
zyj9490| | 2013-10-3 17:57 | 显示全部楼层
chphei 发表于 2013-5-31 15:57
i=Cdu/dt,假如i=I=20mA,则  I dt= C du,两边积分可得I(t-0)=C(5.5-4.5),故t=1V *0.47uF/20mA=23.5*(10- ...

人家是法拉电容,不是微法的普通电容

使用特权

评论回复
dupengshixu| | 2016-10-25 11:25 | 显示全部楼层
wang5430 发表于 2008-9-26 21:00
一个5V电源,一个法拉电容,一个100UF的电解电容,一个100R的电阻。就可以了。然后就是单片机要弄个脚来检 ...

100R电阻是串联到7805输出端防止烧坏芯片吗?

使用特权

评论回复
guan426| | 2016-10-25 15:13 | 显示全部楼层
对掉电检测的确比较复杂了点,不过思路清晰,考虑比较全面,赞一个

使用特权

评论回复
抗旗小兵| | 2016-11-2 14:01 | 显示全部楼层
很好的帖子

使用特权

评论回复
李建坤| | 2017-9-10 22:33 | 显示全部楼层
学习!

使用特权

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

本版积分规则

8

主题

10

帖子

0

粉丝