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