日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看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)控方案
 更新時(shí)間:2008-8-17 16:48:44  點(diǎn)擊數(shù):12
【字體: 字體顏色

1. 監(jiān)控系統(tǒng)對(duì)原系統(tǒng)的精確跟蹤;
2. 利用軟件狗防止主系統(tǒng)死鎖;
3. 對(duì)監(jiān)控系統(tǒng)自身的監(jiān)控。

系統(tǒng)非正常運(yùn)行除硬件與電源系統(tǒng)的問題之外,難以琢磨的主要是軟件系統(tǒng)。程序受到干擾產(chǎn)生故障有兩種情況:

一是CPU沒有按既定程序運(yùn)行,系統(tǒng)指針“飛”到其它指令代碼地址處,好象非法執(zhí)行了一個(gè)跳轉(zhuǎn)語句。這種情況存在很大的潛在危險(xiǎn)性,利用看門狗技術(shù)難以察覺,可能帶來難以預(yù)料的事故,且無論哪一類結(jié)構(gòu)的指令系統(tǒng)都無法排除。此時(shí)利用在線跟蹤技術(shù)發(fā)揮其監(jiān)控作用是一個(gè)有效方法?梢栽诔绦蜻\(yùn)行的各個(gè)路口和重要的操作前后插入“哨卡”,并將“哨卡”在系統(tǒng)程序中均勻分布,用專門的監(jiān)控CPU實(shí)時(shí)跟蹤,與已預(yù)存在監(jiān)控系統(tǒng)中的正確路線比較,可及時(shí)排除原系統(tǒng)軟件產(chǎn)生的故障,有時(shí)還可以使系統(tǒng)從其產(chǎn)生誤操作之前的一個(gè)“哨卡”處恢復(fù)系統(tǒng)的正常運(yùn)行。

二是CPU沒有按既定程序運(yùn)行,系統(tǒng)指針“飛”到非指令代碼地址處。此時(shí)最易產(chǎn)生死機(jī),程序完全失去控制。用看門狗可以最終發(fā)現(xiàn)此問題,但若不及時(shí)排除故障有可能因時(shí)間的延誤或程序執(zhí)行無法預(yù)知的操作擾亂數(shù)據(jù)和信號(hào),產(chǎn)生故障。

在多任務(wù)系統(tǒng)中,其中某一個(gè)任務(wù)死鎖,用看門狗可能無法感知,因?yàn)槠渌蝿?wù)仍在不時(shí)發(fā)出“喂狗”信號(hào)。

在采用監(jiān)控CPU自行跟蹤的系統(tǒng)中,監(jiān)控CPU可以對(duì)每一個(gè)任務(wù)分別設(shè)置軟件看門狗,利用“哨卡”發(fā)出“喂狗”信號(hào)。因“哨卡”可人為地依時(shí)間均勻設(shè)置,一旦系統(tǒng)死鎖,或下一個(gè)“哨卡”信號(hào)未到而超時(shí),即可及時(shí)發(fā)現(xiàn)故障在哪一“哨卡”附近發(fā)生,并可能及時(shí)排除故障,繼續(xù)按原路線運(yùn)行正確的系統(tǒng)程序。

對(duì)于以上兩種情況,若CPU監(jiān)控系統(tǒng)本身出現(xiàn)故障。又有以下兩個(gè)方面:

(1)在主系統(tǒng)中的監(jiān)控配合程序(即“哨卡”程序)自身出現(xiàn)問題,此時(shí)監(jiān)控系統(tǒng)會(huì)認(rèn)為是原系統(tǒng)程序的問題,包括在上述兩種情況之中,逃不出對(duì)原系統(tǒng)程序的監(jiān)測(cè),可用同樣的方法在監(jiān)控程序中同時(shí)解決。

(2)監(jiān)控CPU的監(jiān)控程序出現(xiàn)問題,又分別有兩種可能:

①監(jiān)控程序代碼執(zhí)行順序錯(cuò)誤。即監(jiān)控系統(tǒng)指針未按預(yù)定程序運(yùn)行。此時(shí)監(jiān)控CPU會(huì)認(rèn)為是主CPU而非自身程序出現(xiàn)了問題。監(jiān)控程序會(huì)很快循環(huán)一周而處于等待狀態(tài),程序本身不會(huì)混亂。此時(shí)監(jiān)控系統(tǒng)會(huì)將原系統(tǒng)或整個(gè)系統(tǒng)強(qiáng)行復(fù)位,或?qū)⒃到y(tǒng)程序從前一“哨卡”處恢復(fù)運(yùn)行。

②監(jiān)控系統(tǒng)程序指針“飛入”非程序指令代碼處而造成死機(jī)。由于監(jiān)控系統(tǒng)是可以預(yù)知的單一任務(wù)系統(tǒng),此時(shí)可用CPU片外的硬件看門狗作監(jiān)控CPU的硬件監(jiān)控,而將整個(gè)系統(tǒng)復(fù)位,或根據(jù)主系統(tǒng)情況恢復(fù)監(jiān)控系統(tǒng)本身的運(yùn)行。在設(shè)計(jì)過程中應(yīng)使這種情況盡可能少發(fā)生。

