版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第10章單片機(jī)系統(tǒng)的抗干擾技術(shù)10.1干擾源及其分類10.2干擾對單片機(jī)系統(tǒng)的影響
10.3硬件抗干擾技術(shù)10.4軟件抗干擾技術(shù)10.5數(shù)字濾波10.1干擾源及其分類
一、干擾的含義
所謂干擾,一般是指有用信號以外的噪聲,在信號輸入、傳輸和輸出過程中出現(xiàn)的一些有害的電氣變化現(xiàn)象。這些變化迫使信號的傳輸值、指示值或輸出值出現(xiàn)誤差,出現(xiàn)假像。干擾對電路的影響,輕則降低信號的質(zhì)量,影響系統(tǒng)的穩(wěn)定性;重則破壞電路的正常功能,造成邏輯關(guān)系混亂,控制失靈。二、干擾源的分類1.從干擾的來源劃分1)內(nèi)部干擾內(nèi)部干擾是應(yīng)用系統(tǒng)本身引起的各種干擾,包括固定干擾和過渡干擾兩種。固定干擾是指信號間的相互串?dāng)_、長線傳輸阻抗失配時(shí)反射噪聲、負(fù)載突變噪聲以及饋電系統(tǒng)的浪涌噪聲等。過渡干擾是指電路在動(dòng)態(tài)工作時(shí)引起的干擾。2)外部干擾外部干擾是由系統(tǒng)外部竄入到系統(tǒng)內(nèi)部的各種干擾。包括某些自然現(xiàn)象(如閃電、雷擊、地球或宇宙輻射等)引起的自然干擾和人為干擾(如電臺、車輛、家用電器、電器設(shè)備等發(fā)出的電磁干擾,以及電源的工頻干擾)。一般來說,自然干擾對系統(tǒng)影響不大,而人為干擾則是外部干擾的關(guān)鍵。圖10.1內(nèi)部和外部干擾示意圖①裝置開口或隙縫處進(jìn)入的輻射干擾(輻射)②電網(wǎng)變化干擾(傳輸)③周圍環(huán)境用電干擾(輻射、傳輸、感應(yīng))④傳輸線上的反射干擾(傳輸)⑤系統(tǒng)接地不妥引入的干擾(傳輸、感應(yīng))⑥外部線間串?dāng)_(傳輸、感應(yīng))⑦邏輯線路不妥造成的過渡干擾(傳輸)⑧線間串?dāng)_(感應(yīng)、傳輸)⑨電源干擾(傳輸)10強(qiáng)電器引入的接觸電弧和反電動(dòng)勢干擾(輻射、傳輸、感應(yīng))11內(nèi)部接地不妥引入的干擾(傳輸)12漏磁感應(yīng)(感應(yīng))13傳輸線反射干擾(傳輸)14漏電干擾(傳輸)圖10。2干擾竄入單片機(jī)系統(tǒng)主要途徑示意圖(1)空間感應(yīng);(2)過程通道竄入的干擾;(3)電源系統(tǒng)竄入的干擾;(4)地電位波動(dòng)竄入的干擾;(5)反射波干擾過程通道的干擾:過程通道的干擾一般分為串模干擾和共模干擾。
(a)內(nèi)部串?dāng)_(b)外部串?dāng)_串模干擾示意圖
(a)單端輸入(b)雙端輸入
共模干擾示意圖圖10.3串模干擾與共模干擾波形
(a)直流信號;(b)串模干擾;(c)共模干擾;(d)串模干擾與共模干擾共同作用2.按干擾出現(xiàn)的規(guī)律劃分固定干擾2)半固定干擾3)隨機(jī)干擾表10.1常見干擾的種類三、干擾的耦合方式1.直接耦合方式2.公共阻抗耦合方式3.電容耦合方式4.電磁感應(yīng)耦合方式5.輻射耦合方式6.漏電耦合方式四抗干擾原則所謂抗干擾,就是針對干擾的產(chǎn)生、性質(zhì)、傳播途徑、侵入的位置和侵入的形式,采取適當(dāng)?shù)姆椒ㄏ蓴_源,抑制耦合通道,減弱電路對噪聲干擾的敏感性。1. 消除干擾源2. 抑制耦合通道3. 減弱電路對噪聲干擾的敏感性10.2干擾對單片機(jī)系統(tǒng)的影響圖10.4干擾入侵單片機(jī)系統(tǒng)的途徑10.3硬件抗干擾技術(shù)10.3.1串模干擾的抑制方法一、光電隔離圖10.5二極管、三極管光電耦合器1.輸入輸出隔離
1)脈沖電路的應(yīng)用門電路將不同電位的信號,加到光電耦合器上,構(gòu)成簡單的邏輯電路,可方便地用于各種邏輯電路相連的輸入端,能把信號送到輸出端,而輸入端的噪聲不會(huì)送出。2)整形放大在測量微弱電流時(shí),常常采用由光電耦合器構(gòu)成的整形放大器。若放大器中使用機(jī)械換流器(或場效應(yīng)管)時(shí),響應(yīng)速度慢,有尖峰干擾,影響電路工作。采用光電耦合器就沒有這樣的問題,尖峰噪聲可以去掉。光電耦合器的幾個(gè)特點(diǎn):(1)輸入和輸出在電氣上是隔離的。(2)光電耦合器的光電耦合部分不會(huì)受到外界光的干擾。(3)光電耦合器的輸入阻抗很低(一般為100Ω~1KΩ),而干擾源內(nèi)阻一般都很大(105~106Ω)。按分壓原理,傳送到光電耦合器輸入端的干擾電壓就變得很小了。(4)光電耦合器的發(fā)光二極管只有通過一定的電流才發(fā)光,因此,即使電壓幅值很高的干擾,若沒有足夠的能量,也不能使二極管發(fā)光,顯然,干擾就被抑制掉了。(5)輸入回路與輸出回路之間分布電容極小,因此,在回路中,一端的干擾很難通過光電耦合器饋送到另一端去。長線傳輸光電耦合浮置處理圖10.6可控硅感性負(fù)載開關(guān)電路繼電器隔離脈沖變壓器隔離法脈沖變壓器隔離法傳遞脈沖輸入/輸出信號時(shí),不能傳遞直流分量。
對于一般的交流信號,可以用普通變壓器實(shí)現(xiàn)隔離。
交流信號的幅度檢測二、硬件濾波電路圖10.7四種濾波器的結(jié)構(gòu)圖三、過壓保護(hù)電路
在輸入通道上采用一定的過壓保護(hù)電路,以防引入高壓,損壞系統(tǒng)電路。過壓保護(hù)電路由限流電阻和穩(wěn)壓管組成,穩(wěn)壓值以略高于最高傳送信號電壓為宜。對于微弱信號(0.2V以下),采用兩支反并聯(lián)的二極管,也可起到過壓保護(hù)作用。四、調(diào)制解調(diào)技術(shù)
有時(shí),有效信號的頻譜與干擾的頻譜相互交錯(cuò),使用一般硬件濾波很難分離,可采用調(diào)制解調(diào)技術(shù)。先用已知頻率的信號對有效信號進(jìn)行調(diào)制,調(diào)制后的信號頻譜應(yīng)遠(yuǎn)離干擾信號的頻譜區(qū)域。傳輸中各種干擾信號很容易被濾波器濾除,被調(diào)制的有效信號經(jīng)解調(diào)器解調(diào)后,恢復(fù)原狀。有時(shí),不用硬件解調(diào),運(yùn)用軟件中的相關(guān)算法,也可達(dá)到解調(diào)的目的。五、抗干擾穩(wěn)壓電源
(1)應(yīng)用系統(tǒng)的供電線路和產(chǎn)生干擾的用電設(shè)備分開供電。(2)通過低通濾波器和隔離變壓器接入電網(wǎng),如圖5.8所示。(3)整流組件上并接濾波電容。濾波電容選用1000pF~0.01μF的瓷片電容,接法參見圖5.8。(4)采用高質(zhì)量的穩(wěn)壓電源。圖10.8抗干擾穩(wěn)壓電源六、數(shù)字信號采用負(fù)邏輯傳輸干擾源作用于高阻線路上,容易形成較大幅度的干擾信號,而對低阻線路影響要小一些。在數(shù)字系統(tǒng)中,輸出低電平時(shí)內(nèi)阻較小,輸出高電平時(shí)內(nèi)阻較大。如果我們采用負(fù)邏輯傳輸,就可以減少干擾引起的誤動(dòng)作,提高數(shù)字信號傳輸?shù)目煽啃浴?0.3.2共模干擾的抑制方法
一、平衡對稱輸入
在設(shè)計(jì)信號源時(shí)盡可能做到平衡和對稱,否則會(huì)產(chǎn)生附加的共模干擾。二、選用高質(zhì)量的差動(dòng)放大器要求差動(dòng)放大器具有高增益、低噪聲、低漂移、寬頻帶等特點(diǎn),以便獲得足夠高的共模抑制比。三、良好的接地系統(tǒng)接地不良時(shí)將形成較明顯的共模干擾。如沒有條件進(jìn)行良好接地,不如將系統(tǒng)浮置起來,再配合采用合適的屏蔽措施,效果也不錯(cuò)。1.交流地交流地是單片機(jī)交流供電電源地,即動(dòng)力線地。2.系統(tǒng)地是指信號回路的基準(zhǔn)導(dǎo)體(如控制電源的零電位)。3.安全地其目的是使設(shè)備機(jī)殼與大地等電位,以避免機(jī)殼帶電而影響人身及設(shè)備安全。通常安全地又稱為保護(hù)地或機(jī)殼地。4.數(shù)字地作為單片機(jī)系統(tǒng)中各種數(shù)字電路的零電位,應(yīng)該與模擬地分開,避免模擬信號受數(shù)字脈沖的干擾。5.模擬地作為傳感器、變送器、放大器、A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器中模擬地的零電位。單片機(jī)中多種地的含義:四、系統(tǒng)接地點(diǎn)的正確連接
1.一點(diǎn)接地和多點(diǎn)接地的應(yīng)用原則(1)一般高頻電路應(yīng)就近多點(diǎn)接地,低頻電路應(yīng)一點(diǎn)接地。在高頻電路中,地線上具有電感,因而增加了地線阻抗,而且地線變成了天線,向外輻射噪聲信號,因此,要多點(diǎn)就近接地。在低頻電路中,接地電路若形成環(huán)路,對系統(tǒng)影響很大,因此應(yīng)一點(diǎn)接地。
(2)交流地、功率地與信號地不能公用。流過交流地和功率地的電流較大,會(huì)造成數(shù)毫伏、甚至幾伏電壓,這會(huì)嚴(yán)重地干擾低電平信號的電路,因此信號地與交流地、功率地分開。(3)信號地與屏蔽地的連接不能形成死循環(huán)回路。否則會(huì)感生出電壓,形成干擾信號。(4)傳感器、變送器和放大器等通常采用屏蔽罩,而信號的傳送往往使用屏蔽線。對于這些屏蔽層的接地要十分謹(jǐn)慎,應(yīng)該遵循單點(diǎn)接地原則。(5)數(shù)字地與模擬地應(yīng)分開,最后單點(diǎn)相連。2.印制板的地線布置圖10.9導(dǎo)線的長度寬度與電流關(guān)系圖10.10芯片的布置
五、屏蔽
用金屬外殼將整機(jī)或部分元器件包圍起來,再將金屬外殼接地,就能起到屏蔽的作用,對于各種通過電磁感應(yīng)引起的干擾特別有效。屏蔽外殼的接地點(diǎn)要與系統(tǒng)的信號參考點(diǎn)相接,而且只能單點(diǎn)接地,所有具有同參考點(diǎn)的電路必須裝在同一屏蔽盒內(nèi)。如有引出線,應(yīng)采用屏蔽線,其屏蔽層應(yīng)和外殼在同一點(diǎn)接系統(tǒng)參考點(diǎn)。參考點(diǎn)不同的系統(tǒng)應(yīng)分別屏蔽,不可共處一個(gè)屏蔽盒內(nèi)。10.4軟件抗干擾技術(shù)10.4.1數(shù)字量I/O通道中的軟件抗干擾一、數(shù)字量輸入方法二、數(shù)字量輸出方法
圖10.11開關(guān)量信號采樣流程10.4.2程序執(zhí)行過程中的軟件抗干擾一、程序“跑飛”二、指令冗余所謂指令冗余技術(shù)是指在程序的關(guān)鍵地方人為地加入一些單字節(jié)指令NOP,或?qū)⒂行巫止?jié)指令重寫,當(dāng)程序“跑飛”到某條單字節(jié)指令上,就不會(huì)發(fā)生將操作數(shù)當(dāng)作指令來執(zhí)行的錯(cuò)誤,使程序迅速納入正軌。常用的指令冗余技術(shù)有兩種:NOP指令和重要指令冗余。三、軟件陷阱所謂軟件陷阱,就是當(dāng)PC失控,造成程序“亂飛”而進(jìn)入非程序區(qū)時(shí),在非程序區(qū)設(shè)置一些攔截程序,將失控的程序引至復(fù)位入口地址0000H或處理錯(cuò)誤程序的入口地址ERR,在此處將程序轉(zhuǎn)向?qū)iT對程序出錯(cuò)進(jìn)行處理的程序,使程序納入正軌。軟件陷阱可以采用3種形式如下表所示。軟件陷阱形式程序形式軟件陷阱形式對應(yīng)入口形式形式之一NOPNOPLJMP0000H0000H:LJMPMAIN;運(yùn)行程序┆形式之二LJMP0202HLJMP0000H0000H:LJMPMAIN;運(yùn)行主程序┆0202H:LJMP0000H┆形式之三LJMPERRERR:……;錯(cuò)誤處理程序┆“軟件陷阱”一般安排在下列四種地方。
1.未使用的中斷向量區(qū)
MCS-51單片機(jī)的中斷向量區(qū)為0003H~002FH,如果系統(tǒng)程序未使用完全部中斷向量區(qū),則可在剩余的中斷向量區(qū)安排“軟件陷阱”,以便能捕捉到錯(cuò)誤的中斷。如某系統(tǒng)使用了兩個(gè)外部中斷INT0、INT1和一個(gè)定時(shí)器溢出中斷T0,它們的中斷服務(wù)子程序入口地址分別為FUINT0、FUINT1和FUT0,即可按下面的方式來設(shè)置中斷向量區(qū): ORG0000H0000HSTART:LJMPMAIN;引向主程序入口0003HLJMPFUINT0;INT0中斷服務(wù)程序入口006HNOP;冗余指令007HNOP008HLJMPERR;陷阱0013HLJMPFUT0;T0中斷服務(wù)程序入口00EHNOP;冗余指令00FHNOP;0010HLJMPERR;陷阱0013HLJMPFUINT1;INT1中斷服務(wù)程序入口0016HNOP;冗余指令0017HNOP0018HLJMPERR;陷阱001BHLJMPERR;未使用T1中斷,設(shè)陷阱001EHNOP;冗余指令001FHNOP0020HLJMPERR;陷阱0023HLJMPERR;未使用串口中斷,設(shè)陷阱0026HNOP;冗余指令0027HNOP0028HLJMPERR;陷阱002BHLJMPERR;未使用T2中斷,設(shè)陷阱002EHNOP;冗余指令002FHNOP0030HMAIN:…;主程序2.未使用的大片EPROM空間
程序一般都不會(huì)占用EPROM芯片的全部空間,對于剩余未編程的EPROM空間,一般都維持原狀,即其內(nèi)容為0FFH。0FFH對于MCS-51單片機(jī)的指令系統(tǒng)來說是一條單字節(jié)的指令:MOVR7,A。如果程序“跑飛”到這一區(qū)域,則將順利向后執(zhí)行,不再跳躍(除非又受到新的干擾)。因此在這段區(qū)域內(nèi)每隔一段地址設(shè)一個(gè)陷阱,就一定能捕捉到“跑飛”的程序。3.表格
有兩種表格:一類是數(shù)據(jù)表格,供MOVCA,@A+PC指令或MOVCA,@A+DPTR指令使用,其內(nèi)容完全不是指令。另一類是散轉(zhuǎn)表格,供JMP@A+DPTR指令使用,其內(nèi)容為一系列的3字節(jié)指令LJMP或2字節(jié)指令A(yù)JMP。由于表格的內(nèi)容與檢索值有一一對應(yīng)的關(guān)系,在表格中間安排陷阱會(huì)破壞其連續(xù)性和對應(yīng)關(guān)系,因此只能在表格的最后安排陷阱。如果表格區(qū)較長,則安排在最后的陷阱不能保證一定能捕捉“跑飛”來的程序,有可能在中途再次“跑飛”,這時(shí)只好指望別處的陷阱或冗余指令來捕捉。4.程序區(qū)
程序區(qū)是由一系列的指令構(gòu)成的,不能在這些指令中間任意安排陷阱,否則會(huì)破壞正常的程序流程。但是,在這些指令中間常常有一些斷點(diǎn),正常的程序執(zhí)行到斷點(diǎn)處就不再往下執(zhí)行了,這類指令有LJMP、SJMP、AJMP、RET、RETI,這時(shí)PC的值應(yīng)發(fā)生正常跳變。如果在這些地方設(shè)置陷阱就有可能捕捉到“跑飛”的程序。例如,對一個(gè)累加器A的內(nèi)容的正、負(fù)和零的情況進(jìn)行三分支的程序,軟件陷阱安排如下: JNZXYZ … ;零處理AJMPABC ;斷點(diǎn)NOPNOPLJMPERR ;陷阱XYZ:JBACC.7,UVW … ;正處理AJMPABC ;斷點(diǎn)NOPNOPLJMPERR;陷阱UVW:… ;負(fù)處理ABC:MOVA,R2 ;取結(jié)果RET ;斷點(diǎn)NOPNOPLJMPERR ;陷阱RAM數(shù)據(jù)保護(hù)的條件陷阱單片機(jī)受到嚴(yán)重的干擾時(shí),可能不能正確地讀寫外部的RAM區(qū)。為解決這個(gè)問題,可以在進(jìn)行RAM的數(shù)據(jù)讀寫之前,測試RAM讀寫通道的暢通性,這可以通過編寫陷阱實(shí)現(xiàn),當(dāng)讀寫正常時(shí),不會(huì)進(jìn)入陷阱,若不正常,則會(huì)進(jìn)入陷阱,且形成死循環(huán)。實(shí)現(xiàn)程序?yàn)椋篗OVA,#NNH ;NN是任意的MOVDPTR,#XXXXHMOV6EH,#55HMOV6FH,#0AAHNOPNOPCJNE6EH,#55H,XJ;6EH中不為55H則落入死循環(huán)CJNE6FH,#0AAH,XJ;6FH中不為AAH則落入死循環(huán)MOVX@DPTR,A ;A中數(shù)據(jù)寫入RAM的XXXXH單元中 NOP NOP MOV6EH,#00H MOV6FH,#00H RETXJ: NOP ;死循環(huán) NOP SJMPXJ
落入死循環(huán)以后,可以通過后面將要介紹的“看門狗”技術(shù)來復(fù)位系統(tǒng)。四、WATCHDOG如果“跑飛”的程序落到一個(gè)臨時(shí)構(gòu)成的死循環(huán)中,冗余指令和軟件陷阱都將無能為力,這時(shí)可采取WATCHDOG(俗稱“看門狗”)措施。WATCHDOG有如下特性:(1)本身能獨(dú)立工作,基本上不依賴于CPU。CPU只在一個(gè)固定的時(shí)間間隔內(nèi)與之打一次交道,表明整個(gè)系統(tǒng)“目前尚屬正?!薄?2)當(dāng)CPU落入死循環(huán)后,能及時(shí)發(fā)現(xiàn)并使整個(gè)系統(tǒng)復(fù)位。圖10.12硬件WATCHDOG電路也可以用軟件程序來形成WATCHDOG。例如,可以采用8031的定時(shí)器T0來形成WATCHDOG。將T0的溢出中斷設(shè)為高優(yōu)先級中斷,其它中斷均設(shè)置為低優(yōu)先級中斷,若采用6MHz的時(shí)鐘,則可用以下程序使T0定時(shí)約10ms來形成軟件WATCHDOG:MOVTMOD,#01H;置T0為定時(shí)器SETBET0 ;允許T0中斷SETBPT0 ;設(shè)置T0為高優(yōu)先級中斷MOVTH0,#0E0H ;定時(shí)約10msSETBTR0 ;啟動(dòng)T0SETBEA ;開中斷WATCHDOG啟動(dòng)后,主程序要每隔小于10ms執(zhí)行一次。MOVTH0,#0E0H。使得T0不會(huì)溢出中斷。如果T0中斷,則在中斷向量區(qū)安放一條轉(zhuǎn)移到出錯(cuò)處理的轉(zhuǎn)移指令。也可以在中斷服務(wù)程序中使系統(tǒng)程序從頭開始執(zhí)行,或使程序從失常處重新執(zhí)行。ORG0000H LJMPMAIN ORG000BHWDT0:MOVA,#00H POPR0;彈出CPU響應(yīng)中斷時(shí)壓入堆棧內(nèi)的 POPR0 故障發(fā)生處的PC值 PUSHA;把PC值換成累加器的內(nèi)容,在此 PUSHA PC=0000H RETI中斷使系統(tǒng)程序從頭開始執(zhí)行程序:10.4.3系統(tǒng)的恢復(fù)一、系統(tǒng)的復(fù)位如用軟件WATCHDOG使系統(tǒng)復(fù)位時(shí),程序出錯(cuò)有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已經(jīng)置位,它將阻止同級的中斷響應(yīng),由于軟件WATCHDOG是高級中斷,它將阻止所有的中斷響應(yīng)。由此可見清除中斷激活標(biāo)志的重要性。在所有的指令中,只有RETI指令能清除中斷激活標(biāo)志。前面提到的出錯(cuò)處理程序ERR主要是完成這一功能。這部分程序如下:ORG3000HERR:CLREA;關(guān)中斷MOVDPTR,#ERR1;準(zhǔn)備返回地址PUSHDPLPUSHDPHRETI;清除高優(yōu)先級中斷激活標(biāo)志ERR1:MOV66H,#0AAH;重建上電標(biāo)志MOV67H,#55HCLRA;準(zhǔn)備復(fù)位地址PUSHACC;壓入復(fù)位地址PUSHACCRETI;清除低級中斷激活標(biāo)志圖10.13系統(tǒng)復(fù)位策略二、熱啟動(dòng)的過程在進(jìn)行熱啟動(dòng)時(shí),為使啟動(dòng)過程能順利進(jìn)行,首先關(guān)中斷并重新設(shè)置堆棧。即使系統(tǒng)復(fù)位的第一條指令應(yīng)為關(guān)中斷指令。因?yàn)闊釂?dòng)過程是由軟件復(fù)位(如軟件WATCHDOG等)引起的,這時(shí)中斷系統(tǒng)未被關(guān)閉,有些中斷請求允許正在排隊(duì)等待響應(yīng);再者,在熱啟動(dòng)過程中要執(zhí)行各種子程序,而子程序的工作需要堆棧的配合,在系統(tǒng)得到正確恢復(fù)之前堆棧指針的值是無法確定的,所以在正式恢復(fù)之前要先設(shè)置好棧底,即第二條指令應(yīng)為重新設(shè)置棧底指令。然后,將所有的I/O設(shè)備都設(shè)置成安全狀態(tài),封鎖I/O操作,以免干擾造成的破壞進(jìn)一步擴(kuò)大。接著,根據(jù)系統(tǒng)中殘留的信息進(jìn)行恢復(fù)工作。圖10.14三中取二表決流程三、系統(tǒng)信息的恢復(fù)首先將要恢復(fù)的單字節(jié)信息及它的兩個(gè)備份信息分別存放到工作寄存器R2、R3和R4中,再調(diào)用表決子程序。子程序出口時(shí),若F0=0,表示表決成功,即三個(gè)數(shù)據(jù)中有兩個(gè)是相同的;若F0=1,表示表決失敗,即三個(gè)數(shù)據(jù)互不相同。表決結(jié)果存放在累加器A中,程序如下:VOTE3:MOVA,R3;第一數(shù)據(jù)與第二數(shù)據(jù)比較XRLA,R3;JZVOTE32MOVA,R2;第一數(shù)據(jù)與第三數(shù)據(jù)比較XRLA,R4JZVOTE32MOVA,R3;第一數(shù)據(jù)與第三數(shù)據(jù)比較XRLA,R4;JZVOTE31SETBF0;失敗RETVOTE31:MOVA,R3;以第二數(shù)據(jù)為準(zhǔn)MOVR2,AVOTE32:CLRF0;成功MOVA,R2;取結(jié)果RET對于雙字節(jié)數(shù)據(jù),表決前將三份數(shù)據(jù)分別存入R2R3、R4R5、R6R7中,表決成功后,結(jié)果在R2R3中。程序如下:VOTE2:MOVA,R2;第一數(shù)據(jù)與第二數(shù)據(jù)比較XRLA,R4JNZVOTE21MOVA,R3XRLA,R5JZVOTE25VOTE21:MOVA,R2;第一數(shù)據(jù)與第三數(shù)據(jù)比較XRLA,R6JNZVOTE22MOVA,R3XRLA,R7JZVOTE25VOTE22:MOVA,R4;第二數(shù)據(jù)與第三數(shù)據(jù)比較XRLA,R6JNZVOTE23MOVA,R5XRLA,R7JZVOTE24VOTE23:SETBF0;失敗RETVOTE24:MOVA,R4;以第二數(shù)據(jù)為準(zhǔn)MOVR2,AMOVA,R5MOVR3,AVOTE25:CLRF0;成功RET硬件“看門狗”技術(shù)能有效監(jiān)視程序陷入死循環(huán)故障,但對中斷關(guān)閉故障無能為力;軟件“看門狗”技術(shù)對高級中斷服務(wù)程序陷入死循環(huán)無能為力。在實(shí)際應(yīng)用中,可以將硬件“看門狗”與軟件“看門狗”同時(shí)使用。實(shí)踐證明,將兩者結(jié)合起來后,程序的可靠性會(huì)大大提高。綜上所述,單片機(jī)系統(tǒng)由于受到嚴(yán)重干擾而使程序“跑飛”、陷入“死循環(huán)”或中斷關(guān)閉等故障時(shí),可以通過指令冗余技術(shù)、軟件陷阱技術(shù)和“看門狗”技術(shù)等,使程序納入正軌。若因故障而復(fù)位進(jìn)入0000H后,系統(tǒng)要執(zhí)行辨別上電方式、RAM數(shù)據(jù)的檢查與恢復(fù)和清除中斷激活標(biāo)志等一系列操作,然后根據(jù)功能模塊的運(yùn)行標(biāo)志,確定入口地址。10.5數(shù)字濾波所謂數(shù)字濾波,就是在單片機(jī)中用某種計(jì)算方法對輸入的信號進(jìn)行數(shù)學(xué)處理,以便減少干擾在有用信號中的比重,提高信號的真實(shí)性。這種濾波方法不需要增加硬件設(shè)備,只需根據(jù)預(yù)定的濾波算法編制相應(yīng)的程序即可達(dá)到信號濾波的目的。下面介紹幾種常用的數(shù)字濾波方法:程序判斷濾波、算術(shù)平均值濾波、加權(quán)平均值濾波、滑動(dòng)平均值濾波、中值濾波、一階滯后濾波和復(fù)合數(shù)字濾波法。數(shù)字濾波有如下優(yōu)點(diǎn):(1)數(shù)字濾波是由軟件程序?qū)崿F(xiàn)的,不需要硬件,因此不存在阻抗匹配的問題。(2)對于多路信號輸入通道,可以共用一個(gè)軟件“濾波器”,從而降低設(shè)備的硬件成本。(3)只要適當(dāng)改變?yōu)V波器程序或運(yùn)算參數(shù),就能方便地改變?yōu)V波特性,這對于低頻脈沖干擾和隨機(jī)噪聲的克服特別有效。
一、低通濾波若一階RC模擬低通濾波器的輸入電壓為X(t),輸出為Y(t),它們之間存在如下關(guān)系:為了進(jìn)行數(shù)字化,必須應(yīng)用它們的采樣值,即如果采樣間隔Δt足夠小,則式(5-1)的離散值近似為(5-1)即令則式(5-3)可化為(5-3)若采樣間隔Δt足夠小,則,濾波器的截止頻率為式中:Xn——第n次采樣值;Yn-1——第n-1次濾波結(jié)果輸出值;Yn——第n次濾波結(jié)果輸出值;
α——濾波平滑系數(shù),一階滯后濾波算法對周期性干擾具有良好的抑制作用,適用于波動(dòng)頻率較高參數(shù)的濾波。其不足之處是帶來了相位滯后,靈敏度低。滯后的程度取決于α的大小。同時(shí),它不能濾除高于采樣頻率二分之一的干擾信號。圖10.15低通濾波器程序流程圖為計(jì)算方便,a取一整數(shù),(1-a)用256-a來代替。計(jì)算結(jié)果舍去最低字節(jié)即可,設(shè)Yn-1存放在30H(整數(shù))和31H(小數(shù))兩單元中,Yn存放在32H(整數(shù))和33H(小數(shù))中。程序如下:F1:MOV30H,32H;更新Yn-1MOV31H,33HACALLINPUT;采樣XnMOVB,#8;計(jì)算aXnMULABMOV32H,B;臨時(shí)存入Yn中MOV33H,AMOVB,#248;計(jì)算(1-a)Yn-1MOVA,31HMULABRLCAMOVA,BADDCA,33H ;累加到Y(jié)n中MOV33H,AINCF11INC32HF11:MOVB,#248MOVA,#30HMULABADDA,33HMOV33H,AMOVA,BADDCA,32HMOV32,ARET二、限幅濾波圖10.16限幅濾波程序流程圖當(dāng)|Yn-Yn-1|<△Y時(shí),則取Yn=Yn當(dāng)|Yn-Yn-1|≥△Y時(shí),則取Yn=Yn-1確定出兩次采樣輸入信號可能出現(xiàn)的最大偏差△Y。若實(shí)際先后兩次采樣值大于△Y,則表明本次輸入信號是干擾信號,取上次采樣值作為本次采樣值;若小于△Y,則本次采樣值有效,即:主要用于變化比較緩慢的參數(shù)PUSHACC;保護(hù)現(xiàn)場PUSHPSWMOVA,#30H ;Yn→ACLRCSUBBA,31H ;求Yn-Yn-1-1INCLP0 ;Yn-Yn-1≥0嗎?CPLA ;Yn<Yn-1,求補(bǔ)LP0:CLRCCJNEA,#01H,LP2 ;Yn-Yn-1>ΔY?LP1:MOV32H,30H ;等于ΔY,本次采樣值有效SJMPLP3LP2:JCLP1 ;小于ΔY,本次采樣值有效MOV32H,31H ;大于ΔY,Yn=Yn-1LP3:POPPSWPOPACCRET三、中值濾波中值濾波是對某一被測參數(shù)連續(xù)采樣n次(一般n取奇數(shù)),然后把n次采樣值按大小排列,取中間值為本次采樣值,中值濾波能有效地克服偶然因素引起的波動(dòng)或采樣器不穩(wěn)定引起的誤碼等脈沖干擾。設(shè)SAMP為存放采樣值的內(nèi)存單元首地址,DATA為存放濾波值的內(nèi)存單元地址,N為采樣值個(gè)數(shù),中值濾波程序如下:F3:MOVR3,#N-1;置循環(huán)初值SORT:MOVR2,R3 ;循環(huán)次數(shù)送R2MOVR0,SAMP ;采樣值首地址R0LOP:MOVA,@R0INCR0CLRCSUBBA,@R0;Yn-Yn-1→AJCDONE ;Yn<Yn-1轉(zhuǎn)DONEADDA,@R0 ;恢復(fù)AXCHA,@R0 ;Yn≥Yn-1,交換數(shù)據(jù)DECR0MOV@R0,AINCR0DONE:DJNER2,LOP;R2≠0,繼續(xù)比較DJNER3,SORT;R3≠0,繼續(xù)循環(huán)MOVA,R0ADDA,SAMP ;計(jì)算中值地址CLRCRRCAMOVR0,AMOVDPTA,@R0 ;存放濾波值RET四、算術(shù)平均濾波對目標(biāo)參數(shù)進(jìn)行連續(xù)采樣,然后求取算術(shù)平均值作為有效采樣值,該算法適用于抑制隨機(jī)干擾。按輸入的N個(gè)采樣數(shù)據(jù)Xi(i=1~N),尋找一個(gè)Y,使Y與各采樣值之間的偏差的平方和最小,即由一元函數(shù)求極值原理,可得設(shè)第i次測量的采樣值包含信號成分Si和噪聲成分ni,則進(jìn)行N次測量的信號成分之和為噪聲的強(qiáng)度是用均方根來衡量的,當(dāng)噪聲為隨機(jī)信號時(shí),進(jìn)行N次測量的噪聲強(qiáng)度之和為程序如下:F4:CLRA ;清累加器MOVR2,AMOVR3,AMOVR0,#30H ;指向第一個(gè)采樣值FL40:MOVA,@R0 ;取一個(gè)采樣值 ADDA,R3;累加到R2、R3中 MOVR3,A CLRA ADDCA,R2 MOVR2,A JNCR0 CJNCR0,#38H,FL40 ;累加完8次FL41:SWAPA;(R2R3)/8RLAXCHA,R3SWAPARLAADDA,#80H ;四舍五入ANLA,#1FHADDCA,R3RET算術(shù)平均值法濾波的實(shí)質(zhì)即把連續(xù)采樣的N個(gè)值進(jìn)行算術(shù)平均,作為本次的輸出,即:N值決定了信號平滑度和靈敏度。隨著N的增大,平滑度提高,靈敏度降低。應(yīng)視具體情況選取N,以便得到滿意的濾波效果。為方便求平均值,N值一般取4、8、16之類的2的整數(shù)冪,以使用移位來代替除法。通常流量信號取12項(xiàng),壓力信號取6項(xiàng),溫度、成分等緩慢變化的信號取2項(xiàng)甚至不平均。這種濾波方法主要用于對壓力、流量等周期脈動(dòng)的采樣值進(jìn)行平滑加工,但對偶然出現(xiàn)的脈沖性于擾的平滑作用尚不理想,因而它不適用于脈沖性干擾比較嚴(yán)重的場合。五、滑動(dòng)平均值濾波先在RAM中建立一個(gè)數(shù)據(jù)緩沖區(qū),依順序存放N個(gè)采樣數(shù)據(jù),每采樣進(jìn)一個(gè)新數(shù)據(jù),就將最早采集的那個(gè)數(shù)據(jù)丟掉,而后求包括新數(shù)據(jù)在內(nèi)的N個(gè)數(shù)據(jù)的算數(shù)平均值或加權(quán)平均值。這樣,每進(jìn)行一次采樣,就可計(jì)算出一個(gè)新的平均值,從而加快了數(shù)據(jù)處理的速度?;瑒?dòng)平均值濾波對周期性干擾有良好的抑制作用,平滑度高,靈敏度低;但對偶然出現(xiàn)的脈沖性干擾的抑制作用差,不易消除由于脈沖干擾引起的采樣值的偏差,因此它不適用于脈沖干擾比較嚴(yán)重的場合,而適用于高頻振蕩系統(tǒng)。通過觀察不同N值下滑動(dòng)平均的輸出響應(yīng)來選取N值,以便既少占有時(shí)間,又能達(dá)到最好濾波效果。通常對流量信號,N取12,壓力信號N取4,液面參數(shù)N取4~12,溫度信號N取1~4。六、加權(quán)平均值濾波算術(shù)平均值濾波法對每次采樣值給出相同的加權(quán)系數(shù),即1/N。實(shí)際上某些場合需要增加新采樣值在平均值中的比重,可采用加權(quán)平均值濾波法,濾波公式為:其中,K1、K2、…Kn為加權(quán)系數(shù),且應(yīng)滿足K1、K2、…Kn均大于0,且它們的和為1。加權(quán)系數(shù)體現(xiàn)了各次采樣值在平均值中所占的比例,可根據(jù)具體情況決定,一般采樣次數(shù)愈靠后,取的比例愈大,這樣可增加新的采樣值在平均值中的比例。這種濾波方法可以根據(jù)需要突出信號的某一部分,抑制信號的另一部分。七、復(fù)合數(shù)字濾波為了進(jìn)一步提高濾波效果,有時(shí)可以把兩種或兩種以上不同濾波功能的數(shù)字濾波器組合起來,組成復(fù)合數(shù)字濾波器,或稱多級數(shù)字濾波器。例如,算術(shù)平均值濾波和加權(quán)平均值濾波,都只能對周期性的脈動(dòng)采樣值進(jìn)行平滑加工,但對于隨機(jī)的脈沖干擾,如電網(wǎng)的波動(dòng),變送器的臨時(shí)故障等,則無法消除。然而,中值濾波即可以解決這個(gè)問題。因此,可以將算術(shù)平均值濾波和加權(quán)平均值濾波組合起來,形成多功能的復(fù)合濾波。即把采樣值按序排列,然后將最大值和最小值去掉,再把余下的部分求和并取其平均值。這種濾波方法的原理可由下式表示:若X(1)≤X(2)≤…≤X(N),3≤N≤14,則:例10.1求兩個(gè)輸入數(shù)據(jù)中較大者的C51源程序.#include<reg51.h> //預(yù)處理命令#include<stdio.h>#defineuintunsignedintuintmax(uintx,uinty);//功能函數(shù)max說明main(){ //主函數(shù)uinta,A,c;//主函數(shù)的內(nèi)部變量類型說明SCON=0x52;TMOD=0x20;//串行口、定時(shí)器初始化PCON=0x80;TH1=0x0F3;//fosc=12MHz,波特率=4800TL1=0x0F3;TCON=0x69;printf("\nPleaseentertwonumbers:\n\n");//輸出提示符scanf("%d%d",&a,&A);//輸入變量a和b的值c=max(a,A);//調(diào)用max函數(shù)printf("\nmax=%u\n",c);//輸出較大數(shù)據(jù)的值 while(1);} //主程序結(jié)束uintmax(uintx,uinty){//定義max函數(shù),x、y為形式參數(shù)if(x>y)return(x); //將計(jì)算得到的最大值返回到調(diào)用處elsereturn(y);}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提升學(xué)生食堂服務(wù)效率的空間布局方案
- 游戲化教學(xué)在提升小學(xué)生數(shù)學(xué)思維中的應(yīng)用研究
- 教育游戲在語感培養(yǎng)中的應(yīng)用與效果
- 個(gè)人融資居間服務(wù)合同規(guī)范化版本(2024)一
- 科技創(chuàng)新在學(xué)術(shù)研究中的應(yīng)用與發(fā)展
- 科技家居產(chǎn)品安全應(yīng)用趨勢
- 二零二五版鋁礦加工廠能源消耗監(jiān)測合同4篇
- 2025年房地產(chǎn)開發(fā)商存貨倉單質(zhì)押融資合同3篇
- 二零二五版貨物裝卸合同操作規(guī)范2篇
- 二零二五版蜜蜂養(yǎng)殖與生物農(nóng)藥研發(fā)合作框架協(xié)議4篇
- 山東鐵投集團(tuán)招聘筆試沖刺題2025
- 真需求-打開商業(yè)世界的萬能鑰匙
- 2025年天津市政集團(tuán)公司招聘筆試參考題庫含答案解析
- GB/T 44953-2024雷電災(zāi)害調(diào)查技術(shù)規(guī)范
- 2024-2025學(xué)年度第一學(xué)期三年級語文寒假作業(yè)第三天
- 心律失常介入治療
- 6S精益實(shí)戰(zhàn)手冊
- 展會(huì)場館保潔管理服務(wù)方案
- 監(jiān)理從業(yè)水平培訓(xùn)課件
- 沖鋒舟駕駛培訓(xùn)課件
- 中石化浙江石油分公司中石化溫州靈昆油庫及配套工程項(xiàng)目環(huán)境影響報(bào)告書
評論
0/150
提交評論