《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 單片機(jī)系統(tǒng)設(shè)計(jì)的誤區(qū)與對(duì)策

單片機(jī)系統(tǒng)設(shè)計(jì)的誤區(qū)與對(duì)策

2009-04-13
作者:王柏林

??? 摘? 要:電磁兼容性理論剖析了單片機(jī)系統(tǒng)設(shè)計(jì)中的某些傳統(tǒng)觀念,指出其過(guò)時(shí)和失誤之處,給出了根據(jù)電磁兼容性理論設(shè)計(jì)單片機(jī)系統(tǒng)的新理念,還給出了雙時(shí)限看門狗、定時(shí)復(fù)位看門狗、抗快速脈沖群濾波器、電磁兼容PCB等新的設(shè)計(jì)方法。?

??? 關(guān)鍵詞: 單片機(jī)?? 電磁兼容性(EMC)? 電磁干擾(EMI)? 看門狗(WatchDog)

?

??? 單片機(jī)系統(tǒng)在軍事、工業(yè)、民用產(chǎn)品中的應(yīng)用越來(lái)越廣。它將許多以往用硬件實(shí)現(xiàn)的功能由軟件來(lái)完成,體積小巧、功能豐富、智能化程度高,但在可靠性方面也面臨許多新問(wèn)題。用現(xiàn)代電磁兼容性(EMC)理論剖析單片機(jī)系統(tǒng)設(shè)計(jì)中的某些傳統(tǒng)觀念,會(huì)發(fā)現(xiàn)許多誤區(qū),并且有些誤區(qū)至今還在工程界廣為存在。?

1 誤區(qū)之一:有了看門狗就不會(huì)死機(jī)?

??? 死機(jī)是指CPU的程序指針進(jìn)入一個(gè)死循環(huán),無(wú)法執(zhí)行正常的程序流程。其外在表現(xiàn)常常是:正常功能喪失,按鍵無(wú)響應(yīng),顯示凝固。單片機(jī)死機(jī)后,只有復(fù)位才能走出死循環(huán),執(zhí)行正常的程序流程。眾所周知,克服死機(jī)的最有效手段是加看門狗(WatchDog)。?

??? 目前用得最廣泛的看門狗實(shí)際上是一個(gè)特殊的定時(shí)器DogTimer。DogTimer 按固定速率計(jì)時(shí),計(jì)滿預(yù)定時(shí)間就發(fā)出溢出脈沖使單片機(jī)復(fù)位。如果每次在DogTimer溢出前強(qiáng)行讓DogTimer清零,就不會(huì)發(fā)出溢出脈沖。清零脈沖由CPU發(fā)出,在單片機(jī)程序中每隔一段語(yǔ)句放一個(gè)清DogTimer的語(yǔ)句——FeedDog語(yǔ)句,以保證程序正常運(yùn)行時(shí)DogTimer不會(huì)溢出。一旦程序進(jìn)入一個(gè)不含F(xiàn)eedDog語(yǔ)句的死循環(huán),DogTimer將溢出,導(dǎo)致單片機(jī)復(fù)位,跳出這個(gè)死循環(huán)。本文稱這種看門狗為典型看門狗,典型看門狗已被集成化,如MAX706、MAX791等[1];還有許多單片機(jī)本身集成了這種看門狗,如PIC16C57、MC68HC705等,具體電路可參閱這些芯片的技術(shù)資料[2]。?

??? 有一個(gè)錯(cuò)誤觀點(diǎn):加了看門狗,單片機(jī)就不會(huì)死機(jī)。實(shí)際上,看門狗有時(shí)會(huì)完全失效。當(dāng)程序進(jìn)入某個(gè)死循環(huán),而這個(gè)死循環(huán)中又包含F(xiàn)eedDog語(yǔ)句,這時(shí)DogTimer始終不會(huì)溢出,單片機(jī)始終得不到復(fù)位信號(hào),程序也就始終跳不出這個(gè)死循環(huán)。針對(duì)這一弊端,筆者設(shè)計(jì)了雙時(shí)限看門狗和定時(shí)復(fù)位看門狗。?