雖然監(jiān)控系統(tǒng)可能出現(xiàn)問題,但從以上討論來看,所有問題都可得到解決。整體而言采用監(jiān)控系統(tǒng)的自行跟蹤方式可以大大提高整個(gè)系統(tǒng)的可靠性。然而也要求監(jiān)控系統(tǒng)本身具有高的穩(wěn)定性與可靠性,以提高整個(gè)系統(tǒng)的性能。另外,監(jiān)控系統(tǒng)最好要有獨(dú)立穩(wěn)定的供電電源。

4 自行跟蹤監(jiān)控系統(tǒng)的實(shí)現(xiàn)

接口電路參見圖2,將安插在原來程序的“哨卡”所發(fā)出的信號(hào)稱作“路標(biāo)特征碼”或“路標(biāo)碼”。監(jiān)控CPU可以直接從與主系統(tǒng)的接口處得到這些“路標(biāo)碼”,而不必將它們存入存儲(chǔ)器中。對(duì)于并行總線結(jié)構(gòu)可以方便地用鎖存器,如74HC273,將“路標(biāo)碼”傳送給監(jiān)控CPU。對(duì)于片內(nèi)總線結(jié)構(gòu)的CPU,可以用串口或移位寄存器,甚至單一的I/O口線來傳送信號(hào)。這里以并行總線結(jié)構(gòu)的MCS-51系列單片機(jī)GMS97C51為例說明。

4.1 監(jiān)控系統(tǒng)的軟件準(zhǔn)備數(shù)據(jù)結(jié)構(gòu)

設(shè)主系統(tǒng)有如圖3所示的部分程序結(jié)構(gòu),它包括了大部分程序可能出現(xiàn)的結(jié)構(gòu)。在程序中插入“哨卡”的“路標(biāo)碼”如圖中數(shù)字所標(biāo),程序經(jīng)過這些“哨卡”時(shí)會(huì)將相應(yīng)的“路標(biāo)碼”實(shí)時(shí)反映在接口處,監(jiān)控CPU收到“路標(biāo)碼”信息后將其與系統(tǒng)固有的程序結(jié)構(gòu)進(jìn)行比較。

圖3結(jié)構(gòu)可以簡化成圖4形式。為了比較這些代碼出現(xiàn)的位置,這里考慮一種數(shù)據(jù)結(jié)構(gòu),將原系統(tǒng)的整個(gè)流程圖通過這種數(shù)據(jù)結(jié)構(gòu)存放在監(jiān)控CPU的ROM中,形成一個(gè)存放原來程序結(jié)構(gòu)的數(shù)據(jù)庫。從某段程序的入口開始,一直到遇見分支,設(shè)置一個(gè)連續(xù)數(shù)據(jù)區(qū)。不同的連續(xù)程序段形成的連續(xù)數(shù)據(jù)區(qū)之間,由這種數(shù)據(jù)結(jié)構(gòu)中的地址字節(jié)來連接。自然每個(gè)“路標(biāo)碼”還會(huì)有一個(gè)絕對(duì)存放地址。在這個(gè)數(shù)據(jù)結(jié)構(gòu)中給每個(gè)“路標(biāo)碼”后帶一個(gè)字節(jié)的相對(duì)轉(zhuǎn)移地址,用來存放當(dāng)前“路標(biāo)碼”出現(xiàn)后下一個(gè)“路標(biāo)碼”在此數(shù)據(jù)庫中的相對(duì)地址。假設(shè)原系統(tǒng)程序設(shè)置的“哨卡”少于256個(gè),數(shù)據(jù)區(qū)之間的地址不會(huì)相距太遠(yuǎn),則每一個(gè)數(shù)據(jù)項(xiàng)由“路標(biāo)碼”與相對(duì)地址碼兩個(gè)字節(jié)組成,轉(zhuǎn)移地址在-128~+127字節(jié)范圍內(nèi)可以找到。在散轉(zhuǎn)或判斷語句中,可能并列出現(xiàn)的下一“哨卡”數(shù)據(jù)項(xiàng)連續(xù)排列在一起,以立即數(shù)#0作為結(jié)束,它們之間表示“或”的關(guān)系,在程序的某一次運(yùn)行之中只有其中的一個(gè)數(shù)據(jù)項(xiàng)對(duì)應(yīng)的語句會(huì)被遇到,數(shù)據(jù)項(xiàng)結(jié)構(gòu)如圖5所示。256個(gè)“路標(biāo)碼”所形成的數(shù)據(jù)庫最大可有768字節(jié)。圖3所示程序結(jié)構(gòu)可以圖6形式存于數(shù)據(jù)庫中。對(duì)于多任務(wù)系統(tǒng)必須在每一數(shù)據(jù)項(xiàng)中增加一個(gè)字節(jié)的“任務(wù)號(hào)”,以便于識(shí)別不同任務(wù)的程序結(jié)構(gòu)。由于多任務(wù)系統(tǒng)的數(shù)據(jù)庫會(huì)比較龐雜,可用增加的這個(gè)字節(jié)的高四位表示任務(wù)號(hào),低四位與另一字節(jié)作為用12位表示的轉(zhuǎn)移地址,作用范圍可擴(kuò)大到4KB。

  • 上一篇: 學(xué)習(xí)AVR(十) 復(fù)位和中斷處理
  • 下一篇: [轉(zhuǎn)載]基于單片機(jī)的線陣CCD實(shí)時(shí)檢測(cè)系統(tǒng)的開發(fā)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(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ī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

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

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