工控計(jì)算機(jī)軟件抗干擾技術(shù)_第1頁(yè)
工控計(jì)算機(jī)軟件抗干擾技術(shù)_第2頁(yè)
工控計(jì)算機(jī)軟件抗干擾技術(shù)_第3頁(yè)
工控計(jì)算機(jī)軟件抗干擾技術(shù)_第4頁(yè)
工控計(jì)算機(jī)軟件抗干擾技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、工控計(jì)算機(jī)軟件抗干擾技術(shù)0引言工業(yè)現(xiàn)場(chǎng)各種動(dòng)力設(shè)備在不斷地啟停運(yùn)行。 使得現(xiàn)場(chǎng)環(huán)境惡劣, 電磁 干擾嚴(yán)重。 工業(yè)控制計(jì)算機(jī)在這樣的環(huán)境里面臨著巨大的考驗(yàn)。 可以 說(shuō)我們研制的工業(yè)控制系統(tǒng)能否正常運(yùn)行, 并且產(chǎn)生出應(yīng)有的經(jīng)濟(jì)效 益,其抗干擾能力是一個(gè)關(guān)鍵的因素。因此,除了整個(gè)系統(tǒng)的結(jié)構(gòu)和 每個(gè)具體的工控機(jī)都需要仔細(xì)設(shè)計(jì)硬件抗干擾措施之外, 還需要注重 軟件抗干擾措施的應(yīng)用。 我們?cè)诙嗄甑墓I(yè)控制研究中, 深感工業(yè)現(xiàn) 場(chǎng)意外因素太多并且危害很大。有時(shí)一個(gè)偶然的人為或非人為干擾, 例如并不很強(qiáng)烈的雷擊, 就使得我們自認(rèn)為無(wú)懈可擊的硬件抗干擾措 施無(wú)能為力,工控機(jī)死機(jī)了(即程序跑飛了或者控制出錯(cuò)了(此

2、時(shí) CPU 內(nèi)部寄存器內(nèi)容被修改或者 RAM 和 I/O口數(shù)據(jù)被修改。這在某 些重要的工業(yè)環(huán)節(jié)上將造成巨大的事故。 使用軟件抗干擾措施就可以 在一定程度上避免和減輕這些意外事故的后果。 軟件抗干擾技術(shù)就是 利用軟件運(yùn)行過(guò)程中對(duì)自己進(jìn)行自監(jiān)視, 和工控網(wǎng)絡(luò)中各機(jī)器間的互 監(jiān)視, 來(lái)監(jiān)督和判斷工控機(jī)是否出錯(cuò)或失效的一個(gè)方法。 這是工控系 統(tǒng)抗干擾的最后一道屏障。1 工控軟件的結(jié)構(gòu)特點(diǎn)及干擾途徑在不同的工業(yè)控制系統(tǒng)中, 工控軟件雖然完成的功能不同, 但就其結(jié) 構(gòu)來(lái)說(shuō),一般 具有如下特點(diǎn):* 實(shí)時(shí)性:工業(yè)控制系統(tǒng)中有些事件的發(fā)生具有隨機(jī)性, 要求工控軟件能夠及時(shí)地 處理隨機(jī)事件。* 周期性:工控軟件在

3、完成系統(tǒng)的初始化工作后, 隨之進(jìn)入主程序循 環(huán)。在執(zhí)行主 程序過(guò)程中,如有中斷申請(qǐng),則在執(zhí)行完相應(yīng)的中斷 服務(wù)程序后,繼續(xù)主程序循 環(huán)。* 相關(guān)性:工控軟件由多個(gè)任務(wù)模塊組成,各模塊配合工作,相互關(guān) 聯(lián),相互依 存。* 人為性:工控軟件允許操作人員干預(yù)系統(tǒng)的運(yùn)行, 調(diào)整系統(tǒng)的工作 參數(shù)。 在理想情況下,工控軟件可以正常執(zhí)行。但在工業(yè)現(xiàn)場(chǎng)環(huán)境 的干擾下,工控軟件的 周期性、相關(guān)性及實(shí)時(shí)性受到破壞,程序無(wú) 法正常執(zhí)行,導(dǎo)致工業(yè)控制系統(tǒng)的失 控,其表現(xiàn)是:* 程序計(jì)數(shù)器 PC 值發(fā)生變化,破壞了程序的正常運(yùn)行。 PC 值被干擾 后的數(shù)據(jù)是隨機(jī) 的, 因此引起程序執(zhí)行混亂, 在 PC 值的錯(cuò)誤引導(dǎo)下,

4、 程序執(zhí)行一系列毫無(wú)意義的指 令, 最后常常進(jìn)入一個(gè)毫無(wú)意義的 “死 循環(huán)”中,使系統(tǒng)失去控制。* 輸入 /輸出接口狀態(tài)受到干擾, 破壞了工控軟件的相關(guān)性和周期性, 造成系統(tǒng)資源 被某個(gè)任務(wù)模塊獨(dú)占,使系統(tǒng)發(fā)生“死鎖”。* 數(shù)據(jù)采集誤差加大。干擾侵入系統(tǒng)的前向通道,疊加在信號(hào)上,導(dǎo) 致數(shù)據(jù)采集誤 差加大。特別是當(dāng)前向通道的傳感器接口是小電壓信 號(hào)輸入時(shí),此現(xiàn)象更加嚴(yán)重。* RAM數(shù)據(jù)區(qū)受到干擾發(fā)生變化。根據(jù)干擾竄入渠道、受干擾數(shù)據(jù)性 質(zhì)的不同,系統(tǒng) 受損壞的狀況不同,有的造成數(shù)值誤差,有的使控 制失靈, 有的改變程序狀態(tài), 有 的改變某些部件 (如定時(shí)器/計(jì)數(shù)器、串行口等 的工作狀態(tài)等。* 控

5、制狀態(tài)失靈。 在工業(yè)控制系統(tǒng)中, 控制狀態(tài)的輸出常常是依據(jù)某 些條件狀態(tài)的 輸入和條件狀態(tài)的邏輯處理結(jié)果而定。 在這些環(huán)節(jié)中, 由于干擾的侵入,會(huì)造成條 件狀態(tài)錯(cuò)誤,致使輸出控制誤差加大, 甚至控制失常。2 工控計(jì)算機(jī)實(shí)時(shí)控制軟件運(yùn)行過(guò)程中的自監(jiān)視法自監(jiān)視法是工業(yè)控制計(jì)算機(jī)自己對(duì)自己的運(yùn)行狀態(tài)的監(jiān)視。一般的工控機(jī) CPU 內(nèi)部具有 Watchdog Timer,使用定時(shí)中斷來(lái)監(jiān)視 程序運(yùn)行狀態(tài)。定時(shí)器的定時(shí)時(shí)間稍大于主程序正常運(yùn)行一個(gè) 循環(huán) 的時(shí)間, 在主程序運(yùn)行過(guò)程中執(zhí)行一次定時(shí)器時(shí)間常數(shù)刷新操作。 這 樣,只要 程序正常運(yùn)行,定時(shí)器不會(huì)出現(xiàn)定時(shí)中斷。而當(dāng)程序運(yùn)行 失常,不能及時(shí)刷新定時(shí) 器

6、時(shí)間常數(shù)而導(dǎo)致定時(shí)中斷,利用定時(shí)中 斷服務(wù)程序?qū)⑾到y(tǒng)復(fù)位。 在 8031應(yīng)用系統(tǒng) 中作為軟件抗干擾的一個(gè) 事例,具體做法是:* 使用 8155的定時(shí)器所產(chǎn)生的 “溢出” 信號(hào)作為 8031的外部中斷源 INT1。用 555定時(shí) 器作為 8155中定時(shí)器的外部時(shí)鐘輸入;* 8155定時(shí)器的定時(shí)值稍大于主程序的正常循環(huán)時(shí)間;* 在主程序中,每循環(huán)一次,對(duì) 8155定時(shí)器的定時(shí)常數(shù)進(jìn)行刷新; * 在主控程序開始處, 對(duì)硬件復(fù)位還是定時(shí)中斷產(chǎn)生的自動(dòng)恢復(fù)進(jìn)行 分類判斷處 理。然而,這并不等于萬(wàn)無(wú)一失。例如, Watchdog電路本身失效; 設(shè)置 Watchdog 的指令正好在取指令時(shí)被干擾而讀錯(cuò); W

7、atchdog“發(fā)現(xiàn)” 程序跑飛之后, 其產(chǎn)生的復(fù)位脈沖或者 NMI 申請(qǐng)信號(hào)正好被 干擾而沒(méi)奏效等等。雖然以上的導(dǎo)致 Watchdog 失效的因素的幾率很 小,但總是存在的。另一個(gè)方面,還有相當(dāng)數(shù)量的工業(yè)控制計(jì)算機(jī)沒(méi) 有 Watchdog 電路。因此,以下重點(diǎn)討論的軟件自監(jiān)視法就勢(shì)在必行 了。2.1 隨時(shí)監(jiān)督檢查程序計(jì)數(shù)器 PC 的值是否超出程序區(qū) 計(jì)算機(jī)正常 運(yùn)行,其 PC 值一定在程序區(qū)內(nèi)。如果 PC 值跑出程序區(qū),計(jì)算機(jī)肯定 已發(fā)生了程序跑飛。檢查程序計(jì)數(shù)器 PC 值是否在程序區(qū)內(nèi)的方法, 是在一個(gè)經(jīng)常要產(chǎn)生外部中斷的某個(gè)中斷服務(wù)程序中, 讀取轉(zhuǎn)入該中 斷時(shí)壓入堆棧的斷點(diǎn)地址。如果該地

8、址在程序區(qū)內(nèi),則認(rèn)為 PC 值正 常,否則一定是程序跑飛了。此時(shí),程序跳轉(zhuǎn)到機(jī)器的重啟動(dòng)入口或 者復(fù)位入口,機(jī)器重新啟動(dòng)。于是機(jī)器又自救活了。如果沒(méi)有一個(gè)這 樣合適的中斷源, 可以專門設(shè)置一個(gè)定時(shí)中斷或者幾個(gè)定時(shí)中斷, 在 中斷服務(wù)程序中檢查 PC 值是否合法,一旦發(fā)現(xiàn)不對(duì)就立即轉(zhuǎn)入機(jī)器 的重啟動(dòng)入口。 定時(shí)器中斷的時(shí)間常數(shù), 可視機(jī)器的繁忙程度和重要 性設(shè)定,一般從幾個(gè)毫秒到幾十毫秒都可以。這個(gè)方法的局限性是不能查出 PC 值在程序區(qū)內(nèi)的亂跳, 即此時(shí) PC 值 雖受干擾卻并沒(méi)有超出程序區(qū), 而是錯(cuò)位亂拼指令而構(gòu)成一些莫名其 妙的操作,或者死循環(huán)。2.2 主循環(huán)程序和中斷服務(wù)程序相互監(jiān)視每個(gè)

9、工控機(jī)的主循環(huán)程序和中斷服務(wù)程序都有一定的運(yùn)行規(guī)律可循。 因此可以設(shè)計(jì)出主循環(huán)程序與各中斷服務(wù)程序、 各中斷服務(wù)程序之間的相互監(jiān)視。每個(gè)監(jiān)視對(duì)要定義一個(gè) RAM 單元,依靠對(duì)其計(jì)數(shù) /清零 的方法表達(dá)相互監(jiān)視信息。 例如, 某工控機(jī)的主循環(huán)程序循環(huán)一次最 長(zhǎng)時(shí)間為 80 ms,它的一個(gè)定時(shí)中斷時(shí)間常數(shù)為 10 ms,當(dāng)我們安排 該定時(shí)中斷監(jiān)視主循環(huán)程序運(yùn)行時(shí), 可以每次 10 ms中斷對(duì)該 RAM 單 元加1計(jì)數(shù),而主循環(huán)程序每循環(huán)一次對(duì)該 RAM 單元清零。因此,正 常運(yùn)行時(shí),這個(gè)監(jiān)視計(jì)數(shù) RAM 單元的計(jì)數(shù)值不可能9,如果 10 ms定時(shí)中斷服務(wù)程序發(fā)現(xiàn)其計(jì)數(shù)值9, 就知道主循環(huán)程序已經(jīng)被

10、干擾 跑飛或出現(xiàn)死循環(huán), 于是就跳轉(zhuǎn)到機(jī)器的重啟動(dòng)入口, 重新恢復(fù)運(yùn)行。 使用這個(gè)方法,如果設(shè)計(jì)得當(dāng)?shù)脑?是非常有效的。我們多年的經(jīng)驗(yàn) 是:主循環(huán)程序被干擾跑飛可能性最大, 中斷服務(wù)程序越短小越不易 跑飛。主循環(huán)程序和中斷服務(wù)程序以及中斷服務(wù)程序之間的相互監(jiān) 視,應(yīng)當(dāng)多設(shè)計(jì)幾個(gè)監(jiān)視對(duì)會(huì)更好。2.3 隨時(shí)校驗(yàn)程序代碼的正確性 工業(yè)控制計(jì)算機(jī)的實(shí)時(shí)控制程序代 碼通常都采用 EPROM 固化運(yùn)行, 一般不易發(fā)生被改寫的情況。 但成年 累月運(yùn)行, 我們有時(shí)也會(huì)發(fā)現(xiàn)極個(gè)別的單元出錯(cuò)。 其原因可能是芯片 質(zhì)量問(wèn)題或者因靜電、雷擊干擾等造成的改寫。程序出錯(cuò)了,將直接 造成運(yùn)行錯(cuò)誤或者無(wú)法運(yùn)行。校驗(yàn)的方式可以

11、采用累加和校驗(yàn)或者 B CH 校驗(yàn)(一種 CRC 校驗(yàn)方法。當(dāng)采用 BCH 校驗(yàn)時(shí),其分組附加的 冗余字節(jié)可以集中在程序區(qū)之外的某個(gè) EPROM 區(qū)域里。 校驗(yàn)方法是在 某個(gè)短小而且經(jīng)常發(fā)生的中斷服務(wù)程序內(nèi)安排一個(gè)校驗(yàn)?zāi)K, 可以設(shè) 計(jì)成每次循環(huán)校驗(yàn)一部分程序代碼, 分若干次校驗(yàn)完成; 或者當(dāng)代碼 少,任務(wù)輕松時(shí)也可以一次校驗(yàn)完。如果發(fā)現(xiàn)校驗(yàn)錯(cuò),應(yīng)當(dāng)立即向工控網(wǎng)絡(luò)主站報(bào)告或者以自身報(bào)警的辦法告知操作人員,以便及時(shí)處 理。 這個(gè)方法的局限性是被損壞的程序代碼不是校驗(yàn)程序塊, 而且以 該中斷還可以正常響應(yīng)為前提。 由于該中斷服務(wù)程序短小, 通常還是 有很大的概率自監(jiān)視程序代碼的正確性。2.4 隨時(shí)

12、校驗(yàn) RAM 的正確性 在實(shí)時(shí)控制過(guò)程中,干擾造成比較嚴(yán)重 的危害之一就是沖毀 RAM 中的數(shù)據(jù), 由于 RAM 中保存的是各種原始數(shù) 據(jù)、標(biāo)志、變量等,如果被破壞,會(huì)造成系統(tǒng)出錯(cuò)或無(wú)法運(yùn)行,根據(jù) 數(shù)據(jù)被沖毀的程度,一般可分為三類:* 整個(gè) RAM 數(shù)據(jù)被沖毀;* RAM中某片數(shù)據(jù)被沖毀;* 個(gè)別數(shù)據(jù)被沖毀。 因此需要經(jīng)常監(jiān)視 RAM 的正確性。 在工業(yè)控制系 統(tǒng)中, RAM 的大部分內(nèi)容是為了進(jìn)行分析、比較而臨時(shí)存放的,不允 許丟失的數(shù)據(jù)只占極少部分。 在這種情況下, 除了這些不允許丟失的 數(shù)據(jù)外, 其余大部分內(nèi)容允許短時(shí)間被破壞, 最多只引起系統(tǒng)的一個(gè) 很短時(shí)間的波動(dòng),很快能自動(dòng)恢復(fù)正常。

13、因此,在工控軟件中,只要 注意對(duì)少數(shù)不允許丟失的數(shù)據(jù)保護(hù),一般常用的方法有“校驗(yàn)法” 和“設(shè)標(biāo)法”。這兩種方法各有千秋,校驗(yàn)法比較繁鎖,但查錯(cuò)的可 信度高。設(shè)標(biāo)法簡(jiǎn)單,但對(duì)數(shù)據(jù)表中個(gè)別數(shù)據(jù)沖毀的情況,查錯(cuò)則無(wú) 難為力。在編程中一般應(yīng)綜合使用,其具體做法為:* 將 RAM 工作區(qū)重要區(qū)域的始端和尾端各設(shè)置一個(gè)標(biāo)志碼“0” 或 “1”;* 對(duì) RAM 中固定不變的數(shù)據(jù)表格設(shè)置校驗(yàn)字。在程序的執(zhí)行過(guò)程中,每隔一定的時(shí)間通過(guò)事先設(shè)計(jì)的查錯(cuò)程序來(lái)檢查其各標(biāo)志碼是否正 常, 如果不正常, 則利用數(shù)據(jù)冗余技術(shù)通過(guò)抗干擾處理程序來(lái)進(jìn)行修 正;冗余數(shù)據(jù)表的一般設(shè)計(jì)原則是:* 各數(shù)據(jù)表應(yīng)相互遠(yuǎn)離分散設(shè)置,減少冗余

14、數(shù)據(jù)同時(shí)被沖毀的概率。 * 數(shù)據(jù)表應(yīng)盡可能遠(yuǎn)離棧區(qū), 減少由于操作錯(cuò)誤造堆棧被成數(shù)據(jù)沖的 可能 。上述對(duì) RAM 區(qū)域的恢復(fù)處理方法,在不同的應(yīng)用系統(tǒng)中應(yīng)根 據(jù)的具體情況進(jìn)行取舍 3 實(shí)時(shí)控制系統(tǒng)的互監(jiān)視法 在實(shí)時(shí)控制系 統(tǒng)中, 人們關(guān)注的問(wèn)題是能否確保正常的控制狀態(tài)。 如果干擾進(jìn)入系 統(tǒng),會(huì)影響各種控制條件、 造成控制輸出失誤。為了確保系統(tǒng)安全可 以采取下述軟件抗干擾措施:3.1. 軟件冗余對(duì)于條件控制系統(tǒng), 將控 制條件的一次采樣、處理控制輸出,改為循環(huán)采樣、處理控制輸出。 這種方法具有良好的抗偶然因素干擾作用。3.2. 設(shè)置當(dāng)前輸出狀態(tài)寄存單元當(dāng)干擾侵入輸出通道造成輸出狀態(tài) 破壞時(shí),系統(tǒng)

15、可以及時(shí)查詢當(dāng)前輸出狀態(tài)寄存單元的輸出狀態(tài)信息, 及時(shí)糾正錯(cuò)誤的輸出狀態(tài)。3.3. 設(shè)置自檢程序在計(jì)算機(jī)系統(tǒng)內(nèi)的特定部位或某些內(nèi)存單元設(shè)狀 態(tài)標(biāo)志,在運(yùn)行中不斷循環(huán)測(cè)試,以保證系統(tǒng)中信息存儲(chǔ)、傳輸、運(yùn) 算的高可靠性。4 其它常采用的軟件抗干擾方法4.1 陷井法 有時(shí)意想不到的干擾,破壞了中斷和所有程序的正常運(yùn) 行。此時(shí) PC 值可能在程序區(qū)內(nèi),也可能在程序區(qū)之外,要使其能夠 自恢復(fù)正常運(yùn)行,只有依賴于廣布“陷井”的絕招了。 這里所謂的“陷井” , 是指某些類型的 CPU 提供給用戶使用的軟中斷指令或者復(fù) 位指令。例如, Z80指令 RST 38H,其機(jī)器碼為 FFH 。 CPU 執(zhí)行該指令 時(shí)

16、,則將當(dāng)前程序計(jì)數(shù)器 PC 的值壓入堆棧,然后轉(zhuǎn)到 0038H 地址執(zhí) 行程序。 如果把 0038H 作為一個(gè)重啟動(dòng)入口, 則機(jī)器就可以恢復(fù)新的 工作了。再例如, INTEL8098、 80198系列的復(fù)位指令 RST ,機(jī)器碼也 為 FFH 。 CPU 執(zhí)行該指令時(shí),其內(nèi)部進(jìn)行復(fù)位操作,然后從 2080H 開 始執(zhí)行程序。當(dāng)然, 80198系列還有更多的非法操作碼可作為陷井指 令使用, 這時(shí)只需要在 2012H 的一個(gè)字的中斷矢量單元里安排中斷入 口, 并且編制一個(gè)處理非法操作碼的中斷服務(wù)程序, 一遇非法操作碼 就能進(jìn)行故障處理。 作者多年的經(jīng)驗(yàn)表明, 陷井不但需要在 ROM 的全 部非內(nèi)容

17、區(qū)、 RAM 的全部非數(shù)據(jù)區(qū)設(shè)置,而且在程序區(qū)內(nèi)的模塊之間 廣泛布置。一旦機(jī)器程序跑飛,總會(huì)碰上陷井,立即就可以救活機(jī)器 了。4.2 重復(fù)功能設(shè)定法工控機(jī)的很多功能的設(shè)定, 通常都是在主程序開始時(shí)的初始化程序里 設(shè)定的,以后再也不去設(shè)定了。這在正常情況下本無(wú)問(wèn)題。但偶然的 干擾會(huì)改變 CPU 內(nèi)部的這些寄存器或者接口芯片的功能寄存器,例 如, 把中斷的類型、 中斷的優(yōu)先級(jí)別、 串行口、 并行口的設(shè)定修改了, 機(jī)器的運(yùn)行肯定會(huì)出錯(cuò), 因此, 只要重復(fù)設(shè)定功能操作不影響其當(dāng)前 連續(xù)工作的性能, 都應(yīng)當(dāng)納入主程序的循環(huán)圈里。 每個(gè)循環(huán)就可以刷 新一次設(shè)定, 避免了偶然不測(cè)發(fā)生。 對(duì)于那些重復(fù)設(shè)定功能

18、操作會(huì)影 響當(dāng)前連續(xù)工作性能的,要盡量想法找機(jī)會(huì)重新設(shè)定。例如串行口,如果接收完某幀信息或者發(fā)送完某幀信息之后, 串口會(huì)有一個(gè)短暫的 空閑時(shí),就應(yīng)作出判斷并且安排重新設(shè)定一次的操作。4.3 重要數(shù)據(jù)備份法 工控機(jī)中的一些關(guān)鍵數(shù)據(jù),應(yīng)當(dāng)有至少有兩個(gè) 以上的備份副本,當(dāng)操作這些數(shù)據(jù)時(shí),可以把主、副本進(jìn)行比較,如 其改變,就要分析原因,采取預(yù)先設(shè)計(jì)好的方法處理。還可以把重要 數(shù)據(jù)采用校驗(yàn)和或者分組 BCH 校驗(yàn)的方法進(jìn)行校驗(yàn)。 這兩種方法一并 使用則更可靠。4.4 系統(tǒng)“死鎖”的軟件對(duì)策 在工業(yè)控制系統(tǒng)中, A/D、 D/A,顯示 等輸入 /輸出接口電路是必不可少的。 這些接口 與 CPU 之間采用

19、查詢 或中斷方式工作,而這些設(shè)備或接口對(duì)干擾很敏感,干擾信號(hào)一 旦 破壞了某一接口的狀態(tài)字后,就會(huì)導(dǎo)致 CPU 誤認(rèn)為該接口有輸入 /輸 出請(qǐng)求而停止 現(xiàn)行工作, 轉(zhuǎn)去執(zhí)行相應(yīng)的輸入 /輸出服務(wù)程序。 但由 于該接口本身并沒(méi)有輸入 /輸 出數(shù)據(jù), 從而使 CPU 資源被該服務(wù)程序 長(zhǎng)期占用, 而不釋放, 其它任務(wù)程序無(wú)法執(zhí) 行, 使整個(gè)系統(tǒng)出現(xiàn) “死 鎖”。對(duì)這種干擾造成的“死鎖”問(wèn)題, 在軟件編程中, 可采用“時(shí) 間片”的方法來(lái)解決。其具體步驟為:* 根據(jù)不同的輸入 /輸出外設(shè)對(duì)時(shí)間的要求,分配相應(yīng)的最大正常的 輸入 /輸出時(shí) 間。* 在每一輸入 /輸出的任務(wù)模塊中,加入相應(yīng)的超時(shí)判斷程序。這樣 當(dāng)干擾破壞了接 口的狀態(tài)造成 CPU 誤操作后,由于該外設(shè)準(zhǔn)備好信 息長(zhǎng)期無(wú)效,經(jīng)一定時(shí)間后,系統(tǒng) 會(huì)從該外設(shè)的服務(wù)程序中自動(dòng)返 回,保證整個(gè)軟件的周期性不受影響,從而避免 “死鎖”情況的發(fā)生。4.5 數(shù)據(jù)采集誤差的軟件對(duì)策根據(jù)數(shù)據(jù)受干擾性質(zhì)及干擾后果的不 同,采取的軟件對(duì)策各不相同,沒(méi)有固定的模式。對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論