陳桂鈞
摘要:PIC系列的單片機(jī)因?yàn)榭垢蓴_能力強(qiáng)、適用性佳、指令集簡(jiǎn)潔、功能完備、功耗較低、體積較小以及成本低廉等優(yōu)勢(shì),被廣泛地用于工業(yè)控制儀表、汽車(chē)電氣控制、電機(jī)控制、通信領(lǐng)域以及家電領(lǐng)域等。不管應(yīng)用于何種領(lǐng)域,高度的可靠性均是必需的條件之一。本文從增強(qiáng)PIC單片機(jī)自身的抗干擾作用和增設(shè)程序(指令)兩個(gè)方面分析和探討了PIC單片機(jī)應(yīng)用系統(tǒng)的可靠性技術(shù)問(wèn)題。
關(guān)鍵詞:PIC單片機(jī)可靠性技術(shù)抗干擾程序后者指令
中圖分類(lèi)號(hào):TD679 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2012)06(c)-0064-01
PIC單片機(jī)應(yīng)用系統(tǒng)的可靠性問(wèn)題具有高度的系統(tǒng)性,我們應(yīng)該從多個(gè)角度來(lái)考慮和處理,單一解決某一個(gè)方面的問(wèn)題,無(wú)法從根本上保證PIC單片機(jī)的可靠性。一般而言,我們需要綜合考慮硬件設(shè)計(jì)和軟件增強(qiáng)這兩個(gè)方面來(lái)保證PIC單片機(jī)的可靠性。尤其在硬件方面的可靠性設(shè)計(jì)是確保PIC單片機(jī)應(yīng)用系統(tǒng)具有高度可靠性的前提與基礎(chǔ)。
1 提高PIC單片機(jī)的抗干擾水平
1.1 啟用WDT
WDT,WatchdogTimer,監(jiān)視定時(shí)器,俗稱(chēng)“看門(mén)狗”,它是一個(gè)內(nèi)部RC時(shí)鐘信號(hào)源的累加計(jì)數(shù)器,獨(dú)立于其它單元,其計(jì)時(shí)周期約為18ms左右。PIC單片機(jī)為了有效解決程序失控問(wèn)題,才用了WDT解決方案。程序之所以出現(xiàn)失控問(wèn)題,主要是因?yàn)镻IC單片機(jī)在實(shí)際應(yīng)用過(guò)程中,電磁干擾、軟件故障、電源電壓疊加噪聲以及電源電壓波動(dòng)等因素均會(huì)對(duì)程序的正常運(yùn)行產(chǎn)生干擾作用,使之偏離預(yù)定的運(yùn)行線路。WDT發(fā)揮作用的原理是,PIC單片機(jī)處在休眠狀態(tài)時(shí),如果WDT超時(shí)溢出,則會(huì)喚醒PIC單片機(jī)使其進(jìn)入正常的工作狀態(tài);PIC單片機(jī)執(zhí)行程序期間,如果WDT超時(shí)溢出,PIC單片機(jī)便會(huì)自動(dòng)執(zhí)行復(fù)位動(dòng)作。我們可以利用定義系統(tǒng)配置字CONFIG中WDTE位的形式來(lái)決定是否啟用WDT,設(shè)置“WDTE=1”時(shí),則WDT處于開(kāi)啟狀態(tài);設(shè)置“WDTE=0”,則WDT處于關(guān)閉狀態(tài)。
1.2 復(fù)位功能
PIC系列的單片機(jī)預(yù)設(shè)有多種的復(fù)位方式,合理設(shè)置復(fù)位功能,對(duì)于提高PIC單片機(jī)應(yīng)用系統(tǒng)的可靠性裨益良多。常見(jiàn)的復(fù)位功能主要有:
第一,手動(dòng)式復(fù)位功能。只要將低電平信號(hào)加入到/MCLR復(fù)位端,便可以讓處于執(zhí)行程序狀態(tài)的PIC單片機(jī)實(shí)現(xiàn)復(fù)位。利用手動(dòng)式的復(fù)位功能,可以讓處于死機(jī)狀態(tài)的PIC單片機(jī)的強(qiáng)制重啟,實(shí)現(xiàn)程序的重新運(yùn)行。
第二,上電復(fù)位功能。上電復(fù)位電路在PIC單片機(jī)每一次加電的同時(shí)都需要檢測(cè)電源電源VDD的上升過(guò)程,在VDD上升至預(yù)定數(shù)值(通常是1.6V至1.8V)便會(huì)產(chǎn)生一個(gè)有效的復(fù)位信號(hào),該信號(hào)在經(jīng)過(guò)一定的延時(shí)(通常是“72ms+1024個(gè)時(shí)鐘周期”)之后,PIC單片機(jī)便會(huì)成功復(fù)位。如果情況特殊,單純依靠PIC單片機(jī)內(nèi)部的上電復(fù)位電路達(dá)不到要求,建議通過(guò)外接阻容延時(shí)電路的方式滿足要求,借此讓/MCLR引腳上的低電平的延時(shí)時(shí)間達(dá)到預(yù)定要求。
第三,掉電檢測(cè)復(fù)位功能。掉電檢測(cè)復(fù)位功能也稱(chēng)之為電源電壓跌落復(fù)位功能。電源干擾和電源電壓波動(dòng)會(huì)讓PIC單片機(jī)在執(zhí)行程序的過(guò)程中出現(xiàn)死機(jī)、程序錯(cuò)亂等問(wèn)題,通過(guò)掉電檢測(cè)復(fù)位功能可以有效保證PIC單片機(jī)應(yīng)用系統(tǒng)的正常工作。它的主要原理是,它通過(guò)為PIC單片機(jī)提供電源跌落預(yù)警信號(hào)的方式工作,如果輸入電壓VDD跌落至預(yù)定值時(shí),它便會(huì)對(duì)PIC單片機(jī)進(jìn)行復(fù)位,借此來(lái)防止PIC單片機(jī)應(yīng)用系統(tǒng)失去控制;一旦輸入電壓VDD上升至安全值時(shí),該復(fù)位狀態(tài)便會(huì)接觸。為了讓PIC單片機(jī)的掉電檢測(cè)復(fù)位電路充分發(fā)揮功用,應(yīng)該將系統(tǒng)配置字寄存器CONFIG的位6置1(置BODEN位為1),至此便可以讓掉電檢測(cè)復(fù)位功能發(fā)揮其作用。
1.3 時(shí)序設(shè)置
PIC單片機(jī)的時(shí)序也可以稱(chēng)之為主時(shí)鐘。它的頻率在0至200MHz之間,其時(shí)基振蕩模式共有4中,不同的時(shí)基震蕩模式能夠設(shè)計(jì)成為不同的時(shí)基震蕩頻率。具體而言:(1)高頻晶體振蕩器/陶瓷諧振器振蕩模式HS,它的時(shí)基震蕩頻率是4MHZ至20MHz;(2)標(biāo)準(zhǔn)晶體振蕩器/陶瓷諧振器振蕩模式XT,它的時(shí)基震蕩頻率是0.2M~4MHz;(3)低頻晶體振蕩器/陶瓷諧振器振蕩模式LP,它的時(shí)基震蕩頻率是32.768M~200MHz;(4)外接電阻電容元件的阻容振蕩模式,它的時(shí)基震蕩頻率是0.03M~5MHz。如果按照接線方式和外接元件的不同,又可以將時(shí)基振蕩模式分為以下三種情況,即外接時(shí)鐘電路、外接RC以及外接晶體振蕩器/陶瓷諧振器。
在PIC單片機(jī)的時(shí)基振蕩模式以及外接方式的選擇方面,建議用戶依照PIC單片機(jī)應(yīng)用系統(tǒng)的使用環(huán)境、成本以及性能要求等因素進(jìn)行綜合性地考慮和選擇。如果單純從可靠性方面考慮,外接時(shí)鐘是高頻噪聲源,除了能對(duì)本應(yīng)用系統(tǒng)造成干擾之外,還可能對(duì)外界產(chǎn)生干擾。頻率越高越容易成為噪聲源,因此在符合系統(tǒng)性能要求的前提下應(yīng)盡量采用低頻率的系統(tǒng)時(shí)鐘。在對(duì)系統(tǒng)可靠性要求很高的應(yīng)用系統(tǒng)中,選用頻率低的PIC單片機(jī)是降低系統(tǒng)噪聲的方式之一。
2 增設(shè)PIC單片機(jī)的程序(指令)
2.1 輸出端口刷新
PIC單片機(jī)的I/O口很容易受到外部信號(hào)的干擾,輸出口的狀態(tài)可能發(fā)生改變。在應(yīng)用程序中周期性地添加輸出端口刷新指令,可以降低干擾對(duì)輸出端口狀態(tài)的影響。設(shè)置當(dāng)前輸出狀態(tài)寄存器,單片機(jī)不斷地查詢輸出狀態(tài)寄存器的狀態(tài)信息,一旦出錯(cuò)及時(shí)糾正。在控制程序中,應(yīng)循環(huán)執(zhí)行控制外設(shè)的指令,在外設(shè)端口受到干擾而發(fā)生狀態(tài)變化時(shí),重復(fù)執(zhí)行的控制指令能使設(shè)備恢復(fù)正常狀態(tài)。
2.2 存儲(chǔ)器中增加必要的指令和程序
在程序存儲(chǔ)器中總會(huì)有一些區(qū)域未使用,如果因干擾導(dǎo)致PIC單片機(jī)的指令計(jì)數(shù)器PC值被置錯(cuò),程序會(huì)跳到這些未用的程序存儲(chǔ)空間,系統(tǒng)就會(huì)出錯(cuò)。在程序存儲(chǔ)器的未使用區(qū)域中加上若干條空操作和無(wú)條件跳轉(zhuǎn)指令,在程序跳到這些未用區(qū)域時(shí),就會(huì)執(zhí)行空操作和無(wú)條件跳轉(zhuǎn)指令,轉(zhuǎn)入出錯(cuò)處理程序。
3 結(jié)語(yǔ)
總之,從安全性可靠性和抗干擾兩個(gè)方面來(lái)提升PIC單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)的合理性;同時(shí)在軟件系統(tǒng)的增強(qiáng)方面,通過(guò)在應(yīng)用程序中增加某些必要的程序(指令集)來(lái)進(jìn)一步提升應(yīng)用系統(tǒng)的可靠程度。通過(guò)軟硬件方面的綜合考慮,來(lái)提升PIC單片機(jī)應(yīng)用系統(tǒng)的可靠性,在實(shí)際的開(kāi)發(fā)過(guò)程中都得到了充分的驗(yàn)證。
參考文獻(xiàn)
[1] 黃世澤,曾萍,郭其一.PIC單片機(jī)的應(yīng)用設(shè)計(jì)技巧[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006,(08):123-125.
[2] 郝海燕,張玉葉.單片機(jī)應(yīng)用系統(tǒng)中的可靠性技術(shù)研究[J].科技信息,2006(11):122-124.
[3] 朱敏,任俊新.單片機(jī)應(yīng)用系統(tǒng)的可靠性設(shè)計(jì)[J].測(cè)控技術(shù),2008(10):203-204.
[4] 劉建華.如何提高單片機(jī)應(yīng)用系統(tǒng)的可靠性[J].中國(guó)科技財(cái)富,2008(07):256-257.
[5] 鐘新平.單片機(jī)應(yīng)用系統(tǒng)可靠性研究[J].南寧職業(yè)技術(shù)學(xué)院學(xué)報(bào),2005(03):233-234.