單片機死機問題
一 振蕩器停止振蕩
又可以分為電源電壓不穩(wěn),或者強干擾引起的振蕩器停振。
二 PC指針跑飛
電源電壓不穩(wěn)或強干擾引起PC跑飛,如果看門狗不好,也會引起死機。
三 設(shè)計上對長引出線的IO沒有保護,靜電打在IO口上引起單片機死鎖,破壞了硬件邏輯功能,導(dǎo)致死機。
四. 復(fù)位收到干擾,引起反復(fù)復(fù)位,在反復(fù)復(fù)位當中有可能會導(dǎo)致死機。
綜上所述:
設(shè)計電路時,應(yīng)該注意:
1.電源穩(wěn)定
2.IO保護
3.振蕩器PCB布線要注意
4.復(fù)位電路設(shè)計和PCB布線
5.電源,信號線干擾路徑的保護,加濾波TVS等
6.高速信號輸出遠離信號輸入端,如SPI總線,I2C總線布線要遠離ADC,復(fù)位,時鐘等布線處,以及其他模擬前端。
一家之言,歡迎糾正
電源電壓 的地 不穩(wěn)定
造成電源電壓 瞬間負電壓 導(dǎo)致單片機故障 程序不發(fā)運行
我的理解:
1、"跑飛"是因為程序隱患或外部干擾引起的誤動作,致使PC被寫入"出界"數(shù)據(jù),跑到了RAM區(qū),或者跑到了FLASH的空白區(qū)。如果PC指向了RAM區(qū),哪情況就不好說了!因為程序譯碼器可能得到任意譯碼結(jié)果。如果PC指向了FLASH空白區(qū),則可以事先將所有FLASH空白區(qū)填入某個你想要的數(shù)據(jù),迫使程序譯碼器在這里翻譯出你想要的指令,從而進行相應(yīng)的處理。在IAR Workbench中好象有在空白區(qū)填充數(shù)據(jù)的設(shè)置。
評論