|
1. 哪些情况需要用到掉电保护功能
在大多数工控应用中,由于各种复杂的环境因素,使工控设备不可避免的会面临供电突然断掉的情况。为了可以保证系统运行状态确定性以及记录数据完整性,当系统供电恢复后,现场数据可以及时恢复,避免应用系统产生混乱。为了保证保存数据的实时性,现场数据的存储频率还会非常高,因此还要求数据保存的速度应足够快,从而不影响应用程序的正常运行。
对目前的非易失性存储器,NandFlash、NorFlash、EEPROM,有一定的擦写寿命限制,而且写入速度也不高,不利于现场数据实时保存。但是成本较低。
对于一些成本较高的非易失性存储器,例如铁电存储器,不利于降低产品的成本;而且容量也不大。
对目前的易失性存储器如DDR,数据写入和读取速度都非常的高,不过掉电后,数据将会全部掉失。如果使用一个后备电池的话,使得DDR一直通电,数据就不会掉失。但是电池有充电和放电时间,使用寿命的限制。也不利于产品的维护和降低成本。
因此本文提出一种“NandFlash + DDR + 法拉电容(又叫超级电容)”的低成本,高可靠性的解决方案。NandFlash(SLC)具有擦除次数高,达10万次,数据存储时间长,成本低等特点,被大多数嵌入式工控机所使用。
2. 实现的原理
如果能预知掉电的发生,并能够利用超级电容继续为最小系统供电2秒钟。侧可以在有外电时把实时性比较高的数据保存在内存DDR里。获得掉电发生时,在超级电容供电的2秒钟里,把内存的一些重要的数据和现场运行状态数据打包成文件保存到NandFlash存储器。以保证工控设备在供电回复后能继续正常运行。基于这个原理广州市微嵌计算机科技有限公司生产的8寸WINCE工业平板电脑(WLT_TFT8060_080)已经实现了这个掉电保护功能。只需要在购买时选配这个掉电保护模块就可以了。
上图中的+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”,用户只需要在应用程序中使用该库的两个函数
|
|