×
嵌入式 > 技术百科 > 详情

单片机的罢工

发布时间:2020-06-06 发布时间:
|
一振荡器停止振荡​

  又可分为电源电压不稳,或者是强干扰引起的振荡器停振。​

二PC指针跑飞​

  电源电压不稳或强干扰引起PC跑飞,如果看门狗不好,也会死机。​

三设计上对长引出线的IO口没有保护,静电打在IO口上引起单片机死锁,破坏了硬件逻辑功能,导致死机。​​​

四复位收到干扰,引起反复复位,在反复复位当中有可能会导致死机。​

综上所述:​

设计电路时,应该注意:​

1.电源稳定​

2.IO保护​

3.振荡器pcb布线注意​

4.复位电路设计和pcb布线​

5.电源,信号线的干扰路径的保护,加滤波tvs等​

6.高速信号输出远离信号输入端,如SPI总线,I2C总线布线要远离ADC,复位,时钟等布线处,以及其它模拟前端​

我的理解:​

1.“跑飞”是因为程序隐患或外部干扰引起的误动作,致使PC被写入“出界”数据,跑到了RAM区,或者跑到了FLASH的空白区。如果PC指向了RAM区,那神马情况就不好说了!因为持续译码器可能得到任意译码结果。如果PC指向了FLASH区的空白区,则可以事先将所有FLASH空白区填入某个你想要的数据,迫使持续译码器在这里翻译出你想要的指令,从而进行相应的处理​。​

2.“死机”是指PC进入了“死循环”,或者是MCLK等于近似为零的值。此时,要想救活MCU,非外狗不可。​

  程序运行过程中,如果MCU电源出现问题(电源供电问题,或其它外部电路引起额电源扰动),比较容易出现“跑飞”现象。​

  程序跑飞应该是PC(程序计数器0.0)出错;软件和硬件的问题都可能导致这样的问题的出现。​

  死机应该是CPU根本没有运行,多事硬件方面的问题造成的,比如POR复位不成功,430比较容易出现掉电不完全后重新上电。​

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
中国国产第三代核电实现并网发电