
文章內(nèi)容
智能流量檢測(cè)系統(tǒng)高可靠性數(shù)據(jù)的保護(hù)方法
數(shù)據(jù)保護(hù)電路設(shè)計(jì)程序運(yùn)行異常時(shí)累積流量數(shù)據(jù)的保護(hù)程序跑飛自動(dòng)復(fù)位時(shí)序
2003年10月(1)
摘要 提出了一種由MAX813和93C46集成芯片構(gòu)成的低成本、高可靠性智能流量檢測(cè)系統(tǒng)數(shù)據(jù)自動(dòng)保護(hù)方法。給出了看門狗、掉電后供電延時(shí)、電源故障實(shí)時(shí)監(jiān)控和自動(dòng)復(fù)位等功能的實(shí)現(xiàn)電路及相關(guān)程序。克服了來(lái)自電源等方面的干擾,提高了可靠性。該方法已在新開發(fā)的智能流量檢測(cè)系統(tǒng)產(chǎn)品中得到實(shí)際應(yīng)用。
關(guān)鍵詞 流量檢測(cè) 數(shù)據(jù)保護(hù) 電源監(jiān)控 累積流量
0 引言
智能流量檢測(cè)系統(tǒng)應(yīng)用的工業(yè)現(xiàn)場(chǎng)環(huán)境一般都較惡劣,存在的各方面干擾常導(dǎo)致系統(tǒng)難以正常工作,其中,源于電源的干擾對(duì)系統(tǒng)的影響最大。目前國(guó)產(chǎn)系統(tǒng)雖采用了一些有效的軟硬件抗干擾措施,如看門狗、光電隔離與屏蔽、濾波、軟件陷阱等,在一定程度上提高了系統(tǒng)的抗干擾能力,但對(duì)應(yīng)用現(xiàn)場(chǎng)突然斷電或電網(wǎng)電壓大范圍波動(dòng)時(shí)的數(shù)據(jù)保護(hù)問題仍未能得到很好解決,從而嚴(yán)重影響了系統(tǒng)工作的可靠性和環(huán)境適應(yīng)能力。本文以智能流量檢測(cè)系統(tǒng)累積流量數(shù)據(jù)保護(hù)為例,介紹一種具有低成本、高可靠性的流量檢測(cè)系統(tǒng)數(shù)據(jù)保護(hù)方法。
1 數(shù)據(jù)保護(hù)電路設(shè)計(jì)
該數(shù)據(jù)保護(hù)電路采用MAX813、三端集成穩(wěn)壓器7805和93C46等構(gòu)成,如圖1所示。

