28335看门狗如何复位
现在突然出现一个问题,28335的板子突然就死机了,可能是电网波动,现在想让他死机后过几秒自动复位,想用看门狗。
想法是这样的:先开看门狗,然后定义一个变量t,主程序在一直循环,在主程序的结尾加t++;if(t<100000) 喂狗,在一个50ms的定时器里t= 0;
我现在的疑惑是WCDR寄存器,这个如果最后三位选择111,意味着每200MS计数器+1吗,那样溢出的时间就是200*127?是这样理解吗?
WDCR寄存器,说错了。主要是给看门狗定时器的时钟问题,请大家帮我一下。 最小溢出时间209.7MS Cjy_JDxy 发表于 2018-7-10 15:18
最小溢出时间209.7MS
时间这么短的吗?我主程序走完可能都要400ms。
那请问怎么做到程序跑飞,10秒后复位,这样看看门狗应该做不到了吧。
200个ms没喂狗就复位也太快了吧。 Cjy_JDxy 发表于 2018-7-10 15:18
最小溢出时间209.7MS
还是说,我搞个1MS的定时器,每进入一次就喂狗一次,程序死了以后,就不会进入定时器,然后200ms以后复位,是这个意思吧。 混子黄 发表于 2018-7-10 22:27
还是说,我搞个1MS的定时器,每进入一次就喂狗一次,程序死了以后,就不会进入定时器,然后200ms以后复位 ...
是的 28335的看门狗一般没什么难度,一般简单的处理都在主循环中、中断程序中加一句喂狗程序。
但是,电网波动引起的问题,用看门狗解决不是根源,根源你需要在硬件方面做够足够的EMC特性,这才是除根的措施。 小研究 发表于 2018-7-11 08:55
28335的看门狗一般没什么难度,一般简单的处理都在主循环中、中断程序中加一句喂狗程序。
但是,电网波动引 ...
怀疑是电网波动。
之前都没有出现过板子死掉的情况。
我们的设备在一个公司使用,已经使用好几年了都没出现问题,然后前几天的一个晚上突然跟我说设备死掉了,那个区域的电脑也都死机,不止我们的设备,还有其他公司的设备。电脑一开机就重启,是这样的现象。
然后我让他们先不要用设备,第二天过去,电脑不死机了,设备也能正常使用了。所以我才怀疑是电网波动造成的。
而且我们的设备之前就没有出现这样的现象过,还有很多公司使用我们的设备。可靠性应该是能保证的。
所以这个现象可能出现的原因是什么?
我们第二天过去也是一直重启电脑,根本没有发生设备死机的现象,无法复现,不好找原因。
{:cry:}
本帖最后由 小研究 于 2018-7-11 23:34 编辑
混子黄 发表于 2018-7-11 19:59
怀疑是电网波动。
之前都没有出现过板子死掉的情况。
不知道你们的设备是不是站内电力控制设备?如果是的话,可以查查当时的录波装置,看当时的电压是不是发生了陡降什么的。不知道你们的设备可有断电续航的能力?如果有的话,那很可能就是28335周围的电路设计的有所欠缺。 小研究 发表于 2018-7-11 23:33
不知道你们的设备是不是站内电力控制设备?如果是的话,可以查查当时的录波装置,看当时的电压是不是发生 ...
1.没有录波装置,所以看不到那时候的电压。
2.没有断电续航能力。 混子黄 发表于 2018-7-13 08:13
1.没有录波装置,所以看不到那时候的电压。
2.没有断电续航能力。
那就不好说了,这种隐患最要命,不发作则已,发作了就是大灾难。
别管怎么说,DSP的背后,多放几个钽电容,多多益善,只有好处没有坏处。 本帖最后由 mycomputer0000 于 2018-8-16 17:02 编辑
Cjy_JDxy 发表于 2018-7-10 15:18
最小溢出时间209.7MS
上面那图是哪里的?我在28335的手册上看到的是这个图 mycomputer0000 发表于 2018-8-16 17:00
上面那图是哪里的?我在28335的手册上看到的是这个图
不知道,混子黄发的图。你这个图你计算一下就知道了
页:
[1]