對於乙個電子工程師來說,在微控制器的電路設計中電磁干擾不僅關係了微控制器在控制在中的能力和準確度,還關係到企業在行業中的競爭。對電磁干擾的設計本文主要從硬體和軟體方面進行設計處理,下面就是從微控制器的pcb設計到軟體處理方面來介紹對電磁相容性的處理。
一、影響emc的因數
1.電壓
電源電壓越高,意味著電壓振幅越大,發射就更多,而低電源電壓影響敏感度。
2.頻率
高頻產生更多的發射,週期性訊號產生更多的發射。在高頻微控制器系統中,當器件開關時產生電流尖峰訊號;在模擬系統中,當負載電流變化時產生電流尖峰訊號。
3.接地
在所有emc題目中,主要題目是不適當的接地引起的。有三種訊號接地方法:單點、多點和混合。在頻率低於1mhz時,可採用單點接地方法,但不適宜高頻;在高頻應用中,最好採用多點接地。混合接地是低頻用單點接地,而高頻用多點接地的方法。地線布局是關鍵,高頻數位電路和低電平模擬電路的接地電路盡不能混合。
4.pcb設計
適當的印刷電路板(pcb)佈線對防止emi是至關重要的。
5.電源往耦
當器件開關時,在電源線上會產生瞬態電流,必須衰減和濾掉這些瞬態電流。來自高di/dt源的瞬態電流導致地和線跡「發射」電壓,高di/dt產生大範圍的高頻電流,激勵部件和線纜輻射。流經導線的電流變化和電感會導致壓降,減小電感或電流隨時間的變化可使該壓降最小。
二、對干擾措施的硬體處理方法
1.印刷線路板(pcb)的電磁相容性設計
pcb是微控制器系統中電路元件和器件的支撐件,它提供電路元件和器件之間的電氣連線。隨著電子技術的飛速發展,pcb的密度越來越高。pcb設計的好壞對微控制器系統的電磁相容性影響很大,實踐證實,即使電路原理圖設計正確,印刷電路板設計不當,也會對微控制器系統的可靠性產生不利影響。例如,假如印刷電路板的兩條細平行線靠的很近,會形成訊號波形的延遲,在傳輸線的終端形成反射雜訊。因此,在設計印刷電路板的時候,應留意採用正確的方法,遵守pcb設計的一般原則,並應符合抗干擾的設計要求。要使電子電路獲得最佳效能,元器件的布局及導線的布設是很重要的。
2.輸入/輸出的電磁相容性設計
在微控制器系統中輸進/輸出也是干擾源的傳導線,和接收射頻干擾訊號的拾檢源,我們設計時一般要採取有效的措施:
①採用必要的共模/差模抑制電路,同時也要採取一定的濾波和防電磁遮蔽措施以減小干擾的進進。
②在條件許可的情況下盡可能採取各種隔離措施(如光電隔離或者磁電隔離),從而阻斷干擾的傳播。
3.微控制器復位電路的設計
在的微控制器系統中,看門狗系統對整個微控制器的執行起著特別重要的作用,由於所有的干擾源不可能全部被隔離或往除,一旦進進cpu干擾程式的正常執行,那麼復位系統結合軟體處理措施就成了一道有效的糾錯防禦的屏障了。常用的復位系統有以下兩種:
①外部復位系統。外部「看門狗」電路可以自己設計也可以用專門的「看門狗」晶元來搭建。然而,他們各有優缺點,大部分專用「看門狗」晶元對低頻「餵狗」訊號不能響應,而高頻「餵狗」訊號都能響應,使其在低頻「餵狗」訊號下產生復位動作而在高頻的「餵狗」訊號下不產生復位動作,這樣,假如程式系統陷進乙個死迴圈,而該迴圈中恰巧有著「餵狗」訊號的話,那麼該復位電路就無法實現它的應有的功能了。然而,我們自己可以設計乙個具有帶通的「餵狗」電路和其他復位電路構成的系統就是乙個很有效外部監控系統了。
②現在越來越多的微控制器都帶有自己的片上覆位系統,這樣使用者就可以很方便的使用其內部的復位定時器了,但是,有一些型號的微控制器它的復位指令太過於簡單,這樣也會存在象上述死迴圈那樣的「餵狗」指令,使其失往監控作用。有一些微控制器的片上覆位指令就做的比較好,一般他們把「餵狗」訊號做成固定格式的多條指令依順序來執行,假如有一定錯誤則該「餵狗」操縱無效,這樣就大大進步了復位電路的可靠性。
4.振盪器
大部分的微控制器都有乙個耦合於外部晶體或陶瓷諧振器的振盪器電路。在pcb上,要求外接是電容、晶體或陶瓷諧振器的引線越短越好。rc振盪器對干擾訊號有潛伏的敏感性,它能產生很短的時鐘週期,因而最好選晶體或陶瓷諧振器。另外,石英晶體的外殼要接地。
5.防雷擊措施
室外使用的微控制器系統或從室外排擠引進室內的電源線、訊號線,要考慮系統的防雷擊題目。常用的防雷擊器件有:氣體放電管、tvs(transient voltage suppression)等。氣體放電管是當電源的電壓大於某一數值時,通常為數十v或數百v,氣體擊穿放電,將電源線上強衝擊脈衝導進大地。tvs可以看成兩個併聯且方向相反的齊納二極體,當兩端電壓高於某一值時導通。其特點是可以瞬態通過數百乃上千a的電流。
三、對干擾措施的軟體處理方法
電磁干擾源所產生的干擾訊號在一些特定的情況下(比如在一些電磁環境比較惡劣的情況下)是無法完全消除的,終極將會進進cpu處理的的核心單元,這樣在一些大規模積體電路經常會受到干擾,導致不能正常工作或在錯誤狀態下工作。特別是像ram這種利用雙穩態進行儲存的器件,往往會在**擾下發生翻轉,使原來儲存的「0」變為「1」,或者「1」變為「0」;一些序列傳輸的時序及資料會因干擾而發生改變;更嚴重的會破壞一些重要的資料引數等;造成的後果往往是很嚴重的。在這種情況下軟體設計的好壞直接影響到整個系統的抗干擾能力的高低。
1.程式會由於電磁干擾大致會一下幾種情況:
①程式跑飛。
這種情況是最常見的干擾結果,一般來說有乙個好的復位系統或軟體幀測系統即可,對整個執行系統的不會產生太大的影響。
②死迴圈或不正常程式**執行。
當然這種死迴圈和不正常程式**並非設計職員有意寫進的,我們知道程式的指令是由位元組組成的,有的是單位元組指令而有的是多位元組指令,當干擾產生後使得pc指標發生變化,從而使原來的程式**發生了重組產生了不可猜測的可執行的程式**,那麼,這種錯誤是致命的,它會有可能會往修改重要的資料引數,有可能產生不可猜測的控制輸出等一系列錯誤狀態。
2.對重要引數儲存的措施
一般情況下,我們可以採用錯誤檢測與糾正來有效地減少或避免這種情況的出現。根據檢錯、糾錯的原理,主要思想是在資料寫進時,根據寫進的資料天生一定位數的校驗碼,與相應的資料一起儲存起來;當讀出時,同時也將校驗碼讀出,進行判決。假如出現一位錯誤則自動糾正,將正確的資料送出,並同時將改正以後的資料回寫覆蓋原來錯誤的資料;假如出現兩位錯誤則產生中斷報告,通知cpu進行異常處理。所有這一切動作都是靠軟體設計自動完成的,具有實時性和自動完成的特點。通過這樣的設計,能大大進步系統的抗干擾能力,從而進步系統的可靠性。
檢錯與糾錯原理:首先來看看檢錯和糾錯的基本原理。進行差錯控制的基本思想是在資訊碼組中以一定規則加進不同方式的冗餘碼,以便在資訊讀出的時候依靠多餘的監視碼或校碼碼來發現或自動糾正錯誤。
針對誤碼發生的特點,即錯誤發生的隨機性和小概任性,它幾乎總是隨機地影響某個位元組中的某一位(bit),因此,假如能夠設計自動糾正一位錯誤,而檢查兩位錯誤的編碼方式。就可以大大進步系統的可靠性。
3.對ram和flash(rom)的檢測
在編制程式時我們最好是寫進一些檢測程式來測試ram和flash(rom)的資料**,看有無發生錯誤,一旦發生要立即糾正,糾正不了的要及時給出錯誤指示,以便使用者往處理。
另外,在編制程式時加進程式冗餘是不可缺少的。在一定的地方加進三條或三條以上nop指令對程式的重組有著很有效防止作用。同時,在程式的執行狀態中要引進標誌資料和檢測狀態,從而及時發現和糾正錯誤產生。
微控制器設計的幾個基本問題
這幾個問題在 eetchina 上發過帖,那裡有個大俠講得比較詳細了,不過由於基礎弱,有些地方還是不太理解。發在這,想看看這裡的各位朋友有什麼看法,尤其是希望雷震子這樣的大俠能指點一下,使我等初學者少走彎路,謝謝。1.電阻電容的封裝形式如何選擇,有沒有什麼原則?比如 同樣是 104的電容有 0603...
微控制器設計的十層功底
處在這一層的典型是可以用c語言寫簡單的邏輯控制,如閃爍led,簡單數碼管顯示,簡單外圍模組驅動實驗。一般對微控制器感興趣,經常動手實踐的人,半年左右,可以練到此地步 針對沒有接觸過微控制器的人而言 此層最典型的示例就是,掃瞄按鍵時候,檢測按下 延時20ms 再次檢測按下 返回鍵值或等待釋放。如果你是...
基於微控制器設計的溫度監控系統設計
引言 隨著 資訊時代 的到來,作為獲取資訊的手段 感測器技術得到了顯著的進步,其應用領域越來越廣泛,對其要求越來越高,需求越來越迫切。感測器技術已成為衡量乙個國家科學技術發展水平的重要標誌之一。因此,了解並掌握各類感測器的基本結構 工作原理及特性是非常重要的。由於感測器能將各種物理量 化學量和生物量...