掉电存储错误及设计优化案例分析

I 问题现象

测试中发现,再产品不加电池/电池欠电时,可能存在掉电后,再上电存储读取失败的现象。

II问题分析

掉电部分硬件设计如下:
在这里插入图片描述
电源采用1W变压器,分2个绕组,1个绕组给CPU,一个绕组给RS485通讯,这是主流设计。CPU有电池供电,具备停电唤醒功能。

一、故障复现:
复现条件:电池断开 掉电I2C波特率 100K ,加电流出脉冲走字。 掉2次,错误6次,一次掉电产生3次EEPROM读取错误。
如下:
在这里插入图片描述
经检查代码,掉电存储的内容一次如下:
系统状态 44BYTE
剩余金额 20BYTE
总尖峰平谷电能 124BYTE
以及其他可能需要存的。
掉电事件记录。(最后保存内容)

故障复现原理:存储内容未发生变化时,即使存储失败,也不会产生上电EEPROM读取错误。因此需要发生数据改变才能复现。

二、故障分析:
1、通过调整电容,使得仅靠电容供电也能满足掉电存储要求。掉电设计计算:
C(F)*U(V)=I(A)*T(S)
上述公式中,已知C,可测出U跟I,可计算出T。

测量I
经过测试,掉电存储时间需要262ms。(有没有脉冲,时间一样)
在这里插入图片描述
在这里插入图片描述
2.68V 尚可正常工作(右图)。产生压降是因为回路串100欧姆,用来测掉电电流。

短接串联电阻,再测试掉电及电源切换电压。掉电电池供电电压3.16V。
在这里插入图片描述
在这里插入图片描述
手册关于切换电压的描述,跟实测2.9V相符。
在这里插入图片描述
由上可计算出掉电功耗:0.5V/100欧姆=5mA。
延长电容时间需要降低功耗:
掉电后关闭EMU模块:再测功耗,(0.4-0.16)/100=2mA左右。
在这里插入图片描述
在这里插入图片描述
降低约一半功耗。

计算U
掉电阈值配置为0.9V。
在这里插入图片描述
在这里插入图片描述
CPU正常最低工作电压:LVD设置为2.7V
在这里插入图片描述
在这里插入图片描述
根据电路设计分压值,计算得到B=0.9V时,A为5V。
0.91220/220=4.99V。在这里插入图片描述
掉电电压只需要保证80%Un 正常工作即可,显然5V偏低。
实测80%电压下 A点电压>8V,如下图:
按8V掉电计算BR22取值 0.9/7.1
1000K = 128K
按7V掉电计算BR22取值 0.9/6.1*1000K = 147K 取值150K 按7V测算。
ji
综合电阻种类,BR24改为100K,BR22改为15K。A点按7V计算。A点电压抬高2V ,导致电容上电荷支持的时间增加理论值计算如下:

470*10-6 2V=210-3 *t t=470ms。足够掉电存储用时。
实测掉电存储波形:
在这里插入图片描述
所有数据存储完毕后,还有100ms左右余量 3.3V才开始下跌。符合设计要求。

经测试,不加电池,掉电记录每次均能存储成功。如下图
在这里插入图片描述

III、解决办法

1、检测到掉电后,立即进入低功耗模式,延长电容使用时间。
2、掉电检测电压阈值应该低于80%额定电压,取最大值。尽可能延长电容使用时间。

IV、总结建议

按新设计,重新进行掉电相关测试,确保工作稳定可靠。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值