專利名稱:控制裝置及控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微控制器系統(tǒng),特別是涉及一種提高微控制器系統(tǒng)穩(wěn)定性的控 制裝置及其方法。
背景技術(shù):
以往微控制器主要應(yīng)用于消費(fèi)性電子產(chǎn)品,對(duì)于可使用溫度范圍和抗噪聲 能力的要求較低,但在工業(yè)控制以及汽車電子領(lǐng)域上,因?yàn)槠涔ぷ鞯沫h(huán)境中噪
聲(Noise)較多,因此應(yīng)用于此領(lǐng)域的組件必須要具備高抗噪聲能力才可以 使用,方能確保整體系統(tǒng)能夠穩(wěn)定的運(yùn)作。
當(dāng)噪聲干擾到電源線造成電源不穩(wěn)定時(shí),容易發(fā)生有錯(cuò)誤的信號(hào)輸入到系 統(tǒng)內(nèi)的裝置,造成該裝置誤動(dòng)作而輸出錯(cuò)誤信號(hào),進(jìn)而影響到其它裝置的運(yùn)作, 或者是噪聲干擾太過嚴(yán)重而使得系統(tǒng)內(nèi)的裝置失效,讓整個(gè)系統(tǒng)出現(xiàn)非預(yù)期的 情況。常見的現(xiàn)象是有數(shù)據(jù)處理錯(cuò)誤、程序陷入無窮循環(huán)(infinite loop)、 系統(tǒng)當(dāng)機(jī)。
在傳統(tǒng)的微控制器系統(tǒng)中,大部分使用兩種裝置來防止系統(tǒng)誤動(dòng)作的情 況。第一種裝置為看門狗(WDT)裝置,常用來檢測微控制器是否有發(fā)生異常。 看門狗(TOT)裝置的主要檢測方式為每隔一段時(shí)間就檢査微控制器是否運(yùn)作 正常,當(dāng)發(fā)現(xiàn)有未知的異常時(shí),就立刻進(jìn)行異?;貜?fù)。舉例來說當(dāng)程序 (Program)執(zhí)行到非預(yù)期的地方,沒有依照原定的動(dòng)作執(zhí)行時(shí),經(jīng)過一段時(shí) 間后看門狗(WDT)裝置檢測到異常狀況后,就會(huì)產(chǎn)生溢位(Overflow)信號(hào) 通知系統(tǒng)進(jìn)行重置(Reset),讓系統(tǒng)可以恢復(fù)正常運(yùn)作。第二種裝置為低電 壓檢測(Low Voltage Detect)裝置,常用來確保系統(tǒng)的電壓是否穩(wěn)定,當(dāng)電 壓出現(xiàn)過低將會(huì)導(dǎo)致系統(tǒng)不穩(wěn)定時(shí),低電壓檢測(Low Voltage Detect)裝置 就會(huì)領(lǐng)先送出電壓異常信號(hào)進(jìn)行系統(tǒng)重置(Reset)來停止系統(tǒng)運(yùn)作以確保系 統(tǒng)的穩(wěn)定性。
但上述的這二種裝置仍無法有效處理一些較復(fù)雜的異常情況。例如當(dāng)程
序(Program)執(zhí)行到非預(yù)期的地方,里面剛好含有執(zhí)行清除看門狗指令(Clear WDT Instruction),故不斷地被延長檢測時(shí)間,或者是因?yàn)橄到y(tǒng)誤動(dòng)作執(zhí)行 到非預(yù)期的程序區(qū)塊而把看門狗(WDT)裝置關(guān)閉,導(dǎo)致無法使用看門狗(TOT) 裝置檢測異常情況以及無法使用溢位(Overflow)功能來回復(fù)系統(tǒng)。又例如當(dāng) 電壓雖有出現(xiàn)過低現(xiàn)象,但由于時(shí)間太過短暫,以致于低電壓檢測(Low Voltage Detect)裝置無法檢測到此異?,F(xiàn)象,但此異?,F(xiàn)象卻己經(jīng)造成系統(tǒng) 不穩(wěn)定,便有可能讓系統(tǒng)失效而且無法回復(fù)。
在以往的系統(tǒng)中,若噪聲或電壓已經(jīng)達(dá)到會(huì)出錯(cuò)的狀態(tài),但卻因?yàn)楫惓G?況沒被檢測到,而造成系統(tǒng)當(dāng)機(jī)甚至無法回復(fù)到正常運(yùn)作狀態(tài)的話,那么在高 噪聲的環(huán)境中會(huì)非常不適用。因此要應(yīng)用于高噪聲環(huán)境中的微控制器除了必須 要擁有高抗噪聲能力,具備系統(tǒng)自我回復(fù)的能力相當(dāng)重要,可提高系統(tǒng)的穩(wěn)定 度。
發(fā)明內(nèi)容
本發(fā)明所要解決的問題在于,提供一種控制裝置及控制方法,通過系統(tǒng)所 提出的異常檢測裝置先檢測各異常狀況,再針對(duì)檢測到的異常狀況,發(fā)出信號(hào) 通知異常處理裝置做適當(dāng)處理,可降低因異常狀況的發(fā)生而導(dǎo)致系統(tǒng)誤動(dòng)作的 機(jī)會(huì),進(jìn)而提高系統(tǒng)的穩(wěn)定性。
為達(dá)上述目的,本發(fā)明公開了一種控制裝置,包括
一系統(tǒng)異常檢測單元,用于檢測一微控制器系統(tǒng)是否運(yùn)作正常,當(dāng)該微控 制器系統(tǒng)運(yùn)作不正常時(shí),則輸出一系統(tǒng)異常信號(hào);
一系統(tǒng)重置單元,用于重置該微控制器系統(tǒng);及
一異常信號(hào)處理單元,接收該系統(tǒng)異常信號(hào),以輸出一系統(tǒng)重置信號(hào); 其中,若該異常信號(hào)處理單元接收到該系統(tǒng)異常信號(hào),則該異常信號(hào)處理 單元便輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置單元以重置該微控制器系統(tǒng)。 該系統(tǒng)異常檢測單元還包括
一檢査碼產(chǎn)生電路,該檢查碼產(chǎn)生電路用于產(chǎn)生一檢查碼,該檢査碼的位 數(shù)不小于兩位,該系統(tǒng)異常檢測單元檢查該復(fù)數(shù)字元的檢査碼是否正確,以確 認(rèn)該微控制器系統(tǒng)是否運(yùn)作正常;以及
一檢查電路,該檢查電路用于將該位檢査碼與一預(yù)定檢查值做比較,當(dāng)比
較結(jié)果不相同時(shí)則輸出該系統(tǒng)異常信號(hào)。 所述的控制裝置,進(jìn)一步包括 一記憶單元,提供數(shù)據(jù)的儲(chǔ)存;及
一數(shù)據(jù)異常檢測單元,用于對(duì)該記憶單元輸出的數(shù)據(jù)執(zhí)行錯(cuò)誤檢測,當(dāng)檢 測該記憶單元輸出的數(shù)據(jù)有錯(cuò)誤,則輸出一數(shù)據(jù)異常信號(hào);
其中,若該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào),則該異常信號(hào)處理 單元便更正該記憶單元輸出的錯(cuò)誤數(shù)據(jù),或輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置 單元以重置該微控制器系統(tǒng)。
該數(shù)據(jù)異常信號(hào)由該數(shù)據(jù)異常檢測單元檢測到該記憶單元傳輸?shù)臄?shù)據(jù)其 所對(duì)應(yīng)的地址超出邊界而產(chǎn)生,該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào) 后,便輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置單元以重置該微控制器系統(tǒng)。
本發(fā)明還公開了一種控制裝置,包括
一記憶單元,提供數(shù)據(jù)的儲(chǔ)存-,
一數(shù)據(jù)異常檢測單元,用于對(duì)該記憶單元輸出的數(shù)據(jù)執(zhí)行錯(cuò)誤檢測,當(dāng)檢 測該記憶單元輸出的數(shù)據(jù)有錯(cuò)誤,則輸出一數(shù)據(jù)異常信號(hào); 一系統(tǒng)重置單元,用于重置一微控制器系統(tǒng);及
一異常信號(hào)處理單元,接收該數(shù)據(jù)異常信號(hào),以輸出一系統(tǒng)重置信號(hào)或更
正該記憶單元輸出的錯(cuò)誤數(shù)據(jù);
其中,若該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào),則該異常信號(hào)處理
單元便更正該記憶單元輸出的錯(cuò)誤數(shù)據(jù),或輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置
單元以重置該微控制器系統(tǒng)。
該數(shù)據(jù)異常信號(hào)由該數(shù)據(jù)異常檢測單元檢測到該記憶單元傳輸?shù)臄?shù)據(jù)其
所對(duì)應(yīng)的地址超出邊界而產(chǎn)生,該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào)
后,便輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置單元以重置該微控制器系統(tǒng)。
本發(fā)明還公開了一種增加微控制器系統(tǒng)穩(wěn)定性的控制方法,該方法包括 提供一系統(tǒng)異常檢測單元來判斷該微控制器系統(tǒng)是否有異常; 提供一異常信號(hào)處理單元,由該系統(tǒng)異常檢測單元的判斷結(jié)果,若得知該
微控制器系統(tǒng)發(fā)生異常,則提出系統(tǒng)重置要求;及
提供一系統(tǒng)重置單元來執(zhí)行該異常信號(hào)處理單元所提出的系統(tǒng)重置要求。 該系統(tǒng)異常檢測單元判斷該微控制器系統(tǒng)是否有異常,是通過產(chǎn)生一檢查
碼,該檢查碼的位數(shù)不小于兩位,并周期性將該檢查碼與 一預(yù)定檢查值做比較, 若比較結(jié)果不相同,則表示該微控制器系統(tǒng)發(fā)生異常。 所述的控制方法,還包括
提供一數(shù)據(jù)異常檢測單元來檢測該微控制器系統(tǒng)的記憶單元所傳輸?shù)臄?shù) 據(jù)是否有錯(cuò)誤;及
若該數(shù)據(jù)異常檢測單元檢測到記憶單元所傳輸?shù)臄?shù)據(jù)有錯(cuò)誤,則通知該異 常信號(hào)處理單元執(zhí)行錯(cuò)誤數(shù)據(jù)的更正或提出系統(tǒng)重置要求。
該數(shù)據(jù)異常檢測單元若檢測到由該記憶單元傳輸?shù)臄?shù)據(jù)其對(duì)應(yīng)的地址范 圍超出邊界,則通知該異常信號(hào)處理單元提出系統(tǒng)重置要求。
該異常信號(hào)處理單元執(zhí)行錯(cuò)誤數(shù)據(jù)的更正時(shí),若該異常信號(hào)處理單元無法 更正錯(cuò)誤數(shù)據(jù),則要求該微控制器系統(tǒng)的記憶單元重新傳輸數(shù)據(jù)。
本發(fā)明還公開了一種增加微控制器系統(tǒng)穩(wěn)定性的控制方法,包括
提供一數(shù)據(jù)異常檢測單元來檢測該微控制器系統(tǒng)的記憶單元所傳輸?shù)臄?shù) 據(jù)是否有錯(cuò)誤;
提供一異常信號(hào)處理單元,根據(jù)該數(shù)據(jù)異常檢測單元檢測結(jié)果,若得知記 憶單元所傳輸?shù)臄?shù)據(jù)有錯(cuò)誤,則提出系統(tǒng)重置要求或更正該微控制器系統(tǒng)的記 憶單元所傳輸?shù)臄?shù)據(jù);及
提供一系統(tǒng)重置單元來執(zhí)行該異常信號(hào)處理單元所提出的系統(tǒng)重置要求。
該數(shù)據(jù)異常檢測單元若檢測到由該記憶單元傳輸?shù)臄?shù)據(jù)其對(duì)應(yīng)的地址范 圍超出邊界,則通知該異常信號(hào)處理單元提出系統(tǒng)重置要求。
該異常信號(hào)處理單元更正該微控制器系統(tǒng)的記憶單元所傳輸?shù)臄?shù)據(jù)時(shí),若 該異常信號(hào)處理單元無法更正錯(cuò)誤數(shù)據(jù),則要求該微控制器系統(tǒng)的記憶單元重 新傳輸數(shù)據(jù)。
通過本發(fā)明所提出的異常檢測單元先檢測系統(tǒng)中各種的異常狀況,再針對(duì) 檢測到的異常狀況,發(fā)出信號(hào)通知異常處理單元做適當(dāng)處理,可降低系統(tǒng)因異 常狀況而造成誤動(dòng)作的機(jī)會(huì),進(jìn)而提高系統(tǒng)的穩(wěn)定性。
圖1為本發(fā)明的控制裝置的功能方塊圖; 圖2為系統(tǒng)異常檢測單元的功能方塊圖3為本發(fā)明檢測系統(tǒng)異常的方法流程圖; 圖4為本發(fā)明檢測數(shù)據(jù)異常的功能方塊圖;及 圖5為本發(fā)明的增加微控制器系統(tǒng)穩(wěn)定性的控制方法流程圖。 其中,附圖標(biāo)記
控制裝置1 檢查碼產(chǎn)生電路111 數(shù)據(jù)異常檢測單元12 只讀存儲(chǔ)器131 數(shù)據(jù)暫存裝置133 系統(tǒng)重置單元15 數(shù)據(jù)總線DB
系統(tǒng)異常檢測單元ll 檢查電路112 記憶單元13 隨機(jī)存取內(nèi)存132 異常信號(hào)處理單元14 指令總線IB
具體實(shí)施例方式
請參閱圖l所示,為本發(fā)明控制裝置的功能方塊圖。本發(fā)明的控制裝置l 包括系統(tǒng)異常檢測單元ll、記憶單元13、數(shù)據(jù)異常檢測單元12、異常信號(hào)處 理單元14及系統(tǒng)重置單元15。
控制裝置1使用系統(tǒng)異常檢測單元11來判斷一微控制器系統(tǒng)(圖未示) 是否處于穩(wěn)定狀態(tài)。當(dāng)系統(tǒng)異常檢測單元11檢査到系統(tǒng)不穩(wěn)定時(shí),就會(huì)發(fā)出 信號(hào)通知異常信號(hào)處理單元14,使系統(tǒng)重置單元15進(jìn)行系統(tǒng)重置,以避免在 系統(tǒng)不穩(wěn)定的情況下,系統(tǒng)仍繼續(xù)工作容易造成錯(cuò)誤或當(dāng)機(jī)的情況。
當(dāng)系統(tǒng)電源不穩(wěn)定或噪聲干擾很嚴(yán)重時(shí),此時(shí)微控制器(圖未示)從記憶 單元13中抓取的數(shù)據(jù)有可能就出現(xiàn)錯(cuò)誤,當(dāng)數(shù)據(jù)有錯(cuò)誤的情況下,程序代碼 或者是欲處理的數(shù)據(jù)便有可能變成不可預(yù)期。如此一來,系統(tǒng)若恰巧執(zhí)行到錯(cuò) 誤的程序代碼,將導(dǎo)致系統(tǒng)當(dāng)機(jī)甚至無法回復(fù)。
針對(duì)上述現(xiàn)象,本發(fā)明對(duì)于儲(chǔ)存在記憶單元13內(nèi)的數(shù)據(jù),增加了錯(cuò)誤檢 查和錯(cuò)誤校正功能的信息,方便在讀取時(shí)先進(jìn)行數(shù)據(jù)的正確性判斷,若發(fā)現(xiàn)數(shù) 據(jù)有誤時(shí),能夠通過這些額外增加的信息將原本正確的數(shù)據(jù)校正回來。因此, 從記憶單元13中抓取的數(shù)據(jù)均會(huì)先通過數(shù)據(jù)異常檢測單元12做先行確認(rèn)的動(dòng) 作,檢測該數(shù)據(jù)是否有誤,當(dāng)發(fā)現(xiàn)有錯(cuò)誤時(shí),就送給異常信號(hào)處理單元14進(jìn) 行數(shù)據(jù)的校正,若發(fā)現(xiàn)數(shù)據(jù)錯(cuò)誤太多而無法校正時(shí),就必須通知系統(tǒng)針對(duì)這一
筆數(shù)據(jù)做重新抓取的命令,要求記憶單元13重新傳送該筆數(shù)據(jù)。
再者,當(dāng)數(shù)據(jù)異常檢測單元12在確認(rèn)系統(tǒng)于記憶單元13中所抓取的數(shù)據(jù)
時(shí),若發(fā)現(xiàn)該筆數(shù)據(jù)所對(duì)應(yīng)的地址范圍超出邊界,將通知異常信號(hào)處理單元
14有數(shù)據(jù)發(fā)生錯(cuò)誤,異常信號(hào)處理單元14便命令系統(tǒng)重置單元15進(jìn)行系統(tǒng) 重置的動(dòng)作。經(jīng)由傳輸數(shù)據(jù)錯(cuò)誤的檢測,進(jìn)而更正錯(cuò)誤的料或重置系統(tǒng),可避 免把錯(cuò)誤的數(shù)據(jù)誤送入系統(tǒng)執(zhí)行,導(dǎo)致有不可預(yù)期的狀況發(fā)生。 接下來說明本發(fā)明的控制裝置1中各單元的動(dòng)作原理及關(guān)系。 請參閱圖2所示,為系統(tǒng)異常檢測單元11的功能方塊圖??刂蒲b置1采 用檢查碼的方式來判斷系統(tǒng)是否有異常。如圖2中所示,系統(tǒng)異常檢測單元 11包括一檢查碼產(chǎn)生電路111及一檢查電路112;其中檢查碼產(chǎn)生電路111 根據(jù)系統(tǒng)工作情況固定輸出n個(gè)位的檢查碼(n〉二2),而檢查電路112會(huì)每隔 一段時(shí)間以一預(yù)定的檢査值來檢查檢查碼產(chǎn)生電路111所產(chǎn)生的檢查碼,以確 認(rèn)系統(tǒng)是否運(yùn)作正常。例如以檢査碼產(chǎn)生電路111固定輸出4個(gè)位的檢查碼為 例,若檢查碼為1100(2),而預(yù)定檢查值也為1100(2),經(jīng)檢査電路112比較后檢 查碼與預(yù)定檢查值相同,則表示系統(tǒng)運(yùn)作正常;若檢査碼為1110(2),而預(yù)定檢 査值為1100(2),經(jīng)檢査電路112比較后檢查碼與預(yù)定檢査值不相同,則表示系 統(tǒng)運(yùn)作異常。
因?yàn)楫?dāng)系統(tǒng)不穩(wěn)定時(shí),輸出檢查碼的檢査碼產(chǎn)生電路111也會(huì)相對(duì)的不穩(wěn) 定,于是一旦發(fā)現(xiàn)檢查碼有誤時(shí),便可以判定系統(tǒng)此時(shí)必須要停止運(yùn)作。所以, 當(dāng)發(fā)現(xiàn)檢査碼有誤時(shí),系統(tǒng)異常檢測單元ll會(huì)輸出一系統(tǒng)異常信號(hào),以通知 異常信號(hào)處理單元14進(jìn)行系統(tǒng)重置的要求,使系統(tǒng)重置單元15將系統(tǒng)重置; 待系統(tǒng)重置后,再檢査此檢査碼是否正確來判定系統(tǒng)是否已經(jīng)恢復(fù)正常,若尚 未恢復(fù)正常,就會(huì)持續(xù)通知異常信號(hào)處理單元14要求系統(tǒng)重置單元15做系統(tǒng) 重置,直到系統(tǒng)恢復(fù)正常為止。
請復(fù)參閱圖3,為本發(fā)明檢測系統(tǒng)異常的方法流程圖。在檢查碼產(chǎn)生電路 111輸出n個(gè)位的檢查碼后,檢査電路112周期性的檢査n位檢査碼是否正確 (如步驟S301);若檢査碼正確,則表示系統(tǒng)運(yùn)作正常,而持續(xù)檢查檢査碼 是否正確;若檢查碼發(fā)生錯(cuò)誤,則表示系統(tǒng)運(yùn)作異常,通知異常信號(hào)處理單元 14進(jìn)行系統(tǒng)重置的要求(如步驟S303),待系統(tǒng)重置后,再檢査此檢查碼是 否正確來判定系統(tǒng)是否已經(jīng)恢復(fù)正常。請參閱圖4,為本發(fā)明檢測數(shù)據(jù)異常的功能方塊圖。本發(fā)明的控制裝置l
中的記憶單元13至少包括一揮發(fā)性內(nèi)存(Volatile Memory)或非揮發(fā)性內(nèi)存 (Non-Volatile Memory),如圖所示,記憶單元13包含只讀存儲(chǔ)器131 ,隨 機(jī)存取內(nèi)存132及數(shù)據(jù)暫存裝置133,其中數(shù)據(jù)暫存裝置133又可為只讀存儲(chǔ) 器(ROM),隨機(jī)存取內(nèi)存(RAM)或緩存器(REGISTER)等。只讀存儲(chǔ)器131 主要是儲(chǔ)存程序代碼(Program),以輸出指令到指令總線IB(Instruction Bus) 上;隨機(jī)存取內(nèi)存132主要是儲(chǔ)存微控制器(圖未示)運(yùn)算時(shí)所需的數(shù)據(jù),數(shù) 據(jù)暫存裝置133則是用于儲(chǔ)存一些系統(tǒng)數(shù)據(jù),而隨機(jī)存取內(nèi)存132和數(shù)據(jù)暫存 裝置133則會(huì)將系統(tǒng)欲使用的數(shù)據(jù)送到數(shù)據(jù)總線DB (Data Bus)上讓系統(tǒng)讀 取。
記憶單元13輸出的數(shù)據(jù),包括只讀存儲(chǔ)器131、隨機(jī)存取內(nèi)存132及數(shù) 據(jù)暫存裝置133中的數(shù)據(jù),都先將經(jīng)過數(shù)據(jù)異常檢測單元12做數(shù)據(jù)異常的檢 査。若數(shù)據(jù)異常檢測單元12發(fā)現(xiàn)記憶單元13輸出的數(shù)據(jù)其所對(duì)應(yīng)的地址范圍 超出原定范圍(例如存取數(shù)據(jù)的范圍只允許00H 6FH,但出現(xiàn)存取70H的值, 即超出邊界的動(dòng)作),即可判定有錯(cuò)誤發(fā)生,數(shù)據(jù)異常檢測單元12便會(huì)輸出 一數(shù)據(jù)異常信號(hào)給異常信號(hào)處理單元14,異常信號(hào)處理單元14則會(huì)輸出系統(tǒng) 重置信號(hào)給系統(tǒng)重置單元15,以要求系統(tǒng)重置單元15執(zhí)行系統(tǒng)重置的動(dòng)作來 修正此項(xiàng)錯(cuò)誤。
另外,數(shù)據(jù)異常檢測單元12針對(duì)每筆由記憶單元13輸入進(jìn)來的數(shù)據(jù),采 用錯(cuò)誤修正碼(Error-Correcting Codes)來檢査輸入進(jìn)來的數(shù)據(jù)是否正確, 一旦發(fā)現(xiàn)數(shù)據(jù)有誤時(shí),數(shù)據(jù)異常檢測單元12會(huì)輸出一數(shù)據(jù)異常信號(hào)通知異常 信號(hào)處理單元14,以要求異常信號(hào)處理單元14進(jìn)行數(shù)據(jù)回復(fù)的動(dòng)作。
所以,當(dāng)異常信號(hào)處理單元14根據(jù)數(shù)據(jù)異常信號(hào)得知記憶單元13輸出的 數(shù)據(jù)經(jīng)錯(cuò)誤修正碼檢査而發(fā)現(xiàn)有誤時(shí),會(huì)利用錯(cuò)誤修正碼先試著將錯(cuò)誤數(shù)據(jù)更 正,若可以更正成功,便讓系統(tǒng)持續(xù)操作,不致因錯(cuò)誤而中斷。若無法更正成 功,則必須輸出一數(shù)據(jù)異常重讀信號(hào)給系統(tǒng),以要求記憶單元13重新傳送數(shù) 據(jù)。若異常信號(hào)處理單元14根據(jù)數(shù)據(jù)異常信號(hào)得知數(shù)據(jù)錯(cuò)誤的原因?yàn)榇嫒?shù) 據(jù)的范圍超過系統(tǒng)限定范圍時(shí),即認(rèn)定系統(tǒng)己出錯(cuò),立即會(huì)通知系統(tǒng)重置單元 15重置系統(tǒng)。
當(dāng)異常信號(hào)處理單元14收到數(shù)據(jù)異常信號(hào)時(shí),異常信號(hào)處理單元14會(huì)先
進(jìn)行數(shù)據(jù)校正。然而,以一般微控制器的結(jié)構(gòu)來說,若發(fā)現(xiàn)是程序有誤,則直 接將修正后的結(jié)果放入指令總線,取代錯(cuò)誤的程序;而修正過后的運(yùn)算數(shù)據(jù)則 會(huì)是放在數(shù)據(jù)總線,完成數(shù)據(jù)的修正。
承上所述可知,在本發(fā)明控制裝置l中,當(dāng)已檢測到系統(tǒng)不穩(wěn)定時(shí),即會(huì) 通知系統(tǒng)重置單元15立即重置系統(tǒng),以確保系統(tǒng)的穩(wěn)定性。而前述的系統(tǒng)重
置單元15的功能為將系統(tǒng)重置,在系統(tǒng)重置的狀況下,系統(tǒng)不會(huì)執(zhí)行任何程
序及內(nèi)部的運(yùn)作,類似處于一停止的狀態(tài)。
最后請參閱圖5,為本發(fā)明檢測數(shù)據(jù)錯(cuò)誤的控制方法流程圖。首先由數(shù)據(jù) 異常檢測單元12接收記憶單元13所傳來的數(shù)據(jù)(如步驟S501),接著便分 別判斷記憶單元13傳輸?shù)臄?shù)據(jù)其對(duì)應(yīng)的地址范圍是否超出邊界(如歩驟 S503),以及根據(jù)錯(cuò)誤修正碼檢査記憶單元13所傳輸?shù)臄?shù)據(jù)是否有誤(如步 驟S505);若記憶單元13所傳輸?shù)臄?shù)據(jù)其對(duì)應(yīng)的地址范圍超出邊界,或根據(jù) 錯(cuò)誤修正碼檢査出記憶單元13所傳輸?shù)臄?shù)據(jù)有誤,則數(shù)據(jù)異常檢測單元12 便輸出一數(shù)據(jù)異常信號(hào)給異常信號(hào)處理單元14 (如步驟S507)。
異常信號(hào)處理單元14接收數(shù)據(jù)異常信號(hào)后,便根據(jù)數(shù)據(jù)異常信號(hào)是由步 驟S503所產(chǎn)生或是由步驟S505所產(chǎn)生來判斷是否執(zhí)行錯(cuò)誤數(shù)據(jù)的更正(如步 驟S509)。若數(shù)據(jù)異常信號(hào)是由歩驟S503所產(chǎn)生,則異常信號(hào)處理單元14 無須執(zhí)行錯(cuò)誤數(shù)據(jù)的更正,而輸出一系統(tǒng)重置信號(hào)給系統(tǒng)重置單元15 (如步 驟S517);若數(shù)據(jù)異常信號(hào)是由步驟S505所產(chǎn)生,則異常信號(hào)處理單元14 便執(zhí)行錯(cuò)誤數(shù)據(jù)的更正(如步驟S511),以及根據(jù)錯(cuò)誤資料是否能成功更正 (如歩驟S513);若錯(cuò)誤數(shù)據(jù)更正成功,則系統(tǒng)持續(xù)正常運(yùn)作(如步驟S515), 而若錯(cuò)誤數(shù)據(jù)更正失敗,則異常信號(hào)處理單元14便輸出系統(tǒng)重置信號(hào)給系統(tǒng) 重置單元15 (如步驟S517)。
最后,當(dāng)系統(tǒng)重置單元15收到系統(tǒng)重置信號(hào)后,便執(zhí)行系統(tǒng)重置的動(dòng)作, 以確保系統(tǒng)運(yùn)作的穩(wěn)定性(如步驟S519)。
綜上所述,通過本發(fā)明所提出的異常檢測單元先檢測系統(tǒng)中各種的異常狀 況,再針對(duì)檢測到的異常狀況,發(fā)出信號(hào)通知異常處理單元做適當(dāng)處理,以降 低系統(tǒng)因異常狀況而造成誤動(dòng)作的機(jī)會(huì),進(jìn)而提高系統(tǒng)的穩(wěn)定性。
上述僅為本發(fā)明的較佳實(shí)施例,并非用來限定本發(fā)明的實(shí)施范圍,凡依本 發(fā)明申請權(quán)利要求書所作的等效變化與修改,皆為本發(fā)明專利范圍所涵蓋。
權(quán)利要求
1、一種控制裝置,其特征在于,包括一系統(tǒng)異常檢測單元,用于檢測一微控制器系統(tǒng)是否運(yùn)作正常,當(dāng)該微控制器系統(tǒng)運(yùn)作不正常時(shí),則輸出一系統(tǒng)異常信號(hào);一系統(tǒng)重置單元,用于重置該微控制器系統(tǒng);及一異常信號(hào)處理單元,接收該系統(tǒng)異常信號(hào),以輸出一系統(tǒng)重置信號(hào);其中,若該異常信號(hào)處理單元接收到該系統(tǒng)異常信號(hào),則該異常信號(hào)處理單元便輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置單元以重置該微控制器系統(tǒng)。
2、 如權(quán)利要求1所述的控制裝置,其特征在于,該系統(tǒng)異常檢測單元還 包括一檢查碼產(chǎn)生電路,該檢查碼產(chǎn)生電路用于產(chǎn)生一檢査碼,該檢查碼的位 數(shù)不小于兩位,該系統(tǒng)異常檢測單元檢查該復(fù)數(shù)字元的檢査碼是否正確,以確 認(rèn)該微控制器系統(tǒng)是否運(yùn)作正常;以及一檢査電路,該檢査電路用于將該位檢查碼與一預(yù)定檢查值做比較,當(dāng)比 較結(jié)果不相同時(shí)則輸出該系統(tǒng)異常信號(hào)。
3、 如權(quán)利要求1所述的控制裝置,其特征在于,進(jìn)一步包括 一記憶單元,提供數(shù)據(jù)的儲(chǔ)存;及一數(shù)據(jù)異常檢測單元,用于對(duì)該記憶單元輸出的數(shù)據(jù)執(zhí)行錯(cuò)誤檢測,當(dāng)檢 測該記憶單元輸出的數(shù)據(jù)有錯(cuò)誤,則輸出一數(shù)據(jù)異常信號(hào);其中,若該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào),則該異常信號(hào)處理 單元便更正該記憶單元輸出的錯(cuò)誤數(shù)據(jù),或輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置 單元以重置該微控制器系統(tǒng)。
4、 如權(quán)利要求3所述的控制裝置,其特征在于,該數(shù)據(jù)異常信號(hào)由該數(shù) 據(jù)異常檢測單元檢測到該記憶單元傳輸?shù)臄?shù)據(jù)其所對(duì)應(yīng)的地址超出邊界而產(chǎn) 生,該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào)后,便輸出該系統(tǒng)重置信號(hào)給 該系統(tǒng)重置單元以重置該微控制器系統(tǒng)。
5、 一種控制裝置,其特征在于,包括 一記憶單元,提供數(shù)據(jù)的儲(chǔ)存;一數(shù)據(jù)異常檢測單元,用于對(duì)該記憶單元輸出的數(shù)據(jù)執(zhí)行錯(cuò)誤檢測,當(dāng)檢 測該記憶單元輸出的數(shù)據(jù)有錯(cuò)誤,則輸出 一數(shù)據(jù)異常信號(hào); 一系統(tǒng)重置單元,用于重置一微控制器系統(tǒng);及一異常信號(hào)處理單元,接收該數(shù)據(jù)異常信號(hào),以輸出一系統(tǒng)重置信號(hào)或更 正該記憶單元輸出的錯(cuò)誤數(shù)據(jù);其中,若該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào),則該異常信號(hào)處理 單元便更正該記憶單元輸出的錯(cuò)誤數(shù)據(jù),或輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置 單元以重置該微控制器系統(tǒng)。
6、 如權(quán)利要求5所述的控制裝置,其特征在于,該數(shù)據(jù)異常信號(hào)由該數(shù) 據(jù)異常檢測單元檢測到該記憶單元傳輸?shù)臄?shù)據(jù)其所對(duì)應(yīng)的地址超出邊界而產(chǎn) 生,該異常信號(hào)處理單元接收到該數(shù)據(jù)異常信號(hào)后,便輸出該系統(tǒng)重置信號(hào)給 該系統(tǒng)重置單元以重置該微控制器系統(tǒng)。
7、 一種增加微控制器系統(tǒng)穩(wěn)定性的控制方法,其特征在于,該步驟包括 提供一系統(tǒng)異常檢測單元來判斷該微控制器系統(tǒng)是否有異常; 提供一異常信號(hào)處理單元,由該系統(tǒng)異常檢測單元的判斷結(jié)果,若得知該微控制器系統(tǒng)發(fā)生異常,則提出系統(tǒng)重置要求;及提供一系統(tǒng)重置單元來執(zhí)行該異常信號(hào)處理單元所提出的系統(tǒng)重置要求。
8、 如權(quán)利要求7所述的控制方法,其特征在于,該系統(tǒng)異常檢測單元判 斷該微控制器系統(tǒng)是否有異常,是通過產(chǎn)生一檢査碼,該檢査碼的位數(shù)不小于 兩位,并周期性將該檢查碼與一預(yù)定檢查值做比較,若比較結(jié)果不相同,則表 示該微控制器系統(tǒng)發(fā)生異常。
9、 如權(quán)利要求7所述的控制方法,其特征在于,其步驟還包括 提供一數(shù)據(jù)異常檢測單元來檢測該微控制器系統(tǒng)的記憶單元所傳輸?shù)臄?shù)據(jù)是否有錯(cuò)誤;及若該數(shù)據(jù)異常檢測單元檢測到記憶單元所傳輸?shù)臄?shù)據(jù)有錯(cuò)誤,則通知該異 常信號(hào)處理單元執(zhí)行錯(cuò)誤數(shù)據(jù)的更正或提出系統(tǒng)重置要求。
10、 如權(quán)利要求9所述的控制方法,其特征在于,該數(shù)據(jù)異常檢測單元若 檢測到由該記憶單元傳輸?shù)臄?shù)據(jù)其對(duì)應(yīng)的地址范圍超出邊界,則通知該異常信 號(hào)處理單元提出系統(tǒng)重置要求。
11、 如權(quán)利要求9所述的控制方法,其特征在于,該異常信號(hào)處理單元執(zhí)行錯(cuò)誤數(shù)據(jù)的更正時(shí),若該異常信號(hào)處理單元無法更正錯(cuò)誤數(shù)據(jù),則要求該微 控制器系統(tǒng)的記憶單元重新傳輸數(shù)據(jù)。
12、 一種增加微控制器系統(tǒng)穩(wěn)定性的控制方法,其特征在于,步驟包括 提供一數(shù)據(jù)異常檢測單元來檢測該微控制器系統(tǒng)的記憶單元所傳輸?shù)臄?shù)據(jù)是否有錯(cuò)誤;提供一異常信號(hào)處理單元,根據(jù)該數(shù)據(jù)異常檢測單元檢測結(jié)果,若得知記 憶單元所傳輸?shù)臄?shù)據(jù)有錯(cuò)誤,則提出系統(tǒng)重置要求或更正該微控制器系統(tǒng)的記 憶單元所傳輸?shù)臄?shù)據(jù);及提供一系統(tǒng)重置單元來執(zhí)行該異常信號(hào)處理單元所提出的系統(tǒng)重置要求。
13、 如權(quán)利要求12所述的控制方法,其特征在于,該數(shù)據(jù)異常檢測單元 若檢測到由該記憶單元傳輸?shù)臄?shù)據(jù)其對(duì)應(yīng)的地址范圍超出邊界,則通知該異常 信號(hào)處理單元提出系統(tǒng)重置要求。
14、 如權(quán)利要求12所述的控制方法,其特征在于,該異常信號(hào)處理單元 更正該微控制器系統(tǒng)的記憶單元所傳輸?shù)臄?shù)據(jù)時(shí),若該異常信號(hào)處理單元無法 更正錯(cuò)誤數(shù)據(jù),則要求該微控制器系統(tǒng)的記憶單元重新傳輸數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種控制裝置及控制方法。該裝置包括一系統(tǒng)異常檢測單元,用于檢測一微控制器系統(tǒng)是否運(yùn)作正常,當(dāng)該微控制器系統(tǒng)運(yùn)作不正常時(shí),則輸出一系統(tǒng)異常信號(hào);一系統(tǒng)重置單元,用于重置該微控制器系統(tǒng);一異常信號(hào)處理單元,接收該系統(tǒng)異常信號(hào),以輸出一系統(tǒng)重置信號(hào);其中,若該異常信號(hào)處理單元接收到該系統(tǒng)異常信號(hào),則該異常信號(hào)處理單元便輸出該系統(tǒng)重置信號(hào)給該系統(tǒng)重置單元以重置該微控制器系統(tǒng)。通過本發(fā)明所提出的異常檢測單元先檢測系統(tǒng)中各種的異常狀況,再針對(duì)檢測到的異常狀況,發(fā)出信號(hào)通知異常處理單元做適當(dāng)處理,可降低系統(tǒng)因異常狀況而造成誤動(dòng)作的機(jī)會(huì),進(jìn)而提高系統(tǒng)的穩(wěn)定性。
文檔編號(hào)G06F11/00GK101354665SQ20071013006
公開日2009年1月28日 申請日期2007年7月25日 優(yōu)先權(quán)日2007年7月25日
發(fā)明者蔡佳洲, 許文琪 申請人:盛群半導(dǎo)體股份有限公司