集中式智能電表的抗干擾設(shè)計(jì)
智能電表要求長年連續(xù)地掛網(wǎng)運(yùn)行,如果不采取有效的抗干擾措施,當(dāng)遭遇到較強(qiáng)的干擾信號時,其性能的可靠性與運(yùn)行的**性均會降低,為此我們總結(jié)了以下抗干擾方面的措施。
硬件抗干擾設(shè)計(jì)
電量信號的采集和輸出部分采用光電耦合器,光電耦合器的一次側(cè)和二次側(cè)是電絕緣的,因此對地電位差干擾有很強(qiáng)的抑制能力,同時也具有很強(qiáng)的抑制電磁干擾的能力。電源在向系統(tǒng)提供電能的同時,也會把干擾噪聲直接由供電端加在控制電路上,而單片機(jī)的復(fù)位線、中斷線等控制線,*易受到這種外界噪聲的干擾,因此必須采取一定措施來加以抑制、消除這種干擾。具體方法為:加屏蔽罩、隔離變壓器、磁環(huán)和π形濾波電路等,但這些只能使干擾脈沖的數(shù)量和幅度有所減少,難以從根本上解決。所以,還必須使用象MAX691A之類的單片機(jī)專用電源監(jiān)控芯片,以提高敏感器件的抗干擾能力。
軟件抗干擾設(shè)計(jì)
本系統(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è)計(jì)有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)志