説明

電子制御装置

【課題】複数の割込みが優先順位により実行されることを回避する。
【解決手段】エンジンの制御装置6は、パルス信号の立下りエッジと立上りエッジとの間の時間により回転方向を判定する。立下りエッジの割込で立下り処理(12)が実行され、立上りエッジの割込で立上り処理(13)が実行される。これらの割込は、他の処理(14)の実行中は、キュー処理部(15)に格納され待たされる。キュー処理部(15)は、割込処理の優先順位に応じて割込処理を格納するから、立下り処理(12)と立上り処理(13)とが逆の順序で格納されることがある。フラグ設定部(16)と比較部(17)とは、同じ処理が連続して実行されることを判定する。この判定に応答して、キュー修正部(18)は、立下り処理(12)と立上り処理(13)とが割込み時刻の順序で交互に実行されるようにキュー処理部(15)の内容を修正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、第1の処理と第2の処理とを含む複数の割込み処理を実行する電子制御装置に関する。本発明は、回転角センサの信号に応答して割込み処理を実行するエンジン制御装置に適用して好適である。
【背景技術】
【0002】
特許文献1は、エンジンに設けられた回転角センサが出力する信号に応答して割込み処理を実行するエンジン制御装置が開示されている。この装置では、回転角センサとして、クランク角センサが使用されている。また、この装置では、複数の割込み処理が、予め定められた優先度に応じて、処理されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−34948号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術のような外部割込みを許容するマイクロコンピュータでは、複数の割込みを単一の割込みポートに入力する場合がある。しかし、複数の割込みの間隔が短い場合、一方の割込み時刻が、他方の割込み時刻によって上書きされることがあり、一方の割込み処理が実行されない可能性がある。
【0005】
このような問題は、割込み入力をマイクロコンピュータの2つの割込みポートに分けて入力するように構成することによって解決できる。しかし、割込みポートに対応して、処理の優先度が設定されるため、2つの割込み処理に優先順位が生じる。この場合、割込み処理が、割込み時刻に従った順序で実行されることなく、優先順位に従う順序で実行されるという問題点があった。
【0006】
例えば、回転角センサのパルス信号の立下りに対応する割込み処理と、立上りに対応する割込み処理とを実行する場合、立下りと立上りとの間隔が短くなることがある。また、これらパルス信号に応答した割込み処理より、さらに優先順位が高い割込み処理が発生した場合、割込み時刻に従った順序で、立下りと立上りとの割込み処理が実行されないことがあった。
【0007】
特に、エンジンの正回転と逆回転とを判定する場合、パルス信号の立下りと立上りとの順序、すなわち割込み時刻に従った順序で割込み処理が実行されることが正しい回転方向判定のためには重要である。
【0008】
本発明は上記問題点に鑑みてなされたものであり、その目的は、優先順位に従う割込み処理の実行を回避することができる電子制御装置を提供することである。
【0009】
本発明の他の目的は、実行待ちの処理に優先順位に従う実行順序が設定される構成においても、同じ処理の連続実行を回避することができる電子制御装置を提供することである。
【0010】
本発明のさらに他の目的は、エンジンの回転方向を正しく判定することができるエンジン制御装置を提供することである。
【課題を解決するための手段】
【0011】
本発明は上記目的を達成するために以下の技術的手段を採用する。
【0012】
請求項1に記載の発明は、第1の処理と第2の処理とを含む複数の割込み処理を実行する電子制御装置において、第1の割込み要求に応答して第1の処理(13)を実行し、第2の割込み要求に応答して第2の処理(12)を実行する処理実行部(11)と、処理実行部において他の処理(14)を実行中に第1または第2の処理が要求された場合に、要求された処理の実行を待たせるとともに、複数の割込み処理に対して予め設定された優先順位に従って実行順序を設定し、当該実行順序に従って処理実行部に実行を要求するキュー処理部(15)と、キュー処理部に設定された実行順序を、同じ処理の連続実行を回避するように操作するキュー操作部(16、17、18)とを備えることを特徴とする。
【0013】
この構成によると、第1の処理と第2の処理とを含む複数の割込み処理が実行される。第1の割込み要求に応答して第1の処理が実行され、第2の割込み要求に応答して第2の処理が実行される。また、処理実行部において他の処理を実行中に第1の処理または第2の処理が要求された場合には、その要求された処理が待たされる。このような処理の待ち制御は、キュー処理部によって実現される。キュー処理部は、複数の割込み処理に対して予め設定された優先順位に従って実行順序を設定する。さらに、キュー処理部は、設定された実行順序に従って処理実行部に割込み処理の実行を要求する。さらに、キュー処理部に設定された実行順序は、同じ処理の連続実行を回避するように操作される。この結果、優先順位に従って複数の割込み処理の実行順序を設定し、格納するキュー処理部を用いた場合であっても、同じ処理の連続実行が回避される。
【0014】
請求項2に記載の発明は、キュー操作部は、第1の処理と第2の処理とが交互に実行されるように、キュー処理部に設定された実行順序を操作することを特徴とする。この構成によると、優先順位に従うキュー処理部を採用した構成においても、第1の処理と第2の処理とが交互に実行される。よって、第1の処理と第2の処理とが一組となって共に実行されることによって得られる結果が誤った結果となることを抑制できる。
【0015】
請求項3に記載の発明は、キュー操作部は、処理実行部における同じ処理の連続実行を判定し、この判定に応答して、第1の処理と第2の処理とが割込み時刻の順序で実行されるように、キュー処理部に設定された実行順序を操作することを特徴とする。この構成によると、同じ処理の連続実行が判定されると、これに応答して、キュー処理部に設定された実行順序が操作される。特に、第1の処理と第2の処理とが割込み時刻の順序で実行されるように操作される。したがって、優先順位に従うキュー処理部を採用した構成においても、割込み時刻の順序を再現して、処理を実行することができる。
【0016】
請求項4に記載の発明は、キュー操作部は、第1の処理および第2の処理の実行を示すフラグを設定するフラグ設定部(16)と、フラグと、キュー処理部によって次に要求される処理とを比較し、同じ処理の連続実行を検出する比較部(17)と、連続実行の判定に応答して、キュー処理部に設定された実行順序を修正するキュー修正部(18)とを備えることを特徴とする。この構成によると、フラグを用いた簡単なロジック処理によって同じ割込み処理の連続実行を判定することができる。
【0017】
請求項5に記載の発明は、キュー操作部は、キュー処理部に設定された実行順序を並べ替えることを特徴とする。この構成によると、実行順序を並べ替えることによって操作が実行される。
【0018】
請求項6に記載の発明は、キュー操作部は、キュー処理部に設定された実行順序の少なくとも一部を無効化することを特徴とする。この構成によると、実行順序の少なくとも一部を無効化することによって操作が実行される。無効化により、実行順序によって示された処理の少なくとも一部が実行されない。この結果、一部の処理が実行されないことにより、それ以降は、複数の割込み処理の交互の実行、または割込み時刻の順序に従う実行が実現される。
【0019】
請求項7に記載の発明は、エンジンの回転角を検出するためのパルス信号を出力する回転角センサ(3)と、パルス信号の立上りエッジに応答して第1の割込み要求を発生し、パルス信号の立下りエッジに応答して第2の割込み要求を発生する入力回路(6a)とを備え、第1の処理と第2の処理とは、パルス信号のパルス幅を計測する計測部を提供し、エンジンの制御のために用いられることを特徴とする。この構成によると、エンジンの制御のために用いられる電子制御装置において、すなわちエンジン制御装置において、優先順位に従って複数の割込み処理の実行順序を設定し、格納するキュー処理部を用いた場合であっても、同じ処理の連続実行が回避される。この結果、第1の処理と第2の処理とが一組の割込み処理となって計測されるパルス幅の誤検出が抑制される。
【0020】
請求項8に記載の発明は、回転角センサは、エンジンの回転方向に応じて長さが異なるパルスを出力する出力部(5b)を備えることを特徴とする。この構成によると、パルス信号のパルス幅によって、エンジンの回転方向が示される。この構成によると、パルス幅の誤検出が抑制されるから、エンジンの回転方向の誤判定が抑制される。
【0021】
請求項9に記載の発明は、エンジンは、車両の走行用の動力源であり、電子制御装置は、車両が一時停止したときにエンジンを自動的に停止させ、車両が走行を再開する前にエンジンを自動的に再始動させる自動エンジン停止再始動システムを構成することを特徴とする。この構成によると、自動エンジン停止再始動システムが構成される。このようなシステムでは、エンジンの停止位置を正確に特定するために、エンジンの回転方向を正確に検出することが必要となる。この構成によると、エンジンの回転方向の誤判定が抑制されるから、自動エンジン停止再始動システムの有用性を十分に発揮させることができる。
【0022】
なお、特許請求の範囲および上記手段の項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【0023】
【図1】本発明を適用した第1実施形態に係るエンジン制御装置を示すブロック図である。
【図2】第1実施形態の制御装置によって実現される機能を示す機能的なブロック図である。
【図3】第1実施形態の立上り処理を示すフローチャートである。
【図4】第1実施形態の立下り処理を示すフローチャートである。
【図5】第1実施形態の各部の状態変化を示すタイムチャートであって、図5Aはパルス信号を示し、図5Bは処理Zの割込み要求RQZを示し、図5Cは立上りフラグを示し、図5Dは立下りフラグを示し、図5Eはキューの内容を示し、図5Fは処理内容を示す。
【発明を実施するための形態】
【0024】
以下に、図面を参照しながら本発明を実施するための複数の形態を説明する。各形態において先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を適用することができる。また、後続の実施形態においては、先行する実施形態で説明した事項に対応する部分に百以上の位だけが異なる参照符号を付することにより対応関係を示し、重複する説明を省略する場合がある。各実施形態で具体的に組合せが可能であることを明示している部分同士の組合せばかりではなく、特に組合せに支障が生じなければ、明示してなくとも実施形態同士を部分的に組み合せることも可能である。
【0025】
(第1実施形態)
図1は、本発明を適用した第1実施形態に係るエンジン制御装置1を示すブロック図である。エンジン制御装置1は、エンジン(ENGN)2を制御する制御システムを構成する。エンジン2は、内燃機関である。エンジン2は、走行用の動力源として、車両に搭載されている。エンジン制御装置1は、車両が一時停止したときにエンジン2を自動的に停止させ、車両が走行を再開する前にエンジン2を自動的に再始動する自動エンジン停止再始動システムを構成する。このようなシステムは、アイドリング−ストップ−アンド−スタート−システムとも呼ばれる。このようなシステムでは、エンジン2の再始動を容易にするために、エンジン2の停止位置を高精度に認識する必要がある。このために、エンジン2の回転方向を正確に検出することが重要である。エンジン制御装置1は、回転角センサ3と、制御装置(ECU)6と、アクチュエータ(ACTM)7とを備える。エンジン制御装置1は、回転角センサ3を含む複数のセンサを備える。複数のセンサは、エンジン2の作動状態、エンジン2への要求などを検出する。エンジン制御装置1は、アクチュエータ7を含む複数のアクチュエータを備える。複数のアクチュエータは、エンジン2の作動状態を調節するための機器、例えば、燃料噴射装置、および点火装置などである。制御装置6は、複数のセンサから信号を入力し、エンジン2の運転状態を適切に維持するように複数のアクチュエータを制御する。
【0026】
回転角センサ3は、エンジンのクランク軸の回転角度を検出するクランク角センサである。回転角センサ3は、クランク軸に連結されたロータ4を備える。ロータ4には、所定の回転角ごとに信号を発生するための複数の歯が形成されている。回転角センサ3は、ロータ4に対向するように設けられたパルサ(PLSR)5を備える。パルサ5は、電磁的にまたは光学的にロータ4の歯を検出するピックアップによって提供される。パルサ5は、歯の通過に同期したパルス信号を出力する。
【0027】
さらに、パルサ5は、判定部(RDDM)5aと、出力部(PSGM)5bとを備える。判定部5aは、エンジン2の回転方向を判定する。出力部5bは、判定部5aによって判定された回転方向を示すパルス幅をもつパルス信号PLSを発生し、出力する。出力部5bは、エンジン2が正方向(Ndir)に回転するとき、短いパルスを出力する。出力部4bは、エンジン2が逆方向(Rdir)に回転するとき、長いパルスを出力する。この結果、パルス信号PLSのパルス幅を計測することにより、エンジン2の回転方向を知ることができる。また、パルス信号PLSの周期を計測することにより、エンジン2の回転数を知ることができる。
【0028】
制御装置6は、第1の処理と第2の処理とを含む複数の割込み処理を実行する電子制御装置である。制御装置6は、パルス信号PLSを入力するための入力回路(INPC)6aを備える。さらに、制御装置6は、マイクロコンピュータを構成する複数のコンポーネントである、演算処理装置(CPU)6b、一時メモリ(RAM)6c、および不揮発メモリ(ROM)6dを備える。制御装置6は、コンピュータによって読み取り可能な記憶媒体を備えるマイクロコンピュータによって提供される。例えば、不揮発メモリ6dが記憶媒体を提供する。記憶媒体は、コンピュータによって読み取り可能なプログラムを非一時的に格納している。記憶媒体は、半導体メモリまたは磁気ディスクによって提供されうる。プログラムは、制御装置6によって実行されることによって、制御装置6をこの明細書に記載される装置として機能させ、この明細書に記載される制御方法を実行するように制御装置6を機能させる。制御装置6が提供する手段は、所定の機能を達成する機能的ブロック、またはモジュールとも呼ぶことができる。
【0029】
図2は、第1実施形態の制御装置6によって実現される機能を示す機能的なブロック図である。制御装置6は、それ自身が有するハードウェアおよびソフトウェアによって複数の機能的なブロックを提供する。これらの機能的なブロックは、手段、またはモジュールとも呼ばれる。
【0030】
入力回路6Aは、複数の入力ポートを備える。複数の入力ポートには、第1の割込みポートINT1と、第2の割込みポートINT2とが含まれている。この実施形態では、パルス信号PLSのひとつのパルスは、立下りエッジによって示される前エッジと、立上りエッジによって示される後エッジとを有している。第1の割込みポートINT1は、パルス信号PLSの立上りエッジTEを受け付け、割込み要求RQ1を出力する。第2の割込みポートINT2は、パルス信号PLSの立下りエッジLEを受け付け、割込み要求RQ2を出力する。割込み要求RQ1と割込み要求RQ2とには、異なる優先順位が設定されている。割込み要求RQ1の優先順位は、割込み要求RQ2のそれより高い。
【0031】
制御装置6は、処理実行部(PRSM)11を備える。処理実行部11は、エンジン2を制御するための複数の制御処理を実行する。複数の制御処理は、予め設定された実行順序に従って実行される。この実行順序は、処理を開始するための要求時刻の順序、または複数の処理に設定された優先順位に基づいて決まる。複数の処理には、パルス信号PLSの立下りエッジ(LE)に応答して実行される立下り処理(LEPM)12が含まれている。立下り処理12は、第2の割込み要求RQ2に応答して実行される。複数の処理には、パルス信号PLSの立上りエッジ(TE)に応答して実行される立上り処理(TEPM)13とが含まれている。立上り処理13は、第1の割込み要求RQ1に応答して実行される。制御装置6は、ひとつのパルスに対して、立下り処理12と立上り処理13との一組を実行することによって、ひとつのパルス幅を計測する。一組の立下り処理12と立上り処理13とは、パルス幅を計測する計測部を提供する。制御装置6は、計測されたパルス幅に基づいて、エンジン2の回転方向を判定する。立下り処理12と立上り処理13とは、立下りエッジまたは立上りエッジに応答して実行されるから、割込み処理に分類される処理である。パルスnの立下りエッジに対応する立下り処理12は、L(n)で示される。パルスnの立上りエッジに対応する立上り処理13は、T(n)で示される。立上り処理13は、第1の処理とも呼ばれる。立下り処理12は、第2の処理とも呼ばれる。処理実行部11は、第1の割込み要求RQ1に応答して第1の処理13を実行し、第2の割込み要求RQ2に応答して第2の処理12を実行する。さらに、複数の処理には、他の処理(OTHM)14が含まれている。他の処理14もまた割込み処理である。他の処理14は、Zで示される。立上り処理13の優先順位は、立下り処理12の優先順位より高い。さらに、他の処理14の優先順位は、立下り処理12と立上り処理13との優先順位より高い。よって、複数の処理の間の優先順位は、Z>T(n)>L(n)である。
【0032】
制御装置6は、キュー処理部(CUEM)15を備える。キュー処理部15は、複数の処理の待ち順序を記憶し、記憶された順序に従って、処理実行部11に対して処理の実行を要求する。キュー処理部15は、処理実行部11において何らかの処理が実行中であるために待たされる割込み処理を、割込み要求の発生時刻の順序とは異なる所定の順序で記憶する。キュー処理部15は、予め定められた優先順位に基づいて待たされている割込み処理を並べる。キュー処理部15は、処理実行部11において他の処理14を実行中に第1または第2の処理が要求された場合に、要求された処理の実行を待たせる。さらに、キュー処理部15は、複数の割込み処理に対して予め設定された優先順位(Z>T(n)>L(n))に従って待たされている複数の処理に実行順序を設定し、当該実行順序に従って処理実行部11に実行を要求する。例えば、他の処理Zと、パルス(B)に対する処理L(B)、T(B)とが待たされている場合、キュー処理部15は、Z>T(B)>L(B)の順序で記憶する。この結果、処理実行部には、キュー処理部15から、まず処理Zが要求され、次に、処理T(B)が要求され、最後に処理L(B)が要求される。さらに、キュー処理部15は、そこに記憶された複数の処理の順序をソフトウェアによって並べ替ることができるように構成されている。キュー処理部15は、複数の処理の実行順序を管理する実行順序管理部、またはタスク管理部とも呼ぶことができる。
【0033】
制御装置6は、キュー処理部15に記憶された複数の処理の順序を操作するキュー操作部を備える。キュー操作部は、ひとつのパルスに対する立下り処理12の後に、同じひとつのパルスに対する立上り処理13が実行されるように、キュー処理部15に記憶された順序を操作する。キュー操作部は、同じ処理の連続実行を回避するようにキュー処理部15に設定された複数の処理の実行順序を操作する。キュー操作部は、立下り処理12と立上り処理13とが交互に実行されるように、キュー処理部15に待たされている処理の実行順序を操作する。キュー操作部は、ひとつの態様においては、キュー処理部15に格納された複数の処理の順序を並べ替える。キュー操作部は、優先順位に基づいてキュー処理部15に記憶された複数の処理の順序を、割込み要求時刻の順序に従うように並べ替える。具体的には、キュー操作部は、立下り処理12の後に、再び、立下り処理12が実行されようとすること、または立上り処理13の後に、再び、立上り処理13が実行されようとすることを検出する。これらの場合、キュー操作部は、キュー処理部15に待たされている立下り処理12と立上り処理13との順序を入れ替える。これにより、優先順位型のキュー処理部15を用いていても、立下り処理12の後に、立上り処理13が実行される。
【0034】
キュー操作部は、フラグ設定部(FLGM)16と、比較部(CMPM)17と、キュー修正部(CCRM)18とを備える。フラグ設定部16は、立下り処理12および立上り処理13の実行を示すフラグを設定する。比較部17は、フラグに基づいて、同じ処理が連続して実行されるか否かを判定する。具体的には、フラグと、キュー処理部15によって次に要求される処理とを比較し、同じ処理の連続実行を検出する。例えば、比較部17は、フラグによって立下り処理12の実行後であることが示されており、かつ、キュー処理部15によって再び立下り処理12の実行が要求される場合を判定する。フラグ設定部16と比較部17とは、同じ処理の連続実行を判定する連続判定部を構成している。キュー修正部18は、比較部17によって同じ処理の連続実行が判定されると、キュー処理部15に記憶されている処理を入れ替える。具体的には、キュー処理部15に待たされている立下り処理12および立上り処理13のうち、最も高順位の処理と、次の順位の処理とを入れ替える。これにより、同じ処理が連続して実行されることが回避され、立下り処理12と立上り処理13とを交互に実行することができる。
【0035】
図3は、第1実施形態の立下り処理120を示すフローチャートである。立下り処理120は、割込み要求RQ2またはキュー処理部15からの要求に応答して実行される。ステップ121では、立下りフラグFLGLがセット状態であるか否かを判定する。立下りフラグFLGLがセット状態ではない場合、すなわちリセット状態である場合、ステップ122へ進む。ステップ122では、立下り処理を実行する。ステップ123では、立下りフラグFLGLをセット状態に設定する。この結果、立下りフラグFLGLは、立下り処理L(n)の実行後であることを示す。ステップ1s4では、立上りフラグFLGTをリセット状態に設定する。この結果、立上りフラグFLGTは、立上り処理T(n)の実行待ちであることを示す。
【0036】
ステップ121において、立下りフラグFLGLがセット状態である場合、ステップ125へ進む。ステップ125では、キュー処理部15に記憶された順序が修正される。例えば、立上り処理T(n)が実行された後に、再び、次のパルス(n+1)に対する立上り処理T(n+1)が実行されようとしている場合にステップ125へ進む。ステップ125では、キュー処理部15に記憶されている立下り処理L(n+1)と、立上り処理T(n+1)とを入れ替える。すなわち、ステップ125では、キュー処理部15に記憶されている処理を割込要求の発生時刻の順に並べる。
【0037】
図4は、第1実施形態の立上り処理130を示すフローチャートである。立上り処理130は、割込み要求RQ1またはキュー処理部15からの要求に応答して実行される。ステップ131では、立上りフラグFLGTがセット状態であるか否かを判定する。立上りフラグFLGTがセット状態ではない場合、すなわちリセット状態である場合、ステップ132へ進む。ステップ132では、立上り処理を実行する。ステップ133では、立上りフラグFLGTをセット状態に設定する。この結果、立上りフラグFLGTは、立上り処理T(n)の実行後であることを示す。ステップ134では、立下りフラグFLGLをリセット状態に設定する。この結果、立下りフラグFLGLは、立下り処理L(n+1)の実行待ちであることを示す。
【0038】
立上りフラグFLGTがセット状態である場合、ステップ135へ進む。ステップ135では、キュー処理部15に記憶された順序が修正される。例えば、立下り処理L(n)が実行された後に、再び、次のパルス(n+1)に対する立下り処理L(n+1)が実行されようとしている場合にステップ135へ進む。ステップ135では、立下り処理L(n+1)と、立上り処理T(n)とを入れ替える。すなわち、ステップ135では、キュー処理部15に記憶されている処理を割込要求の発生時刻の順に並べる。なお、この実施形態では、立上り処理13の優先順位が立下り処理12の優先順位より高く設定されているから、ステップ135が実行される事態は稀である。
【0039】
図5は、第1実施形態の各部の状態変化の一例を示すタイムチャートである。図5Aはパルス信号PLSを示す。図5Bは処理Zの割込み要求RQZを示す。図5Cは立上りフラグFLGTを示す。図5Dは立下りフラグFLGLを示す。図5Eはキュー処理部15に記憶された内容を示す。図5Fは処理実行部11における処理を示す。横軸Tは、時間を示している。
【0040】
時刻t1においてパルス信号PLSが立上る。パルス(A)は時刻t1までの時間によってエンジン2の回転方向を示している。時刻t1において割込み要求RQ1が発生し、ステップ132によって処理T(A)が実行される。処理T(A)は、時刻t2に終了する。時刻t2において、ステップ133によって立上りフラグFLGTがセットされ、ステップ134によって立下りフラグFLGLがリセットされる。その後時刻t3において処理Zの割込み要因RQZが立上る。これに応答して、キュー処理部15には、処理Zが記憶され格納される。図示の例では、時刻t3から処理Zが実行される。処理Zは時刻t6までかかって実行される。
【0041】
時刻t4において、パルス(B)が立ち下る。時刻t4において割込み要求RQ2が発生する。しかし、時刻t4においては処理Zが実行中であるから、立下り処理120は実行されない。割込み要求RQ2に応答して、キュー処理部15には、処理L(B)が記憶され格納される。
【0042】
時刻t5においてパルス信号PLSが再び立上る。パルス(B)は時刻t4と時刻t5との間の時間によってエンジン2の回転方向を示している。時刻t5において割込み要求RQ1が発生する。しかし、時刻t5においては処理Zが実行中であるから、立上り処理130は実行されない。割込み要求RQ1に応答して、キュー処理部15には、処理T(B)が追加的に記憶される。処理T(B)の優先順位は、処理L(B)の優先順位より高い。このため、キュー処理部15には、優先順位の順序に従って、T(B)>L(B)の順序で処理が記憶される。
【0043】
やがて、時刻t6において、処理Zが終了する。これに応答して、キュー処理部15から処理T(B)の実行が要求される。一方、処理T(B)は、立上り処理であるから、キュー処理部15からの要求と同時にまたはそれより先行して、立上り処理130が実行される。このとき、ステップ131からステップ135へ分岐し、キュー処理部15に記憶された処理の順序が修正される。ここでは、処理T(B)と処理L(B)とが入れ替えられる。この入れ替えに応答して、キュー処理部15から処理L(B)の実行が要求される。この結果、時刻t6において、処理L(B)の実行が開始される。
【0044】
時刻t7において、パルス信号PLSが立ち下る。時刻t7においては処理L(B)が実行中であるから、キュー処理部15には、処理L(C)が追加的に記憶され格納される。処理T(B)の優先順位は、処理L(C)の優先順位より高い。このため、キュー処理部15には、優先順位の順序に従って、T(B)>L(C)の順序で処理が記憶される。やがて、時刻t8において、処理L(B)が終了すると、キュー処理部15から処理T(B)の実行が要求される。この結果、時刻t8において、処理T(B)の実行が開始される。以後、ひとつのパルスに対応する立下り処理L(n)と立上り処理T(n)とが、それらのパルス変化の発生時刻の順序に従って実行される。
【0045】
以上に述べた実施形態によると、優先順位に従って複数の割込み処理の実行順序を設定し、格納するキュー処理部15を用いた場合であっても、同じ処理の連続実行が回避される。立下り処理L(n)と立上り処理T(n)といった一組の処理を、正しい順序で実行することができる。例えば、立下り処理L(n)と立上り処理T(n)とによって計測されるパルス幅の誤計測が回避される。すなわち、エンジン2の回転方向の誤検出が回避される。
【0046】
(他の実施形態)
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態に何ら制限されることなく、本発明の主旨を逸脱しない範囲において種々変形して実施することが可能である。上記実施形態の構造は、あくまで例示であって、本発明の範囲はこれらの記載の範囲に限定されるものではない。本発明の範囲は、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内での全ての変更を含むものである。
【0047】
例えば、制御装置が提供する手段と機能は、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。例えば、制御装置をアナログ回路によって構成してもよい。
【0048】
また、上記実施形態では、同じ割込み処理が連続して実行されようとしていることを判定し、この判定に応答してキュー処理部15に記憶されている複数の割込み処理の順序を修正し、これによって、優先順位型のキュー処理部15を用いていても、割込み時刻の順序によって処理を実行した。これに代えて、同じ割込み処理が連続して実行されようとしている場合に、連続処理によって影響を受ける一組の割込み処理の結果を利用しないように操作を実行してもよい。例えば、キュー処理部15に設定された実行順序の少なくとも一部を無効化することができる。例えば、後の割込み処理を実行することなく通過するとともに、当該処理と組をなすべき割込み処理を無効化してもよい。一部の処理が実行されないことにより、それ以降は、複数の割込み処理の交互の実行、または割込み時刻の順序に従う実行が実現される。これによると、通過された処理と、無効化された処理とからは処理結果が得られない。しかし、立下り処理L(n)と立上り処理T(n)といった一組の処理を、正しい順序で実行することができる。例えば、立下り処理L(n)と立上り処理T(n)とによって計測されるパルス幅の誤計測が回避される。すなわち、エンジン2の回転方向の誤検出が回避される。
【0049】
また、上記実施形態では、ひとつのパルスの前縁を立下りエッジとし、後縁を立上りエッジとした。これに代えて、ひとつのパルスの前縁を立上りエッジとし、後縁を立下りエッジとしてもよい。
【符号の説明】
【0050】
1 エンジン制御装置、 2 エンジン、 3 回転角センサ、 4 ロータ、 5 パルサ、 6 制御装置、 7 アクチュエータ、 11 処理実行部、 12 立上り処理、 13 立下り処理、 14 他の処理、 15 キュー処理部、 16 フラグ設定部、 17 比較部、 18 キュー修正部。

【特許請求の範囲】
【請求項1】
第1の処理と第2の処理とを含む複数の割込み処理を実行する電子制御装置において、
第1の割込み要求に応答して前記第1の処理(13)を実行し、第2の割込み要求に応答して前記第2の処理(12)を実行する処理実行部(11)と、
前記処理実行部において他の処理(14)を実行中に前記第1または第2の処理が要求された場合に、要求された処理の実行を待たせるとともに、複数の前記割込み処理に対して予め設定された優先順位に従って実行順序を設定し、当該実行順序に従って前記処理実行部に実行を要求するキュー処理部(15)と、
前記キュー処理部に設定された前記実行順序を、同じ処理の連続実行を回避するように操作するキュー操作部(16、17、18)とを備えることを特徴とする電子制御装置。
【請求項2】
前記キュー操作部は、前記第1の処理と前記第2の処理とが交互に実行されるように、前記キュー処理部に設定された前記実行順序を操作することを特徴とする請求項1に記載の電子制御装置。
【請求項3】
前記キュー操作部は、前記処理実行部における同じ処理の連続実行を判定し、この判定に応答して、前記第1の処理と前記第2の処理とが割込み時刻の順序で実行されるように、前記キュー処理部に設定された前記実行順序を操作することを特徴とする請求項1または請求項2に記載の電子制御装置。
【請求項4】
前記キュー操作部は、
前記第1の処理および前記第2の処理の実行を示すフラグを設定するフラグ設定部(16)と、
前記フラグと、前記キュー処理部によって次に要求される処理とを比較し、同じ処理の連続実行を検出する比較部(17)と、
前記連続実行の判定に応答して、前記キュー処理部に設定された前記実行順序を修正するキュー修正部(18)とを備えることを特徴とする請求項1から請求項3のいずれかに記載の電子制御装置。
【請求項5】
前記キュー操作部は、前記キュー処理部に設定された前記実行順序を並べ替えることを特徴とする請求項1から請求項4のいずれかに記載の電子制御装置。
【請求項6】
前記キュー操作部は、前記キュー処理部に設定された前記実行順序の少なくとも一部を無効化することを特徴とする請求項1から請求項4のいずれかに記載の電子制御装置。
【請求項7】
エンジンの回転角を検出するためのパルス信号を出力する回転角センサ(3)と、
前記パルス信号の立上りエッジに応答して前記第1の割込み要求を発生し、前記パルス信号の立下りエッジに応答して前記第2の割込み要求を発生する入力回路(6a)とを備え、
前記第1の処理と前記第2の処理とは、前記パルス信号のパルス幅を計測する計測部を提供し、
前記エンジンの制御のために用いられることを特徴とする請求項1から請求項6のいずれかに記載の電子制御装置。
【請求項8】
前記回転角センサは、前記エンジンの回転方向に応じて長さが異なるパルスを出力する出力部(5b)を備えることを特徴とする請求項7に記載の電子制御装置。
【請求項9】
前記エンジンは、車両の走行用の動力源であり、
前記電子制御装置は、前記車両が一時停止したときに前記エンジンを自動的に停止させ、前記車両が走行を再開する前に前記エンジンを自動的に再始動させる自動エンジン停止再始動システムを構成することを特徴とする請求項8に記載の電子制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−84059(P2013−84059A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−222147(P2011−222147)
【出願日】平成23年10月6日(2011.10.6)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】