(57)【特許請求の範囲】
【請求項１】
通信可能に接続された第１制御装置（４０）と第２制御装置（４２）とを備え、前記第１制御装置から送信される制御指令に基づいて前記第２制御装置がエンジン制御を実行するエンジン制御装置であって、
前記第１制御装置は、
クランクシャフトの回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク信号と、１燃焼サイクル中の所定の角度位置で発生する角度位置信号とに基づいて気筒判別を実行する第１判別手段（Ｓ４００、Ｓ４１２）と、
前記第１判別手段が気筒判別を実行して生成する気筒判別情報を前記第２制御装置に送信する第１通信手段（Ｓ４１６）と、
を有し、
前記第２制御装置は、
前記第１通信手段が送信する前記気筒判別情報を受信する第２通信手段（Ｓ４５０）と、
前記クランク信号と前記第２通信手段が受信する前記気筒判別情報とに基づいて気筒判別を実行し、気筒判別を実行していない状態で前記第２通信手段が前記第１制御装置から前記気筒判別情報を受信する前に前記基準位置信号を検出すると、前記基準位置信号に基づいて仮に気筒判別を実行し、前記第２通信手段が前記第１制御装置から前記気筒判別情報を受信すると、仮に実行した気筒判別結果と前記気筒判別情報とに基づいて気筒判別を実行する第２判別手段（Ｓ４２０〜Ｓ４２４、Ｓ４２８〜Ｓ４３２、Ｓ４３８、Ｓ４４０、Ｓ４５２、Ｓ４５４、Ｓ４５８〜Ｓ４６２）と、
を有する、
ことを特徴とするエンジン制御装置。
【請求項２】
請求項１に記載のエンジン制御装置であって、
前記第２判別手段（Ｓ４２０、Ｓ４２２、Ｓ４２８〜Ｓ４３２、Ｓ４５２、Ｓ４５４、Ｓ４５８〜Ｓ４６２）は、気筒判別を実行していない状態で前記第２通信手段が前記第１制御装置から前記気筒判別情報を受信すると、前記第２通信手段が前記第１制御装置から受信する前記気筒判別情報に基づいて仮に気筒判別を実行し、前記基準位置信号を検出すると、仮に実行した気筒判別結果と前記基準位置信号とに基づいて気筒判別を実行する、ことを特徴とするエンジン制御装置。
【請求項３】
通信可能に接続された第１制御装置（４０）と第２制御装置（４２）とを備え、前記第１制御装置から送信される制御指令に基づいて前記第２制御装置がエンジン制御を実行するエンジン制御装置であって、
前記第１制御装置は、
クランクシャフトの回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク信号と、１燃焼サイクル中の所定の角度位置で発生する角度位置信号とに基づいて気筒判別を実行する第１判別手段（Ｓ４００、Ｓ４１２）と、
前記第１判別手段が気筒判別を実行して生成する気筒判別情報を前記第２制御装置に送信する第１通信手段（Ｓ４１６）と、
を有し、
前記第２制御装置は、
前記第１通信手段が送信する前記気筒判別情報を受信する第２通信手段（Ｓ４５０）と、
前記クランク信号と前記第２通信手段が受信する前記気筒判別情報とに基づいて気筒判別を実行し、気筒判別を実行していない状態で前記第２通信手段が前記第１制御装置から前記気筒判別情報を受信すると、前記第２通信手段が前記第１制御装置から受信する前記気筒判別情報に基づいて仮に気筒判別を実行し、前記基準位置信号を検出すると、仮に実行した気筒判別結果と前記基準位置信号とに基づいて気筒判別を実行する第２判別手段（Ｓ４２０〜Ｓ４２４、Ｓ４２８〜Ｓ４３２、Ｓ４３８、Ｓ４４０、Ｓ４５２、Ｓ４５４、Ｓ４５８〜Ｓ４６２）と、
を有する、
ことを特徴とするエンジン制御装置。
【請求項４】
請求項１から３のいずれか一項に記載のエンジン制御装置であって、
前記第２判別手段（Ｓ４２０、Ｓ４２２、Ｓ４２８〜Ｓ４３２）は、気筒判別を実行済みの状態で前記基準位置信号を検出すると、今の気筒判別位置と前記基準位置信号とに基づいて気筒判別を実行する、
ことを特徴とするエンジン制御装置。
【請求項５】
請求項１から４のいずれか一項に記載のエンジン制御装置であって、
前記第１通信手段（Ｓ４１６）は定期的に前記気筒判別情報を前記第２制御装置に送信し、
前記第２判別手段（Ｓ４５２、Ｓ４５４、Ｓ４５８〜Ｓ４６２）は、前記第２通信手段が前記第１制御装置から定期的に受信する前記気筒判別情報に基づいて前記第２判別手段による気筒判別の結果を修正する、
ことを特徴とするエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１制御装置から受信する気筒判別情報に基づいて第２制御装置が気筒判別を実行するエンジン制御装置に関する。
【背景技術】
【０００２】
従来、通信可能に接続された複数の制御装置が気筒判別情報に基づいてエンジン制御を実行する技術が公知である（例えば、特許文献１参照。）。特許文献１では、複数の制御装置のうちいずれかの制御装置が気筒判別をできない気筒判別異常になると、他の正常な制御装置が気筒判別異常の制御装置に気筒判別情報を送信する。気筒判別異常の制御装置は、受信した気筒判別情報に基づいてエンジン制御を実行する。
【０００３】
特許文献１の技術では、気筒判別異常の制御装置に正常な制御装置が気筒判別情報を送信する場合、通信負荷を低減するためにクランク信号の周期よりも長い周期で気筒判別情報を送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０５６７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の制御装置のそれぞれが自身が実行する気筒判別に基づいてエンジン制御を実行する場合、例えば制御装置の製造元が異なるために気筒判別の方式が異なると、気筒判別結果や気筒判別に要する時間が異なることがある。複数の制御装置において気筒判別結果や気筒判別に要する時間が異なると、エンジン制御を正常に実行できないおそれがある。
【０００６】
そこで、複数の制御装置のうち、例えばエンジン制御の実行タイミングや制御量を決定して指令する制御装置がマスタ制御装置となって他のスレーブ制御装置に気筒判別情報を送信することが考えられる。スレーブ制御装置は受信した気筒判別情報に基づいてエンジン制御を実行する。
【０００７】
しかし、特許文献１のように、マスタ制御装置が通信負荷を低減するためにクランク信号の周期よりも長い周期で気筒判別情報を送信すると、気筒判別情報を受信したスレーブ制御装置が実行するエンジン制御の精度が低下するという問題がある。
【０００８】
本発明は、上記問題を解決するためになされたものであり、通信負荷の増加を抑制し、気筒判別情報を受信する制御装置が高精度にエンジン制御を実行する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のエンジン制御装置は、通信可能に接続された第１制御装置と第２制御装置とを備え、第１制御装置から送信される制御指令に基づいて第２制御装置がエンジン制御を実行する。第１制御装置は、第１判別手段と、第１通信手段とを備えており、第２制御装置は、第２通信手段と、第２判別手段とを備えている。
【００１０】
第１判別手段は、クランクシャフトの回転に伴い所定の角度間隔で発生する信号列中に所定の角度位置を表わす基準位置信号を有するクランク信号と、１燃焼サイクル中の所定の角度位置で発生する角度位置信号とに基づいて気筒判別を実行する。第１通信手段は、第１判別手段が気筒判別を実行して生成する気筒判別情報を第２制御装置に送信する。
【００１１】
第２通信手段は第１通信手段が送信する気筒判別情報を受信し、第２判別手段はクランク信号と第２通信手段が受信する気筒判別情報とに基づいて気筒判別を実行する。
この構成によれば、第２制御装置は、クランク信号と第１制御装置から受信する気筒判別情報とに基づいて気筒判別を実行後、クランク信号に基づいて１燃焼サイクルにおけるクランクシャフトの回転位置を自身で更新できる。したがって、クランク信号に同期して高精度にエンジン制御を実行できる。
【００１２】
また、第２制御装置は、気筒判別を実行後、クランク信号に基づいて１燃焼サイクルにおけるクランクシャフトの回転位置を自身で更新できるので、気筒判別の実行後は第１制御装置から気筒判別情報を受信する必要がない。
【００１３】
仮にクランク信号を誤検出したために第２制御装置が１燃焼サイクルにおける正しいクランクシャフトの回転位置を得られなくなっても、第１制御装置から気筒判別情報を受信すれば第２制御装置はクランクシャフトの回転位置を修正できる。
【００１４】
この場合、クランクシャフトの回転位置を修正するために定期的に第１制御装置から気筒判別情報を受信することが考えられる。気筒判別情報の通信頻度は、間違ったクランクシャフトの回転位置に基づいて第２制御装置がエンジン制御を実行しても支障がない範囲であればよい。例えば、１燃焼サイクルに１回程度であればよい。したがって、第１制御装置と第２制御装置との間の通信負荷を低減できる。  
【００１５】
尚、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１６】
【図１】本実施形態によるエンジン制御装置を示すブロック図。
【図２】ＥＣＵの気筒判別処理を示すフローチャート。
【図３】ＥＤＵの気筒判別処理１を示すフローチャート。
【図４】ＥＤＵの気筒判別処理２を示すフローチャート。
【図５】気筒判別処理を示すタイムチャート。
【図６】他の気筒判別処理を示すタイムチャート。
【図７】他の気筒判別処理を示すタイムチャート。
【発明を実施するための形態】
【００１７】
以下、本発明が適用された実施形態について図に基づいて説明する。
［１．構成］
図１に示すエンジン制御システム１０は、例えば、自動車用の４気筒のディーゼルエンジン（以下、単に「エンジン」ともいう。）２の運転状態を制御するものである。エンジン制御システム１０は、燃料供給ポンプ１４と、コモンレール２０と、燃料噴射弁３０と、電子制御装置(ＥＣＵ)４０と、電子駆動装置（ＥＤＵ）４２とを備えている。ＥＣＵ４０とＥＤＵ４２とは、車内ネットワーク２００により通信可能に接続されており、エンジン制御装置を構成している。
【００１８】
燃料供給ポンプ１４は、燃料タンク１２から燃料を汲み上げるフィードポンプを内蔵している。燃料供給ポンプ１４は、カムシャフトのカムの回転に伴いプランジャが往復移動することにより、フィードポンプから加圧室に吸入した燃料を加圧する公知のポンプである。
【００１９】
調量アクチュエータとしての調量弁１６は、燃料供給ポンプ１４の吸入側に設置されており、電流制御されることにより燃料供給ポンプ１４の各プランジャが吸入行程で吸入する燃料吸入量を調量する。燃料吸入量が調量されることにより、燃料供給ポンプ１４の吐出量が調量される。燃料供給ポンプの吐出側に調量弁を設置して吐出量を調量する構成でもよい。
【００２０】
コモンレール２０は、燃料供給ポンプ１４から圧送される燃料を蓄圧する中空の部材である。コモンレール２０には、内部の燃料圧力（レール圧）を検出する圧力センサ２２、ならびに内部の燃料を燃料タンク１２側へ戻すことでレール圧を減圧する減圧弁２４が設けられている。減圧弁２４に代えてプレッシャリミッタを設置し、レール圧が所定圧を超えると、コモンレール２０内の燃料を燃料タンク１２側に排出してレール圧が所定圧を超えることを抑制してもよい。
【００２１】
燃料噴射弁３０は、エンジン２の各気筒に設置されており、コモンレール２０で蓄圧された燃料を気筒内に噴射する。燃料噴射弁３０は、例えば、噴孔を開閉するノズルニードルのリフトを制御室の圧力で制御する公知の装置である。
【００２２】
第１制御装置であるＥＣＵ４０と第２制御装置であるＥＤＵ４２とは、ＣＰＵ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等を中心とするマイクロコンピュータを搭載している。ＥＤＵ４２は、さらに調量弁１６、減圧弁２４および燃料噴射弁３０を駆動するための駆動回路を備えている。
【００２３】
ＥＣＵ４０およびＥＤＵ４２は、ＲＯＭまたはフラッシュメモリに記憶されている制御プログラムをＣＰＵが実行することにより、各種センサのセンサ信号に基づいて各種のエンジン制御を実行する。
【００２４】
エンジン制御システム１０には、圧力センサ２２、アクセル開度センサ５０、クランクセンサ５２、カムセンサ５４等が設置されている。
クランクシャフトに固定されたクランクロータの外周に、例えば１０°間隔で歯が形成されている。クランクセンサ５２は、クランクシャフトの回転に伴ってクランクロータの歯の立ち上がりと立ち下がりとを検出することにより、１０°ＣＡ間隔の信号列を有するクランク信号を出力する。クランクロータの外周に形成する歯の間隔は、１０°に限るものではなく、１０°より小さくてもよいし大きくてもよい。
【００２５】
本実施形態では、クランクロータの歯列の途中に、２個の歯が連続して欠損した欠歯部が１箇所形成されている。したがって、図５〜図７のタイムチャートに示すように、クランク信号の信号列にも信号が欠損した欠歯部が存在する。欠歯部の間隔は３０°ＣＡであり、欠歯部は３６０°ＣＡに１回発生する。
【００２６】
ＥＣＵ４０およびＥＤＵ４２は、クランク信号の立ち上がり毎に、前回のクランク信号の立ち上がりと今回のクランク信号の立ち上がりとの間の時間間隔を測定する。そして、ＥＣＵ４０およびＥＤＵ４２は、前回測定したクランク信号の立ち上がりの時間間隔と、今回測定したクランク信号の立ち上がりの時間間隔との比を算出する。
【００２７】
ＥＣＵ４０およびＥＤＵ４２は、今回の立ち上がりの時間間隔が前回の立ち上がりの時間間隔よりも長くなり、算出した立ち上がりの時間間隔の比が所定値以上になると欠歯部を検出したと判定する。
【００２８】
カムシャフトに固定されたカムロータの外周には、外周に沿って円弧状の凸部と凹部とが交互にそれぞれ２箇所または３箇所形成されている。カムセンサ５４は、カムシャフトの回転に伴ってカムロータの凸部の立ち上がりと立ち下がりとを検出することによりカム信号を出力する。
【００２９】
カムロータの凸部の立ち上がりと立ち下がりとは、吸入行程、圧縮行程、膨張行程、排気行程からなる１燃焼サイクル（７２０°ＣＡ）の所定の角度位置を表わしている。つまり、カム信号は１燃焼サイクル中の所定の角度位置を表わす角度位置信号である。
【００３０】
ＥＣＵ４０およびＥＤＵ４２は、クランクセンサ５２が出力するクランク信号に基づいてクランクシャフトの回転位置（以下、「クランク位置」とも言う。）を検出するとともに、クランク信号に基づいてクランクシャフトが１回転（３６０°ＣＡ）するために要する時間を検出することにより１分間当たりのエンジン回転数［ｒｐｍ］を算出する。
【００３１】
ＥＣＵ４０は、クランク信号とカム信号とに基づいて、吸入行程、圧縮行程、膨張行程、排気行程からなる１燃焼サイクルにおけるクランク位置を決定する気筒判別を実行する。クランク位置を気筒判別位置とも言う。ＥＣＵ４０は、気筒判別結果である気筒判別情報を生成し、車内ネットワーク２００を介してＥＤＵ４２に送信する。
【００３２】
ＥＣＵ４０は、アクセル開度とエンジン回転数とに基づいてレール圧の目標圧力（目標レール圧とも言う。）をマップ等から算出する。また、ＥＣＵ４０は、アクセル開度とエンジン回転数とに基づいて燃料噴射弁３０の噴射量をマップ等から算出し、算出した噴射量とエンジン回転数とに基づいて噴射タイミングをマップ等から算出する。さらに、ＥＣＵ４０は、気筒判別結果から、次に燃料を噴射する気筒を決定する。
【００３３】
ＥＣＵ４０は、目標レール圧、噴射気筒、燃料噴射弁３０の噴射量および噴射タイミング等のエンジン２を制御するための制御パラメータを、制御指令としてＥＤＵ４２に送信する。
【００３４】
ＥＤＵ４２は、ＥＣＵ４０から送信される目標レール圧と圧力センサ２２が検出する実レール圧との差圧に基づいて調量弁１６に対する駆動電流を制御するとともに、ＥＣＵ４０から送信される噴射気筒、噴射量および噴射タイミングに基づいて燃料噴射弁３０に対する駆動電流を制御する。ＥＤＵ４２は、ＥＣＵ４０からの指令により、減圧弁２４の開閉を駆動する。
【００３５】
［２．処理］
以下、気筒判別処理について、図２〜図４のフローチャートと図５〜図７のタイムチャートとに基づいて説明する。図２〜図４のフローチャートにおいて「Ｓ」はステップを表わしている。
【００３６】
［２−１］
ＥＣＵ４０が実行する気筒判別処理について、図２のフローチャートに基づいて説明する。図２のフローチャートはクランク信号の立ち上がりタイミング、ならびにカム信号の立ち上がりタイミングおよび立ち下がりタイミングにおいて発生する割り込みにより実行される。
【００３７】
ＥＣＵ４０は、今回のクランク信号の立ち上がりタイミングまたはカム信号の立ち上がりタイミングまたはカム信号の立ち下がりタイミングにおいて、以下の（１）〜（３）の方式で気筒判別位置を識別しようとする（Ｓ４００）。
【００３８】
（１）カムシャフトが１回転する１燃焼サイクルの間に２回検出されるクランク信号の欠歯部に対し、１回目の欠歯部と２回目の欠歯部とでカム信号のレベルが異なるようにカムロータの凸部と凹部とは形成されている。これにより、ＥＣＵ４０は、クランク信号の立ち上がりタイミングで欠歯部を検出すると、欠歯部を検出したときのカム信号のレベルに基づいて１燃焼サイクルにおける気筒判別位置を識別できる。
【００３９】
（２）ＥＣＵ４０は、カム信号の立ち下がりから立ち上がりまでのカム信号がローレベルの間のクランク信号の歯数をカウントし、カウント数が所定数以上になると気筒判別位置を識別する。これにより、カム信号がローレベルの間でクランク信号の欠歯部を検出しない場合にも、ＥＣＵ４０は気筒判別位置を識別できる。
【００４０】
（３）ＥＣＵ４０は、カム信号の立ち上がりから立ち下がりまでのカム信号がハイレベルの間のクランク信号の歯数をカウントし、カウント数が所定数以上になると気筒判別位置を識別する。これにより、カム信号がハイレベルの間でクランク信号の欠歯部を検出しない場合にも、ＥＣＵ４０は気筒判別位置を識別できる。
【００４１】
カム信号がハイレベルの間またはローレベルの間のクランク信号の歯数に基づいて気筒判別位置を識別できるか否かを判定するときの所定数は、カム信号がハイレベルの間の角度またはローレベルの間の角度に応じて設定されている。
【００４２】
尚、本実施形態では、クランクシャフトが２回転する７２０°ＣＡを、表気筒判別位置の範囲と裏気筒判別位置の範囲として３６０°ＣＡの範囲で分類する。例えば、表気筒判別位置の範囲は次式（１）を満たしており、裏気筒判別位置の範囲は次式（２）を満たしている。
【００４３】
気筒判別位置＜１５０°ＣＡ  または  気筒判別位置≧５１０°ＣＡ  ・・・（１）
１５０°ＣＡ≦気筒判別位置＜５１０°ＣＡ                        ・・・（２）
本実施形態では、１燃焼サイクル（７２０°ＣＡ）の間に２回検出される欠歯部の気筒判別位置を、表気筒判別位置の範囲では６９０°ＣＡ、裏気筒判別位置の範囲では３３０°ＣＡに設定している。つまり、欠歯部は、クランク信号中で所定の角度位置を表わす基準位置信号である。
【００４４】
気筒判別位置を識別できない場合（Ｓ４０２：Ｎｏ）、ＥＣＵ４０はＳ４０８に処理を移行する。気筒判別位置を識別できない場合とは、以下の（１）〜（３）の場合である。
（１）欠歯部以外のクランク信号を検出した。
【００４５】
（２）カム信号がローレベルの間のクランク信号の歯数が所定数未満であった。
（３）カム信号がハイレベルの間のクランク信号の歯数が所定数未満であった。
気筒判別位置を識別できる場合（Ｓ４０２：Ｙｅｓ）、ＥＣＵ４０は気筒判別状態が気筒判別の完了を表わす「ＦＩＸ」であるか否かを判定する（Ｓ４０４）。
【００４６】
ＥＣＵ４０の気筒判別状態として、「ＦＩＸ」および「ＵＮＦＩＸ」の２状態が設定されている。アイドルストップからの再始動を含むエンジン始動時には、気筒判別状態は気筒判別が完了していないことを示す「ＵＮＦＩＸ」に設定されている。
【００４７】
気筒判別状態が「ＦＩＸ」の場合（Ｓ４０４：Ｙｅｓ）、ＥＣＵ４０はＳ４１４に処理を移行する。気筒判別状態が「ＦＩＸ」ではなく「ＵＮＦＩＸ」の場合（Ｓ４０４：Ｎｏ）、ＥＣＵ４０は、気筒判別位置を識別できたので気筒判別状態を「ＵＮＦＩＸ」から「ＦＩＸ」に設定し（Ｓ４０６）、Ｓ４１６に処理を移行する。
【００４８】
例えば、図５に示すように、ＥＣＵ４０は、気筒判別状態が「ＵＮＦＩＸ」の状態で欠歯部を検出すると、欠歯部を検出したときのカム信号のレベルにより気筒判別位置を識別できるので、Ｓ４０６において気筒判別状態を「ＦＩＸ」に設定する。
【００４９】
あるいは、図６に示すように、気筒判別状態が「ＵＮＦＩＸ」の状態で、クランク信号の欠歯部を検出する前にカム信号の立ち上がりを検出して今回の割り込みが発生し、カム信号がローレベルの間のクランク信号の歯数が所定数以上の場合、気筒判別位置を識別できる。したがって、ＥＣＵ４０は、Ｓ４０６において気筒判別状態を「ＦＩＸ」に設定する。
【００５０】
Ｓ４０８においてＥＣＵ４０は、気筒判別状態が「ＦＩＸ」であるか否かを判定する。気筒判別状態が「ＦＩＸ」ではなく「ＵＮＦＩＸ」の場合（Ｓ４０８：Ｎｏ）、ＥＣＵ４０は、気筒判別が完了しておらず、気筒判別位置も識別できないので本処理を終了する。
【００５１】
気筒判別状態が「ＦＩＸ」の場合（Ｓ４０８：Ｙｅｓ）、ＥＣＵ４０は、今回の割り込みが欠歯部以外のクランク信号の立ち上がりを検出したものであるか否かを判定する（Ｓ４１０）。
【００５２】
今回の割り込みが欠歯部以外のクランク信号の立ち上がりを検出したものである場合（Ｓ４１０：Ｙｅｓ）、ＥＣＵ４０は、現在の気筒判別位置に１０°ＣＡを加算して更新する（Ｓ４１２）。加算結果が７２０°ＣＡになると、気筒判別位置は０°ＣＡに設定される。
【００５３】
Ｓ４１４において、ＥＣＵ４０は、今回の割り込みがＥＤＵ４２に気筒判別情報を送信するタイミングであるか否かを判定する。気筒判別情報の送信タイミングは、例えば、３６０°ＣＡに１回、所定の気筒判別位置で発生する。気筒判別情報の送信タイミングであれば（Ｓ４１４：Ｙｅｓ）、ＥＣＵ４０はＳ４１６に処理を移行する。
【００５４】
Ｓ４１６において、ＥＣＵ４０は気筒判別情報として気筒判別位置をＥＤＵ４２に送信する。Ｓ４０６からＳ４１６に処理が移行されるのは、気筒判別が完了していないエンジン始動時の１回だけである。この場合、気筒判別情報の送信タイミングであるか否かに関わらず、ＥＣＵ４０は気筒判別情報をＥＤＵ４２に送信する。
【００５５】
図５では、ＥＣＵ４０は、エンジン始動時に気筒判別情報として３３０°ＣＡをＥＤＵ４２に送信する。図６では、ＥＣＵ４０は、エンジン始動時に気筒判別情報として２６０°ＣＡをＥＤＵ４２に送信する。
【００５６】
Ｓ４１４からＳ４１６に処理が移行されるのは、気筒判別状態が「ＦＩＸ」の状態で気筒判別情報の送信タイミングになるときである。図７では、ＥＣＵ４０は、気筒判別状態が「ＦＩＸ」の状態で気筒判別情報として２１０°ＣＡをＥＤＵ４２に送信する。
【００５７】
図７では、ＥＤＵ４２に気筒判別情報を送信するタイミングを、３６０°ＣＡに１回の欠歯部以外のクランク信号の立ち上がりに設定している。これに対し、ＥＤＵ４２に気筒判別情報を送信するタイミングを、３６０°ＣＡに１回の欠歯部を検出するクランク信号の立ち上がりに設定してもよい。
【００５８】
［２−２］
ＥＤＵ４２が実行する気筒判別処理１について、図３のフローチャートに基づいて説明する。図３のフローチャートはクランク信号の立ち上がりタイミングで実行される。
【００５９】
ＥＤＵ４２は、今回のクランク信号の立ち上がりタイミングによる割り込みが、欠歯部の立ち上がりを検出したものであるか否かを判定する（Ｓ４２０）。欠歯部を検出した場合（Ｓ４２０：Ｙｅｓ）、ＥＤＵ４２は自身の気筒判別状態が「ＵＮＦＩＸ」であるか否かを判定する（Ｓ４２２）。
【００６０】
ＥＤＵ４２の気筒判別状態として、「ＦＩＸ」、「ＣＲＡＮＫＦＩＸ」、「ＰＲＥＦＩＸ」、「ＵＮＦＩＸ」の４状態が設定されている。
「ＦＩＸ」は、ＥＣＵ４０から受信する気筒判別情報とクランク信号とに基づいて、ＥＤＵ４２が気筒判別を完了している状態を示す。
【００６１】
「ＣＲＡＮＫＦＩＸ」は、図５に示すように、エンジン始動時にＥＣＵ４０から気筒判別情報を受信する前にＥＤＵ４２がクランク信号の欠歯部を検出し、気筒判別位置を仮に設定している状態を示す。
【００６２】
「ＰＲＥＦＩＸ」は、図６に示すように、エンジン始動時にＥＤＵ４２がクランク信号の欠歯部を検出する前にＥＣＵ４０から気筒判別情報を受信し、受信した気筒判別情報に基づいて気筒判別位置を仮に設定している状態を示す。
【００６３】
「ＵＮＦＩＸ」は、エンジン始動時にＥＤＵ４２が欠歯部を検出しておらず、さらにＥＣＵ４０から気筒判別情報を受信していない状態を示している。
「ＦＩＸ」、「ＣＲＡＮＫＦＩＸ」、「ＰＲＥＦＩＸ」の３状態は完了しているか仮かに関わらず、ＥＤＵ４２が気筒判別を実行済みであることを示しており、「ＵＮＦＩＸ」の状態はＥＤＵ４２がまだ気筒判別を実行していないことを示している。
【００６４】
気筒判別状態が「ＵＮＦＩＸ」の場合（Ｓ４２２：Ｙｅｓ）、ＥＤＵ４２は、今回欠歯部を検出しただけでは欠歯部が表気筒判別位置の範囲または裏気筒判別位置の範囲のいずれであるか決定できない。
【００６５】
そこで、図５に示すように、ＥＤＵ４２は、今回検出した欠歯部の立ち上がりタイミングが表気筒判別位置の範囲であると仮に判定し、所定の６９０°ＣＡを気筒判別位置として仮に設定する（Ｓ４２４）。そして、ＥＤＵ４２は気筒判別状態を「ＣＲＡＮＫＦＩＸ」に設定する（Ｓ４２６）。
【００６６】
この場合、ＥＤＵ４２は、「ＵＮＦＩＸ」の状態で欠歯部を検出したので、Ｓ４２４で仮に設定した表気筒判別位置の６９０°ＣＡが正しいのか、実際には裏気筒判別位置の３３０°ＣＡが正しいのかを判断できない。
【００６７】
欠歯部を検出したときの気筒判別状態が「ＵＮＦＩＸ」ではない場合（Ｓ４２２：Ｎｏ）、つまり欠歯部を検出したときのＥＤＵ４２の気筒判別状態が気筒判別を実行済みの「ＦＩＸ」、「ＣＲＡＮＫＦＩＸ」、「ＰＲＥＦＩＸ」のいずれかである場合、ＥＤＵ４２は、欠歯部を検出したときの気筒判別位置が表気筒判別位置の範囲か否かを判定する（Ｓ４２８）。
【００６８】
欠歯部を検出したときの気筒判別位置が表気筒判別位置の範囲の場合（Ｓ４２８：Ｙｅｓ）、ＥＤＵ４２は、気筒判別位置に表気筒判別位置として所定の６９０°ＣＡを設定し（Ｓ４３０）、Ｓ４３４に処理を移行する。
【００６９】
図６および図７に示すように、欠歯部を検出したときの気筒判別位置が表気筒判別位置の範囲ではなく裏気筒判別位置の範囲の場合（Ｓ４２８：Ｎｏ）、図６および図７に示すように、ＥＤＵ４２は気筒判別位置に裏気筒判別位置として所定の３３０°ＣＡを設定し（Ｓ４３２）、Ｓ４３４に処理を移行する。
【００７０】
Ｓ４３０またはＳ４３２で気筒判別位置を設定すると、Ｓ４３４においてＥＤＵ４２は、気筒判別状態が「ＰＲＥＦＩＸ」であるか否かを判定する。気筒判別状態が「ＰＲＥＦＩＸ」の場合（Ｓ４３４：Ｙｅｓ）、図６に示すように、ＥＤＵ４２は気筒判別状態を「ＰＲＥＦＩＸ」から「ＦＩＸ」に設定する（Ｓ４３６）。
【００７１】
図６において、ＥＣＵ４０が気筒判別を実行して気筒判別情報をＥＤＵ４２に送信し、ＥＤＵ４２が気筒判別情報を受信して処理するまでには時間遅れがあるので、ＥＤＵ４２がＥＣＵ４０から受信した気筒判別情報に基づいて設定する気筒判別位置と実際の気筒判別位置との間には誤差が生じる。この誤差は、ＥＣＵ４０とＥＤＵ４２との処理時間と通信時間とにより生じるものであり、クランク信号の１個または２個の歯数程度であるから僅かである。
【００７２】
そして、欠歯部の立ち上がりタイミングは、６９０°ＣＡまたは３３０°ＣＡであるから、式（１）、（２）に示す表気筒判別位置の範囲と裏気筒判別位置の範囲との境界から１００°ＣＡ以上離れるように設定されている。
【００７３】
したがって、ＥＤＵ４２は、気筒判別状態が「ＰＲＥＦＩＸ」のときに、欠歯部を検出したときの気筒判別位置が表気筒判別位置の範囲か否かのＳ４２８の判定に基づいて、Ｓ４３０またはＳ４３２において正しい気筒判別位置が設定され、気筒判別は完了したと判断する。そこで、ＥＤＵ４２はＳ４３６で気筒判別状態に「ＦＩＸ」を設定する。
【００７４】
気筒判別状態が「ＰＲＥＦＩＸ」ではない場合（Ｓ４３４：Ｎｏ）、気筒判別状態は「ＦＩＸ」または「ＣＲＡＮＫＦＩＸ」である。気筒判別状態が「ＦＩＸ」の場合、ＥＤＵ４２は、Ｓ４２８の判定に基づいてＳ４３０またはＳ４３２で設定した気筒判別位置は正しいと判断するので、気筒判別状態を「ＦＩＸ」のまま変更せず本処理を終了する。
【００７５】
気筒判別状態が「ＣＲＡＮＫＦＩＸ」の場合、ＥＤＵ４２は、Ｓ４２８の判定に基づいてＳ４３０またはＳ４３２で設定した気筒判別位置は正しか否かを判断できないので、気筒判別状態を「ＣＲＡＮＫＦＩＸ」のまま変更せず本処理を終了する。
【００７６】
今回のクランク信号の立ち上がりが欠歯部を検出したものではない場合（Ｓ４２０：Ｎｏ）、ＥＤＵ４２は気筒判別状態が「ＵＮＦＩＸ」以外であるか否かを判定する（Ｓ４３８）。
【００７７】
気筒判別状態が「ＵＮＦＩＸ」以外であれば（Ｓ４３８：Ｙｅｓ）、気筒判別位置が既に設定されているので、ＥＤＵ４２は現在の気筒判別位置に１０°ＣＡを加算して更新する（Ｓ４４０）。加算結果が７２０°ＣＡになると、気筒判別位置に０°ＣＡを設定する。
【００７８】
［２−３］
ＥＤＵ４２が実行する気筒判別処理２について、図４のフローチャートに基づいて説明する。図４のフローチャートはＥＤＵ４２がＥＣＵ４０から車内ネットワーク２００を介して気筒判別情報を受信したときに実行される。
【００７９】
ＥＤＵ４２は、ＥＣＵ４０から送信された気筒判別情報を取得し（Ｓ４５０）、自身の気筒判別状態が「ＵＮＦＩＸ」であるか否かを判定する（Ｓ４５２）。
気筒判別状態が「ＵＮＦＩＸ」の場合（Ｓ４５２：Ｙｅｓ）、図６に示すように、ＥＤＵ４２は、ＥＣＵ４０から気筒判別情報として受信した気筒判別位置を自身の気筒判別位置として設定する（Ｓ４５４）。そして、気筒判別状態を「ＰＲＥＦＩＸ」に設定する（Ｓ４５６）。
【００８０】
図６では、ＥＤＵ４２はＥＣＵ４０から２６０°ＣＡを気筒判別情報として取得している。前述したように、ＥＣＵ４０が気筒判別情報を送信し、ＥＤＵ４２がＥＣＵ４０から受信する気筒判別情報を自身の気筒判別位置として設定するまでには時間遅れが生じるので、設定した気筒判別位置と実際の気筒判別位置との間に誤差が生じる可能性がある。
【００８１】
そこで、ＥＤＵ４２は、図３のフローチャートで説明したように、次に欠歯部を検出すると、今の気筒判別位置が表気筒判別位置の範囲か裏気筒判別位置の範囲かに応じて所定の気筒判別位置を設定する。これにより、Ｓ４５４で設定した気筒判別位置の誤差を修正できる。
【００８２】
気筒判別状態が「ＵＮＦＩＸ」ではない場合（Ｓ４５２：Ｎｏ）、ＥＤＵ４２は、今の気筒判別位置とＥＣＵ４０から取得した気筒判別位置との差を算出し（Ｓ４５８）、気筒判別位置の差が次式（３）を満たすか否かを判定する（Ｓ４６０）。式（３）を満たす場合（Ｓ４６０：Ｙｅｓ）、ＥＤＵ４２はＳ４６４に処理を移行する。
【００８３】
−１８０°ＣＡ≦気筒判別位置の差＜１８０°ＣＡ    ・・・（３）
式（３）を満たさない場合（Ｓ４６０：Ｎｏ）、ＥＤＵ４２は、今の気筒判別位置とＥＣＵ４０から取得した気筒判別位置との差がクランクシャフトの半回転（１８０°ＣＡ）以上であり大きすぎるので、気筒判別位置が表気筒判別位置の範囲または裏気筒判別位置の範囲のいずれであるかを誤判定している判断する。
【００８４】
そこで、ＥＤＵ４２は今の気筒判別位置に３６０°ＣＡを加算し（Ｓ４６２）、Ｓ４６４に処理を移行する。加算結果が７２０°ＣＡを越えると、越えた角度を気筒判別位置として設定する。
【００８５】
図５では、ＥＤＵ４２は、「ＣＲＡＮＫＦＩＸ」の状態でＥＣＵ４０から気筒判別情報として３３０°ＣＡを受信する。このとき、ＥＤＵ４２は気筒判別位置を６９０°ＣＡから７００°ＣＡに更新している。しかし、更新された気筒判別位置である７００°ＣＡとＥＣＵ４０から気筒判別情報として受信した３３０°ＣＡとの差が式（３）を満たさないので、ＥＤＵ４２は７００°ＣＡに３６０°ＣＡを加算し、７２０°ＣＡを越えた３４０°ＣＡを気筒判別位置として設定する。
【００８６】
図７では、ＥＤＵ４２は、「ＦＩＸ」の状態でＥＣＵ４０から気筒判別情報として２１０°ＣＡを受信する。このとき、ＥＤＵ４２は気筒判別位置を５７０°ＣＡから５８０°ＣＡに更新している。しかし、更新された気筒判別位置である５８０°ＣＡとＥＣＵ４０から気筒判別情報として受信した２１０°ＣＡとの差が式（３）を満たさないので、ＥＤＵ４２は５８０°ＣＡに３６０°ＣＡを加算し、７２０°ＣＡを越えた２２０°ＣＡを気筒判別位置として設定する。
【００８７】
Ｓ４６４においてＥＤＵ４２は、気筒判別状態が「ＣＲＡＮＫＦＩＸ」であるか否かを判定する。気筒判別状態が「ＣＲＡＮＫＦＩＸ」の場合（Ｓ４６４：Ｙｅｓ）、ＥＤＵ４２はＳ４６０の判定結果に基づく処理により今の気筒判別位置は正しいと判断し、気筒判別状態を「ＦＩＸ」に設定する（Ｓ４６６）。
【００８８】
［３．効果］
以上説明した上記実施形態によると、以下の効果を得ることができる。
（１）ＥＤＵ４２は、エンジン始動時または３６０°ＣＡ毎に１回、ＥＣＵ４０から受信する気筒判別情報とクランクセンサ５２から入力するクランク信号とに基づいて気筒判別を実行し、気筒判別の実行後、ＥＤＵ４２自身でクランク信号に基づいて気筒判別位置を更新する。これにより、クランク信号に同期してエンジン制御を高精度に実行できる。
【００８９】
（２）ＥＣＵ４０は、エンジン始動時または３６０°ＣＡ毎に１回だけＥＤＵ４２に気筒判別情報を送信するので、ＥＣＵ４０とＥＤＵ４２との通信負荷の上昇を抑制できる。
（３）ＥＤＵ４２は３６０°ＣＡ毎に１回、ＥＣＵ４０から気筒判別情報を受信するので、ＥＣＵ４０から気筒判別情報を受信するまでの間にクランク信号を誤検出して１燃焼サイクルにおける気筒判別位置がずれても、３６０°ＣＡ毎に気筒判別位置を修正できる。
【００９０】
（４）第１制御装置であるＥＣＵ４０と第２制御装置であるＥＤＵ４２との製造元が異なっている場合、ＥＣＵ４０とＥＤＵ４２とがそれぞれ独立して気筒判別を実行すると気筒判別結果や気筒判別に要する時間が異なるために、エンジン制御を高精度に実行できないことがある。
【００９１】
本実施形態では、ＥＤＵ４２は、ＥＣＵ４０から受信する気筒判別情報と自身が入力するクランク信号とに基づいて気筒判別を実行し、実行した気筒判別の結果とＥＣＵ４０からの制御指令とに基づいてエンジン制御を実行する。
【００９２】
これにより、ＥＣＵ４０が指令する制御タイミングでＥＤＵ４２はエンジン制御を実行できる。第２制御装置が複数存在し、第２制御装置の製造元が異なる場合も、第１制御装置が指令する制御タイミングで第２制御装置はエンジン制御を実行できる。
【００９３】
［４．他の実施形態］
（１）上記実施形態では、第２制御装置であるＥＤＵ４２はクランク信号だけを入力している。これに対し、ＥＤＵ４２はクランク信号に加えカム信号を入力し、クランク信号とカム信号とに基づいて気筒判別を実行してもよい。この場合にも、ＥＣＵ４０からＥＤＵ４２が受信する気筒判別情報とクランク信号とに基づいてＥＤＵ４２は気筒判別を実行する。これにより、ＥＤＵ４２は、ＥＣＵ４０が指令する制御タイミングでエンジン制御を実行できる。  
【００９４】
（２）上記実施形態では、ＥＣＵ４０を第１制御装置、ＥＤＵ４２を第２制御装置にした。これ以外にも、気筒判別情報に基づいてエンジン制御を実行するのであれば、第１制御装置はＥＣＵ４０に限るものではなく、第２制御装置はＥＤＵ４２に限るものではない。
【００９５】
（３）ＥＣＵ４０は、クランク信号とカム信号とに基づいて気筒判別を実行した。これに対し、筒内圧センサが少なくとも一つの気筒に設置されている場合には、カム信号の代わりに１燃焼サイクル中の所定の角度位置を表わす角度位置信号として筒内圧センサの出力信号を採用してもよい。筒内圧センサが検出する筒内圧により、例えば１燃焼サイクルにおける圧縮行程の上死点を検出することができる。
【００９６】
（４）上記実施形態における一つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【００９７】
（５）上述したエンジン制御装置の他、当該エンジン制御装置を構成要素とするエンジン制御システム、当該エンジン制御装置の第１制御装置、第２制御装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した記録媒体、エンジン制御方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【００９８】
２：ディーゼルエンジン、１０：エンジン制御システム、１４：燃料供給ポンプ、２０：コモンレール、３０：燃料噴射弁、４０：ＥＣＵ（エンジン制御装置、第１制御装置、第１判別手段、第１通信手段）、４２：ＥＤＵ（エンジン制御装置、第２制御装置、第２判別手段、第２通信手段）
【図１】
0006331968.tif 000002
【図２】
0006331968.tif 000003
【図３】
0006331968.tif 000004
【図４】
0006331968.tif 000005
【図５】
0006331968.tif 000006
【図６】
0006331968.tif 000007
【図７】
0006331968.tif 000008