1掉电保护电路设计
1.1硬件设计
76C88是CMOS型的RAM芯片,其容量为8K×8,它有两个片选端CS1和CS2,只有CS1为低电平同时CS2为高电平时芯片才被选中。因此将CS2接MAX791的RESET输出端,同时WE写允许信号通过MAX791的使能控制输入端CEIN和输出端CEOUT,间接从MCS-51的MR引入,保证在系统复位期间不能读写,有效地保护了76C88中的数据。
上电过程:当VCC从OV上升到复位门限1.65V,
RESET
输出仍将维持有效电平200ms的时间,保证电源电压正常后系统的有效复位。
RESET
有效期间76C88的CS2处于低电平,即片选信号无效,保证上电过程中片内数据不被改写。当VCC大于VBATT时,VOUT自动切换到与VCC相接,76C88转由VCC供电。
正常工作:在此状态下,CS2为高电平,WE通过MAX791的使能电路复制WR,单片机可对76C88进行读写操作。为防止程序跑飞,提高系统的可靠性,在程序中插入看门狗触发指令,即P1.7的置位/复位指令,程序正常执行时经常触发WDI。当程序跑飞超过1.6 s不能触发看门狗时,WDO输出低电平,通过MR使系统复位。在此期间VCC通过二级管D1、电阻R1给后备电池充电。
掉电过程:当VCC从正常电压下降到复位门限4.65V时,RESET立即有效,CS2变成低电平,76C88进入保护状态,保证掉电过程中片内数据不被改写。当VCC小于VBATT时,VOUT自动切换到与VBATT相接,76C88转由后备电池供电。
对多数应用系统,上电复位后程序从头开始即能满足要求,但对某些系统如由多道工序组成的流水线控制系统,突然停电后再来电时应接着原来的工序往下执行,这就要求计算机记录停电瞬间的系统参数,重新来电时根据记录的参数继续往下执行。
利用MAX791的电源报警功能,能方便地达到这一目的:当VCC下降到4.65V+150mV时,LOE LINE产生负跳变,向单片机发中断请求,因贮能效应,VCC从4.8 V降到4.65 V有几个ms的时间,足够单片机执行几百条甚至上千条指令,利用这段时间在中断服务程序中保护断点及实时参数。重新来电后转入断点继续执行。
2软件设计
单片机系统的软件可分成主程序和电源报警中断服务程序两部分。主程序中必须插入指令经常触发WDI,且间隔时间不能超过1.6s,报警中断必须设置为非屏蔽中断NMI没有NMI可以将INTO设置成唯一的一个高级中断以替代NMI。