TW202014892A - 自我檢測系統及其方法 - Google Patents

自我檢測系統及其方法 Download PDF

Info

Publication number
TW202014892A
TW202014892A TW107135449A TW107135449A TW202014892A TW 202014892 A TW202014892 A TW 202014892A TW 107135449 A TW107135449 A TW 107135449A TW 107135449 A TW107135449 A TW 107135449A TW 202014892 A TW202014892 A TW 202014892A
Authority
TW
Taiwan
Prior art keywords
program
circuit
check
processing unit
self
Prior art date
Application number
TW107135449A
Other languages
English (en)
Other versions
TWI679529B (zh
Inventor
黃致愷
朱炳盈
楊智顯
Original Assignee
新唐科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Priority to TW107135449A priority Critical patent/TWI679529B/zh
Priority to CN201811473176.3A priority patent/CN111008099B/zh
Priority to US16/375,097 priority patent/US10890616B2/en
Application granted granted Critical
Publication of TWI679529B publication Critical patent/TWI679529B/zh
Publication of TW202014892A publication Critical patent/TW202014892A/zh

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/282Testing of electronic circuits specially adapted for particular applications not provided for elsewhere
    • G01R31/2827Testing of electronic protection circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2801Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
    • G01R31/2803Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP] by means of functional tests, e.g. logic-circuit-simulation or algorithms therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2801Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
    • G01R31/281Specific types of tests or tests for a specific type of fault, e.g. thermal mapping, shorts testing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K7/00Modulating pulses with a continuously-variable modulating signal
    • H03K7/08Duration or width modulation ; Duty cycle modulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本發明提出一種自我檢測系統及其方法。在自我檢測系統中,記憶體係儲存一安全檢查程式、一主應用程式以及一預設核對和數據。安全檢查程式包含一電路檢查程式、一監視電路重置程式以及一核對和檢查程式。當晶片系統上電後,處理單元係執行主應用程式,並執行中斷呼叫以產生一中斷,藉此執行安全檢查程式,並執行電路檢查程式以檢查至少一待檢查電路,且處理單元亦執行監視電路重置程式,以重置監視電路之計數值;處理單元亦執行核對和檢查程式以計算第一安全檢查程式之核對和數據,而當所計算的核對和數據不等於預設核對和數據,則設定一錯誤旗標以通知主應用程式或重啟動晶片系統。

Description

