祝奕冰
摘 要 通過對單片機實際應(yīng)用中遇到的、與可靠性技術(shù)有關(guān)的問題的討論,提出了一些解決辦法。只有細(xì)致周到地分析干擾源,硬件與軟件抗干擾相結(jié)合,完善系統(tǒng)監(jiān)控程序,設(shè)計一套穩(wěn)定可靠的單片機系統(tǒng)是完全可以實現(xiàn)的。
關(guān)鍵詞 單片機 抗干擾 可靠性 穩(wěn)定性
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A
1單片機選型
1.1低功耗單片機
CHMOS芯片是專為低功耗系統(tǒng)設(shè)計的芯片類型,通過對單片機的特殊功能寄存器 PCON編程,使單片機工作在待機或掉電工作方式。在設(shè)計低功耗應(yīng)用系統(tǒng)時,不僅要選用低功耗型單片機,在外圍擴展電路中也應(yīng)選擇低功耗的芯片和器件。
1.2低噪聲單片機
使用低噪聲單片機可實現(xiàn)單片機系統(tǒng)噪聲的降低。而大功率的驅(qū)動電路集成到單片機內(nèi)部無疑增加了噪聲源,一般采用跳變沿軟化技術(shù)可降低此類系統(tǒng)噪聲。
1.3高速度單片機
單片機外部時鐘是高頻的噪聲源,除了能引起單片機應(yīng)用系統(tǒng)本身的干擾之外,還可能對外界其他設(shè)備造成干擾,使電磁兼容檢測不能達(dá)標(biāo)。在對系統(tǒng)可靠性要求很高的應(yīng)用系統(tǒng)中,通常可選用時鐘頻率低、指令運行速度快的單片機來降低系統(tǒng)噪聲干擾。
2單片機硬件抗干擾
2.1接地
給單片機系統(tǒng)提供良好的保護(hù)地線,提高系統(tǒng)的抗干擾能力。
2.2隔離與屏蔽
隔離一般是通過使用光電隔離器件將單片機的輸入輸出隔離開,從而有效地抑制尖峰脈沖及各種噪聲干擾,使傳輸通道的信噪比大大提高。屏蔽則是用來隔離空間輻射的,對噪聲特別大的部件,如開關(guān)電源用金屬盒罩起來,可減少對單片機系統(tǒng)的干擾。
2.3PCB綜合布局和布線
PCB電路板的設(shè)計要本著盡量控制噪聲源、盡量減小噪聲的傳播與耦合和盡量減少敏感元件對干擾噪聲的拾取這三大原則進(jìn)行。具體設(shè)計時,應(yīng)結(jié)合PCB設(shè)計的相關(guān)規(guī)則進(jìn)行合理的布局和布線。
2.4硬件“看門狗”技術(shù)
若失控的程序進(jìn)入“死循環(huán)”,一般采用“看門狗”技術(shù)使程序脫離“死循環(huán)”。通過硬件“看門狗”電路不斷檢測程序循環(huán)運行時間,當(dāng)發(fā)現(xiàn)程序循環(huán)時間超過最大循環(huán)運行時間,則認(rèn)為系統(tǒng)陷入“死循環(huán)”,對單片機進(jìn)行復(fù)位操作,脫離“死循環(huán)”。
3單片機軟件抗干擾
3.1指令冗余技術(shù)
單片機CPU取指令過程是先取操作碼,再取操作數(shù)。當(dāng)PC受干擾出現(xiàn)錯誤,程序便脫離正常軌道“亂飛”,當(dāng)亂飛到某雙字節(jié)指令,若取指令時刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e。若“飛” 到了三字節(jié)指令,出錯機率更大。
在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個字節(jié)以上的NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動納入正軌。
此外,對系統(tǒng)流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。
3.2軟件陷阱技術(shù)
當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無法起作用。通過設(shè)置軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出錯處理。軟件陷阱是指用來將捕獲的亂飛程序引向復(fù)位入口地址0000H的指令。
3.3軟件“看門狗”技術(shù)
若失控的程序進(jìn)入“死循環(huán)”,通常采用“看門狗”技術(shù)使程序脫離“死循環(huán)”。通過不斷檢測程序循環(huán)運行時間,若發(fā)現(xiàn)程序循環(huán)時間超過最大循環(huán)運行時間,則認(rèn)為系統(tǒng)陷入“死循環(huán)”,需進(jìn)行出錯處理?!翱撮T狗”技術(shù)可由硬件實現(xiàn),也可由軟件實現(xiàn)。 在工業(yè)應(yīng)用中,嚴(yán)重的干擾有時會破壞中斷方式控制字,關(guān)閉中斷。則系統(tǒng)無法定時“喂狗”,硬件“看門狗”電路失效。而軟件“看門狗”可有效地解決這類問題。
軟件看門狗通常是使用定時器中斷來監(jiān)視程序運行狀態(tài)。定時器的定時時間稍大于主程序正常運行一個循環(huán)的時間,在主程序運行中執(zhí)行一次定時器時間常數(shù)刷新操作,這樣只要程序正常運行,定時器不會出現(xiàn)定時中斷。當(dāng)程序失常時,就不能及時刷新定時器時間常數(shù)而導(dǎo)致定時中斷時,利用定時中斷服務(wù)程序?qū)⑾到y(tǒng)復(fù)位。
4單片機復(fù)位
一般來說不同的單片機的復(fù)位電路稍有不同,單片機廠商都會提供標(biāo)準(zhǔn)的復(fù)位電路資料,可根據(jù)資料合理設(shè)計復(fù)位電路。
5單片機系統(tǒng)可靠性測試
5.1測試單片機軟件功能的完善性
這是針對所有單片機系統(tǒng)功能的測試,根據(jù)生產(chǎn)要求和控制要求測試軟件是否正確完整。
5.2上電掉電測試
在使用中,用戶必然會遇到上電和掉電的情況,通過多次開關(guān)電源來測試單片機系統(tǒng)的可靠性。
5.3老化測試
測試長時間工作情況下,單片機系統(tǒng)的可靠性。必要的話可以放置在高溫、高壓以及強電磁干擾的環(huán)境下測試。
5.4ESD和 EFT等測試
可以使用各種干擾模擬器來測試單片機系統(tǒng)的可靠性。例如使用靜電模擬器測試單片機系統(tǒng)的抗靜電ESD能力;使用突波雜訊模擬器進(jìn)行快速脈沖抗干擾 EFT測試等等。
5.5人為模擬測試
即人為模擬使用中可能發(fā)生的破壞情況。例如用人體或者衣物故意摩擦單片機系統(tǒng)的接觸端口,由此測試抗靜電的能力。用大功率電鉆靠近單片機系統(tǒng)工作,由此測試抗電磁干擾能力等。
參考文獻(xiàn)
[1] 馮江,溫如春,易見兵. MCS-51單片機走飛的軟件抗干擾方法研究[J].南方冶金學(xué)院學(xué)報,2006(01).
[2] 李精華,陳勝權(quán).單片機系統(tǒng)中的抗干擾分析及措施[J].信息技術(shù),2005(08).