??? 雙時(shí)限看門狗有兩個(gè)定時(shí)器:一個(gè)為短定時(shí)器,一個(gè)為長(zhǎng)定時(shí)器。短定時(shí)器定時(shí)為T1,長(zhǎng)定時(shí)器定時(shí)為T2,0

??? 這樣,當(dāng)程序進(jìn)入某個(gè)死循環(huán),如果這個(gè)死循環(huán)包含短定時(shí)器FeedDog語(yǔ)句而不包含長(zhǎng)定時(shí)器FeedDog語(yǔ)句,那么長(zhǎng)定時(shí)器終將溢出,使單片機(jī)復(fù)位。巧妙安排長(zhǎng)定時(shí)器FeedDog語(yǔ)句的位置,可保證出現(xiàn)死機(jī)的概率極低。在水輪發(fā)電機(jī)組微機(jī)控制裝置中的對(duì)比應(yīng)用證明了這一點(diǎn)[3]。?

??? 目前幾乎所有的看門狗都是依賴于CPU(依賴于CPU FeedDog)。這可以比作:一個(gè)保險(xiǎn)設(shè)備能否起到保險(xiǎn)作用還依賴于被它保護(hù)的對(duì)象的行為。顯然,依賴于CPU的看門狗是不能保證單片機(jī)百分之百不死機(jī)的。?

??? 在絕對(duì)不允許死機(jī)的裝置中,筆者設(shè)計(jì)了一種完全不依賴于CPU的看門狗——定時(shí)復(fù)位看門狗。定時(shí)復(fù)位看門狗的主體也是一個(gè)定時(shí)器,到預(yù)定時(shí)間就發(fā)出溢出脈沖,此溢出脈沖使單片機(jī)強(qiáng)行復(fù)位。定時(shí)復(fù)位看門狗不需要CPU FeedDog。?

??? 簡(jiǎn)言之,定時(shí)復(fù)位看門狗就是定時(shí)地讓單片機(jī)強(qiáng)行復(fù)位。這樣,即使裝置死機(jī),其最大死機(jī)時(shí)間也不會(huì)大于定時(shí)器的定時(shí)時(shí)間。顯然,只要硬件完好,這種看門狗百分之百地保證了單片機(jī)不會(huì)長(zhǎng)時(shí)間死機(jī)。在智能電表(包括IC卡電能表、復(fù)費(fèi)率電能表、多功能電能表[4])中采用了定時(shí)復(fù)位看門狗,每1秒讓CPU強(qiáng)行復(fù)位,迄今數(shù)十萬(wàn)電表運(yùn)行了近五年,無(wú)一例死機(jī)報(bào)告。?

??? 必須指出,采用這種看門狗,CPU的編程要適應(yīng)定時(shí)復(fù)位的環(huán)境,保證定時(shí)復(fù)位不打斷那些不能打斷的程序,不造成任何誤動(dòng)作。?

2 誤區(qū)之二:加電源濾波器能提高EMC性能?

??? 在單片機(jī)系統(tǒng)中,為了抑制電磁干擾(EMI),常常在交流電源進(jìn)線與電源變壓器之間加電源濾波器。常用的電源濾波器如圖1。?

?

?

??? 圖1都是雙П型LC濾波器,其中C0專用于旁路差模干擾。兩者的不同之處在于:圖1(b)兩個(gè)電容接大地。設(shè)電感的電阻為R,它們的幅頻特性分別是:?

?????

??? 當(dāng)R很小時(shí),上述兩個(gè)濾波器的諧振頻率分別為:?

?????

??? 可見(jiàn),它們的幅頻特性相似,諧振頻率不同。從濾波效果來(lái)看,兩者對(duì)于降低來(lái)自交流電的差模干擾效果差不多,但是后者對(duì)于降低共模干擾效果更好。不過(guò),對(duì)于采用浮地方式的裝置,由于電容不可能直正接到大地,所以只能用前者。?

