在掉电过程中或电源出现波动时,为了增强RAM数据的安全性,采用了专用电源监控芯片(U3:IMP706),提供系统的监控功能。上电、掉电和电网电压过低时会输出复位信号,同时还能跟踪1.6 s的定时信号,为软件运行提供看门狗定时器(watchdog timer)防护。当电源电压掉至约4.74 V时,U3向CPU(U1:AT89S52)输出掉电信号(PW_DN),CPU进行掉电应急处理和保护现场,不向RAM芯片进行任何读写操作。当电源电压进一步掉至4.4 V时,U3产生复位信号,CPU被复位,同时RAM芯片U2的片选引脚CE2也被置为低电平,确保U2不被读写操作。
2 软件设计
本案例电路的地址定义是:RAM地址范围(8 KB)为0000H~1FFFH;看门狗定时器控制地址为E000H。
软件包括主控制程序、掉电中断处理程序、定时中断处理程序等。
(1)主控制程序
上电进行必要的CPU初始化后,检查正常掉电标志和RAM Check Sum计算检查,以确认RAM中数据是否正常。如果正常,就进行掉电前的现场恢复。其主程序流程框图如图2所示。
(2)掉电中断处理程序
CPU收到掉电信号(PW_DN)中断时,CPU进行掉电应急处理和保护现场,设置正常掉电标志,保存RAMCheck Sum计算结果,以备上电时检查RAM数据是否被破坏。其流程框图如图3所示。
(3)定时中断处理程序
看门狗定时器电路需要在每1.6 s内清零,在定时中断处理程序中调用看门狗清零子程序。定时中断时间要设在1.6 s以内,例如100ms。定时中断处理流程框图如图4所示。
结 语
在本应用实例中,经测试,掉电后RAM数据后备时间是10~14天,且数据可靠,系统运行稳定。显然,选择更大容值的法拉电容将有更长的后备时间。在控制系统的产品设计中,为提高产品的可靠性、降低成本、增强产品在市场上的竞争力,本文提供的方案具有参考价值。