<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 綜述單片機應用系統(tǒng)的抗干擾設計

          綜述單片機應用系統(tǒng)的抗干擾設計

          作者: 時間:2012-04-01 來源:網(wǎng)絡 收藏

          3.8 選擇良好的元件

          現(xiàn)在市場上出售的元件,很多是可用但性能不佳,甚至有些是器件廠經(jīng)測試認為不合格 的產(chǎn)品。這些元件極易受干擾,只能在很好的環(huán)境(指電源穩(wěn)定、沒有磁干擾)下工作。因此 在選購元件時,特別是、晶振、RAM等,最好選購一級品。

          4 的軟件

          不可能完全依靠硬件解決,軟件也是防止和消除整 個故障的重要途徑。

          4.1 控制狀態(tài)失常的軟件對策

          (1)軟件冗余。對于條件控制系統(tǒng),對控制條件的一次采樣、處理控制輸出改為循環(huán)地 采樣、處理控制輸出。這種方法對于慣性較大的控制系統(tǒng)具有良好的抗干擾作用。

          (2)設置當前輸出狀態(tài)寄存單元,當干擾侵入輸出通道造成輸出狀態(tài)破壞時,系統(tǒng)能及 時查詢寄存單元的輸出狀態(tài)信息,及時糾正輸出狀態(tài)。

          (3)設自檢程序。在單片機內(nèi)的特定部位或某些內(nèi)存單元設狀態(tài)標志,在開機后,運行 中不斷循環(huán)測試,以保證系統(tǒng)中信息存儲、運輸、運算的高可靠性。

          4.2 程序運行失常的軟件對策

          (1)設置程序監(jiān)視跟蹤定時器。目前,大多數(shù)單片機片內(nèi)都集成有程序監(jiān)視跟蹤定時器 。監(jiān)視跟蹤定時器主要用來跟蹤程序的運行。當程序運行出現(xiàn)故障時,計數(shù)器溢出,系統(tǒng)復 位,重新運行系統(tǒng)程序。利用它可有效地實現(xiàn)程序防飛功能。

          (2)設置程序指針陷阱。在每個子程序后面或程序段后,插入5條指令NOP、NOP、NOP、N OP、LJMP MAIN(其中MAIN是初始化程序開始地址),在片的空白處(特別是后面的空白處), 每32個字節(jié)放指令LJMP MAIN。設置了指針陷阱后,一旦單片機受干擾,使程序指針混亂, 執(zhí)行了一段程序后,就會落入陷阱中,執(zhí)行LJMP MAIN指令,回復到初始化程序開始處,從 而避免死機。

          4.3 數(shù)據(jù)采集誤差的軟件對策

          用軟件濾波算法,可濾掉大部分由輸入信號干擾而引起的輸出控制錯誤。最常用的方法 有算術平均值法、比較舍取法、中值法、一階遞推數(shù)字濾波法。具體選取何種方法,必須根 據(jù)信號的變化規(guī)律選擇。

          5 結束語

          筆者從硬件、軟件兩個方面探討了一些提高抗干擾能力的方法,這些方法有效可行,筆 者在很多系統(tǒng)采用,受到了良好的效果,基本解決了令人頭痛的干擾問題。■

          參考文獻:
          [1]邵貝貝.單片機的可靠性技術及其發(fā)展[J].電子產(chǎn)品世界.1999,(8).
          [2]何立民.MCS-51系列單片機應用系統(tǒng)設計[M].北京航空航天大學出版社.1999 .7.


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();