- UID
- 872238
|
上图中的+5V为外部供电电源,+3.3V给CPU、NandFlash和DDRII 供电,C3为超级电容(法拉电容)。外部供电后,D3导通前,通过R1,R2充电;D3导通后,通过R1、D3快速通电;电容电压上升到4.7V左右后,通过R1、R2缓慢充电。+5V系统掉电时, U1是一个复位芯片,电压低于4.2V后,RST脚立刻产生一个低电平通知CPU,同时 C3通过D2放电,维持核心系统工作至少2S。CPU可以有2S以上的时间充分保存现场的数据。
4. 软件的编程
本公司提供一个动态库“PwLostSave.dll”,用户只需要在应用程序中使用该库的两个函数即可。
“PwLostSave.dll”的函数定义在“PwLostSave.h”头文件中。提供了两个函数:
BOOL InitPowLostSave(void (*lpfnNotify)(void), DWORD dwpriority);
功能说明:注册和初始化掉电通知功能,该函数只能执行一次。
BOOL CheckPowerOn(DWORD dwChkTimes);
功能说明:用于检测外部电源是否重新供电。一般用于 用户编写的函数lpfnNotify(回调函数)中。
5. 软件说明
一般掉电保护是强实时性的任务,可以通过触发中断的方式来获得Windows CE操作系统的服务。
用户在回调函数“lpfnNotify”中实现自己编写的掉电处理程序即可。
6. 总结
使用广州市微嵌计算机科技有限公司生产的8寸WINCE工业平板电脑(WLT_TFT8060_080),测试结果如下。在上电2分钟后,电容充电,掉电后可以保存到Nandflash的数据大小约为800Kb;上电10分钟后,电容充分充电,可以保存到Nandflash的数据大小约为3Mb。当然,如果用户在回调函数“lpfnNotify”中处理过多的内容,则影响保存数据量。
对于实时采集数据的用户来说,应先将数据保存到DDR中,当达到一定大小,例如1M,立刻将数据写入到NandFlash。系统掉电时候,将剩余的数据在“lpfnNotify”中保存到NandFlash即可。 |
|