单片机应用系统断电时的数据保护方法
在测量、控制等领域的应用中,常要求单片机内部和外部ram中的数据在电源掉电时不丢失,重新加电时,ram中的数据能够保存完好,这就要求对单片机系统加接掉电保护电路。掉电保护通常可采用以下三种方法:一是加接不间断电源,让整个系统在掉电时继续工作,二是采用备份电源,掉电后保护系统中全部或部分数据存储单元的内容;三是采用eeprom来保存数据。由于第一种方法体积大、成本高,对单片机系统来说,不宜采用。第二种方法是根据实际需要,掉电时保存一些必要的数据,使系统在电源恢复后,能够继续执行程序,因而经济实用,故大量采用[1]。eeprom既具有rom掉电不丢失数据的特点,又有ram随机读写的特点。但由于其读写速度与读写次数的限制,使得eeprom不能完全代替ram。下面将介绍最常用的一些掉电保护的处理方法,希望能对相关设计人员在实际工作中有所帮助。
1 简单的ram数据掉电保护电路
在具有掉电保护功能的单片机系统中,一般采用cmos单片机和cmos ram。cmos型ram存储器静态电源小,在正常工作状态下一般由电源向片外ram供电,而在断电状态下由小型蓄电池向片外ram供电,以保存有用数据,采用这种方法保存数据,时间一般在3-5个月[2]。然而,系统在上电及断电过程中,总线状态的不确定性往往导致ram内某些数据的变化,即数据受到冲失。因此对于断电保护数据用的ram存储器,除了配置供电切换电路外,还要采取数据防冲失措施,当电源突然断电时,电压下降有个过程,cpu在此过程中会失控,可能会误发出写信而冲失ram中的数据,仅有电池是不能有效完成数据保护的,还需要对片选信号加以控制,保证整个切换过程中cs引脚的信号一直保持接近vcc。通常,采用在ram的cs和vcc引脚之间接一个电阻来实现coms
ram的电源切换,然而,如果在掉电时,译码器的输出出现低电平,就可能出现问题,图1给出一种简单的电路设计,它能够避免上述问题的产生。
图1中,4060开关电路起到对cs控制的作用。当电压小于等于4.5v时就使开关断开,cs线上拉至"1",这样,ram中的数据就不会冲失;当电压大于4.5v时,4060开关接通,使ram能正常进行读写。

2 可靠的ram掉电保护电路
上述的电路虽然简单,但有时可能起不到ram掉电保护的作用,原因是在电源掉电和重新加电的过程中,电源电压跃变的干扰可能使ram瞬间处于读写状态,使原来ram中的数据遭到破坏,因此,在掉电刚刚开始以及重新加电直到电源电压保持稳定下来之前,ram应处于数据保持状态,6264
ram、5101 ram等ram芯片上都有一个ce2引脚,在一般情况下需将此引脚拉高,当把该引脚拉至小于或等于0.2v时,ram就进入数据保持状态。
实用的静态ram掉电保护电路如图2所示,图2中u1、u2为电压比较器,稳压管d3提供一个基准电压vr(vr=3.5v)。当vcc为5v时,在r4上得到的分压大于vr,u2输出高电平,又因为u4输出也为高电平,故ce2输出为高电位,单片机此时可对ram进行存取,当电源掉电时,vcc开始下降,当满足如下条件时:
r4×vcc/[(r4+r3)/(r5+r6)]≥vr


u2输出低电平,通过u5和u6使ce2输出小于等于0.2v,ram进入数据保持状态(按图2中元件参数代入上式,当vcc降到4.7v时,u2输出为低电位)。若vcc继续下降使u3翻转,再通过d4、u4和u6进一步保证ce2为低电平。此外,当vcc下降到小于e时,d2截止,d1导通,这时e作为ram的备份电源,当单片机重新加电时,vcc由0跃变到5v时,u2的输出端会出现瞬间的干扰脉冲,由于u3和u4间电路的积分延迟(约0.7rc),ce2并不立即升到高电平,因而阻止了u2的干扰脉冲,当延时结束时,电源电压已稳定在5v,此后ce2升高,单片机便可对ram进行存取。图2中u3和u6为一块四施秘特与非门(cd4093),该电路直接由e供电,这样才能保证掉电后使ce2≤0.2v,并在重新加电时ce2不受电源电压跃变的干扰,比较器u1和u2为电源供电,vcc为后备电源u1的电压监视电路,当后备电池快用完时(小于3.5v),发光管会发出亮光,表明要换上新电池,备份电源可用3节5号干电池,也可以采用锂电池或镍电池。
3 利用tl7705对现场数据进行保护
单片机构成的应用系统在突然断电时,往往使片内ram数据遭到破坏,下面介绍一种利用tl7705构成的电源监控电路,使单片机系统在掉电时自动保护现场数据。
3.1 tl7705的工作原理
tl7705是电源监控用集成电路,采用8脚双列直插式封装,其内部结构图3所示。图3中,基准电压发生器具有较高的稳定性,可由1脚输出2.5v基准电压,为了吸收电源的同脉冲干扰,通常在1脚上接一个0.1μf的滤波电容来提高其抗干扰能力,被监控的电源电压由sense端7脚引入,经过r1和r2分压后送入比较器cmp1,与基准电压进行比较,当其值小于基准电压时,t1导通,定时电容ct通过t1放电,使cmp2比较器翻转,t2和t3导通,输出脚reset为高电平,seset反为低电平,当送入cmp1比较器的电压高于基准电压时,t1截止100μa恒流源给ct充电,当ct上的电压高于2.5v时,cmp2比较器翻转,t2和t3截止,reset和reset反输出关断。
3.2 tl7705与80c51单片机的接法
在某些单片机应用系统中需要在系统掉电时记忆当前现场状态,以使电源恢复后能继续从断电处运行,图4是以80c51单片机为例采用其空闲方式或掉电方式,在备用电池支持下实现掉电后的数据保护。

图4中,r1、c1和74lso4构成单片机的上电自动复位和手动按钮复位电路,备用电池p1及d1、d2实现掉电时备用电池的切换。电源正常时d1不导通,+5v直接给单片机供电,并为电池p1充电,为了减小电池耗电,备用电池只给单片机供电,保护片内ram中的数据,电源掉电后,其他外围电路的工作电压仅靠电源电容维持很短的时间,电位器rw用来调节检测电压,范围为4.5-4.75v,当掉电时,外围电路的电压下降到门限设定电压时,可将片外ram中需要保护的数据写入片内ram中,并使单片机进入掉电工作方式以完成数据保护,为了保证单片机有足够的处理时间,取检测电压为4.75v,当电源电压降至4.75v时,tl7705由reset反向单片机发出中断请求信号(into反)。单片机运行到一个可断断点后,相应中断,在中断服务程序中保护现场数据,使单片机进入掉电工作状态。
4 采用软件冗余措施保证数据的准确性。
最常用的一种方法是采用软件冗余措施,即将欲保护的数据写入ram中的不同区域,如0000h-00ffh、0100h-01ffh和0200h-02ffh这三个区域存储同样一组数据,当使用这些数据前,先对各组进行检查,对于正确的数据方可应用,同时将错误的数据进行修正,在上电与断电过程中,总线不确写性是随机的,不可将所有数据完全冲失。采用硬件对数据进行断电保护,同时在软件上采用冗余的措施是最常用的数据保护方法,在断电突然发生时可保证数据的准确无误。
双控开关相关文章:双控开关原理
评论