JP2009289119A - ウォッチドッグ・タイマ及びマイクロコンピュータ - Google Patents
ウォッチドッグ・タイマ及びマイクロコンピュータ Download PDFInfo
- Publication number
- JP2009289119A JP2009289119A JP2008142359A JP2008142359A JP2009289119A JP 2009289119 A JP2009289119 A JP 2009289119A JP 2008142359 A JP2008142359 A JP 2008142359A JP 2008142359 A JP2008142359 A JP 2008142359A JP 2009289119 A JP2009289119 A JP 2009289119A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- comparison
- register
- counter
- comparison value
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
【課題】プログラムの実行順序に異常が発生したことを検出する機能を備えるウォッチドック・タイマを提供する。
【解決手段】ウォッチドック・タイマは、カウンタ1と、カウンタ1をクリアするタイミングで第一比較値(マジック・ワード)が書き込まれるクリアレジスタ7と、クリアレジスタ7への書き込みより前のタイミングで第一比較値と比較する第二比較値(設定比較値)が書き込まれる比較レジスタ8と、第一比較値と第二比較値を比較し、一致した場合に、カウンタをクリアする一致信号14を出力し、一致しない場合に、不一致信号15を出力する比較器9と、不一致信号が出力された場合に、不一致信号に基づいて、異常発生信号を出力する異常検出部(論理和回路9)と、を備える。
【選択図】図1
【解決手段】ウォッチドック・タイマは、カウンタ1と、カウンタ1をクリアするタイミングで第一比較値(マジック・ワード)が書き込まれるクリアレジスタ7と、クリアレジスタ7への書き込みより前のタイミングで第一比較値と比較する第二比較値(設定比較値)が書き込まれる比較レジスタ8と、第一比較値と第二比較値を比較し、一致した場合に、カウンタをクリアする一致信号14を出力し、一致しない場合に、不一致信号15を出力する比較器9と、不一致信号が出力された場合に、不一致信号に基づいて、異常発生信号を出力する異常検出部(論理和回路9)と、を備える。
【選択図】図1
Description
本発明は、マイクロコンピュータに関し、特にプログラムの暴走を検出するウォッチドッグ・タイマに関する。
マイクロコンピュータは集積回路技術の進展に伴い、CPU(central processing unit)は高速化し、より多くのメモリを集積することで、より複雑な応用が可能になってきている。複雑な応用に対応するためにプログラムはより大きく、より複雑化してきている。これに伴い、プログラムの評価がより難しく、全ての状態の検証は困難になってきている。そのため、フェール・セーフ機能のひとつとして、ウォッチドッグ・タイマ機能がマイクロコンピュータに内蔵されている。ウォッチドッグ・タイマは、定期的にクリアできなくなった場合にプログラムが暴走したことを検出する。
図6は、マイクロコンピュータに搭載されるウォッチドック・タイマの構成例を示すブロック図である。図6に示される、マイクロコンピュータ(以下、適宜「マイコン」という)のウォッチドッグ・タイマは、カウンタ61、セレクタ62、論理和回路64、クリアレジスタ67、及び制御回路69から構成されている。クリアレジスタ67は、クリアレジスタ67への書き込みを指示する書込み信号76に基づいて、カウンタ61をクリアするために予め決められたデータが書き込まれる。制御回路69は、書込み信号76によってクリアレジスタ67への書き込まれたデータが、予め決められたデータと等しいか照合する。照合した結果、ウィンドウ信号74が有効期間で一致検出した場合、カウンタ61をクリアする一致検出信号75を出力し、一致検出しない場合やウィンドウ信号74が有効でない期間で一致検出した場合、異常検出信号73を出力する。セレクタ62は、カウンタ61からの複数のタイミングからオーバフローしたことを示すオーバフロー信号71と、クリアレジスタ67への書き込みが可能なことを示すウィンドウ信号74とを出力する。論理和回路64は、セレクタ62からのオーバフロー信号71または制御回路69からの異常検出信号73を受けて、CPUに対してリセット信号又は割り込み信号72を出力する。
このウォッチドッグ・タイマはカウンタ61がオーバフローする時間は、セレクタ62により予め選択可能である。セレクタ62で選択されたオーバフロー時間が経過する前に、内部バスから書込み信号76に同期してクリアレジスタ67に予め決められたデータを定期的に書き込むことによって、カウンタ61をクリアしてオーバフローを発生させないようにして使用する。プログラムの暴走によりカウンタ61のクリアができなかった場合にはセレクタ62で選択されたオーバフロー時間経過後に、オーバフロー信号71を発生させ、CPUに対してリセット信号又は割り込み信号72を出力する。これによって、マイクロコンピュータは、プログラムの暴走を検出する。
また、ウォッチドッグ・タイマは、プログラムの異常動作により間違えてカウンタ61がクリアされないように、クリアレジスタ67に書き込むデータを比較している。予め決められたデータ以外が書き込まれた場合には異常検出信号73によりCPUに対してリセット信号又は割り込み信号72を出力する。これによって、マイクロコンピュータは、プログラムの異常を検出する。また、カウンタ61を短い間隔でクリアするような動作が行われたことを検出できるように、ウォッチドッグ・タイマは、クリアレジスタ67への書き込みの許可タイミングを指定するウィンドウ信号74を準備している。
特許文献1には、プログラムの暴走を検出するマイクロコンピュータが開示されている。特許文献1に開示されているマイクロコンピュータの構成を図7に示す。図7に示される、マイクロコンピュータは、クリア命令の実行によるクリアパルス93によりクリアされるインターバルタイマ81、クリア命令の実行によりトグル動作を行いキャプチャ信号96かキャプチャ信号98を発生するトグルF/F82、プログラムカウンタ85の値をキャプチャ信号96によりキャプチャする第一キャプチャレジスタ86、キャプチャ信号98によりキャプチャする第二キャプチャレジスタ88、第一キャプチャレジスタ86の値と第二キャプチャレジスタ88の値を比較して一致したら一致検出パルス97を出力する比較回路87、インターバルタイマ1からのオーバフロー92または比較回路87からの一致検出パルス97によりCPUに対してリセット信号又は割り込み信号95を出力する論理和回路84から構成されている。
このマイクロコンピュータはプログラムカウンタ85の値を2つのキャプチャレジスタに交互にキャプチャしてその値を比較することによって、インターバルタイマ81のクリアが前回のクリアと同じアドレスで発生したかを検出できる。これにより、プログラムがウォッチドッグ・タイマのクリアを行うような部分でループしてしまうようなプログラムの暴走を検出している。
図6に示すウォッチドック・タイマあるいは図7に示すマイクロコンピュータでは、処理フロー(プログラムの実行順序)のどこでクリアを行っても、どの処理でクリアされたかを識別することはできなかった。例えば、図4に示した処理フローに基づいて、処理B52でクリアして、処理C53に分岐し、処理C53でクリアする処理フローを実行する場合を正常動作とする。このような処理フローで不具合が発生し、処理B52から処理F56に分岐してしまい、処理F56でクリアしたとする。このような場合でも、図6のウォッチドッグ・タイマあるいは図7のマイクロコンピュータのクリア条件は同じであるため、異常な処理フローになったことが検出できなかった。
具体的には、図7のマイクロコンピュータでは、どこでクリアされたかを確認するため、同じアドレス(アドレスの命令)でクリアされた場合を検知している。このため、処理フローの処理の順番に異常が発生した場合でも、誤って実行されている処理が異なるアドレスを用いてクリアされている場合には、処理フローの異常を検出することができなかった。
このように、図7に示す従来技術では、処理フローに注目しているものの、単に同じアドレスの命令でのクリアが連続した場合を検出できることにとどまっていた。
また、図6に示すウォッチドック・タイマは、ウォッチドッグ・タイマをクリアするタイミングに制限をつけることで異常なクリアを検出するものである。プログラムのどこでウォッチドッグ・タイマをクリアしても構わなかった。また、どの処理でクリアされているかを認識する機能を備えていなかった。即ち、オーバフローまでの時間の設定を変更することはできるものの、どのプログラムでクリアが実行されたかを監視することはできなかった。
特開平5−100876号公報
プログラムが大きく、複雑化することにともなって、単にプログラムの暴走を検出するのみでは十分なフェール・セーフ機能と言えないという問題があった。例えば、プログラムの実行順序に異常が発生したことを検出する機能を備えることが要望されていた。
本発明に係るウォッチドック・タイマの一態様は、カウンタと、前記カウンタをクリアするタイミングで第一比較値が書き込まれるクリアレジスタと、前記クリアレジスタへの書き込みより前のタイミングで前記第一比較値と比較する第二比較値が書き込まれる比較レジスタと、
前記第一比較値と前記第二比較値を比較し、一致した場合に、カウンタをクリアする一致信号を出力し、一致しない場合に、不一致信号を出力する比較部と、前記不一致信号が出力された場合に、前記不一致信号に基づいて、異常発生信号を出力する異常検出部と、を備える。比較レジスタを備え、比較レジスタの値とクリアレジスタの値とを比較してカウンタをクリアすることにより、外部からカウンタをクリアするための値を設定し、設定した値を用いてカウンタをクリアすることができる。カウンタをクリアするための値に処理を識別する値を用いることによって、処理フローの異常を検出することができる。
前記第一比較値と前記第二比較値を比較し、一致した場合に、カウンタをクリアする一致信号を出力し、一致しない場合に、不一致信号を出力する比較部と、前記不一致信号が出力された場合に、前記不一致信号に基づいて、異常発生信号を出力する異常検出部と、を備える。比較レジスタを備え、比較レジスタの値とクリアレジスタの値とを比較してカウンタをクリアすることにより、外部からカウンタをクリアするための値を設定し、設定した値を用いてカウンタをクリアすることができる。カウンタをクリアするための値に処理を識別する値を用いることによって、処理フローの異常を検出することができる。
また、本発明に係るマイクロコンピュータの一態様は、上述したウォッチドック・タイマを備える。
本発明によれば、プログラムの実行順序に異常が発生したことを検出することが可能となる。
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
(実施形態1)
図1は、本発明の実施形態1に係るウォッチドック・タイマの構成例を示すブロック図である。図1に示すように、ウォッチドッグ・タイマは、カウンタ1、セレクタ2、論理和回路(異常検出部)4、クリアレジスタ7、比較レジスタ8、比較器(比較部)9、及び書き換え制御回路(書き換え制御部)10を備える。比較レジスタ8を備えることにより、ウォッチドッグ・タイマをクリアするためのデータを外部から変更できるようし、プログラムの処理フローに応じて、次にウォッチドック・タイマをクリアできる条件を変更する。また、本実施形態では、さらに書き換え制御回路10を設置し、ウォッチドック・タイマをクリアできる条件の変更を制限してより安全にする一態様を説明する。これにより異常な処理フローが発生したことを検出する。以下に、各構成要素について説明する。
図1は、本発明の実施形態1に係るウォッチドック・タイマの構成例を示すブロック図である。図1に示すように、ウォッチドッグ・タイマは、カウンタ1、セレクタ2、論理和回路(異常検出部)4、クリアレジスタ7、比較レジスタ8、比較器(比較部)9、及び書き換え制御回路(書き換え制御部)10を備える。比較レジスタ8を備えることにより、ウォッチドッグ・タイマをクリアするためのデータを外部から変更できるようし、プログラムの処理フローに応じて、次にウォッチドック・タイマをクリアできる条件を変更する。また、本実施形態では、さらに書き換え制御回路10を設置し、ウォッチドック・タイマをクリアできる条件の変更を制限してより安全にする一態様を説明する。これにより異常な処理フローが発生したことを検出する。以下に、各構成要素について説明する。
カウンタ1は、カウント値をセレクタ2に通知する。カウント値は、一致信号14によってクリアされる。セレクタ2は、閾値を保持し、カウンタ1から通知されたカウント値がこの閾値を超えると、オーバフローが発生したと判定し、CPUにリセット信号または割り込み信号を発生させる。
クリアレジスタ7は、第一比較値(以降、「マジック・ワード」という)が書き込まれるレジスタである。マジック・ワードは、カウンタ1をオーバフロー発生前にクリアするためのデータであり、内部バス20から転送され、第一書込み信号13に同期してクリアレジスタ7に書き込まれる。
比較レジスタ8は、第二比較値(以降、「設定比較値」という)が書き込まれるレジスタである。設定比較値は、マジック・ワードと比較するデータであり、内部バス20から転送され、一致信号14と第二書込み信号16とに基づいて有効にされる比較レジスタ書込み信号17(書き換え制御回路10の説明において後述する)に同期して、比較レジスタ8に書き込まれる。
比較器9は、第一書込み信号13に同期して、クリアレジスタ7の値と比較レジスタ8の値とを比較し、一致すればカウンタをクリアするための一致信号14を、一致しなければ不一致信号15を出力する。
書き換え制御回路10は、第二書込み信号16と一致信号14とが有効になったときに、比較レジスタ8へ設定比較値の書き込みを有効とする比較レジスタ書込み信号17を出力する。また、比較レジスタ8への書き込みが完了したら比較レジスタ8への書込み信号17を無効にする(制限する)。これにより、比較レジスタ8への書き換えを1回に制御し、他のプログラムから不正に設定比較値が変更されることを防止する。
論理和回路4は、セレクタ2からのオーバフロー信号11または比較器9からの不一致信号15のどちらかが有効になったらCPUに対するリセット又は割り込み信号(異常発生信号)12を有効にする。
なお、第一書込み信号13を有効にし、マジック・ワードを内部バス20へ転送すること、及び、第二書込み信号16を有効し、設定比較値を内部バス20へ転送することは、ウォッチドック・タイマが搭載されるマイクロコンピュータが有するアプリケーションプログラムの処理として行われる。
なお、第一書込み信号13を有効にし、マジック・ワードを内部バス20へ転送すること、及び、第二書込み信号16を有効し、設定比較値を内部バス20へ転送することは、ウォッチドック・タイマが搭載されるマイクロコンピュータが有するアプリケーションプログラムの処理として行われる。
次に動作を説明する。図1に示すように、本実施形態のウォッチドッグ・タイマでは、カウンタ1がオーバフローする前にカウンタ1をクリアするために、第一書込み信号13に同期して定期的に内部バス20からクリアレジスタ7にマジック・ワードが書き込まれる。比較レジスタ8には、所定のタイミングでマジック・ワードと比較する設定比較値が書き込まれる。比較器9はクリアレジスタ7が保持する値と比較レジスタ8が保持する値とを比較し、一致したら一致信号14を有効にしてカウンタ1をクリアする。一致しなければ、不一致信号15を有効にして、論理和回路4を介してリセット信号又は割り込み信号12を有効にしてCPUに異常を通知する。カウンタ1がクリアされることなく、セレクタ2で指定されたオーバフロー時間を超えた場合、オーバフロー信号11が有効になり、論理和回路4を介してリセット信号又は割り込み信号12を有効にしてCPUに異常を通知する。
比較レジスタ8への書き込みは、書き換え制御回路10によって制御される。具体的には、書き換え制御回路10は、第二書込み信号16に同期して内部バス20から比較レジスタ8への書き込みが要求されたとき、一致信号14に同期して比較レジスタ書込み信号17を有効にし、比較レジスタ8の値を内部バス20から転送される設定比較値へ変更させる。比較レジスタ8の値が変更されるために、次回のマジック・ワードと比較する値が変更されることになる。
また、書き換え制御回路10は、一致信号14が有効になったときに同期して、1回比較レジスタ書込み信号17を有効にし、その後次に一致信号14が有効になるまで、すなわち、カウンタ1がクリアされるまで、第二書込み信号16が有効になっても無視する。言い換えれば、書き換え制御回路10は、一度比較レジスタ8を書き換えた後、再度一致信号14が有効になり、かつ、第二書込み信号16が有効になるタイミングまで、比較レジスタ8の書き換えを実施させない。これにより、アプリケーションプログラムが設定比較値を不正に書き換えたり、誤って書き換えることを防止する。アプリケーションプログラムは、第一書込み信号13を有効にし、内部バス20へマジック・ワードを転送した後、第二書込み信号16を有効にし、内部バス20へ、設定比較値を転送する。これにより、カウンタ1をクリアした後、比較レジスタ8の値として、次に実行する処理の処理識別子を格納することが可能になる。
次に、ウォッチドック・タイマの動作を図2、3を用いて詳細に説明する。図2は、正常時の動作例を示すタイミングチャートであり、図3は、異常時の動作例を示すタイミングチャートである。図2では、マジック・ワードと設定比較値に、処理を識別する処理識別子を用いている。また、図4に示す処理フローの処理を用いて説明する。
図2を用いて正常時の動作を説明する。図2では、処理A51実施後、処理B52へ移行する場合を示している。処理A51、処理B52の処理識別子をそれぞれ「a」、「b」とする。処理A51は、所定のタイミングで第一書込み信号13を有効にし、内部バス20へマジック・ワード「a」を転送するプログラムを実行させた後、第二書込み信号16を有効にし、内部バス20へ「b」を転送するプログラムを実行させる。所定時間経過後、処理B52は、第一書込み信号13を有効にし、内部バス20へマジック・ワード「b」を転送するプログラムを実行させる。この場合、ウォッチドック・タイマの動作は次のようになる。
処理A51実行中において、第一書込み信号13を有効にすることに同期して内部バス20へマジック・ワード「a」が転送されると、クリアレジスタ7へ書き込まれる。このとき、比較レジスタ8には、「a」が既に保持されている。また、第一書込み信号13が有効になると、比較器9は、クリアレジスタ7「a」と比較レジスタ8の「a」を比較し、一致を検出すると、一致信号14を出力する。一致信号14が出力されることにより、カウンタ1のカウント値がクリアされる。また、書き換え制御回路10は、一致信号14が有効になり、かつ、第二書込み信号16を有効にすることに同期して内部バス20へ比較値「b」が転送されると、比較レジスタ書込み信号17を1回有効にして、比較レジスタ8へ比較値「b」を書き込んだ後、比較レジスタ8への書き込みを無効とする(制限する)。
所定期間経過後処理B52実行中において、第一書込み信号13を有効にすることに同期して内部バス20へマジック・ワード「b」が転送されると、クリアレジスタ7へ書き込まれる。同様に、比較器9は、クリアレジスタ7と比較レジスタ8との値が一致したことを検出し、一致信号14を出力する。一致信号14が出力されることにより、クリアレジスタ1のカウンタがクリアされ、正常な動作が継続する。
次に、図3を用いて異常時の動作を説明する。図3では、処理B52実施後、処理C53へ移行する場合に、誤って処理D54が実行された場合を示している。処理B52、処理C53、処理D54の処理識別子をそれぞれ「b」、「c」、「d」とする。処理B52は、第一書込み信号13を有効にし、内部バス20へマジック・ワード「b」を転送するプログラムを実行させた後、第二書込み信号16を有効にし、内部バス20へ「c」を転送するプログラムを実行させる。所定時間経過後、誤って実施された処理D54は、第一書込み信号13を有効にし、内部バス20へマジック・ワード「d」を転送するプログラムを実行させる。この場合、ウォッチドック・タイマの動作は次のようになる。
処理B52実行中において、第一書込み信号13を有効にすることに同期して内部バス20へマジック・ワード「b」が転送されると、クリアレジスタ7へ書き込まれる。このとき、比較レジスタ8には、「b」が既に保持されている。また、第一書込み信号13が有効になると、比較器9は、クリアレジスタ7の「b」と比較レジスタ8の「b」を比較し、一致であることを検出すると、一致信号14を出力する。一致信号14が出力されることにより、クリアレジスタ1のカウント値がクリアされる。また、書き換え制御回路10は、一致信号14が有効になり、かつ、第二書込み信号16を有効にすることに同期して内部バス20へ比較値「c」が転送されると、比較レジスタ書込み信号17を1回有効にして、比較レジスタ8へ比較値「c」を書き込む。
所定期間経過後処理D54実行中において、第一書込み信号13を有効にすることに同期して内部バス20へマジック・ワード「d」が転送されると、クリアレジスタ7へ書き込まれる。また、第一書込み信号13が有効になると、比較器9は、クリアレジスタ7の「d」と比較レジスタ8の「c」を比較し、不一致であることを検出すると、不一致信号15を出力する。不一致信号15が出力されると、論理和回路4はリセット信号又は割り込み信号12を有効にし、CPUへ異常発生を通知する。このようにして、処理フローの異常発生を検出する。
次に、本実施形態のウォッチドック・タイマを利用したときに、実行する処理の誤りが検出できることを、図4のプログラム処理フローを例にして説明する。処理A51で比較レジスタ8が保持する値を「a」から「b」に変更し、処理B52はマジック・ワードがbを前提にしてウォッチドッグ・タイマをクリアする。さらに次が処理C53の場合、処理B52で比較レジスタ8が保持する値を「b」から「c」に変更する。処理C53は、新しいマジック・ワードcを前提としてウォッチドッグ・タイマをクリアする。次が処理D54の場合、処理C53で比較レジスタ8が保持する値を「c」から「d」に変更する。処理D54は、新しいマジック・ワードdを前提としてウォッチドッグ・タイマをクリアする。次が処理E55場合、処理D54で比較レジスタ8が保持する値を「d」から「e」に変更する。
また、処理B52の後、次が処理F56の場合、処理B52で比較レジスタ8が保持する値を「b」から「f」に変更する。処理F56は、新しいマジック・ワードfを前提としてウォッチドッグ・タイマをクリアする。次が処理G57の場合、処理F56で比較レジスタ8が保持する値を「f」から「g」に変更する。処理G57は、新しいマジック・ワードgを前提とする。次の処理が処理E55場合、処理G57で比較レジスタ8が保持する値を「g」から「e」に変更する。
このように、各処理の後に実行すべき処理に対応したマジック・ワードを比較レジスタ8へ設定することによって、従来のウォッチドッグ・タイマでは検出できなかった、実行する処理の順序に誤りが生じた場合を検出することができる。例えば、図3でも説明したように、処理B52から処理C53へ進むところを処理D54へ進んだ場合、処理D54ではマジック・ワードとして「d」をクリアレジスタ7へ書き込む。しかし、処理B52で比較レジスタ8へ「c」を設定しているため、処理D54が書き込んだマジック・ワード「d」とは一致しなくなる。このため、比較器9が不一致信号15を発生させ、CPUにリセット信号又は割り込み信号12を有効にしてプログラムの処理に異常があったことを通知できる。
また、処理B52において、処理C53へ進むところ処理F56へ誤って分岐した場合にも、同様に検出することができる。このような場合、プログラムの分岐命令が誤っていることを検出することが可能になる。各処理において、カウンタ1のクリアを実行させることによって、実行される処理フロー(パス)を検査することになり、処理フローに異常が発生したことを検出することができる。
(その他の実施形態)
実施形態1では、書き換え制御回路10によって比較レジスタ8への書き込みを一致信号14が有効になったときに書き換えるように制御している。これに限らず、書き換え制御回路10ではなく、アプリケーションプログラムが実施することとしてもよい。この場合、比較レジスタ8は、第二書込み信号16に同期して書き換えが実行されるため、アプリケーションプログラムによる制御が必要となる。
実施形態1では、書き換え制御回路10によって比較レジスタ8への書き込みを一致信号14が有効になったときに書き換えるように制御している。これに限らず、書き換え制御回路10ではなく、アプリケーションプログラムが実施することとしてもよい。この場合、比較レジスタ8は、第二書込み信号16に同期して書き換えが実行されるため、アプリケーションプログラムによる制御が必要となる。
たとえば、図5に示すウォッチドック・タイマの構成である場合、比較レジスタ8の書き換えがアプリケーションプログラムによる制御によって行われ、アプリケーションプログラムの処理において、書き換えるタイミングを任意に変更することが可能となる。
このようにマジック・ワードを書き換えることによって、ウォッチドッグ・タイマをクリアする条件を変えることができる。すなわち、比較レジスタ8を備え、比較レジスタ8の値とクリアレジスタ7の値とを比較してカウンタをクリアすることにより、外部からカウンタをクリアするための値を設定し、設定した値を用いてカウンタをクリアすることができる。また、外部からカウンタをクリアする値を所望の値に設定することにより、カウンタをクリアした処理を識別することが可能になっている。これにより、ウォッチドッグ・タイマをクリアする処理の順番を指定することが可能となり、従来のウォッチドッグ・タイマで検出できなかったプログラムの処理フローの異常を検出できる効果が得られる。
また、本発明に係るウォッチドック・タイマは、応用プログラムが大きく、複雑になっても、プログラムが正しいフローで動作しているかを確認できるという効果を奏する。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
1 カウンタ
2 セレクタ
4 論理和回路
7 クリアレジスタ
8 比較レジスタ
9 比較器
10 書き換え制御回路
11 オーバフロー信号
12 リセットまたは割り込み信号
13 第一書込み信号
14 一致信号
15 不一致信号
16 第二書込み信号
17 比較レジスタ書込み信号
20 内部バス
2 セレクタ
4 論理和回路
7 クリアレジスタ
8 比較レジスタ
9 比較器
10 書き換え制御回路
11 オーバフロー信号
12 リセットまたは割り込み信号
13 第一書込み信号
14 一致信号
15 不一致信号
16 第二書込み信号
17 比較レジスタ書込み信号
20 内部バス
Claims (5)
- カウンタと、
前記カウンタをクリアするタイミングで第一比較値が書き込まれるクリアレジスタと、
前記クリアレジスタへの書き込みより前のタイミングで前記第一比較値と比較する第二比較値が書き込まれる比較レジスタと、
前記第一比較値と前記第二比較値を比較し、一致した場合に、カウンタをクリアする一致信号を出力し、一致しない場合に、不一致信号を出力する比較部と、
前記不一致信号が出力された場合に、前記不一致信号に基づいて、異常発生信号を出力する異常検出部と、を備えるウォッチドック・タイマ。 - 前記比較部が一致信号を出力した後、前記比較レジスタへ前記第二比較値を書き込む書き換え制御部を、さらに備えることを特徴とする請求項1記載のウォッチドック・タイマ。
- 前記クリアレジスタは、前記カウンタをクリアするタイミングを示す第一書き込み信号に基づいて、前記第一比較値が書き込まれ、
前記比較レジスタは、前記第一書き込みレジスタより前のタイミングで出力される第二書き込み信号に基づいて、前記第二比較値が書き込まれ、
前記書き換え制御回路は、前記第二書き込み信号が出力された後、前記一致信号が出力されたときに前記比較レジスタへ前記第二比較値を1回書き込むことを特徴とする請求項2記載のウォッチドック・タイマ。 - 前記第一比較値は、実行中の処理を識別する処理識別子であり、
前記第二比較値は、次に前記カウンタをクリアするタイミングで実行する処理の処理識別子であり、
前記第一書き込み信号は、実行中の処理によって出力され、
前記第二書き込み信号は、前記第一書き込み信号を出力した後に、前記実行中の処理によって出力されること特徴とする請求項3記載のウォッチドック・タイマ。 - 請求項1乃至4のいずれか一項に記載のウォッチドック・タイマを備えるマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008142359A JP2009289119A (ja) | 2008-05-30 | 2008-05-30 | ウォッチドッグ・タイマ及びマイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008142359A JP2009289119A (ja) | 2008-05-30 | 2008-05-30 | ウォッチドッグ・タイマ及びマイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009289119A true JP2009289119A (ja) | 2009-12-10 |
Family
ID=41458263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008142359A Pending JP2009289119A (ja) | 2008-05-30 | 2008-05-30 | ウォッチドッグ・タイマ及びマイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009289119A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022536818A (ja) * | 2019-09-11 | 2022-08-19 | エルジー・ケム・リミテッド | ウォッチドッグシステム、ウォッチドッグ方法、およびウォッチドッグシステムを含むバッテリー管理システム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS603045A (ja) * | 1983-06-20 | 1985-01-09 | Nec Corp | プログラムアドレス誤動作検出装置 |
JPH06324914A (ja) * | 1993-05-13 | 1994-11-25 | Fuji Electric Co Ltd | コンピュータの暴走検出方法 |
JP2000187600A (ja) * | 1998-12-22 | 2000-07-04 | Nec Corp | ウオッチドッグタイマ方式 |
-
2008
- 2008-05-30 JP JP2008142359A patent/JP2009289119A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS603045A (ja) * | 1983-06-20 | 1985-01-09 | Nec Corp | プログラムアドレス誤動作検出装置 |
JPH06324914A (ja) * | 1993-05-13 | 1994-11-25 | Fuji Electric Co Ltd | コンピュータの暴走検出方法 |
JP2000187600A (ja) * | 1998-12-22 | 2000-07-04 | Nec Corp | ウオッチドッグタイマ方式 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022536818A (ja) * | 2019-09-11 | 2022-08-19 | エルジー・ケム・リミテッド | ウォッチドッグシステム、ウォッチドッグ方法、およびウォッチドッグシステムを含むバッテリー管理システム |
JP7179255B2 (ja) | 2019-09-11 | 2022-11-29 | エルジー エナジー ソリューション リミテッド | ウォッチドッグシステム、ウォッチドッグ方法、およびウォッチドッグシステムを含むバッテリー管理システム |
US11928008B2 (en) | 2019-09-11 | 2024-03-12 | Lg Energy Solution, Ltd. | Watchdog system, watchdog method, and battery management system comprising watchdog system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9891917B2 (en) | System and method to increase lockstep core availability | |
JP2007249323A (ja) | マイクロコンピュータ | |
US9348681B2 (en) | Apparatus and method for detecting fault of processor | |
JP2008009721A (ja) | 評価システム及びその評価方法 | |
JP4393954B2 (ja) | マイクロコンピュータ | |
JP4893427B2 (ja) | マイクロコンピュータシステム | |
JP2007323631A (ja) | Cpu暴走判定回路 | |
US20160041860A1 (en) | Microcomputer and microcomputer system | |
US6968410B2 (en) | Multi-threaded processing of system management interrupts | |
JP2006344087A (ja) | 制御装置のタスク管理装置、及び、制御装置のタスク管理方法 | |
JP2009289119A (ja) | ウォッチドッグ・タイマ及びマイクロコンピュータ | |
US10289332B2 (en) | Apparatus and method for increasing resilience to faults | |
JP2008537438A (ja) | 集積回路の処理ステージ内のエラー回復 | |
CN107423029B (zh) | 计算单元 | |
US20130326289A1 (en) | Method and system for detection of latent faults in microcontrollers | |
JP2016206891A (ja) | アクセス遮断回路、半導体集積回路およびアクセス遮断方法 | |
JP6332134B2 (ja) | メモリ診断回路 | |
US20180121087A1 (en) | Register-based communications interface | |
JP2008262557A (ja) | 制御装置のタスク管理装置、及び、制御装置のタスク管理方法 | |
JP4647276B2 (ja) | 半導体回路装置 | |
JP5756413B2 (ja) | 制御装置 | |
JP6645467B2 (ja) | マイクロコンピュータ | |
JP6302775B2 (ja) | 制御装置及びその制御方法 | |
JP5362856B2 (ja) | エラー発生指示回路、記憶装置、情報処理装置及びエラー発生指示回路の制御方法 | |
JP2009093393A (ja) | データ処理装置及びデータ処理装置の自己診断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120605 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121106 |