摘è¦ï¼šç‚ºäº†æé«˜é›†ä¸å¼æ™ºèƒ½é›»è¡¨çš„æŠ—干擾性能,在è¨(shè)計(jì)ä¸ç¶œåˆé‡‡ç”¨äº†ç¡¬ä»¶å’Œè»Ÿä»¶æŽªæ–½ï¼šç¡¬ä»¶ä¸Šä¸»è¦é¸ç”¨MAX691Aé›»æºç›£(jiÄn)控和看門(mén)狗電路;軟件上主è¦é‡‡ç”¨äº†æ•¸(shù)據(jù)æ ¡é©—(yà n)ã€å‚™ä»½ï¼Œæ’入空æ“ä½œå’Œè»Ÿä»¶é™·é˜±ç‰æ–¹æ³•。經(jÄ«ng)實(shÃ)è¸æª¢é©—(yà n),該系統(tÇ’ng)具有很好的安全性與å¯é 性。
é—œ(guÄn)éµè©žï¼šæ™ºèƒ½é›»è¡¨ 單片機(jÄ«) 抗干擾
引言
ç›®å‰ï¼Œæˆ‘國(guó)絕大多數(shù)城鄉(xiÄng)居民用電抄表還采å–人工方å¼ã€‚這種è½åŽçš„æ–¹å¼ï¼Œæ¶ˆè€—大é‡çš„人力ã€ç‰©åŠ›ï¼Œè€Œä¸”é‡‡é›†æ•¸(shù)據(jù)的時(shÃ)間跨度大,準(zhÇ”n)ç¢ºåº¦ä½Žã€‚å› æ¤ï¼Œåœ‹(guó)家有關(guÄn)部門(mén)è¦(guÄ«)定以åŽå°‡é€æ¥ç”¨è‡ªå‹•(dòng)抄表系統(tÇ’ng)å–代人工抄表。但是這樣以來(lái),傳統(tÇ’ng)的機(jÄ«)械電表在性能上就ä¸èƒ½é©æ‡‰(yÄ«ng)è¦æ±‚ã€‚å› æ¤æˆ‘們采用單片機(jÄ«)自動(dòng)測(cè)控技術(shù),è¨(shè)計(jì)了一種既能ç¨(dú)立使用åˆèƒ½é¢å‘自動(dòng)抄表系統(tÇ’ng)的集ä¸å¼æ™ºèƒ½é›»è¡¨ã€‚為了使其長(zhÇŽng)期穩(wÄ›n)定ã€å®‰å…¨å¯é 地é‹(yùn)è¡Œï¼Œå¿…é ˆé€²(jìn)行全é¢çš„系統(tÇ’ng)抗干擾è¨(shè)計(jì)。下é¢å°±å°‡æœ‰é—œ(guÄn)å…§(nèi)容作以介紹:
系統(tÇ’ng)抗干擾è¨(shè)計(jì)çš„å¿…è¦æ€§
由于集ä¸å¼æ™ºèƒ½é›»è¡¨å·¥ä½œäºŽå±…æ°‘ä½å®…å€(qÅ«)å…§(nèi),很容易å—到系統(tÇ’ng)å…§(nèi)ã€å¤–å„種電氣和電ç£å¹²æ“¾ï¼Œå…¶ä¸ä»¥ä¾›é›»ç³»çµ±(tÇ’ng)干擾為主。在家用電器ä¸ï¼Œè¨±å¤šç‚ºé›»æ„Ÿæ€§è² (fù)è¼‰ï¼Œå®ƒå€‘çš„å¿«é€Ÿåˆ‡æ›æœƒ(huì)å°(duì)電網(wÇŽng)產(chÇŽn)生噪è²å¹²æ“¾ï¼Œé€²(jìn)而å¯èƒ½å°Ž(dÇŽo)致單片機(jÄ«)數(shù)據(jù)æ··äº‚æˆ–æ»æ©Ÿ(jÄ«),è¦(guÄ«)律如下:
(1ï¼‰å¹²æ“¾è„ˆæ²–çš„å¹…åº¦è¼ƒå°æ™‚(shÃ),å°(duì)單片機(jÄ«)基本無(wú)影響;
(2)干擾脈沖的幅度較大時(shÃ),使單片機(jÄ«)復(fù)ä½ï¼›
(3)干擾脈沖的幅度較大,且瞬間有很多脈沖,å¯èƒ½å°Ž(dÇŽo)致單片機(jÄ«)數(shù)據(jù)æ··äº‚æˆ–æ»æ©Ÿ(jÄ«)。
æ™ºèƒ½é›»è¡¨è¦æ±‚é•·(zhÇŽng)年連續(xù)地掛網(wÇŽng)é‹(yùn)行,é‹(yùn)行ä¸å‡ºç¾(xià n)的任何異常ç¾(xià n)象(數(shù)據(jù)æ··äº‚ã€æ»æ©Ÿ(jÄ«)ç‰ï¼‰å‡è¦æ±‚其能安全æ¢å¾©(fù),故å°(duì)æŠ—å¹²æ“¾è¦æ±‚很高。如果ä¸é‡‡å–有效的抗干擾措施,系統(tÇ’ng)在é‹(yùn)行éŽ(guò)程ä¸ï¼Œç•¶(dÄng)éé‡åˆ°è¼ƒå¼·(qiáng)的干擾信號(hà o)時(shÃ),其性能的å¯é 性與é‹(yùn)è¡Œçš„å®‰å…¨æ€§å‡æœƒ(huì)é™ä½Žï¼Œæœƒ(huì)給用戶ã€ç‰©æ¥(yè)ç®¡ç†æˆ–é›»æ¥(yè)部門(mén)é€ æˆè¼ƒå¤§çš„ç¶“(jÄ«ng)濟(jì)æå¤±ï¼Œç”šè‡³å°Ž(dÇŽo)致經(jÄ«ng)濟(jì)糾紛。
抗干擾è¨(shè)計(jì)的基本原則是:抑制干擾æºã€åˆ‡æ–·å¹²æ“¾å‚³æ’è·¯å¾‘ã€æé«˜æ•æ„Ÿå™¨ä»¶çš„æŠ—干擾性能。由æ¤å¯è¦‹(jià n),è¦ç¢ºä¿è©²æ™ºèƒ½é›»è¡¨ç³»çµ±(tÇ’ng)é‹(yùn)行安全å¯é ,一個(gè)é‡è¦çš„ç’°(huán)節(jié)就是進(jìn)行單片機(jÄ«)系統(tÇ’ng)的抗干擾è¨(shè)計(jì),主è¦åŒ…括硬件抗干擾和軟件抗干擾兩個(gè)æ–¹é¢ã€‚
系統(tÇ’ng)抗干擾è¨(shè)計(jì)
1.硬件抗干擾è¨(shè)計(jì)
é›»é‡ä¿¡è™Ÿ(hà o)的采集和輸出部分采用光電耦åˆå™¨ï¼Œå…‰é›»è€¦åˆå™¨çš„一次å´(cè)和二次å´(cè)æ˜¯é›»çµ•ç·£çš„ï¼Œå› æ¤å°(duì)地電ä½å·®å¹²æ“¾æœ‰å¾ˆå¼·(qiáng)çš„æŠ‘åˆ¶èƒ½åŠ›ï¼ŒåŒæ™‚(shÃ)也具有很強(qiáng)的抑制電ç£å¹²æ“¾çš„能力。電æºåœ¨å‘系統(tÇ’ng)æä¾›é›»èƒ½çš„åŒæ™‚(shÃ),也會(huì)把干擾噪è²ç›´æŽ¥ç”±ä¾›é›»ç«¯åŠ åœ¨æŽ§åˆ¶é›»è·¯ä¸Šï¼Œè€Œå–®ç‰‡æ©Ÿ(jÄ«)的復(fù)ä½ç·šã€ä¸æ–·ç·šç‰æŽ§åˆ¶ç·šï¼Œæœ€æ˜“å—到這種外界噪è²çš„å¹²æ“¾ï¼Œå› æ¤å¿…é ˆé‡‡å–一定措施來(lái)åŠ ä»¥æŠ‘åˆ¶ã€æ¶ˆé™¤é€™ç¨®å¹²æ“¾ã€‚å…·é«”æ–¹æ³•ç‚ºï¼šåŠ å±è”½ç½©ã€éš”離變壓器ã€ç£ç’°(huán)和π形濾波電路ç‰ï¼Œä½†é€™äº›åªèƒ½ä½¿å¹²æ“¾è„ˆæ²–的數(shù)é‡å’Œå¹…åº¦æœ‰æ‰€æ¸›å°‘ï¼Œé›£ä»¥å¾žæ ¹æœ¬ä¸Šè§£æ±ºã€‚æ‰€ä»¥ï¼Œé‚„å¿…é ˆä½¿ç”¨å–®ç‰‡æ©Ÿ(jÄ«)專用的電æºç›£(jiÄn)控芯片,æé«˜æ•感器件的抗干擾能力。
本系統(tÇ’ng)在硬件抗干擾方é¢çš„一個(gè)çªå‡ºç‰¹é»ž(diÇŽn)就是é¸ç”¨å–®ç‰‡æ©Ÿ(jÄ«)系統(tÇ’ng)監(jiÄn)控芯片MAX691A,è¨(shè)計(jì)了CPU安全監(jiÄn)控電路。MAX691A具有:復(fù)ä½ã€æ•¸(shù)據(jù)å˜å„²(chÇ”)器寫(xiÄ›)ä¿è·(hù)ã€åŽå‚™é›»æ± 切æ›ã€çœ‹é–€(mén)狗定時(shÃ)器和電æºç›£(jiÄn)視器ç‰åŠŸèƒ½ã€‚é€£æŽ¥é›»è·¯å¦‚åœ–1所示。

MAX691A主è¦å¼•è…³åŠå…¶åŠŸèƒ½èªª(shuÅ)明:
(1) VBATT:備用電æºè¼¸å…¥ç«¯ï¼Œå¯æŽ¥3.6Vé‹°é›»æ± æˆ–å……é›»é›»è·¯ã€‚å¦‚æžœä¸ç”¨ï¼Œæ‡‰(yÄ«ng)連接到GND。
(2) VOUT: é›»æºè¼¸å‡ºç«¯ï¼Œç•¶(dÄng)VCC高于復(fù)ä½ä¸Šé™é›»å£“時(shÃ),VOUT = VCC;當(dÄng)VCC低于復(fù)ä½ä¸Šé™é›»å£“時(shÃ),VOUT與VBATT相連。VOUT與GNDä¹‹é–“éœ€åŠ ä¸€å€‹(gè)0.1μF的電容。
(3) VCC ï¼šå·¥ä½œé›»æºæŽ¥å…¥ç«¯ï¼ŒæŽ¥+5V。
(4) GNDï¼šé›»æºæŽ¥åœ°ç«¯ï¼Œæ˜¯æ‰€æœ‰ä¿¡è™Ÿ(hà o)çš„åƒè€ƒé»ž(diÇŽn)。
(5) PFI:電æºé›»å£“比較器輸入端。當(dÄng)æ¤ç«¯é›»å£“輸入低于1.25V時(shÃ),PFO(————)將變?yÅu)榈碗娖å¥?
(6) PFO(————):掉電輸出端,低電平有效。在圖1ä¸ï¼Œå®ƒè§¸ç™¼(fÄ)INT(————)0䏿–·ï¼Œä¸æ–·æœå‹™(wù)程åº?qÅ«)⒆鱿到y(tÇ’ng)掉電å‰çš„緊急處ç†ã€‚
(7) WDI:看門(mén)狗喂入端。當(dÄng)å…¶ä¿æŒé«˜é›»å¹³æˆ–低電平的時(shÃ)é–“é”(dá)到1.6 s(典型值)時(shÃ),內(nèi)部看門(mén)狗定時(shÃ)器溢出,并觸發(fÄ)WDO(——————)信號(hà o)輸出。
(8) CE(————) OUT:片é¸ä¿¡è™Ÿ(hà o)è¼¸å‡ºç«¯ã€‚åªæœ‰ç•¶(dÄng)CE(————) IN是低電平而且VCC æ£å¸¸æ™‚(shÃ),CE(————) OUTæ‰è¼¸å‡ºä½Žé›»å¹³ï¼Œå¯æœ‰æ•ˆé˜²æ¢å°(duì)數(shù)據(jù)å˜å„²(chÇ”)器的誤æ“作。
(9) CE(————) IN:片é¸ä¿¡è™Ÿ(hà o)輸入端。
(10) WDO(——————):看門(mén)狗輸出端,低電平有效。如果WDI懸空,WDOï¼ˆâ€”â€”â€”â€”â€”â€”ï¼‰ä¿æŒé«˜é›»å¹³ã€‚
(11) RESET(——————————):低電平有效復(fù)ä½ç«¯ï¼Œç•¶(dÄng)VCC低于4.65V時(shÃ),RESET(——————————)變?yÅu)榈碗娖å¥î—”?fù)ä½ä¿¡è™Ÿ(hà o)典型值為200ms 。
(12) RESET:高電平有效復(fù)ä½ç«¯ï¼Œé›†é›»æ¥µé–‹(kÄi)路輸出。
å¦å¤–,MAX691Aé‚„å…·æœ‰æŒ¯è•©é »çŽ‡é¸æ“‡ï¼ˆ7ã€8引腳)ç‰åŠŸèƒ½ï¼Œå¯ä»¥èª¿(dià o)節(jié)復(fù)ä½å’Œçœ‹é–€(mén)狗定時(shÃ)器的時(shÃ)間。在圖1ä¸ï¼Œå¢žåŠ äº†å¾®åˆ†é›»è·¯å’Œå相器,使WDO(——————)直接引發(fÄ)系統(tÇ’ng)復(fù)ä½ï¼Œå¤§å¤§ç°¡(jiÇŽn)化了軟件的抗干擾è¨(shè)計(jì)。
2.軟件抗干擾è¨(shè)計(jì)
本系統(tÇ’ng)采å–的軟件抗干擾措施如下所述:
(1)å°(duì)輸入信號(hà o)采用電平檢測(cè)而éžé‚Šæ²¿æª¢æ¸¬(cè),以減少的å„種隨機(jÄ«)干擾脈沖的影響。
(2)å°(duì)é‡è¦çš„狀態(tà i)寄å˜å–®å…ƒå‚™ä»½ï¼Œç•¶(dÄng)系統(tÇ’ng)狀態(tà i)å—å¹²æ“¾ç ´å£žåŽï¼Œèƒ½åŠæ™‚(shÃ)查詢備份寄å˜å–®å…ƒçš„ä¿¡æ¯ï¼Œé€²(jìn)行狀態(tà i)ç³¾æ£ã€‚
(3ï¼‰é›»é‡æ•¸(shù)據(jù)å˜æ”¾ä¹‹å‰ï¼Œå°(duì)其進(jìn)è¡Œæ ¡é©—(yà n),以ä¿è‰æ•¸(shù)據(jù)çš„æ£ç¢ºæ€§ã€‚
(4ï¼‰é›»é‡æ•¸(shù)據(jù)在6264å’Œ2465ä¸éƒ½é‡‡å–多å€å˜æ”¾ï¼Œäº’為備份,以確ä¿è¬(wà n)ç„¡(wú)一失。
(5)è¨(shè)置自檢程åºï¼Œåœ¨æŸäº›å…§(nèi)å˜å–®å…ƒè¨(shè)置狀態(tà i)標(biÄo)志,在開(kÄi)機(jÄ«)é‹(yùn)行åŽï¼Œå°(duì)其進(jìn)行監(jiÄn)測(cè),ä¿è‰ä¿¡æ¯å˜å„²(chÇ”)ã€å‚³è¼¸ã€é‹(yùn)算的高å¯é 性。
(6)æ’入空æ“作指令:在比較æ¢ä»¶è½‰(zhuÇŽn)移指令ã€çµ•å°(duì)轉(zhuÇŽn)移指令ã€ä¸æ–·ã€å †æ£§æŒ‡ä»¤å‰ï¼Œä»¥åŠæ•¸(shù)據(jù)è¡¨æ ¼åŽï¼Œæ’入空指令,æé«˜ç³»çµ±(tÇ’ng)的穩(wÄ›n)定性。
(7)當(dÄng)程åºé‹(yùn)行失常,發(fÄ)生諸如:程åºâ€œè·‘飛â€ã€æ•¸(shù)據(jù)å€(qÅ«)和工作寄å˜å™¨ä¸çš„æ•¸(shù)據(jù)éåˆ°ç ´å£ž,é‡‡å–æŽªæ–½å¦‚ä¸‹ï¼š
(a) è¨(shè)置監(jiÄn)視跟蹤定時(shÃ)器
å› æœ¬ç³»çµ±(tÇ’ng)è¨(shè)計(jì)有CPU安全監(jiÄn)控電路,所以å¯é€šéŽ(guò)使用MAX691A的定時(shÃ)䏿–·å³çœ‹é–€(mén)狗(Watchdog)來(lái)監(jiÄn)視程åºçš„é‹(yùn)行。åªè¦ç¨‹åºæ£å¸¸é‹(yùn)行,定時(shÃ)噍就䏿œƒ(huì)出ç¾(xià n)定時(shÃ)䏿–·ã€‚而當(dÄng)程åºé‹(yùn)è¡Œå¤±å¸¸ï¼Œå› â€œè·‘é£›â€ç‰åŽŸå› ä¸èƒ½å°(duì)WDI進(jìn)è¡ŒåŠæ™‚(shÃ)刷新時(shÃ),看門(mén)狗定時(shÃ)器就會(huì)引發(fÄ)崩潰復(fù)ä½ã€‚
(b) è¨(shè)置軟件陷井
在程åºå˜å„²(chÇ”)器的空白處,填滿空æ“作指令和長(zhÇŽng)轉(zhuÇŽn)移指令(LJMP ERR),來(lái)截ç²è·‘飛的程åºï¼Œæœ€åŽé€šéŽ(guò)軟件強(qiáng)制復(fù)ä½ï¼Œä½¿ç¨‹åºè¿”回到åˆå§‹ç‹€æ…‹(tà i)。在MCS-51單片機(jÄ«)的軟件復(fù)ä½éŽ(guò)程ä¸ï¼Œå¿…é ˆé€£çºŒ(xù)執(zhÃ)è¡Œå…©æ¬¡ä¸æ–·è¿”回指令RETIæ‰èƒ½ç¢ºä¿æ¸…除䏿–·æ¨™(biÄo)志,使系統(tÇ’ng)æ¢å¾©(fù)æ£å¸¸ã€‚出錯(cuò)處ç†ç¨‹åºå¦‚下:
ERR: CLR EA ; æ£ç¢ºçš„軟件復(fù)ä½å…¥å£ï¼Œé—œ(guÄn)䏿–·
MOV 66H,#0AAH ; é‡å»ºä¸Šé›»æ¨™(biÄo)å¿—
MOV 67H,#55H
MOV DPTR,#ERR1 ;準(zhÇ”n)備第一次返回地å€
PUSH DPL
PUSH DPH
RETI ; 清除高級(jÃ)䏿–·æ¿€æ´»æ¨™(biÄo)å¿—
ERR1: CLR A
PUSH ACC
PUSH ACC
RETI ; 清除低級(jÃ)䏿–·æ¿€æ´»æ¨™(biÄo)å¿—
çµ(jié)è«–
本集ä¸å¼æ™ºèƒ½é›»è¡¨ç³»çµ±(tÇ’ng)進(jìn)è¡Œäº†å…¨é¢æœ‰æ•ˆçš„系統(tÇ’ng)軟ã€ç¡¬ä»¶æŠ—干擾è¨(shè)計(jì),特別是充分利用了MAX691A芯片的強(qiáng)大監(jiÄn)控功能,實(shÃ)ç¾(xià n)了本系統(tÇ’ng)三狀æ³ï¼ˆä¸Šé›»ã€æŽ‰é›»ã€å´©æ½°ï¼‰å¾©(fù)ä½ã€æ•¸(shù)據(jù)å˜å„²(chÇ”)器寫(xiÄ›)ä¿è·(hù)ã€åŽå‚™é›»æ± 切æ›ã€çœ‹é–€(mén)狗定時(shÃ)和電æºç›£(jiÄn)視ç‰åŠŸèƒ½ã€‚å¾žè€Œæ¥µå¤§çš„æé«˜äº†ç³»çµ±(tÇ’ng)的抗強(qiáng)干擾能力,確ä¿äº†ç³»çµ±(tÇ’ng)é‹(yùn)行的安全性與å¯é 性,為該智能電表實(shÃ)際的應(yÄ«ng)用與推廣æä¾›äº†å¯é 的技術(shù)ä¿éšœã€‚