(57)【要約】【課題】クランク信号が異常の場合、割り込み処理を実行するソフトウェアの優先度を変更することなく、アングルカウンタがカウントするカウント時間を速やかに設定する。【解決手段】本開示の一態様は、レジスタ４２と、アングルカウンタ４４と、ＤＭＡ６０と、を備えている。レジスタには、クランクシャフトの所定の回転角度量に対応するカウント時間が設定される。アングルカウンタは、所定の回転角度量に対応するカウント数をレジスタに設定されたカウント時間でカウントする。ＤＭＡは、クランクシャフトの回転に伴い所定の角度間隔で発生するクランク信号が異常の場合、レジスタにカウント時間を設定する。【選択図】図１
2018135785.tif 000002
【特許請求の範囲】
【請求項１】
クランクシャフトの所定の回転角度量に対応するカウント時間が設定されるレジスタ（４２）と、
前記所定の回転角度量に対応するカウント数を前記レジスタに設定された前記カウント時間でカウントするアングルカウンタ（４４）と、
前記クランクシャフトの回転に伴い所定の角度間隔で発生するクランク信号が異常の場合、前記レジスタに前記カウント時間を設定するＤＭＡ（６０、Ｓ４４０）と、
を備えるエンジン制御装置（１０）。
【請求項２】
請求項１に記載のエンジン制御装置において、
前記クランク信号が正常の場合、前記所定の回転角度量として前記クランク信号の角度間隔に対応する前記カウント時間を前記レジスタに設定するレジスタ設定部（４０、Ｓ４２０〜Ｓ４２４）をさらに備える、
エンジン制御装置。
【請求項３】
請求項１または２に記載のエンジン制御装置において、
前記クランク信号が異常の場合、前記所定の回転角度量として、カムシャフトの所定の回転位置で発生するカム信号の角度間隔に基づいて前記カウント時間を設定し、設定した前記カウント時間を前記ＤＭＡに出力する制御部（２２、Ｓ４５０〜Ｓ４５６、Ｓ４６０、Ｓ４６２、Ｓ４７０、Ｓ４７２）をさらに備える、
エンジン制御装置。
【請求項４】
請求項１から３のいずれか一項に記載のエンジン制御装置において、
前記クランク信号が異常の場合、前記クランク信号の各信号に対応するタイミングで前記ＤＭＡを起動させる起動部（７０）をさらに備える、
エンジン制御装置。
【請求項５】
請求項３または請求項３を引用する請求項４に記載のエンジン制御装置において、
前記クランク信号が異常の場合、前記制御部（Ｓ４７０、Ｓ４７２）は、前記カム信号の前記角度間隔に対応する時間間隔に基づいて、前記クランク信号の各信号に対応するタイミング毎にエンジン回転数の変動に対応する前記カウント時間を推定し、推定した前記カウント時間を前記ＤＭＡに出力する、
エンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、エンジンのクランクシャフトの回転に伴って発生するクランク信号の異常時に、エンジン制御を実行するエンジン制御装置に関する。
【背景技術】
【０００２】
エンジンのクランクシャフトの回転に伴って発生するクランク信号が表すクランクシャフトの回転角度位置に基づいて、エンジンを制御する技術が知られている。
このような技術では、エンジン回転数の変動に伴って変化するクランク信号の時間間隔に対応するため、クランク信号の時間間隔を計測してカウント時間をハードウェア処理でレジスタに設定し、レジスタに設定されたカウント時間の間、アングルカウンタでカウントすることが考えられる。エンジン回転数の変動を反映したアングルカウンタのカウント数に基づいて、エンジン制御が実行される。
【０００３】
ここで、クランクセンサの故障等により正常なクランク信号を取得できない場合、特許文献１に記載されているように、クランク信号に代わってカム信号に基づいてエンジン制御を実行することが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１０４６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クランク信号が異常の場合にカム信号を使用する場合、クランク信号と同様にエンジン回転数の変動に対応するため、カム信号の時間間隔の間に設定されたタイミング、例えばクランク信号の角度間隔に対応するタイミングで割り込みを発生させ、カウント時間をソフトウェアによりレジスタに設定することが考えられる。
【０００６】
しかし、割り込みよりソフトウェアを起動してレジスタにカウント時間を設定する場合、他の割り込みとの競合により割り込み遅れが発生することがある。さらに、割り込みが発生してからソフトウェアによりレジスタにカウント時間を設定するまでに、時間遅れが発生することがある。
【０００７】
割り込み遅れを解消するためには、レジスタにカウント時間を設定するソフトウェアの割り込みの優先度を上げることが考えられる。しかし、割り込みの優先度を上げると、他のソフトウェアに対する割り込みの実行が遅れるという問題が発生する。
【０００８】
本開示は、クランク信号が異常の場合、割り込み処理を実行するソフトウェアの優先度を変更することなく、アングルカウンタがカウントするカウント時間を速やかに設定する技術を提供する。
【課題を解決するための手段】
【０００９】
本開示の一態様は、レジスタ（４２）と、アングルカウンタ（４４）と、ＤＭＡ（６０、Ｓ４４０）と、を備えている。
レジスタには、クランクシャフトの所定の回転角度量に対応するカウント時間が設定される。アングルカウンタは、所定の回転角度量に対応するカウント数をレジスタに設定されたカウント時間でカウントする。ＤＭＡは、クランクシャフトの回転に伴い所定の角度間隔で発生するクランク信号が異常の場合、レジスタにカウント時間を設定する。
【００１０】
この構成によれば、クランク信号が異常の場合、アングルカウンタがカウントするカウント時間が設定されるレジスタに、ソフトウェアではなくＤＭＡがカウント時間を設定するので、レジスタにカウント時間を設定するために要する処理時間を短縮することができる。
【００１１】
さらに、クランク信号が異常の場合、ソフトウェアではなくＤＭＡがレジスタにカウント時間を設定するので、割り込みによりソフトウェアが速やかにレジスタにカウント時間を設定するために、割り込み処理を実行するソフトウェアの優先度を変更する必要がない。
【００１２】
尚、この欄および特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のエンジン制御装置を示すブロック図。
【図２】クランク信号、カム信号の診断処理を示すフローチャート。
【図３】クランク信号のエッジ処理を示すフローチャート。
【図４】カム信号のエッジ処理を示すフローチャート。
【図５】クランク信号異常時のＤＭＡによるカウント時間設定処理を示すフローチャート。
【図６】クランク信号異常時のカム信号のエッジ処理を示すフローチャート。
【図７】割り込み回数に応じたカウント時間の設定を説明するテーブル。
【図８】クランク信号異常時の割り込み処理を示すフローチャート。
【図９】割り込み回数に応じカウント時間の設定を説明するテーブル。
【図１０】割り込み毎のアングルクロックの周期の変化を示すタイムチャート。
【発明を実施するための形態】
【００１４】
以下、本開示の実施形態を図に基づいて説明する。
［１．構成］
図１に示すＥＣＵ１０は、少なくとも一つのマイコン２０を備えている。マイコン２０は、ＣＰＵ２２と、ＲＯＭ２４と、ＲＡＭ２６と、タイマ３０と、ＤＭＡ６０と、割り込み部７０とを備えている。ＥＣＵはElectronic Control Unitの略であり、マイコンはマイクロコンピュータの略である。
【００１５】
ＥＣＵ１０は、クランクセンサ２からクランク信号を入力し、カムセンサ４からカム信号を入力する。
クランクセンサ２は、クランクシャフトとともに回転するクランクロータ６の外周に一定の角度間隔で設置された歯を検出し、クランクシャフトの回転に伴い所定の角度間隔で発生するクランク信号を出力する。本実施形態では、１０°ＣＡ間隔でクランクロータ６の外周に歯が設置されている。また、クランクロータ６には、歯が連続して欠落した欠歯部が存在する。
【００１６】
したがって、クランク信号は、クランクシャフトが一定の角度回転する毎に発生するパルスを有するパルス列と、パルスが発生しておらずパルスとパルスとの角度間隔がパルス列よりも大きい欠歯部とを有している。欠歯部は、クランクシャフトの回転方向の基準位置を示している。
【００１７】
カムセンサ４は、カムシャフトとともに回転するカムロータ８の外周に設置された歯を検出し、カムシャフトの所定の回転位置でカム信号を出力する。カム信号は、各気筒に対応する角度位置で、１８０°ＣＡ毎に立ち下がりと立ち上がりとを繰り返す。
【００１８】
タイマ３０は、エッジ間隔計測部３２と、アングルクロック生成部３４と、レジスタ部４０とを備えている。
エッジ間隔計測部３２は、クランク信号の例えば立ち下がりのエッジ時間間隔、ならびにカム信号の立ち下がりから立ち上がりまでのエッジ時間間隔と、カム信号の立ち上がりから立ち下がりまでのエッジ時間間隔とを計測する。
【００１９】
アングルクロック生成部３４は、後述するアングルカウンタ４４がカウントするアングルクロックを生成する。アングルクロック生成部３４は、後述する動作速度レジスタ４２に設定されるカウント時間に基づいてアングルクロックの周期を決定し、決定した周期のアングルクロックを生成する。アングルクロックの周期が決定されることにより、アングルカウンタ４４がアングルクロックをカウントする動作速度が決定される。
【００２０】
クランク信号が正常の場合、エッジ間隔レジスタ４８に設定されるクランク信号の時間間隔がカウント時間として動作速度レジスタ４２設定される。アングルクロック生成部３４は、例えばクランク信号の角度間隔である１０°ＣＡに対応するカウント数でクランク信号の時間間隔を除算した周期をアングルクロックの周期とする。
【００２１】
クランク信号が異常でありカム信号が正常の場合、エッジ間隔レジスタ５０に設定されるカム信号の時間間隔がカウント時間として動作速度レジスタ４２設定される。アングルクロック生成部３４は、例えばカム信号の角度間隔である１８０°ＣＡに対応するカウント数でカム信号の時間間隔を除算した周期をアングルクロックの周期とする。
【００２２】
本実施形態では、カム信号の角度間隔はクランク信号の角度間隔の１８倍であるから、カム信号の角度間隔に対応するカウント数は、クランク信号の角度間隔に対応するカウント数の１８倍になる。
【００２３】
エンジン回転数が低下しクランク信号およびカム信号の時間間隔が長くなると、アングルクロックの周期は長くなる。
レジスタ部４０は、動作速度レジスタ４２と、アングルカウンタ４４と、基準信号レジスタ４６と、エッジ間隔レジスタ４８、５０とを備えている。
【００２４】
動作速度レジスタ４２には、アングルクロック生成部３４が生成するアングルクロックの周期を決定するカウント時間が設定される。
クランク信号が正常の場合には、クランクシャフトの所定の回転角度量として、クランク信号の角度間隔に対応するカウント時間が動作速度レジスタ４２に設定される。クランク信号が異常であり、カム信号が正常の場合には、クランクシャフトの所定の回転角度量として、カム信号の角度間隔に対応するカウント時間が動作速度レジスタ４２に設定される。
【００２５】
アングルカウンタ４４は、アングルクロック生成部３４で生成されるアングルクロックのクロック毎にカウントアップするカウンタである。アングルクロックの周期はクランク信号の時間間隔よりも短いので、アングルクロックのクロック毎にカウントアップするアングルカウンタ４４のカウント数に基づいて、クランク信号の角度間隔よりも高い分解能でエンジン制御を行うことができる。
【００２６】
基準信号レジスタ４６には、アングルクロック生成部３４が基準信号としてクランク信号またはカム信号のいずれを使用してアングルクロックを生成するかが設定される。
エッジ間隔レジスタ４８には、エッジ間隔計測部３２が計測するクランク信号のエッジ間隔が設定される。エッジ間隔レジスタ５０には、エッジ間隔計測部３２が計測するカム信号のエッジ間隔が設定される。
【００２７】
ＤＭＡ６０は、転送部６２とレジスタ部６４とを備えている。転送部６２は、ＤＭＡ６０が起動されると、レジスタ部６４の次回動作速度レジスタ６６に設定されているカウント時間を、タイマ３０の動作速度レジスタ４２に転送する。次回動作速度レジスタ６６の値はＣＰＵ２２により設定される。
【００２８】
割り込み部７０は、割り込み生成部７２とレジスタ部７４とを備えている。割り込み生成部７２は、クランク信号が異常の場合、クランク信号の各信号のエッジに対応するタイミングでＤＭＡ６０を起動する割り込みを生成する。
【００２９】
割り込み生成部７２が割り込みを生成するタイミングは、ＣＰＵ２２がレジスタ部７４のタイミングレジスタ７６に設定するタイミングにより決定される。タイミングレジスタ７６が初期値の場合、割り込み生成部７２は割り込みを生成しない。
【００３０】
［２．処理］
ＥＣＵ１０が実行するエンジン制御について、図２〜図８のフローチャートに基づいて説明する。
【００３１】
（１）診断処理
図２に示す診断処理は、ＥＣＵ１０のマイコン２０により所定時間間隔で常時実行される。
【００３２】
Ｓ４００においてＣＰＵ２２は、クランク信号が正常であるか異常であるかを診断する。ＣＰＵ２２は、以下の（ａ）、（ｂ）の少なくともいずれか一つの状態が発生する場合、クランク信号は異常であると診断し、（ａ）、（ｂ）のいずれの状態も発生しない場合、クランク信号は正常であると診断する。
【００３３】
（ａ）クランク信号のレベルが所定範囲から外れている。
（ｂ）クランク信号のレベルが所定時間変化しない。
Ｓ４０２においてＣＰＵ２２は、カム信号が正常であるか異常であるかを診断する。ＣＰＵ２２は、以下の（ｃ）、（ｄ）の少なくともいずれか一つの状態が発生する場合、カム信号は異常であると診断し、（ｃ）、（ｄ）のいずれの状態も発生しない場合、カム信号は正常であると診断する。
【００３４】
（ｃ）カム信号のレベルが所定範囲から外れている。
（ｄ）カム信号のレベルが所定時間変化しない。
Ｓ４０４の判定がＹｅｓであり、クランク信号が正常の場合、Ｓ４０６においてＣＰＵ２２は、アングルクロック生成部３４がアングルクロックを生成する基準となる基準信号としてクランク信号を基準信号レジスタ４６に設定する。Ｓ４０８においてＣＰＵ２２は、アングルカウンタ４４がエッジ入力間にカウントアップする角度（°ＣＡ）をクランク信号間隔角度に設定する。
【００３５】
Ｓ４０４の判定がＮｏであり、クランク信号が異常の場合、Ｓ４１０においてＣＰＵ２２は、カム信号が正常であるか否かを判定する。
Ｓ４１０の判定がＹｅｓであり、カム信号が正常の場合、Ｓ４１２においてＣＰＵ２２は、アングルクロック生成部３４がアングルクロックを生成する基準となる基準信号としてカム信号を基準信号レジスタ４６に設定する。Ｓ４１４においてＣＰＵ２２は、アングルカウンタ４４がエッジ入力間にカウントアップする角度（°ＣＡ）をカム信号間隔角度に設定する。
【００３６】
（２）カウント時間設定処理１
図３のカウント時間設定処理１は、エッジとしてクランク信号の立ち下がり毎に、レジスタ部４０により実行される。
【００３７】
Ｓ４２０においてレジスタ部４０は、前回のクランク信号のエッジから今回のクランク信号のエッジまでの間でエッジ間隔計測部３２が計測したクランク信号の角度間隔に対応する時間間隔をエッジ間隔レジスタ４８に設定する。Ｓ４２２の判定がＮｏであり、基準信号レジスタ４６に基準信号としてクランク信号が設定されていない場合、本処理は終了する。
【００３８】
Ｓ４２２の判定がＹｅｓであり、基準信号レジスタ４６に基準信号としてクランク信号が設定されている場合、Ｓ４２４においてレジスタ部４０は、Ｓ４２０でエッジ間隔レジスタ４８に設定したクランク信号の時間間隔をカウント時間として動作速度レジスタ４２に設定する。
【００３９】
（３）カウント時間設定処理２
図４のカウント時間設定処理２は、エッジとしてカム信号の立ち下がりと立ち上がりと毎に、レジスタ部４０により実行される。
【００４０】
Ｓ４３０においてレジスタ部４０は、前回のカム信号のエッジから今回のカム信号のエッジまでの間でエッジ間隔計測部３２が計測したカム信号の角度間隔に対応する時間間隔をエッジ間隔レジスタ５０に設定する。Ｓ４３２の判定がＮｏであり、基準信号レジスタ４６に基準信号としてカム信号が設定されていない場合、本処理は終了する。
【００４１】
Ｓ４３２の判定がＹｅｓであり、基準信号レジスタ４６に基準信号としてカム信号が設定されている場合、Ｓ４３４においてレジスタ部４０は、Ｓ４３０でエッジ間隔レジスタ５０に設定したカム信号の時間間隔をカウント時間として動作速度レジスタ４２に設定する。
【００４２】
（４）カウント時間設定処理３
図５のカウント時間設定処理３は、割り込み部７０のタイミングレジスタ７６に設定されたタイミングとアングルカウンタ４４のカウント数とが一致すると、割り込み生成部７２が生成する割り込みによりＤＭＡ６０が実行する。
【００４３】
Ｓ４４０においてＤＭＡ６０の転送部６２は、レジスタ部６４の次回動作速度レジスタ６６に設定されたカウント時間をタイマ３０の動作速度レジスタ４２に転送する。
（５）カムエッジ処理
図６のカムエッジ処理は、カム信号の立ち下がりと立ち上がり毎に、ＣＰＵ２２により実行される。
【００４４】
Ｓ４５０においてＣＰＵ２２は、基準信号レジスタ４６に基準信号としてカム信号が設定されているか否かを判定する。Ｓ４５０の判定がＮｏであり、基準信号レジスタ４６に基準信号としてカム信号が設定されていない場合、本処理は終了する。
【００４５】
Ｓ４５０の判定がＹｅｓであり、基準信号レジスタ４６に基準信号としてカム信号が設定されている場合、Ｓ４５２においてＣＰＵ２２は、エッジ間隔レジスタ５０に設定されているカム信号の時間間隔を基準時間として設定する。
【００４６】
Ｓ４５４においてＣＰＵ２２は、クランク信号が異常の場合にカム信号の角度間隔の間で割り込み生成部７２が生成する割り込み回数をクリアして０にする。Ｓ４５６においてＣＰＵ２２は、次回の割り込みでＤＭＡ６０の転送部６２がタイマ３０の動作速度レジスタ４２に設定するカウント時間を次回動作速度レジスタ６６に設定する。次回動作速度の設定については、図７に基づいて後述する。
【００４７】
Ｓ４５８においてＣＰＵ２２は、次式（１）で算出する次回の割り込みタイミングをタイミングレジスタ７６に設定する。
次回の割り込みタイミング
＝今回のカムエッジタイミング＋カム信号とクランク信号とのずれ角度  ・・・（１）
カム信号のエッジとクランク信号のエッジとのタイミングがずれている場合、カム信号のエッジのタイミングの次に発生すると推定されるクランク信号のエッジのタイミングを式（１）によりタイミングレジスタ７６に設定する。
【００４８】
具体的には、ＣＰＵ２２は、今回のカムエッジタイミングのときのアングルカウンタ４４のカウント数に、カム信号とクランク信号とのずれ角度に対応するアングルカウンタ４４のカウント数を加算して、次回の割り込みタイミングを算出する。タイミングレジスタ７６の値とアングルカウンタ４４のカウント数とが一致すると、割り込みが発生する。
【００４９】
（６）次回カウント時間設定処理
図７の次回カウント時間設定処理は、図６のＳ４５６と後述する図８のＳ４７２とにおいて実行される。
【００５０】
Ｓ４６０においてＣＰＵ２２は、割り込み回数に応じた係数を、図９のテーブル２００から取得する。カム信号のエッジタイミングで実行される図６のＳ４５６における次回カウント時間設定処理の場合、割り込み回数は０にクリアされているので、ＣＰＵ２２は係数として１を取得する。図８のＳ４７２で次回カウント時間設定処理が実行される場合、割り込み回数は順次更新されている。
【００５１】
図９に示すテーブルに設定されている割り込み回数に応じた係数は、カム信号の角度間隔の間におけるエンジン回転数の変動に基づいて設定されている。図９のテーブルの係数は、予め実験等により計測されたエンジン回転数の変動に基づいて固定値に設定されてもよいし、実際のエンジンの運転中に学習したエンジン回転数の変動に基づいて可変に設定されてもよい。
【００５２】
Ｓ４６２においてＣＰＵ２２は、次式（２）で算出する次回カウント時間を次回動作速度レジスタ６６に設定する。式（２）の基準時間は、図６のＳ４５２で設定された時間である。
【００５３】
次回カウント時間＝基準時間×係数    ・・・（２）
（７）割り込み処理
図８の割り込み処理は、割り込み部７０のタイミングレジスタ７６に設定されたタイミングとアングルカウンタ４４のカウント数とが一致すると、割り込み生成部７２が生成する割り込みにより、ＣＰＵ２２が実行する。
【００５４】
Ｓ４７０においてＣＰＵ２２は、割り込み回数を＋１加算する。Ｓ４７２においてＣＰＵ２２は、前述した図７の次回カウント時間設定処理を実行する。このように、割り込み回数に応じて次回カウント時間を設定することにより、図１０に示すように、割り込み生成部７２が生成する割り込み毎に、アングルカウンタ４４がカウントするアングルクロックの周期が設定される。
【００５５】
Ｓ４７４においてＣＰＵ２２は、割り込み回数がカム信号の角度間隔の間でクランク信号が発生する回数である１８回より小さいか否かを判定する。Ｓ４７４の判定がＮｏであり、割り込み回数がカム信号の角度間隔の間でクランク信号が発生する回数以上の場合、ＣＰＵ２２は、次回の割り込みタイミングを設定するＳ４７６を実行せず処理をＳ４７８に移行する。
【００５６】
割り込み回数が１８回の場合、次回の割り込みタイミングを設定するＳ４７６を実行しないのは、設定した次回の割り込みタイミングが発生する前に発生するカム信号のエッジタイミングで、図４のカウント時間設定処理２がレジスタ部４０により実行されるからである。
【００５７】
Ｓ４７４の判定がＹｅｓであり、割り込み回数がカム信号の角度間隔の間でクランク信号が発生する回数より小さい場合、Ｓ４７６においてＣＰＵ２２は、次式（３）で算出する次回の割り込みタイミングをタイミングレジスタ７６に設定する。
【００５８】
次回の割り込みタイミング
＝今回の割り込みタイミング＋クランク信号の角度間隔  ・・・（３）
式（３）においてＣＰＵ２２は、今回の割り込みタイミングのときのアングルカウンタ４４の値に、クランク信号の角度間隔である１０°ＣＡに対応するアングルカウンタ４４のカウント数を加算して、次回の割り込みタイミングを算出する。
【００５９】
Ｓ４７８においてＣＰＵ２２は、クランク信号のエッジのタイミングであることを、クランク信号のエッジのタイミングで実行されるアプリケーションに通知する。
［３．効果］
以上説明した本実施形態によると、以下の効果を得ることができる。
【００６０】
（１）クランク信号が異常の場合、クランク信号のエッジに対応するタイミングで生成される割り込みにより、アングルカウンタ４４が次回のクランク角度の間隔でカウントすると推定されるカウント時間をＤＭＡ６０が動作速度レジスタ４２に設定する。
【００６１】
これにより、割り込み処理を実行する他のソフトウェアと競合することなく、動作速度レジスタ４２にカウント時間を設定するために要する処理時間を極力短縮し、動作速度レジスタ４２にカウント時間を速やかに設定することができる。また、割り込みにおいて他のソフトウェアと競合しないので、処理時間を短縮するために、割り込み処理を実行するソフトウェアの割り込みの優先度を変更する必要がない。
【００６２】
（２）ＥＣＵ１０は、クランク信号が異常の場合、クランク信号のエッジに対応すると推定されるタイミング毎に割り込みを発生させ、割り込み回数に応じてエンジン回転数の変動に基づいて設定された係数をカム信号の時間間隔に乗算してカウント時間を設定する。これにより、クランク信号が異常の場合でも、エンジン回転数の変動に応じてアングルカウンタ４４がカウントすることができる。
【００６３】
以上説明した本実施形態において、ＥＣＵ１０がエンジン制御装置に対応し、ＣＰＵ２２が制御部に対応し、レジスタ部４０がレジスタ設定部に対応し、動作速度レジスタ４２がレジスタに対応し、アングルカウンタ４４がアングルカウンタに対応し、ＤＭＡ６０がＤＭＡに対応し、割り込み部７０が起動部に対応する。
【００６４】
また、Ｓ４２０〜Ｓ４２４の処理がレジスタ設定部の処理に対応し、Ｓ４４０がＤＭＡの処理に対応し、Ｓ４５０〜Ｓ４５６、Ｓ４６０、Ｓ４６２、Ｓ４７０、Ｓ４７２が制御部の処理に対応する。
【００６５】
［４．他の実施形態］
（１）上記実施形態では、クランク信号が異常の場合、クランク信号のエッジに対応すると推定されるタイミング毎に割り込みを発生させ、カム信号の時間間隔に割り込み回数に応じた係数を乗算してカウント時間を設定した。
【００６６】
これに対し、カム信号の角度間隔に対するクランク信号の角度間隔の比に基づいてカム信号の時間間隔からクランク信号の角度間隔に対応する時間間隔を算出し、算出した時間間隔に割り込み回数に応じた係数を乗算してカウント時間として設定してもよい。
【００６７】
（２）クランク信号の角度間隔は、上記実施形態で設定した１０°ＣＡに限るものではなく、カム信号のエッジは１８０°ＣＡ毎に発生する必要はない。
（３）上記実施形態における一つの構成要素が有する複数の機能を複数の構成要素によって実現したり、一つの構成要素が有する一つの機能を複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を一つの構成要素によって実現したり、複数の構成要素によって実現される一つの機能を一つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００６８】
（４）上述したＥＣＵ１０の他、当該ＥＣＵ１０を構成要素とするエンジン制御システム、当該ＥＣＵ１０としてコンピュータを機能させるためのエンジン制御プログラム、このエンジン制御プログラムを記録した記録媒体、エンジン制御方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００６９】
１０：ＥＣＵ（エンジン制御装置）、２２：ＣＰＵ（制御部）、４０：レジスタ部（レジスタ設定部）４２：動作速度レジスタ（レジスタ）、４４：アングルカウンタ、６０：ＤＭＡ、７０：割り込み部（起動部）
【図１】
2018135785.tif 000003
【図２】
2018135785.tif 000004
【図３】
2018135785.tif 000005
【図４】
2018135785.tif 000006
【図５】
2018135785.tif 000007
【図６】
2018135785.tif 000008
【図７】
2018135785.tif 000009
【図８】
2018135785.tif 000010
【図９】
2018135785.tif 000011
【図１０】
2018135785.tif 000012