摘 要:針對(duì)基于單片機(jī)的遙控系統(tǒng)放入現(xiàn)場(chǎng)工作環(huán)境后受干擾嚴(yán)重的現(xiàn)象,認(rèn)真分析產(chǎn)生干擾的原因,詳細(xì)介紹了怎樣通過實(shí)驗(yàn)現(xiàn)象查找干擾原因的途徑,進(jìn)而提出了提高基于單片機(jī)的遙控系統(tǒng)抗干擾性能的解決方案。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);遙控;無線通信;抗干擾
中圖分類號(hào):TP33,TN972 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004373X(2008)0101003
Analysis and Implement of Anti[CD*2]jamming Measure in
Remote Control System Based on Single Chip
WANG Linli1,QIAO Zhi 2
(1.Information Technology College,Hebei University of Economics and Business,Shijiazhuang,050061,China;
2.Shijiazhuang Railway Institute,Shijiazhuang,050043,China)
Abstract:In the work environment,there may exist large amount of electromagnetism disturbance in the remote control system which is based on single chip microprocessor.The essay is aimed at carefully analyzing the cause producing the disturbance.It also introduces that how the phenomenon produce and seek the approach to resolve it effectively,and then puts forward some proposals to improve the anti[CD*2]jamming ability of the system.
Keywords:single chip microprocessor;remote control;wireless communication;anti[CD*2]jamming
1 引 言
從事過單片機(jī)應(yīng)用系統(tǒng)工作的研究人員都有這樣的體會(huì):所設(shè)計(jì)的單片機(jī)控制系統(tǒng)在實(shí)驗(yàn)室反復(fù)實(shí)驗(yàn)都可以得到很好的預(yù)期效果,然而把系統(tǒng)放到實(shí)際現(xiàn)場(chǎng)運(yùn)行時(shí)卻不能工作。我們課題組研制的基于單片機(jī)的遙控系統(tǒng)就遇到了這樣的問題,原因是工作現(xiàn)場(chǎng)比實(shí)驗(yàn)室環(huán)境惡劣,系統(tǒng)受到了各種各樣的干擾,系統(tǒng)必須增加一些有效的抗干擾措施才能正常運(yùn)行。有時(shí)后期的抗干擾工作比前期的設(shè)計(jì)工作還要艱巨,花費(fèi)的時(shí)間還要多,所以抗干擾技術(shù)非常重要,抗干擾措施是否運(yùn)用得當(dāng)直接關(guān)系到系統(tǒng)的穩(wěn)定性和可靠性。
關(guān)于單片機(jī)應(yīng)用系統(tǒng)抗干擾方面的介紹很多,根據(jù)多年的設(shè)計(jì)經(jīng)驗(yàn),在設(shè)計(jì)該系統(tǒng)過程中我們?nèi)婵紤]了系統(tǒng)的硬件和軟件抗干擾措施。硬件方面,設(shè)計(jì)電路時(shí)在數(shù)字量通道采用光電隔離,模擬量通道采用濾波電路,采用抗干擾穩(wěn)壓電源等;設(shè)計(jì)印刷電路板時(shí)綜合考慮了各種因素,采取了有效的抗干擾措施,比如:在各個(gè)關(guān)鍵部位配置去耦電容;信號(hào)線路和強(qiáng)電控制線路、電源線路分開走線等。軟件方面,采用了針對(duì)該系統(tǒng)的有效的軟件抗干擾措施,包括利用冗余指令、利用軟件陷阱、設(shè)置軟件看門狗等,另外為保證傳輸數(shù)據(jù)的可靠性,減少系統(tǒng)的隨機(jī)干擾對(duì)結(jié)果的影響,在軟件設(shè)計(jì)上對(duì)實(shí)時(shí)數(shù)據(jù)采用表決法,對(duì)一個(gè)數(shù)據(jù)連續(xù)采樣3次,進(jìn)行比較,如果有兩次是相同的,信號(hào)會(huì)被執(zhí)行,否則不執(zhí)行。
在設(shè)計(jì)過程中,我們就已經(jīng)考慮了抗干擾問題,然而即使根據(jù)多年的實(shí)踐經(jīng)驗(yàn)采用了很多諸如上述的軟硬件抗干擾方法,將系統(tǒng)放入現(xiàn)場(chǎng)環(huán)境中運(yùn)行后仍出現(xiàn)很多意想不到的問題。本文針對(duì)該遙控系統(tǒng)放入現(xiàn)場(chǎng)工作環(huán)境后,通過觀察由干擾引起的現(xiàn)象,從而分析產(chǎn)生干擾的原因,詳細(xì)介紹了怎樣通過實(shí)驗(yàn)現(xiàn)象查找干擾原因的途徑,進(jìn)而提出了提高單片機(jī)應(yīng)用系統(tǒng)抗干擾性能的解決方案。
2 基于單片機(jī)的遙控系統(tǒng)的功能介紹及工作原理
該遙控系統(tǒng)以單片機(jī)系統(tǒng)為基本控制單元,構(gòu)成無線傳輸系統(tǒng)、速度調(diào)節(jié)系統(tǒng)等,在3 km外控制運(yùn)動(dòng)目標(biāo)的啟動(dòng)、速度、往返、停止。在運(yùn)動(dòng)目標(biāo)的運(yùn)行過程中可根據(jù)需要隨機(jī)調(diào)節(jié)速度,調(diào)速范圍為7~25 km/h。所有這些狀態(tài)均由單片機(jī)控制實(shí)現(xiàn),由鍵盤輸入控制參數(shù),經(jīng)過單片機(jī)運(yùn)算與處理,通過無線數(shù)傳模塊完成對(duì)參數(shù)的無線傳輸、運(yùn)行狀態(tài)以及調(diào)速設(shè)備的控制,從而達(dá)到遙控運(yùn)行的目的。
3 抗干擾電路與放大電路
由于信號(hào)在傳輸過程中會(huì)受到各種干擾的作用,因此,無論是數(shù)字量輸入輸出通道還是模擬量輸入輸出通道,都要增加抗干擾電路。所以,D/A轉(zhuǎn)換器輸出的電壓信號(hào)對(duì)直流調(diào)速器實(shí)施控制之前要經(jīng)過一段抗干擾電路。光電耦合器可以構(gòu)成有效的抗干擾電路,但是光電耦合器的特性是非線性的,而且溫度系數(shù)大,用來傳送模擬量會(huì)產(chǎn)生較大的非線性失真及溫度漂移,所以此處不采用光電耦合器進(jìn)行隔離,而采用線性光耦。具體連接如圖1所示。
K3,K2為光耦電流傳輸比。
由計(jì)算公式可以看出,實(shí)現(xiàn)線性光隔輸出的前提是K10足夠大,并且,K3=K2,R3=R2。
89C51的P1口對(duì)執(zhí)行機(jī)構(gòu)進(jìn)行控制,他輸出控制靶車運(yùn)行狀態(tài)的前進(jìn)、后退、停止、啟動(dòng)等命令,通過控制狀態(tài)繼電器,使線路斷開或連通,驅(qū)動(dòng)靶車運(yùn)行。在單片機(jī)與執(zhí)行機(jī)構(gòu)之間,我們利用了隔離放大器中的光電耦合來實(shí)現(xiàn)抗干擾。
4 系統(tǒng)運(yùn)行中由干擾引起的現(xiàn)象及抗干擾分析
系統(tǒng)的軟、硬件抗干擾措施按常規(guī)方式都采用后,系統(tǒng)開始放入現(xiàn)場(chǎng)環(huán)境中運(yùn)行,仍然發(fā)生了很多故障,絕大多數(shù)是干擾的原因,作者挑選了幾個(gè)典型的現(xiàn)象進(jìn)行分析和解答,希望能和進(jìn)行單片機(jī)應(yīng)用研究的學(xué)者相互探討。
[HTF]現(xiàn)象1[HTSS] 將89C51芯片嵌入印刷電路板中上電運(yùn)行,程序沒有反應(yīng)。然而將89C51單片機(jī)芯片取下,換作仿真器運(yùn)行時(shí),程序開始執(zhí)行;或者電路板上電后,先按下復(fù)位鍵,程序也會(huì)正常執(zhí)行。
分析:?jiǎn)纹瑱C(jī)系統(tǒng)中的I/O接口芯片的復(fù)位端口與單片機(jī)的復(fù)位端口連在一起,統(tǒng)一復(fù)位。接口芯片由于生產(chǎn)廠家不同,復(fù)位時(shí)間也稍有不同;復(fù)位線較長(zhǎng)而有較大的分布電容,導(dǎo)致這些接口的復(fù)位過程滯后于單片機(jī)。工程實(shí)踐表明,當(dāng)單片機(jī)復(fù)位結(jié)束立即對(duì)這些I/O芯片進(jìn)行初始化操作時(shí),往往導(dǎo)致失敗。
[HTF]現(xiàn)象2[HTSS] 執(zhí)行狀態(tài)不穩(wěn)定,比如按下前進(jìn)鍵有時(shí)系統(tǒng)會(huì)執(zhí)行,而按過若干次后不再執(zhí)行。這時(shí)查看程序發(fā)現(xiàn)程序跑飛,應(yīng)該是本地控制狀態(tài),卻進(jìn)入遠(yuǎn)程控制程序。
分析:本地狀態(tài)或遠(yuǎn)程狀態(tài)的給定是通過P0.3口輸入的,P0.3口是“0”時(shí)為遠(yuǎn)程控制狀態(tài),是“1”時(shí)為本地控制狀態(tài)。在數(shù)字電路中,當(dāng)信號(hào)由一個(gè)狀態(tài)轉(zhuǎn)換成另一個(gè)狀態(tài)時(shí),會(huì)產(chǎn)生瞬變干擾。從P0.3口輸入的狀態(tài)由于干擾的作用發(fā)生了變化,使判斷出錯(cuò),程序跑飛。用示波器觀察P0.3端口的變化,發(fā)現(xiàn)有瞬時(shí)脈沖,此瞬時(shí)脈沖很窄,習(xí)慣上,如果脈沖噪聲的脈寬比有用脈沖寬度小很多,稱這種脈沖為窄脈沖噪聲。
[HTF]現(xiàn)象3[HTSS] 程序開始上電執(zhí)行,當(dāng)進(jìn)行到雙方開始通訊時(shí),發(fā)送方無線數(shù)傳模塊始終處于發(fā)送數(shù)據(jù)狀態(tài),接收方無線數(shù)傳模塊始終處于接收數(shù)據(jù)狀態(tài),無線數(shù)傳不再進(jìn)行。
分析:無線數(shù)傳模塊要被正確應(yīng)用才可以正確傳輸數(shù)據(jù)。他要求發(fā)送模塊與接收模塊的工作頻率一致,且目的地址和身份地址互為對(duì)應(yīng)。由于干擾的作用,無線數(shù)傳模塊的目的地址被修改,使發(fā)送模塊發(fā)送數(shù)據(jù)時(shí)找不到目的地。
現(xiàn)象4 按下前進(jìn)、后退等鍵若干次后,繼電器不再吸合,程序有時(shí)會(huì)自動(dòng)回復(fù)到初始化,有時(shí)會(huì)有誤動(dòng)作。比如:按下“前進(jìn)鍵”時(shí),控制“前進(jìn)”狀態(tài)的接觸器的線圈吸合一下又迅速彈開,反而控制“后退”狀態(tài)的接觸器的線圈吸和。
分析:查找原因的過程是從一個(gè)最簡(jiǎn)程序開始的,這個(gè)最簡(jiǎn)程序只能完成簡(jiǎn)單的前進(jìn)、后退、停止操作,即使這樣,上述狀況仍然存在,這樣排除了軟件錯(cuò)誤的可能。把硬件電路回復(fù)到最簡(jiǎn)狀態(tài),僅保留最基本的功能,上述狀態(tài)依然存在,至此判定是干擾的原因。為了減小干擾,在各芯片的電源與地之間加電容濾波,發(fā)現(xiàn)加的電解電容的容量越大,系統(tǒng)出現(xiàn)此故障越快,相反,電解電容容量越小,可以執(zhí)行的次數(shù)越多,據(jù)此判定是高頻干擾,因電解電容本身具有一定電感,對(duì)高頻濾波效果不好。把無線數(shù)傳模塊拿開,系統(tǒng)執(zhí)行明顯好轉(zhuǎn),在此時(shí)模塊靠近單片機(jī)系統(tǒng),并使其外殼重新接地時(shí),系統(tǒng)回復(fù)到原來狀態(tài)。至此判定,干擾源來自無線數(shù)傳模塊,并且是高頻干擾。無線數(shù)傳模塊不僅極易受到外部的干擾,而且他本身也是一個(gè)強(qiáng)大的干擾源,他發(fā)出的電磁波侵入微機(jī)系統(tǒng),作用在輸入系統(tǒng)上,使模擬信號(hào)失真,數(shù)字信號(hào)出錯(cuò),微機(jī)系統(tǒng)根據(jù)這種輸入信息作出的反應(yīng)必然是錯(cuò)誤的;作用在輸出系統(tǒng)上,使各輸出信號(hào)混亂,不能正常反應(yīng)微機(jī)系統(tǒng)的真實(shí)輸出,從而導(dǎo)致一系列錯(cuò)誤動(dòng)作,對(duì)于控制系統(tǒng)來說,其輸出將控制執(zhí)行機(jī)構(gòu),使其做出一些不正確的動(dòng)作;作用在微機(jī)系統(tǒng)的內(nèi)核,使三總線上的數(shù)字信號(hào)混亂,CPU得到錯(cuò)誤的地址信息后,引起程序計(jì)數(shù)器PC出錯(cuò),使程序運(yùn)行離開正常軌道,導(dǎo)致程序失控。
5 基于單片機(jī)的遙控系統(tǒng)的硬件抗干擾解決方案
前面提到了一些在現(xiàn)場(chǎng)運(yùn)行是系統(tǒng)出現(xiàn)的故障,針對(duì)這些現(xiàn)象,我們采取了一些抗干擾措施,有效地保證了系統(tǒng)的正常運(yùn)行。
現(xiàn)象1解決方案 當(dāng)單片機(jī)進(jìn)入0000H地址后,首先執(zhí)行約2 ms的軟件延時(shí),然后再對(duì)這些I/O芯片進(jìn)行初始化。
現(xiàn)象2解決方案 在P0.3端口與地之間加入RC濾波環(huán)節(jié),利用RC的低通特性濾掉窄脈沖噪聲。RC的時(shí)間常數(shù)根據(jù)經(jīng)驗(yàn)一般須大于現(xiàn)場(chǎng)可能出現(xiàn)的噪聲最大脈寬10倍左右,小于信號(hào)脈寬的1/10,只有這樣才能達(dá)到既能抑制噪聲,又不致于使信號(hào)丟失的目的。本例中有效信號(hào)實(shí)際為一個(gè)電平狀態(tài),頻率極低,故濾波時(shí)間常數(shù)可選大一些。
現(xiàn)象3解決方案 無線數(shù)傳模塊很容易受到外界干擾。外部干擾侵入無線數(shù)傳模塊,會(huì)改變模塊工作頻率、身份地址或目的地址,使模塊不能進(jìn)行正常通訊。為使模塊具有較好的抗干擾能力,采取了以下措施:
(1) 將無線數(shù)傳模塊與外部連接的電源線和數(shù)字信號(hào)線均換成金屬編織屏蔽線,金屬編織網(wǎng)作屏蔽層,內(nèi)心作信號(hào)線。屏蔽層起靜電屏蔽作用,屏蔽層與5 V電源共地。
(2) 萬一再次出現(xiàn)模塊參數(shù)被修改的情況,為使無線數(shù)傳能繼續(xù)進(jìn)行,設(shè)置一個(gè)故障檢測(cè)鍵,當(dāng)按下此鍵時(shí),重新對(duì)模塊參數(shù)進(jìn)行設(shè)置。
現(xiàn)象4解決方案 既然通過分析得知干擾源為無線數(shù)傳模塊,我們對(duì)無線數(shù)傳模塊采用了以下措施,使其不再干擾其他信號(hào)的輸入與輸出:
無線數(shù)傳模塊與微機(jī)系統(tǒng)的供電線路分開供電;
無線數(shù)傳模塊的電源并接濾波電容;
將無線數(shù)傳模塊浮置起來;
對(duì)微機(jī)系統(tǒng)進(jìn)行電磁屏蔽。
6 結(jié) 語
對(duì)抗干擾的分析和實(shí)現(xiàn)是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)過程中的重要環(huán)節(jié),尤其對(duì)于工作環(huán)境惡劣,又需要遠(yuǎn)程控制的情況,采取有效的抗干擾措施顯得尤其重要。本文在實(shí)踐的基礎(chǔ)上,經(jīng)過反復(fù)現(xiàn)場(chǎng)實(shí)驗(yàn)和理論認(rèn)證,對(duì)于在進(jìn)行基于單片機(jī)的遙控系統(tǒng)的設(shè)計(jì)中,遇到的干擾問題進(jìn)行了詳細(xì)的分析和總結(jié),給出了行之有效的解決方案,保證了數(shù)據(jù)和命令的準(zhǔn)確、及時(shí)地傳輸,使系統(tǒng)能夠安全、可靠的運(yùn)行。
參 考 文 獻(xiàn)
[1]孟慶建,張恭孝.單片機(jī)系統(tǒng)的電磁兼容問題[J].自動(dòng)化儀表,2004,25(4):63-65.
[2]黃昌明,韓九強(qiáng),昌明.基于無線通信的遠(yuǎn)程測(cè)控系統(tǒng)的研究[J].計(jì)算機(jī)自動(dòng)測(cè)量與控制,2001,9(6):14-16.
[3]何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1990.
作者簡(jiǎn)介 王琳麗 女,1977年出生,河北石家莊人。研究方向?yàn)殡姽だ碚撆c新技術(shù)。
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。”