版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
13.1概述
13.2干擾源
13.3模擬信號(hào)輸入通道的抗干擾
13.4單片機(jī)系統(tǒng)常用軟件抗干擾
習(xí)題與思考題第13章單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)設(shè)計(jì)
13.1概述隨著單片機(jī)應(yīng)用的普及,采用單片機(jī)控制的產(chǎn)品與設(shè)備也日益增多,而某些設(shè)備所在的工作環(huán)境往往比較惡劣,干擾嚴(yán)重,這些干擾會(huì)嚴(yán)重影響設(shè)備的正常工作,使其不能正常運(yùn)行。因此,為了保證設(shè)備能在實(shí)際應(yīng)用中可靠地工作,必須要周密考慮和解決抗干擾的問題??垢蓴_措施對(duì)于一個(gè)單片機(jī)系統(tǒng)的設(shè)計(jì)來(lái)說(shuō),具有非常重要的意義,也是設(shè)計(jì)單片機(jī)系統(tǒng)必須要考慮的重要問題之一。對(duì)于產(chǎn)生的干擾,首先找出干擾源,剖析干擾的作用原因、路徑及造成的后果,進(jìn)而有的放矢,針對(duì)具體干擾采取相應(yīng)措施??垢蓴_的措施有很多種,下面將分別從硬件抗干擾和軟件抗干擾所采取的不同措施加以介紹。干擾對(duì)微機(jī)系統(tǒng)的作用部位可以分為三個(gè):
(1)輸入系統(tǒng)。干擾使模擬信號(hào)失真,數(shù)字信號(hào)出錯(cuò),微機(jī)系統(tǒng)根據(jù)這種輸入信息作出的反應(yīng)必然是錯(cuò)誤的。
(2)輸出系統(tǒng)。干擾使輸出信號(hào)混亂,不能正常反映微機(jī)系統(tǒng)的真實(shí)輸出量,從而導(dǎo)致一系列嚴(yán)重的后果。如果是監(jiān)測(cè)系統(tǒng),則其輸出的信息不可靠,人們據(jù)此信息做出的決策也必然出差錯(cuò);如果是控制系統(tǒng),則其輸出將控制一批執(zhí)行機(jī)構(gòu),使其做出一些不正確的動(dòng)作,輕者造成一批廢次產(chǎn)品,重者引起嚴(yán)重事故。
(3)微機(jī)系統(tǒng)的內(nèi)核。干擾使三總線上的數(shù)字信號(hào)錯(cuò)亂,從而引發(fā)一系列后果。CPU得到錯(cuò)誤的數(shù)據(jù)信息,使指令或操作數(shù)失真,導(dǎo)致結(jié)果出錯(cuò),并將這個(gè)錯(cuò)誤一直傳遞下去,形成一系列錯(cuò)誤。CPU得到錯(cuò)誤的地址信息后,引起程序計(jì)數(shù)器PC出錯(cuò),使程序運(yùn)行離開正常軌道,導(dǎo)致程序失控。程序失控后,有時(shí)幾經(jīng)周折,自己回到正常的軌道上來(lái),但這時(shí)它可能已經(jīng)做了幾件“壞事”,造成一些明顯的后果,也可能埋下了幾處隱患,使后續(xù)程序出錯(cuò),有時(shí)程序幾經(jīng)周折后便進(jìn)入一個(gè)死循環(huán),使系統(tǒng)癱瘓。由于程序失控,有可能不經(jīng)調(diào)用指令就直接插入一個(gè)子程序,然后通過(guò)返回指令來(lái)破壞堆棧指針,使程序更加失控。如果插入到中斷子程序中,不但破壞堆棧指針,而且破壞中斷嵌套關(guān)系,引起中斷混亂。
失控的程序有可能破壞與中斷有關(guān)的特殊功能寄存器,從而改變中斷設(shè)置方式,關(guān)閉或打開某些中斷,引起意外的非法中斷。失控的程序還有可能修改片內(nèi)RAM中的內(nèi)容,使某些具有決定性的參數(shù)被破壞,引起系統(tǒng)決策失誤。也可能修改片外RAM中的內(nèi)容(這些內(nèi)容多為數(shù)據(jù)),使數(shù)據(jù)失實(shí)。各種外圍芯片大多統(tǒng)一編址,以外部RAM的身份出現(xiàn),當(dāng)修改外部RAM的內(nèi)容時(shí),又可能引起對(duì)外圍芯片的非法操作,如改變外圍芯片的工作方式,出現(xiàn)意外的I/O操作等。
對(duì)于80C51系列CPU如果失控的程序修改了專用寄存器PCON的內(nèi)容,則又可能直接進(jìn)入掉電工作方式,也有可能進(jìn)入“睡眠”工作方式,進(jìn)入“死睡”狀態(tài)。13.2干擾源13.2.1形成干擾的基本要素
(1)干擾源:指產(chǎn)生干擾的元件、設(shè)備或信號(hào)。如雷電、繼電器、可控硅、電機(jī)、高頻時(shí)鐘等都可能成為干擾源。
(2)傳播路徑:指干擾從干擾源傳播到敏感器件的通路或媒介。典型的干擾傳播路徑是通過(guò)導(dǎo)線的傳導(dǎo)和空間的輻射。
(3)敏感器件:指容易被干擾的對(duì)象,如A/D、D/A變換器,單片機(jī),數(shù)字IC,弱信號(hào)放大器等。13.2.2干擾的耦合方式
干擾源產(chǎn)生的干擾信號(hào)是通過(guò)一定的耦合通道才對(duì)測(cè)控系統(tǒng)產(chǎn)生作用的。因此,我們有必要了解干擾源和被干擾對(duì)象之間的傳遞方式。干擾的耦合方式無(wú)非是通過(guò)導(dǎo)線、空間、公共線等,主要有以下幾種:
(1)直接耦合:這是最直接的方式,也是系統(tǒng)中普遍存在的一種方式。比如干擾信號(hào)通過(guò)電源線侵入系統(tǒng),對(duì)于這種形式,最有效的方法就是增加去耦電路。
(2)公共阻抗耦合:這也是常見的耦合方式,這種形式常常發(fā)生在兩個(gè)電路電流有共同通路的情況。為了防止這種耦合,通常在電路設(shè)計(jì)上就要考慮,使干擾源和被干擾對(duì)象之間沒有公共阻抗。
(3)電容耦合:又稱電場(chǎng)耦合或靜電耦合,是由于分布電容的存在而產(chǎn)生的耦合。
(4)電磁感應(yīng)耦合:又稱磁場(chǎng)耦合,是由于分布電磁感應(yīng)而產(chǎn)生的耦合。
(5)漏電耦合:這種耦合是純電阻性的,在絕緣不好時(shí)就會(huì)發(fā)生。13.2.3抑制干擾措施
針對(duì)形成干擾的原因,采取的抗干擾主要有抑制干擾源、切斷干擾傳播路徑、提高敏感器件的抗干擾性能等手段。
1.抑制干擾源
抑制干擾源是抗干擾設(shè)計(jì)中最優(yōu)先考慮和最重要的原則,常常會(huì)起到事半功倍的效果。減小干擾源一般是通過(guò)在干擾源兩端并聯(lián)電容來(lái)實(shí)現(xiàn),通過(guò)串聯(lián)電感、電阻或增加續(xù)流二極管來(lái)實(shí)現(xiàn)。抑制干擾源的常用措施如下:
(1)
繼電器線圈增加續(xù)流二極管,消除斷開線圈時(shí)產(chǎn)生的反電動(dòng)勢(shì)干擾。僅加續(xù)流二極管會(huì)使繼電器的斷開時(shí)間滯后,增加穩(wěn)壓二極管后繼電器在單位時(shí)間內(nèi)可動(dòng)作更多的次數(shù)。
(2)
在繼電器接點(diǎn)兩端并接火花抑制電路(一般是RC串聯(lián)電路,電阻一般選幾千歐姆到幾十千歐姆,電容選0.01?μF),以減小電火花影響。
(3)
給電機(jī)加濾波電路。注意,電容、電感引線要盡量短。
(4)
電路板上每個(gè)集成片的電源和地之間要并接一個(gè)0.01~0.1?μF的高頻電容,以減小IC對(duì)電源的影響。注意高頻電容的布線,連線應(yīng)靠近電源端并盡量粗短,否則,等于增大了電容的等效串聯(lián)電阻,會(huì)影響濾波效果。布線時(shí)避免90°折線,減少高頻噪聲發(fā)射。雙面板布線盡量做到電路板兩面不要平行布線,以減小分布電容的影響。
(5)
可控硅兩端并接RC抑制電路,以減小可控硅產(chǎn)生的噪聲(這個(gè)噪聲嚴(yán)重時(shí)可能會(huì)把可控硅擊穿)。
2.切斷干擾傳播路徑
按干擾的傳播路徑可分為傳導(dǎo)干擾和輻射干擾兩類。
所謂傳導(dǎo)干擾,是指通過(guò)導(dǎo)線傳播到敏感器件的干擾。高頻干擾噪聲和有用信號(hào)的頻帶不同,可以通過(guò)在導(dǎo)線上增加濾波器的方法切斷高頻干擾噪聲的傳播,有時(shí)也可加隔離光耦來(lái)解決。
所謂輻射干擾,是指通過(guò)空間輻射傳播到敏感器件的干擾。一般的解決方法是用地線把它們隔離和在敏感器件上加屏蔽罩,以增大干擾源與敏感器件的距離。切斷干擾傳播路徑的常用措施如下:
(1)
充分考慮電源對(duì)單片機(jī)的影響。電源做得好,整個(gè)電路的抗干擾就解決了一大半。許多單片機(jī)對(duì)電源噪聲很敏感,要給單片機(jī)電源加濾波電路或穩(wěn)壓器,以減小電源噪聲對(duì)單片機(jī)的干擾。比如,可以利用磁珠和電容組成π形濾波電路,當(dāng)然條件要求不高時(shí)也可用100?Ω電阻代替磁珠。
(2)
選用頻率低的微控制器。
(3)
如果單片機(jī)的I/O口用來(lái)控制電機(jī)等噪聲器件,在I/O口與噪聲源之間應(yīng)加隔離(增加π形濾波電路)。
(4)
注意晶振布線。晶振與單片機(jī)引腳盡量靠近,用地線把時(shí)鐘區(qū)隔離起來(lái),晶振外殼接地并固定。
(5)
電路板合理分區(qū),如強(qiáng)、弱信號(hào),數(shù)字、模擬信號(hào)。盡可能把干擾源(如電機(jī)、繼電器)與敏感元件(如單片機(jī))隔開。
(6)用地線把數(shù)字區(qū)與模擬區(qū)隔離。數(shù)字地與模擬地要分離,最后在一點(diǎn)接于電源地。A/D、D/A芯片布線也以此為原則。
(7)
單片機(jī)和大功率器件的地線要單獨(dú)接地,以減小相互干擾。大功率器件盡可能放在電路板邊緣。
(8)
在單片機(jī)I/O口、電源線、電路板連接線等關(guān)鍵地方使用抗干擾元件如磁珠、磁環(huán)、電源濾波器、屏蔽罩,可顯著提高電路的抗干擾性能。
3.提高敏感器件的抗干擾性能
提高敏感器件的抗干擾性能是指從敏感器件這邊考慮盡量減少干擾。主要措施如下:
(1)
布線時(shí)盡量減少回路環(huán)的面積,以降低感應(yīng)噪聲。
(2)
電源線和地線要盡量粗,除減小壓降外,更重要的是降低耦合噪聲。
(3)
對(duì)于單片機(jī)閑置的I/O口,不要懸空,要接地或接電源。其他IC的閑置端在不改變系統(tǒng)邏輯的情況下也要接地或接電源。
(4)對(duì)單片機(jī)使用電源監(jiān)控及看門狗電路,如IMP809、IMP706、IMP813、X5043、X5045等,可大幅度提高整個(gè)電路的抗干擾性能。
(5)在速度能滿足要求的前提下,盡量降低單片機(jī)的晶振和選用低速數(shù)字電路。
(6)?IC器件盡量直接焊在電路板上,少用IC座。13.3模擬信號(hào)輸入通道的抗干擾模擬信號(hào)輸入通道是數(shù)據(jù)采集和單片機(jī)、傳感器之間進(jìn)行信息交換的渠道,對(duì)這一信息渠道侵入的干擾主要是因公共地線所引起的,其次當(dāng)傳輸線較長(zhǎng)時(shí),也會(huì)受到靜電和電磁波噪聲的干擾,這些干擾將嚴(yán)重影響采樣信號(hào)的準(zhǔn)確性和可靠性,因此必須予以消除或抑制。13.3.1采用隔離技術(shù)隔離干擾所謂隔離干擾,就是從電路上把干擾源與敏感電路部分隔離開來(lái),使它們不存在電的聯(lián)系,或者削弱它們之間點(diǎn)的聯(lián)系。隔離技術(shù)從原理上可分為光電隔離和電磁隔離。
1.光電隔離
光電隔離是利用光電耦合器件實(shí)現(xiàn)電路上的隔離,其工作原理如下:
(1)光電隔離器的輸入端為發(fā)光二極管,輸出端為光敏三極管,輸入與輸出端之間通過(guò)光傳遞信息,而其又是在密封的條件下進(jìn)行的,故不受外界光的影響。光電耦合器的結(jié)構(gòu)如圖13-1所示。圖13-1二極管—三極管型的光電耦合器
(2)光電耦合器的輸入阻抗很低,一般在100~1000?Ω之間,而干擾源的內(nèi)阻一般很大,通常為105~106?Ω,根據(jù)分壓原理可知,這些能夠饋送到光電耦合器輸入端的噪聲很小。
(3)由于干擾源的內(nèi)阻一般很大,盡管它能提供較大幅度的干擾電壓,但是能夠提供的能量很小,即形成微弱的電流,而光電耦合輸入端的發(fā)光二極管,只有當(dāng)流過(guò)的電流超過(guò)其閾值時(shí)才能發(fā)光。輸出的光敏三極管只在一定光強(qiáng)度下才能工作,因此即使是電壓幅值很高的干擾,由于沒有足夠的能量而不能使發(fā)光二極管發(fā)光,從而被抑制掉。
(4)光電耦合器件的輸入端與輸出端之間的寄生電容極小,一般僅為0.5~2?pF,而絕緣電阻又非常大,通常為1011~1013?Ω,因此輸出端的各種干擾很難反饋到輸入端中。由于光電耦合器件的以上優(yōu)點(diǎn),使得光電耦合在系統(tǒng)與外界以及系統(tǒng)內(nèi)部電路之間的隔離方面有著廣泛的應(yīng)用。
2.電磁隔離
電磁隔離是在傳感器與輸入通道之間加入一個(gè)隔離放大器,利用隔離放大器的電磁耦合,將外界的模擬信號(hào)與系統(tǒng)進(jìn)行隔離傳送。
美國(guó)AD公司的Model277隔離放大器的結(jié)構(gòu)如圖13-2所示,這是既具有一般放大器的特性,又在其輸出和輸入端之間無(wú)直接耦合通路的一類放大器,其信息傳送通過(guò)磁路來(lái)完成。
隔離放大器在系統(tǒng)中的使用如圖13-3所示。
由圖13-3可知,外界的模擬信號(hào)由隔離放大器進(jìn)行隔離放大,然后以高電平低阻抗的特性輸出至多路開關(guān)。為抑制市電頻率對(duì)系統(tǒng)的影響,電源部分由變壓器隔離。圖13-2Model277結(jié)構(gòu)圖圖13-3隔離放大器隔離圖13.3.2采用濾波器濾除干擾
濾波是一種只允許某一頻帶信號(hào)通過(guò)的抑制干擾措施之一,特別適用于抑制經(jīng)導(dǎo)線傳導(dǎo)耦合到電路中的噪聲信號(hào)。從現(xiàn)場(chǎng)采集到的信號(hào),是經(jīng)過(guò)傳輸線送入采集電路或微機(jī)接口電路的,因此在信號(hào)傳輸過(guò)程中可能引入干擾信號(hào),為使信號(hào)在進(jìn)入采集電路或微機(jī)接口電路之前就消除或減弱這種干擾,可在信號(hào)傳輸線上加上濾波器。圖13-4為熱電偶測(cè)溫系統(tǒng)信號(hào)濾波原理圖,Z為熱電偶到地的漏阻抗,為干擾磁通,Ucm為不穩(wěn)定地電位差,電阻R和電容C組成RC濾波器。在信號(hào)之間采用RC濾波,會(huì)對(duì)信號(hào)造成一定的損失,對(duì)于微弱信號(hào),采用這種方法時(shí)應(yīng)注意這一點(diǎn)。圖13-4信號(hào)間的濾波13.3.3采用浮置措施抑制干擾
浮置又稱浮空、浮接,是指數(shù)據(jù)采集電路的模擬信號(hào)地不接機(jī)殼或大地。對(duì)于被浮置的數(shù)據(jù)采集系統(tǒng),數(shù)據(jù)采集電路和機(jī)殼或地之間無(wú)直流聯(lián)系,阻斷了干擾電流的通路。數(shù)據(jù)采集系統(tǒng)被浮置后,明顯加大了系統(tǒng)的信號(hào)放大器公共線與地之間的阻抗,大大減少了共模干擾電流,因此其抑制共模干擾的能力得到提高。要注意的是,只有在對(duì)電路要求高并且采用多層屏蔽的條件下,才采用浮置技術(shù),而且浮置采集電路的供電系統(tǒng)應(yīng)該是單獨(dú)的浮置供電系統(tǒng),否則浮置將無(wú)效。13.3.4A/D轉(zhuǎn)換器的抗干擾
A/D轉(zhuǎn)換器抗干擾措施應(yīng)該從以下兩個(gè)方面來(lái)考慮。
1.抗串模干擾的措施
(1)在串模干擾嚴(yán)重的場(chǎng)合,可以采用積分式或雙積分式A/D轉(zhuǎn)換器,由于轉(zhuǎn)換的是平均值,瞬間干擾和高頻噪聲對(duì)轉(zhuǎn)換結(jié)果的影響較小。同時(shí)由同一積分電路進(jìn)行的正反兩次積分使積分電路的非線性誤差得到補(bǔ)償,所以轉(zhuǎn)換精度較高,動(dòng)態(tài)性能較好。這種措施的缺點(diǎn)是轉(zhuǎn)換速度慢。
(2)對(duì)于高頻干擾,可以采用低通濾波器加以濾除,對(duì)于低頻干擾可采用同步采樣的方式加以消除,這需要檢測(cè)出干擾的頻率,例如f?=50?Hz的工頻干擾,選取與干擾頻率成整數(shù)倍的采樣頻率,并使兩者同步,如圖13-5所示。圖13-5同步采樣濾除干擾
(3)當(dāng)傳感器和A/D轉(zhuǎn)換器相距較遠(yuǎn)時(shí),容易引起干擾,解決的辦法是用電流傳輸代替電壓傳輸。如圖13-6所示,傳感器輸出4~20?mA電流信號(hào),在長(zhǎng)距離線上傳輸。在接收端并接250?Ω電阻,將電流信號(hào)轉(zhuǎn)換成電壓信號(hào),然后送A/D轉(zhuǎn)換器輸入端,且屏蔽線在接收端接地。圖13-6電流傳輸代替電壓傳輸
2.抗共模干擾的措施
(1)采用三線采樣雙層屏蔽浮置技術(shù)。所謂三線采樣,就是將信號(hào)線和地線一起采樣,實(shí)踐證明,這種雙層屏蔽采樣技術(shù)是抗共模干擾的最有效的方法。由于傳感器和機(jī)殼之間會(huì)引起共模干擾,因此A/D轉(zhuǎn)換器的模擬地一般采取浮置接地方式,其電路如圖13-7所示。
(2)采用隔離技術(shù)。這種方法前面已有介紹,這里不再重復(fù)。13.3.5印刷電路板及電路的抗干擾設(shè)計(jì)措施
1.合理布置印刷電路板上的器件
印刷電路板上器件布置應(yīng)符合器件之間電氣干擾小和易于散熱的原則。一般印刷電路板上同時(shí)具有電源變壓器、模擬器件、數(shù)字邏輯器件、輸出驅(qū)動(dòng)器件等,為了減少器件之間的電氣干擾,應(yīng)將器件按功率大小及抗干擾能力強(qiáng)弱分類集中布置。將電源變壓器和輸出驅(qū)動(dòng)等大功率器件作為一類集中布置,將數(shù)字邏輯作為一類集中布置,將易于受干擾的模擬器件作為一類集中布置,各類器件之間應(yīng)盡量遠(yuǎn)離,以防止相互之間的干擾。此外,每一類器件再按照小電氣干擾原則進(jìn)一步分類布置。
2.印刷電路板合理布線
印刷電路板合理布線的原則如下:
(1)電源線加粗,合理走線、接地,三總線分開以減少互感振蕩。
(2)?CPU、RAM、ROM等主芯片以及VCC和GND之間接電解電容及瓷片電容,以去掉高、低頻干擾信號(hào)。
(3)獨(dú)立系統(tǒng)結(jié)構(gòu),減少接插件與連線,提高可靠性,減少故障率。
(4)集成塊與插座接觸可靠,用雙簧插座,集成塊最好直接焊在印制板上,以防止器件接觸不良。
(5)印刷電路板是一個(gè)平面,不能交叉配線;配線不要做成環(huán)路,特別是不要沿印刷電路板周圍做成環(huán)路;不要有長(zhǎng)段窄條并行;單元電路的輸入線和輸出線應(yīng)當(dāng)用地線隔開,有條件的采用四層以上印制板,中間兩層為電源及地。
(6)閑置不用的門電路輸入端不要懸空;閑置不用的運(yùn)放同相端接地,反相端接輸出端。印刷電路板按頻率和電流開關(guān)特性分區(qū),噪聲元件與非噪聲元件的距離要遠(yuǎn)一些。電源線、地線應(yīng)盡量粗一些。
(7)元件布置要合理分區(qū)。元件在印刷電路板上排列的位置要充分考慮抗電磁干擾問題,原則之一是各部件之間的引線要盡量短。在布局上,要把模擬信號(hào)部分、高速數(shù)字電路部分、噪聲源部分(如繼電器、大電流開關(guān)等)這三部分合理地分開,使相互間的信號(hào)耦合為最小。
(8)處理好接地線。印刷電路板上的電源線和地線最重要。接地設(shè)計(jì)的基本目的是消除各電路電流流經(jīng)公共地線時(shí)所產(chǎn)生的噪聲電壓,以免受電磁場(chǎng)和地電位差的影響,即不形成地環(huán)路。在低頻電路中,接地電路形成的環(huán)路對(duì)系統(tǒng)影響很大,一般應(yīng)采用一點(diǎn)接地。在高頻電路中,地線上具有點(diǎn)感應(yīng),增加了地線阻抗,而且地線向外輻射噪聲信號(hào),因此要多點(diǎn)就近接地。對(duì)噪聲和干擾非常敏感的電路或高頻噪聲特別嚴(yán)重的電路應(yīng)該用金屬罩屏蔽起來(lái)。
3.?dāng)?shù)字電路的抗干擾
在采集系統(tǒng)中,會(huì)用到許多類型的數(shù)字電路,如接口電路、數(shù)字量的采集電路等,數(shù)字電路與模擬電路相似,電源的性能、接地方式以及外界及內(nèi)部的電場(chǎng)和磁場(chǎng)噪聲等都可能成為數(shù)字電路的干擾源,因此前述的抗干擾方法同樣適用于數(shù)字電路,此外還可以采用以下抗干擾措施。
1)采用積分電路抑制干擾
在脈沖電路中,為抑制脈沖型的噪聲干擾,使用積分電路是一種有效的方法。使用積分電路,脈沖寬度大的信號(hào)噪聲輸出大,而脈沖寬度小的信號(hào)噪聲輸出也小,所以能將噪聲干擾除掉。
2)采用脈沖隔離門抑制干擾
利用硅二極管正向壓降對(duì)幅度小的干擾脈沖加以阻擋,讓幅度大的信號(hào)脈沖順利通過(guò)。13.4單片機(jī)系統(tǒng)常用軟件抗干擾13.4.1數(shù)據(jù)采集和濾波軟件抗干擾可靠性設(shè)計(jì)是一項(xiàng)系統(tǒng)工程,單片機(jī)系統(tǒng)的可靠性必須從軟件、硬件以及結(jié)構(gòu)設(shè)計(jì)等方面全面考慮。硬件系統(tǒng)的可靠性設(shè)計(jì)是單片機(jī)系統(tǒng)可靠性的根本,而軟件系統(tǒng)的可靠性設(shè)計(jì)起著抑制外來(lái)干擾的作用。干擾產(chǎn)生在I/O通道上而CPU能夠正常工作的情況下,則在輸入通道上采用多次重復(fù)采集,直到連續(xù)兩次或兩次以上采集結(jié)果完全一致時(shí)方為有效;若多次采集后,信號(hào)一直變化不定,則停止采集數(shù)據(jù),發(fā)出報(bào)警信息;在滿足采樣實(shí)時(shí)性要求的情況下,若在各次采集數(shù)字信號(hào)之間接入一段延時(shí),抗干擾的效果會(huì)更好。在輸出通道上,抑制干擾最有效的辦法就是重復(fù)輸出同一個(gè)數(shù)據(jù),只要有可能,其重復(fù)周期應(yīng)盡可能地短一些;在外部設(shè)備接收到一個(gè)被干擾的錯(cuò)誤信息還未做出反應(yīng)時(shí),一個(gè)正確的輸出信息又來(lái)到,這樣可以及時(shí)防止錯(cuò)誤動(dòng)作的產(chǎn)生。軟件設(shè)計(jì)時(shí)要為每一個(gè)輸出端口所接外部設(shè)備分配一個(gè)暫存單元,各決策算法負(fù)責(zé)將結(jié)果寫入對(duì)應(yīng)設(shè)備的暫存單元,輸出功能模塊負(fù)責(zé)將所有暫存單元中的數(shù)據(jù)一一輸出,而不管這個(gè)數(shù)據(jù)是剛剛算出來(lái)的還是早就算好的。即使前面的輸出是錯(cuò)誤的,由于很快重復(fù)輸出在同一個(gè)端口地址,也可以覆蓋掉原來(lái)的錯(cuò)誤結(jié)果。同時(shí),在程序結(jié)構(gòu)上,可將輸出過(guò)程安排在監(jiān)控循環(huán)中。一般情況下,監(jiān)控循環(huán)程序周期比較短,可以有效地防止輸出設(shè)備的錯(cuò)誤動(dòng)作。對(duì)于帶有增量控制的輸出設(shè)備,如自帶環(huán)型分配器和功率驅(qū)動(dòng)的步進(jìn)電機(jī)組件,方向信號(hào)可以重復(fù)輸出,而步進(jìn)脈沖則不能重復(fù)輸出,因?yàn)槊恐貜?fù)一次電機(jī)就要前進(jìn)一步,這種情況如果有位置檢測(cè)功能,則可實(shí)現(xiàn)閉環(huán)控制,閉環(huán)控制本身就有足夠的抗干擾性能,不用重復(fù)輸出。如果沒有檢測(cè)裝置,則建議采用軟件算法實(shí)現(xiàn)環(huán)型分配器的功能,這時(shí)仍可以采用重復(fù)輸出的方式來(lái)防止步進(jìn)電機(jī)的失步。只是這時(shí)的重復(fù)周期與步進(jìn)電機(jī)之間有嚴(yán)格的關(guān)系,例如每個(gè)換相周期內(nèi)重復(fù)二三次。在執(zhí)行輸出功能時(shí),應(yīng)將有關(guān)輸出芯片的狀態(tài)一并重復(fù)輸出,為確保輸出的正確實(shí)現(xiàn),輸出功能模塊在執(zhí)行具體的數(shù)據(jù)輸出之前,應(yīng)先執(zhí)行芯片的編程指令,再輸出有關(guān)的數(shù)據(jù)。這樣做能準(zhǔn)確定義這些編程芯片的端口,確保數(shù)據(jù)模塊正確地執(zhí)行命令。
單片機(jī)能夠識(shí)別的是數(shù)字信號(hào),因此模擬信號(hào)都必須通過(guò)A/D轉(zhuǎn)換后才能為單片機(jī)所接受。干擾作用于模擬信號(hào)之后,使A/D轉(zhuǎn)換的結(jié)果偏離真實(shí)值,如果僅采樣一次,無(wú)法確定該結(jié)果是否可信,必須多次采樣,才能得到滿意的結(jié)果。這種通過(guò)軟件從數(shù)據(jù)系列中提取逼近真實(shí)值的方法,我們稱之為數(shù)字濾波算法。對(duì)于非周期的隨機(jī)干擾,常采用這種算法來(lái)抑制。數(shù)字濾波算法主要有程序判斷濾波算法、中值濾波、算術(shù)平均濾波、去極值平均濾波、加權(quán)平均濾波、滑動(dòng)平均濾波、低通濾波等。下面我們以加權(quán)平均濾波為例加以說(shuō)明。所謂加權(quán)平均濾波,就是對(duì)連續(xù)的n次采樣值,不是直接求累加和,而是分別乘以不同的加權(quán)系數(shù)之后再累加求和的方法。加權(quán)系數(shù)一般先小后大,以突出后若干次采樣效果,加強(qiáng)系統(tǒng)對(duì)參數(shù)變化趨勢(shì)的辨識(shí)。各加權(quán)系數(shù)均為小于1的數(shù),且滿足總和等于1的約束條件。這樣一來(lái),加權(quán)運(yùn)算之后的累加和即為有效采樣值。對(duì)于8位單片機(jī),為方便計(jì)算,可取各加權(quán)系數(shù)為整數(shù),且總和為256,加權(quán)之后的累加和再除以256,即是有效采樣值。
各加權(quán)系數(shù)存放在一個(gè)表格中,各次采樣值一次存放在RAM中,算法流程如圖13-8所示。圖13-8加權(quán)平均濾波流程圖13.4.2CPU抗干擾
前面的抗干擾措施都是針對(duì)通道而言的,當(dāng)干擾作用到CPU本身時(shí),CPU將不能正常工作,從而引起混亂。軟件系統(tǒng)的可靠性設(shè)計(jì)的主要方法有:開機(jī)自檢、掉電保護(hù)、指令冗余、軟件陷阱(進(jìn)行程序“跑飛”檢測(cè))、設(shè)置程序運(yùn)行狀態(tài)標(biāo)記、軟件“看門狗”等。通過(guò)軟件系統(tǒng)的可靠性設(shè)計(jì),達(dá)到最大限度地降低干擾對(duì)系統(tǒng)工作的影響,確保單片機(jī)及時(shí)發(fā)現(xiàn)因干擾導(dǎo)致程序出現(xiàn)的錯(cuò)誤,并使系統(tǒng)恢復(fù)到正常工作狀態(tài)或及時(shí)報(bào)警的目的。
1.開機(jī)自檢
開機(jī)后單片機(jī)首先對(duì)系統(tǒng)的硬件及軟件狀態(tài)進(jìn)行檢測(cè),一旦發(fā)現(xiàn)不正常,就進(jìn)行相應(yīng)的處理。開機(jī)自檢程序通常包括對(duì)RAM、ROM、I/O口狀態(tài)等的檢測(cè)。
(1)檢測(cè)RAM。檢查RAM讀、寫是否正常,實(shí)際操作是向RAM單元寫“00H”,讀出也應(yīng)為“00H”,再向其寫“FFH”,讀出也應(yīng)為“FFH”。如果RAM單元讀或?qū)懗鲥e(cuò),應(yīng)給出RAM出錯(cuò)提示(聲光或其他形式),等待處理。
(2)檢查ROM單元的內(nèi)容。對(duì)ROM單元的檢測(cè)主要是檢查ROM單元內(nèi)容的校驗(yàn)和。所謂ROM的校驗(yàn)和是將ROM的內(nèi)容逐一相加后得到一個(gè)數(shù)值,該值便稱為校驗(yàn)和。ROM單元存儲(chǔ)的是程序、常數(shù)和表格。一旦程序編寫完成,ROM中的內(nèi)容就確定了,其校驗(yàn)和也就是唯一的。若ROM校驗(yàn)和出錯(cuò),應(yīng)給出ROM出錯(cuò)提示(聲光或其他形式),等待處理。
(3)檢查I/O口狀態(tài)。首先確定系統(tǒng)的I/O口在待機(jī)狀態(tài)時(shí)應(yīng)處的狀態(tài),然后檢測(cè)單片機(jī)的I/O口在待機(jī)狀態(tài)下的狀態(tài)是否正常(如是否有短路或開路現(xiàn)象等)。若不正常,應(yīng)給出出錯(cuò)提示(聲光或其他形式),等待處理。
(4)其他接口電路檢測(cè)。除了對(duì)上述單片機(jī)內(nèi)部資源進(jìn)行檢測(cè)外,對(duì)系統(tǒng)中的其他接口電路,比如擴(kuò)展的EEPROM、A/D轉(zhuǎn)換電路等,又如數(shù)字測(cè)溫儀中的555單穩(wěn)測(cè)溫電路,均應(yīng)通過(guò)軟件進(jìn)行檢測(cè),確定是否有故障。只有各項(xiàng)檢查均正常,程序方能繼續(xù)執(zhí)行,否則應(yīng)提示出錯(cuò)。
2.掉電保護(hù)
瞬間斷電或電壓的突然下降,將使系統(tǒng)陷入混亂狀態(tài),在電壓正常后系統(tǒng)難以恢復(fù)正常。對(duì)付這類事故的有效方法就是掉電保護(hù),掉電信號(hào)由外部硬件電路加到單片機(jī)的外部中斷輸入端,軟件將掉電中斷優(yōu)先級(jí)設(shè)置為高級(jí),使系統(tǒng)能夠?qū)Φ綦娂皶r(shí)作出反應(yīng)。在掉電子程序中,首先對(duì)現(xiàn)場(chǎng)進(jìn)行保護(hù),把當(dāng)前的重要狀態(tài)參數(shù)和中間結(jié)果保存起來(lái);其次對(duì)有關(guān)外設(shè)作出妥善處理,如關(guān)閉各輸入/輸出口,使外設(shè)處于安全狀態(tài)等;最后還必須在片內(nèi)RAM的某一或兩個(gè)單元做特定標(biāo)記,作為掉電標(biāo)志。這些應(yīng)急措施全部實(shí)施完畢后,即可進(jìn)入掉電保護(hù)狀態(tài)。為保護(hù)掉電子程序的正常運(yùn)行,掉電檢測(cè)電路必須在電壓下降到CPU最低工作電壓之前就提出中斷申請(qǐng)。掉電后外圍電路失電,但CPU不能失電,以保持RAM中內(nèi)容不變。當(dāng)電源恢復(fù)正常時(shí),CPU重新復(fù)位,復(fù)位后應(yīng)首先檢測(cè)是否有掉電標(biāo)志,如有則說(shuō)明本次復(fù)位為掉電保護(hù)之后的復(fù)位,不應(yīng)將系統(tǒng)初始化,而應(yīng)按掉電保護(hù)程序相反的方式恢復(fù)現(xiàn)場(chǎng),以一種合理的安全方式使系統(tǒng)繼續(xù)未完成的工作。
3.指令冗余
當(dāng)CPU受到干擾后,往往將一些操作數(shù)當(dāng)作指令碼來(lái)執(zhí)行,引起程序混亂。這時(shí)首先要盡快將程序納入正軌,MCS-51系列指令系統(tǒng)中所有的指令都不超過(guò)3個(gè)字節(jié),而且有很多單字節(jié)指令。當(dāng)程序飛到某一條單字節(jié)指令上時(shí),便會(huì)自動(dòng)納入正軌;當(dāng)程序“跑飛”到某一雙字節(jié)指令時(shí),又可能落到其操作數(shù)上,從而繼續(xù)出錯(cuò);當(dāng)程序飛到三字節(jié)指令時(shí),因?yàn)樗袃蓚€(gè)操作數(shù),繼續(xù)出錯(cuò)的機(jī)會(huì)更大。因此,應(yīng)多采用單字節(jié)指令,并在關(guān)鍵的地方人為地插入一些單字節(jié)指令(NOP),或?qū)⒂行巫止?jié)指令重新書寫,這便是指令冗余。在雙字節(jié)指令或者三字節(jié)指令之后插入兩條NOP指令,可保護(hù)其后的指令不被拆散;或者說(shuō)某指令前插入兩條NOP指令,則這條指令就不會(huì)被前面沖下來(lái)的失控指令拆散,并將被完整執(zhí)行,從而使程序走上正軌,但不能加入太多冗余指令,以免明顯降低程序正常運(yùn)行的效率。因此,常在一些程序流向起決定性作用的指令前,插入兩條NOP指令,以保證“跑飛”的程序迅速納入正確的軌道。此類指令有RET、RETI、ACALL、LCALL、SJMP、AJMP、LJMP、JZ、JNZ、JC、JNC、JB、JNB、JBC、CJNZ和DJNZ等。
4.軟件陷阱
在程序存儲(chǔ)器中總會(huì)有一些區(qū)域未使用,如果因干擾導(dǎo)致單片機(jī)的指令計(jì)數(shù)器PC值被錯(cuò)置,則程序就會(huì)跳到這些未用的程序存儲(chǔ)空間,系統(tǒng)就會(huì)出錯(cuò)。軟件陷阱是在程序存儲(chǔ)器未使用的區(qū)域中加上若干條空操作和無(wú)條件跳轉(zhuǎn)指令,來(lái)指向程序“跑飛”處理子程序的入口地址。如果程序跳到這些未用區(qū)域,就會(huì)執(zhí)行無(wú)條件跳轉(zhuǎn)指令,轉(zhuǎn)到相應(yīng)的“跑飛”處理子程序中。除程序未用區(qū)域外,還可以在程序段之間(如子程序之間及一段處理程序完成后)及一頁(yè)的末尾處插入軟件陷阱,效果會(huì)更好。假設(shè)這段處理錯(cuò)誤的程序入口地址為ERR,則下面三條指令即組成一個(gè)“軟件陷阱”:
NOP
NOP
LJMPERR
“軟件陷阱”一般安排在下列四種地方。
(1)未使用的中斷向量區(qū)。MCS-51單片機(jī)的中斷向量區(qū)為0003H~002FH,如果所設(shè)計(jì)的智能化測(cè)量控制儀表未使用完全中斷向量區(qū),則可在剩余的中斷向量區(qū)安排“軟件陷阱”,以便能捕捉到錯(cuò)誤的中斷。例如某設(shè)備使用了兩個(gè)外部中斷INT0、INT1和一個(gè)定時(shí)器中斷T0,它們的中斷服務(wù)子程序入口地址分別為FUINT0、FUINT1和FUT0,則可按下面的方式來(lái)設(shè)置中斷向量區(qū)。
(2)未使用的大片EPROM空間。智能化測(cè)量控制儀表中使用的EPROM芯片一般都不會(huì)使用完其全部空間,對(duì)于剩余未編程的EPROM空間,一般都維持其原狀,即其內(nèi)容為0FFH。0FFH對(duì)于MCS-51單片機(jī)的指令系統(tǒng)來(lái)說(shuō)是一條單字節(jié)的指令“MOVR7,A”,如果程序“跑飛”到這一區(qū)域,則順序向后執(zhí)行,不再跳躍(除非又受到新的干擾)。因此在這段區(qū)域內(nèi)每隔一段地址設(shè)一個(gè)陷阱,就一定能捕捉到“跑飛”的程序。
(3)表格。有兩種表格,即數(shù)據(jù)表格和散轉(zhuǎn)表格。由于表格的內(nèi)容與檢索值有一一對(duì)應(yīng)的關(guān)系,在表格中間安排陷阱會(huì)破壞其連續(xù)性和對(duì)應(yīng)關(guān)系,因此只能在表格的最后安排陷阱。如果表格區(qū)較長(zhǎng),則安排在最后的陷阱不能保證一定能捕捉到飛來(lái)程序的流向,有可能在中途再次“跑飛”。
(4)程序區(qū)。程序區(qū)是由一系列的指令所構(gòu)成的,不能在這些指令中間任意安排陷阱,否則會(huì)破壞正常的程序流程。但是在這些指令中間常常有一些斷點(diǎn),正常的程序執(zhí)行到斷點(diǎn)處就不再往下執(zhí)行了,如果在這些地方設(shè)置陷阱就能有效地捕獲“跑飛”的程序。例如,在一個(gè)根據(jù)累加器A中內(nèi)容的正、負(fù)和零的情況進(jìn)行三分支的程序中,軟件陷阱安排如下:由于軟件陷阱都安排在正常程序執(zhí)行不到的地方,故不會(huì)影響程序的執(zhí)行效率。在EPROM容量允許的條件下,這種軟件陷阱多一些為好。如果“跑飛”的程序落到一個(gè)臨時(shí)構(gòu)成的死循環(huán)中時(shí),冗余指令和軟件陷阱都將無(wú)能為力。
5.設(shè)置程序運(yùn)行的標(biāo)志
要進(jìn)行程序“跑飛”處理,就要分清程序“跑飛”所造成的影響,以及程序“跑飛”前運(yùn)行的進(jìn)程,這就需要設(shè)置相應(yīng)的標(biāo)志。
1)?RAM數(shù)據(jù)正常標(biāo)志
RAM數(shù)據(jù)正常標(biāo)志是檢測(cè)RAM區(qū)的數(shù)據(jù)是否已經(jīng)因程序“跑飛”或其他干擾而改變,如果已改變,則系統(tǒng)無(wú)法自行恢復(fù)到原來(lái)的出錯(cuò)地點(diǎn),只能由人工或由軟件復(fù)位從頭開始執(zhí)行。要進(jìn)行RAM單元數(shù)據(jù)正常與否的檢測(cè),首先應(yīng)在初始化程序中對(duì)RAM的若干單元設(shè)置RAM數(shù)據(jù)正常標(biāo)志。通常是在RAM單元中選數(shù)個(gè)單元,在初始化程序中將其設(shè)置成
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年高職(工業(yè)分析技術(shù))食品成分檢驗(yàn)綜合測(cè)試試題及答案
- 2025年大學(xué)通識(shí)選修(藝術(shù)鑒賞)試題及答案
- 2025年高職建筑工程技術(shù)(模板支護(hù)工藝)試題及答案
- 2025年高職航空裝備類(航空裝備基礎(chǔ))試題及答案
- 2025年高職水路運(yùn)輸與海事管理(海事管理實(shí)務(wù))試題及答案
- 2025 小學(xué)四年級(jí)思想品德下冊(cè)公共場(chǎng)合優(yōu)化禮儀學(xué)習(xí)效果反饋課件
- 養(yǎng)老院老人心理健康制度
- 養(yǎng)老院康復(fù)設(shè)備管理制度
- 2026年學(xué)生檔案管理崗位面試指南含答案
- 2026年鄉(xiāng)村醫(yī)生信息化小測(cè)含答案
- 《合理利用網(wǎng)絡(luò)》(優(yōu)質(zhì)課件)
- 中深度鎮(zhèn)靜紅外線全身熱療方法課件
- 第四單元地理信息技術(shù)的應(yīng)用課件 【高效課堂+精研精講】高中地理魯教版(2019)必修第一冊(cè)
- 魯科版高中化學(xué)必修一教案全冊(cè)
- 管理養(yǎng)老機(jī)構(gòu) 養(yǎng)老機(jī)構(gòu)的服務(wù)提供與管理
- 提高隧道初支平整度合格率
- 2022年環(huán)保標(biāo)記試題庫(kù)(含答案)
- 2023年版測(cè)量結(jié)果的計(jì)量溯源性要求
- 建筑能耗與碳排放研究報(bào)告
- GB 29415-2013耐火電纜槽盒
- 中國(guó)古代經(jīng)濟(jì)試題
評(píng)論
0/150
提交評(píng)論