




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)的電磁兼容性設(shè)計(jì)This paper discusses how to design a consideration of electromagnetic compatibility of the MCU application system.Now almost every consumer electronics, automotive, industrial application has a MCU, and in most cases is to use cheap, single chip MCU.Single chip microcomputer application s
2、ystem is the ideal choice, because of its flexibility and integration.A typical microcomputer with CPU, RAM, ROM and IO, and can have as an analog-to-digital conversion module, LCD drive, based on the television screen display, application based on telephone DTMF generator, AC motor drive circuit, E
3、EPROM customization function module.1背景知識(shí)本文討論了如何設(shè)計(jì)一個(gè)考慮電磁兼容性的MCU應(yīng)用系統(tǒng)?,F(xiàn)在幾乎每一個(gè)消費(fèi)電子、汽車、工業(yè)應(yīng)用都有一個(gè)MCU在內(nèi),且在多數(shù)情況下都是采用廉價(jià)、單芯片的MCU。單片機(jī)是這些應(yīng)用系統(tǒng)的理想選擇,由于它具有靈活性和集成性。典型的單片機(jī)具有CPU、RAM、ROM和IO口,并且可以具有如模數(shù)轉(zhuǎn)換模塊、LCD驅(qū)動(dòng)、基于電視應(yīng)用的屏幕顯示、基于電話的DTMF發(fā)生器、交流電機(jī)驅(qū)動(dòng)電路、EEPROM等定制的功能模塊。由于單片機(jī)功能增加且變得越來(lái)越復(fù)雜。隨著市場(chǎng)價(jià)格的下降,MCU生產(chǎn)商必須不斷地減少他們的制造成本。減小片上晶體管和門的
4、大小可以實(shí)現(xiàn)這一點(diǎn),而且還可以幫助生產(chǎn)出能夠工作在更高頻率上的MCU。當(dāng)一個(gè)晶體管減小,其狀態(tài)轉(zhuǎn)換時(shí)間將會(huì)減少。根據(jù)傅里葉分析,信號(hào)的邊沿快速變化會(huì)產(chǎn)生諧波信號(hào),這些信號(hào)被放大會(huì)引起輻射問(wèn)題。同樣的,如果器件具有很快的轉(zhuǎn)換時(shí)間,它們會(huì)對(duì)到來(lái)的更快的信號(hào)產(chǎn)生作用。高頻噪聲尖峰和錯(cuò)誤信號(hào),將會(huì)引起門狀態(tài)的轉(zhuǎn)變。大多數(shù)現(xiàn)代MCU工作的速度在2MHz到40MHz范圍內(nèi),內(nèi)部的器件具有從幾納秒到低于一納秒不等的轉(zhuǎn)換速度,這使它們具有潛在的EMC問(wèn)題。2 EMC電磁兼容性許多電子線路相互靠近,保證它們不會(huì)被外部噪聲源影響,并且這些電路本身不會(huì)成為噪聲源而影響到其他電路是必要的。這種關(guān)系被稱之為電磁兼容性。
5、EMC問(wèn)題可以分為輻射問(wèn)題和感受問(wèn)題。輻射問(wèn)題和感受問(wèn)題都會(huì)具有傳導(dǎo)性質(zhì)或輻射性質(zhì)。例如,圖1所示是一個(gè)辦公室復(fù)印機(jī)發(fā)射射頻信號(hào)到外界環(huán)境的案例。這種射頻信號(hào)引起了監(jiān)視器的顯示故障,是一個(gè)輻射EMC問(wèn)題。類似的,復(fù)印機(jī)輻射噪聲到電力電源線上,反過(guò)來(lái)傳導(dǎo)到電腦監(jiān)視器電力電源線上,從而以傳導(dǎo)方式引起了故障。由于設(shè)計(jì)不合理和較強(qiáng)的射頻噪聲輻射,監(jiān)視器可以被視為復(fù)印機(jī)電磁干擾的受害者??梢哉J(rèn)為監(jiān)視器的設(shè)計(jì)存在缺陷,并且不能處理存在于電子辦公設(shè)備中的背景環(huán)境噪聲。圖1 電磁兼容性案例3辨別一個(gè)EMC問(wèn)題在早期或全面生產(chǎn)產(chǎn)品的時(shí)候發(fā)現(xiàn)一個(gè)EMC問(wèn)題具有很高的價(jià)值,這可能導(dǎo)致PCB板的重新設(shè)計(jì)。因此,在設(shè)計(jì)
6、的初期就應(yīng)該考慮產(chǎn)品EMC。然而,無(wú)論在什么階段發(fā)現(xiàn)了EMC問(wèn)題,要問(wèn)的第一個(gè)問(wèn)題是:“這個(gè)EMC問(wèn)題是輻射問(wèn)題還是感受問(wèn)題?”理所當(dāng)然,接下來(lái)應(yīng)該問(wèn):“是MCU輻射出噪聲對(duì)其他電路造成影響還是外部產(chǎn)生的噪聲引起了MCU的異常舉動(dòng)?”3.1輻射問(wèn)題來(lái)自于數(shù)字信號(hào)源的輻射通常是由高頻時(shí)鐘產(chǎn)生的高頻諧波。這些輻射一般由電源和數(shù)字信號(hào)回路的開關(guān)電流以及主電源轉(zhuǎn)換為數(shù)字電源時(shí)的開關(guān)電流的輻射引起。這些開關(guān)電流循環(huán)流動(dòng)就像小天線,并輻射出差模磁場(chǎng)。此外,任何電阻的和電感的路徑會(huì)導(dǎo)致電路中電壓下降,這將使電路中的某些部分處在一個(gè)相對(duì)于地的共模電位上。如果一個(gè)輻射問(wèn)題存在于一個(gè)單片機(jī)應(yīng)用中,那么PCB設(shè)計(jì)最
7、有可能是問(wèn)題的主要原因,因?yàn)楣杵系沫h(huán)路面積數(shù)量級(jí)要比在PCB上的小得多。輻射可能來(lái)自電源,因?yàn)閿?shù)字芯片中的所有電流都從這里通過(guò)。端口引腳被設(shè)計(jì)得具有更高的驅(qū)動(dòng)能力,因此尺寸通常偏大,這使得電容增大以確保數(shù)字信號(hào)的轉(zhuǎn)變比內(nèi)部門電路的轉(zhuǎn)變要慢些。因?yàn)槎丝谝_通常是由軟件控制的,他們的轉(zhuǎn)變要比MCU內(nèi)部電路的轉(zhuǎn)變慢一些。這就意味著端口引腳通常不存在輻射問(wèn)題。唯一的例外是當(dāng)端口引腳驅(qū)動(dòng)大電流的情況,這里的磁場(chǎng)強(qiáng)度正比于開關(guān)電流,也正比于回路天線面積。解決問(wèn)題的方法是減小電流或者減小回路面積。在大多數(shù)情況,改變的是環(huán)路面積。MCU最快的外部基準(zhǔn)頻率是晶振電路頻率。如果使用晶振電路,那么這個(gè)信號(hào)通常近似
8、于正弦波。因?yàn)榫д耠娐泛苄?,且信?hào)近似正弦波,高次諧波衰減很大,因此不會(huì)影響其他電路。如果時(shí)鐘來(lái)源于外部,要注意信號(hào)的路徑盡可能的靠近地線平面以最大限度減小環(huán)路。對(duì)帶有外部存儲(chǔ)設(shè)備甚至微處理器的MCU,輻射的問(wèn)題可能更加嚴(yán)重。舉例來(lái)說(shuō),在這時(shí)主要的噪聲源是使外部存儲(chǔ)器工作的時(shí)鐘,它的轉(zhuǎn)換很快,布線沒(méi)有經(jīng)過(guò)思考而且具有很長(zhǎng)的地環(huán)路。這使得時(shí)鐘信號(hào)就像是一個(gè)很強(qiáng)的環(huán)形天線,它輻射時(shí)鐘信號(hào)和高次諧波。低位地址和數(shù)據(jù)線沒(méi)有正確放置同樣會(huì)引發(fā)一些問(wèn)題,但是減小電流環(huán)路會(huì)有明顯的幫助。3.2感受問(wèn)題大多數(shù)MCU采用CMOS技術(shù)設(shè)計(jì)且按門閂和觸發(fā)器原理工作從而構(gòu)成更加復(fù)雜的功能。因?yàn)樗鼈兊耐教匦?,一個(gè)壞的
9、時(shí)鐘電平很容易造成故障。任何CMOS器件都具有一個(gè)噪聲容限,如果超過(guò)該容限將會(huì)導(dǎo)致故障。故障通常有這四類型:1. MCU暫時(shí)出現(xiàn)障礙,然后自行恢復(fù)。2. MCU發(fā)生故障,然后中斷或者復(fù)位以恢復(fù)正常。3. MCU發(fā)生故障斷電,然后通過(guò)上電進(jìn)行恢復(fù)。4. MCU發(fā)生故障且發(fā)生閂鎖效應(yīng)從而導(dǎo)致永久的損壞。如果故障屬于1和2類,這可能不會(huì)引起注意,由于這兩類故障的發(fā)生無(wú)規(guī)律,終端用戶可能永遠(yuǎn)看不到。然而,如果故障屬于3和4類,它一定會(huì)被看做一個(gè)免疫問(wèn)題并且不會(huì)被任何制造商接受。第四類故障在其領(lǐng)域類內(nèi)的第一次發(fā)生是有必要的,因?yàn)樵谠O(shè)計(jì)階段發(fā)生的故障會(huì)使得產(chǎn)品發(fā)布停止。如果在產(chǎn)品的設(shè)計(jì)階段沒(méi)有進(jìn)行EMC測(cè)
10、試,這類故障將會(huì)是無(wú)法預(yù)測(cè)的。4解決電磁兼容性問(wèn)題通過(guò)給予以下三個(gè)方面特別的關(guān)注能夠使所有MCU應(yīng)用的電磁兼容性得到提高:1. PCB布局2. 看門狗電路3. 防御性編程4.1 PCB布局PCB布局是MCU免疫故障最普遍的誘發(fā)因素。通過(guò)關(guān)注MCU的三個(gè)關(guān)鍵地方,可以提它的高電磁兼容性。這三個(gè)關(guān)鍵地方是:1. 電源布線2. 晶振電路3. 輸入引腳4.1.1電源電源上的任何噪聲無(wú)疑會(huì)引起故障發(fā)生。如果VDD或者VSS線不穩(wěn)定,那么內(nèi)部電路(如觸發(fā)器和反相器)可能會(huì)改變狀態(tài),從而導(dǎo)致故障發(fā)生。同樣的,如果有電流發(fā)生大的、快速的變化,那么可能會(huì)發(fā)生較強(qiáng)的輻射。一般來(lái)說(shuō),任何不需要的高頻信號(hào)必須通過(guò)到地
11、的低阻抗路徑得到衰減。因?yàn)樗械男盘?hào)電流都會(huì)流過(guò)VSS和VDD,所以信號(hào)線應(yīng)該盡量靠近VDD和VSS以減小電流環(huán)路面積。采用具有地線層和電源層的多層PCB板總能達(dá)到較好的效果,因?yàn)檫@總能將所有電流環(huán)路的面積減到最小,并且減小信號(hào)線之間的互感。在低成本的應(yīng)用中,一般的多層PCB板是縮減成本的關(guān)鍵,因此經(jīng)常使用雙面或單面板。因此,為了對(duì)抗電磁兼容性問(wèn)題,需要對(duì)PCB設(shè)計(jì)的其他方面給予更多的關(guān)注。確保地線和電源線盡可能寬,退耦盡可能地靠近單片機(jī)能減少互感。細(xì)導(dǎo)線對(duì)高頻電流具有高阻抗,這意味著電流通過(guò)它們將會(huì)產(chǎn)生潛在的差異。對(duì)于變化快的電流(這取決于器件的直流電源是怎樣產(chǎn)生的)可以通過(guò)確保VSS和VD
12、D到大地具有低阻抗路徑來(lái)提高電磁兼容性。用交流電力電源變換產(chǎn)生直流電源最一般的方法如圖2所示。交流電力電源通過(guò)降壓得到一個(gè)較小的交流信號(hào),經(jīng)過(guò)橋式整流得到直流電壓,然后通過(guò)濾波或平滑,再通過(guò)電壓調(diào)節(jié)器。在這種情況下,任何金屬附件都要連接到地線上。由于退耦電容的存在,高頻信號(hào)在VDD和VSS的電位將會(huì)是一樣的。在圖2中開關(guān)電流到大地的低阻抗路徑是VSS路徑。圖2 交流電力電源變換成直流電源的典型方法注意如果附件之間的連接不良,那么較高的地阻抗將會(huì)導(dǎo)致較高的差模電壓。這反過(guò)來(lái)又會(huì)帶來(lái)更壞的結(jié)果。對(duì)這個(gè)電路,任何高頻信號(hào)線應(yīng)該和VSS進(jìn)行退耦以避免串?dāng)_和輻射。在一些低成本的應(yīng)用中,直流電源的產(chǎn)生略有
13、不同。一個(gè)替代電路如圖3所示。圖中一個(gè)耐高壓的二極管和電容被連接到電力電源上組成一個(gè)半波整流器。然后通過(guò)一個(gè)平滑電容消除紋波,一個(gè)齊納二極管連接到電力電源上,它的陽(yáng)極處于浮地狀態(tài)。圖3 低成本的交流電力電源變換成直流電源的方法此時(shí),到大地的低阻抗路徑是通過(guò)帶電的電力線的VDD電源線。在這種情況下,在高頻信號(hào)線與VSS地線間進(jìn)行退耦對(duì)單片機(jī)的電磁兼容性將起不到幫助。在一定程度上,對(duì)這種類型的電路,在高頻信號(hào)線和VDD電源線間進(jìn)行退耦會(huì)更加合理。電源上的退耦不充分是一個(gè)常見的故障。在電源間連接一個(gè)0.1uF的標(biāo)準(zhǔn)電容是很平常的。這個(gè)電容對(duì)低頻噪聲很有效,而且保證MCU有一個(gè)良好、穩(wěn)定的電流供給。但
14、是,如果MCU工作在40MHz及以上頻率時(shí)存在輻射或者免疫問(wèn)題,那么0.1uF的電容可能不會(huì)對(duì)減少衰減起到很大作用。因?yàn)樗械碾娙菁幢闶遣捎肧OIC封裝都具有一個(gè)內(nèi)部電感和引線電感,一個(gè)典型的退耦電容具有大約5nH的電感。這意味著并聯(lián)諧振會(huì)在大約7MHz的頻率上發(fā)生,在感抗后它將成為高頻中的主要成分。在盡可能靠近電源線的位置安裝一個(gè)1到10nF的電感可以得到一個(gè)好的結(jié)果(諧振頻率將高于20MHz)。在設(shè)計(jì)單層PCB板時(shí),選擇合適的退耦電容可以對(duì)它的電磁兼容性產(chǎn)生重要的影響。4.1.2晶振晶振電路(如圖4)由一個(gè)連接到晶體振蕩器或陶瓷振蕩器的反相器組成,這個(gè)反相器是位于MCU內(nèi)部的。連接在上面的
15、還有一個(gè)反饋電阻和一些小容值退藕電容(用于減少由壓電設(shè)備產(chǎn)生的諧波的)。圖4 典型的振蕩電路MCU內(nèi)部的反相器具有高輸入阻抗和輸出阻抗。它的輸出驅(qū)動(dòng)能力低,以保證不會(huì)對(duì)晶體造成損壞。振蕩器的輸出同時(shí)到達(dá)另一個(gè)緩沖器然后到預(yù)分頻器。分頻器對(duì)振蕩器時(shí)鐘進(jìn)行2分頻,為內(nèi)部CPU提供了一個(gè)穩(wěn)定的50%占空比的時(shí)鐘。CPU通過(guò)高速轉(zhuǎn)變建立地址并在下降沿捕捉數(shù)據(jù)。設(shè)計(jì)的工作在2MHz時(shí)鐘下的CPU可以在4MHz時(shí)鐘下工作。MCU的速度限制是由CPU的功能來(lái)決定的。如果振蕩電路中存在任何的噪聲,那么CPU故障可能會(huì)發(fā)生。故障的原因如圖5所示。在圖5(A)中的是所希望的振蕩時(shí)鐘,通過(guò)分頻器可以為CPU提供50
16、%占空比的周期信號(hào)。在圖5(B)中的是晶振電路中混有噪聲尖波的結(jié)果,這導(dǎo)致了CPU的時(shí)鐘占空比不再是50%。這意味著CPU不能夠正確的為程序計(jì)數(shù)器建立地址或者不能取得正確的數(shù)據(jù),結(jié)果導(dǎo)致CPU程序跑飛。如果噪聲波尖只出現(xiàn)了一次,那么通過(guò)看門狗執(zhí)行一次復(fù)位動(dòng)作就能夠使CPU恢復(fù)正常工作。圖5 振蕩電路中的毛刺的影響確保振蕩器設(shè)計(jì)在最干凈的電磁環(huán)境中可以通過(guò)以下幾點(diǎn)得到實(shí)現(xiàn):1.保證晶體和其他振蕩器元件盡可能的靠近OSC1和OSC2引腳。避免過(guò)長(zhǎng)的PCB走線,因?yàn)殚L(zhǎng)的走線對(duì)存在于應(yīng)用中的高頻信號(hào)就如同一個(gè)天線。2.用一個(gè)可以減小回路面積的地線保護(hù)環(huán)路將振蕩電路圍起來(lái)。3.通過(guò)去耦使晶振電路到大地具
17、有最小的阻抗路徑。4.保持任何快變換信號(hào)遠(yuǎn)離振蕩器線路。圖6是一個(gè)典型的振蕩電路PCB布局圖6 MC68HC05P3典型的振蕩器PCB布局4.1.3輸入引腳保護(hù)輸入引腳同樣關(guān)鍵,特別是RESET和IRQ引腳。一個(gè)較高的IDD電流通常是一個(gè)標(biāo)志,顯示了輸入引腳懸空未用。這是由N溝道和P溝道晶體管門的影響所導(dǎo)致的。如果引腳懸空未用,其電平浮動(dòng)在VSS和VDD中間。在這種情況下,正反兩種器件都處于開啟狀態(tài),這使得VSS和VDD呈現(xiàn)出阻抗。因此,電流從這兩個(gè)晶體管中流過(guò)。經(jīng)過(guò)輸入緩沖后,預(yù)計(jì)一個(gè)電平將會(huì)占據(jù)主導(dǎo)并保證其后的門處在一個(gè)靜態(tài)的狀態(tài)。但是,任何噪聲在附近的波動(dòng)都會(huì)導(dǎo)致緩沖器輸出發(fā)生轉(zhuǎn)變,而后
18、使得其后的門狀態(tài)發(fā)生變化并導(dǎo)致功率消耗增加。如果緩沖器狀態(tài)轉(zhuǎn)換頻率足夠高,MCU內(nèi)部其他電路之間的串?dāng)_會(huì)導(dǎo)致故障發(fā)生。一般的,所有靠近高頻信號(hào)的輸入引腳應(yīng)該連接一個(gè)硬件低通濾波器或一些小的去耦電路。一般RESET引腳不會(huì)被懸空,因?yàn)樵谀欠N情況下MCU的工作將不正常。通常的情況是RESET引腳在PCB上是連接到其它的器件或者電路的。雖然RESET通過(guò)連接到一個(gè)上拉電阻避免了引腳的懸空,但是導(dǎo)線對(duì)于高頻信號(hào)就如同一個(gè)天線并且收集了足夠的能量形成了一個(gè)小的脈沖。這將導(dǎo)致對(duì)MCU進(jìn)行未知的或者部分的復(fù)位。規(guī)定的,RESET脈沖必須持續(xù)兩個(gè)CPU時(shí)鐘以上,以確保正確的復(fù)位。通過(guò)去耦使得這些引腳具有低阻抗
19、回路,并且去耦盡可能靠近引腳。這樣就可以對(duì)高頻噪聲進(jìn)行衰減。并提高M(jìn)CU的免疫性能。另外一點(diǎn)是盡量減少邊沿觸發(fā)中斷。如果中斷可以通過(guò)電平觸發(fā),那么這可以保證在中斷引腳上的噪聲不會(huì)引起不希望的動(dòng)作。如果不能通過(guò)電平觸發(fā),那么一旦進(jìn)入邊沿觸發(fā)方式的中斷就通過(guò)軟件檢測(cè)引腳的電平是否正確。這種方法是可行的。4.2看門狗電路看門狗電路通常被描述為必須由MCU在一定時(shí)間間隔進(jìn)行更新的硬件電路或者是引起MCU復(fù)位的電路。有一個(gè)外部的看門狗電路是最好的,因?yàn)樗?dú)立于MCU。如果MCU不能成功更新看門狗,那么看門狗電路就會(huì)給MCU一個(gè)復(fù)位信號(hào)??撮T狗通常包含一個(gè)硬件定時(shí)器。如果沒(méi)有來(lái)自MCU的更新或者報(bào)告信息,
20、定時(shí)器將會(huì)超時(shí)。圖7是一個(gè)簡(jiǎn)單的看門狗電路:圖7 外部看門狗電路在上電時(shí),MCU通過(guò)上電復(fù)位保持復(fù)位狀態(tài)??撮T狗的時(shí)鐘可能來(lái)自于外部時(shí)鐘源或者是MCU的晶振電路。當(dāng)MCU處在復(fù)位狀態(tài)時(shí),IO引腳作為輸入,計(jì)數(shù)器處于運(yùn)行狀態(tài)。如果Q為0并且C1充滿電,則MCU將退出復(fù)位狀態(tài)。MCU的第一任務(wù)是發(fā)出一個(gè)脈沖將計(jì)數(shù)器復(fù)位到已知的超時(shí)值。MCU的I/O口通過(guò)交流耦合以保證只有邊沿能再次觸發(fā)計(jì)數(shù)器。這保證了一個(gè)常值直流電平不會(huì)使MCU或看門狗喪失功能。在Q輸出變?yōu)?前,MCU必須發(fā)送一個(gè)脈沖確保MCU沒(méi)有復(fù)位。通常,MCU需要兩條軟件指令。另外一個(gè)最好的選擇是讓MCU有一個(gè)片上的看門狗(如圖8)。例如,
21、摩托羅拉的MC68HC705C8就自帶有包含可編程定時(shí)器的看門狗。它必須在大約32768個(gè)時(shí)鐘周期被更新,不然它將會(huì)產(chǎn)生一個(gè)內(nèi)部的復(fù)位信號(hào)。圖8 片上看門狗CM1/CM0位用于選擇超時(shí)周期。COPE位只能寫一次,在看門狗使能后除復(fù)位外的其他方式是不能使其喪失功能。COPE位是告知用戶復(fù)位信號(hào)是來(lái)自看門狗還是其他原因的一個(gè)標(biāo)志。刷新看門狗的順序是對(duì)COP復(fù)位寄存器(COPPRR)進(jìn)行兩次寫操作,其順序是往COPPRR寫入$AA后再寫入$55。并非所有的MCU在PCB板上都具有看門狗電路,但是有時(shí)軟件設(shè)計(jì)者可以使用未用的中斷實(shí)現(xiàn)自己的看門狗。例如MC68HC05P1沒(méi)有看門狗,但是有一個(gè)16為的自
22、由運(yùn)行的定時(shí)器。這個(gè)定時(shí)器可以在下列三種情況下產(chǎn)生中斷:1.定時(shí)器溢出(FFFF到0000)。2.輸出比較。(16位的寄存器和定時(shí)器的計(jì)數(shù)器比較)。3.在TCAP引腳上捕獲到一個(gè)上升或下降沿。例如,如果輸出比較中斷沒(méi)有生效,它可以用作一個(gè)假的看門狗。但是在這種情況下定時(shí)器將和輸出比較寄存器進(jìn)行比較,然后檢查系統(tǒng)的一切是否正常。如果系統(tǒng)運(yùn)行正常,程序就會(huì)從中斷中返回。如果出現(xiàn)異常,那么程序?qū)?huì)跳轉(zhuǎn)到初始化程序并對(duì)堆棧指針進(jìn)行重新設(shè)定。在程序中合理對(duì)看門狗進(jìn)行更新并不是一個(gè)簡(jiǎn)單的任務(wù),對(duì)看門狗的更新通常是程序結(jié)束前的最后一個(gè)步驟。通常,用戶需要為所用的中斷程序和子程序、關(guān)鍵的和非關(guān)鍵的應(yīng)用檢測(cè)軟件
23、流量和時(shí)序。理想情況下,在整個(gè)程序中進(jìn)行一次看門狗刷新是最好的,但是MCU包含大量的程序,因此這很少成功。如果可能,看門狗刷新程序不應(yīng)該放在中斷或子程序中,但是應(yīng)該放在主循環(huán)中。注意刷新頻率不要太高,不然從程序跑飛狀態(tài)中恢復(fù)的機(jī)會(huì)將會(huì)降低。4.3預(yù)防性編程通過(guò)簡(jiǎn)單的預(yù)防性編程,MCU的免疫性能可以得到很大限度的提高。預(yù)防性編程的優(yōu)點(diǎn)是實(shí)現(xiàn)費(fèi)用不高,如果實(shí)現(xiàn)正確還可以減少PCB布局在硬件上的花費(fèi)。4.3.1更新端口引腳預(yù)防性編程的一個(gè)最簡(jiǎn)單的例子是不斷地更新I/O引腳和重要的寄存器。在大多數(shù)MCU應(yīng)用中。軟件中會(huì)有一個(gè)按規(guī)律執(zhí)行的主循環(huán)。在結(jié)構(gòu)上,I/O引腳處在靠近焊盤的位置,并靠近集成芯片的邊
24、緣。當(dāng)特定幅度的噪聲受到MCU的支配,那么它將通過(guò)芯片邊緣傳播到硅上。這意味著在芯片邊沿的邏輯最容易受到外部噪聲的影響,例如輸入輸出電路。所以,通過(guò)在一定時(shí)間間隔對(duì)數(shù)據(jù)寄存器和數(shù)據(jù)方向寄存器進(jìn)行更新可以減少故障的威脅。4.3.2輪詢輸入另一個(gè)想法是通過(guò)對(duì)輸入引腳進(jìn)行多次讀取,并用讀取結(jié)果的平均值作為正確值來(lái)進(jìn)行噪聲濾除。一個(gè)按鍵的典型應(yīng)用是在軟件中輪詢,然后按照10ms的周期再讀幾次,以確保真實(shí)的按鍵動(dòng)作發(fā)生。這種形式的輪詢被稱為去抖保護(hù)。對(duì)高頻輪詢,下面是一個(gè)HC05的代碼。BSR Read_RX_pinRead_RX_pin:not_a_one: BRSET RX, PortA, not_
25、a_zeroBRSET RX, PortA, not_a_zeroBRSET RX, PortA, not_a_zero* 一個(gè)邏輯0被讀取了三次,所以這是一個(gè)0RTSnot_a_zero: BRCLR RX, PortA, not_a_oneBRCLR RX, PortA, not_a_oneBRCLR RX, PortA, not_a_one* 一個(gè)邏輯1被讀取了3次,所以這是一個(gè)0RTS這個(gè)程序?qū)?huì)快速連續(xù)地讀取端口。如果對(duì)端口的三次讀取都是一樣的,那么CPU將會(huì)在讀取時(shí)返回進(jìn)位標(biāo)志,它是HC05 CPU的BRSET和BRCLR的一個(gè)固有特征。這個(gè)程序的問(wèn)題是:如果輸入引腳處在一個(gè)噪聲很
26、強(qiáng)的環(huán)境中,CPU可能會(huì)在中斷程序中持續(xù)很長(zhǎng)時(shí)間,這會(huì)影響系統(tǒng)的實(shí)時(shí)性。一個(gè)更好的程序是對(duì)輸入引腳進(jìn)行幾次讀取,并增加寄存器值。如果寄存器的值小于一個(gè)數(shù),那么視輸入為0,反之為1。這個(gè)中斷程序總能在有限時(shí)間退出,保證了應(yīng)用的所有功能不受阻礙。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_zero
27、BHI it_was_one4.3.3令牌傳遞在關(guān)鍵的任務(wù)中,令牌傳遞保證了以一種受控制的方式進(jìn)入任務(wù),而不是一種失控的情況。一個(gè)令牌傳遞的簡(jiǎn)單示例如圖9。這個(gè)令牌使用了RAM中的一個(gè)未用位置。在應(yīng)用程序中的特定的時(shí)間間隔,軟件會(huì)輪流的向這些未用的RAM中寫入1。在一個(gè)關(guān)鍵的任務(wù)運(yùn)行前,會(huì)對(duì)循環(huán)寫1的結(jié)果進(jìn)行檢查。如果測(cè)試通過(guò),任務(wù)將會(huì)執(zhí)行。如果測(cè)試失敗,MCU則是通過(guò)一個(gè)意料之外的跳轉(zhuǎn)進(jìn)入任務(wù),此時(shí)將會(huì)發(fā)生一個(gè)向初始化程序的跳轉(zhuǎn)。圖9 令牌傳遞的簡(jiǎn)單例子4.3.4未用存儲(chǔ)器在大多數(shù)應(yīng)用中,一些程序存儲(chǔ)器可能未用。如果在某些情況下,程序計(jì)數(shù)器被破壞并跳轉(zhuǎn)到未用的存儲(chǔ)器中,那么將會(huì)做出一些可能的
28、控制。如果我們?cè)谖从玫拇鎯?chǔ)器中放入SWI程序,那么任何對(duì)未用區(qū)域的無(wú)意存取將會(huì)導(dǎo)致MCU取得SWI中斷向量。在MCU應(yīng)用中有其他功能需要SWI中斷時(shí),可以根據(jù)這里的例子對(duì)未用區(qū)域進(jìn)行填充。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注意:未用的區(qū)域被9D指令和一個(gè)到Know_place的條件跳轉(zhuǎn)填充。當(dāng)MCU進(jìn)入這個(gè)已知的地方將被迫跳轉(zhuǎn)到一個(gè)初始化程
29、序。4.4測(cè)試免疫性能今天許多EMC檢測(cè)中心會(huì)在電子產(chǎn)品上做免疫和輻射測(cè)試,這是由產(chǎn)品要進(jìn)入的國(guó)家要求的。通常這些測(cè)試會(huì)在幾天時(shí)間內(nèi)完成。如果產(chǎn)品沒(méi)有通過(guò)測(cè)試,需要的花費(fèi)和設(shè)計(jì)時(shí)間會(huì)增加,這將延遲產(chǎn)品的上市時(shí)間。為了避免違反EMC規(guī)則,可以在實(shí)驗(yàn)室環(huán)境做一些低成本的測(cè)試。對(duì)MCU應(yīng)用,兩種類型的傳導(dǎo)測(cè)試可以給出最好的結(jié)果。如果MCU應(yīng)用通過(guò)了傳導(dǎo)免疫測(cè)試,這個(gè)應(yīng)用是不大可能通不過(guò)輻射免疫測(cè)試的。4.4.1靜電放電槍靜電放電槍是一個(gè)相對(duì)便宜的可以幫助發(fā)現(xiàn)數(shù)字電路中的高頻感應(yīng)性的工具。使用這種槍最初是為了保證設(shè)計(jì)不會(huì)被高壓靜電損毀。高壓靜電是人體產(chǎn)生,并通過(guò)接觸放電的。我們可以得到電池供電的便攜式靜電放電槍,且通過(guò)編程智能地設(shè)定不同的工作電壓數(shù)量級(jí)。因?yàn)楸?/p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度全國(guó)總代理合同:XX服裝品牌全國(guó)市場(chǎng)總代理權(quán)授權(quán)書
- 臺(tái)球館裝修合同模板及明細(xì)
- 2025年度塑膠顆粒行業(yè)人才培訓(xùn)與引進(jìn)合作協(xié)議
- 2025年度房屋租賃房東合同-租賃合同風(fēng)險(xiǎn)防控指南
- 工廠水電安裝協(xié)議范本
- 2025年度多式聯(lián)運(yùn)貨物保險(xiǎn)合同樣本
- 2025年度醫(yī)療機(jī)構(gòu)執(zhí)業(yè)藥師聘用合同及藥品安全培訓(xùn)協(xié)議
- 2025年度手電動(dòng)車轉(zhuǎn)讓協(xié)議書:手電動(dòng)車品牌加盟連鎖經(jīng)營(yíng)合同
- 2025年度互聯(lián)網(wǎng)干股合作協(xié)議范本
- 2025年度個(gè)人銀行卡領(lǐng)用與高端商務(wù)服務(wù)合同
- 2022年4月自考00277行政管理學(xué)試題及答案含解析
- 2024水利五大員知識(shí)題庫(kù)及答案
- 免責(zé)協(xié)議書研發(fā)版
- 《平面向量的基本概念》
- 2024年重慶市優(yōu)質(zhì)企業(yè)梯度培育政策解讀學(xué)習(xí)培訓(xùn)課件資料(專精特新 專精特新小巨人中小企業(yè) 注意事項(xiàng))
- 跟單員工作職責(zé)與流程
- 氣流組織模擬分析報(bào)告教程
- 點(diǎn)亮生命-大學(xué)生職業(yè)生涯發(fā)展與就業(yè)指導(dǎo)全套教學(xué)課件
- 外墻清洗成本分析報(bào)告
- 特殊作業(yè)現(xiàn)場(chǎng)監(jiān)護(hù)人安全培訓(xùn)課件
- 《會(huì)計(jì)發(fā)展史》課件
評(píng)論
0/150
提交評(píng)論