JP5705258B2 - マイクロコンピュータ及びその動作方法 - Google Patents

マイクロコンピュータ及びその動作方法 Download PDF

Info

Publication number
JP5705258B2
JP5705258B2 JP2013080600A JP2013080600A JP5705258B2 JP 5705258 B2 JP5705258 B2 JP 5705258B2 JP 2013080600 A JP2013080600 A JP 2013080600A JP 2013080600 A JP2013080600 A JP 2013080600A JP 5705258 B2 JP5705258 B2 JP 5705258B2
Authority
JP
Japan
Prior art keywords
cpu
reset
signal
reset signal
register
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.)
Expired - Fee Related
Application number
JP2013080600A
Other languages
English (en)
Other versions
JP2013137835A5 (ja
JP2013137835A (ja
Inventor
功 辰野
功 辰野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
L E Tech CO Ltd
Original Assignee
L E Tech CO Ltd
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 L E Tech CO Ltd filed Critical L E Tech CO Ltd
Priority to JP2013080600A priority Critical patent/JP5705258B2/ja
Publication of JP2013137835A publication Critical patent/JP2013137835A/ja
Publication of JP2013137835A5 publication Critical patent/JP2013137835A5/ja
Application granted granted Critical
Publication of JP5705258B2 publication Critical patent/JP5705258B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)

Description

本発明は、マイクロコンピュータの動作方法に関する。より詳細には、マイクロコンピュータの中央処理装置(CPU)において、いわゆる暴走などのエラーが発生した場合に、CPUを自動的に復帰させる回路とその使用方法に関する。
マイクロコンピュータのCPUにおいて、外部の電気的なノイズ、静電気、電源電圧の不安定、及び、その他の原因で致命的なエラーが発生する。これにより、そのCPUがプログラムを実行することができないことがある。そのような致命的なエラーの状態の例としては、いわゆるCPUの暴走などが挙げられる。このマイクロコンピュータのCPUの致命的なエラーへの対策としては、ウオッチドッグとして知られる方法が一般的である。この方法は、ソフトウェアの処理の繰り返し(ループ)時間より十分に長いタイマを設け、ソフトウェア処理のループにおいて、このタイマをリセットする。CPUに致命的なエラーが発生した場合、ソフトウェア処理が正常に動作しないため、タイマはリセットされずに終了し、タイマの終了をトリガとして、マイクロコンピュータ全体にリセットが与えられる。一方、CPUが正常に動作している場合(致命的なエラーが発生していない場合)、タイマは終了する前にリセットされるので、マイクロコンピュータはリセットされない。
しかし、この方法では、CPUの致命的なエラー状態が、タイマの開始から終了までの長い間継続する可能性がある。したがって、CPUの致命的なエラー発生からタイマが終了するまでの時間がマイクロコンピュータの使用に悪影響を及ぼすような環境や、その時間中のマイクロコンピュータの誤動作によって使用者に危険が及ぶような環境ではウオッチドッグは必ずしも有効でないが他に手段がなく採用されている。
さらに、ウオッチドッグを用いたCPUの致命的なエラーの対策では、CPUにおいて致命的なエラーが発生した後、そのCPUの状態を、そのようなエラーが発生する直前の状態に戻すことは困難である。その理由は、CPUの致命的なエラーが検出される迄に時間がかかっているため、CPUの致命的なエラーが検出された時点のCPUレジスタの情報などの状態が、致命的なエラーが発生した直前の状態とは異なるからである。
従来、マイクロコンピュータは、CPUの致命的なエラーを検出すると、CPUの致命的なエラーを検出した時点のCPUレジスタの情報などを破棄して、マイクロコンピュータ全体を初期化していた。したがって、従来、CPUを致命的なエラーから復帰させるためには、そのCPUの致命的なエラーを検出するための時間に加えて、マイクロコンピュータ全体を初期化するための時間が必要となっていた。そして、マイクロコンピュータを、CPUで致命的なエラーが発生する前の状態に戻すために、そのエラーが発生する前の実行中の処理(応用プログラム(アプリケーションプログラム)の処理)を、CPUの初期化後に再現しなければならない。実行中であった処理を再現することは容易ではなく、さらに、その再現を実行するための処理時間が必要となる。したがって、マイクロコンピュータを使用している環境によって、CPUの致命的なエラーからマイクロコンピュータを復帰させることは大きな問題になる可能性がある。例えば、CPUの致命的なエラーから初期化迄の時間に機械が停止できずに事故が起こり得る、また、金銭の勘定が失われる等の深刻な事態も起こり得る。
一般的に、マイクロコンピュータを用いたワンチップマイコンには、初期化のための信号は1つしか用いられていない。このため、初期化はマイクロコンピュータ全体に対して行われる。よって、マイクロコンピュータの初期化は、全体を初期化するのに見合う重大なエラーの場合に行うことが想定されている。したがって、CPUの致命的なエラーからの復帰に時間がかかることや、その致命的なエラーが発生するまでの情報などが失われることは、従来、止むを得ないと考えられていた。
さらに、別の方法としては、特許文献1に記載されている様に、周期的な割込みの代わりに、リセットを周期的にCPUのみに与える方法もある。この方法を用いた場合、CPU上で実行される応用プログラムの実行開始から終了までの時間は、リセットの周期内でなければならない。なぜならば、応用プログラムの実行中にCPUがリセットされた場合、プログラムカウンタやスタックなどのCPUレジスタの情報もリセットされ、応用プログラム中の命令についてのアドレスが消去されるからである。したがって、CPUのみを周期的にリセットする場合、応用プログラムは、処理開始から終了までの時間がCPUのリセットの周期の間隔内に収まるような極めて小さなサイズとする必要が有る。そのため、一般的なプログラムに比べて、必要となる応用プログラムのサイズは小さくなる。これにより、その応用プログラムの数は膨大な数となる。また、応用プログラムの作成者は、応用プログラムの処理内容だけではなく、リセットの周期を意識して応用プログラムの作成を行わなくてはならないという問題がある。
特開平6−71024号公報 特開平9−319602号公報
本発明は、マイクロコンピュータのCPUで致命的なエラーが発生した場合、マイクロコンピュータ全体の初期化又はリセットを行うことなく、CPUのみをリセットすることによって、マイクロコンピュータのCPUを致命的なエラー状態から極めて短時間に復帰させることを目的とする。また、本発明は、マイクロコンピュータ上で実行中の応用プログラムに影響を与えることなく、CPUをリセットすることを目的とする。
本発明によるマイクロコンピュータは、CPUと、そのCPUとCPUバスを介して接続されているRAMと、割込み処理の実行開始を要求するための割込み要求信号をCPUに出力する割込み要求信号出力手段と、その割込み要求信号出力手段が割込み要求信号を出力した後、CPUリセット処理の開始を要求するためのCPUリセット信号をCPUに出力するCPUリセット信号出力手段とを備え、CPUは、割込み要求信号を受信すると、そのCPU上で実行されている応用プログラムの処理を中断するとともに、CPUレジスタの情報を復帰情報としてRAMに保存し、さらに、CPUリセット信号を受信すると、CPUは、リセットされるとともに、RAMに保存されている復帰情報をCPUレジスタにコピーすることができる。
本発明によるマイクロコンピュータは、CPUリセット信号及び割込み要求信号を周期的に発生させるタイマカウンタ回路をさらに備えることができる。
本発明によるマイクロコンピュータにおいて、タイマカウンタ回路は、付加タイマを備え、CPUはCPUレジスタの情報が正常であるか判定し、そのCPUレジスタの情報が正常であると判定された場合のみ、付加タイマは、CPUリセット信号がCPUへ供給される間作動し、CPUリセット処理の実行を禁止するができる。
本発明によるマイクロコンピュータは、マイクロコンピュータ全体をリセットするためのシステムリセット信号源と、論理和回路とをさらに備え、CPU信号出力手段及びシステムリセット信号源は、論理和回路の入力側に接続されており、CPUは、論理和回路の出力側に接続されているよう構成することができる。
本発明によるマイクロコンピュータの動作方法は、割込み処理の実行開始を要求するための割込み要求信号をタイマカウンタ回路からCPUに出力するステップと、そのCPUによって、割込み要求信号を受信し、CPU上で実行されている応用プログラムの処理を中断するステップと、CPUによって、そのCPUレジスタの情報を復帰情報としてRAMに保存するステップと、割込み要求信号が出力された後、CPUリセット処理の開始を要求するためのCPUリセット信号をCPUに出力するステップと、CPUにおいて、CPUリセット信号を受信し、CPUをリセットするステップと、そのCPUによって、RAMに保存されている復帰情報をCPUレジスタにコピーするステップとを含むようにすることができる。
本発明によるマイクロコンピュータの動作方法は、CPUリセット信号及び割込み要求信号を、タイマカウンタ回路によって周期的に発生させることができる。
本発明によるマイクロコンピュータの動作方法は、CPUによって、CPUレジスタの情報が正常であるか判定し、CPUレジスタの情報が正常であると判定された場合のみ、CPUリセット信号がCPUへ供給される間、CPUをリセットするステップの実行を禁止するステップをさらに含むようにすることができる。
マイクロコンピュータのCPUで致命的なエラーが発生しているのを早期に検出し、致命的なエラーからの復帰を可能とすることによって、マイクロコンピュータを用いた応用装置が異常な動作、時には危険であったりする誤動作を大幅に低減することができる。
特に、自動車、飛行機、船舶、産業用ロボットなどの分野で用いられる機械系を制御する機器において、それら機器の誤動作は大事故に繋がる恐れがある(例えば、自動車のブレーキ制御やステアリング制御など)。本発明によるマイクロコンピュータのCPUの致命的なエラーからの復帰に必要な時間は、機械系を制御する機器における誤動作の検出及びその誤動作からの復帰に必要な時間と比較してはるかに短い。よって、マイクロコンピュータのCPUの致命的なエラーに起因するこれら機器の誤動作の検出及びその誤動作から復帰させるための処理を、機器ではなくマイクロコンピュータで行うことは有用である。
また、上記分野において、電気的なノイズなどの致命的なエラーを生じさせる原因は他の分野の機器と比べてより多く発生する。したがって、機械系を制御する機器に本発明を用いることによって、電気的なノイズなどのための従前の多くの対策を大幅に軽減でき、さらに、従前より強固な対策が行えるため、コスト低下と信頼性の向上を併せて図ることができる。また、マイクロコンピュータのCPUにおいて致命的なエラーが継続的に発生している場合、継続的なCPUの致命的なエラーを検出し、その検出結果に基づいて、機器の誤動作を警告するための情報を入出力インタフェースを介して提供することもできる。
更に、本発明は、マイクロコンピュータのCPUで致命的なエラーが発生した場合、マイクロコンピュータ全体をリセットするのではなく、CPUのみをリセットすることから、致命的なエラーからの復帰を極めて短い時間で行うことができる。また、本発明は、CPUで致命的なエラーが発生した時に実行されていた応用プログラムを中断した後、CPUをリセットし、そして、その致命的なエラーが発生する前の時点から応用プログラムの実行を再開することができる。
本発明の活用が期待される分野における一例を挙げれば、エレベーターが動作中に、落雷、電源のノイズ、設計上の不備によるノイズによって、エレベーターの制御を行うマイクロコンピュータのCPUに致命的なエラーが発生し、そして、そのCPUによってエレベーターが誤動作した場合であっても、エレベーターのマイクロコンピュータに本発明のマイクロコンピュータを採用することによって、エレベーターを安定した状態の動作に極めて短い時間で復帰させることができる。
本発明の一実施例に係るマイクロコンピュータの全体を示したブロック図である。 図1のクロック発生回路、タイマカウンタ回路、及び、CPUをより詳細に示したブロック図である。 第1の実施例によるマイクロコンピュータの動作を示したフロー図である。 第2の実施例によるマイクロコンピュータの動作を示したフロー図である。 割込み処理の動作を示したフロー図である。 CPUリセット処理の動作を示したフロー図である。 CPUが正常に動作している場合の第1の実施例についてのタイムチャートである。 CPUにおいて致命的なエラーが発生した場合の第1の実施例についてのタイムチャートである。 CPUにおいて致命的なエラーが発生した場合の第2の実施例についてのタイムチャートである。
図1は本発明の一実施例に係るマイクロコンピュータの全体を示したブロック図である。ここで、マイクロコンピュータ100は、中央処理装置(CPU)101、主記憶装置(RAM)105、ROM110、通信用回路115、ユニバーサルカウンタタイマ120、入出力ポート125、論理和回路(OR回路)130、システムリセット信号源135、クロック発生回路140、タイマカウンタ回路145、付加タイマ150、ウオッチドッグ回路155、違法命令検出回路及び正域外アクセス検出回路160、システムリセット用バス165、CPUバス170を備える。
システムリセット信号源135は、電源が投入されたときなどに、システムリセット用信号を発生させ、システムリセット用バス165を介してシステムリセット用信号を送信する。システムリセット用信号は、マイクロコンピュータ全体をリセットさせるための信号である。システムリセット用信号は、CPU101のみではなく、例えば、入出力ポート125、通信回路115、ユニバーサルカウンタタイマ120などをリセットするためにも用いられる。
ウオッチドッグ回路155、及び、違法命令検出回路及び正域外アクセス検出回路160は、それぞれ、CPU101が正常に動作しているか否かを判定する。CPU101が正常に動作していないと判定された場合、ウオッチドッグ回路155、又は、違法命令検出回路及び正域外アクセス検出回路160は、システムリセット用バス165を介してCPU101や通信回路115などにシステムリセット用信号を送信し、マイクロコンピュータ100全体をリセットする。
クロック発生回路140は、システムのクロック信号を発生させる回路である。タイマカウンタ回路145は第1の処理信号(割込み要求信号)および第2の処理信号(CPUリセット信号)を発生させる回路である。論理和回路130は、タイマカウンタ回路145からのCPUリセット信号がシステムリセット用バス165へ送信されるのを防止して、CPUリセット信号をCPU101のみに供給するための回路である。論理和回路には、CPUリセット信号及びシステムリセット用信号が入力として供給される。したがって、CPUリセット信号は、CPU101以外の通信用回路115やユニバーサルカウンタタイマ120などへは供給されない。CPU101は、マイクロコンピュータ100のための制御及び演算を実行する回路である。
図2は、図1のクロック発生回路140、タイマカウンタ回路145、及び、CPU101をより詳細に示したブロック図である。CPU101は、CPUレジスタ235を備える。クロック発生回路140は、クロック発生器210、分周器215からなる。タイマカウンタ回路145は、カウンタ220、付加タイマ225、比較器230、レジスタ255、CPUリセット信号用フリップフロップ回路240、割込み要求信号用フリップフロップ回路245、システムリセット用フリップフロップ回路250からなる。
CPU101は、CPUバス170を介して、レジスタ255及びシステムリセット用フリップフロップ回路250に接続されている。クロック発生器210はシステムのクロック信号を発生させる回路である。
クロック発生器210が発生させた第1のクロック信号は、CPU101と分周器215に供給される。分周器215は、第1のクロック信号の周波数を、適当な周波数である第2のクロック信号に変更する。分周器215は、第2のクロック信号をカウンタ220に供給する。
カウンタ220は、第2のクロック信号をカウントする。第2のクロック信号は、第2のクロック信号のカウント値がカウント上限値に到達するまでカウントされる。ここで、第2のクロック信号のカウント値は、カウンタ220が第2のクロック信号をカウントした値である。第2のクロック信号のカウント値がカウント上限値に到達した場合、カウンタ220はCPUリセット信号を発生させ、CPUリセット信号用フリップフロップ回路240をセットし、CPUをリセットするのに充分な数クロック後に、フリップフロップ回路240をリセットする。さらに、カウンタ220は、第2のクロック信号のカウント値がカウント上限値に到達した後、第2のクロック信号のカウント値をリセットし、カウントを再開する。他の実施例として、上記カウント上限値を、CPU101が初期化処理などにおいて設定するよう構成することができる。なお、電気的なノイズなどの影響によって第2のクロック信号のカウント値が変更された場合であっても、フリーランのカウンタであるカウンタ220は、第2のクロック信号のカウントを停止することはない。
他の実施例として、クロック発生器210は、分周器215を用いることなく、第1のクロック信号をカウンタ220に供給することができる。この場合、カウンタ220は、クロック信号として第2のクロック信号の代わりに第1のクロック信号を用いる。
CPUリセット信号用フリップフロップ回路240は、カウンタ220から受信したCPUリセット信号を短いパルス幅であるパルス信号に波形整形し、CPU101へ供給する。他の実施例として、カウンタ220がCPUリセット信号を短いパルス幅であるパルス信号として発生させることができる場合、カウンタ220は、CPUリセット信号用フリップフロップ回路240を介することなく、CPUリセット信号をCPU101へ直接供給することができる。
CPU101には、電源投入時などにシステムリセット用バス165を介してシステムリセット用信号が供給される。CPU101は、システムリセット用信号を受信すると、システムリセット用フリップフロップ回路250をリセットする。他の実施例として、電源投入時などに、システムリセット信号源135が、システムリセット用バスを介してシステムリセット用フリップフロップ回路250をリセットすることもできる。他の実施例として、CPU101は、システムリセット用信号をタイマカウンタ回路145に供給し、タイマカウンタ回路145内の要素の全部又は一部をリセットすることもできる。
その後、CPU101は、初期化処理において、システムリセット用フリップフロップ回路250をセットする。カウンタ220は、システムリセット用フリップフロップ回路250がリセットである間、第2のクロック信号をカウントしない。初期化処理において、システムリセット用フリップフロップ回路250がセットされると、カウンタ220は第2のクロック信号のカウントを開始する。
初期化処理において、CPU101は、所定の数値である比較対象値をCPUバス170を介してレジスタ255に供給する。レジスタ255は、その比較対象値を保存する。
比較器230は、第2のクロック信号のカウント値とレジスタ255が保存している比較対象値とを比較する。第2のクロック信号のカウント値と比較対象値とが一致した場合、比較器230は、割込み要求信号を発生させ、割込み要求信号用フリップフロップ回路245に供給する。
割込み要求信号用フリップフロップ回路245は、比較器230から受信した割込み要求信号を短いパルス幅であるパルス信号に調整し、CPU101へ供給する。他の実施例として、比較器230が割込み要求信号を短いパルス幅であるパルス信号として発生させることができる場合、比較器230は、割込み要求信号用フリップフロップ回路245を介することなく、割込み要求信号をCPU101へ直接供給することができる。
他の実施例として、カウンタ220は、付加タイマ225を備えることができる。付加タイマ225は、予め設定された時間だけタイマを作動させる。付加タイマ225は、タイマが作動している間、カウンタ220を制御することによって、カウンタ220がCPUリセット信号用フリップフロップ回路240へCPUリセット信号を供給することを禁止することができる。他の実施例として、付加タイマ225は、タイマが作動している間、CPUリセット信号用フリップフロップ回路240をリセットし、CPUリセット信号用フリップフロップ回路240がCPUリセット信号をCPU101へ供給することを禁止する。
以下、図2の回路の動作を説明する。
まず電源が投入された時に、システムリセット信号源135は、タイマカウンタ回路145内のカウンタ220、及び、全てのフリップフロップ回路240、245、及び、250をリセットする。他の実施例として、システムリセット用フリップフロップ回路250はCPU101によってリセットされるようにしてもよい。電源が投入された後、CPU101は初期化処理を行う。初期化処理において、CPU101は、まずレジスタ255に適当な比較対象値を設定する。
比較対象値は、比較器230が割込み要求信号を発生させるときに用いる値である。比較器230は、第2のクロック信号のカウント値と比較対象値とを比較し、一致した場合に割込み要求信号を発生させる。そして、CPU101は割込み要求信号を受信し、割込み処理を実行する。したがって、割込み処理は、第2のクロック信号のカウントが開始された後、第2のクロック信号のカウント値が比較対象値に達するまでカウントされる間の時間(比較対象時間)が経過するときに実行される。したがって、所定の時間間隔ごとに、割込み要求信号が発生する。これにより、CPU101は、所定の時間間隔で割込み要求信号を受信し、割込み要求処理を実行する。ここで、比較対象時間は、第2のクロック信号のカウント値が比較対象値に達するまでカウントされる間の時間であって、(第2のクロック信号の周期)×(比較対象値)によって得られる。
ここで、割込み処理とは、処理の優先順位が少なくとも応用プログラムより高い処理である。そして、割込み処理がトリガされると、CPU101は、応用プログラムの処理を中断するとともに、割込み処理を開始する。
システムリセット用フリップフロップ回路250は、マイクロコンピュータ100の電源投入時などにシステムリセット用信号が発生された場合にのみ、CPU101又はシステムリセット信号源135によってリセットされる。その後、初期化処理において、CPU101はシステムリセット用フリップフロップ回路250をセットする。カウンタ220は、システムリセット用フリップフロップ回路250がセットされた後、第2のクロック信号のカウントを開始する。ソフトウェアからリセットする手段を設けない理由は、CPUで致命的なエラーが発生した場合にシステムリセット用フリップフロップ回路250がリセットされないようにするためである。CPUで致命的なエラーが発生した時、システムリセット用フリップフロップ回路250がリセットされないよう動作することが保証されている場合、ソフトウェアがシステムリセット用フリップフロップ回路250をリセットする手段を設けてもよい。
比較器230は、第2のクロック信号のカウント値とレジスタ255が保存している比較対象値とを比較する。つまり、第2のクロック信号のカウントが開始又は再開されてから比較対象時間が経過していないか確認する。第2のクロック信号のカウント値と比較対象値とが一致した場合、比較器230は、割込み要求信号を発生させ、割込み要求信号用フリップフロップ回路245をセットし、数クロック後にリセットする。割込み要求信号用フリップフロップ回路245は、割込み要求信号を短いパルス幅であるパルス信号に波形整形する。パルス信号に整形された割込み要求信号は、CPU101に供給される。
他の実施例として、比較器230が割込み要求信号を短いパルス幅であるパルス信号として発生させることができる場合、比較器230は、割込み要求信号用フリップフロップ回路245を介することなくCPU101に割込み要求信号を供給することができる。CPU101は、割込み要求信号を受信すると、割込み処理を実行する。
カウンタ220は、第2のクロック信号のカウント値がカウント上限値に達したか否かを確認する。つまり、カウンタ220は、第2のクロック信号のカウントが開始又は再開されてから、カウンタ上限時間が経過していないか確認する。ここで、カウンタ上限時間は、第2のクロック信号のカウント値がカウント上限値に達するまでカウントされる間の時間であって、(第2のクロック信号の周期)×(カウント上限値)によって得られる。
カウンタ220は、第2のクロック信号のカウント値がカウント上限値に達したことを確認すると、CPUリセット信号を発生させ、CPUリセット信号用フリップフロップ回路240をセットする。CPUリセット信号用フリップフロップ回路240は、CPUリセット信号を短いパルス幅であるパルス信号に波形整形する。パルス信号に整形されたCPUリセット信号は、CPU101に供給される。
他の実施例として、カウンタ220がCPUリセット信号を短いパルス幅であるパルス信号として発生させることができる場合、カウンタ220は、CPUリセット信号用フリップフロップ回路240を介することなくCPU101にCPUリセット信号を供給することができる。
CPU101は、CPUリセット信号を受信すると、CPUリセット処理を実行する。CPUリセット信号用フリップフロップ回路240は、セットされた後すぐに、カウンタ220などによってリセットされる。
割込み要求信号を受信したことによって実行される割込み処理の実行開始から終了までの時間(割込み処理の実行時間)について説明する。ここで、比較対象時間はカウンタ上限時間より短い時間である。そして、割込み処理はカウンタ220が第2のクロック信号のカウントを開始又は再開する時であるカウント開始時から比較対象時間に到達した時に実行される。CPUリセット処理は、そのカウント開始時又は再開時からカウンタ上限時間に到達した時に実行される。そして、割込み処理は、CPUリセット処理の実行前に終了している必要がある。その理由については、後述する。したがって、カウンタ上限時間から比較対象時間を引いた時間は、割込み処理の実行時間より長い時間でなければならない。具体的には、割込み処理の実行に要する時間が50マイクロ秒である場合、(カウンタ上限時間)−(比較対象時間)は、50マイクロ秒より長い必要がある。したがって、カウンタ上限時間が5ミリ秒である場合、比較対象時間は、4950マイクロ秒より短くなければならない。割込み処理の実行時間は、カウンタ220の上限時間の2〜5%程度の時間に設定されることが好ましい。
タイマカウンタ回路145は、さらに、付加タイマ225を備えることができる。付加タイマ225は、割込み処理においてCPU101などによって起動が開始される。付加タイマ225は、CPUリセット信号が発生する時に(カウント開始又は再開時からカウンタ上限時間に到達した時に)、CPUリセット信号の発生を禁止する。付加タイマ225は、CPUリセット信号用フリップフロップ回路240がセットされるのを禁止する信号であるCPUリセット禁止信号をこのフリップフロップ回路240に供給する。他の実施例として、付加タイマ225は、カウンタ220を制御することによって、カウンタ220によるCPUリセット信号の発生を禁止することもできる。第2の実施例によるマイクロコンピュータ100は、CPUリセット処理を定期的に実行しないため、第1の実施例によるマイクロコンピュータ100と比較してCPU101などへの負担を軽減することができる。
図3は、第1の実施例によるマイクロコンピュータ100の動作を示したフロー図である。最初に、マイクロコンピュータ100に電源が投入される(ステップ305)。そして、初期化処理において、マイクロコンピュータ100の初期化が行われる(ステップ310)。初期化処理の終了後、カウンタ220は、供給されるクロック信号をカウントする(ステップ315)。
比較器230は、クロック信号のカウント値が比較対象値に達したか否かを判定する(ステップ320)。ここで、クロック信号のカウント値は、カウンタ220がクロック信号をカウントした値である。クロック信号のカウント値が比較対象値に達していない場合、比較器230は、クロック信号のカウント値が比較対象値になるまで待機する。クロック信号のカウント値が比較対象値に達した場合、比較器230は、割込み要求信号を発生させ、CPU101へ供給する(ステップ325)。
CPU101は、割込み要求信号を受信すると、実行中の応用プログラムの処理を中断するとともに、割込み処理を実行する(ステップ330)。割込み処理については後述する。
割込み処理が終了すると、カウンタ220は、クロック信号のカウント値がカウント上限値に達するまで待機する。(ステップ335)。クロック信号のカウント値がカウント上限値に達した後、カウンタ220は、CPUリセット信号を発生させ、CPU101へ供給する(ステップ340)。さらに、カウンタ220は、クロック信号のカウント値をリセットするとともに、クロック信号のカウントを再び開始する。
CPU101は、CPUリセット信号を受信すると、CPUリセット処理を実行する(ステップ345)。CPUリセット処理については後述する。
図4は、第2の実施例によるマイクロコンピュータ100の動作を示したフロー図である。図4のフロー図は、一部が図3のフロー図と同じである。図4のステップ405、410、415、420、425、430、450、455、及び、460は、それぞれ、図3のステップ305、310、315、320、325、330、335、340、及び、345に相当する。
図4のフロー図は、このフロー図のステップ445、450、及び、455を図3のフロー図に追加したものに相当する。以下、図3と図4との違いについて説明する。CPU101は、CPUレジスタ235の情報を取得する(ステップ435)。CPU101は、取得した情報が正常か否かを判定する(ステップ440)。CPUレジスタ235の情報が正常であるか否かは、CPUレジスタ235の値が正常な範囲に収まっているか、適切な値になっているかなどによって判定することができる。
取得した情報が正常ではないと判断された場合、図3におけるフロー図のステップ335、340、及び345にそれぞれ相当するステップ450、455、及び、460が実行される。取得した情報が正常であると判断された場合、付加タイマ225がCPUリセット信号の発生を禁止する(ステップ445)。なお、CPU101が、付加タイマ225を起動するようにすることもできる。したがって、CPU101に致命的なエラーが発生した場合、付加タイマ225が起動されないため、付加タイマ225はCPUリセット信号の発生を禁止することができない。これにより、CPUリセット信号がCPUに供給され、CPUリセット処理が実行される。付加タイマ225が起動されない場合の例としては、CPU101に致命的なエラーが発生しているため、CPU101が付加タイマ225を起動する処理である割込み処理を受け付けないときなどがある。
図5は、割込み処理の動作を示したフロー図である。割込み処理は、CPU101が割込み要求信号を受信することによって実行される(図3のステップ325及び330又は図4のステップ425及び430参照)。最初に、CPU101は、割込み開始時点(応用プログラム中断時点)のCPUレジスタ235の情報をRAM105に保存する(ステップ505)。そして、CPU101は、この割込み処理が正常な動作であるか否かを判定する(ステップ510)。
正常な動作であるか否かは、CPU101が、RAM105に保存されている特定の情報が正しいことを確認することによって判定される。例えば、初期化処理において、CPU101は、一又は二以上の所定の値を予めRAM105に保存し、そして、割込み処理において、その値が変更されていないことを確認する。ここで、それら所定の値は、CPU101が正常に動作している場合、初期化処理以外において変更されないが、CPU101で致命的なエラーが発生した場合、例えば、CPU101の誤動作により、それら所定の値が変更される可能性がある。所定の値が変更された場合、致命的なエラーが生じたこととなる。
また、前回の割込み処理おいて、CPU101が、その割込み処理開始時点のCPUレジスタ235の情報を復帰情報としてRAM105に保存しており、そして、現在実行されている割込み処理において、CPU101が、RAM105に保存されている現在の割込み処理開始時点のCPUレジスタ235の情報と、RAM105に保存されている前回の割込み処理時点の復帰情報と、を比較し、所定のデータが正常であるか否かを判定する。
さらに、CPU101が、所定のフラグがオンになっているか否かを確認し、所定のデータが正常であるか否かを判定する。所定のフラグの例としては、割込み処理終了フラグをRAM105に設けることができる。割込み処理終了フラグがオンになっている場合、CPU101はRAM105に保存されている情報が正しいと判定する。割込み処理終了フラグを用いる場合、CPU101は、ステップ510の後で、割込み処理終了フラグをオフにし、割込み処理の終了時にオンに戻す。これにより、前回の割込み処理が実行されている間に致命的なエラーが生じた場合、現在の割込み処理時のステップ510において、割込み処理終了フラグがオフであるため、CPU101はRAM105に保存されている特定の情報が正しくないと判定する。
さらに、前回の割込み処理おいて、CPU101は、上記CPUレジスタ235の情報及び/又は上記所定のフラグを、RAM105の領域の1箇所だけではなく、2箇所以上に保存することができる。そして、現在実行されている割込み処理において、CPU101は、RAM105に保存されている前回の割込み処理時点の上記2以上のCPUレジスタ235の情報それぞれ、及び/又は、上記2以上の所定のフラグそれぞれが同じであるか否かを確認する。そして、それら情報及び/又はフラグが同じである場合、CPU101は所定のデータが正常であると判定する。これにより、所定のデータが正常であるか否かの判定が、より正確に実行される。一実施例として、上記保存される情報又はフラグの数を3つにすることもできる。これにより、それら3つの情報又はフラグのうち1つが異なる場合であっても、CPU101は、残り2つの情報又はフラグを正しいものとして利用することができる。これにより、RAM105上のデータが一部破損した場合であっても、CPU101は、所定のデータが正常であるか否かの判定を行うことができる。これら判定についての実施例は例示であり、他の実施例によって同様に判定することもできる。
割込み処理が正常な動作であると判定された場合、CPU101は、RAM105に保存されている割込み処理開始時点のCPUレジスタ235の情報が正常であるか否かを判定する(ステップ515)。割込み処理開始時点のCPUレジスタ235の情報が正常であるか否かは、CPUレジスタ235の情報の値が正常な範囲に収まっているか、適切な値になっているかなどによって判定することができる。
割込み処理開始時点のCPUレジスタ235の情報が正常であると判定された場合、CPU101は、正常であると判定されたCPUレジスタ235の情報を復帰情報としてRAM105の別の領域に保存する(ステップ520)。他の実施例として、CPU101は、以前の割り込み処理においてRAM105に既に保存されている復帰情報をRAM105の他の場所にコピーし、復帰情報の履歴を管理することができる。さらに他の実施例として、割込み処理終了フラグを用いている場合、割込み処理終了フラグをオンにする。
ステップ510において、割込み処理が正常な動作でないと判定された場合、CPU101は、RAM105に保存されている情報が正常であるか否かを判定する(ステップ525)。ステップ525の判定は、前述のRAM105に保存されている特定の情報などを用いて実行される。
ステップ525において、RAM105に保存されている情報が正常でないと判定された場合、マイクロコンピュータ100全体をリセットするため、システムリセットが行われる(ステップ530)。システムリセットが行われた後、ステップ530以降の処理が中止され、マイクロコンピュータ100は初期化される。他の実施例では、ステップ530において、入出力ポート125などのCPUの致命的なエラーの影響を受けにくい要素はリセットされないようにすることができる。
ステップ515において、RAM105レジスタ235に保存されている情報が正常でないと判定された場合、又は、ステップ525において、割込み処理開始時点のCPUレジスタ235の情報が正常であると判定された場合、CPU101は、RAM105に履歴として保存されている復帰情報などを用いて、CPUレジスタ235の情報の復旧処理を行う(ステップ535)。他の実施例として、ステップ535の後にステップ510が実行するよう構成することができる。復旧処理の一実施例として、CPU101は、履歴としてRAM105に保存されている復帰情報を用いて、CPUレジスタ235を復旧することができる。
他の実施例として、割込み処理はステップ505及びステップ520のみからなるよう構成することもできる。
図6は、CPUリセット処理の動作を示したフロー図である。CPUリセット処理は、CPU101がCPUリセット信号を受信することによって実行される(図3のステップ340及び345又は図4のステップ455及び460参照)。
最初に、CPU101のリセットが行われる(ステップ610)。これにより、CPUレジスタ235の情報もクリアされる。CPUリセット処理(ステップ345又はステップ460)を実行するためのトリガとなるCPUリセット信号は、タイマカウンタから周期的に必ず与えられる。よって、CPUリセット処理(ステップ345又はステップ460)は、割込み処理(ステップ330又はステップ430)が直前に実行されていなくても実行される。したがって、CPU101において致命的なエラーが発生したことによって、割込み処理が実行されない場合であっても、CPUリセット処理は割込み処理に依存することなく実行される。
CPU101は、RAM105に保存されている復帰情報をCPUレジスタ235にコピーする(ステップ615)。これにより、CPUレジスタ235の情報は割込み処理において保存された情報(図5のステップ520)であるため、割込み処理が実行される前に実行されていた応用プログラムは、CPU101をリセットすることによる影響を受けることなく再開される。
他の実施例として、CPU101は、復帰情報をCPUレジスタ235にコピーする前に、復帰情報が正常な値であるか、又は、復帰情報が妥当であるかなどをチェックするよう構成されていてもよい。これにより、復帰情報が正常又は妥当な値ではない場合、システムリセットなどが行われるようにすることができる。
また、CPU101において致命的なエラーが発生した後に、そのCPU101がリセットされた場合、ステップ615の処理によって、CPUレジスタ235の情報がRAM105に保存された時点の復帰情報で上書きされる。したがって、復帰情報がCPU101における致命的なエラーによる影響を受けていない場合、CPU101で致命的なエラーが発生したとしても、本発明は、CPU101を致命的なエラーから回復させることができる。
ここで、前述した、割込み処理がCPUリセット処理の実行前に終了している必要がある理由は、CPU101に致命的なエラーが発生していない場合、CPUリセット処理のステップ615において、RAM105に保存されている復帰情報をCPUレジスタ235にコピーするために、予め、復帰情報がRAM105に保存されている(図5のステップ520参照)必要があり、割込み処理が正常に終了し、CPU101は、CPUリセット処理を実行するために待機に入っている必要が有るからである。
他の実施例として、CPUレジスタ235又はRAM105にCPUリセット処理実行可能フラグが保存されるようにすることができる。例えば、割込み処理において復帰情報がRAM105に保存される時に、CPU101がCPUリセット処理実行可能フラグをオンにする。そして、CPUリセット処理実行可能フラグがオンである場合のみ、CPUリセット処理を実行し、CPUリセット処理完了時に、CPU101がCPUリセット処理実行可能フラグをオフにする。これにより、CPUに致命的なエラーが発生し、割込み処理において復帰情報がRAM105へ更新されない場合、CPUリセット処理において、致命的なエラーが発生する前に保存された復帰情報を使い続けることを回避することができる。割込み処理において復帰情報がRAM105へ更新されない場合、マイクロコンピュータ100全体をリセットするなど他の手段により、CPU101の致命的なエラーを回避することができる。
他の実施例として、CPUリセット処理は、CPUのリセット以後(ステップ610以後)、RAM105に保存されている復帰情報が正常ではない場合、復帰情報を回復させるステップを含むことができる。ここで、復帰情報が正常であるか否かは、復帰情報の値が正常な範囲に収まっているか、適切な値になっているかなどによってCPU101が判定することができる。復帰情報を回復させる処理の例として、CPU101は、RAM105に保存されている復帰情報の履歴から正常である復帰情報を選択し、選択した復帰情報をCPUレジスタ235にコピーすることができる。
さらに他の実施例として、割込み処理は、CPUのリセット以後(ステップ610以後)、マイクロコンピュータを正常に動作させることができない場合、システムリセットを行うステップを含むことができる。ここで、マイクロコンピュータを正常に動作させることができるか否かは、CPU101が、RAM105に保存されている特定の情報が正しいことを確認することによって判定することができる。ここで、特定の情報が正しいか否かは、初期化処理のみで変更される特定の情報が、致命的なエラーが発生したことに起因して、初期化処理以外の処理によって、変更されているか否かを判定することによって行われる。さらに、マイクロコンピュータを正常に動作させることができるか否かは、CPU101が、履歴としてRAM105に保存されている複数の復帰情報から、正常な範囲又は適切な値である復帰情報が有るか否かを確認することによって判定することができる。正常な範囲又は適切な値である復帰情報が一つもない場合、マイクロコンピュータは正常に動作することができないと判断される。
図7は、CPU101が正常に動作している場合の第1の実施例(図3参照)についてのタイムチャートである。そのタイムチャートは、時刻T1、T2・・・T5、T6の順に時間が進んでいることを示す。状態701、715、及び、730は、応用プログラムの処理が実行されていること示す。状態705及び720は、割込み処理が実行されていることを示す。状態710及び725は、CPUリセット処理が実行されていることを示す。
時刻T1より前において、応用プログラムの処理が実行されている(状態701)。時刻T1において、CPU101は、割込み要求信号を受信する。CPU101は、割込み要求信号の受信をトリガとして、応用プログラムの処理を中断し、割込み処理を開始する(状態705)。割込み処理において、CPU101は、割込み処理開始時点のCPUレジスタ235の情報を復帰情報としてRAM105に保存する。
時刻T2において、割込み処理が終了し、CPU101は、CPUリセット信号を受信する。CPU101は、CPUリセット信号の受信をトリガとして、CPUリセット処理を開始する(状態710)。CPUリセット処理において、CPU101がリセットされた後、CPU101は、RAM105に保存されている復帰情報をCPUレジスタ235にコピーする。これにより、時刻T3において、CPU101は、中断された応用プログラムをT1時点の処理から再開する。時刻T4、T5、及び、T6において、時刻T1、T2、及び、T3と同様に、応用プログラムの中断、割込み処理、及び、CPUリセット処理が実行される。
図8は、CPU101において致命的なエラーが発生した場合の第1の実施例(図3参照)についてのタイムチャートである。時刻T1、T2、T3において、応用プログラムの処理、割込み処理、CPUリセット処理が実行される(状態801、805、及び、810)。状態805の割込み処理において、CPU101は、時刻T1におけるCPUレジスタ235の情報である復帰情報をRAM105に保存している。
応用プログラムの処理実行中の(状態815)T4において、CPU101に致命的なエラーが発生したとする。これにより、CPU101は正常に処理を実行することができないことから、状態820は、応用プログラムの処理が実行されていないことを示す。さらに、状態825は割込み処理が実行されていないことを示す。
時刻T6において、CPU101は、CPUリセット信号を受信する。CPU101は、CPUリセット信号の受信をトリガとして、CPUリセット処理を開始する(状態830)。CPUリセット処理において、CPU101がリセットされた後、CPU101は、RAM105に保存されている復帰情報をCPUレジスタ235にコピーする。これにより、時刻T7において、CPU101は、中断された応用プログラムをT1時点の処理から再開する(状態835)。
図9は、CPU101において致命的なエラーが発生した場合の第2の実施例(図4参照)についてのタイムチャートである。時刻T1、T2において、応用プログラムの処理、割込み処理が実行される(状態901及び905)。状態905の割込み処理において、CPU101は、時刻T1におけるCPUレジスタ235の情報である復帰情報をRAM105に保存している。
時刻T2において、CPUリセット信号の発生を禁止する処理が実行される(状態910)。これにより、CPUリセット処理が実行されない。CPUリセット処理が実行されないため、割込み処理が終了した後、時刻T2において、応用プログラムの処理が再開される(状態915)。
応用プログラムの処理実行中の(状態915)T4において、CPU101に致命的なエラーが発生したとする。これにより、CPU101は正常に処理を実行することができないことから、状態920の応用プログラムの処理及び状態925の割込み処理は実行されず、さらに、時刻T2において実行されていたCPUリセット信号の発生を禁止する処理も実行されない。
時刻T6において、CPUリセット信号の発生を禁止する処理が実行されないため、CPU101は、CPUリセット信号を受信する。CPU101は、CPUリセット信号の受信をトリガとして、CPUリセット処理を開始する(状態930)。CPUリセット処理において、CPU101がリセットされた後、CPU101は、RAM105に保存されている復帰情報をCPUレジスタ235にコピーする。これにより、CPU101は、時刻T7において、中断された応用プログラムをT1時点の処理から再開する(状態940)。
本発明により、CPUにおいて、いわゆる暴走などの致命的なエラーが発生した場合、マイクロコンピュータ全体をリセットすることなく、CPUのみをリセットすることによって、致命的なエラーからマイクロコンピュータを復帰させることができる。これにより、産業界で広く使われている組込み用マイクロコンピュータのCPUで発生する致命的なエラーへの対策をより高速に、かつ、簡単に実現することができる。メカトロニクス、ロボット、パチンコ、パチスロ台を含むゲーム機器、自動車のエンジンコントロール、ブレーキのコントロール、エレベーターのコントロールなどの分野において、マイクロコンピュータにおけるCPUの致命的なエラーは事故や危険、ないしは金銭の損害を生じさせる可能性がある。したがって、このような分野において、本発明によるマイクロコンピュータを用いることによって、事故や損害を大幅に軽減することができる。
100 マイクロコンピュータ
101 中央処理装置(CPU)
105 主記憶装置(RAM)
110 ROM
115 通信用回路
120 ユニバーサルカウンタタイマ
125 入出力ポート
130 論理和回路(OR回路)
135 システムリセット信号源
140 クロック発生回路
145 タイマカウンタ回路
150 付加タイマ
155 ウオッチドッグ回路
160 違法命令検出回路及び正域外アクセス検出回路
165 システムリセット用バス
170 CPUバス
210 クロック発生器
215 分周器
220 カウンタ
225 付加タイマ
230 比較器
235 CPUレジスタ
240 CPUリセット信号用フリップフロップ回路
245 割込み要求信号用フリップフロップ回路
250 システムリセット用フリップフロップ回路
255 レジスタ

Claims (5)

  1. CPUと、
    前記CPUとCPUバスを介して接続されているRAMと、
    割込み処理の実行開始を要求するための割込み要求信号を前記CPUに出力する割込み要求信号出力手段と、
    前記割込み要求信号出力手段が前記割込み要求信号を出力した後、CPUリセット処理の開始を要求するためのCPUリセット信号を前記CPUに出力するCPUリセット信号出力手段と
    を備え、
    前記CPUは、前記割込み要求信号を受信すると、当該CPU上で実行されている応用プログラムの処理を中断するとともに、当該CPUのCPUレジスタの情報を復帰情報として前記RAMに保存し、さらに、前記CPUリセット信号を受信すると、当該CPUは、リセットされるとともに、当該RAMに保存されている当該復帰情報を当該CPUレジスタにコピーし、
    前記CPUリセット信号及び前記割込み要求信号を周期的に発生させるタイマカウンタ回路をさらに備えた装置。
  2. 前記タイマカウンタ回路は、付加タイマを備え、
    前記CPUは前記CPUレジスタの情報が正常であるか判定し、前記CPUレジスタの情報が正常であると判定された場合のみ、前記付加タイマは、前記CPUリセット信号が前記CPUへ供給される間作動し、前記CPUリセット処理の実行を禁止することを特徴とする請求項に記載の装置。
  3. 装置全体をリセットするためのシステムリセット信号源と、
    論理和回路と
    をさらに備え、
    前記CPUリセット信号出力手段及び前記システムリセット信号源は、前記論理和回路の入力側に接続されており、前記CPUは、論理和回路の出力側に接続されていることを特徴とする請求項1又は2に記載の装置。
  4. 割込み処理の実行開始を要求するための割込み要求信号を、タイマカウンタ回路からCPUに出力するステップと、
    前記CPUによって、前記割込み要求信号を受信し、当該CPU上で実行されている応用プログラムの処理を中断するステップと、
    前記CPUによって、当該CPUのCPUレジスタの情報を復帰情報としてRAMに保存するステップと、
    前記割込み要求信号が出力された後、CPUリセット処理の開始を要求するためのCPUリセット信号を、前記タイマカウンタ回路から前記CPUに出力するステップと、
    前記CPUにおいて、前記CPUリセット信号を受信し、当該CPUをリセットするステップと、
    前記CPUによって、前記RAMに保存されている前記復帰情報を前記CPUレジスタにコピーするステップと、
    を含み、
    前記CPUリセット信号及び前記割込み要求信号を、前記タイマカウンタ回路によって周期的に発生させることを特徴とする、装置の動作方法。
  5. 前記CPUによって、前記CPUレジスタの情報が正常であるか判定し、前記CPUレジスタの情報が正常であると判定された場合のみ、前記CPUリセット信号が前記CPUへ供給される間、前記CPUをリセットするステップの実行を禁止するステップをさらに含むことを特徴とする請求項に記載の装置の動作方法。
JP2013080600A 2009-10-15 2013-04-08 マイクロコンピュータ及びその動作方法 Expired - Fee Related JP5705258B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013080600A JP5705258B2 (ja) 2009-10-15 2013-04-08 マイクロコンピュータ及びその動作方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009238742 2009-10-15
JP2009238742 2009-10-15
JP2013080600A JP5705258B2 (ja) 2009-10-15 2013-04-08 マイクロコンピュータ及びその動作方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011536199A Division JP5244981B2 (ja) 2009-10-15 2010-10-15 マイクロコンピュータ及びその動作方法

Publications (3)

Publication Number Publication Date
JP2013137835A JP2013137835A (ja) 2013-07-11
JP2013137835A5 JP2013137835A5 (ja) 2013-11-28
JP5705258B2 true JP5705258B2 (ja) 2015-04-22

Family

ID=43876266

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011536199A Active JP5244981B2 (ja) 2009-10-15 2010-10-15 マイクロコンピュータ及びその動作方法
JP2013080600A Expired - Fee Related JP5705258B2 (ja) 2009-10-15 2013-04-08 マイクロコンピュータ及びその動作方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011536199A Active JP5244981B2 (ja) 2009-10-15 2010-10-15 マイクロコンピュータ及びその動作方法

Country Status (10)

Country Link
US (1) US8954801B2 (ja)
EP (1) EP2490125A1 (ja)
JP (2) JP5244981B2 (ja)
KR (2) KR20140105584A (ja)
CN (1) CN102656568B (ja)
AU (1) AU2010307632B2 (ja)
BR (1) BR112012008687A2 (ja)
IN (1) IN2012DN03088A (ja)
RU (1) RU2520399C2 (ja)
WO (1) WO2011046217A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011046217A1 (ja) 2009-10-15 2011-04-21 株式会社エルイーテック マイクロコンピュータ及びその動作方法
JP5540697B2 (ja) * 2009-12-25 2014-07-02 富士通株式会社 演算処理装置、情報処理装置および演算処理装置の制御方法
DE102012209712A1 (de) * 2012-06-11 2013-12-12 Robert Bosch Gmbh Aktive Funktionseinschränkung eines Mikrocontrollers
GB2503459A (en) * 2012-06-26 2014-01-01 Nordic Semiconductor Asa Multiple hardware registers for watchdog timer preventing erroneous microprocessor system reset
US10040447B2 (en) * 2012-10-05 2018-08-07 Ford Global Technologies, Llc Control strategy for an electric machine in a vehicle
CN103809717B (zh) * 2012-11-09 2017-04-12 华为技术有限公司 复位方法和网络设备
JP6266239B2 (ja) * 2013-07-11 2018-01-24 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
JP2016181055A (ja) * 2015-03-23 2016-10-13 株式会社東芝 情報処理装置
US9857975B2 (en) * 2015-06-26 2018-01-02 International Business Machines Corporation Non-volatile memory drive partitions within microcontrollers
JP6722010B2 (ja) * 2016-03-16 2020-07-15 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察システム
CN105954636A (zh) * 2016-04-21 2016-09-21 张顺 一种短路和接地故障指示器
KR102406740B1 (ko) * 2020-08-28 2022-06-08 주식회사 엘씨엠에너지솔루션 태양광 라이팅 시스템용 컨트롤러 및 태양광 라이팅 시스템의 리셋 방법

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4234870A (en) * 1979-01-11 1980-11-18 General Signal Corporation Vital electronic code generator
JPS5616248A (en) * 1979-07-17 1981-02-17 Matsushita Electric Ind Co Ltd Processing system for interruption
JPS63221437A (ja) * 1987-03-11 1988-09-14 Alps Electric Co Ltd Cpuの暴走検出方式
US5109506A (en) 1989-06-19 1992-04-28 International Business Machines Corp. Microcomputer system including a microprocessor reset circuit
JPH04160438A (ja) * 1990-10-23 1992-06-03 Mitsubishi Electric Corp 半導体装置
US5551033A (en) * 1991-05-17 1996-08-27 Zenith Data Systems Corporation Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program
JPH05155295A (ja) 1991-12-03 1993-06-22 Fuji Heavy Ind Ltd 車輌用電子制御システムの制御方法
JP2658697B2 (ja) * 1991-12-11 1997-09-30 富士通株式会社 ウォッチ・ドック・タイマ回路
JP3135714B2 (ja) 1992-10-29 2001-02-19 株式会社東芝 チェックポイントリスタート方式
JPH06161797A (ja) * 1992-11-24 1994-06-10 Mitsubishi Electric Corp データ処理装置
US5752073A (en) 1993-01-06 1998-05-12 Cagent Technologies, Inc. Digital signal processor architecture
DE69403192T2 (de) 1993-01-21 1997-12-04 Apple Computer Vorrichtung und verfahren zur datensicherung von speichereinheiten in einem rechnernetzwerk
JP3045888B2 (ja) 1993-02-23 2000-05-29 株式会社日立製作所 データ処理装置
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JPH06102099B2 (ja) 1993-08-06 1994-12-14 株式会社大一商会 パチンコ機の制御装置
GB2281986B (en) 1993-09-15 1997-08-06 Advanced Risc Mach Ltd Data processing reset
JPH07191579A (ja) * 1993-12-27 1995-07-28 Minolta Co Ltd 画像形成装置
JPH07219796A (ja) 1994-02-04 1995-08-18 Kofu Nippon Denki Kk 情報処理装置
JP3276782B2 (ja) * 1994-08-18 2002-04-22 本田技研工業株式会社 電動補助自転車
US6738894B1 (en) * 1995-02-07 2004-05-18 Hitachi, Ltd. Data processor
JPH09237076A (ja) 1995-12-27 1997-09-09 Omron Corp 画像表示システム
JP3425838B2 (ja) 1996-04-30 2003-07-14 日本電気株式会社 データ退避読み出し方法
JPH09319602A (ja) 1996-05-31 1997-12-12 Toshiba Corp コンピュータシステム及びリセット制御方法
JP3094924B2 (ja) 1996-10-31 2000-10-03 日本電気株式会社 通信装置制御回路
JPH10240620A (ja) 1996-12-26 1998-09-11 Toshiba Corp コンピュータシステムおよび同システムにおけるチェックポイントイメージ保存方法
KR100352023B1 (ko) * 1999-09-03 2002-09-11 가야바코교 가부시기가이샤 페일세이프기구
JP4146045B2 (ja) 1999-09-10 2008-09-03 株式会社東芝 電子計算機
JP2001188687A (ja) 2000-01-05 2001-07-10 Matsushita Electric Ind Co Ltd マイクロコンピュータ
JP3981234B2 (ja) * 2000-02-21 2007-09-26 松下電器産業株式会社 マイクロコンピュータ
JP2001243211A (ja) * 2000-02-29 2001-09-07 Mitsubishi Electric Corp マイクロコンピュータ
JP2002108835A (ja) * 2000-09-29 2002-04-12 Mitsubishi Electric Corp 車載電子制御装置
DE10049441B4 (de) * 2000-10-06 2008-07-10 Conti Temic Microelectronic Gmbh Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
US6779065B2 (en) 2001-08-31 2004-08-17 Intel Corporation Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads
JP2004086451A (ja) * 2002-08-26 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路
JP4294503B2 (ja) * 2003-07-31 2009-07-15 富士通マイクロエレクトロニクス株式会社 動作モード制御回路、動作モード制御回路を含むマイクロコンピュータ及びそのマイクロコンピュータを利用した制御システム
RU2265240C2 (ru) 2003-11-27 2005-11-27 Общество с ограниченной ответственностью Научно-производственная фирма "КРУГ" (ООО НПФ "КРУГ") Модуль системного контроля
JP4522799B2 (ja) * 2004-09-08 2010-08-11 ルネサスエレクトロニクス株式会社 半導体回路装置及び暴走検出方法
US7610462B2 (en) 2004-09-16 2009-10-27 Wms Gaming Inc. Gaming machine with secure fault-tolerant memory
JP2006172316A (ja) 2004-12-17 2006-06-29 Nec Corp コンテキスト維持方法、情報処理装置及び割り込み発生装置
TW200625083A (en) 2005-01-14 2006-07-16 Farstone Tech Inc Backup/recovery system and method thereof
US7328315B2 (en) 2005-02-03 2008-02-05 International Business Machines Corporation System and method for managing mirrored memory transactions and error recovery
CN100363904C (zh) 2005-03-05 2008-01-23 鸿富锦精密工业(深圳)有限公司 中央处理器温度侦测与校正装置及方法
US7457928B2 (en) * 2005-10-28 2008-11-25 International Business Machines Corporation Mirroring system memory in non-volatile random access memory (NVRAM) for fast power on/off cycling
JP2007323631A (ja) * 2006-05-01 2007-12-13 Shinko Electric Ind Co Ltd Cpu暴走判定回路
JP4893427B2 (ja) * 2006-06-30 2012-03-07 株式会社デンソー マイクロコンピュータシステム
JP2008152594A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd マルチコアプロセッサ計算機の高信頼化方法
GB2455344B (en) * 2007-12-06 2012-06-13 Advanced Risc Mach Ltd Recovering from control path errors
JP4691170B2 (ja) 2008-03-04 2011-06-01 株式会社ジョブ X線照射装置
US8381032B2 (en) 2008-08-06 2013-02-19 O'shantel Software L.L.C. System-directed checkpointing implementation using a hypervisor layer
WO2011046217A1 (ja) 2009-10-15 2011-04-21 株式会社エルイーテック マイクロコンピュータ及びその動作方法
JP5579257B2 (ja) 2010-03-30 2014-08-27 株式会社エルイーテック 主記憶装置における情報を復元するための装置及び方法

Also Published As

Publication number Publication date
WO2011046217A1 (ja) 2011-04-21
AU2010307632B2 (en) 2013-12-05
JPWO2011046217A1 (ja) 2013-03-07
JP2013137835A (ja) 2013-07-11
RU2012119785A (ru) 2013-11-20
KR20120085810A (ko) 2012-08-01
CN102656568A (zh) 2012-09-05
US8954801B2 (en) 2015-02-10
RU2520399C2 (ru) 2014-06-27
AU2010307632A1 (en) 2012-05-17
EP2490125A1 (en) 2012-08-22
CN102656568B (zh) 2015-09-02
KR20140105584A (ko) 2014-09-01
US20120254658A1 (en) 2012-10-04
IN2012DN03088A (ja) 2015-07-31
BR112012008687A2 (pt) 2016-04-19
JP5244981B2 (ja) 2013-07-24

Similar Documents

Publication Publication Date Title
JP5705258B2 (ja) マイクロコンピュータ及びその動作方法
JP5199088B2 (ja) 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US7966528B2 (en) Watchdog mechanism with fault escalation
US20110246820A1 (en) Microcomputer mutual monitoring system and a microcomputer mutual monitoring method
US9349084B2 (en) Image forming apparatus, non-transitory computer-readable storage medium and method for monitoring error in central processing unit and performs resetting process
JP6011162B2 (ja) 電子制御装置
US7716524B2 (en) Restarting an errored object of a first class
US7966527B2 (en) Watchdog mechanism with fault recovery
JP4812699B2 (ja) 電源制御装置
JP5579257B2 (ja) 主記憶装置における情報を復元するための装置及び方法
JP2018092571A (ja) 電子装置、再起動方法およびプログラム
JPH11259340A (ja) コンピュータの再起動制御回路
JP2019020869A (ja) 車両制御装置
JP2016203764A (ja) 車両の電子制御装置
JP7091853B2 (ja) 電子制御装置
JP6589767B2 (ja) 電子制御装置
JPH02293939A (ja) スタックオーバーフロー検出時処理方式
JP2006099654A (ja) 半導体回路装置
JP2012069063A (ja) P−run信号出力装置、組込制御装置
JP2006120059A (ja) デッドロック回避オペレーティングシステム
WO2009016187A2 (en) Watchdog mechanism with fault recovery
JPH037965B2 (ja)
JP2001197654A (ja) ディジタル形保護継電装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140821

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150224

R150 Certificate of patent or registration of utility model

Ref document number: 5705258

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees