




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 軟件抗干擾技術(shù)及其在單片機(jī)上的應(yīng)用,軟件抗干擾技術(shù),軟件陷阱,數(shù)字濾波。單片機(jī)1引言微機(jī)測控系統(tǒng)中,對軟件有以下幾個方面的基本要求:(1)可維護(hù)性:要求盡可能地采用模塊化設(shè)計(jì),程序流程清晰明了,最大限度地控制使用和調(diào)用嵌套次數(shù);(2)可理解性:軟件源代碼應(yīng)注意加注提示內(nèi)容,一般應(yīng)不少于整個代碼行數(shù)的60,使其易于理解和閱讀,便于修改和補(bǔ)充;(3)實(shí)時性:隨著集合度和運(yùn)算速度的提高,實(shí)時性已經(jīng)成為測試系統(tǒng)對軟件的普遍要求,在工程應(yīng)用軟件設(shè)計(jì)中,采用匯編語言要比采用高級語言更具有實(shí)時性;1 引 言微機(jī)測控系統(tǒng)中,對軟件有以下幾個方面的基本要求:(1)
2、可維護(hù)性:要求盡可能地采用模塊化設(shè)計(jì),程序流程清晰明了,最大限度地控制使用和調(diào)用嵌套次數(shù);(2)可理解性:軟件源代碼應(yīng)注意加注提示內(nèi)容,一般應(yīng)不少于整個代碼行數(shù)的60,使其易于理解和閱讀,便于修改和補(bǔ)充;(3)實(shí)時性:隨著集合度和運(yùn)算速度的提高,實(shí)時性已經(jīng)成為測試系統(tǒng)對軟件的普遍要求,在工程應(yīng)用軟件設(shè)計(jì)中,采用匯編語言要比采用高級語言更具有實(shí)時性;(4)準(zhǔn)確性:系統(tǒng)要求在進(jìn)行大量運(yùn)算時,要選取合適的算法,以便控制最后結(jié)果的精度;(5)可靠性:可靠性是測控軟件最重要的指標(biāo)之一,他要求兩方面的內(nèi)容:一方面是運(yùn)行參數(shù)環(huán)境發(fā)生變化時(如電壓在規(guī)定范圍內(nèi)出現(xiàn)較大波動),軟件都能可靠運(yùn)行并得出正確的結(jié)果,
3、也就是軟件的自適應(yīng)性;另一方面是在工作環(huán)境惡劣,干擾環(huán)境復(fù)雜嚴(yán)重的情況下,軟件必須保證可靠運(yùn)行,這對測控軟件尤為重要。為了保證以上兩方面的要求,就必須使用多種抗干擾技術(shù)。2軟件抗干擾技術(shù)及一般方法21 簡 介軟件抗干擾技術(shù)是當(dāng)系統(tǒng)受干擾后,使系統(tǒng)恢復(fù)正常運(yùn)行或輸入信號受干擾后去偽存真的一種輔助方法。此技術(shù)屬于一種被動抗干擾措施,但是由于軟件抗干擾設(shè)計(jì)靈活,節(jié)省硬件資源,操作起來方便易行,所以軟件抗干擾技術(shù)越來越受到人們的重視。軟件抗干擾技術(shù)主要研究的方面:(1)采取軟件的方法對疊加在模擬輸入信號上的噪聲進(jìn)行抑制,以讀取真正有用的信息,如數(shù)字濾波器;(2)在程序受到干擾"跑飛"
4、;的情況下,采取措施使程序回到正常的軌道上來,常見的抗干擾技術(shù)有:軟件攔截技術(shù)(軟件陷阱等);輸人口信號重復(fù)檢測方法;輸出口數(shù)據(jù)刷新;數(shù)字濾波;(3)程序具有自檢功能。22軟件攔截技術(shù)221NOP指令使用單片機(jī)中最容易受到干擾的是內(nèi)部程序計(jì)數(shù)器-PC的值,當(dāng)受到干擾時,PC值被改變,CPU誤將程序從正確位置跳轉(zhuǎn)到無意義區(qū)域,導(dǎo)致程序運(yùn)行出錯。目前常用的方法是在對程序走向有重要作用的指令(RET,LCALL,SJMP,JC,LJMP,ACALL等)之前加人23個單字節(jié)的NOP指令,當(dāng)失控的程序遇到該指令后得到調(diào)整,使接下來的程序得以正常執(zhí)行。從實(shí)際使用過程中總結(jié)可知,應(yīng)盡量多的使用NOP指令,而
5、且發(fā)現(xiàn)NOP指令成對使用時,能起到比較滿意的抗干擾效果。222 軟件陷阱(1)未使用的中斷區(qū)對于未使用的中斷源因干擾而開放,從而直接影響軟件的正常工作的中斷源,采用的方法一般是在對應(yīng)的中斷服務(wù)地址入口處設(shè)置軟件陷阱,使其跳轉(zhuǎn)到程序入口,通常的軟件陷阱設(shè)置如下面的程序: 0RG 0003HLJMP 0000H ;主程序入口而在實(shí)際使用中,此種處理方法并不合適,特別是在系統(tǒng)聯(lián)試中,突然重新執(zhí)行程序的情況應(yīng)盡量避免。實(shí)際處理應(yīng)該是讓其進(jìn)入一個信息處理程序,并顯示相關(guān)信息。這樣做既可以使程序捕捉到錯誤的中斷后,及時離開,又可以根據(jù)相關(guān)信息快速定位便于試驗(yàn)
6、順利進(jìn)行。如程序所示,只有定時器T0中斷開放,對于可能影響程序的中斷,如外部中斷、定時器T1中斷,在其中斷地址人口,均加上了軟件陷阱,使其跳轉(zhuǎn)到ER38這個故障處理程序,從而避免程序的"跑飛",也便于判斷程序的走向。(2)未使用的EPROM空間當(dāng)裝載軟件程序的存儲芯片為27C64,其地址空間為0000H1FFFFH,一般程序很少能夠用完,可填充"FF"。而FFH是MOVR7,A的機(jī)器碼,當(dāng)程序亂入非程序區(qū)后,不僅無法轉(zhuǎn)入正軌,而且還會破壞R7的內(nèi)容,因此在實(shí)際使用過程對未使用的EPROM空間應(yīng)全部填充為"0",因?yàn)槌绦驈?fù)位入口地址為0
7、000H,當(dāng)"跑飛"的程序指針跳至無程序處,可以讓其重新指向主程序入口,可以起到防"跑飛"的功能。(3)程序區(qū)為了保證可靠的運(yùn)行,以及一旦發(fā)生"跑飛",不但使其有出口而且便于判斷,實(shí)際應(yīng)用中在整個程序中設(shè)置了若干軟件陷阱,當(dāng)程序進(jìn)入陷阱后,讓其強(qiáng)制進(jìn)入一個指定地址執(zhí)行一段專門對程序出錯進(jìn)行處理的程序。通過試驗(yàn)驗(yàn)證和使用中的經(jīng)驗(yàn)總結(jié),在外場軟件編寫中,軟件陷阱的設(shè)置,主要是在正常的程序流程中,在認(rèn)為較為重要的程序段中,隨機(jī)設(shè)置若干個故障信息顯示程序區(qū),一方面是完成正常的故障信息的顯示,另一方面就是在程序"跑飛"的情況
8、下,通過故障信息的顯示,可以快速判斷"跑飛',的程序段,從而使程序步入正軌。程序流程如圖1所示。223 輸入口信號重復(fù)檢測方法對于重要開關(guān)量輸入信號的檢測,實(shí)際應(yīng)用中一般采用3次或5次重復(fù)檢測的方法,即對接口中的輸人數(shù)據(jù)信息進(jìn)行重復(fù)進(jìn)行3次或5次檢測,若結(jié)果完全一致則認(rèn)為是"真"的輸入信號,若多次測試結(jié)果不一致,即可以停止檢測顯示故障信息,又可以重復(fù)進(jìn)行再檢測。對于軟件測量而言,輸入量干擾大多數(shù)是疊加到有效信號上的一系列作用時間短的尖脈沖,但是頻率不一致,因此應(yīng)在相鄰的檢測之間應(yīng)有一定的時間間隔。理論上可以是等時間段的,而在實(shí)際使用過程中,由于外部環(huán)境比較
9、復(fù)雜,等時間段只能濾除某個頻段的干擾,為了濾除盡可能多的干擾,間隔時間應(yīng)為不等的時間段,但是對數(shù)據(jù)影響較大的尖峰,通過觀察其波形可知,其作用的時間寬度在幾十到幾百s之間,所以把濾波時間限定ms級上。在經(jīng)過使用和驗(yàn)證,此方法可以有效地保證軟件可靠運(yùn)行。需要注意的是,對于軟件時序要求比較嚴(yán)格場合,延時查詢時間不宜過長,查詢次數(shù)一般以3次為宜。程序流程如圖2所示。224 輸出端口數(shù)據(jù)刷新開關(guān)量輸出軟件抗干擾技術(shù)主要采用的方法是重復(fù)輸出,這是提高輸出端口穩(wěn)定性的有效措施之一。外場設(shè)備的微機(jī)系統(tǒng)為51單片機(jī)系統(tǒng),采用了8155,8255可編程I/O擴(kuò)展芯片,理論上只在上電啟動時,進(jìn)行初始化一次即可。但是
10、在實(shí)際使用中發(fā)現(xiàn),由于干擾等原因,可使芯片的工作控制字遭到破壞,從而使系統(tǒng)輸入輸出狀態(tài)混亂的情況時有發(fā)生,因此,在讀取重要信號之前,先對8155,8255進(jìn)行初始化操作,通過一段時間軟件運(yùn)行,穩(wěn)定度大大提高,但是狀態(tài)混亂情況仍有發(fā)生,經(jīng)過分析數(shù)據(jù)特點(diǎn)和系統(tǒng)要求后,認(rèn)為8155、8255允許多次設(shè)置狀態(tài)字、控制字等,而且對系統(tǒng)并無不良影響。因此,在實(shí)際應(yīng)用中,用到8255和8155之前均首先進(jìn)行初始化操作,然后再進(jìn)行狀態(tài)的讀取和寫入。通過長時間試驗(yàn)和聯(lián)試,不再出現(xiàn)此類問題,軟件運(yùn)行穩(wěn)定可靠。另外應(yīng)注意,在重復(fù)設(shè)置8255,8155芯片時,一定要將其工作方式、控制字一起設(shè)置,方可確保軟件可靠工作。
11、程序流程如圖3所示。225 數(shù)字濾波為了克服干擾對A/D轉(zhuǎn)換結(jié)果的影響,可根據(jù)情況采取相應(yīng)的數(shù)字濾波技術(shù)。數(shù)字濾波的方法很多,如有中值濾波法、平均值濾波法等,經(jīng)過對不同濾波法的實(shí)際使用和試驗(yàn)驗(yàn)證,認(rèn)為采用防脈沖干擾平均值濾波法,抗干擾效果比較明顯。普通的平均值濾波,在干擾十分嚴(yán)重的場合,所得到的平均值中干擾的成分仍比較大,不易消除由于脈沖干擾而引起的誤差。而防脈沖干擾平均值濾波是在采集的N個數(shù)據(jù)中,去掉數(shù)據(jù)中的最大值和最小值,然后計(jì)算N-2個數(shù)據(jù)的算術(shù)平均值。在實(shí)際應(yīng)用中,此法主要是用在AD值的檢測上,由于外場設(shè)備中AD采集值判定,直接影響此設(shè)備能否投入使用,所以對所采AD值的可靠性要求高,采
12、用此濾波法后,通過仿真可以清楚看出,在某些特定的情況下,AD采集值波動較大,但此法可以有效地避免了CPU對采集值的誤判,使軟件得以可靠運(yùn)行。程序流程如圖4所示,此程序完成的主要功能是調(diào)用A/D測量輸入子程序ACD,將循環(huán)采集的6個AD值,放在70H至75H的寄存器中,RO為記錄采集次數(shù),70H和75H分別放置最大值和最小值,去除最大值和最小值后,將其余4個值求算術(shù)平均數(shù),以得到的值為最終AD采集值放在68H寄存器中。226 程序自檢程序自檢是提高測控軟件可靠性的有效方法之一。在實(shí)際應(yīng)用中,自檢程序主要是對單片機(jī)系統(tǒng)的主要器件如8031的I/O口、外部擴(kuò)展的可編程I/O接VI芯片、A/D器件、ROM器件等進(jìn)行檢測,如出現(xiàn)故障能夠給出故障部
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚房防水漏水排查方案
- 防雨防滑安全教育
- 教育機(jī)器人技術(shù)如何助力終身學(xué)習(xí)體系構(gòu)建
- 全案托管施工方案
- 施工設(shè)備設(shè)施維護(hù)方案
- 育人活動設(shè)計(jì)模板
- 電力模擬工況方案(3篇)
- 教育新紀(jì)元K-12翻轉(zhuǎn)課堂在學(xué)生中的應(yīng)用效果
- 單位運(yùn)轉(zhuǎn)效能評估方案
- 個性化教育政策與大五人格理論的融合實(shí)踐
- 高考一輪生物復(fù)習(xí)講義 晨背晚默
- 項(xiàng)目管理年度述職
- 成人用品的購買渠道分析
- 粉店合伙合同協(xié)議書范本
- 2.2.2影響化學(xué)平衡的因素 課件高二上學(xué)期化學(xué)人教版(2019)選擇性必修1
- 2025年度河南省鐵路建設(shè)投資集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025鄭州市輔警考試試卷真題
- 礦山復(fù)墾工程合同協(xié)議
- 馬工程西方經(jīng)濟(jì)學(xué)(精要本第三版)教案
- 引水隧洞工程安全施工方案
- 北師大版五年級下冊分?jǐn)?shù)加減法簡便計(jì)算400道及答案
評論
0/150
提交評論