单片机/ARM死机的常见原因
可能原因:一 振荡器停止振荡
又可以分为电源电压不稳,或者强干扰引起的振荡器停振。
二 PC指针跑飞
电源电压不稳或强干扰引起PC跑飞,如果看门狗不好,也会引起死机。
三 设计上对长引出线的IO没有保护,静电打在IO口上引起单片机死锁,破坏了硬件逻辑功能,导致死机。
四. 复位收到干扰,引起反复复位,在反复复位当中有可能会导致死机。
五.电源电压 的地 不稳,造成电源电压 瞬间负电压 导致单片机故障 程序不发运行
综上所述:
设计电路时,应该注意:
1.电源稳定
2.IO保护
3.振荡器PCB布线要注意
4.复位电路设计和PCB布线
5.电源,信号线干扰路径的保护,加滤波TVS等
6.高速信号输出远离信号输入端,如SPI总线,I2C总线布线要远离ADC,复位,时钟等布线处,以及其他模拟前端。
不错,感谢分享 差不多,具体问题,每次都不太一样 感谢分享 感谢分享 所以看门狗很重要 看门口,只能缓解问题,不能根治,一直觉得 程序bug引起的死机很重要, 经验积累很重要 具体问题具体分析,每天记录工程师笔记很重要的。 恩,有的时候经验就是想问题的思路 还有静电会引起设备重启哦 重启的原因可太多了,跑飞很大概率程序写的逻辑不严谨 死机的话跟看门狗没啥关系,有看门狗就不会死机,而是重启了 可能是外部信号没做隔离处理,直接静电给设备搞坏了 看看应用环境,环境不好/恶劣的情况也会引起死机的 做一些保护,这样会让死机的概率小一些 加一些TVS,重要的信号线加隔离处理,就能减少死机风险 电源不好也会引起死机,比如负载用电过大,把电流拉低导致 数据发送过多过快,导致MCU数据处理不过来,也会死机的
页:
[1]
2