新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機系統(tǒng)的故障重現(xiàn)設計及實現(xiàn)

單片機系統(tǒng)的故障重現(xiàn)設計及實現(xiàn)

作者: 時間:2013-02-25 來源:網(wǎng)絡 收藏

串口SIO效應

串口SIO效應實驗主要是看串口通訊是否出錯。要觀察到這種現(xiàn)象,就必須讓運行串口通訊程序。由于51型只有一個串口,而要使其進行通訊,最少需要兩個串口,這就至少需要有兩套,這將使設備和實驗復雜化。在認真研究串口工作原理后,終于找到了只用一個單片機模擬串口通訊的方案:把CPU的TXD和RXD短接,將TXD端發(fā)出的數(shù)據(jù)直接送入RXD進行接收,使單片機工作于自發(fā)自收狀態(tài),通過檢查接收與發(fā)送的數(shù)據(jù)是否相等判斷通訊是否正常。當然,仍需采用循環(huán)等待技術,使通訊循環(huán)進行,當運行正常時,在P1.1口產(chǎn)生脈沖信號,使紅色LED亮。如果通汛出現(xiàn)異常,數(shù)碼管將顯示出錯信息,并將LED熄滅。

定時器CTC效應

為使CTC工作失誤,可在主程序中加入允許CTC中斷的指令,使程序運行時,CTC一直在工作,等待電磁脈沖來干擾。 定時器采用CPU內(nèi)部定時器0,工作方式為方式1。編寫CTC0的中斷子程序,與軟件計數(shù)器R0配合,在P1.1口產(chǎn)生一個方波信號,驅(qū)動LED閃亮。主程序等待K按下指令,等待期間進行干擾實驗。如果LED閃亮異常,表明CTC工作不正常。以下為定時器0的中斷子程序:

實驗結果

該單片機以前,曾用一單片機最小應用做效應實驗,結果只能觀察到死機現(xiàn)象。而將該系統(tǒng)用于效應實驗后,觀察到了硬件損壞、A/D轉(zhuǎn)換誤差增大、內(nèi)存數(shù)據(jù)改變、程序跳轉(zhuǎn)、死機、CTC工作失誤、串口通訊出錯和程序存儲器E2PROM內(nèi)容被改寫等多種現(xiàn)象。通過大量、反復地實驗,測出了各種故障出現(xiàn)的閾值,分析了故障出現(xiàn)的原因。

圖4是示波器記錄下的串口RXD引腳上的正常信號和通訊出錯時的干擾波形。圖4表明,RXD上有很強的干擾信號,而且低電平被展寬了3~4倍。根據(jù)實驗數(shù)據(jù)及串口工作原理,得出申行通訊出錯的原因有兩個:1.干擾使SIO電路工作失誤,如串口控制寄存器SCON內(nèi)容改變,發(fā)送或接收SBUF內(nèi)容改變等,這些都可能引起接收數(shù)據(jù)和發(fā)送數(shù)據(jù)不符,從而使通訊出錯;2.RXD線上的干擾信號使串行數(shù)據(jù)發(fā)生混亂,從而使接收數(shù)據(jù)出錯。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