引言
目前,我國絕大多數(shù)城鄉(xiāng)居民用電抄表還采取人工方式。這種落后的方式,消耗大量的人力、物力,而且采集數(shù)據(jù)的時間跨度大,準(zhǔn)確度低。因此,國家有關(guān)部門規(guī)定以后將逐步用自動抄表系統(tǒng)取代人工抄表。但是這樣以來,傳統(tǒng)的機(jī)械電表在性能上就不能適應(yīng)要求。因此我們采用單片機(jī)自動測控技術(shù),設(shè)計了一種既能獨(dú)立使用又能面向自動抄表系統(tǒng)的集中式智能電表。為了使其長期穩(wěn)定、安全可靠地運(yùn)行,必須進(jìn)行全面的系統(tǒng)抗干擾設(shè)計。下面就將有關(guān)內(nèi)容作以介紹:
系統(tǒng)抗干擾設(shè)計的必要性
由于集中式智能電表工作于居民住宅區(qū)內(nèi),很容易受到系統(tǒng)內(nèi)、外各種電氣和電磁干擾,其中以供電系統(tǒng)干擾為主。在家用電器中,許多為電感性負(fù)載,它們的快速切換會對電網(wǎng)產(chǎn)生噪聲干擾,進(jìn)而可能導(dǎo)致單片機(jī)數(shù)據(jù)混亂或死機(jī),規(guī)律如下:
(1)干擾脈沖的幅度較小時,對單片機(jī)基本無影響;
(2)干擾脈沖的幅度較大時,使單片機(jī)復(fù)位;
(3)干擾脈沖的幅度較大,且瞬間有很多脈沖,可能導(dǎo)致單片機(jī)數(shù)據(jù)混亂或死機(jī)。
智能電表要求長年連續(xù)地掛網(wǎng)運(yùn)行,運(yùn)行中出現(xiàn)的任何異?,F(xiàn)象(數(shù)據(jù)混亂、死機(jī)等)均要求其能安全恢復(fù),故對抗干擾要求很高。如果不采取有效的抗干擾措施,系統(tǒng)在運(yùn)行過程中,當(dāng)遭遇到較強(qiáng)的干擾信號時,其性能的可靠性與運(yùn)行的安全性均會降低,會給用戶、物業(yè)管理或電業(yè)部門造成較大的經(jīng)濟(jì)損失,甚至導(dǎo)致經(jīng)濟(jì)糾紛。
抗干擾設(shè)計的基本原則是:抑制干擾源、切斷干擾傳播路徑、提高敏感器件的抗干擾性能。由此可見,要確保該智能電表系統(tǒng)運(yùn)行安全可靠,一個重要的環(huán)節(jié)就是進(jìn)行單片機(jī)系統(tǒng)的抗干擾設(shè)計,主要包括硬件抗干擾和軟件抗干擾兩個方面。
系統(tǒng)抗干擾設(shè)計
1.硬件抗干擾設(shè)計
電量信號的采集和輸出部分采用光電耦合器,光電耦合器的一次側(cè)和二次側(cè)是電絕緣的,因此對地電位差干擾有很強(qiáng)的抑制能力,同時也具有很強(qiáng)的抑制電磁干擾的能力。電源在向系統(tǒng)提供電能的同時,也會把干擾噪聲直接由供電端加在控制電路上,而單片機(jī)的復(fù)位線、中斷線等控制線,最易受到這種外界噪聲的干擾,因此必須采取一定措施來加以抑制、消除這種干擾。具體方法為:加屏蔽罩、隔離變壓器、磁環(huán)和π形濾波電路等,但這些只能使干擾脈沖的數(shù)量和幅度有所減少,難以從根本上解決。所以,還必須使用單片機(jī)專用的電源監(jiān)控芯片,提高敏感器件的抗干擾能力。
本系統(tǒng)在硬件抗干擾方面的一個突出特點(diǎn)就是選用單片機(jī)系統(tǒng)監(jiān)控芯片MAX691A,設(shè)計了CPU安全監(jiān)控電路。MAX691A具有:復(fù)位、數(shù)據(jù)存儲器寫保護(hù)、后備電池切換、看門狗定時器和電源監(jiān)視器等功能。連接電路如圖1所示。
MAX691A主要引腳及其功能說明:
(1) VBATT:備用電源輸入端,可接3.6V鋰電池或充電電路。如果不用,應(yīng)連接到GND。
(2) VOUT: 電源輸出端,當(dāng)VCC高于復(fù)位上限電壓時,VOUT = VCC;當(dāng)VCC低于復(fù)位上限電壓時,VOUT與VBATT相連。VOUT與GND之間需加一個0.1μF的電容。
(3) VCC :工作電源接入端,接+5V。
(4) GND:電源接地端,是所有信號的參考點(diǎn)。
(5) PFI:電源電壓比較器輸入端。當(dāng)此端電壓輸入低于1.25V時,PFO(————)將變?yōu)榈碗娖健?
(6) PFO(————):掉電輸出端,低電平有效。在圖1中,它觸發(fā)INT(————)0中斷,中斷服務(wù)程序?qū)⒆鱿到y(tǒng)掉電前的緊急處理。
(7) WDI:看門狗喂入端。當(dāng)其保持高電平或低電平的時間達(dá)到1.6 s(典型值)時,內(nèi)部看門狗定時器溢出,并觸發(fā)WDO(——————)信號輸出。
(8) CE(————) OUT:片選信號輸出端。只有當(dāng)CE(————) IN是低電平而且VCC 正常時,CE(————) OUT才輸出低電平,可有效防止對數(shù)據(jù)存儲器的誤操作。
(9) CE(————) IN:片選信號輸入端。
(10) WDO(——————):看門狗輸出端,低電平有效。如果WDI懸空,WDO(——————)保持高電平。
(11) RESET(——————————):低電平有效復(fù)位端,當(dāng)VCC低于4.65V時,RESET(——————————)變?yōu)榈碗娖?。?fù)位信號典型值為200ms 。
(12) RESET:高電平有效復(fù)位端,集電極開路輸出。
另外,MAX691A還具有振蕩頻率選擇(7、8引腳)等功能,可以調(diào)節(jié)復(fù)位和看門狗定時器的時間。在圖1中,增加了微分電路和反相器,使WDO(——————)直接引發(fā)系統(tǒng)復(fù)位,大大簡化了軟件的抗干擾設(shè)計。
2.軟件抗干擾設(shè)計
本系統(tǒng)采取的軟件抗干擾措施如下所述:
(1)對輸入信號采用電平檢測而非邊沿檢測,以減少的各種隨機(jī)干擾脈沖的影響。
(2)對重要的狀態(tài)寄存單元備份,當(dāng)系統(tǒng)狀態(tài)受干擾破壞后,能及時查詢備份寄存單元的信息,進(jìn)行狀態(tài)糾正。
(3)電量數(shù)據(jù)存放之前,對其進(jìn)行校驗(yàn),以保證數(shù)據(jù)的正確性。
(4)電量數(shù)據(jù)在6264和2465中都采取多址存放,互為備份,以確保萬無一失。
(5)設(shè)置自檢程序,在某些內(nèi)存單元設(shè)置狀態(tài)標(biāo)志,在開機(jī)運(yùn)行后,對其進(jìn)行監(jiān)測,保證信息存儲、傳輸、運(yùn)算的高可靠性。
(6)插入空操作指令:在比較條件轉(zhuǎn)移指令、絕對轉(zhuǎn)移指令、中斷、堆棧指令前,以及數(shù)據(jù)表格后,插入空指令,提高系統(tǒng)的穩(wěn)定性。
(7)當(dāng)程序運(yùn)行失常,發(fā)生諸如:程序“跑飛”、數(shù)據(jù)區(qū)和工作寄存器中的數(shù)據(jù)遭到破壞,采取措施如下:
(a) 設(shè)置監(jiān)視跟蹤定時器
因本系統(tǒng)設(shè)計有CPU安全監(jiān)控電路,所以可通過使用MAX691A的定時中斷即看門狗(Watchdog)來監(jiān)視程序的運(yùn)行。只要程序正常運(yùn)行,定時器就不會出現(xiàn)定時中斷。而當(dāng)程序運(yùn)行失常,因“跑飛”等原因不能對WDI進(jìn)行及時刷新時,看門狗定時器就會引發(fā)崩潰復(fù)位。
(b) 設(shè)置軟件陷井
在程序存儲器的空白處,填滿空操作指令和長轉(zhuǎn)移指令(LJMP ERR),來截獲跑飛的程序,最后通過軟件強(qiáng)制復(fù)位,使程序返回到初始狀態(tài)。在MCS-51單片機(jī)的軟件復(fù)位過程中,必須連續(xù)執(zhí)行兩次中斷返回指令 RETI才能確保清除中斷標(biāo)志,使系統(tǒng)恢復(fù)正常。出錯處理程序如下:
ERR: CLR EA ; 正確的軟件復(fù)位入口,關(guān)中斷
MOV 66H,#0AAH ; 重建上電標(biāo)志
MOV 67H,#55H
MOV DPTR,#ERR1 ;準(zhǔn)備第一次返回地址
PUSH DPL
PUSH DPH
RETI ; 清除高級中斷激活標(biāo)志
ERR1: CLR A
PUSH ACC
PUSH ACC
RETI ; 清除低級中斷激活標(biāo)志
結(jié)論
本集中式智能電表系統(tǒng)進(jìn)行了全面有效的系統(tǒng)軟、硬件抗干擾設(shè)計,特別是充分利用了MAX691A芯片的強(qiáng)大監(jiān)控功能,實(shí)現(xiàn)了本系統(tǒng)三狀況(上電、掉電、崩潰)復(fù)位、數(shù)據(jù)存儲器寫保護(hù)、后備電池切換、看門狗定時和電源監(jiān)視等功能。從而極大的提高了系統(tǒng)的抗強(qiáng)干擾能力,確保了系統(tǒng)運(yùn)行的安全性與可靠性,為該智能電表實(shí)際的應(yīng)用與推廣提供了可靠的技術(shù)保障。