自我檢測系統及其方法
本發明係有關於一種檢測系統,特別是有關於一種能確保微控制晶片能自我檢測的系統及其方法。
如果控制功率的微控制晶片出現誤動作或是功能失效,容易產生過大電流而造成危險,例如燒毀、起火或是爆炸,因此,目前業界有相關組織便規範一安全檢測標準,例如IEC60730,並要求此種微控制晶片的業者在出貨之前必須提供晶片符合此標準的證明,例如,業者必須提供微控制器內程式的內容細節以及執行過程描述,以確保微控制晶片在運作時能定期檢查系統的重要電路,以確保有電路出現問題時微控制晶片能及時停止運作,避免危險發生。
由於每一次軟體更新或是硬體更新,業者就必須重新提供微控制器內程式的內容細節以及執行過程描述,此造成業者不小的負擔。因此,如何設計一種自我檢測系統能確保微控制晶片在運行中能定期執行安全檢查程式,且安全檢測標準規範組織也能容易檢查,是一項亟待解決的問題。
為解決上述問題,本發明提出一種自我檢測系統,適用於一晶片系統。晶片系統包含至少一待檢查電路以及一重啟動電路。自我檢測系統包含一記憶體、一監視電路以及一處理單元。記憶體係儲存一第一安全檢查程式、一主應用程式以及一預設核對和(checksum)數據。第一安全檢查程式包含一電路檢查程式、一監視電路重置程式以及一核對和檢查程式。主應用程式包含一中斷呼叫。預設核對和數據係對應該第一安全檢查程式。監視電路包含一計數值,而監視電路啟動後便開始累加該計數值,並於計數值溢位(overflow)時觸發重啟動電路以重啟動晶片系統。當晶片系統上電後,處理單元係執行主應用程式,並執行中斷呼叫以產生一中斷,藉此執行第一安全檢查程式。當處理單元執行第一安全檢查程式時,處理單元係執行電路檢查程式以檢查該至少一待檢查電路。當處理單元執行第一安全檢查程式時,處理單元係執行監視電路重置程式,以重置監視電路之計數值。當處理單元執行第一安全檢查程式時,處理單元係執行核對和檢查程式以計算第一安全檢查程式之一核對和數據,而當所計算的核對和數據不等於預設核對和數據,則處理單元觸發重啟動電路以重啟動晶片系統或通知該主應用程式。
在一實施例中,自我檢測系統更包含具有一執行旗標的一暫存器。第一安全檢查程式更包含一旗標清除程式,主應用程式更包含一第二安全檢查程式以及一旗標設定程式。當處理單元執行主應用程式時,處理單元係執行第二安全檢查程式以檢查至少一待檢查電路,並執行旗標設定程式以設定暫存器之執行旗標。當處理單元執行第一安全檢查程式時,處理單元係執行旗標清除程式,以檢查執行旗標是否已經被設定。
在一實施例中,當處理單元執行旗標清除程式且確認執行旗標未被設定,則處理單元觸發重啟動電路以重啟動晶片系統。
在一實施例中,當處理單元執行旗標清除程式且確認執行旗標已經被設定,則清除執行旗標。
在一實施例中,記憶體區分為一預設保留區以及一應用程式區,第一安全檢查程式係儲存在預設保留區,而主應用程式係儲存在應用程式區。
在一實施例中,至少一待檢查電路包含一系統時脈電路,自我檢測系統係檢查系統時脈電路輸出的一時脈訊號是否準確。
在一實施例中,至少一待檢查電路包含一類比轉數位轉換電路,自我檢測系統係檢查類比轉數位轉換電路的一輸出數位值是否準確。
在一實施例中,至少一待檢查電路包含一脈衝寬度調變電路,自我檢測系統係檢查脈衝寬度調變電路輸出之一脈衝寬度調變訊號是否準確。
在一實施例中,當至少一待檢查電路未通過檢查,則處理單元觸發重啟動電路以重啟動晶片系統。
為解決上述問題,本發明再提出一種自我檢測方法,適用於一晶片系統。晶片系統包含至少一待檢查電路以及一重啟動電路。自我檢測方法包含下列步驟:在一記憶體中儲存一第一安全檢查程式、一主應用程式以及一預設核對和(checksum)數據,其中第一安全檢查程式包含一電路檢查程式、一監視電路重置程式以及一核對和檢查程式,主應用程式包含一中斷呼叫,而預設核對和數據係對應第一安全檢查程式;設置一監視電路,當晶片系統上電後,啟動監視電路開始計數;當晶片系統上電後,執行主應用程式,並執行中斷呼叫以產生一中斷,藉此執行第一安全檢查程式,以執行電路檢查程式以檢查至少一待檢查電路,並執行監視電路重置程式以重置監視電路之一計數值,並執行核對和檢查程式以產生第一安全檢查程式之一核對和數據,且當所計算的核對和數據不等於預設核對和數據,觸發重啟動電路以重啟動晶片系統。
在一實施例中,本發明之自我檢測方法更包含提供具有一執行旗標的一暫存器,其中該第一安全檢查程式更包含一旗標清除程式,主應用程式更包含一第二安全檢查程式以及一旗標設定程式,當該主應用程式執行時,第二安全檢查程式係執行以檢查該至少一待檢查電路,並執行旗標設定程式以設定該暫存器之該執行旗標,而當該第一安全檢查程式執行時,旗標清除程式係執行以檢查該執行旗標是否已經被設定。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
在特定晶片的應用領域,例如是控制功率的微控制晶片,如果晶片出現誤動作或是功能失效,容易產生過大電流而造成危險,因此,目前業界有相關組織規範一安全檢測標準,例如IEC60730,並要求此種微控制晶片的業者在出貨之前必須提供晶片符合此標準的證明,例如,業者必須提供微控制器內程式的內容細節以及執行過程描述,以確保微控制晶片在運作時能定期檢查系統環境,以確保有電路出現問題時微控制晶片能及時停止運作,避免危險發生。
本發明之自我檢測系統即是為了確保安全檢查程式儲存在記憶體中且晶片系統運作時能定期執行安全檢查程式。
請參閱第1圖,其繪示本發明之自我檢測系統之一實施例之一方塊圖。本發明之自我檢測系統係適用於一晶片系統,其包含至少一待檢查電路30以及一重啟動電路50。自我檢測系統包含一記憶體10、一監視電路40、以及一處理單元20。
記憶體10係儲存一安全檢查程式11、一主應用程式13以及一預設核對和數據101。在一實施例中,記憶體10可為一非揮發記憶體,例如一快閃記憶體(flash memory)或是一電子抹除式可複寫唯讀記憶體(EEPROM)。安全檢查程式11可包含一電路檢查程式111、一監視電路(watchdog circuit)重置程式112以及一核對和(checksum)檢查程式113。安全檢查程式11的儲存位置係對應於一硬體中斷(interrupt),例如IRQ 10,因此當處理單元20接收到此硬體中斷後便會執行安全檢查程式11。
主應用程式13包含一中斷呼叫(interrupt call)131以及一主功能程式。一般而言,當晶片系統上電後,處理單元20係執行主應用程式13以提供晶片系統的主要功能;而在本發明之自我檢測系統中,則要求主應用程式13包含中斷呼叫,例如IRQ 10,使得處理單元20執行主應用程式13時能定期接收到特定硬體中斷,讓處理單元20能執行安全檢查程式11。
預設核對和數據101係對應安全檢查程式11,亦即,使用者可以事先計算安全檢查程式11的核對和(checksum),將其儲存於記憶體10中做為此預設核對和數據101。核對和數據的計算以及檢查為此領域之技術者所熟知,所以其技術細節在此不再贅述。
監視電路40可用一計時電路硬體實現,監視電路40包含一計數值401。監視電路40啟動後便開始累加計數值401,並於於計數值401溢位時產生一觸發訊號;如果要避免產生觸發訊號,監視電路40之計數值401必須定期重置或歸零。在本發明之自我檢測系統中,監視電路40之觸發訊號402係用以觸發重啟動電路50,以重啟動晶片系統;或者,在一實施例中,可以設定一錯誤旗標以通知主應用程式131。
當晶片系統上電後,該處理單元20係執行該主應用程式13,並執行該中斷呼叫131以產生中斷,藉此執行安全檢查程式11。當處理單元20執行安全檢查程式11時,處理單元20可執行電路檢查程式111以檢查至少一待檢查電路30,且處理單元20也執行監視電路重置程式112,產生計數值重置訊號201,以重置監視電路40之計數值401。
因此,如果主應用程式13沒有定期產生中斷以執行安全檢查程式11以及監視電路重置程式112,則監視電路40會溢位而產生觸發訊號402至重啟動電路50,重新啟動晶片系統;而此,每次晶片系統重新啟動,又會因為監視電路40溢位而再次重啟動,此機制會讓沒有定期執行安全檢查程式11的晶片系統無法運作。
當處理單元20執行安全檢查程式11時,處理單元20也執行核對和檢查程式113以計算安全檢查程式11之核對和數據。當所計算的核對和數據不等於預設核對和數據101時,則處理單元20產生觸發訊號202,以觸發重啟動電路50重新啟動晶片系統;在一實施例中,處理單元20可以設定一錯誤旗標以通知主應用程式131。
在微控制晶片的產業中主要有微控制晶片製造商以及應用開發商,微控制晶片製造商提供微控制晶片、基礎驅動程式以及安全檢查程式,應用開發商會開發應用程式燒錄到微控制晶片中。因此,如何確認應用開發商有確實將安全檢查程式燒錄到微控制晶片,以及讓安全檢測標準組織能容易地確認微控制晶片內有燒錄安全檢查程式,是確保晶片系統安全的關鍵。
因此,微控制晶片製造商提供安全檢查程式之預設核對和數據101給應用開發商以及安全檢測標準組織,如果應用開發商沒有儲存預設核對和數據101到記憶體10的預設位置,則核對和檢查程式113會判斷所計算的核對和數據不等於預設核對和數據101,而處理單元20觸發重啟動電路50以重啟動該晶片系統,藉此讓沒有燒錄安全檢查程式11的晶片系統無法運作;在一實施例中,處理單元20可以設定一錯誤旗標以通知主應用程式131,以進行相對應的措施。再者,安全檢測標準組織也能檢查記憶體10的預設位置有無儲存預設核對和數據101,藉此容易地確認微控制晶片內有燒錄安全檢查程式。
在一實施例中,至少一待檢查電路30可包含一系統時脈電路31,自我檢測系統可檢查系統時脈電路31輸出的一時脈訊號是否準確;至少一待檢查電路30亦可包含一類比轉數位轉換電路32,自我檢測系統可檢查類比轉數位轉換電路32的一輸出數位值是否準確;至少一待檢查電路30亦可包含一脈衝寬度調變電路33,自我檢測系統可檢查脈衝寬度調變電路33輸出之一脈衝寬度調變訊號是否準確。當至少一待檢查電路30未通過檢查,則處理單元20產生觸發訊號202以觸發重啟動電路50,重啟動該晶片系統。上述檢查的細節會再後面段落描述。
請參閱第2圖,其繪示本發明之自我檢測方法之一實施例之一步驟流程圖。自我檢測方法係適用於晶片系統,例如第1圖所示之晶片系統。此外,自我檢測方法可用第1圖所示之自我檢測系統來執行。圖中,自我檢測方法包含步驟S11至S16。
在步驟S10,在記憶體10中儲存安全檢查程式11、主應用程式13以及預設核對和數據101,安全檢查程式11包含電路檢查程式111、監視電路重置程式112、以及核對和檢查程式113。主應用程式13包含一中斷呼叫131。預設核對和數據101係對應安全檢查程式11。
在步驟S11,設置一監視電路40,當晶片系統上電後,啟動監視電路40開始計數。在步驟S12,當該晶片系統上電後,執行該主應用程式13,並執行該中斷呼叫131以產生一中斷,以執行該第一安全檢查程式19。
在步驟S13,執行核對和檢查程式113以產生第一安全檢查程式19之核對和數據,並判斷所計算的核對和數據是否等於預設核對和數據101。當所計算的核對和數據不等於預設核對和數據101,則執行步驟S16,觸發重啟動電路50以重啟動晶片系統;在一實施例中,步驟S16可包含設定一錯誤旗標以通知主應用程式131。當所計算的核對和數據等於預設核對和數據101,則繼續執行後續步驟。
在步驟S14,執行監視電路重置程式112以重置監視電路40之一計數值401。在步驟S15,執行電路檢查程式111以檢查至少一待檢查電路30,當至少一待檢查電路30未通過檢查,則執行步驟S16,觸發該重啟動電路50以重啟動晶片系統。
透過使用本發明之自我檢測方法,如果應用開發商沒有儲存預設核對和數據101到記憶體10的預設位置,則核對和檢查程式113會判斷所計算的核對和數據不等於預設核對和數據101,而處理單元20觸發重啟動電路50以重啟動該晶片系統,藉此讓沒有燒錄安全檢查程式11的晶片系統無法運作。再者,安全檢測標準組織也能檢查記憶體10的預設位置有無儲存預設核對和數據101,藉此容易地確認微控制晶片內有燒錄安全檢查程式。另外,如果主應用程式13沒有定期產生中斷以執行安全檢查程式11以及監視電路重置程式112,則監視電路40會溢位而產生觸發訊號402至重啟動電路50,重新啟動晶片系統;而此,每次晶片系統重新啟動,又會因為監視電路40溢位而再次重啟動,此機制會讓沒有定期執行安全檢查程式11的晶片系統無法運作。
因此,本發明之自我檢測方法可確保晶片系統內具有安全檢查程式11且晶片系統運行時會定期執行安全檢查程式11,否則晶片系統就不能運行。
請參閱第3圖,其繪示本發明之自我檢測系統之另一實施例之一方塊圖。在此實施例中,自我檢測系統包含一記憶體、一監視電路40、一處理單元20以及一暫存器60。記憶體儲存一第一安全檢查程式19、一主應用程式18以及一預設核對和數據101。第一安全檢查程式19包含一電路檢查程式191、一監視電路重置程式192、一核對和檢查程式193以及一旗標清除程式194。主應用程式18包含一第二安全檢查程式182、一旗標設定程式183以及一中斷呼叫181。預設核對和數據101係對應該第一安全檢查程式19。
在此實施例中,記憶體可區分成一預設保留區(SPROM)以及一應用程式區(APROM)。預設保留區主要儲存晶片系統的基本程式碼,例如驅動程式碼;而應用開發商所開發的程式可儲存於應用程式區。在此實施例中,第一安全檢查程式19可儲存在預設保留區,而主應用程式13可儲存在應用程式區。晶片系統包含一系統時脈電路31、一類比轉數位轉換電路32、以及一脈衝寬度調變(PWM)電路33。
與前一實施例不同之處在於此實施例的安全檢查程式分成第一安全檢查程式19以及第二安全檢查程式182,而晶片系統更包含一暫存器以確認第二安全檢查程式182是否執行。在實際應用上,微控制晶片商可以開發第一安全檢查程式19,其提供基本的安全檢查;而應用開發商可在開發第二安全檢查程式182,以對應其開發的應用程式提供安全檢查。或者,如果微控制晶片商開發的安全檢查程式過大而無法全部儲存在預設保留區,則可以把安全檢查程式分成第一安全檢查程式19以及第二安全檢查程式182,分別儲存在預設保留區以及應用程式區。
當晶片系統上電後,處理單元20係執行該主應用程式18,並執行該中斷呼叫181以產生中斷,藉此執行第一安全檢查程式19。當處理單元20執行第一安全檢查程式19時,處理單元20可執行電路檢查程式191以檢查至少一待檢查電路30,且處理單元20也執行監視電路重置程式192以及核對和檢查程式193,其運作方式與第1圖所示的一實施例相同,所以在此不再贅述。
此外,當處理單元20執行第一安全檢查程式19時,處理單元20也會執行到旗標清除程式194以確認執行旗標601是否被設定,例如設定成”1”;若否,則處理單元20觸發重啟動電路50以重啟動該晶片系統;或者,在一實施例中,處理單元20可設定一錯誤旗標以通知主應用程式131。當處理單元20執行旗標清除程式194且確認執行旗標601已經被設定,例如設定成”1”,則處理單元20清除執行旗標601,例如設定成”0”。
當處理單元20執行主應用程式18時,處理單元20會執行第二安全檢查程式182以檢查系統時脈電路31、類比轉數位轉換電路32以及脈衝寬度調變(PWM)電路33,並執行旗標設定程式183以設定暫存器60之執行旗標601,例如設定成”1”。
藉此,在此實施例中,處理單元20執行第一安全檢查程式19時,可確認執行旗標601是否設定成1,以判斷第二安全檢查程式182是否被執行。在實際應用時,即使第一安全檢查程式19以及第二安全檢查程式182有被燒錄到記憶體中,但是記憶體經過長時間使用後仍會有損壞,而導致第二安全檢查程式182無法執行。所以需要上述機制來確保如果第二安全檢查程式182沒有被執行,則晶片系統能及時停止運行。
請參閱第4圖,其繪示本發明之自我檢測系統之一系統時脈電路進行檢測之示意圖。圖中,系統時脈電路31可產生至少二時脈訊號701與702。為了避免時脈訊號701與702的頻率改變(因為環境因素或是系統時脈電路損壞)造成晶片系統運作錯誤,本發明之自我檢測系統可定期檢查時脈訊號701與702的頻率是否維持在一定比例。在第4圖中,計數器70可接收時脈訊號701與702,並以較高頻率的時脈訊號作為計數參考訊號,例如,時脈訊號701為1Mhz,而時脈訊號702為48Mhz,則計數器70使用時脈訊號702作為計數參考訊號,對時脈訊號701進行計數。
由於時脈訊號701與702預設成一比例,所以用時脈訊號702對時脈訊號701進行計數可得到一計數值703,而比較單元71比較計數值703與預設計數值711,當計數值703與預設計數值711之間的差異大於一門檻值,處理單元20判斷時脈訊號701與702的頻率改變過大,便產生觸發訊號202至重啟動電路50,重新啟動晶片系統;或者,在一實施例中,處理單元20可設定一錯誤旗標以通知主應用程式131,以進行相對應的措施。
請參閱第5圖,其繪示本發明之自我檢測系統之一類比轉數位轉換電路進行檢測之示意圖。為了檢測類比轉數位轉換電路32的功能是否正常,自我檢測系統可包含兩個電阻R以及一開關82,用以分別輸入電壓到類比轉數位轉換器80,再由比較單元81比較類比轉數位轉換器80輸出的輸出數位值801~803與預設數位值811~813,以產生一輸出數位誤差值804。例如,兩個電阻R可串聯在5V以及接地之間,則兩電阻R之間的接點上電壓為2.5V,所以類比轉數位轉換器80輸出的輸出數位值801~803係分別對應5V、2.5V以及0V,預設數位值811~813也是分別對應5V、2.5V以及0V。當輸出數位值801~803與預設數位值811~813之間的差異大於一門檻值,則處理單元20判斷類比轉數位轉換電路32的功能錯誤,便產生觸發訊號202至重啟動電路50,重新啟動晶片系統。
請參閱第6圖,其繪示本發明之自我檢測系統之一脈衝寬度調變電路進行檢測之示意圖。脈衝寬度調變電路進行檢測時,取樣電路90產生預設的取樣訊號對晶片系統的脈衝寬度調變進行取樣,且每個取樣訊號會閂鎖一閂鎖時間91,以分別取得第一取樣值901、第二取樣值902、第三取樣值903以及第四取樣值904。處理單元20再判斷第一取樣值901、第二取樣值902、第三取樣值903以及第四取樣值904是否與預設圖樣相同。若不同,則處理單元20判斷脈衝寬度調變電路的功能錯誤,便產生觸發訊號202至重啟動電路50,重新啟動晶片系統。
請參閱第7圖,其繪示本發明之自我檢測方法之另一實施例之一步驟流程圖。自我檢測方法係適用於晶片系統,例如第3圖所示之晶片系統。此外,自我檢測方法可用第3圖所示之自我檢測系統來執行。圖中,自我檢測方法包含步驟S40至S49。在步驟S40,在一記憶體10中儲存一第一安全檢查程式19、一主應用程式18以及一預設核對和數據101,第一安全檢查程式19包含一電路檢查程式191、一監視電路重置程式192、一核對和檢查程式193以及旗標清除程式194。主應用程式13包含一中斷呼叫131,該預設核對和數據101係對應該第一安全檢查程式19。
在步驟S41,設置一監視電路40,當晶片系統上電後,啟動監視電路40開始計數。
在步驟S42,當該晶片系統上電後,執行該主應用程式13,並執行該中斷呼叫131以產生一中斷,以執行第一安全檢查程式19。在步驟S43,執行核對和檢查程式193以產生第一安全檢查程式19之核對和數據,並判斷所計算的核對和數據是否等於預設核對和數據101。當所計算的核對和數據不等於預設核對和數據101,則執行步驟S49,觸發重啟動電路50以重啟動晶片系統;在一實施例中,步驟S49可包含設定一錯誤旗標以通知主應用程式131。當所計算的核對和數據等於預設核對和數據101,則繼續執行後續步驟。
在步驟S44,執行監視電路重置程式112以重置監視電路40之一計數值401。在步驟S45,執行旗標清除程式194以確認執行旗標601是否被設定,,例如設定成”1”;若否,執行步驟S49,觸發重啟動電路50以重啟動晶片系統。當執行旗標清除程式194且確認執行旗標601已經被設定,例如設定成”1”,則清除執行旗標601,例如設定成”0”。
在步驟S46,執行電路檢查程式191以檢查至少一待檢查電路,例如系統時脈電路31、類比轉數位轉換電路32、或是脈衝寬度調變電路。當上述任一待檢查電路未通過檢查,則執行步驟S49,觸發重啟動電路50以重啟動晶片系統。當待檢查電路都通過檢查,則執行步驟47。
在步驟S47,執行第二安全檢查程式182以檢查至少一待檢查電路,例如系統時脈電路31、類比轉數位轉換電路32、或是脈衝寬度調變(PWM)電路。當上述任一待檢查電路未通過檢查,則執行步驟S49,觸發重啟動電路50以重啟動晶片系統;在一實施例中,步驟S49可包含設定一錯誤旗標以通知主應用程式131。當待檢查電路都通過檢查,則執行步驟48,執行旗標設定程式183,以設定執行旗標601,例如設定成”1”。
應注意的是,在步驟S46以及步驟S47中分別執行第一安全檢查程式19以及第二安全檢查程式182對待檢查電路進行檢查,如果待檢查電路包含多個電路,例如系統時脈電路31、類比轉數位轉換電路32、或是脈衝寬度調變(PWM)電路,或是檢查所需時間較長,則系統設計者可適當地把檢查程式分配到第一安全檢查程式19以及第二安全檢查程式182,本發明不限於如何分配。再者,如果一次完整檢查所需時間較長,為了必須晶片系統的正常運作,則系統設計者可把一次完整檢查分成多次的部分檢查,藉由多次執行第一安全檢查程式19以及第二安全檢查程式182進行多次的部分檢查,來完成一次完整檢查。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
10:記憶體101:預設核對和數據11:安全檢查程式111:電路檢查程式112:監視電路重置程式113:核對和檢查程式13:主應用程式131:中斷呼叫18:主應用程式181:中斷呼叫182:第二安全檢查程式183:旗標設定程式19:第一安全檢查程式191:電路檢查程式192:監視電路重置程式193:核對和檢查程式194:旗標清除程式20:處理單元201:計數值重置訊號202:觸發訊號30:待檢查電路31:系統時脈電路32:類比轉數位轉換電路33:脈衝寬度調變電路40:監視電路401:計數值402:觸發訊號50:重啟動電路60:暫存器601:執行旗標70:計數器701、702:時脈訊號703:計數值704:時脈誤差值71:比較單元711:預設計數值80:類比轉數位轉換器801、802、803:輸出數位值804:輸出數位誤差值81:比較單元811、812、813:預設數位值82:開關90:取樣電路901:第一取樣值902:第二取樣值903:第三取樣值904:第四取樣值91:閂鎖時間S10~S16、S40~S49:步驟
第1圖係繪示本發明之自我檢測系統之一實施例之一方塊圖。
第2圖係繪示本發明之自我檢測方法之一實施例之一步驟流程圖。
第3圖係繪示本發明之自我檢測系統之另一實施例之一方塊圖。
第4圖係繪示本發明之自我檢測系統之一系統時脈電路進行檢測之示意圖。
第5圖係繪示本發明之自我檢測系統之一類比轉數位轉換電路進行檢測之示意圖。
第6圖係繪示本發明之自我檢測系統之一脈衝寬度調變電路進行檢測之示意圖。
第7圖係繪示本發明之自我檢測方法之另一實施例之一步驟流程圖。
10:記憶體
101:預設核對和數據
11:安全檢查程式
111:電路檢查程式
112:監視電路重置程式
113:核對和檢查程式
13:主應用程式
131:中斷呼叫
20:處理單元
201:計數值重置訊號
202:觸發訊號
30:待檢查電路
40:監視電路
401:計數值
402:觸發訊號
50:重啟動電路