圖1 檢測(cè)系統(tǒng)數(shù)據(jù)保護(hù)電路
MAX813是具有電源監(jiān)控電路的微處理芯片,它不僅能對(duì)電源電壓實(shí)現(xiàn)監(jiān)測(cè),而且內(nèi)部還具有看門狗定時(shí)電路,因此用于測(cè)控系統(tǒng)十分方便。它具有四個(gè)功能:①看門狗計(jì)時(shí)器功能,如果看門狗輸入在1.6s內(nèi)無(wú)變化,就會(huì)產(chǎn)生看門狗輸出;②電壓監(jiān)測(cè)功能,掉電或電源監(jiān)測(cè)電壓低于1.25V時(shí),產(chǎn)生掉電輸出;③上電復(fù)位功能,系統(tǒng)上電時(shí)自動(dòng)產(chǎn)生脈寬200ms的復(fù)位脈沖;④人工復(fù)位功能,當(dāng)人工復(fù)位端輸入低電平時(shí),產(chǎn)生復(fù)位信號(hào)輸出。其主要引腳定義為:
:手動(dòng)復(fù)位端。當(dāng)該端輸入低電平保持14ms以上,MAX813就能產(chǎn)生復(fù)位信號(hào)。該復(fù)位信號(hào)脈寬為200ms。
PFI:電源故障輸入端。當(dāng)該端輸入電壓低于1.25V時(shí),MAX813使電源故障輸出端產(chǎn)生的信號(hào)由高電平變?yōu)榈碗娖健?/p>
:電源故障輸出端。電源正常時(shí),保持高電平;電源電壓變低或掉電時(shí),輸出由高電平變?yōu)榈碗娖健?/p>
WDI:看門狗信號(hào)輸入端。程序正常運(yùn)行時(shí),必須間隔1.6s之內(nèi)使該端輸入反向信號(hào)。若該端輸入信號(hào)超過(guò)1.6s未改變方向,則產(chǎn)生看門狗輸出。
RST:復(fù)位信號(hào)輸出端。上電時(shí),自動(dòng)產(chǎn)生200ms的復(fù)位脈沖;手動(dòng)復(fù)位端輸入低電平時(shí),該端也產(chǎn)生復(fù)位信號(hào)輸出。
:看門狗信號(hào)輸出端。正常工作時(shí)輸出高電平;看門狗輸出時(shí),該端輸出信號(hào)由高電平變?yōu)榈碗娖健?/p>
93C46是比較常用的串行E2PROM芯片。它具有體積小、價(jià)廉、電路連接簡(jiǎn)單、不占用總線和數(shù)據(jù)線、掉電不丟失數(shù)據(jù)、可在線改寫等優(yōu)點(diǎn),因此可廣泛應(yīng)用于智能測(cè)控系統(tǒng)中。其主要引腳定義為:
TEST(2,3腳):測(cè)試端,與VCC相連。
:片選信號(hào),低電平有效。在相鄰兩條指令之間
必須至少保持250ns的低電平狀態(tài)。
SK:時(shí)鐘信號(hào)。所有操作碼、地址碼、數(shù)據(jù)位均在SK脈沖正跳沿輸入或輸出,SK信號(hào)可在傳輸數(shù)據(jù)的任一時(shí)刻暫停或繼續(xù)。
DI:串行數(shù)據(jù)輸入端。用于輸入起始位、操作碼、地址和數(shù)據(jù)。
DO:串行數(shù)據(jù)輸出端。在讀周期用于輸出數(shù)據(jù);在擦/寫周期或片擦/片寫周期,用于提供忙/閑狀態(tài);其余時(shí)間為高阻狀態(tài)。
在圖1所示的電路中,D2,D3,C1和R3構(gòu)成了掉電后供電延時(shí)電路;R1,R2和MAX813構(gòu)成了電源故障實(shí)時(shí)監(jiān)控電路;MAX813和D1構(gòu)成了自動(dòng)復(fù)位電路;看門狗電路則由MAX813內(nèi)部集成電路提供。
系統(tǒng)內(nèi)部,累積流量數(shù)據(jù)被存儲(chǔ)在兩個(gè)空間:AT89C52內(nèi)RAM區(qū)和93C46的存儲(chǔ)區(qū)。AT89C52內(nèi)RAM區(qū)用于存放瞬時(shí)累積流量數(shù)據(jù),其數(shù)據(jù)每秒更新流量數(shù)據(jù),其數(shù)據(jù)正常情況下每小時(shí)更新一次。
2 工作原理
2.1 程序運(yùn)行異常時(shí)累積流量數(shù)據(jù)的保護(hù)
系統(tǒng)供電及程序運(yùn)行正常情況下,系統(tǒng)按圖2所示的程序流程運(yùn)行。系統(tǒng)在運(yùn)行完執(zhí)行程序后對(duì)AT89C52的P14端輸出電平反向,以實(shí)現(xiàn)喂狗輸出。該系統(tǒng)的執(zhí)行程序運(yùn)行時(shí)間小于1.6s,這樣就保證了系統(tǒng)在程序運(yùn)行正常時(shí)的情況下MAX813的看門狗不會(huì)產(chǎn)生輸出,系統(tǒng)也不會(huì)復(fù)位。當(dāng)系統(tǒng)電源供電正常但執(zhí)行程序因干擾而跑飛或進(jìn)入臨時(shí)構(gòu)成的循環(huán)嵌套時(shí),系統(tǒng)不能按正常的程序流程運(yùn)行。由圖2所示的系統(tǒng)主程序流程可知,系統(tǒng)只有在初始化后和運(yùn)行完執(zhí)行程序后才產(chǎn)生喂狗輸出。因此,系統(tǒng)在程序運(yùn)行異常的情況下產(chǎn)生喂狗輸出信號(hào)的概率幾乎為零。這樣,當(dāng)程序運(yùn)行異常時(shí)系統(tǒng)能在1.6s內(nèi)及時(shí)地復(fù)位。復(fù)位后初始化,系統(tǒng)檢測(cè)AT89C52內(nèi)RAM區(qū)的程序運(yùn)行標(biāo)識(shí)字,查看系統(tǒng)復(fù)位是因看門狗輸出還是因系統(tǒng)上電產(chǎn)生。當(dāng)程序運(yùn)行標(biāo)識(shí)字顯示系統(tǒng)因看門狗輸出發(fā)生復(fù)位時(shí),系統(tǒng)計(jì)算出復(fù)位后累積流量寫入93C46累積流量存儲(chǔ)區(qū),使累積流量數(shù)據(jù)得到保護(hù);反之,系統(tǒng)執(zhí)行上電時(shí)的初始化操作,將程序運(yùn)行標(biāo)識(shí)字置為OAAH。