??? 設(shè)計(jì)濾波器時(shí)必須注意讓諧振頻率遠(yuǎn)小于干擾頻率,處理不好不僅不能衰減干擾,反而放大干擾。以圖1(a)的雙П型濾波器為例,如果取L=1mh,R=1Ω,C=0.47μF(這是許多資料推薦的參數(shù)),可計(jì)算出f0=5.2kHz。而EMC測(cè)試中的快速脈沖群頻率是5.0kHz(2kV)或2.5kHz(4kV);5.0kHz剛好諧振,2.5kHz也不會(huì)被衰減,如圖2虛線所示??梢?jiàn),不是所有的電源濾波器都能提高EMC性能。工程中,許多裝置盡管采用了成本不菲的濾波器,但EMC測(cè)試仍難通過(guò),原因大多在此。

?

?

??? 實(shí)際上,如果取L=30mh,R=5Ω,C=0.47μF,可計(jì)算出f0=0.95kHz,5.0kHz脈沖群幅值衰減為3.73%,2.5kHz脈沖群幅值衰減為16.78%。這時(shí),電源濾波器確實(shí)提高了系統(tǒng)的EMC性能。圖2實(shí)線是相應(yīng)的幅頻特性。?

3 誤區(qū)之三:光偶器件隔離干擾很徹底?

??? 光偶器件是最常用的隔離干擾器件。例如現(xiàn)場(chǎng)的開關(guān)量引到測(cè)控裝置后都要加光隔,以切斷來(lái)自現(xiàn)場(chǎng)的傳導(dǎo)干擾;RS485通訊口經(jīng)光隔再與外部通訊線連接,防止來(lái)自外部通訊線的傳導(dǎo)干擾。?

??? 有不少人認(rèn)為:光偶器件隔離干擾很徹底,用了光偶隔離干擾就過(guò)不去了。其實(shí),光電隔離并非萬(wàn)全之策。

??? 首先,光偶器件本身只能隔離傳導(dǎo)干擾,它隔離不斷幅射、感應(yīng)干擾。幅射來(lái)自空間,感應(yīng)來(lái)自相鄰的導(dǎo)體。最常見(jiàn)的敗筆是:設(shè)計(jì)PCB時(shí)將光偶器件的輸入和輸出電路布在了一起,這時(shí)干擾從光偶器件是過(guò)不去了,但卻很容易經(jīng)輸入電路感應(yīng)到輸出電路。?

??? 其次,光偶器件隔離傳導(dǎo)干擾的能力也只有1kV左右,1kV以上的干擾或浪涌一般是力所不能及的。比如EMC的快速脈沖群測(cè)試,施加的干擾信號(hào)幅值是2kV、4kV、8kV,光偶器件是無(wú)法隔離的。?

4 誤區(qū)之四:PCB布線要橫平豎直?

??? 提起PCB布線,許多工程技術(shù)人員都知道一個(gè)傳統(tǒng)的經(jīng)驗(yàn):正面橫向走線、反面縱向走線,橫平豎直,既美觀又短捷;還有一個(gè)傳統(tǒng)經(jīng)驗(yàn)是:只要空間允許,走線越粗越好??梢悦鞔_地說(shuō),這些經(jīng)驗(yàn)在注重EMC的今天已經(jīng)過(guò)時(shí)。?

??? 要使單片機(jī)系統(tǒng)有良好的EMC性能,PCB設(shè)計(jì)十分關(guān)鍵。一個(gè)具有良好的EMC性能的PCB,必須按高頻電路來(lái)設(shè)計(jì)——這是反傳統(tǒng)的。單片機(jī)系統(tǒng)按高頻電路來(lái)設(shè)計(jì)PCB的理由在于:盡管單片機(jī)系統(tǒng)大部分電路的工作頻率并不高,但是EMI的頻率是高的,EMC測(cè)試的模擬干擾頻率也是高的[5]。要有效抑制EMI,順利通過(guò)EMC測(cè)試,PCB的設(shè)計(jì)必須考慮高頻電路的特點(diǎn)。PCB按高頻電路設(shè)計(jì)的要點(diǎn)是:?