Claims (11)

  1. 一種自我檢測系統,適用於一晶片系統,該晶片系統包含至少一待檢查電路以及一重啟動電路,該自我檢測系統包含: 一記憶體,儲存一第一安全檢查程式、一主應用程式以及一預設核對和(checksum)數據,該第一安全檢查程式包含一電路檢查程式、一監視電路重置程式以及一核對和檢查程式,該主應用程式包含一中斷呼叫,該預設核對和數據係對應該第一安全檢查程式; 一監視電路,包含一計數值,其中該監視電路啟動後便開始累加該計數值,並於該計數值溢位(overflow)時觸發該重啟動電路以重啟動該晶片系統; 一處理單元,當該晶片系統上電後,該處理單元係執行該主應用程式,並執行該中斷呼叫以產生一中斷,藉此執行該第一安全檢查程式; 其中當該處理單元執行該第一安全檢查程式時,該處理單元係執行該電路檢查程式以檢查該至少一待檢查電路; 其中當該處理單元執行該第一安全檢查程式時,該處理單元係執行該監視電路重置程式,以重置該監視電路之該計數值; 其中當該處理單元執行該第一安全檢查程式時,該處理單元係執行該核對和檢查程式以計算該第一安全檢查程式之一核對和數據,當所計算的該核對和數據不等於該預設核對和數據,則該處理單元觸發該重啟動電路以重啟動該晶片系統或通知該主應用程式。
  2. 如申請專利範圍第1項所述之自我檢測系統,更包含具有一執行旗標的一暫存器,其中該第一安全檢查程式更包含一旗標清除程式,該主應用程式更包含一第二安全檢查程式以及一旗標設定程式,當該處理單元執行該主應用程式時,該處理單元係執行該第二安全檢查程式以檢查該至少一待檢查電路,並執行該旗標設定程式以設定該暫存器之該執行旗標,而當該處理單元執行該第一安全檢查程式時,該處理單元係執行該旗標清除程式,以檢查該執行旗標是否已經被設定。
  3. 如申請專利範圍第2項所述之自我檢測系統,其中當該處理單元執行該旗標清除程式且確認該執行旗標未被設定,則該處理單元觸發該重啟動電路以重啟動該晶片系統。
  4. 如申請專利範圍第2項所述之自我檢測系統,其中當該處理單元執行該旗標清除程式且確認該執行旗標已經被設定,則清除該執行旗標。
  5. 如申請專利範圍第2項所述之自我檢測系統,其中該記憶體區分為一預設保留區以及一應用程式區,該第一安全檢查程式係儲存在該預設保留區,而該主應用程式係儲存在該應用程式區。
  6. 如申請專利範圍第1項所述之自我檢測系統,其中該至少一待檢查電路包含一系統時脈電路,該自我檢測系統係檢查該系統時脈電路輸出的一時脈訊號是否準確。
  7. 如申請專利範圍第1項所述之自我檢測系統,其中至少一待檢查電路包含一類比轉數位轉換電路,該自我檢測系統係檢查該類比轉數位轉換電路的一輸出數位值是否準確。
  8. 如申請專利範圍第1項所述之自我檢測系統,其中至少一待檢查電路包含一脈衝寬度調變電路,該自我檢測系統係檢查該脈衝寬度調變電路輸出之一脈衝寬度調變訊號是否準確。
  9. 如申請專利範圍第1項所述之自我檢測系統,其中當至少一待檢查電路未通過檢查,則該處理單元觸發該重啟動電路以重啟動該晶片系統或通知該主應用程式。
  10. 一種自我檢測方法,適用於一晶片系統,該晶片系統包含至少一待檢查電路以及一重啟動電路,該自我檢測方法包含: 在一記憶體中儲存一第一安全檢查程式、一主應用程式以及一預設核對和(checksum)數據,其中該第一安全檢查程式包含一電路檢查程式、一監視電路重置程式以及一核對和檢查程式,該主應用程式包含一中斷呼叫,該預設核對和數據係對應該第一安全檢查程式; 設置一監視電路,當該晶片系統上電後,啟動該監視電路開始計數; 當該晶片系統上電後,執行該主應用程式,並執行該中斷呼叫以產生一中斷,藉此執行該第一安全檢查程式,以執行該電路檢查程式以檢查該至少一待檢查電路,並執行該監視電路重置程式以重置該監視電路之一計數值,並執行核對和檢查程式以產生該第一安全檢查程式之一核對和數據,且當所計算的該核對和數據不等於該預設核對和數據,觸發該重啟動電路以重啟動該晶片系統。
  11. 如申請專利範圍第10項所述之自我檢測方法,更包含: 提供具有一執行旗標的一暫存器,其中該第一安全檢查程式更包含一旗標清除程式,該主應用程式更包含一第二安全檢查程式以及一旗標設定程式,當該主應用程式執行時,該第二安全檢查程式係執行以檢查該至少一待檢查電路,並執行該旗標設定程式以設定該暫存器之該執行旗標,而當該第一安全檢查程式執行時,該旗標清除程式係執行以檢查該執行旗標是否已經被設定。