圖2 系統(tǒng)主程序
上述系統(tǒng)工作過(guò)程的時(shí)序關(guān)系和程序流程分別如圖3和圖4所示。

a-RST端信號(hào);b-
端信號(hào);c-WDI端信號(hào);
各信號(hào)曲線的上升沿和下降沿時(shí)間<40ns

圖4 自動(dòng)復(fù)位累積流量數(shù)據(jù)保護(hù)程序
圖4中,部分初始化和其它程序之間的程序如下所示,由于篇幅所限下述程序中省略了相關(guān)的子程序。
……………………
YXBSZ DATA 3CH ;定義程序運(yùn)行標(biāo)識(shí)字
BUFFL DATA 44H ;定義數(shù)據(jù)緩沖區(qū)首地址
……………………
MOV A,YXBSZ ;讀程序運(yùn)行標(biāo)識(shí)字到累加器A
CJNE A,#OAAH,TZBA ;判斷程序運(yùn)行標(biāo)識(shí)字是否等于#OAAH
LCALL SJCMFX ;詞用SJCMFX子程序,計(jì)算總累積流量和正(反)向累積流量,總累積流量放在BUFFL為首的4字節(jié)單元,正(反)向累積流量放在BUFFL+4為首的4字節(jié)單元,高位在前
LCALL R93CRD ;調(diào)用R93CRD子程序,寫B(tài)UFFL和BUFFL+1中總累
;積流量數(shù)據(jù)到93C46的OEH地址
LCALL R93CRD ;調(diào)用R93CRD子程序,等待93C46就緒
MOV A,#BUFFL
ADD A,#2
MOV RO,A
MOV R3,#OFH
LCALL WR93C46 ;調(diào)用WR93C46子程序,寫B(tài)UFFL+2和BUFFL+3
中總累積流量數(shù)據(jù)到93C46的OFH地址
MOV A,BUFFL ;將緩沖區(qū)正(反)向累積流量的首地址放入R7
ADD A,#4
MOV R7,A
MOV C,23H ;將正反向流量標(biāo)識(shí)為讀入C
JNC TZBAI ;判斷流向是否為正方向
LCALL R93CRD ;調(diào)用R94CRD子程序,等待93C46就緒
MOV A,R7
MOV RO,A
MOV R3,#10H
LCALL WR93C46 ;調(diào)用WR93C46子程序,寫B(tài)UFFL+4和BUFFL+5
中正
;向累積流量到93C46的10H地址
LCALL R93CRD ;調(diào)用R93CRD子程序,等待93C46就緒
MOV A,R7
ADD A,#2
MOV RO.A
MOV R3,#11H
LCALL WR93C46 ;調(diào)用WR93C46子程序,寫B(tài)UFFL+6和BUFFL+7中正向累積流量到93C46的11H地址
SJMP TZBA2
TZBA1:LCALL R93CRD ;調(diào)用R93CRD子程序,等待93C46就緒
MOV A,R7
MOV RO,A
MOV R3,#12H
LCALL WR93C46 ;調(diào)用WR93C46子程序,寫B(tài)UFFL+4和BUFFL+5中正向累積流量到93C46的12H地址
LCALL R93CRD ;調(diào)用R93CRD子程序,等待93C46就緒
MOV A,R7
ADD A,#2
MOV RO,A
MOV R3,#13H
LCALL WR93C46 ;調(diào)用WR93C46子程序,寫B(tài)UFFL+6和BUFFL+7中反向累積流量到93C46的13H地址
SJMP TZBA2
TZBA:MOV YXBSZ,#OAAH ;將程序運(yùn)行標(biāo)識(shí)字置為#OAAH
TZBA2:……………………

推薦產(chǎn)品



相關(guān)視頻