Nothing Special   »   [go: up one dir, main page]

JP4687481B2 - エンジン制御装置 - Google Patents

エンジン制御装置 Download PDF

Info

Publication number
JP4687481B2
JP4687481B2 JP2006024668A JP2006024668A JP4687481B2 JP 4687481 B2 JP4687481 B2 JP 4687481B2 JP 2006024668 A JP2006024668 A JP 2006024668A JP 2006024668 A JP2006024668 A JP 2006024668A JP 4687481 B2 JP4687481 B2 JP 4687481B2
Authority
JP
Japan
Prior art keywords
signal
angle
input
cam
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006024668A
Other languages
English (en)
Other versions
JP2007205242A (ja
Inventor
晴彦 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2006024668A priority Critical patent/JP4687481B2/ja
Priority to DE102007004068A priority patent/DE102007004068B4/de
Priority to US11/700,148 priority patent/US7428459B2/en
Publication of JP2007205242A publication Critical patent/JP2007205242A/ja
Application granted granted Critical
Publication of JP4687481B2 publication Critical patent/JP4687481B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M15/00Testing of engines
    • G01M15/04Testing internal-combustion engines
    • G01M15/042Testing internal-combustion engines by monitoring a single specific parameter not covered by groups G01M15/06 - G01M15/12
    • G01M15/046Testing internal-combustion engines by monitoring a single specific parameter not covered by groups G01M15/06 - G01M15/12 by monitoring revolutions
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/009Electrical control of supply of combustible mixture or its constituents using means for generating position or synchronisation signals
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/22Safety or indicating devices for abnormal conditions
    • F02D41/222Safety or indicating devices for abnormal conditions relating to the failure of sensors or parameter detection devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、車両のエンジン制御装置に関するものである。
従来から、車両のエンジン制御装置においては、クランク軸の回転に応じて所定角度毎に信号レベルが特定方向に変化するクランク信号をクランク軸センサから入力し、このクランク信号から特定されるクランク軸の回転位置(クランク位置)を特定している。そして、その位置が所望の回転位置となったときに、燃料噴射や点火などのイベントを発生させるように構成されている(例えば、特許文献1,2参照)。
ただ、この種のエンジン制御装置においては、クランク信号に基づいてイベントを発生させているため、例えば信号線の断線などのトラブルによりクランク信号が正常に入力されなくなると、クランク軸の回転位置が特定できなくなる。その結果、適切にエンジンの制御を継続することができなくなってしまう。
この問題に対しては、従来、エンジンにおけるカム軸の回転に応じて信号レベルが変化するカム信号をカム軸センサから入力し、このカム信号に基づいてイベントを発生させる構成とすることで対応していた。
つまり、クランク信号の異常が検知された場合に、カム信号に基づいてイベントを発生させることができるように処理系統を切り替えることで、エンジンの制御を継続して車両の退避走行を実現することができるようにしていた。
特開2001−200747号公報 特開2001−214790号公報
しかし、カム信号は、その信号レベルが特定方向に変化するまでに必要な軸の回転角度がクランク信号とは異なっているため、そのままエンジンの制御に用いることができない。そうすると、上述した退避走行を実現するためには独立した処理系統を2系統設ける必要があり、このようなことは、構成(特にソフトウェア構成)が大幅に増加することになるため望ましくない。
本願発明は、このような課題を解決するためになされたものであり、その目的は、構成の大幅な増加を伴うことなく、クランク信号が正常に入力されなくなった場合における退避走行を実現するための技術を提供することである。
上記課題を解決するため請求項1に記載のエンジン制御装置では、まず、間隔計測手段が、入力経路から入力される入力信号の信号レベルが特定方向に変化してから、次に信号レベルが特定方向に変化するまでの時間間隔を計測する。ここで、入力経路に対する信号の入力は、信号入力手段により行われる。具体的にいうと、信号入力手段は、エンジンにおけるクランク軸が第1の角度回転する毎に信号レベルが特定方向に変化するクランク信号を、入力経路に対して入力させる。
また、逓倍クロック生成手段が、間隔計測手段による計測値を第1の逓倍数で割って、こうして得られた値を1周期とする逓倍クロックを生成している。こうして逓倍クロック生成手段により生成される逓倍クロックを受けてアングルカウンタが動作する。このアングルカウンタは、エンジンの1サイクルにおけるクランク軸の回転位置を、第1の角度を第1の逓倍数で割ってなる分解能で示した場合における各位置に、そのカウント値それぞれが対応づけられたカウンタである。そして、イベント発生手段が、アングルカウンタのカウント値に基づいて特定されるクランク軸の回転位置に応じて、エンジンの制御に関するイベントを発生させる。
さらに、入力経路からのクランク信号の入力状態に基づいて、このクランク信号が異常であるか否かを繰り返し判定する異常判定手段を備えている。
信号入力手段は、この異常判定手段によりクランク信号が異常でないと判定されたら、クランク信号を前記入力経路に対して入力させる一方、クランク信号が異常であると判定されたら、エンジンにおけるカム軸が第2の角度(第1の角度と異なる角度)回転する毎に信号レベルが変化するカム信号を、クランク信号の代わりに前記入力経路に対して入力させる。また、クロック出力手段は、異常判定手段によりクランク信号が異常でないと判定されたら、間隔計測手段による計測値を第1の逓倍数で割って、こうして得られた値を1周期とする逓倍クロックを生成する一方、クランク信号が異常であると判定されたら、間隔計測手段による計測値を式「(第2の角度×第1の逓倍数)/第1の角度」から求められる第2の逓倍数で割って、こうして得られた時間を1周期とする逓倍クロックを生成する。
このように構成されたエンジン制御装置では、クランク信号が異常になると、入力経路からの入力信号がクランク信号からカム信号に変更されると共に、逓倍クロックを生成するために用いられる逓倍数が第1の逓倍数から第2の逓倍数に変更される。
これにより、間隔計測手段に計測される時間間隔は、クランク信号において信号レベルが特定方向に変化するまでに要するクランク軸の回転角度(第1の角度)に応じた値から、カム信号において信号レベルが特定方向に変化するまでに要するカム軸の回転角度(第2の角度)に応じた値に変更される。そして、逓倍クロック生成手段により生成される逓倍クロックの周期についても、第1の角度に応じた時間間隔を第1の逓倍数で割った値から、第2の角度に応じた時間間隔を第2の逓倍数で割った値に変更される。
ここで、「第2の逓倍数」は、式「(第2の角度×第1の逓倍数)/第1の角度」から求められた値である。この式は、「第1の角度/第1の逓倍数=第2の角度/第2の逓倍数」が成立するような第2の逓倍数を求める式ということができ、このことは、入力信号および逓倍数の変更前後で角度と逓倍数との比が変化しないことを意味する。
つまり、逓倍クロック生成手段により生成される逓倍クロックの周期を、第2の角度に応じた時間間隔(計測値)を第2の逓倍数で割った値に変更しても、角度と逓倍数との比が変わらないことから、実際の周期もその変更前後で変化しない。逆にいえば、逓倍数を第2の逓倍数に変更することで、逓倍クロック生成手段により生成される逓倍クロックの周期が変わらないようにしているということができる。
そうすると、アングルカウンタを動作させるための逓倍クロックの周期が、入力信号および逓倍数の変更前後で変化しないことになるため、逓倍クロックに基づいて動作するアングルカウンタ,および,そのカウント値で動作するイベント発生手段に関しては、その変更前後において処理を切り替えるなどといった特別な処理が必要ない。
これにより、本エンジン制御装置では、クランク信号が異常になった場合に、入力信号および逓倍数を変更するだけで、カム信号に基づいてエンジンの制御を継続させることができる。これにより、その変更後に逓倍クロック生成手段,アングルカウンタおよびイベント発生手段が特別な処理を行うように構成しなくてもよくなる結果、大幅な構成の増加を伴うことなく、クランク信号が正常に入力されなくなった場合における退避走行を実現することができる。
また、上記構成では、逓倍クロック生成手段により生成される逓倍クロックの周期が、第1の角度に応じた時間間隔を第1の逓倍数で割った値から、第2の角度に応じた時間間隔を第2の逓倍数で割った値へと変更されるように構成されている。この第2の逓倍数は、上述した式で示されるように、第1の角度,第1の逓倍数および第2の角度から求められる値であるため、第2の逓倍数として、他のパラメータに応じた適切な値を用いることができる。
なお、この構成においては、間隔計測手段による計測値を第1の逓倍数または第2の逓倍数で割ってなる値を算出する手段を別に備えておき、逓倍クロック出力手段が、この手段により算出された値を1周期とするように構成してもよい。
また、上述した逓倍クロック出力手段は、クランク信号が異常であると判定された以降、逓倍クロックを生成する際に用いる逓倍数を第2の逓倍数に変更するが、クランク信号が異常でないと判定されたときに、逓倍クロックを生成する際に用いる逓倍数を第1の逓倍数に変更し直すように構成してもよい。
ところで、上述した信号入力手段がクランク信号の代わりに入力回路に入力させるカム信号は、その信号レベルの特定方向への変化が、カム軸が第2の角度回転する毎に発生する規則的な変化点のみで発生するものであれば、その信号をそのままカム信号として用いることに問題はない。
しかし、カム信号における信号レベルの特定方向への変化が、上述した規則的な変化点だけでなく、この変化点に対応する回転位置からカム軸が第2の角度未満の角度回転した際に発生する不規則な変化点においても発生する場合、間隔計測手段による計測を、不規則な変化点で終了させないようにすることが望ましい。それは、不規則な変化点で間隔計測手段による計測を終了させると、カム軸が第2の角度回転し終わる前の計測値(時間間隔)に基づいて周期の短い逓倍クロックが生成されてしまう結果、アングルカウンタのカウント値とクランク軸の回転位置との対応関係が崩れて適切なタイミングでイベントを発生させることができなくなるからである。
そこで、エンジンに、少なくとも2 本のカム軸が備えられている場合であれば、上記エンジン制御装置を、請求項に記載のエンジン制御装置のような構成とすることが考えられる。
このエンジン制御装置は、カム信号生成手段が、カム軸それぞれの回転に応じて信号レベルが変化する第1カム信号および第2カム信号に基づいてカム信号を生成する。ここでいう「カム信号」とは、第1カム信号および第2カム信号に基づいて、該信号それぞれの信号レベルが変化するタイミングで信号レベルが特定方向に変化する信号であって、その特定方向の変化が、前記カム軸それぞれが前記第2の角度回転する毎に発生する規則的な変化点と、該変化点に対応する回転位置から前記カム軸それぞれが前記第2の角度未満の角度回転した際に発生する不規則な変化点と、において発生する信号である。
また、異常判定手段によりクランク信号が異常であると判定された以降、信号入力手段は、カム信号生成手段により生成されるカム信号を、クランク信号の代わりに入力経路に対して入力させる。
さらに、信号入力手段が入力経路にカム信号を入力させている状況において、このカム信号に特定方向への信号レベルの変化が発生した場合、変化点判定手段が、この時点における第1,第2カム信号それぞれの状態に基づき、前記発生した変化点が、不規則な変化点の直前に発生する変化点であるか否かを判定する。
そして、変化点判定手段により、不規則な変化点の直前に発生する変化点であると判定された場合、不規則な変化点の直前に発生する変化点でないと判定されるまでの間、計測継続手段が、間隔計測手段による計測を継続させる。
このように構成すれば、第1,第2カム信号における信号レベルの特定方向への変化が、規則的な変化点と不規則な変化点とにおいて発生する場合であっても、間隔計測手段による計測を不規則な変化点で終了させないようにすることができる。これにより、カム軸が第2の角度回転し終わる前の計測値(時間間隔)に基づいて周期の短い逓倍クロックが生成されてしまうことを防止することができる。
また、この構成においては、カム信号における規則的な変化点の到来する間隔を、エンジンの1サイクルにおいて発生させるべきイベントと同じ角度間隔となるように構成しておけば、カム信号に基づく退避走行時においても、正常時と同じ角度間隔でのイベントの発生を実現することができるようになる。
なお、この上述した変化点判定手段が判定を行う際に参照する「第1,第2カム信号それぞれの状態」とは、例えば、信号レベル,信号レベルに発生するエッジの方向(立ち上がりまたは立ち下がり)などのことである。
また、この構成において、計測継続手段は、間隔計測手段による計測を継続させる手段であるが、この計測を継続させるための具体的な構成については特に限定されない。
例えば、請求項に記載のエンジン制御装置のように構成することが考えられる。
このエンジン制御装置において、計測継続手段は、変化点判定手段により不規則な変化点の直前に発生する変化点でないと判定されるまでの間、信号入力手段による入力経路への信号の入力を遮断することにより、間隔計測手段による計測を継続させる。
このように構成すれば、変化点判定手段により不規則な変化点の直前に発生する変化点でないと判定されるまでの間、入力経路に対して入力信号が入力されないようにすることで、間隔計測手段による計測を継続させることができる。このように、入力経路に対する入力信号の入力を遮断していることから、間隔計測手段からみた入力信号は、規則的な変化点でのみ信号レベルが特定方向に変化する信号となる。そのため、間隔計測手段を含めた各構成に対して何ら特別な処理を行わせることなく、間隔計測手段による計測の継続を実現することができる。
また、上述したクランク信号は、原則、クランク軸が第1の角度回転する毎に信号レベルが特定方向に変化する信号である。ただ、通常は、クランク軸の回転位置を特定するために、その回転位置が特定位置に到達したときに限り、次に信号レベルが特定方向に変化するまでに必要な回転角度が第1の角度の所定整数倍になる。そして、このように整数倍となっている区間(いわゆる欠け歯の期間)においては、間隔計測手段による大きな計測値に基づいて周期の長い逓倍クロックが生成されてしまう不都合を回避するために、その計測値を修正する構成とされている。
具体的には、下記のような構成である。まず、逓倍クロック生成手段により生成される逓倍クロックにおいて発生する立ち上がりエッジまたは立ち下がりエッジをカウントするエッジカウンタによって、入力経路から入力される入力信号の信号レベルが特定方向に変化してから、次に信号レベルが特定方向に変化するまでのエッジをカウントする。そして、このエッジカウンタによるカウント値が、クランク軸の回転位置が特定位置に到達したときにカウントされうる値となった場合には、計測値修正手段が、間隔計測手段による計測値を、この計測値を所定整数で割った値に修正する。
ただ、このエッジカウンタは、上述したとおりクランク信号に存在する欠け歯の期間に起因する不都合を回避するために設けられたものである。そのため、入力信号がカム信号に変更された場合、エッジのカウントはしていても、通常、そのカウント値がエンジンの制御に利用されることはない。
そこで、このエッジカウンタを、カム信号に基づく退避走行時において有効利用するために、例えば、請求項に記載のエンジン制御装置のように構成することが考えられる。
このエンジン制御装置においては、異常判定手段により前記クランク信号が異常であると判定された以降、エッジカウンタによるカウント値それぞれが、カム信号の信号レベルが特定方向に変化した以降におけるカム軸の回転角度に対応するものとし、イベント発生手段が、その回転角度に基づいてエンジンの制御に関する1以上のイベントを順次発生させる。
このように構成すれば、カム信号に基づく退避走行時においても、エッジカウンタを有効利用することができる。
なお、入力信号がカム信号とされている状況において、エッジカウンタのカウント値は、その信号レベルが特定方向に変化するまでの間における逓倍クロックのエッジ数を示すものである。つまり、その値は、カム信号の信号レベルが特定方向に変化した以降におけるカム軸の回転位置に対応するものとなる。そのため、カム信号の信号レベルが特定方向に変化した以降、そのカウント値が、イベントを発生させるべき回転位置に対応する値に到達したタイミングで、イベントを発生させるように構成すればよい。
また、この構成において、カム信号に基づく退避走行時に、その信号レベルが特定方向に変化した以降の所定タイミング(所定の回転角度だけ回転したタイミング)でイベントを発生させることを考えると、エンジンの回転数が急激に上昇するなどといった事態が発生した場合は、当然そのタイミングを早めなければならない。
ここで、カム信号の信号レベルが特定方向に変化するまでに要する期間は、クランク信号における期間よりも大幅に長くなるように構成されていることが一般的であるため、クランク信号でエンジン制御を実施している場合と比べて、上記のような事態の発生確率が著しく高くなる。そして、このような事態が発生した場合には、次にカム信号の信号レベルが特定方向に変化するタイミングが、イベントを発生させるべきタイミングよりも先に到来する恐れがあり、この場合、本来発生させるべきイベントを発生させることができなくなってしまう。
そこで、このように、本来発生させるべきイベントを発生させることができるようにするために、例えば、請求呼に記載のエンジン制御装置のように構成することが考えられる。
このエンジン制御装置では、異常判定手段によりクランク信号が異常であると判定された以降、入力経路から入力される入力信号の信号レベルが特定方向に変化してから、イベント発生手段が発生させるべきイベント全てを発生させる前に、次に入力信号の信号レベルが特定方向に変化した場合、イベント補助手段が、イベント発生手段により発生させられなかったイベントそれぞれを順次発生させる。
このように構成すれば、カム信号の信号レベルが特定方向に変化するまでの間に、本来発生させるべきイベントの発生が行われていなくても、それ以降に、不足していたイベントを順次発生させることができる。
なお、この構成におけるイベント補助手段は、イベント発生手段により発生させられなかったイベントそれぞれを順次発生させる手段であり、その発生方法については特に限定されない。例えば、入力信号の信号レベルが特定方向に変化した際、その時点において本来発生させるべきであったイベントがある場合に、それらイベントを順番に発生させることとすればよい。
以下に本発明の実施形態を図面と共に説明する。
(1)全体構成
エンジン制御装置(以下、「ECU」という)1は、図1に示すように、ECU1外部から入力されるクランク信号,第1カム信号,第2カム信号などの信号を入力する入力回路10,ECU1外部へ各種信号を出力する出力回路20,入力回路10から入力される信号に基づいてエンジンを制御するマイクロコンピュータ(以降、「マイコン」という)30などで構成される。なお、本実施形態においては、6気筒(第1〜第6気筒)からなるエンジンを制御する構成について説明する。
上述したクランク信号は、クランク軸センサ(図示されない)から出力されてくる信号であって、エンジンにおけるクランク軸の回転に伴ってパルス状に信号レベルが変化する信号である。また、第1カム信号は、第1カム軸センサ(図示されない)から出力されてくる信号であって、エンジンの備える第1,第2カム軸のうち、第1カム軸の回転に伴って信号レベルが変化する信号である。そして、第2カム信号は、第2カム軸センサ(図示されない)から出力されてくる信号であって、上記第2カム軸の回転に伴って信号レベルが変化する信号である。
ここで、これら信号の詳細を図2に基づいて説明する。
まず、クランク信号は、クランク軸が単位角度Δθ°CA(本実施形態においては6°CA(CA:クランクアングル))回転する毎に信号レベルがパルス状に変化する。ただし、クランク軸の回転位置が360°CA毎に設定された特定位置に到達した場合に限り、次にクランク信号の信号レベルが変化するまでの回転角が単位角度Δθ°CAのk倍(本実施形態では、k=3)だけ長くなる。つまり、クランク信号には、クランク軸の回転位置が特定位置以外であれば、クランク軸が単位角度Δθ°CA回転する毎に、パルス状に信号レベルが変化する有効なエッジ(以降、「有効エッジ」という)が発生する。そして、クランク軸の回転位置が特定位置となったら、単位角度Δθ毎の有効エッジがk―1個だけ発生しなくなる。これにより、クランク軸の回転位置が特定位置となった場合には、有効エッジの発生間隔がk倍の長さとなる。なお、以降、クランク信号において有効エッジの間隔が単位角度のk倍となる領域を「欠け歯」という。
また、このクランク信号においては、所定のクランク角度(本実施形態においては、720°CA/気筒数6=120°CA)毎に発生する有効エッジが、それぞれエンジンにおける気筒の上死点に対応づけられている(#1,#5,#3,#6,#2,#4TDC)。これら上死点のうち、第1気筒の上死点(#1TDC)に対応する有効エッジから、所定のクランク角度(本実施形態においては18°CA)だけ前に発生する有効エッジが、クランク信号の基準位置(図2における「0」の位置)に対応づけられている。
なお、本実施形態においては、基準位置に対応する有効エッジから108°CAだけ後に発生する有効エッジ,および,この有効エッジから更に360°CAだけ後に発生する有効エッジそれぞれが、上述した「特定位置」として対応づけられている。つまり、これら有効エッジそれぞれから単位角度のk倍となる領域それぞれが「欠け歯」となっている。
次に、第1カム信号は、クランク信号の基準位置より所定のクランク角度(本実施形態では105°CA)だけ前のクランク位置で信号レベルがHレベルとなった以降、第1カム軸が240°CA,240°CA,210°CA,30°CAと回転する毎に、その信号レベルがHレベルからLレベルまたはLレベルからHレベルへと変化する信号である。
そして、第2カム信号は、クランク信号の基準位置より所定のクランク角度(本実施形態では15°CA)だけ後のクランク位置で信号レベルがHレベルとなった以降、第2カム軸が210°CA,30°CA,240°CA,240°CAと回転する毎に、その信号レベルがHレベルからLレベルまたはLレベルからHレベルへと変化する信号である。
続いて、ECU1を構成する各構成要素について説明する。
入力回路10は、ECU1外部から入力したクランク信号を波形成形してマイコン30へ出力する回路と、ECU1外部から入力した第1,第2カム信号を波形成形してマイコン30へ出力する回路と、で構成されている。
出力回路20は、マイコン30から出力される信号(後述するイベント信号)を、エンジンにおける具体的な制御対象(例えば、インジェクタ,イグナイタなど)に出力する回路である。
マイコン30は、マイコン30全体の動作を制御するCPU31,入力回路10から入力される信号に基づいて後述するアングルクロックを生成するアングルクロック生成部33,アングルクロック生成部33により生成されるアングルクロックと同期させた信号をCPU31からの指令に基づいて出力回路20へ出力するタイマ出力部35,CPU32による処理手順などを記憶するフラッシュROM37,CPU32による処理結果などを記憶するRAM39などを備えている。
このマイコン30の備えるアングルクロック生成部33は、図3に示すように、入力選択部41,エッジ間計測部43,逓倍クロック生成部45,エッジ後経過角度計測部47,アングルクロック部49などからなる。
これらのうち、入力選択部41は、入力回路10から入力される第1,第2カム信号に基づいて生成した信号(以降、「カム信号」という)をマイコン30へ出力する回路を有している。この回路により生成されるカム信号は、図2に示すように、第1,第2カム信号それぞれの信号レベルが変化するタイミングで信号レベルがパルス状に変化(有効エッジが発生)する信号である。本実施形態においては、第1,第2カム信号の信号レベルが変化するタイミングに基づき、カム軸それぞれが120°CA回転する毎の規則的な変化点P,および,変化点Pの間に位置する不規則な変化点Qそれぞれにおいて、その信号レベルがパルス状に変化する信号となる。
また、この入力選択部41は、入力回路10から入力されるクランク信号またはカム信号を、CPU31からの指令に基づいて選択的にアングルクロック生成部33の各部へと出力する。また、この入力選択部41は、アングルクロック生成部33の各部に対する信号の供給を行うか否かを設定するためのレジスタを内蔵しており、ここに初期値である「1」がセットされていれば、各部への信号の供給を行う供給許可状態となる。その一方、「0」がセットされていれば、各部への信号の供給を行わない供給禁止状態となるように構成されている。
また、エッジ間計測部43は、入力選択部41から入力される入力信号に有効エッジが発生する毎に、次に入力信号に有効エッジが発生するまでの間隔をカウントするエッジ間時間計測カウンタを内蔵している。このエッジ間時間計測カウンタは、入力信号に有効エッジが発生した際にリセットされ、次に有効エッジが発生するまでの間、システムクロック(の立ち上がりまたは立ち下がりエッジ)をカウントする(図4「エッジ間時間計測カウンタ」参照)。これにより、入力信号に有効エッジが発生する間隔が計測される。そして、エッジ間計測部43は、エッジ間時間計測カウンタによる計測値を、次の有効エッジが発生したタイミング(リセットされる前のタイミング)で逓倍クロック生成部45に転送する。
また、逓倍クロック生成部45は、エッジ間計測部43から転送されてくる計測値を、内蔵する第1レジスタに逓倍クロック基準時間としてセットする(図4「逓倍クロック基準時間」参照)。こうしてレジスタに逓倍クロック基準時間をセットしたら、この逓倍クロック基準時間を、内蔵する第2レジスタにセットされた逓倍数f(本実施形態においては、f=60(初期値))で割った値を1周期とする逓倍クロックを生成する(図4「逓倍クロック」参照)。そして、この逓倍クロック生成部45は、上述のようにして生成した逓倍クロックを、エッジ後経過角度計測部47およびアングルクロック部49それぞれに出力する。
また、エッジ後経過角度計測部47は、逓倍クロック生成部45から入力される逓倍クロックにつき、この信号の信号レベルが特定方向(本実施形態においては、LレベルからHレベル)に変化する回数をカウントする経過角度計測カウンタを内蔵している。この経過角度計測カウンタは、入力選択部41から有効エッジが入力された際にリセットされ、次に有効エッジが入力されるまでの間、逓倍クロックの立ち上がりエッジをカウントする(図4「経過角度計測カウンタ」参照)。ここで、クランク信号またはカム信号は、クランク軸またはカム軸の回転に伴って信号レベルが変化する信号であり、逓倍クロックは、これら信号の信号レベルが特定方向に変化する時間間隔を逓倍したクロックである。つまり、経過角度計測カウンタは、入力選択部41から有効エッジが入力された以降における軸の回転角度(経過角度:0°CA〜Δθ°CA)を、クランク信号またはカム信号に有効エッジが発生する間隔よりも高い分解能(具体的には、f倍の分解能)で仮想的に計測することになる。
また、このエッジ後経過角度計測部47は、経過角度計測カウンタによるカウント値のしきい値を、内蔵するレジスタにエッジ後経過角度計測として記憶しており、カウント値が上記エッジ後経過角度計測以上となった際に、その旨を示す割込信号をCPU31に対して出力するように構成されている。この「エッジ後経過角度計測」は、初期値が、クランク信号が「欠け歯」以外の領域のときに到達しうるカウント値よりも大きな値(本実施形態では、このカウント値の2.5倍;Δθ×2.5)である。
そして、アングルクロック部49は、逓倍クロック生成部45から入力される逓倍クロックにつき、この逓倍クロックの信号レベルが特定方向(本実施形態においては、LレベルからHレベル)に変化する回数をカウントする基準カウンタと、入力選択部41から入力される入力信号の信号レベルが特定方向(本実施形態においては、LレベルからHレベル)に変化する毎に上記逓倍数fづつカウントアップするガードカウンタと、基準カウンタのカウント値がシステムクロックに同期してセットされるアングルカウンタと、を内蔵している。
これらのうち、基準カウンタは、逓倍クロック生成部45から入力される逓倍クロックの立ち上がりエッジを、内蔵する第1レジスタにセットされた上限値までカウントした後、次の立ち上がりエッジで初期化(カウント値を「0」にクリア)される。また、この基準カウンタは、内蔵する第2レジスタにセットされたモード値で示されるモードによりカウントを行うように構成されている。ここでいうモードには、ガードカウンタにセットされた値以上のカウントアップが禁止される禁止モード,ガードカウンタにセットされた値以上のカウントが許可される許可モードがある。また、アングルカウンタは、エンジンの1サイクルにおけるクランク軸の回転位置を、上述した単位角度Δθ°CA(6°CA)を上述した逓倍数f(初期値の60)で割った分解能(6/60=0.1°CA)で示した場合における各位置に、そのカウント値が対応づけられている。つまり、クランク軸の回転位置は、このアングルカウンタのカウント値によって特定されることとなる。
(2)マイコン30による処理
続いて、マイコン30(のCPU31)により実行される処理について説明する。
(2−1)入力信号診断処理
以下に、マイコン30が起動された以降、一定時間Tc毎に繰り返し実行される入力信号診断処理の処理手順を、図5に基づいて説明する。
この入力信号診断処理が起動されると、まず、エンジン回転数が所定値Na(入力信号の異常判定に適した回転数として定められた値)以上か否かがチェックされ(S110)、エンジン回転数が所定値Na以上でないと判定されたら(S110:NO)、直ちに本入力信号診断処理が終了する。ここで、エンジン回転数は、エンジン回転数を算出するための周知の処理(図示省略)により、クランク信号に基づき計測される所定クランク角度分の時間から算出される。例えば、クランク信号に欠け歯が発生する360°CA分の時間間隔を計測し、その計測値からエンジン回転数を算出する、といった処理である。なお、「欠け歯」は、クランク信号の立ち下がりエッジ間隔を計測すると共に、今回の計測値が前回の計測値に所定の積算値(例えば2倍の値)を積算した値以上である場合に、今回の立ち下がりエッジ間隔が「欠け歯」であると判定すればよい。
一方、上述したS110でエンジン回転数が所定値Na以上であると判定されたら(S110:YES)、本入力信号診断処理の前回の実行開始時から今回の実行開始時までの一定時間Tcの間に、クランク信号に立ち下がりエッジがあったか否かがチェックされる(S120)。
このS120で、クランク信号に立ち下がりエッジがあった(クランクエッジ有り)と判定された場合には(S120:YES)、クランク信号の診断結果が正常であることを示す情報がマイコンの内蔵メモリに記憶される(S130)。
そして、無エッジ期間計測カウンタの値が初期化(0にクリア)された後(S140)、本入力信号診断処理が終了する。この無エッジ期間計測カウンタは、マイコン30が起動される毎に初期化され、以降の処理においてクランク信号に立ち上がりエッジが無かったと判定された回数が積算されるカウンタである。
また、上述したS120で、クランク信号に立ち下がりエッジがなかった(クランクエッジ無し)と判定された場合には(S120:NO)、無エッジ期間計測カウンタの値が所定値Nb(例えば10)よりも大きくなったか否かがチェックされる(S150)。
このS150で、無エッジ期間計測カウンタの値が所定値Nbよりも大きくないと判定されたら(S150:NO)、無エッジ期間計測カウンタの値がインクリメント(「1」を加算)された後(S160)、本入力信号診断処理が終了する。
一方、上述したS150で、無エッジ期間計測カウンタの値が所定値Nbよりも大きいと判定されたら(S150:YES)、クランク信号の診断結果が異常であることを示す情報が内蔵メモリに記憶された後(s170)、本入力信号診断処理が終了する。
このように、本入力信号診断処理においては、エンジン回転数が所定値Na以上の場合において(S110で「YES」)、クランク信号に本来ならば少なくとも1回は立ち下がりエッジが発生するはずの一定期間(Tc×Nb)が経過しても、クランク信号に立ち下がりエッジが1回も発生しなければ、クランク信号が異常(正常に入力されていない)であると診断している(S120「NO」→S150「YES」→S170)。
なお、マイコン30は、第1カム信号および第2カム信号それぞれに対しても、上述したのと同様の入力信号診断処理を実行しており、これにより、各信号における異常の有無を診断するように構成されているが、詳細な処理手順は省略する。
(2−2)時間同期タスク
以下に、マイコン30が起動された以降、入力信号診断処理と並行して、一定時間毎に繰り返し実行される時間同期タスクの処理手順を、図6に基づいて説明する。
この時間同期タスクが起動されると、まず、入力信号診断処理(図5のS130,S170)において内蔵メモリに記憶されたクランク信号の診断結果(正常または異常)に基づき、クランク信号が異常であるか否かがチェックされる(S210)。
このS210で、クランク信号が異常でない(つまり正常である)と判定されたら(S210:NO)、入力選択部41によりアングルクロック生成部33の各部に供給される信号としてクランク信号が選択された後(S220)、本時間同期タスクが終了する。このS220では、クランク信号を選択すべき旨の指令が、CPU31からアングルクロック生成部33の各部へと出力される。
アングルクロック生成部33のうち、入力選択部41は、この指令を受けた以降、入力回路10から入力される信号のうち、クランク信号をアングルクロック生成部33の各部へと出力するように内部経路を切り替える。また、上記指令を受けた際、逓倍クロック生成部45は、内蔵する第2レジスタに、逓倍数fとしてクランク信号用の値(本実施形態においては、60)がセットされる。また、上記指令を受けたエッジ後経過角度計測部47では、内蔵するレジスタに、エッジ後経過角度計測としてクランク信号用の値(本実施形態では、初期値「Δθ×2.5」と同じ値)がセットされる。そして、上記指令を受けたアングルクロック部49では、内蔵する第1レジスタに、基準カウンタ,アングルカウンタそれぞれの上限値としてクランク信号用の値がセットされる。ここでいう「クランク信号用の上限値」とは、クランク軸の1回転(360°CA)に、アングルカウンタにおける分解能(0.1°CA)を積算した値(360÷0.1=3600)である。
また、上述したS210で、クランク信号が異常であると判定されたら(S210:YES)、内蔵メモリに記憶されるカム信号それぞれの診断結果に基づき、第1カム信号および第2カム信号のいずれかが異常であるか否かがチェックされる(S230)。
このS230で、第1カム信号および第2カム信号の両方が異常でない(つまり正常である)と判定されたら(S230:NO)、入力選択部41によりアングルクロック生成部33の各部に出力される信号としてカム信号が選択された後(S240)、本時間同期タスクが終了する。このS240では、カム信号を選択すべき旨の指令が、CPU31からアングルクロック生成部33の各部へと出力される。
アングルクロック生成部33のうち、入力選択部41は、この指令を受けた以降、入力回路10から入力される信号のうち、カム信号をアングルクロック生成部33の各部へと出力するように内部経路を切り替える。また、上記指令を受けた逓倍クロック生成部45では、内蔵する第2レジスタに、逓倍数fとしてカム信号用の値がセットされる。ここでいう「カム信号用の逓倍数f」とは、カム信号における規則的な変化点Pの間隔(120°CA)と、クランク信号用の逓倍数f(60)とを積算した値を、更にクランク信号の単位角度(6°CA)で割った値((120×60)/6)=1200)である。そして、上記指令を受けたアングルクロック部49では、内蔵する第1レジスタに、基準カウンタ,アングルカウンタそれぞれの上限値としてカム信号用の値がセットされる。ここでいう「カム信号用の上限値」とは、カム軸の1回転(720°CA)に、アングルカウンタにおける分解能(0.1°CA)を積算した値(720÷0.1=7200)である。なお、このS240では、上記s220とは異なり、エッジ後経過角度計測部47におけるエッジ後経過角度計測のセットは行われない。
また、上述したS230で、第1カム信号および第2カム信号のいずれか一方または両方が異常であると判定されたら(S230:YES)、そのまま本時間同期タスクが終了する。
(2−3)クランクエッジ割込処理
以下に、マイコン30が起動された以降、時間同期タスクでクランク信号が選択されている(図6のS220が行われた)状況において、入力選択部41から出力される信号に有効エッジが発生する毎に、CPU31が繰り返し実行するクランクエッジ割込処理の処理手順を、図7に基づいて説明する。
このクランクエッジ割込処理が起動されると、まず、その契機となった有効エッジが、クランク信号における「欠け歯」の領域を構成する有効エッジ直後のものであるか否かがチェックされる(S310)。有効エッジがクランク信号において「欠け歯」の領域を構成するものであるときには、それ以外の領域を構成するときよりも有効エッジの間隔が大きくなることから、図8に示すように、エッジ後経過角度計測部47に内蔵された経過角度計測カウンタのカウント値が、「欠け歯」以外の領域であるときよりも大きな値に到達することになる(図8における「Δθ×3」参照)。そうすると、経過角度計測カウンタのカウント値は、しきい値であるエッジ後経過角度計測(Δθ×2.5)よりも大きくなる結果、エッジ後経過角度計測部47が、割込信号をCPU31に対して出力することになる。そのため、このS310では、エッジ後経過角度計測部47から割込信号の入力があった場合に、その有効エッジが「欠け歯」の領域を構成する有効エッジ直後のものであると判定する。
このS310で、有効エッジが「欠け歯」の領域を構成する有効エッジ直後のものであると判定された場合(S310:YES)、クランク位置確定フラグに「OFF」がセットされているか否かがチェックされる(S320)。このクランク位置確定フラグは、マイコン30が起動される毎にソフトウェア的に設定されるフラグであって、初期値として「OFF」がセットされたものである。
このS320で、クランク位置確定フラグが「OFF」になっていると判定された場合(S320:YES)、アングルクロック部49に内蔵された基準カウンタおよびアングルカウンタそれぞれに、「59」と、逓倍クロック生成部45のレジスタにセットされた逓倍数f(ここでは、60)と、を積算した値「59×f」がセットされる(S330,S340)。
次に、クランク位置確定フラグに「ON」がセットされる(S350)。
こうして、S350を終えた後、または、上述したS320でクランク位置確定フラグが「ON」になっていると判定された場合(S320:NO)、アングルクロック部49に内蔵されたガードカウンタに「0」がセットされる(S360)。
次に、アングルクロック部49に内蔵された基準カウンタのカウントが、許可モードにより行われるように設定される(S370)。ここでは、CPU31からアングルクロック部49に対して、許可モードにより基準カウンタのカウントを行うべき旨が指令される。この指令を受けたアングルクロック部49は、第2レジスタに許可モードを示すモード値をセットする。これにより、以降、基準カウンタが、許可モードによりカウントを行うようになる。
次に、逓倍クロック生成部45のレジスタにセットされる逓倍クロック基準時間が修正される(S380)。ここでは、CPU31から逓倍クロック生成部45に対して、エッジ間計測部43から逓倍クロック生成部45へと転送される計測値を所定値で割ってなる値を、逓倍クロック基準時間としてセットすべき旨が指令される。この指令を受けた逓倍クロック生成部45は、次のタイミングでエッジ間計測部43から転送されてくる計測値を所定値で割り、こうして得られた値を逓倍クロック基準時間としてレジスタにセットする。なお、上述した「所定値」は、クランク信号の「欠け歯」となる領域における有効エッジの間隔と「欠け歯」以外の領域における有効エッジの間隔との比を示す値(本実施形態においては「3」)である。
そして、分周カウンタに「2」がセットされた後(S390)、次の処理(S430)へプロセスが移行する。この分周カウンタは、CPU31がソフトウェア的に動作させる初期値「0」のカウンタである。
また、上述したS310で、有効エッジが「欠け歯」の領域を構成する有効エッジ直後のものでないと判定された場合(S310:NO)、その有効エッジが「欠け歯」の領域を構成するものであるか否かがチェックされる(S400)。ここでは、アングルクロック部49に内蔵されたアングルカウンタのカウント値が、クランク軸の回転位置が「欠け歯」の領域になる直前(有効エッジ一つ分前)の位置に対応づけられた値である場合に、有効エッジが「欠け歯」の領域となる直前のものであると判定される。
このS400で、有効エッジが「欠け歯」の領域を構成するものであると判定された場合(S400:YES)、アングルクロック部49に内蔵されたガードカウンタに、「59」と、逓倍クロック生成部45のレジスタにセットされた逓倍数f(=60)と、を積算した値「59×f」がセットされる(S410)。
こうして、S410を終えた後、または、上述したS400で有効エッジが「欠け歯」の領域を構成するものでないと判定された場合(S400:YES)、アングルクロック部49に内蔵された基準カウンタのカウントが、禁止モードにより行われるように設定された後(S420)、次の処理(S430)へプロセスが移行する。このS420では、CPU31からアングルクロック部49に対して、禁止モードにより基準カウンタのカウントを行うべき旨が指令される。この指令を受けたアングルクロック部49は、第2レジスタに禁止モードを示すモード値をセットする。これにより、以降、基準カウンタが、禁止モードによりカウントを行うようになる。
次に(S390,S420の後)、クランク位置確定フラグに「ON」がセットされているか否かがチェックされる(S430)。
このS430で、クランク位置確定フラグに「ON」がセットされていると判定された場合(S430:YES)、分周カウンタがデクリメント(1減算)された後(S440)、分周カウンタが「0」となっているか否かがチェックされる(S450)。
このS450で、分周カウンタが「0」となっていると判定された場合(S450:YES)、制御対象(インジェクタ,イグナイタなど)を駆動するための基準タイミングとなるイベントが発生する(S460)。
本実施形態において、CPU31は、本クランクエッジ割込処理と並行して、イベント発生から制御対象への通電を開始するまでの待機時間およびその通電を継続させる継続時間を演算する処理と、所定のタイミングでイベントが発生した際に上記待機時間および継続時間をタイマ出力部35に内蔵されたタイマそれぞれにセットする処理と、を実行するように構成されている。
こうして、各時間がタイマにセットされたタイマ出力部35は、タイマのカウント値に基づいて上記待機時間だけ待機した後、出力回路20に対して上記継続時間だけ制御対象への通電を行うべき旨を指令する。そして、この指令を受けた出力回路20が、制御対象を駆動するための駆動信号を、上記継続時間だけ制御対象に出力することで制御対象が駆動されることになる。
そして、S460の後、分周カウンタに「5」がセットされる(S470)。
こうして、S470を終えた後、上述したS450で分周カウンタが「0」になっていないと判定された場合(S450:NO)、または、上述したS430でクランク位置確定フラグに「OFF」がセットされていると判定された場合(S430:NO)、本クランクエッジ割込処理が終了する。
ここまで説明したクランクエッジ割込処理によれば、マイコン30が起動した以降、カウンタのカウント値などのパラメータが、図9,図10に示すように変化する。
まず、マイコン30が起動した直後は(図9におけるe0の区間参照)、経過角度計測カウンタが正常に動作しておらず、また、アングルカウンタによるカウントもなされていないことから、S310,S400で「NO」と判定され、プロセスがS420を経てS430へ移る。このとき、クランク位置確定フラグは、初期値「OFF」のままであるため、S430で「NO」と判定され、そのままクランクエッジ割込処理が終了する。
その後、有効エッジが発生する毎に上述した手順(S310→S400→S420→S430)が繰り返される(図9におけるe1の区間参照)。その過程において、有効エッジがクランク信号における「欠け歯」の領域を構成する有効エッジ直後のものになるまでに(図9のE2参照)、経過角度計測カウンタのカウント値がエッジ後経過角度計測を超える(図8参照)。そのため、エッジ後経過角度計測部47からの割込信号を受けて、S310で「YES」と判定されることとなり、プロセスがS320以降へ移行する。
この時点で、クランク位置確定フラグは、初期値「OFF」であることから、S330へ移行して基準カウンタに「59×逓倍数f(60)」がセットされ、S340にてアングルカウンタに「59×逓倍数f(60)」がセットされた後、S350にてクランク位置確定フラグに「ON」がセットされる。
続いて、S360にてガードカウンタに「0」がセットされ、S370にて基準カウンタが許可モードに設定される。このS360では、ガードカウンタに「0」がセットされるが、S370にて基準カウンタが許可モードに設定されるため、基準カウンタによる上限値までのカウントは継続されることとなる(図9におけるe3の区間参照)。
続いて、S380にて逓倍クロック基準時間が修正される(図9における逓倍クロック基準時間「T2/3」参照)。
続いて、S430へ移行するが、この時点では、クランク位置確定フラグが「ON」となっていることから、このS430で「YES」と判定され、S440にて分周カウンタのデクリメントがなされる。
これにより、分周カウンタの値は、直前のS390にてセットされた「2」から「1」減算された値「1」となり、この時点で「0」にはなっていないため、S450で「NO」と判定されて、クランクエッジ割込処理が終了する。
この次に有効エッジが発生した際には(図9のE3参照)、S310,S420それぞれで「NO」と判定され、S420で基準カウンタが禁止モードに戻された後、S430で「YES」と判定されてから、S440にて分周カウンタのデクリメントがなされる。これにより、分周カウンタの値は、「0」となるため、S450で「YES」と判定され、S460にてイベントの発生が行われた後(図9の「分周イベント」参照)、S470で分周カウンタに「5」がセットされてクランクエッジ割込処理が終了する。
こうして、マイコン30が起動して最初に有効エッジが「欠け歯」であると判定された以降は、次に、有効エッジが「欠け歯」の領域を構成するものとなるまで、S310→S400→S420〜S470が繰り返される(図10におけるe4の区間参照)。そして、有効エッジが「欠け歯」の領域を構成するものとなったら、S410にてガードカウンタに「59×逓倍数f(60)」のセットがなされた後、S420〜S470が行われる(図10におけるe5の区間参照)。
この次に、クランク信号に有効エッジが発生した際には、その有効エッジは「欠け歯」の領域を構成する有効エッジ直後のものであるため、S310で「YES」と判定され、この時点でクランク位置確定フラグは「ON」であるためにS320で「NO」と判定されて、プロセスがS360へ移行する。
これ以降は、上述したのと同様、ガードカウンタ「0」の状態で基準カウンタのカウントが継続され、そのカウント値が「0」にクリアされた後(図10におけるe6の区間参照)、次に有効エッジが「欠け歯」の領域を構成するものとなるまで、S310→S400→S420〜S470が繰り返されることとなる(図10におけるe7の区間参照)。
(2−4)カムエッジ割込処理
以下に、マイコン30が起動された以降、時間同期タスクでカム信号が選択されている(図6のS240が行われた)状況において、入力選択部41から出力される信号に有効エッジが発生する毎に、CPU31が繰り返し実行するカムエッジ割込処理の処理手順を、図11に基づいて説明する。
このカムエッジ割込処理が起動されると、まず、カム位置確定フラグに「OFF」がセットされているか否かがチェックされる(S510)。このカム位置確定フラグは、マイコン30が起動される毎にソフトウェア的に設定されるフラグであって、初期値として「OFF」がセットされたものである。
このS510で、カム位置確定フラグが「OFF」になっていると判定された場合(S510:YES)、アングルクロック部49に内蔵されたガードカウンタのカウント値が、逓倍クロック生成部45のレジスタにセットされた逓倍数f(ここでは、1200)を2倍にした値(2×1200=2400)以上となっているか否かがチェックされる(S520)。ガードカウンタは、初期値として「0」がセットされたものである。
このS520で、ガードカウンタのカウント値が逓倍数fを2倍にした値以上になっていると判定された場合(S520:YES)、アングルクロック部49に内蔵された基準カウンタ,ガードカウンタおよびアングルカウンタそれぞれに初期値がセットされる(S530)。本実施形態においては、入力回路10に入力される第1,第2カム信号のうち、一方の信号における信号レベルと他方の信号における信号レベルの変化状態(エッジの方向)との組み合わせそれぞれに対して、各カウンタにセットすべき初期値が定められている(図12参照)。そのため、S530では、入力回路10に入力される第1,第2カム信号の信号レベルおよび変化状態に基づいて、その定めに従った初期値が各カウンタにセットされる。なお、上述した「定め」は、例えば、上記組み合わせと初期値との対応関係をフラッシュROM37などにデータテーブルとして記憶した構成とすればよく、この場合、S530において、そのデータテーブルを参照して該当する初期値を特定するようにすればよい。
次に、カム位置確定フラグに「ON」がセットされた後(S540)、次の処理(S570)へ移行する。
一方、上述したS520で、ガードカウンタのカウント値が逓倍数fを2倍にした値以上になっていないと判定された場合(S520:NO)、S530,S540が行われることなく、プロセスが次の処理(S570)へ移行する。
また、上述したS510で、カム位置確定フラグが「ON」になっていると判定された場合(S510:NO)、アングルクロック部49に内蔵されたガードカウンタのカウント値が、逓倍クロック生成部45のレジスタにセットされた逓倍数f(1200)に、エンジンの気筒数(本実施形態では6)を積算した値(1200×6=7200)以上となっているか否かがチェックされる(S550)。
このS550で、ガードカウンタのカウント値が逓倍数fにエンジンの気筒数を積算した値以上となっていると判定された場合(S550:YES)、ガードカウンタに「0」がセットされた後(S560)、プロセスが次の処理(S570)へ移行する。一方、ガードカウンタの値が逓倍数fにエンジンの気筒数を積算した値以上になっていないと判定された場合(S550:NO)、S560が行われることなく、プロセスが次の処理(S570)へ移行する。
次に、アングルクロック部49に内蔵されたガードカウンタのカウント値が「0」であるか否かがチェックされ(S570)、「0」であれば(S570:YES)、図7のS370と同様、アングルクロック部49に内蔵された基準カウンタのカウントが、許可モードにより行われるように設定される(S580)。一方、ガードカウンタのカウント値が「0」でなければ(S570:NO)、図7のS420と同様、基準カウンタのカウントが、禁止モードにより行われるように設定される(S590)。
こうして、S580,S590にて基準カウンタの設定がなされたら、本カムエッジ割込処理が起動される契機となった有効エッジが、カム信号における不規則な変化点Qとなる直前の変化点であるか(つまり、次の有効エッジが変化点Qであるか)否かがチェックされる(S600)。本実施形態においては、第2カム信号がLレベルのときに第1カム信号がHからLへと変化する点と、第1カム信号がLレベルのときに第2カム信号がHからLへと変化する点と、が不規則な変化点Qとなる(図2,図12参照)。そして、第2カム信号がHレベルの時に第1カム信号がHからLへと変化する変化点P,または,第1カム信号がHレベルのときに第2カム信号がHからLへと変化する変化点Pが、変化点Qの直前の変化点である。そのため、このS600では、第1,第2カム信号の状態(第1,第2カム信号の一方における信号レベルと他方における信号レベルの変化状態との組み合わせ)に基づいて、次の有効エッジが変化点Qであるか否かがチェックされる。
このS600で、有効エッジが不規則な変化点Qとなる直前の変化点を示すものであると判定された場合(S600:YES)、入力選択部41が、アングルクロック生成部33の各部に対する信号の供給を行わない供給禁止状態となる(S610)。一方、有効エッジが不規則な変化点Qとなる直前の変化点を示すものではないと判定された場合(S600:NO)、入力選択部41が、アングルクロック生成部33の各部に対する信号の供給を行う供給許可状態となる(S620)。このS610,S620では、CPU31が、入力選択部41に内蔵されたレジスタに「0」をセットすることで入力選択部41が供給禁止状態となるのに対し、同レジスタに「1」をセットすることで入力選択部41が供給許可状態となる。
こうして、S610,S620で入力選択部41が供給禁止状態または供給許可状態とされた後、カム位置確定フラグに「ON」がセットされ、かつ、今回の有効エッジが変化点Qでないか否かがチェックされる(S630)。
このS630で、カム位置確定フラグに「OFF」がセットされている、または、今回の有効エッジが変化点Qであると判定された場合(S630:NO)、本カムエッジ割込処理が終了する。
一方、S630で、カム位置確定フラグに「ON」がセットされ、かつ、今回の有効エッジが変化点Qでないと判定された場合(S630:YES)、イベントカウンタのカウント値が「0」より大きな値となっているか否かがチェックされる(S640)。このイベントカウンタは、CPU31がソフトウェア的に起動する初期値「0」のカウンタである。
このS640で、イベントカウンタのカウント値が「0」より大きな値になっていると判定された場合(S640:YES)、イベントカウンタのカウント値と同じ数だけ、制御対象(インジェクタ,イグナイタなど)を駆動するための基準タイミングとなるイベントが発生した後(S650)、プロセスが次の処理(S660)へ移行する。
一方、S640で、イベントカウンタのカウント値が「0」より大きな値になっていないと判定された場合(S640:NO)、S650が行われることなく、次の処理(S660)へ移行する。
次に、エッジ後経過角度計測部47に内蔵されたレジスタに、エッジ後経過角度計測がセットされる(S660)。ここでは、規則的な変化点Pからイベントを発生させるまでに必要なカム軸(またはクランク軸)の回転角度(イベントまでの角度またはイベント発生間隔;本実施形態では15°CA),カム軸の回転位置が各気筒の上死点に到達する間隔(TDC角度;120°CA),および,逓倍クロック生成部45のレジスタにセットされた逓倍数fに基づく式「イベントまでの角度(15°CA)/(TDC角度(120°CA)/逓倍数f(1200))」にて求められる値(15/(120/1200)=150)が、エッジ後経過角度計測として上記レジスタにセットされる。
なお、この時点において、エッジ後経過角度計測部47における経過角度計測カウンタのカウント値は、その信号レベルが特定方向に変化するまでの間における逓倍クロックのエッジ数を示すものであり、カム信号の信号レベルが特定方向に変化した以降におけるカム軸の回転位置に対応するものとなる。
次に、エッジ後経過角度計測割込に「許可」がセットされる(S670)。このエッジ後経過角度計測割込は、エッジ後経過角度計測部47に内蔵された初期値「禁止」のレジスタである。このエッジ後経過角度計測割込に「許可」がセットされている間は、エッジ後経過角度計測部47から割込信号の入力を受けて、後述するエッジ後経過角度計測割込処理がCPU31により起動されるようになる。
そして、イベントカウンタに、イベント値がセットされる(S680)。ここでは、TDC角度(120°CA),および,イベントを発生させるべき回転角度の間隔(イベント間隔;本実施形態では30°CA)に基づく式「TDC角度/イベント間隔」にて求められる値(120/30=4)が、イベント値としてイベントカウンタにセットされる。
ここまで説明したカムエッジ割込処理によれば、カウンタのカウント値などのパラメータが、図13に示すように変化する。
まず、本カムエッジ割込処理が最初に起動されたとき、カム位置確定フラグは初期値「OFF」であり、ガードカウンタのカウント値がカウントアップして「1×逓倍数f」となることから(図13におけるe0,e1の区間参照)、S510で「YES」,S520で「NO」と判定され、S570へ移行する。ここで、ガードカウンタは「1×逓倍数f」となっているため、S570で「NO」と判定され、プロセスがS590を経てS600へ移行する。
この時点において、S530を経ていないことから、S600では、有効エッジが不規則な変化点Qとなる直前の変化点を示すものであると判定されることはなく、「NO」と判定されてS620へ移行し、入力選択部41が初期状態である供給許可状態のままで維持される。
そして、S630では、この時点でカム位置確定フラグの値が初期値「OFF」のまま変更されていないため、S630で「NO」と判定されて、本カムエッジ割込処理が終了する。
この後、次の有効エッジが発生した際には(図13のE2参照)、カム位置確定フラグは初期値「OFF」であり、ガードカウンタがカウントアップして「2×逓倍数f」となることから(図13におけるe2の区間参照)、S520で「YES」と判定される。こうして、S520で「YES」と判定された場合、S530でガードカウンタ,基準カウンタおよびアングルカウンタそれぞれに初期値がセットされた後、S540でカム位置確定フラグに「ON」がセットされる。このとき、第2カム信号がHレベルのときに、第1カム信号に立ち上がりエッジが発生した状態であるため、ガードカウンタに4800(=4×f),基準カウンタに3600,アングルカウンタに3600がそれぞれセットされる(図12参照)。
続いて、S570,S590,S600,S620を経て、この時点でカム位置確定フラグが「ON」であり、かつ、今回の有効エッジが変化点Qでないことから、S630で「YES」と判定され、S640でイベントカウンタがチェックされる。
このとき、イベントカウンタは初期値「0」のままであることから、S650が行われることなく、S660〜S680により各パラメータが設定された後、本カムエッジ割込処理が終了する。
これ以降、変化点Qとなる直前の有効エッジが発生するため(図13のE3参照)、S600で「YES」と判定され、S610にて入力選択部41が供給禁止状態に設定された後、以降の処理が行われる。
こうして、入力選択部41は、供給禁止状態に設定されていると、供給許可状態に設定し直されるまでの間、各部への信号の供給を行わなくなる。そのため、この次に発生する不規則な変化点Qの有効エッジについては、各部に供給されない。その結果、各部のカウントがリセットされることなく、継続されることとなる(図13におけるe3の区間参照)。
その後、有効エッジが発生する毎に、上述と同様に各処理が行われた後、ガードカウンタが「気筒数×逓倍数f(=6×1200=7200)」以上のカウント値となったら、S550で「YES」と判定され、S560でガードカウンタに「0」がセットされる。
続いて、S570で「YES」と判定されて、S580で基準カウンタが許可モードに設定されるため、s560でガードカウンタに「0」がセットされていても、基準カウンタによる上限値までのカウントが継続される(図13におけるe4の区間参照)。
ここでも、イベントカウンタは初期値「0」のままであることから、S650が行われることなく、S660〜S680により各パラメータが設定された後、本カムエッジ割込処理が終了する。
この後は、上述したのと同様、ガードカウンタ「0」の状態で基準カウンタのカウントが継続され、そのカウント値が「0」にクリアされた後(図13におけるe4の区間参照)、変化点Qとなる直前の有効エッジが発生するまで、S550→S570→S590→S600→S620→S630〜S680が繰り返される(図13におけるe5〜e6の区間参照)。
これ以降、上述したのと同様に、S550でガードカウンタが「気筒数×f」以上のカウント値となるまで、上述した処理が繰り返されることとなる(図13におけるe7〜e8の区間参照)。
(2−5)エッジ後経過角度計測割込処理
以下に、図13のS670でエッジ後経過角度計測割込に「許可」がセットされた状態で、エッジ後経過角度計測部47から割込信号の入力があった場合に起動されるエッジ後経過角度計測割込処理の処理手順を、図14に基づいて説明する。
この経過角度計測割込処理が起動されると、まず、図8のS460と同様、制御対象を駆動するための基準タイミングとなるイベントが発生する(S710)。
次に、イベントカウンタがデクリメント(1減算)された後(S720)、イベントカウンタが「0」より大きな値であるか否かがチェックされる(S730)。
このS730で、イベントカウンタが「0」より大きな値であると判定された場合(S730:YES)、エッジ後経過角度計測部47に内蔵されたレジスタに、エッジ後経過角度計測をセットし直す(S740)。ここでは、イベント発生間隔(30°CA),TDC角度(120°CA)および逓倍数fに基づく式「イベント発生間隔(30°CA)/(TDC角度(120°CA)/逓倍数f(1200))」にて求められる値(15/(120/1200)=300)を、エッジ後経過角度計測に対して加算した値が、新たなエッジ後経過角度計測として上記レジスタにセットされる。
一方、S730で、イベントカウンタが「0」になっていると判定された場合(S730:NO)、エッジ後経過角度計測割込に「禁止」がセットされる(S750)。こうして、エッジ後経過角度計測割込に「禁止」がセットされた以降、エッジ後経過角度計測部47から割込信号の入力があっても、本エッジ後経過角度計測割込処理が起動されなくなる。
こうして、S740,S750が終了した後、本エッジ経過角度計測割込処理が終了する。
ここまで説明したエッジ後経過角度計測割込処理は、図11のS660にてエッジ後経過角度計測に「150」がセット、同図S670でエッジ後経過角度計測割込に「許可」がセット、同図S680でイベントカウンタに「4」がセットされ、さらに、エッジ後経過角度計測カウンタがリセットされた状態で起動されるようになる(図15におけるe1の区間参照)。そして、以降、カウンタのカウント値などのパラメータが図15,図16に示すように変化する。
具体的にいうと、まず、エッジ後経過角度計測カウンタがエッジ後経過角度計測「150」に到達することで(図15におけるe2の区間参照)、エッジ後経過角度計測部47からの割込信号の発生に伴い、本処理が起動する。すると、S710によるイベントの発生後(図15の「分周イベント」参照)、S720にてイベントカウンタが「4」から「3」とされ、この時点で「0」より大きい値であるため、S720で「YES」と判定された後、S740でエッジ後経過角度計測がセットし直される。このS740では、エッジ後経過角度計測に「300」が加算されて「450」となる。
この後、エッジ後経過角度計測カウンタがエッジ後経過角度計測「450」に到達することで(図15におけるe3の区間参照)、エッジ後経過角度計測部47からの割込信号の発生に伴い、本処理が起動する。すると、S710によるイベントの発生後、S720にてイベントカウンタが「3」から「2」とされ、この時点で「0」より大きい値であるため、S720で「YES」と判定された後、S740でエッジ後経過角度計測がセットし直される。このS740では、エッジ後経過角度計測に「300」が加算されて「450」となる。
以下同様に、エッジ後経過角度計測カウンタがエッジ後経過角度計測に到達する毎に、エッジ後経過角度計測割込処理が繰り返し行われ(図15のe4,e5の区間参照)、イベントカウンタが「0」になったら、S730で「NO」と判定された後、S750でエッジ後経過角度計測割込に「禁止」がセットされる。そうすると、再度、図11のS670でエッジ後経過角度計測割込に「許可」がセットされるまで、エッジ後経過角度計測割込処理が起動されない状態になる(図15におけるe5の区間参照)。
これにより、本エッジ後経過角度計測割込処理により発生するイベントは、カム軸を規則的な変化点Pから15°CAだけ回転させた回転位置から、イベント間隔毎(15°CA,45°CA,75°CA,105°CA)に発生するようになる。
ところで、上述したカムエッジ割込処理においては、図11のS640にて「YES」と判定された場合に、S650にてイベントカウンタに応じた数のイベント発行が行われることとなっているが、上記S640にて「YES」と判定されるのは、例えば、車両が急加速するときのように、エンジンの回転数が急激に上昇する場合などである。
このような場合には、上述したエッジ経過角度計測割込処理が、適切な回数だけ(具体的にいうと、イベントカウンタが「0」になるまで)繰り返される前に、カム信号に有効エッジが発生し、これにより、図11のS660〜S680でイベントカウンタを含む各パラメータが設定し直されてしまう。そうすると、本来発生させるべきイベントが発生されなくなってしまうため、本実施形態では、図11のS640でイベントカウンタが「0」でないと判定された場合に、その時点におけるイベントカウンタの値に応じた数のイベントを同図S650にて発生させるようにしている(図16におけるe7〜e9の区間参照)。
(3)作用,効果
このように構成されたエンジン制御装置1では、クランク信号が異常になると、アングルクロック生成部33内で利用される入力信号がクランク信号からカム信号に変更されると共に、逓倍クロックを生成するために用いられる逓倍数fがクランク信号用の値からカム信号用の値に変更される(図6のS240)。
これにより、アングルクロック生成部33のエッジ間計測部43により計測される時間間隔は、クランク信号において有効エッジが発生するまでに要するクランク軸の回転角度(単位角度Δθ°CA;以降、「第1の角度」という)に応じた値から、カム信号において有効エッジが発生するまでに要するカム軸の回転角度(120°CA;以降、「第2の角度」という)に応じた値に変更される。そして、逓倍クロック生成部45により生成される逓倍クロックの周期についても、第1の角度に応じた時間間隔をクランク信号用の逓倍数fで割った値から、第2の角度に応じた時間間隔をカム信号用の逓倍数fで割った値に変更される。
ここで、「カム信号用の逓倍数f」は、式「(第2の角度×クランク信号用の逓倍数f)/第1の角度」から求められた値である(図6のS240)。この式は、「第1の角度/クランク信号用の逓倍数f=第2の角度/カム信号用の逓倍数f」が成立するようなカム信号用の逓倍数を求める式ということができ、このことは、入力信号および逓倍数の変更前後で角度と逓倍数との比が変化しないことを意味する。
つまり、逓倍クロック生成部45により生成される逓倍クロックの周期を、第2の角度に応じた時間間隔(計測値)をカム信号用の逓倍数fに変更しても、角度と逓倍数との比が変わらないことから、実際の周期もその変更前後で変化しない。逆にいえば、逓倍数をカム信号用の逓倍数fに変更することで、逓倍クロック生成部45により生成される逓倍クロックの周期が変わらないようにしているということができる。
そうすると、アングルカウンタを動作させるための逓倍クロックの周期が、入力信号および逓倍数の変更前後で変化しないことになるため、アングルクロック部49に関しては、その変更前後において処理を切り替えるなどといった特別な処理が必要ない。
これにより、本エンジン制御装置1では、クランク信号が異常になった場合に、入力信号および逓倍数を変更するだけで、カム信号に基づいてエンジンの制御を継続させることができる。これにより、その変更後に逓倍クロック生成部45,アングルクロック部49およびタイマ出力部35が特別な処理を行うように構成しなくてもよくなる結果、大幅なハードウェア構成の増加を伴うことなく、クランク信号が正常に入力されなくなった場合における退避走行を実現することができる。
また、上記構成では、逓倍クロック生成部45により生成される逓倍クロックの周期が、第1の角度に応じた時間間隔をクランク信号用の逓倍数fで割った値から、第2の角度に応じた時間間隔をカム信号用の逓倍数fで割った値へと変更されるように構成されている。このカム信号用の逓倍数fは、上述した式で示されるように、第1の角度,クランク信号用の逓倍数fおよび第2の角度から求められる値であるため、カム信号用の逓倍数fとして、他のパラメータに応じた適切な値を用いることができる。
また、上記構成では、次の有効エッジが変化点Qになる場合に(図11のS600)、入力選択部41を、各部に信号の供給を行わない供給禁止状態とすることで、アングルクロック生成部33のエッジ間計測部43による計測が、カム信号における不規則な変化点Qで中断しないようにしている。例えば、不規則な変化点でエッジ間計測部43による計測を終了させると、カム軸が第2の角度回転し終わる前の計測値(時間間隔)に基づいて周期の短い逓倍クロックが生成されてしまう。その結果、アングルクロック部49に内蔵されたアングルカウンタのカウント値とクランク軸の回転位置との対応関係が崩れてしまうため、適切なタイミングでイベントを発生させることができなくなってしまう。
そのため、上記実施形態においては、上述のように、エッジ間計測部43による計測が不規則な変化点Qで中断しないようにすることで、周期の短い逓倍クロックが生成されて適切なタイミングでイベントを発生させることができなくなるという不都合を回避できる。
また、入力選択部41が各部に信号の供給を行わない状態としていることから、各部からみた入力信号は、規則的な変化点Pでのみ信号レベルが特定方向に変化する信号となる。そのため、エッジ後経過角度計測部47を除いた各部に対して何ら特別な処理を行わせることなく、エッジ後経過角度計測部47による計測の継続を実現することができる。
また、上記実施形態では、アングルクロック生成部33のエッジ後経過角度計測部47によって、クランク信号の有効エッジが「欠け歯」となる領域を構成する有効エッジ直後のものであるか否かを判定するように構成されている(図7のS310)。そして、「欠け歯」となる領域を構成する有効エッジ直後のものであると判定された場合には、その後の処理で、逓倍クロック生成部45のレジスタにセットされる逓倍クロック基準時間が修正される(同図S380)。
このように、エッジ後経過角度計測部47は、入力信号がクランク信号である場合に、このクランク信号に存在する欠け歯期間に起因する不都合を回避するために設けられたものである。そのため、入力信号がカム信号に変更された以降、このカム信号に欠け歯期間が存在していないことから、そのカウント値は、エンジンの制御に利用されないものとなる。ところが、上記実施形態では、カム信号に基づく退避走行時においても、エッジ後経過角度計測部47を有効に利用することができる。それは、エッジ後経過角度計測部47のレジスタにエッジ後経過角度計測がセットされ(図11のS660)、その後、このエッジ後経過角度計測部47から割込信号を入力する毎に、エッジ後経過角度計測割込処理(図14)を起動させることでイベントを発生させるようにしているからである。
また、上記実施形態においては、カム信号に基づく退避走行時に、その信号レベルが特定方向に変化した以降の所定タイミング(所定の回転角度だけ回転したタイミング)でイベントを発生させていることを考えると、エンジンの回転数が急激に上昇するなどといった事態が発生した場合は、当然そのタイミングを早めなければならない。
ただ、カム信号の信号レベルが特定方向に変化するまでに要する期間(120°CA)は、クランク信号における期間(6°CA)よりも大幅に長いため、クランク信号でエンジン制御を実施している場合と比べて、上記のような事態の発生確率が著しく高くなる。そして、このような事態が発生した場合には、次にカム信号の信号レベルが特定方向に変化するタイミングが、イベントを発生させるべきタイミングよりも先に到来する恐れがあり、この場合、本来発生させるべきイベントを発生させることができなくなってしまう。
ところが、上記実施形態では、入力信号にカム信号が選択されてカムエッジ割込処理(図11)が起動されるようになった以降、その起動時においてイベントカウンタが0より大きい,つまり本来発生させるべきイベント全てを発生させていない場合、そのイベントカウンタの数に応じたイベントの発生が行われる(図11のS650)。
これにより、カム信号の信号レベルが特定方向に変化するまでの間に、本来発生させるべきイベントの発生が行われていなくても、それ以降に、不足していたイベントを順次発生させることができる。
(4)その他
上記実施形態において、エッジ間計測部43は本願発明における間隔計測手段であり、入力選択部41は本願発明における信号入力手段であり、逓倍クロック生成部45は本願発明における逓倍クロック生成手段であり、入力回路10は本願発明におけるカム信号生成手段であり、エッジ後経過角度計測部47は本発明におけるエッジカウンタである。
また、逓倍クロック生成部45の第2レジスタにセットされるクランク信号用の逓倍数f(60)が本発明における第1逓倍数であり、カム信号用の逓倍数f(1200)が本発明における第2逓倍数である。
また、図6のS210は本発明における異常判定手段であり、図7のS380は本発明における計測値修正手段であり、図7のS460,図13のS710は本願発明におけるイベント発生手段であり、図11のS600は本発明における変化点判定手段であり、同図S610(およびS620)は本発明における計測継続手段であり、同図S650は本発明におけるイベント補助手段である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、上記実施形態においては、逓倍クロック生成部45が、エッジ間計測部43による計測値を逓倍数fで割ってなる時間を1周期とする逓倍クロックを生成するように構成されたものを例示した。しかし、エッジ間計測部43と逓倍クロック生成部45との間に、エッジ間計測部43による計測値を逓倍数fで割ってなる値を算出する構成要素を追加し、逓倍クロック生成部45が、この構成要素により算出された値を1周期とする逓倍クロックを生成するように構成してもよい。
また、上記実施形態においては、カム信号における規則的な変化点Pの到来する間隔を、エンジンの1サイクルにおいて発生させるべきイベントと同じ角度間隔となるように構成しておけば、カム信号に基づく退避走行時においても、正常時と同じ角度間隔でのイベントの発生を実現することができるようになる。
エンジン制御装置の概略構成を表す構成図 エンジンの制御に利用される各信号の波形を示す図 アングルクロック生成回路の構成を示すブロック図 入力信号の変化に伴うパラメータの変化状態を示すタイムチャート(1) 入力信号診断処理を示すフローチャート 時間同期タスクを示すフローチャート クランクエッジ割込処理を示すフローチャート 入力信号の変化に伴う各パラメータの変化状態を示すタイムチャート(2) クランクエッジ割込処理における各パラメータの変化状態を示すタイムチャート(1/2) クランクエッジ割込処理における各パラメータの変化状態を示すタイムチャート(2/2) カムエッジ割込処理を示すフローチャート 第1,第2カム信号における信号レベルの組み合わせと、各カウンタにセットすべき初期値との関係を示す表 カムエッジ割込処理における各パラメータの変化状態を示すタイムチャート(1/3) エッジ後経過角度計測割込処理を示すフローチャート カムエッジ割込処理における各パラメータの変化状態を示すタイムチャート(2/3) カムエッジ割込処理における各パラメータの変化状態を示すタイムチャート(3/3)
符号の説明
1…エンジン制御装置、10…入力回路、20…出力回路、30…マイコン、33…アングルクロック生成部、35…タイマ出力部、41…入力選択部、43…エッジ間計測部、45…逓倍クロック生成部、47…エッジ後経過角度計測部、49…アングルクロック部。

Claims (4)

  1. エンジンに、少なくとも2本のカム軸が備えられている場合において、
    入力経路から入力される入力信号の信号レベルが特定方向に変化してから、次に信号レベルが特定方向に変化するまでの時間間隔を計測する間隔計測手段と、
    エンジンにおけるクランク軸が第1の角度回転する毎に信号レベルが特定方向に変化するクランク信号を、前記入力経路に対して入力させる信号入力手段と、
    前記間隔計測手段による計測値を第1の逓倍数で割って、こうして得られた値を1周期とする逓倍クロックを生成する逓倍クロック生成手段と、
    該逓倍クロック生成手段により生成される逓倍クロックを受けて動作するカウンタであって、エンジンの1サイクルにおけるクランク軸の回転位置を、前記第1の角度を前記第1の逓倍数で割ってなる分解能で示した場合における各位置に、そのカウント値それぞれが対応づけられているアングルカウンタと、
    該アングルカウンタのカウント値に基づいて特定されるクランク軸の回転位置に応じて、エンジンの制御に関するイベントを発生させるイベント発生手段と、を備えたエンジン制御装置において、
    前記入力経路からの前記クランク信号の入力状態に基づいて、該クランク信号が異常であるか否かを繰り返し判定する異常判定手段と、
    前記カム軸それぞれの回転に応じて信号レベルが変化する第1カム信号および第2カム信号に基づいて、該信号それぞれの信号レベルが変化するタイミングで信号レベルが特定方向に変化する信号であって、その特定方向の変化が、前記カム軸それぞれが前記第2の角度回転する毎に発生する規則的な変化点と、該変化点に対応する回転位置から前記カム軸それぞれが前記第2の角度未満の角度回転した際に発生する不規則な変化点と、において発生する信号を、前記カム信号として生成するカム信号生成手段と、
    変化点判定手段と、
    計測継続手段とを備えており、
    前記信号入力手段は、前記異常判定手段により前記クランク信号が異常でないと判定されたら、前記クランク信号を前記入力経路に対して入力させる一方、前記異常判定手段により前記クランク信号が異常であると判定されたら、エンジンにおけるカム軸が第2の角度(第1の角度と異なる角度)回転する毎に信号レベルが変化するカム信号を、前記クランク信号の代わりに前記入力経路に対して入力させて、
    前記逓倍クロック生成手段は、前記異常判定手段により前記クランク信号が異常でないと判定されたら、前記間隔計測手段による計測値を第1の逓倍数で割って、こうして得られた値を1周期とする逓倍クロックを生成する一方、前記異常判定手段により前記クランク信号が異常であると判定されたら、前記間隔計測手段による計測値を式「(第2の角度×第1の逓倍数)/第1の角度」から求められる第2の逓倍数で割って、こうして得られた時間を1周期とする逓倍クロックを生成するとともに前記カム信号生成手段により生成されるカム信号を、前記クランク信号の代わりに前記入力経路に対して入力させ、
    前記変化点判定手段は、前記信号入力手段が前記入力経路に前記カム信号を入力させている状況において、該カム信号に特定方向への信号レベルの変化が発生した場合に、該発生した時点における前記第1,第2カム信号それぞれの状態に基づき、前記発生した変化点が、前記不規則な変化点の直前に発生する変化点であるか否かを判定し、
    前記計測継続手段は、該変化点判定手段により、前記不規則な変化点の直前に発生する変化点であると判定された場合、前記不規則な変化点の直前に発生する変化点でないと判定されるまでの間、前記間隔計測手段による計測を継続させるように構成されている
    ことを特徴とするエンジン制御装置。
  2. 前記計測継続手段は、前記変化点判定手段により前記不規則な変化点の直前に発生する変化点でないと判定されるまでの間、前記信号入力手段による前記入力経路への信号の入力を遮断することにより、前記間隔計測手段による計測を継続させる
    ことを特徴とする請求項1に記載のエンジン制御装置。
  3. 前記クランク信号が、前記クランク軸が前記第1の角度回転する毎に信号レベルが特定方向に変化することを原則とし、前記クランク軸の回転位置が特定位置に到達したときに限り、次に信号レベルが特定方向に変化するまでに必要な回転角度が前記第1の角度の所定整数倍になる信号である場合において、
    前記逓倍クロック生成手段により生成される逓倍クロックにおいて発生する立ち上がりエッジまたは立ち下がりエッジをカウントするカウンタであって、前記入力経路から入力される入力信号の信号レベルが特定方向に変化してから、次に信号レベルが特定方向に変化するまでの前記エッジをカウントするエッジカウンタと、
    前記異常判定手段により前記クランク信号が異常でないと判定されている状況において、前記エッジカウンタによるカウント値が、前記クランク軸の回転位置が特定位置に到達したときにカウントされうる値となった際に、前記間隔計測手段による計測値を、該計測値を前記所定整数で割った値に修正する計測値修正手段と、を備えており、
    前記イベント発生手段は、前記異常判定手段により前記クランク信号が異常であると判定された以降、前記エッジカウンタによるカウント値それぞれが、前記カム信号の信号レベルが特定方向に変化した以降における前記カム軸の回転角度に対応するものとし、該回転角度に基づいてエンジンの制御に関する1以上のイベントを順次発生させる、ように構成されている
    ことを特徴とする請求項1または2のいずれかに記載のエンジン制御装置。
  4. 前記異常判定手段により前記クランク信号が異常であると判定された以降、前記入力経路から入力される入力信号の信号レベルが特定方向に変化してから、前記イベント発生手段が発生させるべきイベント全てを発生させる前に、次に入力信号の信号レベルが特定方向に変化した場合、前記イベント発生手段により発生させられなかったイベントそれぞれを順次発生させるイベント補助手段を備えている
    ことを特徴とする請求項3に記載のエンジン制御装置。
JP2006024668A 2006-02-01 2006-02-01 エンジン制御装置 Expired - Fee Related JP4687481B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006024668A JP4687481B2 (ja) 2006-02-01 2006-02-01 エンジン制御装置
DE102007004068A DE102007004068B4 (de) 2006-02-01 2007-01-26 Vorrichtung zur Steuerung eines Motors mit Hilfe eines Nockensignals
US11/700,148 US7428459B2 (en) 2006-02-01 2007-01-31 Apparatus for controlling an engine using a cam signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006024668A JP4687481B2 (ja) 2006-02-01 2006-02-01 エンジン制御装置

Publications (2)

Publication Number Publication Date
JP2007205242A JP2007205242A (ja) 2007-08-16
JP4687481B2 true JP4687481B2 (ja) 2011-05-25

Family

ID=38320686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006024668A Expired - Fee Related JP4687481B2 (ja) 2006-02-01 2006-02-01 エンジン制御装置

Country Status (3)

Country Link
US (1) US7428459B2 (ja)
JP (1) JP4687481B2 (ja)
DE (1) DE102007004068B4 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4274253B2 (ja) * 2007-02-01 2009-06-03 株式会社デンソー エンジン制御装置およびプログラム
JP4636111B2 (ja) * 2008-04-17 2011-02-23 株式会社デンソー エンジン制御装置
JP4586903B2 (ja) * 2008-07-22 2010-11-24 株式会社デンソー エンジン制御装置
JP5548110B2 (ja) * 2010-12-01 2014-07-16 日立オートモティブシステムズ株式会社 エンジンの制御装置
DE102012100682A1 (de) * 2011-05-24 2012-11-29 Rolf Strothmann Drehmomentsensor
DE102011088764A1 (de) * 2011-12-15 2013-06-20 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts
US8978453B2 (en) 2012-04-12 2015-03-17 Delphi Technologies, Inc. Crank signal error detection using a cam signal interval
JP5984508B2 (ja) * 2012-05-25 2016-09-06 ルネサスエレクトロニクス株式会社 半導体データ処理装置及びエンジン制御装置
FR2991720B1 (fr) 2012-06-12 2014-07-11 Continental Automotive France Methode d'identification des fronts sur une cible d'arbre a came
JP2014047747A (ja) * 2012-09-03 2014-03-17 Suzuki Motor Corp エンジン制御装置
DE102012223424A1 (de) * 2012-12-17 2014-06-18 Robert Bosch Gmbh Verfahren zur Korrektur eines Messsignals einer sich drehenden Nockenwelle in einem Verbrennungsmotor in einem Teilmotorbetrieb
JP5854001B2 (ja) * 2013-06-21 2016-02-09 株式会社デンソー エンジン制御用回転角処理システム及びエンジン制御装置
WO2015123675A1 (en) * 2014-02-17 2015-08-20 Unify Square, Inc. Unified communication service deployment system
US9494488B2 (en) * 2014-07-22 2016-11-15 GM Global Technology Operations LLC Method and apparatus to determine rotational position of a phaser in a variable phasing system
JP6717185B2 (ja) 2016-12-15 2020-07-01 株式会社デンソー エンジン制御装置
KR102383262B1 (ko) * 2017-11-03 2022-04-06 현대자동차주식회사 크랭크 센서의 노이즈 보상 방법
KR102075086B1 (ko) * 2018-11-13 2020-02-07 현대오트론 주식회사 Dma를 활용한 epm 마이크로틱 생성 긴급 중단 방법
KR102085896B1 (ko) * 2018-12-07 2020-03-06 현대오트론 주식회사 파워트레인 엔진 정밀 제어방법 및 이에 의해 운용되는 자동차
JP7250067B2 (ja) * 2021-06-09 2023-03-31 三菱電機株式会社 内燃機関の制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07310582A (ja) * 1994-05-17 1995-11-28 Siemens Ag 内燃機関における緊急時制御方法
JP2000104619A (ja) * 1998-09-25 2000-04-11 Denso Corp 内燃機関用制御装置
JP2001200747A (ja) * 2000-01-18 2001-07-27 Denso Corp エンジン制御装置
JP2002195092A (ja) * 2000-12-27 2002-07-10 Denso Corp 内燃機関用制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4310460C2 (de) * 1993-03-31 2003-12-18 Bosch Gmbh Robert Geberanordnung zur schnellen Zylindererkennung bei einer mehrzylindrigen Brennkraftmaschine
JP3325153B2 (ja) * 1995-04-17 2002-09-17 三菱電機株式会社 内燃機関制御装置
JP3503593B2 (ja) * 2000-01-20 2004-03-08 株式会社デンソー エンジン制御装置
JP3508720B2 (ja) 2000-01-27 2004-03-22 株式会社デンソー エンジン制御装置
JP3506116B2 (ja) * 2000-01-27 2004-03-15 株式会社デンソー エンジン制御装置
JP3508676B2 (ja) 2000-02-01 2004-03-22 株式会社デンソー エンジン制御装置
JP4168907B2 (ja) * 2003-10-29 2008-10-22 株式会社デンソー エンジン制御装置
JP4449760B2 (ja) 2005-01-21 2010-04-14 株式会社デンソー エンジン制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07310582A (ja) * 1994-05-17 1995-11-28 Siemens Ag 内燃機関における緊急時制御方法
JP2000104619A (ja) * 1998-09-25 2000-04-11 Denso Corp 内燃機関用制御装置
JP2001200747A (ja) * 2000-01-18 2001-07-27 Denso Corp エンジン制御装置
JP2002195092A (ja) * 2000-12-27 2002-07-10 Denso Corp 内燃機関用制御装置

Also Published As

Publication number Publication date
US7428459B2 (en) 2008-09-23
US20070175272A1 (en) 2007-08-02
DE102007004068A9 (de) 2008-05-21
DE102007004068A1 (de) 2007-12-27
DE102007004068B4 (de) 2010-07-01
JP2007205242A (ja) 2007-08-16

Similar Documents

Publication Publication Date Title
JP4687481B2 (ja) エンジン制御装置
JP4274253B2 (ja) エンジン制御装置およびプログラム
JP4636111B2 (ja) エンジン制御装置
JP4449760B2 (ja) エンジン制御装置
US6745748B2 (en) Fail-safe system for combustion engine control
JP4168907B2 (ja) エンジン制御装置
JP2011069282A (ja) クランク角検出システムの異常診断装置
JP2001214790A (ja) エンジン制御装置
JP2001280193A (ja) エンジン制御装置
JP2001200747A (ja) エンジン制御装置
JP5304724B2 (ja) エンジン制御装置
JP4582252B2 (ja) エンジン制御装置
JP3651088B2 (ja) 内燃機関の制御装置
JP5573021B2 (ja) クランク角検出装置の異常判定装置
JP3931825B2 (ja) エンジン制御装置
JP4521661B2 (ja) 内燃機関の気筒判別装置
JP6213368B2 (ja) 電子制御装置
JP3791367B2 (ja) エンジン制御装置
JP2001323836A (ja) クランク同期タスクの異常検出方法
JP2005315169A (ja) クランク軸回転同期の処理装置及びエンジン制御装置
JP5794012B2 (ja) 電子制御装置
JP4900817B2 (ja) 内燃機関の気筒判別装置
JP2003184629A (ja) 内燃機関のクランク角判定装置
JP2007218203A (ja) 点火故障診断装置、点火故障診断システム及び点火故障診断方法
JP2019143540A (ja) 噴射監視装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100319

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110131

R151 Written notification of patent or utility model registration

Ref document number: 4687481

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees