68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 單片機應用系統(tǒng)的抗干擾方法

單片機應用系統(tǒng)的抗干擾方法

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:14
要消除單片機應用系統(tǒng)的干擾,只要去掉干擾形成的三個基本條件(干擾源、傳播路徑、敏感器件)之一即可,內(nèi)部的干擾源可以通過合理的電氣設計在一定程度上予以消除,外部干擾源則采取屏蔽、接地、隔離等措施予以消除或切斷?垢蓴_設計的主要工作是圍繞這一部分展開的,上述三個部分也不是絕對劃分的,通常一個系統(tǒng)的抗干擾措施是多方面的綜合以達到最佳的效果。
在實踐中,單片機應用系統(tǒng)的抗干擾設計一般是通過硬件抗干擾設計和軟件抗干擾設計兩種途徑來實現(xiàn)的。硬件如果設計得當,就可以將絕大部分干擾拒之門外,但仍然會有少量干擾,所以軟件措施必不可少。由于軟件措施是以占用CPU為代價的,如果沒有硬件消除絕大部分干擾,CPU將疲于奔命,嚴重影響系統(tǒng)的工作效率和實時性。因此一個抗干擾性良好的單片機應用系統(tǒng)則是由硬件設計和軟件開發(fā)相輔相成而構成。
1. 硬件抗干擾設計
①     電源電路
單片機系統(tǒng)使用的電源,一般都是由電網(wǎng)的工頻交流電源經(jīng)降壓、整流、濾波等環(huán)節(jié)后提供。由于電網(wǎng)的影響以及生產(chǎn)現(xiàn)場大容量電氣設備的開停,會使交流電壓中含有高頻成分、浪涌電壓、尖峰脈沖或者發(fā)生較大幅度的電壓波動。這些因素都將導致干擾通過電源途徑影響系統(tǒng)的正常工作。電源做得好,整個電路的抗干擾工作就完成了一大半。許多單片機對電源噪聲很敏感,因此,應采用抗干擾的開關電源或給單片機電源加濾波電路或穩(wěn)壓器,以減少電源噪聲對單片機的干擾。電源線的布置除了要根據(jù)電流的大小,盡量加租導體寬度外,還要使電源線、地線的走向與數(shù)據(jù)傳遞的方向一致。這將有助于增強抗噪聲的能力。每種型號的單片機都有一個穩(wěn)定工作的電壓范圍,例如凌陽SPCE061A單片機工作電壓為3.3V~5V ,超出這個范圍將出現(xiàn)異常。
②     硬件復位電路


圖1  采用MAX6827的復位電路
復位電路是最容易受干擾的(因為CPU 內(nèi)部的復位電路的阻抗都比較高,為10~50kΩ) ,影響也是最大的。因此,必須采取抗干擾措施。圖1是采用MAX6827的復位及“看門狗”電路圖。該電路具有較強的抗干擾能力,由于沒有復位電容,不易引入干擾。
③     注意印制電路板的布線
印刷電路板是單片機系統(tǒng)中器件、信號線、電源線的高密度集合體,印刷電路板設計的好壞對系統(tǒng)的抗干擾能力影響很大。故在印刷電路板設計不單是器件、線路的簡單布局安排,還必須符合抗干擾設計原則。合理設計系統(tǒng)電路板,能有效地切斷干擾的傳播途徑和抑制干擾源,同時還可以提高敏感元件(如單片機、數(shù)字IC、A/ D、D/ A 等容易被干擾的對象) 的抗干擾能力。主要采取:
[1]  電路板合理分區(qū),如強、弱信號,數(shù)字、模擬信號分區(qū)。盡可能使干擾源(如電機,繼電器) 遠離敏感元件。大功率器件盡量布置在電路板的邊緣。
[2]  布線時盡量減少回路環(huán)的面積,以降低感應噪聲;電源線和地線要盡量粗,除減小壓降外,更重要的是降低耦合噪聲;連接線避免90度的折線,以減少高頻噪聲發(fā)射。
[3]  不用的單片機管腳,特別是中斷的入口,不要懸空,一般要通過上拉電阻接電源。
[4]  電路板上每個IC 要并接一個0.01μF~0.1μF高頻電容,以減少IC對電源的影響。
[5]  注意晶振布線。晶振與單片機引腳盡量靠近,用地線把時鐘區(qū)隔離(圈) 起來,晶振外殼接地并固定。此措施可解決許多疑難問題。
[6]  用地線把數(shù)字區(qū)與模擬區(qū)隔離,數(shù)字地與模擬地要分離,最后接于電源地一點匯集,呈“星形”狀。
在單片機應用系統(tǒng)中,接地是抑制干擾的重要方法。接地是否正確,接地是否牢固,將直接影響到系統(tǒng)的正常工作。如能將接地和屏蔽正確結(jié)合起來使用,可以解決大多數(shù)的干擾問題。
為了防止系統(tǒng)內(nèi)部地線干擾,在設計印刷電路板時可采取如下措施:接地線盡量加粗。若接地線很細,接地電位則隨著電流的變化而變化,致使計算機的定時信號電平不穩(wěn),抗噪聲性能變差。因此要根據(jù)通過電流的大小決定地線的寬度,應在可能的情況下,盡量將接地線條加粗、加寬,最好不小于3mm,使它能通過3倍于印刷電路板上的允許電流。對于多級電路,設計時要考慮各級動態(tài)電流,注意接地阻抗相互耦合的影響,工作頻率低于1MHz 時采用一點接地,工作頻率較高時采取多點接地。
2. 軟件抗干擾設計
在單片機應用系統(tǒng)中,盡管采取了硬件抗干擾措施,但由于干擾信號產(chǎn)生的原因十分復雜,且有很大的隨機性,因此在采取硬件抗干擾措施的基礎上,采取軟件措施加以補充。現(xiàn)簡要介紹如下幾種軟件抗干擾措施。
①     設立軟件陷阱(Trap)
單片機受到干擾時,程序計數(shù)器PC值最容易受影響,PC值的改變是隨機的,完全可以造成CPU離開正確的指令順序去執(zhí)行一些無定義地址中的內(nèi)容,或進入數(shù)據(jù)區(qū),把數(shù)據(jù)當作操作碼來控制,使整個工作紊亂,系統(tǒng)失控。這種情況對系統(tǒng)來說,比某個數(shù)據(jù)出錯造成的危害要嚴重得多。后者只涉及某個功能不能實現(xiàn)或者產(chǎn)生偏差,而前者則會使整個系統(tǒng)造成癱瘓。造成程序失控的原因并非程序設計本身的問題,而是由于外部的干擾或單片機內(nèi)部硬件瞬間故障,使得程序計數(shù)器(PC)偏離了原定的值。例如,當執(zhí)行完一條指令時,程序計數(shù)器PC應加數(shù)值1,但由于某種原因,使PC實際加2,這樣,程序就會把操作數(shù)和操作碼混淆起來,造成后面一系列的錯誤。
為了防止上述情況的發(fā)生,在軟件設計時,可以采用設立軟件陷阱的方法加以克服。其具體做法是,在ROM或RAM中,每隔一些指令(如十條或二十條),把連續(xù)的幾個單元置成“00”(空操作)。這樣,當出現(xiàn)程序失控時只要失控的單片機進入這眾多的軟件陷阱中任何一個,都會被捕獲,連續(xù)進行幾個空操作。執(zhí)行這些空操作后,程序自動恢復正常,繼續(xù)執(zhí)行后面的程序。這種方法雖浪費一些內(nèi)存單元,但可以保證程序不會跑飛。這種方法對用戶是不透明的,亦即用戶根本感覺不到程序是否發(fā)生錯誤操作。
②     開辟多個存儲區(qū)抗干擾
為了防止RAM出錯,丟失最重要的數(shù)據(jù),對于重要的輸入輸出數(shù)據(jù)開辟2~3個存儲區(qū)同時保存。存取數(shù)據(jù)時,采取比較表決法,以使數(shù)據(jù)去偽存真。
③     時間監(jiān)視器
時間監(jiān)視器(Watch-Dog Timer),也稱“看門狗”技術,用于設立軟件陷阱失效的情況下,讓系統(tǒng)從故障中恢復過來。因為因干擾而失控的程序不一定都會掉到陷阱中去,比如程序的死循環(huán)就是如此。所謂死循環(huán),就是由于某種原因使程序陷入某個應用程序或中斷服務子程序中做無休止的循環(huán)。這樣,CPU及其他系統(tǒng)資源被其占用而別的任務程序都無法執(zhí)行。也就是說,死循環(huán)使程序失去正?刂,但它不會使程序控制轉(zhuǎn)入陷阱區(qū),因而軟件陷阱無法捕捉它。
時間監(jiān)視器由兩個計數(shù)器組成,計數(shù)器靠系統(tǒng)時鐘(或分頻后的脈沖信號)進行計數(shù)。當計數(shù)器記滿時,將由計數(shù)器產(chǎn)生一個復位信號,強迫系統(tǒng)復位,使系統(tǒng)重新執(zhí)行程序。在正常情況下,每隔一定的時間(根據(jù)系統(tǒng)應用程序執(zhí)行的長短來確定),程序使計數(shù)器清零。這樣,計數(shù)器就不會記滿,因而不會產(chǎn)生復位。


圖2  SPCE061A 看門狗結(jié)構與時序
例如,凌陽單片機SPCE061A的WatchDog的清除時間周期為0.75s。因為WatchDog的溢出復位信號WatchDog_Reset是由4Hz時基信號經(jīng)4分頻之后產(chǎn)生的,即每4個4Hz時基信號(1s)將會產(chǎn)生一個WatchDog_Reset信號。而清除WatchDog的WatchDog_Clear信號卻可以發(fā)生在4Hz信號(0.25s)之間的任意一個時刻點上。假如WatchDog_Clear信號發(fā)生在4Hz信號尾端的0.01s即第0.25s時刻,此時雖然WatchDog被清除掉,但由于它發(fā)生在4Hz信號之后,再經(jīng)3個4Hz信號即0.75s,如果一直沒有WatchDog_Clear信號,便會產(chǎn)生出一個WatchDog_Reset信號。如圖2所示,如果程序運行不正常,例如陷入死循環(huán)等,計數(shù)器將記滿而產(chǎn)生溢出此溢出信號用來產(chǎn)生復位信號,使程序重新開始啟動。在編程中,我們只需將0X0001H寫入P_WatchDog_Clear單元即可完成清除WatchDog操作,如果在0.75秒內(nèi)沒有將0X0001H寫入P_WatchDog_Clear單元,則CPU將進行系統(tǒng)復位操作,即平常我們說的重啟系統(tǒng)?撮T狗經(jīng)常用于延時程序中,如
void Delay()
{
unsigned int j;
for(j=0x7fff;j>0;j--);
*P_Watchdog_Clear = 0x0001;//清看門狗
}
④     加入空操作NOP
在ROM或RAM的若干區(qū)域內(nèi),存放若干個空操作組,空操作的個數(shù)等于所選CPU芯片最長指令節(jié)數(shù)。空操作指令NOP除了占用一個存儲單元和執(zhí)行時間外,對CPU的工作狀態(tài)沒有影響。如有選擇地在程序某地方插進1~2個NOP指令,也能使PC中的內(nèi)容得到調(diào)整,使程序在受到干擾后回到正確的順序。插入的位置要在程序調(diào)試過程中摸索、分析和實驗。一般來說,在對外設端口的操作指令、多字節(jié)指令、轉(zhuǎn)移指令、堆棧操作指令前插入NOP指令會得到好的效果。此外,還可以在空操作組之后,再增加處理跑飛的程序,而且讓CPU在執(zhí)行正常程序時,不執(zhí)行這些指令組。只有當跑飛時才有可能遇到這些指令組。例如:
NOP
NOP
NOP
LJMP  FF
FF:ACALL FLY
MOV A,FLG
CJNE A,#11H,RSM
……
⑤     分段式軟件抗干擾
某些時候,控制系統(tǒng)要順序執(zhí)行幾個不同的主循環(huán)通道以完成不同的功能。這時可在不同主環(huán)路內(nèi)編制抗干擾判別及自恢復功能。這樣做可以避免不必要的重復執(zhí)行,以保證順序的完整性。
⑥     數(shù)字濾波
數(shù)字濾波是通過程序設計對單片機數(shù)據(jù)采集部分輸入的信號進行加工處理,以達到抗干擾的目的。當干擾疊加輸入通道的模擬信號時,使數(shù)據(jù)采集誤差加大,特別當輸入通道模擬信號較弱時,此現(xiàn)象更加嚴重。為了消除數(shù)據(jù)采集的誤差,常用算術平均法、比較取舍法、一階滯后濾波法和中值法,可根據(jù)信號和干擾的規(guī)律,采用最優(yōu)的設計方法。
不同的單片機應用系統(tǒng)都有自己的系統(tǒng)要求和特點,在硬件和軟件抗干擾設計上也各有自己的特色。軟件抗干擾技術作為硬件抗干擾的補充,以其靈活性、實用性和可靠性在單片機應用系統(tǒng)抗干擾方面起著舉足輕重的作用。在工程實踐中通常都是幾種抗干擾技術并用,互相補充,才能取得良好的抗干擾效果。我們在設計單片機應用系統(tǒng)時,要仔細分析干擾源,軟硬件抗干擾技術相結(jié)合,完善系統(tǒng)監(jiān)控程序,則可以保證系統(tǒng)準確、可靠地運行。

編輯:admin  最后修改時間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

永州市| 勐海县| 东平县| 石台县| 贡山| 嘉义县| 天水市| 原平市| 区。| 彭山县| 来宾市| 广平县| 普安县| 涡阳县| 昌江| 繁昌县| 松江区| 彝良县| 同德县| 辉县市| 宕昌县| 嘉荫县| 宁陕县| 南通市| 南川市| 乐陵市| 瑞昌市| 潜山县| 南京市| 巴彦县| 广水市| 汝州市| 太康县| 集贤县| 化隆| 宾阳县| 沙坪坝区| 开封市| 平湖市| 贵南县| 建宁县|