工控系统掉电保存超级电容支撑时间异常案列分享

超级电容支撑保护掉电数据异常案例分享

关键字:UPS 超级电容 掉电保存 看门狗 CPU 优先级

背景:

工业控制领域,工控设备在突然断电是,系统需要有5到10秒的时间来保存运行数据,确保再次上电,工业设备能工正常上电。所以工业控制器断电时需要有超级电容为系统提供10S左右的供电时间。典型电源拓扑结构如下图所示:

现象:

按照正常设计,UPS可以正常支持10S左右,但是偶尔会出现支撑不到10S的情况,可能2S就断电了。

解决步骤:

  1. 复现现象:

10次差不多有3次掉电异常

  1. 根据现象推测可能出问题点地方:

怀疑点1:升压芯片可能在超级电容缓慢放点过程中异常关断

异常关断的原因有2点:

  1. EN脚电平达不到使能电平导致关断
  2. 升压芯片触发过流保护,导致芯片关断

怀疑点2:控制MOS管由于CPU异常控制GPIO脚导致关断

验证怀疑点1

用示波器抓取波形抓取TP1,TP2,TP3波形,发现TP1,TP2波形正常TP3波形异常,初步验证升压芯片应该是正常工作的,故怀疑控制MOS的GPIO可能存在异常动作的情况。

验证怀疑点2:

用示波器抓取波形抓取同时测试TP1,TP2,TP3,TP4,发现TP4在掉电1-2S后会出现1个异常低电平,所以怀疑是CPU在掉电时发出了低电平信号

  1. 根据2的验证推测大概率是软件问题,推测软件可能出问题的点:

还有个信息是,不运行我们的软件,或者屏蔽掉电检测后不会出现异常掉电的情况

怀疑点1:调用程序,可能误控制了MOS控制引脚

怀疑点2:系统重启了

验证怀疑点1:

了解CPU-GPIO引脚的控制逻辑,了解到这个引脚在底层没有做逻辑,单纯的是CPU不工作之后,会掉电到0电平,MOS管关闭,故认为CPU-GPIO误控制的概率不大。

验证怀疑点2:

使用上位机观察掉电瞬间的打印信息,发现系统确实重启了,故定位是系统重启导致的CPU-GPIO误控制。

  1. 根据3的验证确定是系统重启,推测导致系统重启的原因:

怀疑点1:掉电后调用的函数里边代码,导致了系统REBOOT

怀疑点2:掉电之后系统进入了一次复位

验证怀疑点1:

查看代码,发现没有REBOOT的操作,故没办法验证是否是底层代码的问题,先验证怀疑点2再看情况。

验证怀疑点2:

导致系统重启的可能有:看门狗,硬件复位,欠压等

根据这些可能逐一验证,将看门狗直接短接,让看门狗失效,直接拉高,验证发现异常掉电问题消失,故怀疑是看门狗异常导致的异常掉电

  1. 根据4的验证,推测看门狗异常的原因:

怀疑喂狗异常导致,抓取喂狗引脚波形,发现正常喂狗波形每400MS喂一次,断电瞬间波形超过1S还没有进行喂狗。

  1. 根据5的验证,推测喂狗异常的原因:

怀疑是掉电之后,我们会保存数据,调用的资源优先级高于喂狗程序,且调用时间超过800MS(看门狗最长喂狗时间),导致看门狗触发复位导致掉电异常

  1. 结论:掉电保存数据的优先级是最高的,故监测到掉电之后,CPU资源被占用,长时间没有喂狗,导致系统复位重启。导致最后掉电保存数据异常。

解决办法:见后续文章

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值