(57)【特許請求の範囲】
【請求項１】
車両制御を実施するメインＣＰＵと、該メインＣＰＵより所定周期で反転するウオッチドッグパルスを入力し、その周期性が崩れるとメインＣＰＵに対してリセット信号を出力する監視回路と、メインＣＰＵに対して通信可能に接続されたサブＣＰＵとを備え、メインＣＰＵのリセット時にはそれに引き続きメインＣＰＵがサブＣＰＵにリセットをかける構成とした車両用電子制御装置において、
サブＣＰＵは、メインＣＰＵから監視回路に出力されるウオッチドッグパルスをモニタし、その周期性が崩れた際、遅くとも監視回路からリセット信号が出力されるまでにメインＣＰＵのリセット履歴をメモリに記憶することを特徴とする車両用電子制御装置。
【請求項２】
サブＣＰＵは、ウオッチドッグパルスの所定エッジの有無を確認し、ウオッチドッグパルスの所定エッジが無いとメインＣＰＵにリセットがかかる旨予測してリセット履歴をメモリに記憶し、その後、監視回路によるリセット信号の出力前にウオッチドッグパルスの所定エッジが確認されると、前記記憶したリセット履歴を消去する請求項１記載の車両用電子制御装置。
【請求項３】
サブＣＰＵは、リセット履歴がｎ回記憶された時点でメインＣＰＵが異常である旨判定する請求項１又は２に記載の車両用電子制御装置。
【請求項４】
メインＣＰＵは、リセット後の再起動時においてサブＣＰＵで記憶したリセット履歴に基づき所定のフェイルセーフ処理を実施する請求項１乃至３の何れかに記載の車両用電子制御装置。
【請求項５】
監視回路からメインＣＰＵにリセット信号が出力された後、一定時間遅らせてメインＣＰＵからサブＣＰＵにリセット信号を出力するよう構成した請求項１乃至４の何れかに記載の車両用電子制御装置。
【請求項６】
メインＣＰＵは、車両におけるエンジン制御機能並びに電子スロットル制御機能を集約したものであり、サブＣＰＵは、少なくともメインＣＰＵの電子スロットル制御の状態を監視するものである請求項１乃至５の何れかに記載の車両用電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両用電子制御装置に関するものである。
【０００２】
【従来の技術】
車載エンジンの制御を司る車両用電子制御装置（エンジンＥＣＵ）として、例えば図７に示す構成が知られている。図７において、エンジンＥＣＵ２０はメイン及びサブの２つのＣＰＵを有しており、メインＣＰＵ２１は噴射制御及び点火制御を実施し、サブＣＰＵ２２は電子スロットル制御を実施する。ＷＤ回路２３はメインＣＰＵ２１の動作を監視するものであり、メインＣＰＵ２１から出力されるウオッチドッグパルス（ＷＤパルス）を入力し、該ＷＤパルスの周期性が崩れるとメインＣＰＵ２１にリセットをかける。
【０００３】
また、メインＣＰＵ２１は、サブＣＰＵ２２の動作（すなわち、スロットル制御の状態）を監視する。つまり、メインＣＰＵ２１は、サブＣＰＵ２２から出力されるＷＤパルスを入力し、このＷＤパルスの周期性が崩れるとサブＣＰＵ２２にリセットをかける。サブＣＰＵ２２がリセットされる時、メインＣＰＵ２１は所定のフェイルセーフ処理を実施する。フェイルセーフ処理として具体的には、車両の退避走行（リンプホーム）を実現すべく、一部の気筒の燃料噴射を休止させる減筒制御や点火時期を遅らせる点火遅角制御等を実施する。
【０００４】
要するに、メインＣＰＵ２１はＷＤ回路２３によりリセットされ、サブＣＰＵ２２はメインＣＰＵ２１によりリセットされる構成となっている。また、ＷＤ回路２３がメインＣＰＵ２１にリセットをかける時、それに引き続きメインＣＰＵ２１がサブＣＰＵ２２にリセットをかけるようになっている。しかしながら、ＷＤ回路２３によるリセット後、メインＣＰＵ２１が正常復帰すると、過去にリセットがかかったこと（すなわち、異常が発生したこと）に関係なく通常制御が実施される。そのため、リセット復帰後にも所定のフェイルセーフ処理を継続させたい場合等において、本来行うべきフェイルセーフ処理が実施されないという不都合を招く。
【０００５】
ところで近年では、ＣＰＵの高機能・大容量化に伴い、従来２つのＣＰＵを使用して実現してきたエンジン制御（噴射・点火制御）と電子スロットル制御とを１つの制御ＣＰＵに集約し、エンジンＥＣＵのコストダウンを図ることが考えられる。このような１ＣＰＵ構成のエンジンＥＣＵでは、やはりＷＤ回路により制御ＣＰＵがリセットされる。しかしながら、前述の通りＷＤ回路によるリセット後、制御ＣＰＵが正常復帰すると、本来行うべきフェイルセーフ処理が実施されないという不都合を招く。
【０００６】
【発明が解決しようとする課題】
本発明は、上記問題に着目してなされたものであって、その目的とするところは、ＣＰＵに関する過去の異常情報を適正に記憶保持することができる車両用電子制御装置を提供することである。
【０００７】
【課題を解決するための手段】
本発明の車両用電子制御装置では、互いに通信可能に接続されたメインＣＰＵ及びサブＣＰＵと、メインＣＰＵの動作を監視する監視回路とを備えることを前提としている。すなわち、監視回路は、メインＣＰＵより所定周期で反転するウオッチドッグパルスを入力し、その周期性が崩れるとメインＣＰＵに対してリセット信号を出力する。そして特に、請求項１に記載の発明では、サブＣＰＵは、メインＣＰＵから監視回路に出力されるウオッチドッグパルスをモニタし、その周期性が崩れた際、遅くとも監視回路からリセット信号が出力されるまでにメインＣＰＵのリセット履歴をメモリに記憶する。
【０００８】
本請求項１の構成によれば、サブＣＰＵにおいて、メインＣＰＵがリセットされたこと、すなわちメインＣＰＵに異常が発生したことが確実に判断できる。また本発明では、メインＣＰＵのリセット時にはサブＣＰＵが引き続きリセットされる構成となっているが、監視回路によるメインＣＰＵのリセットと同時又はそれよりも早くサブＣＰＵがリセット履歴を記憶するため、リセット履歴が確実に記憶保持できる。その結果、ＣＰＵに関する過去の異常情報を適正に記憶保持することができるようになる。
【０００９】
請求項２に記載の発明では、サブＣＰＵは、ウオッチドッグパルスの所定エッジの有無を確認し、ウオッチドッグパルスの所定エッジが無いとメインＣＰＵにリセットがかかる旨予測してリセット履歴をメモリに記憶し、その後、監視回路によるリセット信号の出力前にウオッチドッグパルスの所定エッジが確認されると、前記記憶したリセット履歴を消去する。
【００１０】
つまり、ウオッチドッグパルスの出力停止時において、サブＣＰＵによるメインＣＰＵの異常判定が先に行われ、監視回路によるメインＣＰＵの異常判定（リセット出力）が後に行われる場合、先にサブＣＰＵで異常時と判定されても、その直後に異常状態が解消され、監視回路では異常時と判定されない場合が考えられる。ウオッチドッグパルスの出力が一時的に停止された後、監視回路によるリセット出力前に復帰する場合がそれである。かかる場合、請求項２の発明によれば、一旦記憶されたリセット履歴が消去されるため、リセット履歴が誤って記憶されるという不都合が回避できる。
【００１２】
上記請求項１又は２の発明では、請求項３に記載したように、サブＣＰＵは、リセット履歴がｎ回記憶された時点でメインＣＰＵが異常である旨判定すると良い。この場合、ＣＰＵ異常判定の信頼性が向上する。
【００１３】
請求項４に記載の発明では、メインＣＰＵは、リセット後の再起動時においてサブＣＰＵで記憶したリセット履歴に基づき所定のフェイルセーフ処理を実施する。この場合、ＣＰＵ異常後のフェイルセーフ処理を適正に実施することができる。
【００１４】
メインＣＰＵのリセット時にそれに引き続きメインＣＰＵがサブＣＰＵにリセットをかける場合、サブＣＰＵでリセット履歴を記憶する時間的な余裕があまりないことも考えられる。そこで、請求項５に記載したように、監視回路からメインＣＰＵにリセット信号が出力された後、一定時間遅らせてメインＣＰＵからサブＣＰＵにリセット信号を出力すると良い。これにより、サブＣＰＵにおいてより確実にリセット履歴が記憶保持できるようになる。
【００１５】
請求項６に記載の発明では、メインＣＰＵは、車両におけるエンジン制御機能並びに電子スロットル制御機能を集約したものであり、サブＣＰＵは、少なくともメインＣＰＵの電子スロットル制御の状態を監視するものである。この場合、コストダウンを図るべく制御機能を集約化した車両用電子制御装置において、上記の優れた効果を奏することができる。
【００１６】
【発明の実施の形態】
以下、この発明を具体化した一実施の形態を図面に従って説明する。本実施の形態では、車両用電子制御装置としてのエンジンＥＣＵに本発明を具体化しており、図１にはエンジンＥＣＵの構成を示す。
【００１７】
図１において、エンジンＥＣＵ１０は、エンジンの噴射制御、点火制御及び電子スロットル制御を実施するための制御ＣＰＵ（メインＣＰＵ）１１と、電子スロットル制御に関する監視制御を実施するための監視ＣＰＵ（サブＣＰＵ）１２と、制御ＣＰＵ１１の動作を監視するためのＷＤ回路１３とを備える。制御ＣＰＵ１１は、エンジン回転数、吸気管内圧力、スロットル開度等々のエンジン運転情報を各種センサより随時入力し、当該運転情報に基づき図示しないインジェクタ、イグナイタ、スロットルアクチュエータ等の駆動を制御する。また、制御ＣＰＵ１１は、監視ＣＰＵ１２の動作を監視するための監視制御を実施する。すなわち、監視ＣＰＵ１２は制御ＣＰＵ１１に対して所定周期で反転するＷＤパルスを出力し、制御ＣＰＵ１１は監視ＣＰＵ１２からのＷＤパルスが所定時間以上反転しなかった場合に監視ＣＰＵ１２に対してリセット信号を出力する。
【００１８】
制御ＣＰＵ１１と監視ＣＰＵ１２とは相互に通信可能に接続されており、制御ＣＰＵ１１は、監視ＣＰＵ１２に対してスロットル開度、アクセル開度、フェイルセーフ実施フラグ等、スロットル制御に関するデータを送信する。このとき、監視ＣＰＵ１２は、スロットル制御の監視処理として、例えばＡ／Ｄ変換器（図示略）を通じて入力したスロットル開度やアクセル開度のデータと、制御ＣＰＵ１１より受信した同じくスロットル開度やアクセル開度のデータとを比較し、それらが一致するかどうかによりスロットル制御状態の異常を検出する。そして、その監視結果を制御ＣＰＵ１１に対して返信する。
【００１９】
制御ＣＰＵ１１は、監視ＣＰＵ１２での監視結果に従い、電子スロットル制御の異常発生時に所定のフェイルセーフ処理を実施する。フェイルセーフ処理として具体的には、車両の退避走行（リンプホーム）を実現すべく、一部の気筒の燃料噴射を休止させる減筒制御や点火時期を遅角させる点火遅角制御等を実施する。
【００２０】
また、制御ＣＰＵ１１は、ＷＤ回路１３に対して所定周期で反転するＷＤパルスを出力する。ＷＤ回路１３は「監視回路」を構成するものであり、制御ＣＰＵ１１からのＷＤパルスが所定時間以上反転しなかった場合に制御ＣＰＵ１１に対してリセット信号を出力する。
【００２１】
ここで、制御ＣＰＵ１１からＷＤ回路１３に出力されるＷＤパルスは監視ＣＰＵ１２にも入力される。監視ＣＰＵ１２では、ＷＤパルスの所定エッジ（例えば立ち下がりエッジ）の有無を判別し、所定エッジが所定時間以上検出されない場合、すなわちＷＤパルスが所定時間以上反転しない場合に、制御ＣＰＵ１１のリセット履歴をメモリ１２ａに記憶する。なお、メモリ１２ａは、ＥＥＰＲＯＭやスタンバイＲＡＭ等、電源遮断時にも内容を記憶保持できるメモリであり、リセット履歴の他に、各種カウンタの値も記憶保持する。
【００２２】
次に、ＷＤパルスにより制御ＣＰＵ１１を監視する手順について詳しく説明する。図２は、監視ＣＰＵ１２により２ｍｓｅｃ毎に実施される処理を示すフローチャートである。
【００２３】
図２において、先ずステップ１０１では、ＷＤパルスの立ち下がりエッジの有無を検出する。具体的には、今現在のＷＤパルスの信号レベルがＬＯ（ロー）であり、且つ前回の同信号レベルがＨＩ（ハイ）であるか否かを判別し、ＹＥＳであれば、今回ＷＤパルスの立ち下がりエッジを検出したと判別する。ＹＥＳの場合、ステップ１０２でＷＤ監視カウンタを０にクリアすると共に、ステップ１０３でリセット履歴をクリアする。また、ＮＯの場合、ステップ１０４でＷＤ監視カウンタを１インクリメントする。
【００２４】
その後、ステップ１０５では、ＷＤ監視カウンタの値が所定値以上であるか否かを判別する。ここで、前記所定値に相当する時間は、ＷＤ回路１３によりＷＤパルスの出力停止が判定される時間よりも短い時間であり、ＷＤ回路１３による異常判定時間が例えば２４ｍｓｅｃである場合、監視ＣＰＵ１２による異常判定時間を１６ｍｓｅｃとし、所定値＝８とする。ステップ１０５がＹＥＳの場合ステップ１０６に進み、制御ＣＰＵ１１がリセットされたことを表すリセット履歴をメモり１２ａに記憶する。
【００２５】
また、図３は、監視ＣＰＵ１２のイニシャル時（起動時）に実施されるイニシャル処理を示すフローチャートである。
図３において、先ずステップ２０１では、メモリ１２ａ内のリセット履歴の有無を判別する。リセット履歴有りの場合ステップ２０２に進み、異常カウンタを１インクリメントする。また、ステップ２０３では、メモリ１２ａ内のリセット履歴をクリアする。
【００２６】
その後、ステップ２０４では、異常カウンタが所定値（本実施の形態では２）以上であるか否かを判別する。そして、ＹＥＳの場合ステップ２０５に進み、制御ＣＰＵ１１が異常である旨をメモリ１２ａに記憶する。このとき、所定のフェイルセーフ処理を行わせるべく、制御ＣＰＵ１１に対して異常情報が通知される。
【００２７】
なお、処理フローの図示は省略するが、エンジンの運転停止に伴うイグニッションスイッチのＯＦＦ操作時には、異常カウンタがクリアされるようになっている。これにより、車両走行の１トリップ中にリセットが２回発生した時にＣＰＵ異常が判定されることとなる。
【００２８】
図４は、上記図２及び図３の処理をより具体的に説明するためのタイムチャートである。図４において、タイミングｔ１以前は制御ＣＰＵ１１が正常動作している状態を示し、タイミングｔ１以後は制御ＣＰＵ１１に異常が発生した状態を示す。
【００２９】
タイミングｔ１以前、ＷＤパルスは所定の一定周期（８ｍｓｅｃ周期）で出力されている。この場合、ＷＤ監視カウンタは２ｍｓｅｃ毎にインクリメントされ、ＷＤパルスの立ち下がりエッジが検出される都度、０にクリアされる。
【００３０】
そして、タイミングｔ１以降、ＷＤパルスの出力が停止されると、ＷＤ監視カウンタが０にクリアされないために、タイミングｔ２で同カウンタが所定値（＝８）に達する。このとき、監視ＣＰＵ１２のメモリ１２ａにリセット履歴が記憶される。その後、ＷＤパルスの出力停止から２４ｍｓｅｃが経過したタイミングｔ３では、ＷＤ回路１３から制御ＣＰＵ１１にリセット信号が出力される。またこのとき、制御ＣＰＵ１１から監視ＣＰＵ１２に対してリセット信号が出力される。
【００３１】
その後、タイミングｔ４では、制御ＣＰＵ１１及び監視ＣＰＵ１２が再起動され、監視ＣＰＵ１２のイニシャル処理において、メモリ１２ａ内に記憶保持されているリセット履歴により異常カウンタが１インクリメントされる。このとき、異常カウンタが２以上であれば、制御ＣＰＵ１１が異常と判定され、所定のフェイルセーフ処理が実施される。
【００３２】
因みに、タイミングｔ２〜ｔ３の間にＷＤパルスの出力が再開された場合、すなわち、ＷＤパルスの出力が一時的に停止された後、ＷＤ回路１３によるリセット出力前にＷＤパルスの出力が正常復帰した場合、ＷＤパルスの立ち下がりエッジが来た時点でメモり１２ａ内のリセット履歴がクリア（消去）される。そのため、実際にはＷＤ回路１３によるリセットが行われないのにリセット履歴だけが残るという不都合が回避できる。
【００３３】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
制御ＣＰＵ１１からＷＤ回路１３に出力されるＷＤパルスを監視ＣＰＵ１２でモニタし、そのモニタ結果に応じてリセット履歴を記憶するので、制御ＣＰＵ１１のリセットが確実に判断できる。従って、ＣＰＵ異常後のフェイルセーフ処理を適正に実施することができる。
【００３４】
また、ＷＤ回路１３によるリセット出力よりも早く監視ＣＰＵ１２がリセット履歴を記憶するため、リセット履歴が確実に記憶保持できる。その結果、ＣＰＵに関する過去の異常情報を適正に記憶保持することができるようになる。
【００３５】
監視ＣＰＵ１２がリセット履歴を記憶した後にＷＤパルスの出力が正常復帰した場合、リセット履歴が消去されるので、リセット履歴が誤って記憶されるという不都合が回避できる。
【００３６】
エンジン制御機能並びに電子スロットル制御機能を制御ＣＰＵ１１に集約したエンジンＥＣＵ１０において、コストダウンを図りつつ、上記の優れた効果を奏することができる。
【００３７】
（第２の実施の形態）
次に、本発明における第２の実施の形態について、上述した第１の実施の形態との相違点を中心に説明する。本実施の形態におけるエンジンＥＣＵ１０の構成を図５に示す。
【００３８】
図５では、前記図１との相違点として、ＷＤ回路１３から制御ＣＰＵ１１に出力されるリセット信号が監視ＣＰＵ１２にも入力される。すなわち、監視ＣＰＵ１２は、ＷＤ回路１３から制御ＣＰＵ１１へのリセットラインをモニタする。そして、監視ＣＰＵ１２は、リセット信号の入力の都度、制御ＣＰＵ１１のリセット履歴をメモリ１２ａに記憶する。
【００３９】
図６は、監視ＣＰＵ１２による各種処理を示すフローチャートであり、（ａ）はリセットエッジ割り込み処理、（ｂ）はイニシャル処理をそれぞれ示す。
すなわち、監視ＣＰＵ１２は、リセット信号のエッジ入力毎に図６（ａ）の割り込み処理を起動し、その都度異常カウンタを１インクリメントする（ステップ３０１）。本実施の形態の場合、異常カウンタのカウント値が「リセット履歴」に相当する。
【００４０】
また、監視ＣＰＵ１２は、ＣＰＵ起動に伴うイニシャル時に図６（ｂ）の処理を起動し、先ず異常カウンタが所定値（本実施の形態では２）以上であるか否かを判別する（ステップ４０１）。そして、異常カウンタ≧２であれば、制御ＣＰＵ１１が異常である旨をメモリ１２ａに記憶する（ステップ４０２）。このとき、所定のフェイルセーフ処理を行わせるべく、制御ＣＰＵ１１に対して異常情報が通知される。
【００４１】
以上第２の実施の形態によれば、上述した第１の実施の形態と同様に、制御ＣＰＵ１１のリセットが確実に判断できる。従って、ＣＰＵ異常後のフェイルセーフ処理を適正に実施することができる。
【００４２】
本実施の形態において、制御ＣＰＵ１１のリセット時にそれに引き続き制御ＣＰＵ１１が監視ＣＰＵ１２にリセットをかける場合、監視ＣＰＵ１２でリセット履歴を記憶する時間的な余裕があまりないことも考えられる。そこで、制御ＣＰＵ１１から監視ＣＰＵ１２へのリセットラインに、コンデンサ等からなる遅延回路を設けると良い。これにより、ＷＤ回路１３から制御ＣＰＵ１１にリセット信号が出力された後、一定時間遅らせて制御ＣＰＵ１１から監視ＣＰＵ１２にリセット信号が出力されるようになる。従って、監視ＣＰＵ１２においてより確実にリセット履歴が記憶保持できるようになる。
【００４３】
なお本発明は、上記以外に次の形態にて具体化できる。
上記第１の実施の形態では、ＷＤ回路１３の異常判定時間よりも短い時間で監視ＣＰＵ１２がＷＤパルスの所定エッジを判定したが、ＷＤ回路１３と監視ＣＰＵ１２とでＷＤパルス判定時間を同一にしても良い。要は、遅くともＷＤ回路１３からリセット信号が出力されるまでに、監視ＣＰＵ１２が制御ＣＰＵ１１のリセット履歴を記憶する構成であれば良い。但し、ＷＤ回路１３と監視ＣＰＵ１２とでＷＤパルス判定時間を同一にする場合、制御ＣＰＵ１１から監視ＣＰＵ１２へのリセットラインに、コンデンサ等からなる遅延回路を設けると良い。
【００４４】
上記各実施の形態では、１トリップ中の２回のリセット履歴で制御ＣＰＵ異常を判定したが、１回のリセット履歴で直ちに制御ＣＰＵ異常を判定することも可能である。勿論、３回以上のリセット履歴で判定することも可能である。
【００４５】
監視ＣＰＵ１２とＷＤ回路１３とを一つのＩＣに集約し一体化することも可能である。この場合、エンジンＥＣＵ１０としてのコスト削減を図ることができる。
【００４６】
上記各実施の形態では、制御ＣＰＵ１１として、車両におけるエンジン制御機能と電子スロットル制御機能とを集約したものを用いたが、この構成を変更する。例えば、エンジン制御用のＣＰＵ（メインＣＰＵ）と電子スロットル制御用のＣＰＵ（サブＣＰＵ）とを個別に設ける構成であっても良い（図７参照）。この場合、メインＣＰＵからＷＤ回路に出力されるＷＤパルスをサブＣＰＵがモニタし、その周期性が崩れた際、サブＣＰＵは、遅くともＷＤ回路からリセット信号が出力されるまでにメインＣＰＵのリセット履歴をメモリに記憶する。或いは、ＷＤ回路からメインＣＰＵに出力されるリセット信号をサブＣＰＵがモニタし、リセット信号出力の際、サブＣＰＵはそのリセット履歴をメモリに記憶する。
【図面の簡単な説明】
【図１】第１の実施の形態におけるエンジンＥＣＵの概要を示す構成図。
【図２】監視ＣＰＵによる２ｍｓｅｃ処理を示すフローチャート。
【図３】監視ＣＰＵによるイニシャル処理を示すフローチャート。
【図４】異常検出動作を示すタイムチャート。
【図５】第２の実施の形態におけるエンジンＥＣＵを示す構成図。
【図６】監視ＣＰＵによる各種処理を示すフローチャート。
【図７】従来技術におけるエンジンＥＣＵの構成を示すブロック図。
【符号の説明】
１０…エンジンＥＣＵ、１１…制御ＣＰＵ、１２…監視ＣＰＵ、１２ａ…メモリ、１３…監視回路。
【図１】
0003908020.tif 000002
【図２】
0003908020.tif 000003
【図３】
0003908020.tif 000004
【図４】
0003908020.tif 000005
【図５】
0003908020.tif 000006
【図６】
0003908020.tif 000007
【図７】
0003908020.tif 000008