單片機的電池兼容性設計說明_第1頁
單片機的電池兼容性設計說明_第2頁
單片機的電池兼容性設計說明_第3頁
單片機的電池兼容性設計說明_第4頁
單片機的電池兼容性設計說明_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、. . . . 指導教師評定成績(五級制):指導教師簽字:附件C:譯文單片機的電磁兼容性設計1背景知識該應用筆記討論了如何設計一個考慮電磁兼容性的MCU應用系統。現在幾乎每一個消費電子、汽車、工業應用都有一個MCU在,且在多數情況下都是采用廉價、單芯片的MCU。單片機是這些應用系統的理想選擇,由于它具有靈活性和集成性。典型的單片機具有CPU、RAM、ROM和IO口,并且可以具有如模數轉換模塊、LCD驅動、基于電視應用的屏幕顯示、基于的DTMF發生器、交流電機驅動電路、EEPROM等定制的功能模塊。由于單片機功能增加且變得越來越復雜。隨著市場價格的下降,MCU生產商必須不斷地減少他們的制造成本。

2、減小片上晶體管和門的大小可以實現這一點,而且還可以幫助生產出能夠工作在更高頻率上的MCU。當一個晶體管減小,其狀態轉換時間將會減少。根據傅里葉分析,信號的邊沿快速變化會產生諧波信號,這些信號被放大會引起輻射問題。同樣的,如果器件具有很快的轉換時間,它們會對到來的更快的信號產生作用。高頻噪聲尖峰和錯誤信號,將會引起門狀態的轉變。大多數現代MCU工作的速度在2MHz到40MHz圍,部的器件具有從幾納秒到低于一納秒不等的轉換速度,這使它們具有潛在的EMC問題。2 EMC電磁兼容性許多電子線路相互靠近,保證它們不會被外部噪聲源影響,并且這些電路本身不會成為噪聲源而影響到其他電路是必要的。這種關系被稱之

3、為電磁兼容性。EMC問題可以分為輻射問題和感受問題。輻射問題和感受問題都會具有傳導性質或輻射性質。例如,圖1所示是一個辦公室復印機發射射頻信號到外界環境的案例。這種射頻信號引起了監視器的顯示故障,是一個輻射EMC問題。類似的,復印機輻射噪聲到電力電源線上,反過來傳導到電腦監視器電力電源線上,從而以傳導方式引起了故障。由于設計不合理和較強的射頻噪聲輻射,監視器可以被視為復印機電磁干擾的受害者。可以認為監視器的設計存在缺陷,并且不能處理存在于電子辦公設備中的背景環境噪聲。圖1 電磁兼容性案例3辨別一個EMC問題在早期或全面生產產品的時候發現一個EMC問題具有很高的價值,這可能導致PCB板的重新設計

4、。因此,在設計的初期就應該考慮產品EMC。然而,無論在什么階段發現了EMC問題,要問的第一個問題是:“這個EMC問題是輻射問題還是感受問題?”理所當然,接下來應該問:“是MCU輻射出噪聲對其他電路造成影響還是外部產生的噪聲引起了MCU的異常舉動?”3.1輻射問題來自于數字信號源的輻射通常是由高頻時鐘產生的高頻諧波。這些輻射一般由電源和數字信號回路的開關電流以與主電源轉換為數字電源時的開關電流的輻射引起。這些開關電流循環流動就像小天線,并輻射出差模磁場。此外,任何電阻的和電感的路徑會導致電路中電壓下降,這將使電路中的某些部分處在一個相對于地的共模電位上。如果一個輻射問題存在于一個單片機應用中,那

5、么PCB設計最有可能是問題的主要原因,因為硅片上的環路面積數量級要比在PCB上的小得多。輻射可能來自電源,因為數字芯片中的所有電流都從這里通過。端口引腳被設計得具有更高的驅動能力,因此尺寸通常偏大,這使得電容增大以確保數字信號的轉變比部門電路的轉變要慢些。因為端口引腳通常是由軟件控制的,他們的轉變要比MCU部電路的轉變慢一些。這就意味著端口引腳通常不存在輻射問題。唯一的例外是當端口引腳驅動大電流的情況,這里的磁場強度正比于開關電流,也正比于回路天線面積。解決問題的方法是減小電流或者減小回路面積。在大多數情況,改變的是環路面積。MCU最快的外部基準頻率是晶振電路頻率。如果使用晶振電路,那么這個信

