芯片IC單片機解密百科

十年專注單片機解密

單片機設計中如何擺脫電磁幹擾

 1.單片機設計程序會由於電磁幹擾大致會一下幾種情況:


  ①程序跑飛。

  這種情況是最常見的幹擾結果,一般來說有一個好的複位係統或軟件幀測係統即可,對整個運行係統的不會產生太大的影響。


  ②死循環或不正常程序代碼運行。

  當然這種死循環和不正常程序代碼並非設計職員有意寫進的,BBIN导航知道程序的指令是由字節組成的,有的是單字節指令而有的是多字節指令,當幹擾產生後使得PC指針發生變化,從而使原來的程序代碼發生了重組產生了不可猜測的可執行的程序代碼,那麽,這種錯誤是致命的,它會有可能會往修改重要的數據參數,有可能產生不可猜測的控製輸出等一係列錯誤狀態。


  2.單片機設計對重要參數儲存的措施


  一般情況下,BBIN导航可以采用錯誤檢測與糾正來有效地減少或避免這種情況的出現。根據檢錯、糾錯的原理,主要思想是在數據寫進時,根據寫進的數據天生一定位數的校驗碼,與相應的數據一起保存起來;當讀出時,同時也將校驗碼讀出,進行判決。假如出現一位錯誤則自動糾正,將正確的數據送出,並同時將改正以後的數據回寫覆蓋原來錯誤的數據;假如出現兩位錯誤則產生中斷報告,通知CPU進行異常處理。所有這一切動作都是靠軟件設計自動完成的,具有實時性和自動完成的特點。通過這樣的設計,能大大進步係統的抗幹擾能力,從而進步係統的可靠性。


  檢錯與糾錯原理:首先來看看檢錯和糾錯的基本原理。進行差錯控製的基本思想是在信息碼組中以一定規則加進不同方式的冗餘碼,以便在信息讀出的時候依靠多餘的監視碼或校碼碼來發現或自動糾正錯誤。


  針對誤碼發生的特點,即錯誤發生的隨機性和小概任性,它幾乎總是隨機地影響某個字節中的某一位(bit),因此,假如能夠設計自動糾正一位錯誤,而檢查兩位錯誤的編碼方式。就可以大大進步係統的可靠性。


  3.單片機設計對RAM和FLASH(ROM)的檢測


  在編製程序時BBIN导航最好是寫進一些檢測程序來測試RAM和FLASH(ROM)的數據代碼,看有無發生錯誤,一旦發生要立即糾正,糾正不了的要及時給出錯誤指示,以便用戶往處理。


  另外,在編製程序時加進程序冗餘是不可缺少的。在一定的地方加進三條或三條以上NOP指令對程序的重組有著很有效防止作用。同時,在程序的運行狀態中要引進標誌數據和檢測狀態,從而及時發現和糾正錯誤產生。

    

對於一個電子工程師來說,在單片機的電路設計中電磁幹擾不僅關係了單片機在控製在中的能力和準確度,還關係到企業在行業中的競爭。對電磁幹擾的設計本文主要從硬件和軟件方麵進行設計處理,下麵就是從單片機的PCB設計到軟件處理方麵來介紹對電磁兼容性的處理。

 

一、影響EMC的因數


  1.電壓


  電源電壓越高,意味著電壓振幅越大,發射就更多,而低電源電壓影響敏感度。


  2.頻率


  高頻產生更多的發射,周期性信號產生更多的發射。在高頻單片機係統中,當器件開關時產生電流尖峰信號;在模擬係統中,當負載電流變化時產生電流尖峰信號。


  3.接地


  在所有EMC題目中,主要題目是不適當的接地引起的。有三種信號接地方法:單點、多點和混合。在頻率低於1MHz時,可采用單點接地方法,但不適宜高頻;在高頻應用中,最好采用多點接地。混合接地是低頻用單點接地,而高頻用多點接地的方法。地線布局是關鍵,高頻數字電路和低電平模擬電路的接地電路盡不能混合。


  4.PCB設計


  適當的印刷電路板(PCB)布線對防止EMI是至關重要的。


  5.電源往耦


  當器件開關時,在電源線上會產生瞬態電流,必須衰減和濾掉這些瞬態電流。來自高di/dt源的瞬態電流導致地和線跡“發射”電壓,高di/dt產生大範圍的高頻電流,激勵部件和線纜輻射。流經導線的電流變化和電感會導致壓降,減小電感或電流隨時間的變化可使該壓降最小。


