王高建
【摘要】單片機(jī)應(yīng)用系統(tǒng)的可靠性設(shè)計(jì)是一個重要的設(shè)計(jì)過程,并具有很強(qiáng)的工程實(shí)踐性。單片機(jī)應(yīng)用系統(tǒng)的可靠性由多種因素決定,提高可靠性包括兩方面的工作:一是在工藝上提高構(gòu)成系統(tǒng)的元器件本身的可靠性;二是在系統(tǒng)結(jié)構(gòu)的合理設(shè)計(jì)方面提高整個系統(tǒng)的可靠性。
【關(guān)鍵詞】單片機(jī);可靠性;工程實(shí)踐性
一、元器件的選擇與使用
元器件是組成單片機(jī)應(yīng)用系統(tǒng)硬件的基本單元,合理選擇與使用元器件對整個系統(tǒng)的可靠性運(yùn)行是非常重要的,因?yàn)橄到y(tǒng)中任何一個元器件(甚至一個二極管)發(fā)生故障都會導(dǎo)致整個系統(tǒng)不能正常工作,甚至損壞系統(tǒng)。元器件的選擇要結(jié)合具體系統(tǒng)的硬件可靠性分析進(jìn)行。
在元器件選擇上一般應(yīng)注意以下幾點(diǎn):
1、盡量選用大規(guī)?;虼笠?guī)模集成電路芯片來設(shè)計(jì)系統(tǒng)
這可大大減少電路間的分布電容,減少干擾信號耦合,同時也可減少由于元器件性能的離散性所造成的瞬態(tài)偶發(fā)性失效故障。目前CMOS型集成電路芯片被愈來愈多地使用,它在可靠性方面具有明顯的優(yōu)點(diǎn)。
2、盡可能選擇熱穩(wěn)定行好、噪聲系數(shù)小的元器件
單片機(jī)應(yīng)用系統(tǒng)運(yùn)行的環(huán)境溫度變化較大,而且輸入信號比較微弱,有些要經(jīng)過幾十倍、幾百倍、甚至上千倍的放大。溫度偏差或噪聲信號過大都可能造成系統(tǒng)工作不穩(wěn)定,甚至出現(xiàn)故障。
3、元器件的性能參數(shù)應(yīng)當(dāng)匹配
通常,電子器件在出廠前都進(jìn)行了空載老化等質(zhì)量處理。必要時我們可對重要器件進(jìn)行帶載老化處理,使它們通上電,帶上額定負(fù)載,在恒溫箱中存放幾十小時后取出在篩選。
二、干擾問題
單片機(jī)應(yīng)用系統(tǒng)在運(yùn)行的過程中會遇到各種各樣的干擾問題。本設(shè)計(jì)主要介紹輸入系統(tǒng)的抗干擾措施。
1、開關(guān)量輸入的抗干擾措施
開關(guān)量輸入往往會給系統(tǒng)帶來很強(qiáng)的干擾,這樣就需要我們設(shè)計(jì)一個電路如防抖電路或通過軟件程序來已抑制干擾、例如鍵盤這樣的開關(guān)量輸入設(shè)備,在按鍵的過程中會存在著抖動的問題,這樣按鍵抖動就形成了開關(guān)量的輸入干擾,處理這樣的開關(guān)量輸入干擾一般最常用的措施是光電隔離電路,如圖1所示。這種措施使得開關(guān)量輸入與單片機(jī)系統(tǒng)隔離開來,大大增強(qiáng)了系統(tǒng)的可靠性。
在圖1中,輸入為開關(guān)量,不論其電平標(biāo)準(zhǔn)如何,都可以通過調(diào)節(jié)限電阻R3來控制光電耦合器中發(fā)光二極管的發(fā)光狀態(tài),進(jìn)而控制耦合器中三級管的通短,使單片機(jī)的P1.1口得到標(biāo)準(zhǔn)的檢測電壓值。這種措施能有效地抑制尖峰脈沖及其他各種噪聲的干擾。
2、模擬量通道的抗干擾措施
與開關(guān)量輸入、輸出通道一樣,模擬量輸入、輸出通道也因與測控設(shè)備直接相連而成為強(qiáng)電干擾竄入系統(tǒng)的渠道。在模擬量輸入、輸出通道上采取抗干擾措施時,應(yīng)盡可能將抗干擾的屏蔽器件設(shè)置在執(zhí)行部件或傳感附近。
用于模擬量抗干擾的器件很多,但主要還是光電耦合器和隔離變壓器。A/D轉(zhuǎn)換器的并行輸入口、D/A轉(zhuǎn)換器的并行輸入口以及它們的地址和控制線都用光點(diǎn)耦合器進(jìn)行隔離,同時光電耦合器的輸入和輸出回路分別供電,完全切斷了單片機(jī)系統(tǒng)與外部供電系統(tǒng)的聯(lián)系。
三、硬件系統(tǒng)可靠性措施
上述防止和消除干擾的硬件主動性措施是有效的,但并不能完全保證系統(tǒng)的正常運(yùn)行,有時還需要系統(tǒng)工作狀態(tài)的監(jiān)視、異常情況的處理與故障自恢復(fù)的問題。這是就需要配合一些硬件措施,在軟件可靠性方面著手。監(jiān)視定時器的設(shè)計(jì)與應(yīng)用是其中最常用最有效的方法之一,甚至隨著單片機(jī)技術(shù)的發(fā)展,越來越多的單片機(jī)本身就帶有監(jiān)視定時器。
監(jiān)視定時器實(shí)質(zhì)上就是專用的定時/計(jì)數(shù)器,它的時鐘來自單片機(jī)內(nèi)部或外部。我們通過適當(dāng)?shù)某绦蛟O(shè)計(jì),使系統(tǒng)在正常運(yùn)行時,定時器每隔一定的時間將其初值化一次,保證不使其計(jì)數(shù)溢出。一旦系統(tǒng)出現(xiàn)異常,程序不能正常運(yùn)行而亂時,則監(jiān)視定時器不能再有限的時間內(nèi)被消零,造成計(jì)數(shù)溢出,引起系統(tǒng)中斷,而使CPU轉(zhuǎn)入故障診斷于處理程序,而后恢復(fù)系統(tǒng)的正常運(yùn)行。由此可見,監(jiān)視定時器提供了一中使系統(tǒng)從瞬時故障中能夠自動恢復(fù)的能力,其軟硬件實(shí)現(xiàn)也比較簡單,因而獲得了廣泛的應(yīng)用,長稱之為看門狗(WATCH DOG)。
四、軟件系統(tǒng)可靠性
為了提高系統(tǒng)的穩(wěn)定性和系統(tǒng)的精度,在程序方面可以采用各種措施,如數(shù)字濾波、自恢復(fù)、設(shè)置陷阱等。
1、數(shù)字濾波
數(shù)字濾波能夠清除有用信號中混雜的各種干擾信號,保證采集來的信號不失真,進(jìn)而達(dá)到提高應(yīng)用系統(tǒng)精度的目的。數(shù)字濾波器是根據(jù)系統(tǒng)的性質(zhì)、信號的來源、工作環(huán)境、系統(tǒng)精度要求,然后通過程序的方法采用不同形式抑制干擾,保持信號的本來面目。
數(shù)字濾波有多種形式,根據(jù)實(shí)際情況的不同來加以選擇和運(yùn)用。
(1)中值濾波
所謂中值濾波就是對某一個被測參數(shù)連續(xù)采樣n次(一般n取奇數(shù)),然后將n次采樣值進(jìn)行排序,最后取中間值作為有效值存入單片機(jī)內(nèi)部儲存中,該方法主要適用于具有脈動干擾的場合,該方法的場合,它非常適合快速變化的信號采集。
(2)算術(shù)均值濾波
改方法是將n次采樣值相加,然后取其算術(shù)平均值作為本次采樣有效值來使用。
(3)復(fù)合濾波
所謂復(fù)合濾波,就是將兩種或者兩種以上的濾波方法同時使用。復(fù)合濾波可大大提高濾波效果。目的被經(jīng)常使用的復(fù)合濾波是中值濾波和算術(shù)平均值濾波聯(lián)合使用。
2、陷阱指令
為了提高單片機(jī)應(yīng)用系統(tǒng)工作的穩(wěn)定性,防止程序由于干擾而“跑飛”,設(shè)計(jì)者可以在程序儲存器的空白區(qū)設(shè)置空操作指令和少量的短字節(jié)轉(zhuǎn)移指令。所謂的自陷指令通常指轉(zhuǎn)移指令。在設(shè)置陷阱前,若由于干擾PC的地址值跑到程序儲存器區(qū)域外,此時程序就再也無法正常運(yùn)行了。在設(shè)置了陷阱后,有空白程序區(qū)存放了大量的空操作指令如少量的轉(zhuǎn)移指令后由于干擾PC值脫離了程序存儲區(qū)二進(jìn)入空白程序存儲區(qū),遇到空操作指令(單字節(jié))它會順著NOP執(zhí)行,當(dāng)運(yùn)行到轉(zhuǎn)移指令時,系統(tǒng)又恢復(fù)了正常程序區(qū),使系統(tǒng)恢復(fù)正常。該法不但適用于單片機(jī)應(yīng)用系統(tǒng)也適用于一切計(jì)算機(jī)應(yīng)用系統(tǒng)。
五、結(jié)束語
單片機(jī)系統(tǒng)運(yùn)行的可靠性會不確定因素的干擾。提高單片機(jī)應(yīng)用系統(tǒng)的可靠性要從軟硬件入手。提高系統(tǒng)的自身防御行為,以上所提到幾種提高可靠性的方法,都不是單獨(dú)使用的,只有根據(jù)實(shí)際情況將這些方法有效地結(jié)合起來,才能達(dá)到最佳抗干擾效果,使我們的單片機(jī)系統(tǒng)穩(wěn)定可靠地工作。
【參考文獻(xiàn)】
[1] 張 齊. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)[M]. 北京:電子工業(yè)出版社, 2004.
[2] 韓志軍. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)[M]. 北京:機(jī)械工業(yè)出版社, 2005.
[3] 徐煜明. 單片機(jī)及應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 北京:電子工業(yè)出版社, 2009.