日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看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  點(diǎn)擊數(shù):12
【字體: 字體顏色

(a)作為示意,圖中字母表示每一個數(shù)據(jù)區(qū)的首地址,數(shù)據(jù)區(qū)中的相對跳轉(zhuǎn)地址指向其相應(yīng)的地址位置。在實(shí)際數(shù)據(jù)區(qū)中地址字節(jié)應(yīng)為相對量。

4.2 監(jiān)控系統(tǒng)的程序?qū)崿F(xiàn)

監(jiān)控系統(tǒng)的主要程序流程見圖7所示。在程序正常運(yùn)行的情況下,唯一能夠打破此數(shù)據(jù)結(jié)構(gòu)圖而出現(xiàn)例外的只有一種情況,即主程序運(yùn)行過程中出現(xiàn)了中斷服務(wù)程序。而在每一個中斷服務(wù)程序起始后即會有一“哨卡”提供其特征碼,以使監(jiān)控程序在當(dāng)前數(shù)據(jù)區(qū)找不到對應(yīng)的數(shù)碼時,能為中斷服務(wù)程序的跟蹤提供一個入口。但監(jiān)控程序一定要將中斷入口前的“路標(biāo)碼”數(shù)據(jù)庫地址壓棧。以使中斷服務(wù)程序結(jié)束時能接上前面的“連環(huán)套”。

監(jiān)控系統(tǒng)設(shè)置定時器作為主系統(tǒng)的軟看門狗。監(jiān)控CPU每接收到一次被刷新的“路標(biāo)碼”,就將軟定時器復(fù)位一次,若定時器溢出則表示“路標(biāo)碼”已經(jīng)有過長時間未被刷新?烧J(rèn)為原系統(tǒng)出現(xiàn)了故障。對于多任務(wù)系統(tǒng),可以設(shè)置一個公共時基,在每一次時基定時中斷中給每一任務(wù)的定時時鐘加1(每一個任務(wù)有一個獨(dú)立的時鐘寄存器,存放累積的時基個數(shù)),并判斷每一任務(wù)的時基數(shù)是否大于設(shè)定的數(shù)值,若大于即表示該任務(wù)已超過看門狗定時周期,該任務(wù)出現(xiàn)了故障需要處理。依此可彌補(bǔ)硬件定時器數(shù)量上的不足,也簡化了程序。在每一次刷新“路標(biāo)碼”時會將相應(yīng)任務(wù)的時鐘寄存器清零,即將此看門狗復(fù)位。

另外,路標(biāo)碼在數(shù)據(jù)庫中的轉(zhuǎn)移范圍若超出了相對尋址范圍,例如程序在完成一個大循環(huán)后的“哨卡”地址,可由專門的長轉(zhuǎn)移標(biāo)志提供相應(yīng)的入口地址。


圖7 監(jiān)控系統(tǒng)核心程序流程圖

分析監(jiān)控程序的流程圖,會發(fā)現(xiàn)實(shí)現(xiàn)監(jiān)控程序并不困難。在此基礎(chǔ)上,在不同的系統(tǒng)開發(fā)中還可有許多應(yīng)用,例如將主系統(tǒng)重要寄存器與程序指針在“哨卡”處作刷新保存,監(jiān)控程序?qū)ⅰ吧诳ā睜顟B(tài)緩存一步,并保存前一“哨卡”地址。一旦出現(xiàn)問題,可將程序返回該“哨卡”處恢復(fù)原來狀態(tài)繼續(xù)運(yùn)行。具體實(shí)現(xiàn)方法在此不作詳述。

5 監(jiān)控系統(tǒng)的完善

前面以一種簡單的情況和工作方式說明了監(jiān)控系統(tǒng)的運(yùn)行過程。然而在實(shí)際運(yùn)行過程中,由于監(jiān)控過程全部自動完成,監(jiān)控系統(tǒng)工作的穩(wěn)定性和嚴(yán)密性有重要的意義。主系統(tǒng)在運(yùn)行過程中發(fā)生數(shù)據(jù)突變或者出現(xiàn)程序在相鄰“哨卡”之間的非法跳變,此時用以上的簡單跟蹤方式難以直接察覺。因此,在監(jiān)控CPU與主系統(tǒng)之間的數(shù)據(jù)信息交流是必要的。另外,要保證“哨卡”設(shè)置得嚴(yán)密,必須保證監(jiān)控CPU有比主CPU快得多的運(yùn)行速度。下面簡要探討一下對監(jiān)控系統(tǒng)的完善方案。

5.1 對寄存器數(shù)據(jù)的監(jiān)控

在程序運(yùn)行過程中的數(shù)據(jù)突變和程序計(jì)數(shù)指針的非法跳變最終影響的是寄存器的數(shù)據(jù)值。在相鄰“哨卡”之間不會有分支、循環(huán)語句,僅會涉及到置數(shù)、傳送、運(yùn)算、接口操作,對這些流程的破壞也最終反映到寄存器數(shù)據(jù)的改變上。監(jiān)控系統(tǒng)要探知這些寄存器數(shù)據(jù)的變化只有通過主系統(tǒng)與監(jiān)控系統(tǒng)的信息交換。提高系統(tǒng)可靠性是以降低原系統(tǒng)實(shí)際運(yùn)行速度為代價的,在“哨卡”程序中輸出相關(guān)寄存器內(nèi)容,過程如下:

