手机网站|

扫一扫,手机访问

您好,欢迎来到维库电子市场网 登录 | 免费注册

基于LM358的单片机掉电保护电路

出处:电子市场 发布于:2017-11-29 16:55:32 | 1020 次阅读

  掉电保护简介
  掉电数据保护是系统设备一个重要的功能。


  目前,掉电数据保护的方法主要有2种:
  (1)加足够容量备用蓄电池,使系统掉电后继续工作;
  (2)不加备用电池,把掉电时需要保护的数据存储在非易失性存储器中,如FLASH和EEPROM。
  第一种方法器件体积大、费用高并且蓄电池寿命短;第二种方法简单,但擦写器件的寿命有限。本文在第二种的基础上提出一种改进方法,即利用LM358作为电压比较器,当检测到系统掉电时才将数据写入EEPROM中。该方法不仅实现了系统数据掉电的保护,而且延长了EEPROM的寿命。
  基于LM358的单片机掉电保护电路设计


  如图1,通过调节R2,使系统正常供电时,Ua》Ub=3.5V,c端输出高电平;当系统掉电时,因二极管D1的隔离,使LM358得不到供电。由于电容C2和电感L的存在,电容C2和电感L1继续为单片机提供短暂时供电,并且因下拉电阻R5的存在,使得c端输出低电平。用于触发单片机INT0中断。
  根据STC12C5A60S2系列单片机资料,对EEPROM写一个字节和擦除一个扇区所需的时间分别为55μs和21ms。正常模式下,典型功耗为2mA-7mA。5V单片机和3.3V单片机对EEPROM进行操作的有效最低电压分别为Umin=3.7V和Umin=2.4V。
  系统掉电后,等效电路模型为RLC串联回路。放电过程时电路的微分方程为:
  根据R、L和C的参数值的不同,可分为欠阻尼振荡状态、临界阻尼状态、过阻尼状态。上面的方程可分为以下三种:
  综上所述:当负载R一定时,选取合适的电容和电感(本文选取C 2 =6600uf/25V、L 1 =0.1H)。L 1 和C 2 的具体参数可通过试验测试得到。只要u c (t)从初始状态的u c (t)| t=0 衰减到u c (t)| t=t0 =U min 的时间大于维持触发中断对EEPROM进行操作所需的时间t0就能满足系统正常工作的要求。
  单片机软件设计
  主程序和中断服务子程序流程图分别如下图2和图3所示。


  图2:主程序


  图3:中断服务子程序


  与本设计有关的程序如下:
  void main(void)
  {
  ??
  Byte_Read(Address);
  While(1)
  {??}
  }
  void INT0_int()interrupt 0
  {
  Sector_Erase(Address);
  Byte_Program(Address,Date);
  Delay(XX); //延时,确保系统可靠
  }
  分析:系统掉电时,INT0中断被触发,在中断服务子函数中对EEPROM进行擦除和写的操作。
  总结
  该系统的实现,应用于二维运动控制平台。系统掉电时,X轴和Y轴坐标以及其他参数被写入EEPROM中。系统重新上电后,读取出存储在EEPROM里X轴和Y轴坐标及其他参数,工作平台以该位置为起点继续沿着原设定的位置运动。
  本文的核心就是基于LM358作为电压比较器,检测到系统掉电时才对EEPROM进行擦写,避免了每执行一遍程序对EEPROM进行擦除一次而造成其寿命短的问题。软、硬件结构设计简单,提高了系统的实用性。
  本文给出了典型的应用程序,具有良好的可移植性。加入循环语句可以把多个数据存EEPROM或从EEPROM里读出。

 

0次

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,http://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。