6、號通常近似于正弦波。因為晶振電路很小,且信號近似正弦波,高次諧波衰減很大,因此不會影響其他電路。如果時鐘來源于外部,要注意信號的路徑盡可能的靠近地線平面以最大限度減小環路。對帶有外部存儲設備甚至微處理器的MCU,輻射的問題可能更加嚴重。舉例來說,在這時主要的噪聲源是使外部存儲器工作的時鐘,它的轉換很快,布線沒有經過思考而且具有很長的地環路。這使得時鐘信號就像是一個很強的環形天線,它輻射時鐘信號和高次諧波。低位地址和數據線沒有正確放置同樣會引發一些問題,但是減小電流環路會有明顯的幫助。3.2感受問題大多數MCU采用CMOS技術設計且按門閂和觸發器原理工作從而構成更加復雜的功能。因為它們的同步特性

7、,一個壞的時鐘電平很容易造成故障。任何CMOS器件都具有一個噪聲容限,如果超過該容限將會導致故障。故障通常有這四類型:1. MCU暫時出現障礙,然后自行恢復。2. MCU發生故障,然后中斷或者復位以恢復正常。3. MCU發生故障斷電,然后通過上電進行恢復。4. MCU發生故障且發生閂鎖效應從而導致永久的損壞。如果故障屬于1和2類,這可能不會引起注意,由于這兩類故障的發生無規律,終端用戶可能永遠看不到。然而,如果故障屬于3和4類,它一定會被看做一個免疫問題并且不會被任何制造商接受。第四類故障在其領域類的第一次發生是有必要的,因為在設計階段發生的故障會使得產品發布停止。如果在產品的設計階段沒有進行

8、EMC測試,這類故障將會是無法預測的。4解決電磁兼容性問題通過給予以下三個方面特別的關注能夠使所有MCU應用的電磁兼容性得到提高:1. PCB布局2. 看門狗電路3. 防御性編程4.1 PCB布局PCB布局是MCU免疫故障最普遍的誘發因素。通過關注MCU的三個關鍵地方,可以提它的高電磁兼容性。這三個關鍵地方是:1. 電源布線2. 晶振電路3. 輸入引腳4.1.1電源電源上的任何噪聲無疑會引起故障發生。如果VDD或者VSS線不穩定,那么部電路(如觸發器和反相器)可能會改變狀態,從而導致故障發生。同樣的,如果有電流發生大的、快速的變化,那么可能會發生較強的輻射。一般來說,任何不需要的高頻信號必須通

9、過到地的低阻抗路徑得到衰減。因為所有的信號電流都會流過VSS和VDD,所以信號線應該盡量靠近VDD和VSS以減小電流環路面積。采用具有地線層和電源層的多層PCB板總能達到較好的效果,因為這總能將所有電流環路的面積減到最小,并且減小信號線之間的互感。在低成本的應用中,一般的多層PCB板是縮減成本的關鍵,因此經常使用雙面或單面板。因此,為了對抗電磁兼容性問題,需要對PCB設計的其他方面給予更多的關注。確保地線和電源線盡可能寬,退耦盡可能地靠近單片機能減少互感。細導線對高頻電流具有高阻抗,這意味著電流通過它們將會產生潛在的差異。對于變化快的電流(這取決于器件的直流電源是怎樣產生的)可以通過確保VSS

10、和VDD到具有低阻抗路徑來提高電磁兼容性。用交流電力電源變換產生直流電源最一般的方法如圖2所示。交流電力電源通過降壓得到一個較小的交流信號,經過橋式整流得到直流電壓,然后通過濾波或平滑,再通過電壓調節器。在這種情況下,任何金屬附件都要連接到地線上。由于退耦電容的存在,高頻信號在VDD和VSS的電位將會是一樣的。在圖2中開關電流到的低阻抗路徑是VSS路徑。圖2 交流電力電源變換成直流電源的典型方法注意如果附件之間的連接不良,那么較高的地阻抗將會導致較高的差模電壓。這反過來又會帶來更壞的結果。對這個電路,任何高頻信號線應該和VSS進行退耦以避免串擾和輻射。在一些低成本的應用中,直流電源的產生略有不

11、同。一個替代電路如圖3所示。圖中一個耐高壓的二極管和電容被連接到電力電源上組成一個半波整流器。然后通過一個平滑電容消除紋波,一個齊納二極管連接到電力電源上,它的陽極處于浮地狀態。圖3 低成本的交流電力電源變換成直流電源的方法此時,到的低阻抗路徑是通過帶電的電力線的VDD電源線。在這種情況下,在高頻信號線與VSS地線間進行退耦對單片機的電磁兼容性將起不到幫助。在一定程度上,對這種類型的電路,在高頻信號線和VDD電源線間進行退耦會更加合理。電源上的退耦不充分是一個常見的故障。在電源間連接一個0.1uF的標準電容是很平常的。這個電容對低頻噪聲很有效,而且保證MCU有一個良好、穩定的電流供給。但是,如