在“哨卡”程序中,首先向監(jiān)控CPU傳送“哨卡”標(biāo)志號;

接著依次傳送相關(guān)寄存器的內(nèi)容或特定的數(shù)據(jù);

最后輸出立即數(shù)#0,作為當(dāng)前“哨卡”數(shù)據(jù)傳送結(jié)束標(biāo)志。

在每個哨卡數(shù)據(jù)傳送過程中,由于監(jiān)控系統(tǒng)是與主系統(tǒng)配合設(shè)計(jì)的,并不是獨(dú)立可脫離的控制模塊,因此監(jiān)控系統(tǒng)在特定的各個標(biāo)志號的“哨卡”所接收到的數(shù)據(jù),監(jiān)控系統(tǒng)已可預(yù)知該數(shù)據(jù)來源,可以作相應(yīng)的靈活處理,或是為下一“哨卡”要得到的寄存器數(shù)據(jù)作準(zhǔn)備,或是與上一“哨卡”儲備的相關(guān)寄存器數(shù)據(jù)作比較,因此寄存器數(shù)據(jù)的傳送數(shù)量也是靈活可變的。開發(fā)人員在作系統(tǒng)設(shè)計(jì)時,可以對原系統(tǒng)的數(shù)據(jù)內(nèi)容作嚴(yán)密處理,還可將有關(guān)寄存器數(shù)據(jù)作預(yù)先運(yùn)算后輸出給監(jiān)控CPU,以保證寄存器內(nèi)容的準(zhǔn)確性并簡化步驟。相應(yīng)于監(jiān)控系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的改變,每一“哨卡”數(shù)據(jù)項(xiàng)中增加了一個字節(jié),作為該“哨卡”傳送數(shù)據(jù)的RAM存放區(qū)地址代碼。由于寄存器內(nèi)容在監(jiān)控CPU的RAM中只作暫存,可互相覆蓋,并不需消耗多大RAM空間。

簡略地說,監(jiān)控系統(tǒng)針對主系統(tǒng)從各“哨卡”傳送的數(shù)據(jù)以中斷方式所作出如下的響應(yīng):

(1)一旦有數(shù)據(jù)刷新#0標(biāo)志,即表示有新的“哨卡”標(biāo)志數(shù)據(jù)從主系統(tǒng)輸出,在對標(biāo)志號進(jìn)行判斷無誤之后,即準(zhǔn)備進(jìn)行寄存器數(shù)據(jù)的判斷。

(2)監(jiān)控CPU捕捉到接口的刷新數(shù)據(jù)信號后(在圖8中,可由MSP430的10腳TA0判別刷新信號;圖2中可由C2051的6腳判別刷新信號),在其中斷程序中,將接口傳送數(shù)據(jù)存于該“路標(biāo)碼”數(shù)據(jù)項(xiàng)所確定的RAM地址,依次存放。監(jiān)控系統(tǒng)對這些數(shù)據(jù)進(jìn)行簡單的運(yùn)算或比較。在處理結(jié)果與預(yù)期不符時采取相應(yīng)的恢復(fù)或拯救措施。

有了對寄存器數(shù)據(jù)的監(jiān)控,可不必對原系統(tǒng)設(shè)置過密的“哨卡”,并可防止不是由程序計(jì)數(shù)指針的變化造成的寄存器數(shù)據(jù)值的突變。

5.2 監(jiān)控過程中運(yùn)行速度的配合

數(shù)據(jù)的傳送過程中,主系統(tǒng)程序相當(dāng)于在作延時操作,并沒有額外加重監(jiān)控系統(tǒng)負(fù)擔(dān),只影響了主系統(tǒng)運(yùn)行速度,在設(shè)計(jì)時應(yīng)作考慮。如果有中斷在此過程中發(fā)生,監(jiān)控系統(tǒng)亦能判別(參照圖7的中斷部分)。

為保證監(jiān)控CPU在主系統(tǒng)下一“哨卡”標(biāo)志號發(fā)出之前將當(dāng)前“哨卡”程序全部處理完,對“哨卡”的設(shè)置間隔是有限制的。主系統(tǒng)程序中“哨卡”的設(shè)置應(yīng)考慮到監(jiān)控CPU的程序負(fù)擔(dān)。必要時如果系統(tǒng)允許,甚至可為監(jiān)控系統(tǒng)作延時操作,以安置“哨卡”程序。

可以看出,完成系統(tǒng)監(jiān)控的監(jiān)控CPU需要有足夠快的速度,一般來說,監(jiān)控程序的一個循環(huán)需要二十多條語句或稍長。應(yīng)用于低電壓系統(tǒng),這里推薦一種性能好、速度快、低價格、低功耗的RISC處理器?/FONT>TI公司最新推出的MSP430。其指令周期僅125ns,片內(nèi)4KB+256B FLASH ROM(MSP430 F112)。假設(shè)主系統(tǒng)采用MCS-51系列,使用6MH z晶振時,指令周期為2μs,則主系統(tǒng)一條指令的執(zhí)行時間監(jiān)控系統(tǒng)可至少執(zhí)行16條指令。而且MSP430自帶硬件看門狗,另外僅需一片電壓監(jiān)控芯片即可簡單地設(shè)計(jì)出整個監(jiān)控硬件系統(tǒng)如圖8所示。

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

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(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強(qiáng)網(wǎng)站

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