(58)【調査した分野】(Int.Cl.,DB名)
前記所定の動作モードは、前記マイクロプロセッサが前記ウオッチドックカウンタ信号を出力しないことが予定されている動作モードであることを特徴とする請求項1に記載の監視装置。
前記制御信号生成手段は、前記ウオッチドッグカウンタ信号の入力が無いか否かを示す前記第1監視手段の出力論理信号と、前記マイクロプロセッサが所定の動作モードであるか否かを示す前記第2監視手段の出力論理信号との論理積信号を生成する論理回路を備える請求項1又は2に記載の監視装置。
【発明を実施するための形態】
【0015】
以下、添付する図面を参照して本発明の実施例について説明する。
図1は、制御装置の概略構成例を示す図である。制御装置1は、マイクロプロセッサ10と、電源回路11と、出力ドライバ12と、出力遮断部14を備える。
【0016】
制御装置1は、マイクロプロセッサ10により所与の制御プログラムが実行されることによって、負荷4の動作を制御する。制御装置1は、例えば車載用ECUであってよい。
【0017】
電源回路11は、外部電源としてのバッテリ2から供給される電圧を所定電圧に変換する。電源回路11は、この所定電圧をマイクロプロセッサ10へ電源電圧として供給する。スイッチ3は、電源回路11とバッテリ2との間の接続を開閉する。すなわちスイッチ3は、電源回路11のオンオフを切り替える。制御装置1が車載用ECUである場合、スイッチ3は、例えばイグニッションスイッチであってよい。
【0018】
以下の説明及び添付する図面において、スイッチ3から電源回路11へ入力される入力電圧を「入力電圧SS」と表記し、電源回路11が供給する出力電圧を「出力電圧PO」と表記することがある。
【0019】
出力ドライバ12は、抵抗素子13を介してマイクロプロセッサ10の出力線17から出力される出力論理値を入力する。出力ドライバ12は、入力された出力論理値に応じて負荷を駆動する駆動電力OUTを出力する。
【0020】
出力遮断部14は、マイクロプロセッサ10が異常である場合に、出力ドライバ12に入力される出力論理値を予め定められた所定値に固定するための構成要素である。出力遮断部14は、マイクロプロセッサ10から出力ドライバ12へ至る出力線17のいずれかの点に電気的に接続される制御線18を有していてよい。本明細書において出力線17と制御線18との接続点を「A点」と表記することがある。出力遮断部14は、制御線18を介してA点に所定値を与えることによって、出力ドライバ12に入力される出力論理値を所定値に固定する。
【0021】
上記所定値は、出力ドライバ12に所定値が入力された場合に負荷4が安全側に動作するように定めてよい。例えば、負荷4の動作や機能が停止することがより安全な場合には、上記所定値が入力された場合に出力ドライバ12が駆動電力OUTを出力しないように所定値が定められてよい。
【0022】
負荷4が動作し続けることがより安全な場合には、上記所定値が入力された場合に出力ドライバ12が駆動電力OUTを出力するように所定値が定められてよい。このような負荷4の例は、動作することによって安全性の向上をもたらす負荷、例えばワイパーなどであってよい。負荷4は、保安部品であってもよい。
【0023】
出力遮断部14は、監視装置15と出力制御回路16を備える。監視装置15は、入力電圧SSの電圧値及び出力電圧POの電圧値を入力する。また、出力遮断部14は、マイクロプロセッサ10から、スリープ信号SL及びウオッチドッグカウンタ信号WDCを入力する。なお、監視装置15は集積回路として形成されてよい。出力制御回路16と監視装置15は、一体の集積回路として形成されてもよい。
【0024】
監視装置15は、所定期間T0に亘ってウオッチドッグカウンタ信号WDCが、マイクロプロセッサ10から入力されないとき、リセット信号RSをマイクロプロセッサ10へ出力する。監視装置15は、電源回路11の出力電圧POの電源が低下した場合もリセット信号RSを出力する。
【0025】
監視装置15は、スイッチ3を閉じることによりマイクロプロセッサ10へ電源が供給されマイクロプロセッサ10が動作を開始してから、ウオッチドッグカウンタ信号WDCの入力が正常であると判定するまでの間、「V1」の値を持つ出力制御信号DEFを出力する。すなわち、マイクロプロセッサ10が動作を開始した直後の出力制御信号DEFの初期値は「V1」である。監視装置15は、所定期間T1に亘ってウオッチドッグカウンタ信号WDCが連続して入力される場合に、ウオッチドッグカウンタ信号WDCの入力が正常であると判定する。
【0026】
また、監視装置15は、ウオッチドッグカウンタ信号WDCが所定期間T0に亘ってマイクロプロセッサ10から入力されないとき、「V1」の値を持つ出力制御信号DEFを出力する。出力制御信号DEFは出力制御回路16へ入力される。
【0027】
また、監視装置15は、マイクロプロセッサ10がスリープ状態である場合、すなわち、スイッチ3が開いているかマイクロプロセッサ10からスリープ信号SLが出力されている場合、「V1」の値を持つ出力制御信号DEFを出力する。それ以外の場合に監視装置15は、「V2」の値を持つ出力制御信号DEFを出力する。
【0028】
ある実施例において「V1」の論理値は「L」であり、「V2」の論理値は「H」であってよい。但し、これら信号V1及びV2、並びに他の信号の論理値の組み合わせは、本明細書において示される論理値の組み合わせの例によって実現される動作と同様の動作を実現することが可能な組み合わせであれば、どのような値の組み合わせであってもよい。
【0029】
出力制御回路16は、「V1」の値を持つ出力制御信号DEFが出力される場合に、A点の電位を所定値に固定する。すなわち、出力制御回路16は、出力ドライバ12に入力される出力論理値を所定値に固定する。出力制御回路16は、「V2」の値を持つ出力制御信号DEFが出力される場合には、出力ドライバ12に入力される出力論理値を固定しない。すなわち、出力制御回路16は、マイクロプロセッサ10の出力線17から出力される論理値を、そのまま出力ドライバ12に入力させる。
【0030】
次に、監視装置15の構成を説明する。
図2は、
図1に示す監視装置15の構成例を示す図である。監視装置15は、電源低下検知部20と、第1監視部21と、第2監視部22と、論理回路23と、制御信号生成部24と、リセット信号生成部25を備える。
【0031】
電源低下検知部20は、電源回路11の出力電圧POの電圧の低下を検出し、検出結果を示す検出信号を論理回路23へ出力する。例えば、電源低下検知部20は、出力電圧POが所定の閾値より低いとき、出力電圧POの電圧の低下を検出してよい。電源低下検知部20は、出力他の条件を用いて出力電圧POの電圧の低下を検出してもよい。
【0032】
例えば、電源低下検知部20は、出力電圧POの電圧の低下を検出したとき論理値「L」を出力し、それ以外の場合には論理値「H」を出力してよい。
【0033】
第1監視部21は、ウオッチドッグカウンタ信号WDCの入力の有無を判定する。第1監視部21は、電源回路11への入力電圧SSに基づいてスイッチ3の開閉、すなわち電源回路11のオンオフを判定する。電源回路11がオフからオンに切り替わったことを検出した場合、第1監視部21は、所定期間T1に亘ってウオッチドッグカウンタ信号WDCが連続して入力される場合に、ウオッチドッグカウンタ信号WDCの入力が正常であると判定する。
【0034】
それ以降、第1監視部21は、ウオッチドッグカウンタ信号WDCが入力されている場合に、ウオッチドッグカウンタ信号WDCの入力が正常であると判定してよい。第1監視部21は、ウオッチドッグカウンタ信号WDCの入力の中断が所定期間T0よりも長く連続しない場合に、ウオッチドッグカウンタ信号WDCの入力が正常であると判定してもよい。
【0035】
第1監視部21は、ウオッチドッグカウンタ信号WDCの入力が正常であるか否かを判定した結果を示す判定信号を、論理回路23及び制御信号生成部24に出力する。例えば第1監視部21は、ウオッチドッグカウンタ信号WDCの入力が正常である場合に論理値「H」を、それ以外の場合に論理値「L」を出力してよい。この場合、論理値「H」はマイクロプロセッサ10が正常であることを示し、論理値「L」はマイクロプロセッサ10が異常であることを示す。
【0036】
第2監視部22は、マイクロプロセッサ10からのスリープ信号SLの入力の有無を判定する。第2監視部22は、入力電圧SSに基づいてスイッチ3の開閉を判定する。第1監視部21は、スイッチ3が開いているかマイクロプロセッサ10からスリープ信号SLを入力している場合に、マイクロプロセッサ10がスリープ状態であると判定する。
【0037】
第2監視部22は、マイクロプロセッサ10がスリープ状態であるか否かの判定結果を示す判定信号を、制御信号生成部24に出力する。例えば第2監視部22は、マイクロプロセッサ10がスリープ状態でないとき、論理値「H」を出力してよい。第2監視部22は、マイクロプロセッサ10がスリープ状態であるとき、論理値「L」を出力してよい。
【0038】
論理回路23は、電源低下検知部20から出力される検出信号及び第1監視部21から出力される判定信号に基づいて、出力電圧POの電圧低下が生じたか、又はウオッチドッグカウンタ信号WDCの入力が異常であることを示す論理信号を生成する。このため論理回路23は、出力電圧POの電圧低下が生じたことを示す論理信号と、ウオッチドッグカウンタ信号WDCの入力の異常であることを示す論理信号との論理積信号を生成してよい。例えば、論理回路23は、電源低下検知部20から出力される検出信号と第1監視部21から出力される判定信号とのNAND値を演算する論理素子と、このNAND値を反転させる論理素子を備えていてよい。
【0039】
リセット信号生成部25は、論理回路23の出力論理値に基づいてリセット信号RSを出力する。
【0040】
制御信号生成部24は、第1監視部21及び第2監視部22から各々出力される判定信号に基づいて、ウオッチドッグカウンタ信号WDCの入力が異常であるか、又はマイクロプロセッサ10がスリープ状態である示す論理信号を生成する。このため、制御信号生成部24は、ウオッチドッグカウンタ信号WDCの入力が異常であることを示す論理信号と、マイクロプロセッサ10がスリープ状態である示す論理信号との論理積信号を生成してよい。例えば、制御信号生成部24は、第1監視部21及び第2監視部22から各々出力される検出信号のNAND値を演算する論理素子と、このNAND値を反転させる論理素子を備えていてよい。制御信号生成部24は、生成した論理値を出力制御信号DEFとして出力する。
【0041】
次に、出力制御回路16の構成を説明する。
図3は、
図1に示す出力制御回路16の第1例を示す図である。出力制御回路16は、スイッチング素子30及び32と、抵抗31を備える。図示の構成例は、スイッチング素子30及び32としてNPN型トランジスタを使用するが、他のタイプの能動素子をスイッチング素子として使用してもよい。以下に説明する他の実施例でも同様である。
【0042】
トランジスタ32は、出力制御信号DEFに応じて、マイクロプロセッサ10の出力線17のA点に電気的に接続される制御線18と上記所定値に対応する電位との間の接続を開閉する。
図3に示す例の場合、トランジスタ32は、出力制御信号DEFが値「V1」であるとき制御線18とグランド(GND)とを接続し、出力制御信号DEFが値「V2」であるとき制御線18とグランド(GND)との接続を切断する。この場合、所定値に対応する電位が示す論理値は「L」である。
【0043】
トランジスタ30のコレクタは抵抗31を介して所定の正電位が与えられ、エミッタは接地され、出力制御信号DEFはトランジスタ30のベースに入力される。トランジスタ30のコレクタ電圧はトランジスタ32のベースに入力され、トランジスタ32のエミッタが接地される。このようにトランジスタ30及び32を接続することにより、制御線18が接続されるトランジスタ32のコレクタは、出力制御信号DEFの論理値に応じてグランドに接続される。
【0044】
次に、ウオッチドッグカウンタ信号WDCとスリープ信号SLによるマイクロプロセッサの出力論理値の制御方法について説明する。まず、比較のために、
図1〜
図3を参照して上述した制御装置による制御方法とは異なる他の制御方法を説明する。
図4は、マイクロプロセッサの出力論理値の他の制御方法の一例を示す。
【0045】
なお、
図4の制御方法の例は、マイクロプロセッサ10が動作を開始した直後の出力制御信号DEFの初期値が「V2」である点で、少なくとも
図1〜
図3を参照して上述した制御装置の制御方法と異なる。
図1〜
図3を参照して上述した制御装置は、マイクロプロセッサ10が動作を開始してから、所定期間T1に亘ってウオッチドッグカウンタ信号が入力されるまでの間の出力制御信号DEFの初期値は「V1」である。
【0046】
図4の(A)は、バッテリ2から制御装置1への電源供給のスイッチ3のオンオフを示すタイムチャートであり、
図4の(B)は、マイクロプロセッサ10への供給電源へ変換する電源回路11のオンオフを示すタイムチャートである。
【0047】
図4の(C)〜
図4の(G)は、それぞれ、ウオッチドッグカウンタ信号WDC、リセット信号RS、出力制御信号DEF、マイクロプロセッサ10の論理出力値、及び出力ドライバ12の出力のタイムチャートを示す。
【0048】
時刻t1においてスイッチ3がオンになり、電源回路11がオンになることによってマイクロプロセッサ10が動作を開始する。
図4の(C)はウオッチドッグカウンタ信号WDCのタイムチャートは、ウオッチドッグカウンタ信号WDCの入力がないことを示している。
【0049】
マイクロプロセッサ10の動作中に、所定期間T0に亘ってウオッチドッグカウンタ信号WDCが入力されないとき、時刻t2においてリセット信号RSの値は論理値「H」から「L」に変化し、マイクロプロセッサ10がリセットされる。マイクロプロセッサ10のリセット後にリセット信号RSの論理値は「H」に復帰する。
【0050】
時刻t1においてスイッチ3がオンになった直後の出力制御信号DEFの初期値は「V2」である。時刻t2においてリセット信号RSが出力されると、出力制御信号DEFの値は「V1」へ変化する。出力制御信号DEFの値は、リセット信号RSの復帰後、所定期間T0よりも長い遅延時間が経過した後に「V2」へ復帰する。
【0051】
したがって、マイクロプロセッサ10がリセットされてもマイクロプロセッサ10が異常から回復せず、ウオッチドッグカウンタ信号WDCの出力が開始しない場合には、出力制御信号DEFの値は「V2」に回復しない。
図4の(E)の例では、時刻t2以降、出力制御信号DEFは「V1」の値を維持する。
【0052】
図4の(F)に示すタイムチャートは、異常により、マイクロプロセッサ10の出力論理値が「H」になっている状態を示す。マイクロプロセッサ10の出力論理値は、リセット期間を除いて値「H」のまま固定されている。
【0053】
出力制御信号DEFの値が「V1」である間、出力ドライバ12の入力は所定値に固定される。
図4の(F)に示すタイムチャートは、所定値を入力する出力ドライバ12の出力がオフになる状態を示している。出力制御信号DEFにより、時刻t2のリセット信号RS生成後は、マイクロプロセッサ10の出力に関わらず出力ドライバ12の出力はオフになる。出力ドライバ12の出力がオフである間は負荷4が動作しないため安全性が保たれる。
【0054】
しかしながら、
図4の制御方法の例の場合、スイッチ3がオンになる時刻t1からリセット信号RSが生成される時刻t2までの間、異常によって出力ドライバ12の出力がオンになり、負荷4に誤動作の恐れが生じる。
【0055】
図5は、制御方法の更なる他の例を示す。
図5の制御方法の例では、ウオッチドッグカウンタ信号WDCの入力が無くても、マイクロプロセッサ10がスリープ状態の間は出力制御信号DEFの値を「V1」へ変化させない点で、
図1〜
図3を参照して上述した制御装置の動作と異なる。
【0056】
図5の(A)〜
図5の(G)は、スイッチ3のオンオフ、電源回路11のオンオフ、スリープ信号SL、ウオッチドッグカウンタ信号WDC、出力制御信号DEF、マイクロプロセッサ10の論理出力値、及び出力ドライバ12の出力のタイムチャートを示す。
【0057】
時刻t1においてスイッチ3がオンになり、電源回路がオンになることによってマイクロプロセッサ10が動作を開始する。
図4の(D)のタイムチャートはウオッチドッグカウンタ信号WDCの入力があることを示している。
【0058】
時刻t1においてスイッチ3がオンになった直後の出力制御信号DEFの初期値は「V2」である。所定期間T0に亘ってウオッチドッグカウンタ信号WDCが入力されているので、時刻t2においてリセット信号RSは生成されない。このため、出力制御信号DEFの値は「V2」を維持する。
【0059】
図5の(C)に示すように、時刻t3において、マイクロプロセッサ10がスリープ状態になることによって、スリープ信号SLの値は「H」から「L」に変化する。マイクロプロセッサ10がスリープ状態になると、ウオッチドッグカウンタ信号WDCの入力が中断する。
図5の制御方法の例の場合、スリープ状態中は、ウオッチドッグカウンタ信号WDCの入力が中断しても、出力制御信号DEFの値を「V1」へ変化させない。
【0060】
図5の(F)は、マイクロプロセッサ10のスリープ状態中の異常により、時刻t4において、マイクロプロセッサ10の出力論理値が「H」になっている状態を示す。このとき、出力制御信号DEFの値は依然として「V2」のままなので、異常によって出力ドライバ12の出力がオンになり、負荷4に誤動作の恐れが生じる。
【0061】
続いて、
図1〜
図3を参照して上述した制御装置における出力制御信号DEFの値の決定方法を説明する。
図6は、出力制御信号DEFの値の決定方法の説明図である。なお、他の実施態様においては、下記のオペレーションAA〜AFの各オペレーションはステップであってもよい。
【0062】
オペレーションAAにおいて監視装置15は、初期値「V1」を持つ出力制御信号DEFを出力する。オペレーションABにおいて監視装置15は、スイッチ3がオンになったか否かを判定する。スイッチ3がオフである場合(オペレーションAB:N)、処理はオペレーションAAに戻る。スイッチ3がオンである場合(オペレーションAB:Y)、処理はオペレーションACへ進む。
【0063】
オペレーションACにおいて監視装置15は、ウオッチドッグカウンタ信号WDCの入力が正常か否かを判定する。ウオッチドッグカウンタ信号WDCの入力が正常である場合、処理はオペレーションAEへ進む。ウオッチドッグカウンタ信号WDCの入力が正常でない場合、処理はオペレーションADへ進む。
【0064】
オペレーションADにおいて監視装置15は、値「V1」を持つ出力制御信号DEFを出力する。その後処理をオペレーションABへ戻す。オペレーションAEにおいて監視装置15は、マイクロプロセッサ10の動作モードが所定のモードであるか否かを判定する。所定のモードは、例えば上記説明したスリープ状態であってよい。マイクロプロセッサ10の動作モードが所定のモードである場合(オペレーションAE:Y)、処理はオペレーションADへ進む。マイクロプロセッサ10の動作モードが所定のモードでない場合(オペレーションAE:N)、処理はオペレーションAFへ進む。
【0065】
オペレーションAFにおいて、監視装置15は、値「V2」を持つ出力制御信号DEFを出力する。その後処理をオペレーションABへ戻す。
【0066】
続いて、
図6の決定方法により決定される出力制御信号DEFによるマイクロプロセッサ10の出力論理値の制御を説明する。
図7は、
図1〜
図3を参照して上述した制御装置1において実施されるマイクロプロセッサ10の出力論理値の制御を示す。
【0067】
図7の(A)〜
図7の(G)は、スイッチ3のオンオフ、電源回路11のオンオフ、スリープ信号SL、ウオッチドッグカウンタ信号WDC、出力制御信号DEF、マイクロプロセッサ10の論理出力値、及び出力ドライバ12の出力のタイムチャートを示す。
【0068】
時刻t1においてスイッチ3がオンになり、電源回路11がオンになることによってマイクロプロセッサ10が動作を開始する。また、
図7の(C)に示すように、時刻t3において、マイクロプロセッサ10がスリープ状態になることによって、スリープ信号SLの値は「H」から「L」に変化する。
図7の(D)に示す通り、時刻t1から時刻t3までの間、ウオッチドッグカウンタ信号WDCが入力される。
【0069】
図7の(E)に示すように、出力制御信号DEFの初期値は「V1」であり、監視装置15は、所定期間T1に亘ってウオッチドッグカウンタ信号が入力された時刻t2に出力制御信号DEFの値を「V2」へ変化させる。
【0070】
このように、出力制御信号DEFの初期値を「V1」とすることにより、マイクロプロセッサ10が動作を開始した直後にウオッチドッグカウンタ信号の入力が正常か否か判定するまでの間、誤って出力ドライバ12を動作させてしまう問題が解消される。
【0071】
図7の(E)に示すように、時刻t3においてマイクロプロセッサ10がスリープ状態になると、監視装置15は出力制御信号DEFの値を「V1」へ変化させる。その後の時刻t4において、マイクロプロセッサ10のスリープ状態中の異常によって、マイクロプロセッサ10の出力論理値が「H」になる(
図7の(F))。
【0072】
図7の(E)に示すように、時刻t4において出力制御信号DEFの値は「V1」なので、出力ドライバ12に入力される論理値は、出力ドライバ12の出力をオフにするように定められた所定値に固定される。このため出力ドライバ12の出力はオフのまま保たれ、安全性が確保される。
【0073】
本実施例によれば、スリープ状態などの、ウオッチドッグカウンタ信号の出力がないことが予定されている所定の動作モード中にマイクロプロセッサ10に異常が発生した場合でも、負荷を制御するマイクロプロセッサ10の出力論理値を所定値に固定できる。このため、所定の動作モード中に生じた異常によって負荷が危険側に動作することが防止できる。
【0074】
また、ウオッチドックカウンタ信号の異常時、及びマイクロプロセッサの所定の動作モード時のどちらでも出力論理値を固定する場合に、ウオッチドックカウンタ信号の監視により出力論理値を固定する処理と、所定の動作モード時に出力論理値を固定する処理との間で、出力論理値を固定する回路を兼用することができる。このため回路構成が簡素化される。
【0075】
次に、出力制御回路16の他の構成例を説明する。A点に与える上記所定値は、出力ドライバ12に所定値が入力された場合に負荷4が安全側に動作するように、任意に定めてよい。したがって、出力ドライバ12や負荷4に応じて適切な値が所定値として選択される。このため、所定値として、上記の例のように論理値「L」に対応する電位だけでなく論理値「H」に対応する電位を使用する場合もある。以下の構成例では、A点の電位を論理値「H」に対応する所定値に固定する。
図8は、
図2に示す出力制御回路16の第2例を示す図である。
【0076】
出力制御回路16は、スイッチング素子30及び32と、抵抗31を備える。トランジスタ30のコレクタは抵抗31を介して所定の正電位が与えられ、エミッタは接地され、出力制御信号DEFはトランジスタ30のベースに入力される。トランジスタ30のコレクタ電圧はトランジスタ32のベースに入力され、論理値「H」に対応する電位にコレクタエミッタ間電圧に対応する電位差を加えた電位がトランジスタ32のコレクタに与えられる。このようにトランジスタ30及び32を接続することにより、制御線18が接続されるトランジスタ32のエミッタは、出力制御信号DEFの論理値に応じて論理値「H」に対応する電位に接続される。
【0077】
上記の実施例では、監視装置15はマイクロプロセッサ10がスリープ状態であるとき、値「V1」の出力制御信号DEFを出力する。これに代えて又はこれに加えて、監視装置15は、他の所定の動作モードの場合に値「V1」の出力制御信号DEFを出力するように構成されてもよい。例えば、監視装置15は、マイクロプロセッサ10がウオッチドックカウンタ信号WDCを出力しないことが予定されている他の所定の動作モードにおいて、値「V1」の出力制御信号DEFを出力してよい。このような動作モードとして、例えば、マイクロプロセッサ10内の不揮発性メモリの書き換えを行う動作モードがある。