(57)【特許請求の範囲】
【請求項１】
エンジンのアクチュエータ等を駆動する複数のパワースイッチと、
前記複数のパワースイッチに接続される外部回路の故障診断結果を判定する演算処理装置と、
前記複数のパワースイッチに接続される外部回路の異常を検出する故障検出手段と、
前記検出手段で検出された複数のパワースイッチに接続される外部回路の異常検出結果をシリアル通信によって前記演算処理装置へ送信するシリアル通信手段とを有するエンジン制御装置において、
診断結果の送信を所定ビット数によるシリアル通信信号によって一通信で行い、
診断結果出力のシリアル通信信号に前記複数のパワースイッチと接続される外部回路の複数故障の有無を示すビットを設け、
当該ビットによって、複数のパワースイッチと接続される外部回路の複数故障の有無を判定することを特徴とするエンジン制御装置。
【請求項２】
前記パワースイッチに接続される外部回路の異常が複数箇所で同時に発生した場合、シリアル通信を用いて故障検出手段の診断チャンネルを選択し、個別のチャンネル毎に故障情報を読み出すことを特徴とする請求項１記載のエンジン制御装置。
【請求項３】
故障検出手段の診断チャンネルの選択は、前記演算処理装置からのシリアル通信信号に設けられた選択ビットによって行うことを特徴とする請求項２記載のエンジン制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、結線を含む外部回路群の故障診断機能を備えたエンジン制御装置に係り、特に、シリアル通信によってデータ伝送を行う故障診断機能を有するエンジン制御装置に関する。
【０００２】
【従来の技術】
従来の電子制御式のエンジン制御装置には、結線を含む外部回路群の故障診断機能を備えているものがあり、故障診断機能においてエンジン制御装置内の故障検出回路で生成される信号を監視し、シリアル通信によって演算処理装置に故障診断結果のデータを伝送する。
【０００３】
例えば、故障検出回路が回路の断線を検出した場合には、故障検出回路がシリアル通信によって演算処理装置からの診断結果要求信号を受信すると、故障検出回路がシリアル通信によって演算処理装置に故障診断結果のデータを送信し、演算処理装置が回路の不具合を表す不具合コードを記憶、表示するなどの処理を行う。
一般に、シリアル通信による故障診断機能は、故障検出手段が演算処理装置から一定時間毎に要求される診断結果要求データを受信した時、診断結果データを演算処理装置へ送信する。
【０００４】
故障検出回路の診断は、“外部回路バッテリショート”、“外部回路グランドショート”、“外部回路オープン”、“正常”の４状態を検出するため、パワースイッチ１チャンネル当たり２ビットの情報量が必要である。そのため、シリアル通信により、４チャンネル以下のパワースイッチの診断結果を送信する場合、８ビットで故障チャンネルと故障状態を表し、５〜８チャンネルのパワースイッチの診断結果を送信する場合、１６ビットで故障チャンネルと故障状態を表し、同様にチャンネル数が増加すると、診断結果を示すビット数が増加して、送信データ量も大きくなる。
【０００５】
【発明が解決しようとする課題】
上述した従来技術では、演算処理装置と故障検出手段を相互接続するシリアル通信を用いて外部回路群の故障チャンネルと故障状態を伝送しており、その伝送は一定時間毎に行われる。そのため、パワースイッチが多数存在する場合においては、シリアル通信の送信データ量を増やすことにより、診断結果を送信しているが、コンピュータ（演算処理装置）のソフトウェア負担が増大する。
【０００６】
逆に、送信データを小さくすると、全チャンネルの故障チャンネルと故障状態を診断結果としてＣＰＵへ伝送できなくなる。
すなわち、点火や燃料噴射を制御するパワースイッチを含む故障検出手段において、複数の故障が同時に発生した場合、故障診断結果として複数の故障結果を送信することはできない。
【０００７】
本発明は、このような問題を鑑みてなされたものであって、その目的とするところは、通信データ量を増やすことなく、複数の故障が発生した場合でも、複数故障を検出することができるエンジン制御装置を提供することにある。
【０００８】
【課題を解決するための手段】
前記目的を達成すべく、本発明に係るエンジン制御装置は、エンジンの運転状態を検出するセンサ群からの信号に基づき、少なくともエンジンに供給する燃料噴射量を演算する演算処理装置と、前記演算処理装置からの信号によりアクチュエータ等を駆動する複数のパワースイッチと、前記複数のパワースイッチに接続される外部回路の異常を検出する故障検出手段と、前記検出手段で検出された複数のパワースイッチの診断結果をシリアル通信によって前記演算処理装置へ送信するシリアル通信手段とを有するエンジン制御装置において、診断結果の送信を所定ビット数によるシリアル通信信号によって１通信で行い、診断結果出力のシリアル通信信号に複数の故障の有無を示すビットを設け、当該ビットによって複数故障の有無を判定する。
【０００９】
このエンジン制御装置によれば、診断結果の送信が所定ビット数によるシリアル通信信号によって１通信で行われ、診断結果出力のシリアル通信信号に設けられている複数の故障の有無を示すビットによって複数故障の有無を判定することができ、通信データ量を増やすことなく、複数の故障が発生した場合でも、複数故障を検出することができる。
【００１０】
また、本発明に係るエンジン制御装置は、前記パワースイッチに接続される外部回路の異常が複数箇所で同時に発生した場合、シリアル通信を用いて故障検出手段の診断チャンネルを選択し、個別のチャンネル毎に故障情報を読み出す。この場合、故障検出手段の診断チャンネルの選択は、前記演算処理装置からのシリアル通信信号に設けられた選択ビットによって行うことができる。
【００１１】
このエンジン制御装置によれば、パワースイッチに接続される外部回路の異常が複数箇所で同時に発生した場合、シリアル通信を用いて故障検出手段の診断チャンネルを選択することが行われ、個別のチャンネル毎に故障情報を読み出すことができ、通信データ量を増やすことなく、複数の故障が発生した場合でも、個別のチャンネル毎に故障情報を検出することができる。
【００１２】
【発明の実施の形態】
以下、図面を用いて、本発明のエンジン制御装置の一実施形態について詳細に説明する。
【００１３】
図１に、本実施形態におけるエンジン制御システムの構成図を示している。
エンジン制御装置１０は、演算処理装置（ＣＰＵ）１１を含む電子制御式のものであり、少なくともエンジン１の回転数を検出するエンジン回転センサ２からの回転信号とエンジン１のシリンダ内への吸入空気量を検出するエアフロセンサ３からの空気量信号を取込み、それらセンサからの信号に基づき、少なくともエンジン１に供給する燃料噴射量および点火時期を演算処理装置１１で演算し、その演算結果に基づき、エンジン１が最適な運転状態になるように、少なくとも燃料噴射装置４および点火装置５に駆動信号を出力する。
【００１４】
一般に、エンジン１に組み付けられたセンサ（２、３）、制御装置（４、５）（以下、外部回路群）と、エンジン制御装置１０を結ぶ配線は、コネクタ６に収容されたハーネス群７によって接続されている。エンジン制御装置１０は、外部回路群の故障診断機能を備えており、ハーネスの断線、図示省略のバッテリやグランドへの短絡等の不具合を検出すると、異常警告ランプ点灯により運転者や修理者にその異常を知らせることができる。
【００１５】
故障診断機能は、点火系や燃料噴射系の故障が発生した場合において、前述の故障検出のみならず、故障検出後はフェールセーフが働く。例えば、エンジン制御装置１０と点火装置５を結ぶ配線の断線は点火ミスを誘発するから、エンジン１内に吸入された空気とガソリンの混合気は未燃焼状態のまま大気中に排出されることになるから、点火系および燃料噴射系の故障を検出した場合には、故障気筒への燃料供給を停止させなければならない。また、上述したような故障が複数気筒で同時発生した場合においても、故障診断およびフェールセーフを行わなければならない。
【００１６】
エンジン制御装置１０は、図２に示されているように、演算処理装置１１と、エンジン制御装置１０内に設けられている燃料噴射装置４や点火装置５等の各負荷を駆動する複数個（６個）の負荷駆動装置２１ａ〜２１ｆを内蔵した複合駆動装置２０１と、負荷駆動装置２１ａ〜２１ｆの各々から故障検出結果を示す信号を入力し、演算処理装置１１へ故障検出結果をシリアル通信によって送信する診断送受信部（シリアル通信手段）１２を含んでいる。
【００１７】
複合駆動装置２０１に設定される負荷駆動装置２１ｎ（ｎ＝ａ〜ｆ）は、演算処理装置１１からの信号に基づいて負荷を駆動するパワースイッチ２２ｎ（ｎ＝ａ〜ｆ）と、パワースイッチ２２ｎに接続される外部回路（負荷およびハーネス）の異常を検出する故障検出回路２３ｎ（ｎ＝ａ〜ｆ）により構成されている。
【００１８】
故障検出回路２３ｎ（ｎ＝ａ〜ｆ）によって検出された故障診断結果を示す信号は、各々、診断送受信部１２に入力される。診断送受信部１２と演算処理装置１１とはシリアル通信線１３により接続され、診断送受信部１２は、演算処理装置１１から要求されたチャンネルの故障診断結果をシリアル通信線１３を用いて演算処理装置１１へ伝送する。
【００１９】
シリアル通信線１３による演算処理装置１１と診断送受信部１２との間のシリアル通信には、演算処理装置１１から診断送受信部１２へのセレクト信号（送信可信号）ＣＳと、演算処理装置１１を発信源とするシリアルクロック信号ＳＣＫと、演算処理装置１１から診断送受信部１２への入力信号ＤＩＮと）、シリアル通信１３から演算処理装置１１への一方向データライン（出力信号ＤＯＵＴ）の４信号がある。
【００２０】
診断送受信部１２は演算処理装置１１よりセレクト信号ＣＳを入力することにより演算処理装置１１からアクセスを許可する。診断送受信部１２は、シリアルクロック信号ＳＣＫの立上がり、あるいは立下がりエッジに同期して演算処理装置１１からの入力信号ＤＩＮを読み込み、同様に、演算処理装置１１へ出力信号ＤＯＵＴを送信する。
診断送受信部１２は、負荷駆動装置２１ｎ（ｎ＝ａ〜ｆ）内の故障検出回路２３ｎ（ｎ＝ａ〜ｆ）から故障診断結果を入力している。
【００２１】
本実施の形態において、１回の送受信データは８ビットであるため、シリアルクロック信号ＳＣＫの立上がり、あるいは立下がりエッジが８回（８ビット）検出されることで、演算処理装置１１と診断送受信部１２を結ぶシリアル通信の送受信を完了する。このようにして、複合駆動装置２０１に接続される外部回路の異常を演算処理装置１１で認識することができる。
【００２２】
診断送受信部１２の内部構成を図３を参照して説明する。診断送受信部１２は、シフトレジスタ３０と、レジスタ３１と、ラッチ回路３２と、セレクタ３３とを有している。
診断送受信部１２は、演算処理装置１１よりセレクト信号ＣＳを入力している間、シリアル通信線１３によって演算処理装置１１とシリアル通信による送受信を行う。診断送受信部１２は、セレクト信号ＣＳを入力すると、予めラッチ回路３２に格納されている８ビットデータを確定し、シフトレジスタ３０にコピーする。
【００２３】
その後、送受信されるデータは演算処理装置１１により送られるシリアルクロック信号ＳＣＫに基づいて伝送される。演算処理装置１１と診断送受信部１２を結ぶシリアル通信は８ビットのシフトレジスタ３０により行われ、演算処理装置１１からの入力信号ＤＩＮは、ここに格納される。同時に、シフトレジスタ３０に格納されていた送信データがシリアルクロック信号ＳＣＫにより出力信号ＤＯＵＴとして掃きだされる。
これらの動作は、演算処理装置１１からのシリアルクロック信号ＳＣＫの立上がり、あるいは立下がりエッジに同期して１ビットづつ行われる。
【００２４】
その後、シフトレジスタ３０に格納されているデータは、セレクト信号ＣＳが終了するとき、レジスタ３１へ移される。この時、演算処理装置１１からの入力信号ＤＩＮには、複合駆動装置２０１内の診断結果のチャンネルをセレクトする信号成分が含まれている。よって、演算処理装置１１が要求するチャンネルはレジスタ３１からセレクタ３３に入力され、セレクタ３３では、次のシリアル通信時に出力信号ＤＯＵＴによる診断結果をラッチ回路３２に随時、格納する。
【００２５】
そして、演算処理装置１１が要求したチャンネルの診断結果は、次のセレクト信号ＣＳが送信されたとき、ラッチ回路３２で確定し、シフトレジスタ３０へとコピーされる。
前述のシリアル通信は、８ビットのシフトレジスタとして説明したが、何ビットのシフトレジスタ、例えば１６ビットのシフトレジスタで構成されてもよい。
【００２６】
図４は上述のシリアル通信のビットマップを示している。
演算処理装置１１から診断送受信部１２への送信データである入力信号ＤＩＮは、ｂｉ０，ｂｉ１，ｂｉ２，ｂｉ３，ｂｉ４，ｂｉ５，ｂｉ６，ｂｉ７の８ビットで構成される。
ここで、入力信号ＤＩＮのｂｉ０，ｂｉ６，ｂｉ７は、フリービットである。入力信号ＤＩＮのｂｉ１，ｂｉ２，ｂｉ３は、診断結果のチャンネルをセレクトするビットである。
【００２７】
この実施の形態では、１つのモジュール（１つの複合駆動装置２０１）は６チャンネルの故障検出回路から構成されているため、チャンネルセレクトには３ビット必要である。例えば、チャンネルセレクトのビット割付けは下記とする。
0004073184.tif 000002
なお、初期値は（ｂｉ１，ｂｉ２，ｂｉ３）＝（１，１，１）として全チャンネルセレクトとする。
【００２８】
入力信号ＤＩＮのｂｉ４，ｂｉ５は、複合駆動装置を選択するビットである。図２に示されている例では、複合駆動装置は、２０１、２０２、２０３、の３モジュールで構成されるので、モジュール選択ビットは２ビット必要である。例えば、モジュール選択のビット割付けは下記とする。
0004073184.tif 000003
【００２９】
診断送受信部１２から演算処理装置１１への送信データである出力信号ＤＯＵＴは、入力信号ＤＩＮと同様に、ｂｏ０，ｂｏ１，ｂｏ２，ｂｏ３，ｂｏ４，ｂｏ５，ｂｏ６，ｂｏ７の８ビットで構成される。
出力信号ＤＯＵＴのｂｏ０は、故障の有無を判別するビットである。出力信号ＤＯＵＴのｂｏ１、ｂｏ２、ｂｏ３は、故障チャンネルを示すビットである。
【００３０】
この実施の形態では、１つのモジュール（１つの複合駆動装置２０１）は６チャンネルの故障検出回路から構成されているため、３ビットでチャンネル１から６までのチャンネルを判別している。例えば、チャンネルのビット割付けは下記とする。
0004073184.tif 000004
【００３１】
ここで、パワースイッチに接続される外部回路の異常が複数同時に発生した場合、故障チャンネルを示すビットは３ビットであることから、複数の故障チャンネルを示すことはできない。
しかし、前述の通り複数の故障チャンネルが同時に発生した場合でも、全チャンネルの故障チャンネルと故障状態を検出する必要がある。
【００３２】
そこで、本発明では、出力信号ＤＯＵＴのｂｏ６を複数チャンネル故障有無ビットとして設け、故障チャンネルと故障状態を検出する。出力信号ＤＯＵＴのｂｏ６で複数チャンネル故障を検出したならば、演算処理装置１１では、故障チャンネルを特定するために、入力信号ＤＩＮの診断チャンネルセレクトビットｂｉ１，ｂｉ２，ｂｉ３を変化させ、個別のチャンネルを選択する。
これにより、演算処理装置１１は、複数の故障が発生した場合においても故障チャンネルを特定することができるのである。
【００３３】
出力信号ＤＯＵＴのｂｏ４、ｂｏ５は、故障状態を判定するビットである。例えば、バッテリへの短絡、グランドへの短絡、ハーネスの断線による負荷オープンの３つの故障状態を検出するため、故障状態判定ビットを２ビットとした。例えば、故障状態判定のビット割付けは下記とする。
0004073184.tif 000005
なお、ｂｏ７は、フリービットである。
【００３４】
図５は本発明によるエンジン制御装置における故障診断のフローチャートを示している。この故障診断の動作は、演算処理装置１１内で定めたジョブで実行される。
【００３５】
演算処理装置１１は、診断するモジュールおよびチャンネルをセレクトする（ステップＳ１）。これは、入力信号ＤＩＮのｂｉ１，ｂｉ２，ｂｉ３と、ｂｉ４，ｂｉ５を設定することを意味する。但し、チャンネルセレクトの初期値は全チャンネルセレクトとする。
【００３６】
演算処理装置１１は入力信号ＤＩＮを送信する（ステップＳ２）。送信された入力信号ＤＩＮは、診断送受信部１２で受信され（ステップＳ３）、演算処理装置１１が要求する診断するモジュール（入力信号ＤＩＮのｂｉ４，ｂｉ５を確認する）、およびチャンネル（入力信号ＤＩＮのｂｉ１〜ｂｉ３データを確認する）のデータをラッチし、シフトレジスタ３０に格納する（ステップＳ４）。
【００３７】
その後、演算処理装置１１から次の入力信号ＤＩＮ１６が送られてきたなら、すでにシフトレジスタ３０に格納されている演算処理装置１１からの前回の要求に対する出力信号ＤＯＵＴを演算処理装置１１に送信する（ステップＳ５、ステップＳ６）。
【００３８】
演算処理装置１１が、診断送受信部１２からの出力信号ＤＯＵＴを受信し（ステップＳ７）、出力信号ＤＯＵＴのｂｏ０を確認し、故障の有無を確認する（ステップＳ８）。
そして、出力信号ＤＯＵＴのｂｏ６を確認し、故障が１チャンネルであり、故障チャンネルを特定できるか、故障が２チャンネル以上であり、故障チャンネルを特定できないかを判別する（ステップＳ９）。
故障チャンネルが１チャンネルであれば、そのチャンネルの故障状態を出力信号ＤＯＵＴのｂｏ４，ｂｏ５を確認することにより判別し、そのチャンネルの動作を停止するフェールセーフが演算処理装置１１において実行される。
【００３９】
もし、故障が２チャンネル以上であるなら、演算処理装置１１は、入力信号ＤＩＮのｂｉ１〜ｂｉ３を前述の割付けルールに従い、１チャンネルずつセレクトし、故障チャンネル全てを特定するまでセレクト動作を続け、特定が終了したならば、それらの該当する故障チャンネルが停止するフェールセーフが演算処理装置１１において実行される。
このようにして、故障チャンネルが複数同時に発生した場合においても、演算処理装置１１からのフェールセーフが働くことにより、確実に故障チャンネルの動作を停止することができる。
【００４０】
以上、本発明を一実施形態について記述したが、本発明は前記実施形態に限定されるものではなく、特許請求の範囲に記載された発明の精神を逸脱しない範囲で設計において種種の変更ができるものである。
【００４１】
【発明の効果】
以上の説明から理解されるように、本発明によるエンジン制御装置は、燃料噴射装置等のアクチュエータが同時に複数故障した場合においても、送信データ量を増やすことなく、即ち、コンピュータのソフトウェア負担を増加させることなく、複数の故障チャンネル、および故障状態を検出するという効果を奏する。
【図面の簡単な説明】
【図１】本発明のエンジン制御装置の一実施形態が適用されているエンジン制御システムの全体構成図。
【図２】図１のエンジン制御装置の要部を示し制御ブロック図。
【図３】図１のエンジン制御装置の診断送受信部の内部構成を示す制御ブロック図。
【図４】シリアル通信のビット割付け例を示すビットマップを示す説明図。
【図５】図１のエンジン制御装置の故障診断の制御フローチャート。
【符号の説明】
１  エンジン
２  エンジン回転センサ
３  エアフロセンサ
４  燃料噴射装置、
５  点火装置
６  コネクタ、
７  ハーネス
１０  エンジン制御装置、
１１  演算処理装置（ＣＰＵ）
１２  診断送受信部
１３  シリアル通信線
２０１〜２０３  複合駆動装置
２１ａ〜２１ｆ  負荷駆動装置
２２ａ〜２２ｆ  パワースイッチ
２３ａ〜２３ｆ  故障検出回路
３０  シフトレジスタ、
３１  レジスタ、
３２  ラッチ回路
３３  セレクタ
【図１】
0004073184.tif 000006
【図２】
0004073184.tif 000007
【図３】
0004073184.tif 000008
【図４】
0004073184.tif 000009
【図５】
0004073184.tif 000010