12、果MCU工作在40MHz與以上頻率時存在輻射或者免疫問題,那么0.1uF的電容可能不會對減少衰減起到很大作用。因為所有的電容即便是采用SOIC封裝都具有一個部電感和引線電感,一個典型的退耦電容具有大約5nH的電感。這意味著并聯諧振會在大約7MHz的頻率上發生,在感抗后它將成為高頻中的主要成分。在盡可能靠近電源線的位置安裝一個1到10nF的電感可以得到一個好的結果(諧振頻率將高于20MHz)。在設計單層PCB板時,選擇合適的退耦電容可以對它的電磁兼容性產生重要的影響。4.1.2晶振晶振電路(如圖4)由一個連接到晶體振蕩器或瓷振蕩器的反相器組成,這個反相器是位于MCU部的。連接在上面的還有一個反饋

13、電阻和一些小容值退藕電容(用于減少由壓電設備產生的諧波的)。圖4 典型的振蕩電路MCU部的反相器具有高輸入阻抗和輸出阻抗。它的輸出驅動能力低,以保證不會對晶體造成損壞。振蕩器的輸出同時到達另一個緩沖器然后到預分頻器。分頻器對振蕩器時鐘進行2分頻,為部CPU提供了一個穩定的50%占空比的時鐘。CPU通過高速轉變建立地址并在下降沿捕捉數據。設計的工作在2MHz時鐘下的CPU可以在4MHz時鐘下工作。MCU的速度限制是由CPU的功能來決定的。如果振蕩電路中存在任何的噪聲,那么CPU故障可能會發生。故障的原因如圖5所示。在圖5(A)中的是所希望的振蕩時鐘,通過分頻器可以為CPU提供50%占空比的周期信

14、號。在圖5(B)中的是晶振電路中混有噪聲尖波的結果,這導致了CPU的時鐘占空比不再是50%。這意味著CPU不能夠正確的為程序計數器建立地址或者不能取得正確的數據,結果導致CPU程序跑飛。如果噪聲波尖只出現了一次,那么通過看門狗執行一次復位動作就能夠使CPU恢復正常工作。圖5 振蕩電路中的毛刺的影響確保振蕩器設計在最干凈的電磁環境中可以通過以下幾點得到實現:1.保證晶體和其他振蕩器元件盡可能的靠近OSC1和OSC2引腳。避免過長的PCB走線,因為長的走線對存在于應用中的高頻信號就如同一個天線。2.用一個可以減小回路面積的地線保護環路將振蕩電路圍起來。3.通過去耦使晶振電路到具有最小的阻抗路徑。4

15、.保持任何快變換信號遠離振蕩器線路。圖6是一個典型的振蕩電路PCB布局圖6 MC68HC05P3典型的振蕩器PCB布局4.1.3輸入引腳保護輸入引腳同樣關鍵,特別是RESET和IRQ引腳。一個較高的IDD電流通常是一個標志,顯示了輸入引腳懸空未用。這是由N溝道和P溝道晶體管門的影響所導致的。如果引腳懸空未用,其電平浮動在VSS和VDD中間。在這種情況下,正反兩種器件都處于開啟狀態,這使得VSS和VDD呈現出阻抗。因此,電流從這兩個晶體管中流過。經過輸入緩沖后,預計一個電平將會占據主導并保證其后的門處在一個靜態的狀態。但是,任何噪聲在附近的波動都會導致緩沖器輸出發生轉變,而后使得其后的門狀態發生

16、變化并導致功率消耗增加。如果緩沖器狀態轉換頻率足夠高,MCU部其他電路之間的串擾會導致故障發生。一般的,所有靠近高頻信號的輸入引腳應該連接一個硬件低通濾波器或一些小的去耦電路。一般RESET引腳不會被懸空,因為在那種情況下MCU的工作將不正常。通常的情況是RESET引腳在PCB上是連接到其它的器件或者電路的。雖然RESET通過連接到一個上拉電阻避免了引腳的懸空,但是導線對于高頻信號就如同一個天線并且收集了足夠的能量形成了一個小的脈沖。這將導致對MCU進行未知的或者部分的復位。規定的,RESET脈沖必須持續兩個CPU時鐘以上,以確保正確的復位。通過去耦使得這些引腳具有低阻抗回路,并且去耦盡可能靠

