專利名稱:微控制器的改錯方法與裝置的制作方法
技術領域:
本發(fā)明是有關于一種微控制器的改錯方法與裝置,特別是有關于一重置指令使微控制器得以重置恢復的方法及裝置。
微控制器為一以程序為基礎(program based)的控制元件,程序賦予微控制器應接收的訊號并對接收到的訊號加以分析判斷,進而采取適切的反應。然而因為其乃是以程序為主的控制單元,一旦受到干擾而出現預期以外的狀況,即可能使程序錯誤卡死。為了使程序出錯誤后能夠回復正常,部份微控制器提供了所謂看門狗計時器(watch dog timer)法,亦即,使用一計時器,如程序正常時,即由程序清除計時值,一旦到達計時時間而程序末清除時,則視為程序已發(fā)生錯誤,于是計時器啟動一重置訊號產生電路,產生重置訊號以重置微控制器內部的電路,使其回復到啟始狀態(tài)的程序而重新執(zhí)行。但是,程序發(fā)生錯誤時,須等待計時器溢位,方能重置微控制器,若程序錯誤,但仍能在計時器溢位前將計時值加以清除時,則此計時器就失去作用。如
圖1所示,為一般的微控制器程序配置圖,該圖顯示一般的微控制器,其程序配置有主程序段1-1、1-2、副程序段(2)、中段服務程序段(3)、及資料段(4),主程序負責微控制器的運作;副程序提供共同程序部份給主程序呼叫使用,以使主程序得以縮減;中斷服務程序提供緊急需要馬上處理事件的控制;資料段則儲存程序執(zhí)行所需的資料,可以是一個對照表,也可以是一資料庫端,視程序的所需而定。而圖2為這些程序段的執(zhí)行流程,圖1中的程序各區(qū)段間存在少許間隙21、22、23、24、25,使程序可依圖2所示的流程于各區(qū)段間切換執(zhí)行,當程序錯誤執(zhí)行時有時會打破原執(zhí)行程序,例如由中斷服務程序(3)穿越間隙而進入主程序段(二)(1-2)或從主程序段(一)(1-1)非正常穿越間隙進入中斷服務程序,由于上述各程序段在正常執(zhí)行時為避免計時器溢位,所以在內部皆埋有清除計時器的指令,此時使用計時器溢位以防制程序錯誤的作法將失效。
針對現有技術的缺點,本發(fā)明目的之一即在提供一種微控制器的改錯方法與裝置,提供一重置指令碼使上述程序錯誤時得以重置恢復,此線路并可提供程序設計師控制微控制器回復啟始狀態(tài)。
本發(fā)明的另一目的是依本發(fā)明的此種改錯方法與裝置,因其是由一指令碼使微控制器程序錯誤時得以重置恢復,故程序錯誤,可立即重置微控制器。
本發(fā)明的又一目的是依本發(fā)明的此種改錯方法與裝置,因為不靠計時器來啟動重置訊號產生電路,產生重置訊號以重置微控制器內部的電路,使其回復到啟始狀態(tài)的程序而重新執(zhí)行,故即無現有的方法發(fā)生計時器失效的情形。
一種微控制器的改錯方法,其特征是重置方法是利用提供一重置指令碼至一重置指令解碼電路,再利用一延時電路產生重置訊號,使程序錯誤時透過執(zhí)行重置指令而使微控制器得以重置恢復。
一種微控制器的改錯裝置,其特征是此裝置包含一重置指令解碼器及一延時電路,重置指令解碼器可接收重置指令碼,在解碼且判斷其為重置指令碼后,該重置指令解碼器可觸發(fā)延時電路,以產生固定長度的重置訊號,使微控制器得以重置恢復。
至于本發(fā)明的詳細構造、作用及功效,可依照下列附圖加以說明而充分了解。
圖1為現有微控制器的程序配置圖。
圖2為一般微控制器的程序執(zhí)行流程圖。
圖3為本發(fā)明的改錯裝置方塊圖。
圖4為實現圖3中方塊圖的電路圖。
圖5為本發(fā)明用于微控制器的實施例。
本發(fā)明的微控制器的改錯方法是利用提供一重置指令,使微控制器程序錯誤時透過執(zhí)行重置指令而使微控制器重置恢復。為實現本發(fā)明的目的,本發(fā)明提供一種微控制器改錯裝置,參考圖3,該圖為本發(fā)明的改錯裝置方塊圖。如此方塊圖所示,本發(fā)明的改錯裝置包含一重置指令解碼器101來使重置指令解碼,重置指令解碼電路可由與非門(NAND)所構成。及延時線路102來接受重置指令解碼器101送來的解碼訊號而加以延長,延時電路可由正反器所構成。更詳細而言,指令碼IB由暫存器送出,重置指令解碼器101接收指令暫存器所送出的指令碼IB并將其解碼以判斷其是否為重置指令碼,若是重置指令碼則觸發(fā)延時線路102以產生固定長度的重置訊號以進行微控制器的重置。此重置指令碼除提供程序設計師使用,作為啟始狀況之用外,若將此指令碼填入圖1的程序空隙中時,當程序執(zhí)行錯誤進入程序空隙時即能重置微控制器,使其恢復。
圖4為本發(fā)明的一實施例,在此實施例中,是以11111111B作為重置指令碼,重置指令解碼電路將指令暫存器送出的指令碼(IB0~IB7)解碼,若為11111111B,則產生觸發(fā)訊號消除延時電路102,此時延時電路輸出低電壓位準重置微控制器,當四個時間脈沖訊號產生后,延時電路102輸出高壓位準結束微控制器的重置。
圖5為本發(fā)明應用于微控制器線路的實施例,如該圖所示,本發(fā)明的電路可與外界重置訊號輸入及看門狗計時器一起使用,以重置微控制器。
由上所述可知,本發(fā)明的微控制器的改錯方法及裝置,確實可以彌補習知的計時器方法的不足,而可有效的使發(fā)生錯誤的程序得以重置,防止微控制器失效,而其并未見諸公開使用和刊登。
以上所述乃是本發(fā)明的較佳具體的實施例,若依本發(fā)明的構想所作的改變,其產生的功能作用,仍未超出說明書與圖示所涵蓋的精神時,均應在本發(fā)明的范圍之內。
權利要求
1.一種微控制器的改錯方法,具特征是該重置方法是利用提供一重置指令碼至一重置指令解碼電路,再利用一延時電路產生重置訊號,使程序錯誤時透過執(zhí)行重置指令而使微控制器得以重置恢復。
2.一種微控制器的改錯裝置,其特征是此裝置包含一重置指令解碼器及一延時電路,重置指令解碼器可接收重置指令碼,在解碼且判斷其為重置指令碼后,該重置指令解碼器可觸發(fā)延時電路,以產生固定長度的重置訊號,使微控制器得以重置恢復。
3.如權利要求2所述的微控制器的改錯裝置,其特征在于所述重置指令碼為11111111B。
4.如權利要求2所述的微控制器的改錯裝置,其特征在于所述重置指令解碼電路是由與非門(NAND)所構成。
5.如權利要求2所述的微控制器的改錯裝置,其特征在于所述延時電路是由正反器所構成。
全文摘要
一種微控制器的改錯方法及裝置,該改錯方法是利用提供一重置指令碼至重置指令碼電路,再利用一延時電路產生重置訊號,使程序錯誤時,透過執(zhí)行重置指令而使微控制器得以重置恢復。本發(fā)明的特征包含一重置指令解碼電路與一延時電路,先利用重置指令解碼電路使重置指令解碼,再利用延時電路來接受重置指令解碼電路送來的解碼訊號加以延長;此重置指令除提供程序設計師使用作為啟始狀況之用外,同時將此指令解碼填入程序空隙中,當程序執(zhí)行錯誤進入程序空隙時即能重置微控制器,使其恢復。
文檔編號G06F11/28GK1186984SQ9710030
公開日1998年7月8日 申請日期1997年1月3日 優(yōu)先權日1997年1月3日
發(fā)明者余國成, 孫葆祥, 林怡 申請人:合泰半導體股份有限公司