TW107135449A 2018-10-08 2018-10-08 自我檢測系統及其方法 TWI679529B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107135449A TWI679529B (zh) 2018-10-08 2018-10-08 自我檢測系統及其方法
CN201811473176.3A CN111008099B (zh) 2018-10-08 2018-12-04 自我检测系统及其方法
US16/375,097 US10890616B2 (en) 2018-10-08 2019-04-04 Self-check system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107135449A TWI679529B (zh) 2018-10-08 2018-10-08 自我檢測系統及其方法

Publications (2)

Publication Number Publication Date
TWI679529B TWI679529B (zh) 2019-12-11
TW202014892A true TW202014892A (zh) 2020-04-16

Family

ID=69582389

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107135449A TWI679529B (zh) 2018-10-08 2018-10-08 自我檢測系統及其方法

Country Status (3)

Country Link
US (1) US10890616B2 (zh)
CN (1) CN111008099B (zh)
TW (1) TWI679529B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996061A (zh) * 2022-05-10 2022-09-02 厦门荣汇源科技有限公司 处理器及其自检方法、系统、存储器及智能点灯单元
TWI819957B (zh) * 2023-02-02 2023-10-21 新唐科技股份有限公司 上電初始化自我檢查裝置與方法以及使用其之電子設備

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028545A (en) * 1997-12-23 2000-02-22 Industrial Technology Research Institute Muti-bit successive-approximation analog-to-digital converter with improved conversion speed
TW381373B (en) * 1997-12-31 2000-02-01 Ind Tech Res Inst Virtual two-phase current mode analog-digital converter
US6445329B1 (en) * 2000-10-17 2002-09-03 Ati International Srl High speed analog to digital converter
TWI266065B (en) * 2005-05-18 2006-11-11 Via Tech Inc Chip capable of testing itself and testing method thereof
US7761764B2 (en) * 2007-01-12 2010-07-20 Samsung Electronics Co., Ltd. System and method for self-test of integrated circuits
TWI339843B (en) * 2007-05-16 2011-04-01 Inventec Corp Method for controlling clock of memory slots
TW201015296A (en) * 2008-10-09 2010-04-16 Inventec Corp Method for auto-testing environment variable setting
CN102053888A (zh) * 2009-10-27 2011-05-11 英业达股份有限公司 运算装置的自我检测方法与系统
TWI459294B (zh) * 2011-03-18 2014-11-01 Phoenix Tech Ltd Bios程式的更新方法與其電腦系統
TWI441081B (zh) * 2011-11-04 2014-06-11 Asrock Inc 更新韌體方法與開機方法及使用其之電子裝置
EP2843429B1 (en) * 2013-09-03 2016-11-23 Telefonaktiebolaget LM Ericsson (publ) Enabling secured debug of an integrated circuit
TWI599876B (zh) * 2014-10-09 2017-09-21 緯創資通股份有限公司 開機自我測試中的除錯方法以及使用該方法的裝置
US10223531B2 (en) * 2016-12-30 2019-03-05 Google Llc Secure device state apparatus and method and lifecycle management