17、近引腳。這樣就可以對高頻噪聲進行衰減。并提高MCU的免疫性能。另外一點是盡量減少邊沿觸發中斷。如果中斷可以通過電平觸發,那么這可以保證在中斷引腳上的噪聲不會引起不希望的動作。如果不能通過電平觸發,那么一旦進入邊沿觸發方式的中斷就通過軟件檢測引腳的電平是否正確。這種方法是可行的。4.2看門狗電路看門狗電路通常被描述為必須由MCU在一定時間間隔進行更新的硬件電路或者是引起MCU復位的電路。有一個外部的看門狗電路是最好的,因為它獨立于MCU。如果MCU不能成功更新看門狗,那么看門狗電路就會給MCU一個復位信號。看門狗通常包含一個硬件定時器。如果沒有來自MCU的更新或者報告信息,定時器將會超時。圖7是

18、一個簡單的看門狗電路:圖7 外部看門狗電路在上電時,MCU通過上電復位保持復位狀態。看門狗的時鐘可能來自于外部時鐘源或者是MCU的晶振電路。當MCU處在復位狀態時,IO引腳作為輸入,計數器處于運行狀態。如果Q為0并且C1充滿電,則MCU將退出復位狀態。MCU的第一任務是發出一個脈沖將計數器復位到已知的超時值。MCU的I/O口通過交流耦合以保證只有邊沿能再次觸發計數器。這保證了一個常值直流電平不會使MCU或看門狗喪失功能。在Q輸出變為1前,MCU必須發送一個脈沖確保MCU沒有復位。通常,MCU需要兩條軟件指令。另外一個最好的選擇是讓MCU有一個片上的看門狗(如圖8)。例如,摩托羅拉的MC68HC

19、705C8就自帶有包含可編程定時器的看門狗。它必須在大約32768個時鐘周期被更新,不然它將會產生一個部的復位信號。圖8 片上看門狗CM1/CM0位用于選擇超時周期。COPE位只能寫一次,在看門狗使能后除復位外的其他方式是不能使其喪失功能。COPE位是告知用戶復位信號是來自看門狗還是其他原因的一個標志。刷新看門狗的順序是對COP復位寄存器(COPPRR)進行兩次寫操作,其順序是往COPPRR寫入$AA后再寫入$55。并非所有的MCU在PCB板上都具有看門狗電路,但是有時軟件設計者可以使用未用的中斷實現自己的看門狗。例如MC68HC05P1沒有看門狗,但是有一個16為的自由運行的定時器。這個定時

20、器可以在下列三種情況下產生中斷:1.定時器溢出(FFFF到0000)。2.輸出比較。(16位的寄存器和定時器的計數器比較)。3.在TCAP引腳上捕獲到一個上升或下降沿。例如,如果輸出比較中斷沒有生效,它可以用作一個假的看門狗。但是在這種情況下定時器將和輸出比較寄存器進行比較,然后檢查系統的一切是否正常。如果系統運行正常,程序就會從中斷中返回。如果出現異常,那么程序將會跳轉到初始化程序并對堆棧指針進行重新設定。在程序中合理對看門狗進行更新并不是一個簡單的任務,對看門狗的更新通常是程序結束前的最后一個步驟。通常,用戶需要為所用的中斷程序和子程序、關鍵的和非關鍵的應用檢測軟件流量和時序。理想情況下,

21、在整個程序中進行一次看門狗刷新是最好的,但是MCU包含大量的程序,因此這很少成功。如果可能,看門狗刷新程序不應該放在中斷或子程序中,但是應該放在主循環中。注意刷新頻率不要太高,不然從程序跑飛狀態中恢復的機會將會降低。4.3預防性編程通過簡單的預防性編程,MCU的免疫性能可以得到很大限度的提高。預防性編程的優點是實現費用不高,如果實現正確還可以減少PCB布局在硬件上的花費。4.3.1更新端口引腳預防性編程的一個最簡單的例子是不斷地更新I/O引腳和重要的寄存器。在大多數MCU應用中。軟件中會有一個按規律執行的主循環。在結構上,I/O引腳處在靠近焊盤的位置,并靠近集成芯片的邊緣。當特定幅度的噪聲受到

