(57)【要約】【課題】  ウォッチドッグタイマーを使用することなくCPU1とCPU2の動作を相互に監視し異常側のCPUはリセットされ正常側は状態情報を記録するマルチCPUシステムを提供する。【解決手段】  CPU1とCPU2との間のデュアルポートRAMにCPU1が定期的に値をインクリメントするCPU1カウンタ値とCPU2が定期的に値をインクリメントするCPU2カウンタ値を設ける。CPU1とCPU2は互いのカウンタを一定周期で監視し、一定時間変化しない場合はCPUの異常とみなし正常側が異常側のCPUにリセット信号を送信する。CPU2が異常動作した場合、CPU1が任意の状態情報をCPU1に接続されている不揮発メモリに保存する。CPU1が異常動作した場合はCPU2が任意の状態情報をCPU2に接続されているRAMに保存し、CPU1が正常起動した時にデュアルポートRAMを介して状態情報を送信しCPU1は不揮発メモリに状態情報を保存する。【選択図】図１
2019215742.tif 000002
【特許請求の範囲】
【請求項１】
CPU1とCPU2から成るマルチCPUシステムにおいて、CPU1とCPU2との間にデュアルポートRAMを介してデータの送受信を行い、CPU1がCPU2の動作を監視し異常を検知した時はCPU1からCPU2へリセット信号を送信し、CPU2がCPU1の動作を監視し異常を検知した時はCPU2からCPU1へリセット信号を送信し、CPU2異常検知時はCPU1に接続されている不揮発性メモリにCPU1の状態情報とデュアルポートRAMの情報を記録し、CPU1異常検知時はCPU2に接続されているRAMにCPU2の状態情報とデュアルポートRAMの情報を保存し、CPU1が起動した後にデュアルポートRAMを介してRAMに保存されているCPU1異常検知時の状態情報をCPU1に送信し、CPU1は受信したCPU1異常検知時の状態情報を不揮発メモリに転送することを特徴とするマルチCPUシステムのソフトウェアとその回路構成。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、CPU1とCPU2から成るマルチCPUシステムにおける異常検知時のリセット動作とその時の状態情報の記録に関する。
【背景技術】
【０００２】
従来、マルチCPUシステムにおいてCPU1はデュアルポートRAMを介してCPU2とのデータの送受信を行う。ウォッチドッグタイマーを１個利用しCPU1が異常動作となるとウォッチドッグタイマーがリセット信号を出力し、CPU1がリセットされる。CPU2の異常検知方法は、デュアルポートRAM上にカウンタ値を格納するメモリエリアを設け、CPU1よりデュアルポートRAMのカウンタ値をインクリメントし、CPU2にてデュアルポートRAMのカウンタ値をディクリメントする。ディクリメントのタイミングはインクリメントのタイミングより早く行う。カウンタ値があらかじめ設定した一定値を超えた場合に、CPU2の異常動作とみなしCPU1がCPU2へリセット信号を出力し、CPU2がリセットされる。掛るCPUリセット方法は下記の先行文献に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】実開平6-30841
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の方法は、ウォッチドッグタイマーを使用してCPUの異常を監視しており、CPUが異常動作した際は異常動作側のCPUをリセットし再起動するシステムであったが、この方法では問題解決に役立つCPUの情報を記憶媒体に保存する術を持たずCPUが異常動作に至った原因を解析するのが困難であった。
【課題を解決するための手段】
【０００５】
本発明は、この課題を解決するためのもので、ウォッチドッグタイマーを使用することなくCPU1とCPU2が相互にデュアルポートRAMの状態を監視し、一方のCPUの異常を検知すると正常に動作している側がそれを検知し異常側のCPUへリセット信号を送信することを可能とする。
【０００６】
さらに本発明は、CPUが異常動作をした時の状態情報を不揮発メモリに保存することにより異常動作に至った原因を解析することができる。
CPU2が異常動作した場合は、CPU1がその異常を検知しその時のデュアルポートメモリの状態及びCPU1の状態情報を不揮発メモリに保存する。
CPU1が異常動作した場合は、CPU2がその暴走を検知しその時のデュアルポートメモリの状態及びCPU2の情報をCPU2のRAMに保存する。更にCPU2はCPU1にCPU1が暴走したことを知らせるためデュアルポートRAMのCPU1前回異常信号に異常を示す信号を書き込む。CPU1は起動時にデュアルポートRAMのCPU1前回異常信号を読み込み、その値がCPU1の前回動作時異常を示す信号であればCPU2にCPU1異常時の状態を送信するよう要求する。CPU2はCPU1からのCPU1異常時の状態要求を受信するとRAMに保存されているCPU1異常時の状態をCPU1へ送信する。CPU1はCPU2から送信されたCPU1異常時の状態を受信すると、自身の不揮発メモリに保存する。
【発明の効果】
【０００７】
本発明により、ウォッチドッグタイマーを利用することなく簡便な構成によってCPUが相互に異常を検知することが可能である。
【０００８】
本発明により、CPUが異常動作をした時の状態情報を不揮発メモリに保存することが可能となり、CPUが異常動作に至った原因を解析する糸口として非常に有用な情報が得られる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係るマルチCPUシステムのブロック図を示す。
【図２】本発明に係るマルチCPUシステムの異常検知判定処理のフローチャートを示す。
【図３】本発明に係るマルチCPUシステムの初期化処理のフローチャートを示す。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施例について説明する。
【実施例１】
【００１１】
図１は、本発明の１実施例を示すもので、そのブロック構成を示す。以下図１に従って説明する。
【００１２】
CPU1はCPU2の異常を監視し異常を検知するとCPU2へのリセット信号２を送信する。更に異常発生時の状態情報を不揮発メモリに保存する。
【００１３】
CPU2はCPU1の異常を監視し異常を検知するとCPU1へのリセット信号１を送信する。更に異常発生時の状態情報をRAMに保存しCPU1が次回起動時にRAMに保存したCPU1の異常発生時の状態情報をCPU1へ送信する。
【００１４】
CPU1の異常検知はデュアルポートRAMを介してCPU2が行う。CPU1がデュアルポートRAMのCPU1カウンタ値を100ms毎にインクリメントして書き込む(１０)。CPU2はデュアルポートRAMのCPU1カウンタ値を読み込み (１１)、1秒間CPU1カウンタ値が変化しなければCPU1の異常と判断しデュアルポートRAMにCPU1前回異常信号を書き込む(３０)。その後CPU1へのリセット信号１を送信する。そのフローチャートを図２の(A)に示す。
【００１５】
CPU2の異常検知はデュアルポートRAMを介してCPU1が行う。CPU2がデュアルポートRAMのCPU2カウンタ値を100ms毎にインクリメントして書き込む(２０)。CPU1はデュアルポートRAMのCPU2カウンタ値を読み込み (２１)、1秒間CPU2カウンタ値が変化しなければCPU2の異常と判断しCPU2へのリセット信号２を送信する。そのフローチャートを図２の(B)に示す。
【００１６】
次にCPU2のRAMに保存されたCPU1異常検知時の状態情報をCPU1の不揮発性メモリに転送する方法について説明する。
【００１７】
CPU1は起動時にデュアルポートRAMのCPU1前回異常信号を読み込む(３１)。その値が−１であればデュアルポートRAMのCPU1異常時の状態情報要求応答の領域に１を書き込む(４０)。CPU2はデュアルポートRAMのCPU1異常時の状態情報要求応答を常時読み込み(４１)、１になればRAMに保存されているCPU1異常時の状態情報をデュアルポートRAMに書き込む(５０)。その後CPU2はデュアルポートRAMのCPU1異常時の状態情報要求応答に２を書き込む(４２)。CPU1１はデュアルポートRAMのCPU1異常時の状態情報要求応答を常時読み込み(４３)、２になればデュアルポートRAMのCPU1異常時の状態情報を読み込み(５１)、不揮発性メモリに転送する。そのフローチャートを図３に示す。図３の(A)はCPU1の動作を示し、(B)はCPU2の動作を示す。
【産業上の利用可能性】
【００１８】
CPU1とCPU2からなるマルチCPUのシステムにおいて正常動作しているか否かの監視がデュアルポートRAMを介して簡便に対応可能となる。また、異常時の状態情報を保存することが可能であり問題解決への時間短縮に繋がりその有用性は高い。
【符号の説明】
【００１９】
１      CPU1へのリセット信号
２      CPU2へのリセット信号
１０    CPU1カウンタ値書き込み
１１    CPU1カウンタ値読み込み
２０    CPU2カウンタ値書き込み
２１    CPU2カウンタ値読み込み
３０    CPU1前回異常信号書き込み
３１    CPU1前回異常信号読み込み
４０    CPU1異常時の状態情報要求応答１書き込み
４１    CPU1異常時の状態情報要求応答１読み込み
４２    CPU1異常時の状態情報要求応答２書き込み
４３    CPU1異常時の状態情報要求応答２読み込み
５０    RAMに保存されたCPU1異常時の状態情報書き込み
５１    CPU1異常時の状態情報読み込み
【図１】
2019215742.tif 000003
【図２】
2019215742.tif 000004
【図３】
2019215742.tif 000005