微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机的罢工

单片机的罢工

时间:11-27 来源:互联网 点击:
一振荡器停止振荡?

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

二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比较容易出现掉电不完全后重新上电。?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top