日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
[轉(zhuǎn)載]一種高可靠MCU系統(tǒng)監(jiān)控方案
[轉(zhuǎn)載]一種高可靠MCU系統(tǒng)監(jiān)控方案
 更新時間:2008-8-17 16:48:44  點擊數(shù):12
【字體: 字體顏色
一種高可靠MCU系統(tǒng)監(jiān)控方案

武漢力源電子股份有限公司郵購中心(430079) 熊煒明

1 目前MCU系統(tǒng)監(jiān)控中的問題

對于單片機(jī)系統(tǒng),一般都需要監(jiān)控電路來提高系統(tǒng)的可靠性。包括用電壓比較器對電源的監(jiān)控和看門狗對程序的監(jiān)控。為防止系統(tǒng)程序受干擾“飛掉”,常用看門狗定時器,這種方式對于系統(tǒng)進(jìn)入死循環(huán)時很有效,而程序“飛掉”時極有可能跳過一段程序,正好進(jìn)入另一條指令的開頭。尤其在RISC系統(tǒng)中,絕大部分是單周期指令,容易遇到這種情況,此時程序會繼續(xù)運行下去,使看門狗失效。跳過的這段程序,可能包括一些接口控制執(zhí)行指令,或某些數(shù)據(jù)的輸入輸出,或條件判斷,整個系統(tǒng)會因此而運行紊亂,或直接產(chǎn)生故障。系統(tǒng)出現(xiàn)這類故障時很難立即察覺。 1. 在運用極其廣泛的一類MCU系統(tǒng),如分段定時控制系統(tǒng)中,象家用電器的電腦控制微波爐、洗衣機(jī)、電飯煲;電力行業(yè)的發(fā)電機(jī)轉(zhuǎn)速控制;冶金行業(yè)的連鑄、焊管及流水線系統(tǒng)等,都可能會在系統(tǒng)運行中遇到分段定時控制或某一區(qū)域內(nèi)運行狀態(tài)與前段運行狀態(tài)密切相關(guān)的情況。此時簡單地用看門狗電路作系統(tǒng)監(jiān)控,一旦出現(xiàn)系統(tǒng)死鎖而復(fù)位,將會使啟動以后的整個運行過程失效,這種方法顯然是行不通的。

2. 對于分時多任務(wù)系統(tǒng),其中的某個或幾個任務(wù)出現(xiàn)死鎖,而又有一個或多個任務(wù)仍正常運行的情況下,看門狗定時器可能會被“蒙蔽”而失去監(jiān)控作用。

3. 在一個程序運行周期很短,或系統(tǒng)根據(jù)不同運行狀況的程序處理時間相差很大的情況下,看門狗定時周期難以定得合適,此時若出現(xiàn)干擾死機(jī)可能因難于及時發(fā)現(xiàn)并解決而造成故障。

如果有一種方法,使系統(tǒng)在運行過程中能夠自行感知程序運行狀況,出現(xiàn)問題能夠隨時察覺;發(fā)現(xiàn)故障立即報警、停止運行或復(fù)位,甚至可以自動糾錯,使程序恢復(fù)正確的運行,以實現(xiàn)對程序的最佳監(jiān)控,那將是比較理想的。

2 系統(tǒng)在線自行跟蹤基本方法

系統(tǒng)在線運行過程中,如果能夠隨時將系統(tǒng)運行的過程即系統(tǒng)當(dāng)前程序的實際流程路線自動記錄下來,就有辦法將預(yù)期的運行路線與之比較,從而避免程序出現(xiàn)不可預(yù)測的死鎖。打個比方,設(shè)想有一輛在公路上行駛的汽車,只要知道該汽車在各個岔路口的走向,就可以描繪出這輛汽車整個的行駛路線,但是難以保證汽車可能會在一條單一路線上行駛時拋錨。如果每隔一定距離以及重要路段設(shè)上“哨卡”,就能更加細(xì)致地了解到汽車的行駛情況,一旦出現(xiàn)問題就能立即知道事故出現(xiàn)的具體路段。同理,在程序運行過程中也可以通過人為設(shè)置的“哨卡”來記錄程序當(dāng)前的運行路線。在多數(shù)情況下,這些“哨卡”對系統(tǒng)運行并沒有太大的影響。 實際上,這些“哨卡”就是可以任意插入流程中的簡短程序段,每一個“哨卡”有一個特定的“標(biāo)志碼”以使我們能夠知道程序到底運行到何處。將這些標(biāo)記按出現(xiàn)的順序記錄在存儲器中,就能依此知道CPU“行駛”的具體路線。當(dāng)然,對系統(tǒng)的運行狀態(tài)了解得越細(xì)致,程序的運行時間會越長。應(yīng)將它們設(shè)置在重要的數(shù)據(jù)讀寫或接口操作處,各分支路口和相對獨立的程序塊入口處,盡量減小對系統(tǒng)的影響。

