專利名稱:周期錯誤檢測方法以及周期錯誤檢測電路的制作方法
技術領域:
本發明的實施方式涉及周期錯誤檢測方法以及周期錯誤檢測電路。
背景技術:
以往,在通過處理器的控制執行周期處理的半導體裝置中,周期性地產生周期觸發的周邊電路接受來自于處理器的起動指令而起動,子處理器等模塊接受從該周邊電路輸出的周期觸發而開始執行預定的處理。此時,各模塊在其內部計測處理時間,在其處理在預定周期內完成了時,向處理器輸出完成通知。另一方面,在處理沒有在預定周期內結束時,向處理器通知表示處理時間超時的信息即“發生周期錯誤”。在被通知了發生周期錯誤的情況下,處理器進行異常處理。這樣,以往通過以模塊為單位的處理來檢測周期錯誤。但是,此時沒有考慮到周期電路的起動和/或完成通知所需要的時間、與處理器處理相關的開銷(overhead)等。因此,即使從各模塊輸出表示正常處理的完成通知,也會發生作為裝置整體的處理、周期處理不及時這樣的情況。在該情況下,處理器不進行異常處理,所以有可能出現如下問題:在裝置整體的處理上引起重大的故障。
發明內容
根據本實施例,一種周期錯誤檢測方法,對模塊的周期處理錯誤進行檢測,該模塊由處理器控制執行,該處理器起動按預定周期輸出周期觸發的周邊電路以控制周期處理,該周期錯誤檢測方法的特征在于,包括:將以所述周期觸發作為第一捕獲觸發從處于捕獲計時器(timer)中的通過自由運行而進行向上計數工作的計數器所取得的計數值,作為第一計數值保存于所述寄存器的步驟;將在所述模塊的處理開始時施加第二捕獲觸發而從所述計數器所取得的計數值,作為第二計數值保存于捕獲計時器中的寄存器的步驟;將在所述模塊的處理結束時施加第三捕獲觸發而從所述計數器所取得的計數值,作為第三計數值保存于所述寄存器的步驟;所述處理器當接受來自于所述模塊的完成通知時,從所述寄存器讀出所述第一、第二、第三計數值的步驟;基于所述第一、第二、第三計數值計算出所述模塊的處理時間的步驟;和與所述預定周期進行比較以判定周期處理錯誤有無發生的步驟。根據其他的實施例,一種周期錯誤檢測電路,其特征在于,具備:周邊電路,其按預定周期輸出周期觸發;處理器,其起動所述周邊電路而控制周期處理;模塊,其由所述處理器控制執行;捕獲計時器,該捕獲計時器具備:通過自由運行而進行向上計數工作的計數器和寄存器,該寄存器將以所述周期觸發作為第一捕獲觸發而從所述計數器所取得的計數值作為第一計數值保存,將通過在所述模塊的處理開始時輸出的第二捕獲觸發而從所述計數器所取得的計數值作為第二計數值保存,將通過在所述模塊的處理結束時輸出的第三捕獲觸發而從所述計數器所取得的計數值作為第三計數值保存;和判定電路,其基于保存于所述寄存器的所述第一、第二、第三計數值計算出所述模塊的處理時間,與所述預定周期進行比較以判定周期處理錯誤有無發生,與來自于所述處理器的要求相應地將所述判定結果向所述處理器發送。
圖1是表示執行第一實施方式的周期錯誤檢測方法的處理器控制系統的構成的例子的框圖。圖2是表示圖1的系統的工作順序的例子的圖。圖3是表示周期錯誤檢測處理的流程的例子的圖。圖4是表示周期錯誤檢測程序的例子的圖。圖5是表示執行第一實施方式的周期錯誤檢測方法的馬達控制系統的構成的例子的圖。圖6是表示圖5的系統的工作順序的例子的圖。圖7是表示具備第二實施方式的周期錯誤檢測電路的馬達控制系統的構成的例子的框圖。圖8是表示第二實施方式的周期錯誤檢測電路的判定電路的內部構成的例子的電路圖。
具體實施例方式下面,關于本實施方式參照附圖進行說明。另外,圖中對相同或相當部分標注相同的符號,不重復對其的說明。(第一實施方式)圖1是表示執行第一實施方式的周期錯誤檢測方法的處理器控制系統的構成的例子的框圖。該系統具有對周期處理進行控制的處理器100、通過處理器100而被起動并以預定周期輸出周期觸發的周邊電路110和由處理器100來控制處理的執行的模塊120,在本實施方式中,具備捕獲計時器I。捕獲計時器I具有通過自由運行而進行向上計數工作的計數器11和寄存器12。接下來,使用圖2所示的例子來說明該系統的工作順序。周邊電路110接受來自于處理器100的起動(起動I),按預定的控制周期Tperiod間隔而輸出周期觸發。另外,周邊電路110將該周期觸發作為向捕獲計時器I供給的捕獲觸發CTG1,從計數器11定期地取得計數值cntl。所取得的計數值cntl被保存于寄存器12。之后,處理器100起動模塊120 (起動2)。模塊120接受該起動而開始進行處理。此時,模塊120向捕獲計時器I施加捕獲觸發CTG2,從計數器11取得計數值cnt2。所取得的計數值cnt2被保存于寄存器12。模塊120進行處理,當處理結束時,向捕獲計時器I施加捕獲觸發CTG3,從計數器11取得計數值cnt3。所取得的計數值cnt3被保存于寄存器12。另外,模塊120,當處理完成時,向處理器100輸出“完成通知”。處理器100,當接受該完成通知時,從寄存器12讀出計數值數據cntl、cnt2、cnt3,基于該值計算出模塊120的處理時間,將該處理時間與控制周期Tperiod進行比較,判定周期處理錯誤有無發生。在圖3中示出該周期處理錯誤有無發生的判定的具體的處理流程。當接受來自于模塊120的完成通知時,處理器100從寄存器12讀出計數值數據cntl、cnt2、cnt3 (步驟 SOI)。接著,處理器100求出Tl = cnt2_cntl、T2 = cnt3_cnt2,并計算出它們的合計(T1+T2)作為模塊120的處理時間(步驟S02)。這里,時間Tl表示從進行模塊120的處理的周期的起始點的周期邊緣到模塊120的起動(起動2)為止的時間,時間T2表示從模塊120的起動到模塊120的處理結束為止的時間。因此,處理時間(T1+T2)成為從模塊120開始進行處理的周期的起始點的周期邊緣到模塊120的處理結束為止的時間。接著,處理器100將處理時間(T1+T2)與控制周期Tperiod進行比較,判定處理時間(T1+T2)是否小于等于控制周期Tperiod (步驟S03)。此時,處理器100,如果處理時間(T1+T2)小于等于控制周期Tperiod(是),則判定為無周期處理錯誤(良好(OK));如果處理時間(T1+T2)不小于等于控制周期Tperiod(否),則判定為有周期處理錯誤(不良(NG))。圖4是進行該周期處理錯誤有無發生的判定的周期錯誤檢測程序PRGMl的記述例。在從周邊電路110輸出的周期觸發與捕獲計時器I的計數器11的計數開始不同步的情況下,在該周期錯誤檢測程序PRGMl中,要考慮在模塊120的處理中在計數器11的計數值方面發生溢出的情況,如果符合圖4中的條件式(I) (3)中的任一式,則做出“0K”判定。如例子I所示,條件式(I)是假定了在模塊120的處理中在計數器11中沒有發生溢出的情況的判定基準。如例子2所示,條件式⑵是假定了在cntl的取得和cnt2的取得之間、在計數器11中發生了溢出的情況的判定基準。當發生溢出時捕獲計時器I的計數值返回到0,在cntl和cnt2之間發生計數值的逆轉。因此,在條件式(2)中,對cnt2加上溢出值ovfl而計算出Tl。這里,溢出值ovfl是對計數器11的滿計數值full加上I后的值(ovfl =full+1)。如例子3所示,條件式⑶是假定在cnt2的取得和cnt3的取得之間、在計數器11中發生了溢出的情況的判定基準。該情況下,在cnt2和cnt3之間發生計數值的逆轉。因此,在條件式(3)中,對cnt3加上溢出值ovfl而計算出T2。在圖5中作為執行第一實施方式的周期錯誤檢測方法的其他系統的例子、示出馬達控制系統的構成的例子。圖5所示的馬達控制系統具有:對周期處理進行控制的CPU200、由CPU200起動并按預定周期輸出周期觸發的馬達控制電路即PMD(Programmable Motor Driver,可編程馬達驅動器)210、由CPU200控制執行的矢量引擎(vector engine) 220o另外,該馬達控制系統也具有捕獲計時器I。PMD210輸出成為馬達驅動信號的基準的載波信號,并且以基于該載波信號的周期的周期輸出周期觸發。矢量引擎220是自動地執行通過馬達的矢量控制來執行的基本的處理(坐標軸變換、相變換、SIN/C0S運算)和/或在電流控制中使用的PI控制的專用硬件。接著,使用圖6所示的例子對該馬達控制系統的工作順序進行說明。CPU200,在執行主例程時起動PMD210 (起動I)。PMD210接受該起動,開始進行載波信號的輸出,并且按預定控制周期Tperiod間隔輸出周期觸發。另外,PMD210將該周期觸發作為向捕獲計時器I施加的捕獲觸發CTG1,從計數器11定期地取得計數值cntl。所取得的計數值cntl被保存于寄存器12。之后,PMD210在某一周期觸發的輸出時,對PMD210施加中斷(中斷I)。與該中斷相應地,CPU200使中斷例程I起動。 該中斷例程I,在其執行中起動矢量弓丨擎220 (起動2)。矢量引擎220接受該起動,開始進行處理。此時,矢量引擎220向捕獲計時器I施加捕獲觸發CTG2,從計數器11取得計數值cnt2。所取得的計數值cnt2被保存于寄存器12。矢量引擎220進行處理,當處理結束時,再次向捕獲計時器I施加捕獲觸發CTG3,從計數器11取得計數值cnt3。所取得的計數值cnt3被保存于寄存器12。另外,矢量引擎220,當處理完成時,對CPU220施加中斷(中斷2)。該中斷成為對于CPU200的“完成通知”。CPU200與該中斷相應地使中斷例程2起動,并且從寄存器12讀出計數值數據cntl、cnt2、cnt3。CPU200基于該讀出的計數值數據cntl、cnt2、cnt3計算出矢量引擎220的處理時間,將該處理時間與控制周期Tperiod進行比較以判定周期處理錯誤有無發生。判定該周期處理錯誤有無發生的處理的執行,與先前說明了的處理器控制系統的情況相同,所以在此省略對其的說明。根據這樣的本實施方式,首先,在來自周邊電路的周期觸發的輸出時、模塊處理的開始時以及模塊處理的結束時,對捕獲計時器施加捕獲觸發,將取得的計數值保存于寄存器。接著,在從模塊接受了完成通知時,處理器對寄存器進行讀出,根據所保存的計數值計算出模塊的處理時間,判定周期處理錯誤有無發生。由此,模塊處理時間的計算反映了周邊電路的起動以及完成通知所需要的時間、與處理器處理相關的開銷等,能夠可靠地檢測周期處理的處理時間超時。其結果,能夠防止裝置整體的處理方面發生重大的故障。(第二實施方式)在第一實施方式中,示出了用軟件來判定周期錯誤有無發生的例子。在第二實施方式中,示出設置有判定電路、用硬件來判定周期錯誤有無發生的例子。圖7是表示具備本實施方式的周期錯誤檢測電路的馬達控制系統的構成的例子的框圖。圖7所示的馬達控制系統是對圖5所示的構成追加了判定電路2而成的構成。即,本實施方式的周期錯誤檢測電路具備捕獲計時器I以及判定電路2。捕獲計時器I的工作與第一實施方式相同,所以在此省略對其的說明。判定電路2讀出保存于寄存器12的計數值數據cntl、cnt2、cnt3,基于這些值計算出矢量引擎220的處理時間,將該處理時間與控制周期Tperiod進行比較來判定周期處理錯誤有無發生。在本實施方式中,CPU200,當從矢量引擎220通過中斷要求(中斷2)而被發送完成通知時,則要求判定電路2發送判定結果。判定電路2接受該要求,向CPU200發送與周期處理錯誤有無發生相關的判定結果O由此,CPU200能夠檢測矢量引擎220發生周期處理錯誤。圖8是表示判定電路2的內部構成的例子的電路圖。該電路是進行與圖4所示的周期錯誤檢測程序PRGMl的條件式(I) (3)相對應的運算的電路。判定電路2具有判定部21、22、23,各判定部至少具有2個減法器、I個加法器以及I個比較器。S卩,在判定部21中減法器SUB11、12以及加法器ADDll執行與條件式(I)相對應的運算O彡(cnt2-cntl) + (cnt3-cnt2)彡Tperiod,在判定部22中減法器SUB21、22以及加法器ADD21執行與條件式(2)相對應的運算OS (cnt2+ovfl-cntl) + (cnt3_cnt2) ^ Tperiod,在判定部23中減法器SUB31、32以及加法器ADD31執行與條件式(3)相對應的運算O ^ (cnt2-cntl) + (cnt3+ovfl-cnt2) < Tperiod。在各個條件都滿足時,從比較器CMPl CMP3輸出“ 1”,在不滿足條件時輸出“O”。因此,從被輸入比較器CMPI CMP3的輸出的NOR門(或非門)NRl輸出的判定結果,在輸出為“O”時為“無周期處理錯誤(OK) ”;在輸出為“I”時為“有周期處理錯誤(NG) ”。此外,在本實施方式中,示出了在馬達控制系統設置有判定電路2的例子,但當然也可以在圖1所示的處理器控制系統設置判定電路2。根據這樣的本實施方式,用硬件來判定矢量引擎等模塊有無發生周期處理錯誤,所以與用軟件來判定相比,能夠高速地執行判定處理。由此,能夠更加迅速地執行周期處理發生了錯誤的情況下的處置(處理)。根據以上說明了的至少I個實施方式的周期錯誤檢測方法以及周期錯誤檢測電路,能夠可靠地檢測周期處理的處理時間超時。另外,說明了本發明的幾個實施方式,但 這些實施方式是作為例子而提出的,并非用于限定發明的范圍。這些新的實施方式能夠以其他的各種各樣的方式來實施,能夠在不脫離發明要旨的范圍內進行各種省略、置換、變更。這些實施方式和/或其變形包含于發明的范圍和/或要旨,并且包含于技術方案中記載的發明及其等同的范圍中。
權利要求
1.一種周期錯誤檢測方法,其對模塊的周期處理錯誤進行檢測,該模塊的處理的執行由處理器控制,該處理器起動按預定周期輸出周期觸發的周邊電路以控制周期處理,該周期錯誤檢測方法的特征在于,包括: 將以所述周期觸發作為第一捕獲觸發、從處于捕獲計時器中的通過自由運行而進行向上計數工作的計數器所取得的第一計數值,保存于所述捕獲計時器中的寄存器的步驟;將在所述模塊的處理開始時通過對所述捕獲計時器施加第二捕獲觸發而從所述計數器所取得的第二計數值,保存于捕獲計時器中的寄存器的步驟; 將在所述模塊的處理結束時通過對所述捕獲計時器施加第三捕獲觸發而從所述計數器所取得的第三計數值,保存于所述寄存器的步驟; 所述處理器,當接受來自于所述模塊的完成通知時,從所述寄存器讀出所述第一、第二、第三計數值的步驟; 基于所述第一、第二、第三計數值計算出所述模塊的處理時間的步驟;和 與所述預定周期進行比較以判定周期處理錯誤有無發生的步驟。
2.根據權利要求1所述的周期錯誤檢測方法,其特征在于, 所述判定周期處理錯誤有無發生的步驟中,作為所述處理時間,計算出對于從所述第二計數值減去所述第一計數值后的值加上從所述第三計數值減去所述第二計數值后的值所得的相加值,將所述相加值與所述預定周期相比較以判定所述周期處理錯誤有無發生。
3.根據權利要求2所述的 周期錯誤檢測方法,其特征在于, 所述判定周期處理錯誤有無發生的步驟中,所述處理器執行周期錯誤檢測程序以判定所述周期處理錯誤有無發生。
4.根據權利要求2所述的周期錯誤檢測方法,其特征在于, 所述判定周期處理錯誤有無發生的步驟在連接于所述處理器和所述捕獲計時器之間的判定部進行。
5.根據權利要求1所述的周期錯誤檢測方法,其特征在于, 所述周邊電路為對馬達驅動進行控制的馬達控制電路,所述模塊為對與馬達的矢量控制相關的運算進行處理的矢量引擎。
6.根據權利要求5所述的周期錯誤檢測方法,其特征在于, 所述馬達控制電路,在所述周期觸發的輸出時對所述處理器施加中斷,所述處理器與所述中斷相應地起動所述矢量弓I擎,所述矢量弓I擎在處理結束后對所述處理器施加中斷。
7.一種周期錯誤檢測電路,其特征在于,具備: 周邊電路,其按預定周期輸出周期觸發; 處理器,其起動所述周邊電路而控制周期處理; 模塊,其由所述處理器控制執行; 捕獲計時器,其具有:通過自由運行而進行向上計數工作的計數器和寄存器,該寄存器將以所述周期觸發作為第一捕獲觸發而從所述計數器所取得的計數值作為第一計數值保存、將通過在所述模塊的處理開始時輸出的第二捕獲觸發而從所述計數器所取得的計數值作為第二計數值保存、將通過在所述模塊的處理結束時輸出的第三捕獲觸發而從所述計數器所取得的計數值作為第三計數值保存;和 判定電路,其基于保存于所述寄存器的所述第一、第二、第三計數值計算出所述模塊的處理時間,與所述預定周期進行比較以判定周期處理錯誤有無發生,與來自于所述處理器的要求相應地將所述判定結果向所述處理器發送。
8.根據權利要求7所述的周期錯誤檢測電路,其特征在于, 所述判定電路具備:從所述第二計數值減去所述第一計數值的第一減法器;從所述第三計數值減去所述第二計數值的第二減法器;將所述第一減法器的輸出與所述第二減法器的輸出相加的加法器;和將所述加法器的輸出與所述預定周期進行比較的比較器。
9.根據權利要求7所述的周期錯誤檢測電路,其特征在于, 所述模塊為對與馬達的矢量控制相關的運算進行處理的矢量引擎,所述周邊電路為對馬達驅動進行控制的馬達控制電路。
10.根據權利要求9所述的周期錯誤檢測電路,其特征在于, 所述馬達控制電路在所述周期觸發的輸出時對所述處理器施加中斷,所述處理器與所述中斷相應地起動所述矢量弓I擎,所述矢量弓I擎在處理結束后,對所述處理器施加中斷。
11.一種周期錯誤檢測電路,其特征在于,具備: 周邊電路,其按預定周期輸出周期觸發; 處理器,其起動所述周邊電路而控制周期處理,執行周期錯誤檢測程序以判定所述周期處理錯誤有無發生; 模塊,其由所述處理器控制執行;和 捕獲計時器,其具有:通過自由運行而進行向上計數工作的計數器和寄存器,該寄存器將以所述周期觸發作為第一捕獲觸發而從所述計數器所取得的計數值作為第一計數值保存、將通過在所述模塊的處理開始時輸出的第二捕獲觸發而從所述計數器所取得的計數值作為第二計數值保存、將通過在所述模塊的處理結束時輸出的第三捕獲觸發而從所述計數器所取得的計數值作為第三計數值保存。
12.根據權利要求11所述的周期錯誤檢測電路,其特征在于, 所述周期錯誤檢測程序具有如下功能:計算出將從所述第二計數值減去所述第一計數值后的值和從所述第三計數值減去所述第二計數值后的值相加所得的相加值,將所述相加值與所述預定周期進行比較以判定所述周期處理錯誤有無發生。
13.根據權利要求11所述的周期錯誤檢測電路,其特征在于, 所述模塊為對與馬達的矢量控制相關的運算進行處理的矢量引擎,所述周邊電路為對馬達驅動進行控制的馬達控制電路。
14.根據權利要求13所述的周期錯誤檢測電路,其特征在于, 所述馬達控制電路在所 述周期觸發的輸出時對所述處理器施加中斷,所述處理器與所述中斷相應地起動所述矢量弓I擎,所述矢量弓I擎在處理結束后,對所述處理器施加中斷。
全文摘要
本發明提供周期錯誤檢測方法及周期錯誤檢測電路。檢測模塊的周期處理錯誤,模塊由處理器控制執行,處理器起動按預定周期輸出周期觸發的周邊電路以控制周期處理,該方法包括以下步驟將以周期觸發作為第一捕獲觸發從處于捕獲計時器中的通過自由運行進行向上計數工作的計數器取得的計數值作為第一計數值保存于寄存器;將在模塊的處理開始時施加第二捕獲觸發而從計數器取得的計數值作為第二計數值保存于捕獲計時器中的寄存器;將在模塊的處理結束時施加第三捕獲觸發而從計數器取得的計數值作為第三計數值保存于寄存器;處理器接受來自模塊的完成通知時,從寄存器讀出第一、第二、第三計數值;基于第一、第二、第三計數值計算模塊的處理時間;和與預定周期比較以判定周期處理錯誤有無發生。
文檔編號G06F11/267GK103092734SQ20121006656
公開日2013年5月8日 申請日期2012年3月14日 優先權日2011年10月28日
發明者寺山朋之 申請人:株式會社 東芝