22、MCU的支配,那么它將通過芯片邊緣傳播到硅上。這意味著在芯片邊沿的邏輯最容易受到外部噪聲的影響,例如輸入輸出電路。所以,通過在一定時間間隔對數據寄存器和數據方向寄存器進行更新可以減少故障的威脅。4.3.2輪詢輸入另一個想法是通過對輸入引腳進行多次讀取,并用讀取結果的平均值作為正確值來進行噪聲濾除。一個按鍵的典型應用是在軟件中輪詢,然后按照10ms的周期再讀幾次,以確保真實的按鍵動作發生。這種形式的輪詢被稱為去抖保護。對高頻輪詢,下面是一個HC05的代碼。BSR Read_RX_pinRead_RX_pin:not_a_one: BRSET RX, PortA, not_a_zeroBRSET

23、RX, PortA, not_a_zeroBRSET RX, PortA, not_a_zero* 一個邏輯0被讀取了三次,所以這是一個0RTSnot_a_zero: BRCLR RX, PortA, not_a_oneBRCLR RX, PortA, not_a_oneBRCLR RX, PortA, not_a_one* 一個邏輯1被讀取了3次,所以這是一個0RTS這個程序將會快速連續地讀取端口。如果對端口的三次讀取都是一樣的,那么CPU將會在讀取時返回進位標志,它是HC05 CPU的BRSET和BRCLR的一個固有特征。這個程序的問題是:如果輸入引腳處在一個噪聲很強的環境中,CPU可能會

24、在中斷程序中持續很長時間,這會影響系統的實時性。一個更好的程序是對輸入引腳進行幾次讀取,并增加寄存器值。如果寄存器的值小于一個數,那么視輸入為0,反之為1。這個中斷程序總能在有限時間退出,保證了應用的所有功能不受阻礙。Read_RX_pin:CLRA ;clear AccumulatorLDX #$06 ;X register is loaded with number of readsBRCLR RX, PortA, no_incINCADECXBNE Read_againRTS* main *JSR Read_RX_pinCMPA #3BLO it_was_zeroBHI it_was_o

25、ne4.3.3令牌傳遞在關鍵的任務中,令牌傳遞保證了以一種受控制的方式進入任務,而不是一種失控的情況。一個令牌傳遞的簡單示例如圖9。這個令牌使用了RAM中的一個未用位置。在應用程序中的特定的時間間隔,軟件會輪流的向這些未用的RAM中寫入1。在一個關鍵的任務運行前,會對循環寫1的結果進行檢查。如果測試通過,任務將會執行。如果測試失敗,MCU則是通過一個意料之外的跳轉進入任務,此時將會發生一個向初始化程序的跳轉。圖9 令牌傳遞的簡單例子4.3.4未用存儲器在大多數應用中,一些程序存儲器可能未用。如果在某些情況下,程序計數器被破壞并跳轉到未用的存儲器中,那么將會做出一些可能的控制。如果我們在未用的存

26、儲器中放入SWI程序,那么任何對未用區域的無意存取將會導致MCU取得SWI中斷向量。在MCU應用中有其他功能需要SWI中斷時,可以根據這里的例子對未用區域進行填充。ORG $3600Unused_area: 9D NOP9D NOPCC 21 21 JMP Known_place9D NOP9D NOPCC 21 21 JMP Known_placeetc.ORG $2121Known_place: CC 01 00 JMP Reset_routine注意:未用的區域被9D指令和一個到Know_place的條件跳轉填充。當MCU進入這個已知的地方將被迫跳轉到一個初始化程序。4.4測試免疫性能今

27、天許多EMC檢測中心會在電子產品上做免疫和輻射測試,這是由產品要進入的國家要求的。通常這些測試會在幾天時間完成。如果產品沒有通過測試,需要的花費和設計時間會增加,這將延遲產品的上市時間。為了避免違反EMC規則,可以在實驗室環境做一些低成本的測試。對MCU應用,兩種類型的傳導測試可以給出最好的結果。如果MCU應用通過了傳導免疫測試,這個應用是不大可能通不過輻射免疫測試的。4.4.1靜電放電槍靜電放電槍是一個相對便宜的可以幫助發現數字電路中的高頻感應性的工具。使用這種槍最初是為了保證設計不會被高壓靜電損毀。高壓靜電是人體產生,并通過接觸放電的。我們可以得到電池供電的便攜式靜電放電槍,且通過編程智能地設定不同的工作電壓數量級。因為便攜性,EMS槍可以用在許多應用的免疫性能測試中。ESD槍通常為用戶提供了兩種類型的尖端:空氣放電尖端和接觸放電尖端(如圖10)。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論