999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單片機控制系統的軟件抗干擾技術措施*

2017-04-25 08:59:07麒,王
電子器件 2017年2期
關鍵詞:指令單片機程序

劉 麒,王 影

(吉林化工學院信控學院,吉林 吉林 132022)

單片機控制系統的軟件抗干擾技術措施*

劉 麒*,王 影

(吉林化工學院信控學院,吉林 吉林 132022)

為了提高單片機控制系統在實際工作中的在軟件方面的抗干擾性,基于軟件抗干擾方法在單片機中的實現理論,論述了主流軟件抗干擾技術的利弊,將C語言與其他多種匯編語言相結合,對現有的軟件抗干擾技術的弊端進行分析并予以解決,較之硬件抗干擾技術,所提的軟件抗干擾技術可大幅提高控制系統的工作效率并極大的節約了系統計算時間,并且可廣泛應用于單片機嵌入式的控制系統中。

51單片機;混合編程語言;抗干擾技術

隨著工業自動化程度的快速發展,單片機憑借其優秀的嵌入性以及強大的計算能力,在工業各個行業得到廣泛的應用,國內外學者亦對其進行了廣泛的研究,而對其控制系統在抗干擾能力方面的研究大多數集中在硬件的改善,硬件的改善可解決一部分影響單片機控制系統的干擾源,而相當大的一部分干擾源則是由軟件方面引起的,并且改善軟件方面的干擾源所耗成本較低,查找問題迅速,對其控制系統進行較為合適的算法設計,編制適宜的控制程序即可實現高精度采集控制,選用最為合適的控制算法,使單片機控制系統在各類干擾源的影響下可以穩定的運行。

比較目前較為流行的集中匯編語言,C語言(C51)憑借其良好的可讀性以及較寬的可復制性,被廣泛應用于單片機程序開發中[1]。目前已報道的文獻表明,應用軟件抗干擾技術較為主流的方法是基于C語言或者基于其他類型的編程語言來實現的,而C51結合多種語言來提高單片機控制系統抗干擾性的研究鮮見報道,在已經報道的文獻中亦有多個不適用的方法,因此,本文結合51單片機對其控制系統的抗干擾性進行了詳細的研究,首先對其工作原理進行了分析,結合實例著重分析了目前應用較為廣泛的抗干擾的方法,并且對于已經報道的文獻中所出現的不足予以糾正、改善,對所提的C51結合其他匯編語言進行編程并給出具體控制程序,此類程序具有優異的可復制性,對其稍作修改即可廣泛應用于各個行業的控制領域。

1 控制系統設計

基于單片機編制具有模塊化特點的控制系統由5個子模塊組成,其結構示意圖如圖1所示。左圖是定時中斷服務程序,用中斷方式產生1 ms或其他適當時間間隔的定時信號,并在中斷服務程序中做盡可能少的處理,如計數、設置標識位等。右圖是系統主程序,在主程序的主循環中,可以對各種標志進行判斷,符合條件則做相應處理,并清除相關標志。

圖1 控制系統框圖

圖1所示的系統初始化子程序是在控制系統運行之初,對單片機的各個子模塊狀態進行預設的初始化設置,比如對各個控制變量以及數據存儲單元賦予最初的設定值;監控模塊主要是根據實時被控對象的變化情況來選擇應執行的子模塊來滿足被控對象的穩定運行,其工作模式為一個循環往復的周期循環模式,在監控過程中的中斷子程序會進行中斷執行,在斷點處返回并持續進行工作,在返回到監控模塊中,其中斷模式包括程序外以及定時器中斷等模式;本文所提抗干擾模塊是嵌入于各個子模塊中的未被占用的內存空間中,本文將對其進行深入分析。

2 軟件抗干擾技術

2.1 數字濾波技術

利用單片機搭建的控制系統主要是對被控對象的外部設備進行控制,在單片機控制系統進行被控對象的實時數據采集時,采集的數據并不能精確的反應被控對象的狀態,采集數據會伴隨著一定的隨機誤差的產生,此類隨機誤差不可避免,因為系統中存在著或大或小的隨機性干擾源,其會干擾采集到的數據誤差具有隨機波動性,并且每次采樣的數據誤差均不相同,但是經過多次數據采樣后,對被控對象的多組特性實時數據進行統計分析,發現多組數據具有一定規律的特性,在硬件方面可選用電子濾波器進行濾波,本文主要是在軟件方面進行濾波,研究表明,軟件數字濾波技術對于精確控制被控對象具有重要作用,其具有極強的實時反應被控對象的特性[2]。

2.1.1 限幅濾波算法