??? (1)要有良好的地線層。良好的地線層處處等電位,不會(huì)產(chǎn)生共模電阻偶合,也不會(huì)經(jīng)地線形成環(huán)流產(chǎn)生天線效應(yīng);良好的地線層能使EMI以最短的路徑進(jìn)入地線而消失。建立良好的地線層最好的辦法是采用多層板,一層專門用作地線層;如果只能用雙面板,應(yīng)當(dāng)盡量從正面走線,反面用作地線層,不得已才從反面過(guò)線。?

??? (2)保持足夠的距離。對(duì)于可能出現(xiàn)有害耦合或幅射的兩根線或兩組線要保持足夠的距離,如濾波器的輸入與輸出、光偶的輸入與輸出、交流電源線與弱信號(hào)線等。?

??? (3)長(zhǎng)線加低通濾波器。走線盡量短捷,不得已走的長(zhǎng)線應(yīng)當(dāng)在合理的位置插入C、RC或LC低通濾波器。?

??? (4)除了地線,能用細(xì)線的不要用粗線。因?yàn)镻CB上的每一根走線既是有用信號(hào)的載體,又是接收幅射干擾的天線,走線越長(zhǎng)、越粗,天線效應(yīng)越強(qiáng)。?

5 誤區(qū)之五:IC芯片的封裝形式不影響性能?

??? 眾所周知,IC芯片的封裝有貼片式和雙列直插式之分。一般認(rèn)為:貼片式和雙列直插式的區(qū)別主要是體積不同和焊接方法不同,對(duì)系統(tǒng)性能影響不大。其實(shí)不然。?

??? 前面說(shuō)到,PCB上的每一根走線都存在天線效應(yīng)?,F(xiàn)在要說(shuō),PCB上的每一個(gè)元件也存在天線效應(yīng),元件的導(dǎo)電部分越大,天線效應(yīng)越強(qiáng)。所以,同一型號(hào)芯片,封裝尺寸小的比封裝尺寸大的天線效應(yīng)弱。這就解釋了許多工程師已經(jīng)注意到的一個(gè)現(xiàn)象:同一裝置,采用貼片元件比采用雙列直插元件更易通過(guò)EMC測(cè)試。?

??? 此外,天線效應(yīng)還跟每個(gè)芯片的工作電流環(huán)路有關(guān)。要削弱天線效應(yīng),除了減小封裝尺寸,還應(yīng)盡量減小工作電流環(huán)路尺寸、降低工作頻率和di/dt。留意最新型號(hào)的IC芯片(尤其是單片機(jī))的管腳布局會(huì)發(fā)現(xiàn):它們大多拋棄了傳統(tǒng)方式——左下角為GND右上角為VCC,而將VCC和GND安排在相鄰位置,就是為了減小工作電流環(huán)路尺寸。?

??? 實(shí)際上,不僅是IC芯片,電阻、電容封裝也與EMC有關(guān)。用0805封裝比1206封裝有更好的EMC性能,用0603封裝又比0805封裝有更好的EMC性能。目前國(guó)際上流行的是0603封裝。?

參考文獻(xiàn)?

1 美信集成產(chǎn)品公司北京辦事處.產(chǎn)品資料全集,2000。?

2 Microchip Technology Inc.Microchip Technical Library?CD.ROM,2000.?

3 王柏林.水輪發(fā)電機(jī)組的模型參考自適應(yīng)控制.自動(dòng)化學(xué)報(bào),1989;(6)?

4 王柏林.一種用于配電自動(dòng)化系統(tǒng)的多功能電能表.電力系統(tǒng)自動(dòng)化.2000;(24)?

5 陳淑鳳.電磁兼容試驗(yàn)技術(shù).北京:北京郵電大學(xué)出版社,?2001.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。