二、對幹擾措施的硬件處理方法


  1.印刷線路板(PCB)的電磁兼容性設計


  PCB 是單片機係統中電路元件和器件的支撐件,它提供電路元件和器件之間的電氣連接。隨著電子技術的飛速發展,PCB的密度越來越高。PCB設計的好壞對單片機係統的電磁兼容性影響很大,實踐證實,即使電路原理圖設計正確,印刷電路板設計不當,也會對單片機係統的可靠性產生不利影響。例如,假如印刷電路板的兩條細平行線靠的很近,會形成信號波形的延遲,在傳輸線的終端形成反射噪聲。因此,在設計印刷電路板的時候,應留意采用正確的方法,遵守PCB設計的一般原則,並應符合抗幹擾的設計要求。要使電子電路獲得最佳性能,元器件的布局及導線的布設是很重要的。


  2.輸入/輸出的電磁兼容性設計


  在單片機係統中輸進/輸出也是幹擾源的傳導線,和接收射頻幹擾信號的拾檢源,BBIN导航設計時一般要采取有效的措施:


  ①采用必要的共模/差模抑製電路,同時也要采取一定的濾波和防電磁屏蔽措施以減小幹擾的進進。


  ②在條件許可的情況下盡可能采取各種隔離措施(如光電隔離或者磁電隔離),從而阻斷幹擾的傳播。


  3.單片機複位電路的設計


  在的單片機係統中,看門狗係統對整個單片機的運行起著特別重要的作用,由於所有的幹擾源不可能全部被隔離或往除,一旦進進CPU幹擾程序的正常運行,那麽複位係統結合軟件處理措施就成了一道有效的糾錯防禦的屏障了。常用的複位係統有以下兩種:


  ① 外部複位係統。外部“看門狗”電路可以自己設計也可以用專門的“看門狗”芯片來搭建。然而,他們各有優缺點,大部分專用“看門狗”芯片對低頻“喂狗”信號不能響應,而高頻“喂狗”信號都能響應,使其在低頻“喂狗”信號下產生複位動作而在高頻的“喂狗”信號下不產生複位動作,這樣,假如程序係統陷進一個死循環,而該循環中恰巧有著“喂狗”信號的話,那麽該複位電路就無法實現它的應有的功能了。然而,BBIN导航自己可以設計一個具有帶通的“喂狗”電路和其他複位電路構成的係統就是一個很有效外部監控係統了。

  ②現在越來越多的單片機都帶有自己的片上複位係統,這樣用戶就可以很方便的使用其內部的複位定時器了,但是,有一些型號的單片機它的複位指令太過於簡單,這樣也會存在象上述死循環那樣的“喂狗”指令,使其失往監控作用。有一些單片機的片上複位指令就做的比較好,一般他們把“喂狗”信號做成固定格式的多條指令依順序來執行,假如有一定錯誤則該“喂狗”操縱無效,這樣就大大進步了複位電路的可靠性。


  4.振蕩器


  大部分的單片機都有一個耦合於外部晶體或陶瓷諧振器的振蕩器電路。在PCB上,要求外接是電容、晶體或陶瓷諧振器的引線越短越好。RC振蕩器對幹擾信號有潛伏的敏感性,它能產生很短的時鍾周期,因而最好選晶體或陶瓷諧振器。另外,石英晶體的外殼要接地。


  5.防雷擊措施


  室外使用的單片機係統或從室外排擠引進室內的電源線、信號線,要考慮係統的防雷擊題目。常用的防雷擊器件有:氣體放電管、TVS(Transient Voltage Suppression)等。氣體放電管是當電源的電壓大於某一數值時,通常為數十V或數百V,氣體擊穿放電,將電源線上強衝擊脈衝導進大地。TVS可以看成兩個並聯且方向相反的齊納二極管,當兩端電壓高於某一值時導通。其特點是可以瞬態通過數百乃上千A的電流。


三、對幹擾措施的軟件處理方法


  電磁幹擾源所產生的幹擾信號在一些特定的情況下(比如在一些電磁環境比較惡劣的情況下)是無法完全消除的,終極將會進進CPU處理的的核心單元,這樣在一些大規模集成電路經常會受到幹擾,導致不能正常工作或在錯誤狀態下工作。特別是像RAM這種利用雙穩態進行存儲的器件,往往會在強幹擾下發生翻轉,使原來存儲的“0”變為“1”,或者“1”變為“0”;一些串行傳輸的時序及數據會因幹擾而發生改變;更嚴重的會破壞一些重要的數據參數等;造成的後果往往是很嚴重的。在這種情況下軟件設計的好壞直接影響到整個係統的抗幹擾能力的高低。