限幅濾波是基于同一數據采集點的相鄰兩次采集數值差,并將其差值的絕對值進行比較,最終得到最大差值A,對A進行判斷,如果小于等于設定精度值,則本次數據采集為有效過程,反之應去除此采集數據延用上一次的采集值。

算法的程序代碼如下:

//============================

#define A//允許的最大差值

char data;//上一次的數據

char filter()

{

char datanew;//新數據變量

datanew=get_data();//獲得新數據變量

if((datanew-data)>A||(data-datanew>A))

return data;

else

return datanew;

}

說明:限幅濾波法多應用在采集被控對象的溫度以及被控對象位置等參數,此類參數的共性為數據變化較慢。

2.1.2 中值濾波算法

此算法是采集一組被控對象的特征數據,將此組采集數據組由小到大進行排序,將位于此組數據中間的采樣數據值作為此次采集過程的采樣值,此類濾波技術實際上是一種排列取值的運算過程。

算法的程序代碼如下:

#define N 11//定義獲得的數據個數

char filter()

{

char value_buff[N];//定義存儲數據的數組

char count,i,j,temp;

for(count=0;count

{

value_buf[count]=get_data();

delay();//如果采集數據比較慢,那么就需要延時或中斷

}

for(j=0;j

{

for(value_buff[i]>value_buff[i+1]

{

temp=value_buff[i];

value_buff[i]=value_buff[i+1];

value_buff[i+1]=temp;

}

}

return value_buff[(N-1)/2];

說明:中值濾波技術可屏蔽掉控制系統偶然因素以及采樣設備波動干擾。種植濾波技術適用于數據變化較慢的被控對象,變化較快的數據則不適用。

2.1.3 算術平均值濾波算法

該算法的基本原理很簡單,就是連續取N次采樣值后進行算術平均。

算法的程序代碼如下:

char filter()

{

int sum=0;

for(count=0;count

{

sum+=get_data();

delay():

}

return(char)(sum/N);

}

說明:被控對象發出的信號具有隨機性時宜采用算術平均濾波算法進行濾波。

2.1.4 滑動平均濾波算法

上述的濾波算法均具有一個共性,就是需要進行多次數據采集才能得到一次有效的數據采集點,數據采集數度較慢,不能實時獲得被測對象的特征變化。而滑動平均濾波算法只需將本次采集數據與前幾次采集數據進行運算,求得其平均值,即可得到有效的采集數據。

程序代碼如下:

char value_buff[N];

char i=0;

char filter()

{

char count;

int sum=0;

value_buff[i++]=get_data();

if(i==N)

i=0;

for(count=0;count

sum=value_buff[count];

return(char)(sum/N);

}

2.2 軟件陷阱技術

2.2.1 空閑ROM存儲空間

在對程序語言進行匯編過程中,代碼在內存中的存儲地址由偽指令來分配,內存中的地址分為固定位置以及重新分配位置2個段位,前者的位置在程序編制之初就已經設定好了相關地址,因此不可改變其地址,而后者可以基于會變軟件對程序進行修改,實現對其存儲地址再分配的目的,本文擬基于前者進行分析,設定內存空間的存儲地址以500 h為起點[6]。

2.2.2 重置堆棧指針SP和中斷功能的恢復

目前,國內已報道的文獻[7-10]均未對中斷功能的恢復進行深入的研究,導致此類干擾是影響控制系統精度的一個重要的因素,大部分研究僅僅給控制系統設定返回功能,將對系統進行重新的初始化以達到控制系統繼續正常工作的目的,此種做法具有一定的作用,但是未能較為徹底的從根本上解決這一問題。本文擬將在內存代碼存儲地址以外的位置,執行中斷指令,此種做法的目的是為了可以將各類中斷指令分級處理,對于同等級的程序指令可同時接收,并可以對同等級的多個指令進行重置,此方法可以將中斷程序指令的作用得到最優化的使用。

當單片機的CPU受到干擾源干擾時,會把系統操作數誤以為系統指令程序來存儲并執行,導致控制系統程序工作混亂,主要程序代碼有以下幾種:

(1)中斷向量區

ORG 0000H

START:LJMP MAIN

LJMP INT0

NOP

NOP

LJMP ERR 陷阱

LJMP TOINT

NOP

NOP

LJMP ERR 陷阱

ORG 0040H

ERR:

(2)在表格區

在表格區的最后安排5 byte的陷阱

TABEL1:

DB------------

DB------------

NOP

NOP

LJMP ERR

(3)在未使用的ROM空間

未被程序指令占用的內存空間一般均為OFFH,當程序指令發生跑飛到此位置,其會產生飛流直下的狀態,因此應在程序中在固定的程序存儲地址程序加入些軟件陷阱以準確實時的捕捉跑飛的程序指令。

程序指令如下:

ORG 6000H

NOP

NOP

LJMP ERR

ORG 7FFBH

NOP

NOP

LJMP ERR

(4)在子程序后面

XXXX:

;;;;;;;;;;

;;;;;;;;;;

RET

NOP

NOP

LJMP ERR

單片機控制系統的CPU計算時間單位為微秒級,上述程序最多可消耗14個計算時間,也就是說程序指令出現跑飛開始到控制系統將其捕獲并進行初始化所耗費的時間極短,小于等于80 μs,而硬件方面的定時器的工作時間單位為毫秒級,遠遠高于軟件匯編程序中斷捕獲所耗的時間,這亦驗證了采用匯編程序復位初始化控制系統可極大程度的節省系統運行時間周期,在系統工作效率以及控制的實時性方面獲得了較大的提升。

2.3 軟件冗余技術

單片機控制系統是由采集、控制硬件以及與之向匹配的軟件(匯編程序指令)組成的,通過將兩者進行完美融合實現控制系統協調工作,根據已有文獻報道的軟件冗余技術應用于控制系統中[7-10],學者們通常采用將空程序指令數設定為設置>3個,以此來解決正常運行的程序中所隱藏的跑飛程序。此種方法并不適用于控制系統正在執行中斷程序的過程,會使得控制系統整體失靈。

2.3.1 恢復塊技術

恢復塊技術基于后向運行策略對系統進行恢復,由主塊以及備用塊構成,主塊與備用塊的功能是相同的,控制系統工作時,主塊優先工作,并且在其運行結束以后對其性能進行測試,若其驗收結果未達到設定標準,則啟動備用塊重新進行采集控制運行。

圖2 恢復塊方法

冗余系統的冗余單元設計成具有自檢測和自糾錯的能力,構成1個恢復塊結構,其基本結構如下:

ensure <接收測試>

by <基本功能塊>

else by <備份塊1>

else by <備份塊n>

else by <錯誤處理>

2.3.2 多版本程序設計

多版本程序指令技術是一種基于靜態的故障屏蔽以及中斷指令的技術,其基于前向反饋恢復的控制策略,其是采用多個匯編程序同時對同意被控對象進行控制,基于統計學理論對多個程序運行結果進行統計分析,選出最符合實際需要的一種算法。其示意圖如圖3所示。

圖3 多版本程序指令技術示意圖

2.4 其他措施

2.4.1 數據重復讀取

在對被控對象進行數據采集、控制時,經常會出現隨機性極強的干擾信號干擾程序外的中斷程序指令所發出的信號,由于其具有極強的隨機性以及瞬時性而不易捕獲,可對其發出的信號進行多次采集對比分析以后,將其過濾掉,參考程序代碼如下:

//============================

start();% 啟動設備對象

try

time=0;data=0;

[data,time]=getdata();% 獲取采樣數據

catch

time=0;data=0;disp(“A timeout occurred”);

end

stop();% 停止設備對象

delete();% 刪除設備對象

2.4.2 軟件看門狗(Watch dog)技術

軟件冗余以及軟件陷阱技術并不是對所有失靈的程序指令均有效,此時通常采用對控制系統的程序指令監控技術,其并不能直接解決程序代碼失靈的問題,但是在程序代碼出現失靈時可以及時發現并將所有中斷程序關閉。軟件看門狗示意圖如圖4所示。

圖4 軟件看門狗技術示意圖

3 結束語

(1)為了避免單片機所開發的控制系統干擾源對系統產生的隨機干擾,應從軟、硬件入手,將兩者完美融合,充分發揮各自的作用以及各自優勢,二者相輔相成地配合協調工作,本文所提的混合編程語言理論可可大幅提高單片機控制系統的運行計算效率以及保證控制系統的穩定運行。

(2)對現有的軟件抗干擾方法的遠離以及利弊進行了深入分析,并提出了解決其弊端的辦法,本文所提的混合編程理論較之硬件抗干擾技術,其具有節約大量計算運行時間的同時,并可極大的提高單片機CPU的計算能力從而提高整個控制系統的實時效率,并且本文所提混合編程理論可廣泛應用于嵌入式控制系統中并可取得較好的控制效果。

[1] 盧莎,何菁,袁杰. 基于VLSI 平臺的C51 處理器仿真與設計[J]. 現代電子技術,2013,36(12):92-96.

[2] 張毅剛,劉杰. MCS-51單片機原理及應用[M]. 哈爾濱:哈爾濱工業大學出版社,2004:35-42.

[3] 徐惠民,安德寧. 單片微型計算機原理接口及應用[M]. 北京:北京郵電大學出版社,2003:56-59.

[4] 張麗云. 計算機接口實驗平臺的研制與開發[D]. 北京:北京交通大學,2007.

[5] 王立瑩,晉小莉. 微型計算機系統抗干擾技術[J]. 現代電子技術,2006,29(5):108-110.

[6] 姜學軍. 計算機控制技術[M]. 北京:清華大學出版社,2005:123-129.

[7] 潘仲明,簡盈,王躍科. 大作用距離超聲波傳感技術研究[J]. 傳感技術學報,2006,19(1):206-210.

[8] 潘宗預,潘登. 超聲波測距精度的探討[J]. 湖南大學學報(自然科學版),2002,29(3):18-21.

[9] 張玉珊,張玉霞. 過程計算機控制系統中的軟件濾波對策[J]. 河南師范大學學報(自然科學版),2001,29,(3):69-72.

[10] 何忠悅,于淑芳. 單片機抗干擾技術實踐應用探析[J]. 機電信息,2012(4):112-113.

Software Anti Interference Technology of Single Chip Microcomputer Control System*

LIUQi*,WANGYin

(College of information and control,Jilin Institute of Chemical Technology,Jilin Jilin 132022,China)

In order to improve single chip microcomputer(SCM)control system performances of disturbance rejection in the practical works,it discusses the advantages and disadvantages of the main software anti-interference technology based on realization in SCM. Combination C language and many assemble languages analyse and solve some drawbacks of on-going technology. The software anti-interference technology can improve work efficiency significantly,and it has greatly saved computation cycles. This method which combined C language and many assembly language can be widely used in embedded single chip microcomputer system.

51 single chip microcomputer;multi program language;anti-interference technology

項目來源:吉化院合字2015第095號項目

2016-03-12 修改日期:2016-05-06

C:7820;7210

10.3969/j.issn.1005-9490.2017.02.031

TP311

A

1005-9490(2017)02-0415-05

猜你喜歡
指令單片機程序
聽我指令:大催眠術
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 911亚洲精品| 麻豆精品视频在线原创| 国产精品黑色丝袜的老师| 亚洲精品国产自在现线最新| 久久亚洲黄色视频| 亚洲综合精品第一页| 91亚洲精品国产自在现线| 国产精品亚洲精品爽爽| 97一区二区在线播放| 久久91精品牛牛| 欧美日韩va| 国产亚洲精品精品精品| 国产无遮挡猛进猛出免费软件| 国产欧美专区在线观看| 少妇高潮惨叫久久久久久| 日本亚洲最大的色成网站www| 99精品视频在线观看免费播放| 国产男女免费视频| 91av国产在线| 亚洲人成网址| 久久国产成人精品国产成人亚洲| 国产午夜小视频| 欧美日韩一区二区三区四区在线观看| 国产成人av一区二区三区| 夜夜操天天摸| 日韩精品免费一线在线观看| 精久久久久无码区中文字幕| 2019年国产精品自拍不卡| 无码高潮喷水专区久久| 波多野结衣久久精品| 国产在线视频二区| 热伊人99re久久精品最新地| 国产杨幂丝袜av在线播放| 国产成人喷潮在线观看| 国产成人精品2021欧美日韩| 在线国产资源| 国产黄色爱视频| 久久久成年黄色视频| 国产欧美又粗又猛又爽老| 国产性爱网站| 丁香婷婷激情网| 日韩小视频网站hq| 成人日韩精品| 亚洲最大看欧美片网站地址| 日韩精品欧美国产在线| 亚洲视频二| 中文字幕日韩丝袜一区| 91麻豆精品视频| 蝌蚪国产精品视频第一页| 任我操在线视频| 亚洲三级a| 97视频精品全国免费观看 | 伊人五月丁香综合AⅤ| 国产白丝av| 日韩不卡免费视频| 亚洲高清无在码在线无弹窗| 国产精品短篇二区| 亚洲国产理论片在线播放| 黄色污网站在线观看| 国产性生大片免费观看性欧美| 亚洲an第二区国产精品| 免费人成又黄又爽的视频网站| 日本在线亚洲| 三上悠亚精品二区在线观看| 亚亚洲乱码一二三四区| 国产成人综合亚洲网址| 2020精品极品国产色在线观看| 亚洲专区一区二区在线观看| 亚欧成人无码AV在线播放| 91精品国产综合久久香蕉922 | 99精品在线视频观看| 国产成人啪视频一区二区三区| 毛片卡一卡二| 国产区福利小视频在线观看尤物| 国产精品美女在线| 天堂成人av| 中文字幕在线不卡视频| 91在线精品免费免费播放| 婷五月综合| 久草视频福利在线观看| 亚洲成年人网| 亚洲视频无码|