Also Published As

Publication number Publication date
CN111008099A (zh) 2020-04-14
US20200110130A1 (en) 2020-04-09
TWI679529B (zh) 2019-12-11
CN111008099B (zh) 2023-03-10
US10890616B2 (en) 2021-01-12

Similar Documents

Publication Publication Date Title
EP3627323B1 (en) Automatic diagnostic mode
TWI522838B (zh) 組配系統之技術
US7900036B2 (en) System and method for implementing boot/recovery on a data processing sysem
US20040158702A1 (en) Redundancy architecture of computer system using a plurality of BIOS programs
WO2016206514A1 (zh) 启动处理方法及装置
TW202014892A (zh) 自我檢測系統及其方法
TW202030602A (zh) 基本輸入/輸出系統的恢復及更新的方法及系統
US8726088B2 (en) Method for processing booting errors
US10824517B2 (en) Backup and recovery of configuration files in management device
WO2015184732A1 (zh) 引导程序的存储方法、故障恢复方法及设备、计算机存储介质
CN115495275B (zh) 一种存储系统及其控制方法
US8751875B2 (en) Method for checking suitability of a data processing device for performing failsafe automation processes
CN114996061A (zh) 处理器及其自检方法、系统、存储器及智能点灯单元
CN107273291B (zh) 一种处理器调试方法及系统
JP2016126692A (ja) 電子制御装置
TWI715201B (zh) 開機錯誤資訊記錄方法
JPS6043536B2 (ja) マイクロコンピユ−タの誤動作防止装置
JP6217086B2 (ja) 情報処理装置、エラー検出機能診断方法およびコンピュータプログラム
US20220206823A1 (en) Information processing method and electronic apparatus
US9971659B1 (en) Memory programming providing corruption protection
TWI733213B (zh) 伺服器裝置
TWI726434B (zh) 排除管理引擎運作異常的控制方法
WO2019056192A1 (zh) 上电复位时间的测量方法及系统
CN111078458A (zh) 一种电子控制单元及其软件兼容性检测方法、装置和汽车
JP6318875B2 (ja) 障害情報取得方法および情報処理装置