一,、引言
智能電表的設(shè)計(jì),,由于微控制器的引入,對(duì)設(shè)計(jì)者提出了更高的要求,。這是因?yàn)橛捎陔娫吹纫氲母蓴_可能導(dǎo)致程序指針跳飛,,從而引起不可預(yù)測(cè)的后果,諸如電量數(shù)據(jù)的丟失,、改變或死機(jī)等,。像家用電腦和普通儀器儀表對(duì)死機(jī)等現(xiàn)象是允許的,可以通過(guò)人工復(fù)位,,重新設(shè)置等手段來(lái)恢復(fù),,求長(zhǎng)年連續(xù)的掛網(wǎng)運(yùn)行,如果運(yùn)行中出現(xiàn)任何異?,F(xiàn)象,,均要求能自動(dòng)恢復(fù)正常工作。然而,,在工程實(shí)際中,,噪聲和干擾是不可避免的。目前,,大多數(shù)智能電表都應(yīng)保證在干擾較強(qiáng)的現(xiàn)場(chǎng)運(yùn)行,,因此如何提高智能電表的抗干擾能力,保證其在規(guī)定條件下正常運(yùn)行,,以及防止儀表內(nèi)部產(chǎn)生的噪聲對(duì)外部的輻射,,是智能儀表設(shè)計(jì)中必須考慮的問(wèn)題,也是關(guān)鍵問(wèn)題,。
二,、硬件抗干擾設(shè)計(jì)
在智能電表研制的初期,我們發(fā)現(xiàn)這樣一種現(xiàn)象,,電表帶上電感性負(fù)載(比如電扇)時(shí),,在電扇快速插拔的瞬間,,容易導(dǎo)致智能電表中單片機(jī)數(shù)據(jù)的丟失或死機(jī)。如果從設(shè)計(jì)上不能把智能電表的抗干擾問(wèn)題解決好,,后果將會(huì)非常嚴(yán)重,。
(1)電源的抗干擾措施
實(shí)踐證明,系統(tǒng)失效和硬件損壞大都是由各種干擾引起的,,而90%以上的干擾來(lái)自于電源,。可見(jiàn)這種來(lái)自電源的干擾對(duì)系統(tǒng)的影響相當(dāng)大,,因此應(yīng)充分考慮電源對(duì)單片機(jī)的影響,。電源做得好壞,直接影響整個(gè)電路的抗干擾能力的好壞,。目前有以下幾種電源可供選擇:第一種阻容分壓式,,它采用簡(jiǎn)單的電阻電容分壓、濾波,。但這種電源穩(wěn)壓性能差,、電源波動(dòng)大、帶負(fù)載能力小,、電網(wǎng)干擾極易串入,,一般不采用這種方式。第二種開(kāi)關(guān)電源,,這種電源穩(wěn)壓性能好,、紋波小,但成本較高且對(duì)外界電網(wǎng)干擾比較嚴(yán)重,,也不宜采用,。第三種線性電源,這種電源由220V經(jīng)交流變壓,、整流,、濾波及穩(wěn)壓得到,穩(wěn)壓性能好,、隔離特性好,,價(jià)格適中,在目前應(yīng)用廣泛的多用戶(hù)電表設(shè)計(jì)中大都采用這種方式,。對(duì)這種電源的抗干擾措施有以下幾個(gè)方面,。
- 對(duì)于電源變壓器的設(shè)計(jì),要使其空載電流盡可能小,,以降低整表功耗,。增加變壓器的容量,能使干擾脈沖的數(shù)量和幅度有所減少,,而變壓器的容量受電表空間的限制,,變壓器又不能太大。
- 在電源變壓器的初級(jí)串聯(lián)一個(gè)電源濾波器,,比如采用“雙繞組扼流圈”的濾波線路,,它對(duì)高頻干擾信號(hào)阻抗很大,使整個(gè)電子系統(tǒng)與供電網(wǎng)之間得到一定程度的高頻隔離,,對(duì)于外界空間電磁場(chǎng)的干擾,,也起一定的抑制作用。
- 在各相交流電源的進(jìn)線端,,并聯(lián)一個(gè)壓敏電阻(MOV),,其電阻隨電壓的增加而減小。在過(guò)壓時(shí)形成一個(gè)低阻的分流器,,從而可以防止被保護(hù)電路兩端的電壓進(jìn)一步上升,;當(dāng)浪涌電壓過(guò)后,電路電壓恢復(fù)到正常工作電壓,,壓敏電阻又恢復(fù)到高阻狀態(tài),。
- 在為主處理器提供電源之前的三端穩(wěn)壓器前,并接一個(gè)瞬變電壓抑制二極管(TVS),,對(duì)后面的電路起到保護(hù)作用,。當(dāng)TVS兩端經(jīng)受瞬間高能量沖擊時(shí),它能以極高的速度成為低阻抗器件,,吸收大電流,,從而把它兩端的電壓鉗位在一個(gè)預(yù)定的數(shù)值上,保護(hù)后面的電路元件不因瞬態(tài)高電壓的沖擊而損壞,。
- 在變壓器一次側(cè)采取磁珠和電容組成的丌型濾波方法,,對(duì)高頻干擾起作用,但對(duì)幾百赫茲以?xún)?nèi)的低頻干擾作用卻很小,。綜上所述,,設(shè)計(jì)人員應(yīng)根據(jù)具體的工作環(huán)境,選擇不同的抗干擾措施,。
(2)電源檢測(cè)及看門(mén)狗電路
分析及實(shí)踐表明,,對(duì)來(lái)自電網(wǎng)的干擾不僅要采取硬堵的辦法,還要采取容錯(cuò)措施,。使用電源檢測(cè)及看門(mén)狗電路的目的,,就是當(dāng)電源電壓出現(xiàn)干擾脈沖或單片機(jī)受干擾程序運(yùn)行異常時(shí),產(chǎn)生一復(fù)位信號(hào)使單片機(jī)復(fù)位,??撮T(mén)狗電路實(shí)質(zhì)上是一個(gè)單穩(wěn)電路。當(dāng)程序運(yùn)行正常時(shí),,單片機(jī)定時(shí)給單穩(wěn)電路輸入觸發(fā)信號(hào),,使單片機(jī)輸出保持暫穩(wěn)態(tài):當(dāng)干擾異常時(shí),,單片機(jī)不能給觸發(fā)信號(hào),單穩(wěn)輸出回到穩(wěn)態(tài)引起單片機(jī)硬件夏位:看門(mén)狗不僅對(duì)來(lái)自電網(wǎng)方面的干擾起作用,,而且對(duì)來(lái)自空間等其他方面的干擾也起作用,。然而如果沒(méi)有電源檢測(cè)電路,只有看門(mén)狗電路,,在電網(wǎng)干擾下,,即使不帶電感性負(fù)載,當(dāng)電源快速合閘時(shí),,也有可能導(dǎo)致死機(jī),。實(shí)踐證明,采用電源檢測(cè)及看門(mén)狗電路之后,,死機(jī)觀象得到了有效地克服,。
(3)串行E2PROM的選擇
因?yàn)殡姳頂?shù)據(jù)存儲(chǔ)的可靠性至關(guān)重要,為了保證在掉電時(shí)以及在因干擾導(dǎo)致單片機(jī)復(fù)位時(shí),,智能電表中的主要數(shù)據(jù)和參數(shù)不丟夫,,存儲(chǔ)器的選擇上要有所考慮。使用并行存儲(chǔ)器.雖然有速度快的特點(diǎn),,但讀寫(xiě)信號(hào)容易受到干擾從而造成錯(cuò)誤,。而采用串行E2PROM存儲(chǔ)器時(shí),其讀寫(xiě)時(shí)序相當(dāng)嚴(yán)格,,受到干擾出錯(cuò)的幾率就小得多,。
(4)布線布局上的抗干擾設(shè)計(jì)
在用電負(fù)荷很小時(shí),220V的電壓與幾個(gè)μV的小信號(hào)會(huì)共集于一塊電路板上,,如果電源布局不當(dāng),,有用信號(hào)會(huì)被噪聲所淹沒(méi),以多用戶(hù)電表為例,,在布線布局上的抗干擾措施有:
- 電源與控制分兩塊板,。在多用戶(hù)智能電表中分三部分:電源板,主機(jī)控制板和電能采集傳感器板,。電源板包括變壓器,、整流、濾波,、穩(wěn)壓等,。控制板包括微處理器,、顯示驅(qū)動(dòng),、看門(mén)狗電路、串行E2PROM、電能脈沖采集等,。電能采集傳感器板包括A,、B、C三相上各用戶(hù)的電能采集模塊及其外圍電路,。對(duì)變壓器的設(shè)計(jì)要求其漏磁要小,,一般其空載電流不大于10mA,若仍不能滿(mǎn)足要求,,可變換變壓器位置改變磁場(chǎng)方向,減小漏磁對(duì)小信號(hào)的影響,。
- 印刷電路板應(yīng)有良好的絕緣性,,絕緣電阻大于1011ΩV。在電路設(shè)計(jì)中,,必須嚴(yán)格保證強(qiáng)電與弱電的隔離,,除了電路有直接連接外,100V以上的強(qiáng)電印刷布線與弱電印刷布線距離應(yīng)大于4—5mm,。數(shù)字地與模擬地應(yīng)通過(guò)一點(diǎn)方式連接來(lái)提高抗干擾性能,。
- 在每個(gè)印刷電路扳入口處的電源線與地線之間并接退耦電容。并接的電容應(yīng)為一個(gè)大容量的電解電容(10~100μF)和一個(gè)0.01~0.1μF的非電解電窖,,電路板上的大中規(guī)模IC要并接一個(gè)0.0lμF一0.1μF高頻電容,,以減小IC對(duì)電源的影響。注意高頻電容的布線,,連線應(yīng)靠近電源端并盡量粗短,,否則,等于增大了電容的等效串聯(lián)電阻,,會(huì)影響濾波效果,。
- 印刷線走線要科學(xué),高壓走線盡量短,,盡量遠(yuǎn)離小信號(hào)走線,。對(duì)于電能采集傳感器板的印刷板布線要求一面走線.另一面銅鉑既作電磁屏蔽用、又作地線用,,以減少干擾信號(hào),。除了要根據(jù)電流大小,盡量加大導(dǎo)線寬度外,,采取使電源線,、地線走向與數(shù)據(jù)信息傳送方向一致,將有助于增強(qiáng)抗噪聲的能力,。布線時(shí)避免小于90度折線,,減少高頻噪聲發(fā)射。不要在印制板上留下空白銅箔層,因?yàn)樗鼈兛梢猿洚?dāng)發(fā)射天線或接收天線,,因此可將它們接地以減小電磁干擾,。
- 在線路無(wú)法排列或只有繞大圈才能走通的情況下,干脆用絕緣“飛線”連接,,而不用印刷線,,或采用雙面印刷“飛線”或阻容元件直接跨接。
- 對(duì)印刷板上容易受干擾的信號(hào)線,,不能與產(chǎn)生干擾或傳遞干擾的線路長(zhǎng)距離平行鋪設(shè),。必要時(shí)可在它們之間設(shè)置一根地線,以實(shí)現(xiàn)屏蔽,。
當(dāng)然,,這些布線與布局的抗干擾設(shè)計(jì)一般不能由自動(dòng)布線軟件來(lái)實(shí)現(xiàn),必須有設(shè)計(jì)者親自參與并設(shè)計(jì)有關(guān)電路,。
三,、軟件抗干擾設(shè)計(jì)
在提高硬件系統(tǒng)抗干擾能力的同時(shí),軟件抗干擾以其設(shè)計(jì)靈活,、節(jié)省硬件資源,、可靠性好越來(lái)越受到重視。因此,,除了采取硬件抗干擾方法外,,還要采取如下軟件抗干擾措施。
(1)指令冗余技術(shù)
當(dāng)指針受到干擾出現(xiàn)程序跑飛時(shí),,可能會(huì)出現(xiàn)將操作數(shù)數(shù)值改變及將操作數(shù)誤當(dāng)作操作碼的情況,。當(dāng)“跑飛”到某雙字節(jié)或三字節(jié)指令的操作數(shù)上時(shí),會(huì)將操作數(shù)當(dāng)作操作碼,,程序?qū)⒊鲥e(cuò),,因此可在雙字節(jié)和三字節(jié)指令之后插入兩個(gè)或三個(gè)單字節(jié)NOP指令,這可保證其后的指令不被拆散,。對(duì)程序流向起決定作用的指令(如浸水使柔軟,、RETI、ACALL,、LCALL,、LJMP、JZ,、JNZ,、JC、.INC等)和對(duì)系統(tǒng)工作狀態(tài)起重要作用的指令(如SETB,、EA等)之前插入兩條NOP指令,,可保證跑飛程序迅速納入軌道;或者在其后面重復(fù)寫(xiě)上這些指令,以確保這些指令的正確運(yùn)行,。
(2)軟件陷阱
當(dāng)微處理器受到各種干擾時(shí),,若PC指針跳到非程序區(qū),可能會(huì)陷入某種循環(huán)不能跳出,。如果循環(huán)中無(wú)清WDT指令,,在給定看門(mén)狗定時(shí)器條件下,經(jīng)過(guò)一定時(shí)間 WDT起作用,,將PC指針復(fù)位,,工作恢復(fù)正常。如果循環(huán)中包含了清WDT的指令,,則產(chǎn)生死機(jī),。對(duì)于后者可在非程序區(qū)放置軟件陷阱加以解決。
軟件陷阱有三條指令組成:
- NOP
- NOP
- LJMP EER
安排軟件陷阱的位置有:
- 未使用的中斷區(qū),。如果設(shè)計(jì)的智能電表未使用全部的中斷向量區(qū),,則可在剩余的中斷區(qū)安排軟件陷阱,,以便能捕捉到錯(cuò)誤的中斷,。
- 未使用的大片EPROM空間。對(duì)于單片機(jī)未編程的空間,,其初始值為OFFH,。OFFH對(duì)51指令來(lái)說(shuō),相當(dāng)于單字節(jié)指令MOV R7,,A,。當(dāng)程序跑飛入該區(qū)后,不僅無(wú)法迅速入軌,,而且破壞R7的內(nèi)容,。因此在該區(qū)每隔一段地址設(shè)一個(gè)陷阱,就一定能捕捉到跑飛的程序,。
- 在表格的最后安排陷阱,。注意表格中不應(yīng)被放入。
- 在程序區(qū),。前面曾指出,,跑飛的程序在用戶(hù)程序內(nèi)部跳轉(zhuǎn)時(shí)可用指令冗余加以解決,也可以設(shè)置一些軟件陷阱,,能更有效地抑制程序跑飛,。可以將陷阱指令放置在各模塊之間的空余單元里,。在正常運(yùn)行中不執(zhí)行這些陷阱指令,,一旦程序跑飛落入這些陷阱區(qū),馬上將亂飛的程序拉入正確軌道。由于軟件陷阱都安排在正常程序執(zhí)行不到的地方,,故不會(huì)影響程序的執(zhí)行效率,。所以在EPROM容量允許的條件下,這種陷阱多一點(diǎn)為好,。
(3)“看門(mén)狗”措施
如果跑飛的程序落入一個(gè)臨時(shí)構(gòu)成的死循環(huán)中時(shí),,冗余指令和軟件陷阱都將無(wú)能為力,這時(shí)可以采用復(fù)位的方法使系統(tǒng)恢復(fù)正常,。“看門(mén)狗”電路的功能就是對(duì) CPU進(jìn)行實(shí)時(shí)檢測(cè),,當(dāng)CPU落入死循環(huán)之后,能及時(shí)發(fā)現(xiàn)并使整個(gè)系統(tǒng)復(fù)位,。在軟件編程中,,設(shè)置約1秒訪問(wèn)一次看門(mén)狗芯片,當(dāng)程序跑飛或大于1.4秒(設(shè)置的超時(shí)時(shí)間)沒(méi)有訪問(wèn)看門(mén)狗芯片,,X5045將輸出復(fù)位脈沖,,直至程序正常運(yùn)行。
(4)保證EEPROM數(shù)據(jù)寫(xiě)入的可靠性措施
需要注意的是,,看門(mén)狗如果起作用說(shuō)明程序計(jì)數(shù)器內(nèi)容被破壞,,因此其它寄存器或片內(nèi)公羊的內(nèi)容也有被破壞的可能,會(huì)導(dǎo)致把錯(cuò)誤的數(shù)據(jù)寫(xiě)入EEPROM,。在電表工作中,,每產(chǎn)電量改變0.1度寫(xiě)入一次EEPROM,如果出現(xiàn)將錯(cuò)誤的數(shù)據(jù)寫(xiě)入EEPROM,這是不允許的,。采取以下措施可很好的解決此問(wèn)題:
- 正常寫(xiě)入EEPROM之前,,要進(jìn)行一系列操作,可將其分成幾部分,。每一部分設(shè)置一寫(xiě)入口令,。只有程序正常一步一步運(yùn)行,口令才會(huì)逐一被賦予正確的值,,到最后寫(xiě)入時(shí)再判斷所有的口令是否正確,。若正確,寫(xiě)入,,否則退出,。寫(xiě)入完成,口令清除,。
- 數(shù)據(jù)雙備份,。當(dāng)由于干擾使微處理器中的寄存器數(shù)據(jù)改變時(shí),鑒于三組數(shù)據(jù)在同一值出錯(cuò)的概率較小,,故在寫(xiě)入之前,,將三組數(shù)據(jù)比較,,若相等則寫(xiě)入,若不相等則將相等的兩組數(shù)據(jù)寫(xiě)入,。
- 寫(xiě)入之前對(duì)數(shù)據(jù)的合法性進(jìn)行判別,,即對(duì)電量或參數(shù)的數(shù)據(jù)格式進(jìn)行判別。有了這樣的限制,,可進(jìn)一步提高可靠性,。
- 定時(shí)設(shè)置I/0口狀態(tài);微處理器受到干擾,,I/0口狀態(tài)可能改變,,比如電脈沖輸入口若改變?yōu)檩敵鰬B(tài),會(huì)造成用戶(hù)用了電但微處理器卻檢測(cè)不到的可能,。所以周期性地重復(fù)定義I/0口的輸入/輸出狀態(tài)對(duì)于干擾環(huán)境下運(yùn)行的電表是有好處的,。
(5)串行通信數(shù)據(jù)的冗余校驗(yàn)
在抄表通信過(guò)程中,由于信道上各種因素的影響,,所傳輸?shù)男盘?hào)受一定程度的干擾,,PC機(jī)、集中器,、電表間的性能參數(shù)不完全一致,,在串行通信中僅靠奇偶校驗(yàn)是不夠的。而采用國(guó)際上較為流行的傳輸碼校驗(yàn)方法——循環(huán)冗余碼校驗(yàn)(CRC),,可收到了很好的效果,。CRC是一種多用于同步通訊方式中的差錯(cuò)檢出方式,,在該方式中,,將所傳數(shù)據(jù)系列看成高次多項(xiàng)式G(x),將此多項(xiàng)式用預(yù)先規(guī)定的生成多項(xiàng)式P(x)去除,,再將其余數(shù)碼BCC附加在所傳數(shù)據(jù)的尾部一并傳送:在接收方,,用同樣的生成多項(xiàng)式去除,若除得結(jié)果為零,,則可判斷所接收到的數(shù)據(jù)是正確的,。在發(fā)送端的一方,即電表先將發(fā)送數(shù)據(jù)轉(zhuǎn)換,,連同原數(shù)據(jù)一同發(fā)給集中器,,集中器不做校驗(yàn),直接發(fā)給PC機(jī),,在接收端,,PC機(jī)用高級(jí)語(yǔ)言實(shí)行CRC算法解碼;以確定數(shù)據(jù)的真?zhèn)?。?jīng)實(shí)驗(yàn)證明,,冗余校驗(yàn)使誤碼率大為降低,,確保了數(shù)據(jù)傳輸?shù)目煽啃浴?br />
另外在軟件的編制過(guò)程中應(yīng)注意在執(zhí)行各功能子模塊之前,可先進(jìn)行功能標(biāo)志冗余判斷,,以增強(qiáng)其程序運(yùn)行可靠性,。
四、結(jié)束語(yǔ)
在電表設(shè)計(jì)中,,為了少走彎路和節(jié)省時(shí)間,,應(yīng)充分考慮抗干擾性能的要求,避免在設(shè)計(jì)完成后再去進(jìn)行抗干擾的補(bǔ)救措施,。因此電表設(shè)計(jì)開(kāi)發(fā)者應(yīng)從抑制干擾源,,切斷干擾傳播路徑,提高敏感器件的抗干擾性能等方面采取各種措施來(lái)提高系統(tǒng)性能,。在抗干擾設(shè)計(jì)中,,軟件抗干擾是被動(dòng)措施,而硬件抗干擾是主動(dòng)措施,,只要認(rèn)真分析系統(tǒng)所處環(huán)境的干擾來(lái)源以及傳播途徑,,采用兩者相結(jié)合的方法,就能保證系統(tǒng)長(zhǎng)期穩(wěn)定可靠地運(yùn)行,。
參考文獻(xiàn):
[1]徐愛(ài)均等.智能化測(cè)量控制儀表原理與設(shè)計(jì)[M],。北京航空航天大學(xué)出版社,1995
[2]王幸之等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)[M],。北京航空航天大學(xué)出版社,,2000
[3]邱玉春等EEPROM器件在電度表中的應(yīng)用。電測(cè)與儀表,,2000