提高單片機系統(tǒng)可靠性的設(shè)計方法
——
1 單片機系統(tǒng)的失效分析
一個單片機系統(tǒng)的可靠性是其自身軟硬件與其所處工作環(huán)境綜合作用的結(jié)果,因此系統(tǒng)的可靠性也應(yīng)從這兩個方面去分析與設(shè)計。對于系統(tǒng)自身而言,能不能在保證系統(tǒng)各項功能實現(xiàn)的同時,對系統(tǒng)自身運行過程中出現(xiàn)的各種干擾信號及直接來自于系統(tǒng)外部的干擾信號進(jìn)行有效的抑制,是決定系統(tǒng)可靠性的關(guān)鍵。有缺陷的系統(tǒng)往往只從邏輯上去保證系統(tǒng)功能的實現(xiàn),而對于系統(tǒng)運行過程中可能出現(xiàn)的潛在的問題考慮欠缺,采取的措施不足,在干擾信號真正襲來的時候,系統(tǒng)就可能會陷入困境。任何系統(tǒng)的可靠性都是相對的,在一種環(huán)境下能夠很好工作的系統(tǒng)在另一種環(huán)境下卻有可能是很不穩(wěn)定的。這就充分說明環(huán)境對系統(tǒng)可靠運行的重要性。在針對系統(tǒng)運行環(huán)境去設(shè)計系統(tǒng)的同時,應(yīng)盡量采取措施改善系統(tǒng)運行的環(huán)境,降低環(huán)境干擾,但這樣的措施往往比較有限。
2 提高可靠性的措施
提高單片機系統(tǒng)可靠性的方法與措施很多。一般地,應(yīng)根據(jù)系統(tǒng)所面臨的具體的可靠性問題,針對引起或影響系統(tǒng)不可靠的因素采取不同的處理措施。這些措施一般從這樣兩個目的出發(fā):第一,盡量減少引起系統(tǒng)不可靠或影響系統(tǒng)可靠的外界因素;第二,盡量提高系統(tǒng)自身抗干擾能力及降低自身運行的不穩(wěn)定性。例如,為了抑制電源的噪聲和環(huán)境干擾信號而采用的濾波技術(shù)、隔離技術(shù)、屏蔽技術(shù)等都是出于第一個目的;另外,針對系統(tǒng)自身而采用的看門狗電路、軟件抗干擾技術(shù)、備份技術(shù)等均是出于第二個目的而采取的措施。其中第一類的措施較常使用,其使用簡單而且效果也較好,但其對系統(tǒng)可靠性的提高是有限的,許多情況下不能滿足系統(tǒng)的要求。第二類措施的使用可以更進(jìn)一步提高系統(tǒng)的可靠性,往往在高可靠性的系統(tǒng)設(shè)計中被廣泛使用。下面就第二類技術(shù)使用中的一些相關(guān)問題作進(jìn)一步的分析。
2.1 用監(jiān)視定時器技術(shù)提高系統(tǒng)的可靠性
監(jiān)視定時器(Watchdog)技術(shù)現(xiàn)在使用得非常廣泛,技術(shù)已較為成熟,這一技術(shù)的支持手段也很多。目前,各處理器的生產(chǎn)廠家?guī)缀醵荚谏a(chǎn)內(nèi)置有看門狗定時器的單片機產(chǎn)品,市場上還有許多獨立的看門狗定時器芯片可供選擇。要實現(xiàn)這樣的電路已經(jīng)較為容易,因此這里對于如何實現(xiàn)這一技術(shù)的一般細(xì)節(jié)不作詳細(xì)的論述,僅就采用此技術(shù)所導(dǎo)致的可重人性問題進(jìn)行分析。采用監(jiān)視定時器技術(shù)后,一旦程序跑飛,系統(tǒng)立即會被監(jiān)視定時器復(fù)位掉,從頭重新啟動系統(tǒng),從而退出不正常的運行狀態(tài),但是這樣使用時必須注意系統(tǒng)的可重人性。所謂系統(tǒng)的可重人性可以這樣來定義:當(dāng)一個微處理器系統(tǒng)在重新復(fù)位啟動以后,系統(tǒng)對外的執(zhí)行操作不因重新啟動而改變,或者說這種改變是能夠容忍的,從而保證整個系統(tǒng)對外操作的連續(xù)性和順序性,也就是系統(tǒng)最終的安全性和可靠性。對于一個系統(tǒng),如果它對外的控制操作只與系統(tǒng)當(dāng)前的輸入狀態(tài)有關(guān),那么這個系統(tǒng)就幾乎具有完全的重入性能;相反,如一個系統(tǒng)對外的輸出操作不僅與系統(tǒng)當(dāng)前的輸入相關(guān),而且與系統(tǒng)的歷史狀態(tài)有關(guān),那么如果系統(tǒng)重入時系統(tǒng)的歷史狀態(tài)沒有保留或者歷史狀態(tài)被破壞,那么此時系統(tǒng)對外的操作就可能完全是錯誤的,這樣的系統(tǒng)雖然在看門狗定時器的作用下退出了不正常的運行狀態(tài),但重入的狀態(tài)也不會正常,那么這樣的系統(tǒng)也只能是病態(tài)的系統(tǒng),不能使用。因此,對于采用了看門狗電路來提高可靠性的系統(tǒng),必須嚴(yán)格保證系統(tǒng)的可重入性。
對于與歷史狀態(tài)相關(guān)的系統(tǒng),為保證其重入性能,可以把其歷史狀態(tài)保存在系統(tǒng)的RAM中,即在單片機系統(tǒng)的內(nèi)存或其擴展的外部存儲器中,開辟出專用于保存歷史狀態(tài)的緩沖區(qū)。在確保系統(tǒng)不掉電的情況下,這些歷史數(shù)據(jù)在系統(tǒng)重入時可以被重新使用。如果不能保證系統(tǒng)的電源穩(wěn)定,還必須考慮采用備用電池供電,以保證 RAM數(shù)據(jù)的安全穩(wěn)定;對于時間不是太敏感的系統(tǒng),還可以采用E2PROM或Flash ROM來保存歷史數(shù)據(jù)。
2.2軟件抗干擾技術(shù)
一個系統(tǒng)可能由于存在著各種干擾及不穩(wěn)定因素而出現(xiàn)運行故障。為解決這一問題,可以從程序的設(shè)計方面采取一些措施。傳統(tǒng)的為抑制系統(tǒng)的干擾信號而經(jīng)常采用的軟件濾波技術(shù)、軟件冗余設(shè)計就是這一類的典型應(yīng)用。根據(jù)設(shè)計經(jīng)驗,通常還可以采用軟件鎖設(shè)計、程序陷阱設(shè)計。這一類方法主要是針對程序跑飛的情況而采用的。當(dāng)系統(tǒng)在干擾信號的作用下發(fā)生程序跑飛時,程序指針有可能指向兩個區(qū)域:一種可能正好轉(zhuǎn)到程序區(qū)的其他地址進(jìn)行執(zhí)行,一種可能轉(zhuǎn)移到程序空間的盲區(qū)進(jìn)行執(zhí)行。所謂盲區(qū),就是說那里并沒有存放有效的程序指令。對于第一種情況,可以采取軟件鎖加以抑制。例如為保證對外操作的安全,在軟件鎖設(shè)計中,對于每一個相對獨立的程序塊在其執(zhí)行以前或執(zhí)行中對一個預(yù)先設(shè)定好的密碼進(jìn)行校驗,只有當(dāng)這一密碼相符時執(zhí)行才真正有效,也只有程序是通過正常的轉(zhuǎn)移途徑轉(zhuǎn)移過來時,才會由上一級的程序設(shè)定正確的密碼;否則,會根據(jù)校驗錯而使程序強制發(fā)生轉(zhuǎn)移,錯誤狀態(tài)得到處理,并恢復(fù)程序的正常運行狀態(tài)??梢钥聪旅娴囊粋€例子:假設(shè)有順序執(zhí)行的三個程序塊,每一個程序塊執(zhí)行時都對其設(shè)定的密碼進(jìn)行校驗。
當(dāng)程序順序執(zhí)行時,每一個程序塊都能夠得到有效正確的執(zhí)行?,F(xiàn)在假設(shè)程序由于干擾而發(fā)生跑飛,由SUB—PRO1的塊處理跳到了程序SUB-PR03處開始執(zhí)行,那么在執(zhí)行中密碼校驗會出錯,程序?qū)⑥D(zhuǎn)移到錯誤處理程序進(jìn)行處理,避免進(jìn)行錯誤的操作。
設(shè)計程序陷阱的目的,主要是為了防止程序跑飛到程序盲區(qū)進(jìn)行執(zhí)行。一般情況下,對于程序代碼空間以外的ROM空間的處理是采用空置的方法。固化程序時,這些空置空間被全寫為1或全寫為O,這樣程序跳入這一區(qū)域?qū)⒉豢煽?。為了捕獲跳入此區(qū)的程序,可以采用程序陷阱來予以實現(xiàn)。下面通過例子來說明:假設(shè)某系統(tǒng)程序空間為32KB,程序編譯后共生成18 KB的代碼,那么,還有14 KB的程序空間未被使用,可以在該區(qū)域放置下面的陷阱程序:
用上面程序段重復(fù)覆蓋剩余的程序空間陷阱程序里的每一段含有的NOP指令的多少對于捕獲的成功率及捕獲的時間有影響。NOP指令放置的越多捕獲的成功率就越高,但花費的時間就越長,程序失控的時間也越長;否則,情況則相反。因為只有程序跳轉(zhuǎn)到NOP指令或LJMP指令的首個字節(jié)時,才能成功捕獲;當(dāng)程序跳到 LJMP指令的后兩個字節(jié)時,可能會出現(xiàn)不可預(yù)知的執(zhí)行結(jié)果。被捕獲的程序如果跳到程序的起始處執(zhí)行時,還必須考慮程序的可重人性。
2.3采用備份系統(tǒng)提高可靠性
備份系統(tǒng)在許多重要控制系統(tǒng)中已被廣泛使用,但多在工控機中或較大型的系統(tǒng)中采用。備份系統(tǒng)可根據(jù)具體的情況分為在線備份系統(tǒng)和后備備份系統(tǒng)。對于在線備份系統(tǒng),系統(tǒng)中的兩個CPU均處于工作狀態(tài),有可能兩個CPU處在對等的位置,也可能一個處在主CPU的位置,而另一個處在從CPU的位置。在對等的情況下,兩個CPU共同決定系統(tǒng)對外的操作,任何一個CPU出錯都將引起對外操作的禁止。對于一主一從的情況,往往是主CPU負(fù)責(zé)系統(tǒng)控制邏輯的實現(xiàn),而從CPU負(fù)責(zé)對主CPU的工作狀態(tài)進(jìn)行監(jiān)控。當(dāng)監(jiān)控到主CPU工作異常時,從CPU通過強行復(fù)位主CPU等操作使主CPU恢復(fù)正常,同時,為確保從 CPU工作正常,從CPU的工作狀態(tài)也被主CPU監(jiān)控;當(dāng)從CPU的工作狀態(tài)不正常時,主CPU也可采取措施使從CPU恢復(fù)正常工作,即實現(xiàn)互相監(jiān)控的目的。在具體的設(shè)計中,主從CPU進(jìn)行信息交換的途徑非常靈活、多樣。例如,采用公用的存儲器來實現(xiàn)監(jiān)控信息的交換(如把公用信息存入雙口RAM),采用握手信號的方法實現(xiàn)監(jiān)控信息的交換等。
3 提高系統(tǒng)可靠性的綜合設(shè)計方法
在一個具體的系統(tǒng)設(shè)計中,為提高系統(tǒng)的穩(wěn)定性和可靠性,往往要綜合采用多種措施來達(dá)到滿意的效果,這是全面提高系統(tǒng)可靠性的必由之路。系統(tǒng)不同,其具體的控制對象就可能不同,運行環(huán)境也會千差萬別,因而其面臨的主要干擾問題就不同,采取的措施也就不同;但僅采取某項措施就希望全面提高系統(tǒng)的可靠性常常是不現(xiàn)實的,而要針對主要問題綜合采取多項措施聯(lián)合提高可靠性.
4 設(shè)計實例
下面給出一個設(shè)計實例,以進(jìn)一步說明提高系統(tǒng)可靠性設(shè)計的一些常用方法。
在某衛(wèi)星通信系統(tǒng)中,為了降低系統(tǒng)的相噪,要求其前置低噪聲放大器(LNA)的工作溫度保持恒定(40℃);而該放大器在野外工作的環(huán)境溫度范圍為一 40~+60℃之間,因此必須把該放大器放入特制的恒溫箱中。該恒溫箱應(yīng)具有既能制熱又能制冷的功能。制熱采用電阻絲加熱器,制冷采用半導(dǎo)體制冷片來實現(xiàn)。為防止恒溫箱因控制器失靈而造成溫度失控甚至損壞低噪聲放大器,破壞整個系統(tǒng)的正常工作,恒溫箱的設(shè)計主要采用了主從雙CPU系統(tǒng)來提高系統(tǒng)的可靠性。除此以外,還采用了如電源監(jiān)控技術(shù)、看門狗技術(shù)、軟件陷阱技術(shù)、光電隔離技術(shù)等措施綜合提高系統(tǒng)的可靠性。該系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
主CPU負(fù)責(zé)加熱器、制冷片及箱內(nèi)箱外溫度的檢測,擔(dān)負(fù)主要的控制任務(wù)。主CPU選AT89S52單片機,內(nèi)含看門狗定時器,在芯片外加MAX707作為電源監(jiān)控電路;除可以向主CPU提供可靠的復(fù)位信號以外,還可以檢測掉電中斷申請信號,當(dāng)?shù)綦姲l(fā)生時及時保存現(xiàn)場數(shù)據(jù)。加熱棒使用交流220V供電,制冷片采用15V直流穩(wěn)壓電源供電。為防止高電壓強電流對弱電部分的干擾,主CPU
產(chǎn)生的控制信號都經(jīng)過光電隔離送向驅(qū)動電路,以提高系統(tǒng)的可靠性。
從CPU選AT89C2051,主要負(fù)責(zé)對主CPU工作情況的監(jiān)控及電源供電電壓的監(jiān)視。當(dāng)?shù)綦姮F(xiàn)象發(fā)生時,AT89C2051內(nèi)的電壓比較器會檢測到這種變化,并由后備電池供電,通過485口向監(jiān)控臺報告。
主從CPU之間的監(jiān)控是相互的。主從CPU通過它們之間的I/O口線握手,彼此監(jiān)視對方的工作狀態(tài),并采取相應(yīng)的處置措施,保證系統(tǒng)對外操作的安全。通過上述措施的實施,系統(tǒng)的可靠性非常出色,自投入運行以來一直穩(wěn)定可靠,無不明原因的死機或失控現(xiàn)象發(fā)生,充分說明了系統(tǒng)設(shè)計的成功。而根據(jù)以往的經(jīng)驗,如不采用上述的綜合設(shè)計方法,這樣的系統(tǒng)通常在連續(xù)運行1~2周后就很可能產(chǎn)生問題。
結(jié) 語
本文詳細(xì)分析了單片機系統(tǒng)失效的原因,討論了提高系統(tǒng)可靠性的措施,并提出了提高系統(tǒng)可靠性的綜合設(shè)計方法。在低噪聲放大器恒溫控制器中的成功應(yīng)用,表明這種設(shè)計方法是行之有效的,系統(tǒng)的可靠性得到了充分的保障。
半導(dǎo)體制冷相關(guān)文章:半導(dǎo)體制冷原理
評論