下面以GMS97C51單片機(jī)構(gòu)成的MCU系統(tǒng)為例說明系統(tǒng)對自身運行路線的跟蹤記錄方法。

如圖1所示,設(shè)系統(tǒng)CPU為97C51,外接一片SRAM 6116來作運行記錄,為防止掉電和死機(jī)的影響,將RAM用后備電池保護(hù)起來(系統(tǒng)上電初始化程序應(yīng)包括將6116清零,清零程序在此略去)。

在系統(tǒng)原來程序段中需要設(shè)“哨卡”的地方插入語句:

MOV
SIGN, #MARK
;#MARK為標(biāo)志號,SIGN定義

LCALL
GUIDE
;為存放標(biāo)志號的寄存器地址

這樣,僅插入6個字節(jié)對原來程序的存儲空間并無多大影響,所有的“哨卡”共用一個子程序。

GUIDE:
PUSH PSW
; 保護(hù)原來程序可能用到的寄存器,如有必要也可

PUSH ACC
;將DPTR壓棧保護(hù)

INC ADDR
;ADDR為標(biāo)志號存放單元, 上電后需清零

MOV A,ADDR
;假設(shè)只用RAM中的256個單元來做記錄

JZ OUT
;若存儲空間用完則停止存儲記錄

MOV DPL,ADDR
;設(shè)6116存儲地址為7F××H

MOV DPH,#7FH

MOVX @DPTR,A


OUT:
POP ACC
;存儲記錄

POP PSW

RET

假設(shè)總共“哨卡”數(shù)量少于256個,用一個字節(jié)來作標(biāo)志,每一個“哨卡”都會有一個獨立的標(biāo)志號,通過查詢RAM記錄內(nèi)容就可知道程序的實際運行路線了。這里我們還發(fā)現(xiàn)程序自行跟蹤的一個額外的作用,即只需一個讀RAM的簡單裝置,此方法就可用來作程序開發(fā)過程中的仿真調(diào)試而無須PC機(jī)及仿真器。

若系統(tǒng)無法用到并行總線,可將6116換成串行存儲器,如美國Xicor公司的非易失性RAM X24C45,程序則應(yīng)作相應(yīng)改動。插入“哨卡”后應(yīng)考慮對原系統(tǒng)運行時間上的影響。

3 利用自行跟蹤方式對系統(tǒng)的實時監(jiān)控

在作系統(tǒng)監(jiān)控的應(yīng)用中,系統(tǒng)必須對自身運行狀況作實時監(jiān)控。利用上面的方式,在系統(tǒng)中加上監(jiān)控程序,系統(tǒng)對自身運行情況亦可作自行監(jiān)測。但這樣一來,不僅會對原來程序造成較大影響,而且會因為系統(tǒng)本身可能受到干擾或其它原因而癱瘓,因而是不可靠的。對于高可靠性要求的系統(tǒng),有必要另加一套監(jiān)控系統(tǒng)來對原系統(tǒng)及監(jiān)控系統(tǒng)自身作專門監(jiān)護(hù),從后面的討論中可知,這外加的系統(tǒng)可以是廉價、小巧、安全可靠和高效的。

在實時監(jiān)控過程中,可以省掉對程序運行路線的存儲記錄而直接判斷。系統(tǒng)電路如圖2所示。它進(jìn)一步減小了對原系統(tǒng)的影響而又提高了運行效率。在監(jiān)控系統(tǒng)運行過程中,應(yīng)從以下三個方面來考慮:

[1] [2] [3] [4]  下一頁
  • 上一篇: 學(xué)習(xí)AVR(十) 復(fù)位和中斷處理
  • 下一篇: [轉(zhuǎn)載]基于單片機(jī)的線陣CCD實時檢測系統(tǒng)的開發(fā)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1