·上一文章:SDCC编译器和FreeRTOS 在C805 1 F上的开发应用
·下一文章:AVR单片机的天然气发动机电控系统设计
当电源正常时,5 V电源VCC通过快速整流二极管D1给RAM(U2:UT6264)供电,并通过R1给法拉电容(C1:FMOH104Z)充电。掉电时,D1截止,法拉电容C1作为备份电源,通过R1为U2供电,保证RAM中数据不消失。
在掉电过程中或电源出现波动时,为了增强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所示。