(57)【特許請求の範囲】
【請求項１】
回転体の回転角度に応じて出力信号の出力レベルを変化させる信号出力装置であって、
前記回転体の回転に同期してカウント動作するとともに、カウント値が前記回転体の回転角度を示す角度カウンタと、
前記角度カウンタの値と比較される値がセットされるレジスタである角度レジスタと、
前記角度カウンタの値と前記角度レジスタの値とを比較し、前記角度カウンタの値が前記角度レジスタの値に達すると、角度一致信号を出力する比較回路である角度比較回路と、
予め設定された動作開始条件が成立すると、予め設定された第１プリセット値から一定時間毎にカウント値を減算させるダウンカウント動作を開始する時間ダウンカウンタと、
前記時間ダウンカウンタの値と比較される値がセットされるレジスタである時間レジスタと、
前記時間ダウンカウンタの値と前記時間レジスタの値とを比較し、前記時間ダウンカウンタの値が前記時間レジスタの値に一致すると、時間一致信号を出力する比較回路である時間比較回路と、
前記角度比較回路から前記角度一致信号が出力され、且つ、前記時間比較回路から前記時間一致信号が出力されると、前記出力信号の出力レベルを、ハイレベルとローレベルとのうちの一方である特定レベルから、前記特定レベルに対して反対のレベルである特定反対レベルに反転させるとともに、予め設定された第２プリセット値から一定時間毎にカウント値を減算させるダウンカウント動作を開始し、その後、予め設定された信号出力時間が経過すると、前記出力信号の出力レベルを前記特定反対レベルから前記特定レベルに反転させるダウンカウンタとを備え、
前記動作開始条件は、前記出力信号の出力レベルが前記特定反対レベルから前記特定レベルに反転したことである
ことを特徴とする信号出力装置と、
前記出力信号の出力レベルを前記特定レベルから反転させるべき前記回転体の回転角度である出力反転角度の値を前記角度レジスタにセットするとともに、前記出力信号の出力を禁止する禁止時間分のカウント値を前記第１プリセット値として前記時間ダウンカウンタにセットする値設定処理手段とを備える
ことを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力信号の出力レベルを回転体の回転角度に応じて変化させる技術に関する。
【背景技術】
【０００２】
車両のエンジンを制御する電子制御装置では、エンジンのクランク軸の回転に応じて所定角度毎にエッジが生じるクランク信号をクランクセンサから入力して、エンジンの１サイクルにおけるクランク軸の回転角度（いわゆるクランク角）を表す角度カウンタを、上記クランク信号に基づきカウント動作させ、その角度カウンタのカウント値によりクランク角を把握するようになっており、その角度カウンタのカウント値が目的のクランク角に該当する設定値と一致したら、燃料噴射弁や点火装置を作動させるための信号の出力を行う（例えば、出力信号の出力レベルをローレベルからハイレベルに反転させる）ようになっている。
【０００３】
そして、出力信号をローレベルからハイレベルに反転させるべき目的の角度にクランク軸の回転角度が達しても、出力信号における前回のレベル反転（すなわち、ハイレベルからローレベルへの反転）から規定時間が経過するまでは出力信号を反転させない、という時間制限機能を実現するために、出力信号がハイレベルからローレベルに反転した時刻から規定時間が経過した時点での時刻を設定し、この設定時刻以前で出力信号がローレベルからハイレベルに反転することを禁止するように構成された信号出力装置が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−６４０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の技術では、出力信号がハイレベルからローレベルに反転した時刻から規定時間が経過した時点での時刻を算出するというソフトウェア処理が必要であるため、このソフトウェア処理に要する時間より短い時間制限を行うことができないという問題があった。
【０００６】
本発明は、こうした問題に鑑みてなされたものであり、クランク軸などの回転体の回転角度が出力信号の出力レベルを反転させるべき目的の角度になっても、特定の基準タイミングから規定時間が経過するまでは出力信号を反転させない、という時間制限機能を実現するために必要なソフトウェア処理負荷を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の電子制御装置の信号出力装置では、角度カウンタが、回転体の回転に同期してカウント動作し、さらに角度比較回路が、角度カウンタの値と、角度カウンタの値と比較される値がセットされる角度レジスタの値とを比較し、角度カウンタの値が角度レジスタの値に達すると、角度一致信号を出力する。
【０００８】
また時間ダウンカウンタが、予め設定された動作開始条件が成立すると、予め設定された第１プリセット値から一定時間毎にカウント値を減算させるダウンカウント動作を開始し、さらに時間比較回路が、時間ダウンカウンタの値と、時間ダウンカウンタの値と比較される値がセットされる時間レジスタの値とを比較し、時間ダウンカウンタの値が時間レジスタの値に一致すると、時間一致信号を出力する。
【０００９】
そしてダウンカウンタが、角度比較回路から角度一致信号が出力され、且つ、時間比較回路から時間一致信号が出力されると、出力信号の出力レベルを、ハイレベルとローレベルとのうちの一方である特定レベルから、特定レベルに対して反対のレベルである特定反対レベルに反転させるとともに、予め設定された第２プリセット値から一定時間毎にカウント値を減算させるダウンカウント動作を開始し、その後、予め設定された信号出力時間が経過すると、出力信号の出力レベルを特定反対レベルから特定レベルに反転させる。
【００１０】
なお、上記の動作開始条件は、出力信号の出力レベルが特定反対レベルから特定レベルに反転したことである。
このように構成された信号出力装置では、出力信号の出力レベルが特定反対レベルから特定レベルに反転すると、時間ダウンカウンタが、予め設定された第１プリセット値からのダウンカウント動作を開始し、時間ダウンカウンタの値が時間レジスタの値に一致すると、時間一致信号を出力する。
【００１１】
そして、角度比較回路から角度一致信号が出力され、且つ、時間比較回路から時間一致信号が出力されると、出力信号の出力レベルが特定レベルから特定反対レベルに反転する。
【００１２】
すなわち、出力信号の出力レベルが特定反対レベルから特定レベルに反転してから、時間ダウンカウンタの第１プリセット値と時間レジスタの値との差に相当する時間が経過するまでは、その前に角度カウンタの値が角度レジスタの値に達したとしても、出力信号の出力レベルが特定レベルから特定反対レベルに反転しない。
【００１３】
このため、回転体の回転角度が出力信号の出力レベルを特定レベルから反転させるべき目的の出力反転角度になっても、特定の基準タイミングから規定時間が経過するまでは出力信号を反転させない、という時間制限機能を実現したい場合には、その出力反転角度の値を角度レジスタにセットするとともに、時間レジスタの値との差が規定時間に相当する値を第１プリセット値として時間ダウンカウンタにセットするだけでよい。
【００１４】
すなわち、このように構成された請求項１に記載の電子制御装置の信号出力装置によれば、特定の基準タイミングから規定時間が経過した時点での時刻を算出するというソフトウェア処理が不要になるため、上記の時間制限機能を実現するために必要なソフトウェア処理負荷を低減することができる。
【００２３】
また、請求項１に記載の電子制御装置は、値設定処理手段を備え、値設定処理手段は、出力信号の出力レベルを特定レベルから反転させるべき回転体の回転角度である出力反転角度の値を角度レジスタにセットするとともに、出力信号の出力を禁止する禁止時間分のカウント値を第１プリセット値として時間ダウンカウンタにセットする。
【００２４】
このように構成された電子制御装置は、請求項１に記載の信号出力装置を用いて上記の時間制限機能を実現するものであり、請求項１に記載の信号出力装置と同様の効果を得ることができる。
【図面の簡単な説明】
【００２５】
【図１】ＥＣＵ１１の構成を示すブロック図である。
【図２】第１実施形態のタイマモジュール２９の構成を示すブロック図である。
【図３】第１実施形態のダウンカウンタ制御回路５５の動作を表す一覧表である。
【図４】初期設定処理、第１，２パルス設定処理を示すフローチャートである。
【図５】第１実施形態のタイマモジュール３１，３２の動作を示すタイミングチャートである。
【図６】第２実施形態のタイマモジュール２９の構成を示すブロック図である。
【図７】時間コンペアマッチ信号選択部４８の動作を表す一覧表である。
【図８】初期設定処理を示すフローチャートである。
【図９】第２実施形態のタイマモジュール３１，３２の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００２６】
（第１実施形態）
以下に本発明の第１実施形態について図面とともに説明する。
図１は、本実施形態の電子制御装置（以下、ＥＣＵという）１１の構成を示すブロック図である。
【００２７】
ＥＣＵ１１は、図１に示すように、車両の内燃機関型エンジンを制御するエンジン制御装置であり、エンジン１を制御するための様々な処理を行うマイコン（マイクロコンピュータ）１３と、当該ＥＣＵ１１の外部とマイコン１３との間で信号の入出力を行わせるための外部入出力回路１５とを備えている。
【００２８】
また、ＥＣＵ１１の外部には、エンジン１に燃料を噴射するインジェクタ（電磁式燃料噴射弁）２、エンジン１の点火プラグを着火させるためのイグナイタ（点火装置）３、エンジン１の吸入空気量を調節する電子スロットル４、エンジン１のクランク軸の回転に応じて所定角度毎（例えば３０°ＣＡ毎）にエッジが生じるクランク信号を出力するクランクセンサ５、エンジン１の冷却水の温度を検出する水温センサ６、および電子スロットル４の開度を検出するスロットルセンサ７など、エンジン１を運転させるための各種アクチュエータおよびエンジン１の運転状態を検出するための各種センサが接続されている。
【００２９】
そして、クランクセンサ５からのクランク信号など、ハイレベルとローレベルとに変化する信号については、外部入出力回路１５により波形整形されてマイコン１３に入力され、水温センサ６およびスロットルセンサ７からの信号など、アナログ信号については、外部入出力回路１５に備えられたＡ／Ｄ変換器（図示省略）によりデジタル信号に変換されてマイコン１３に入力される。
【００３０】
また各種アクチュエータには、マイコン１３からの駆動信号に従い外部入出力回路１５を介して駆動電流が供給される。特にインジェクタ２は、マイコン１３から出力される噴射パルス信号がハイレベルのときに通電されて開弁する。またイグナイタ３は、マイコン１３から出力される点火パルス信号がハイレベルのときに通電され、その点火パルス信号がローレベルに戻って通電が遮断されたときに、点火プラグに火花を発生させる。
【００３１】
一方、マイコン１３には、周知のＣＰＵ２１、ＲＯＭ２３、ＲＡＭ２５、および入出力ポート２７などに加え、噴射パルス信号と点火パルス信号を出力するための回路としてタイマ（ＴＩＭＥＲ）モジュール２９が備えられている。
【００３２】
図２は、タイマモジュール２９の構成を示すブロック図である。
タイマモジュール２９は、エンジンの各気筒に対応して設けられ、本実施形態では、図２に示すように、エンジンの第１気筒に対応する第１タイマモジュール３１と、エンジンの第２気筒に対応する第２タイマモジュール３２とから構成される。
【００３３】
そしてタイマモジュール３１，３２は、角度カウンタ４１と、コンペアマッチレジスタ４２と、比較回路４３と、ダウンカウント開始制御部４４と、ダウンカウント出力制御部４５と、ダウンカウンタ４６とを備えている。
【００３４】
これらのうち角度カウンタ４１は、クランクセンサ５からのクランク信号に基づき、そのクランク信号に有効なエッジが生じる上記所定角度よりも小さい分解能でカウント動作して、そのカウント値がクランク角（エンジン１の１サイクルにおけるクランク軸の回転角度）を上記分解能で表すカウンタである。つまり、マイコン１３では、角度カウンタ４１のカウント制御を行うための図示しないカウント制御回路が、クランク信号から、そのクランク信号を逓倍した逓倍クロック（詳しくは、周期がクランク信号の周期の逓倍数分の１であるクロック）を生成し、その逓倍クロックにより角度カウンタ４１を繰り返しカウント動作させている。なお、このようなカウント制御回路の構成と作用については公知であるため、詳細な説明を省略する。
【００３５】
またコンペアマッチレジスタ４２は、角度カウンタ４１の値と比較される値がセットされるレジスタである。
また比較回路４３は、角度カウンタ４１の値とコンペアマッチレジスタ４２の値とを比較して、角度カウンタ４１の値がコンペアマッチレジスタ４２の値に達すると、コンペアマッチ信号を出力する。以下、比較回路４３から出力されるコンペアマッチ信号を角度コンペアマッチ信号という。なお比較回路４３は、角度コンペアマッチ信号を出力すると、ＣＰＵ２１によりリセットされるまで、その角度コンペアマッチ信号を出力し続けるラッチ回路（図示省略）を有している。
【００３６】
またダウンカウント開始制御部４４は、ダウンカウンタ５１と、コンペアマッチレジスタ５２と、比較回路５３と、レジスタ５４と、ダウンカウンタ制御回路５５とを備えている。
【００３７】
そしてダウンカウンタ５１は、任意の時間に相当する値（データ）をダウンカウンタ制御回路５５によりプリセットすることが可能であり、ダウンカウンタ制御回路５５からのダウンカウント開始信号を受けると、マイコン１３における内部クロックに従いプリセット値からのダウンカウント動作を開始し、そのカウント値が０になる（すなわち、プリセット値に相当するタイマ時間が経過する）とダウンカウント動作を終了する。
【００３８】
またコンペアマッチレジスタ５２は、ダウンカウンタ５１の値と比較される固定値として０がセットされているレジスタである。
また比較回路５３は、比較回路４３と同様の構成を有しており、ダウンカウンタ５１の値とコンペアマッチレジスタ５２の値とを比較して、カウンタ５１の値がコンペアマッチレジスタ５２の値に達すると、コンペアマッチ信号を出力する。以下、比較回路５３から出力されるコンペアマッチ信号を時間コンペアマッチ信号という。
【００３９】
またレジスタ５４は、ダウンカウンタ５１の上記プリセット値がダウンカウンタ制御回路５５によりセットされるレジスタである。
またダウンカウンタ制御回路５５は、後述のモード設定値に基づいて、第１タイマモジュール３１および第２タイマモジュール３２の少なくとも何れか一方のダウンカウンタ４６からの出力信号を入力し、ダウンカウンタ５１に上記プリセット値をセットする処理と、ダウンカウンタ５１のダウンカウント動作を開始する処理とを実行する。
【００４０】
次にダウンカウント出力制御部４５は、比較回路４３の角度コンペアマッチ信号および比較回路５３の時間コンペアマッチ信号の両方が入力すると、パルスオントリガ信号を生成し、生成した信号をダウンカウンタ４６へ出力する。なおパルスオントリガ信号は、ダウンカウンタ４６からの出力信号の出力レベルをアクティブレベル（本実施形態ではハイレベル）に変化させるための信号である。
【００４１】
またダウンカウンタ４６は、ＣＰＵ２１により任意の時間に相当する値（データ）がプリセット可能であり、ダウンカウント出力制御部４５からのパルスオントリガ信号を受けると、噴射パルス信号または点火パルス信号としての出力信号をローからハイに反転させるとともに、マイコン１３における内部クロックに従いプリセット値からのダウンカウント動作を開始し、そのカウント値が０になる（すなわち、プリセット値に相当するタイマ時間が経過する）と、出力信号をハイからローに戻す。
【００４２】
次に、ダウンカウンタ制御回路５５の動作モードについて図３を用い説明する。図３は、ダウンカウンタ制御回路５５の動作を表す一覧表である。なお、図３の一覧表において、「設定値」とは、ＣＰＵ２１によって設定される動作モードの設定値（以下、モード設定値という）である。
【００４３】
図３に示すように、ダウンカウンタ制御回路５５は、ＣＰＵ２１から与えられるモード設定値により、０〜２の何れかの動作モードに設定される。そして、その設定された動作モード毎の規則で、ダウンカウンタ５１にプリセット値をセットする処理（以下、プリセット処理ともいう）と、ダウンカウンタ５１のダウンカウント動作を開始する処理（以下、ダウン開始処理ともいう）とを実行する。
【００４４】
すなわち、「モード設定値＝０」の場合には、第１タイマモジュール３１のダウンカウンタ４６からの出力信号（以下、第１タイマ出力信号という）がローレベルからハイレベルに変化したときにプリセット処理を実行するとともに、第１タイマ出力信号がハイレベルからローレベルに変化したときにダウン開始処理を実行する。なお第１タイマ出力信号は、第１タイマモジュール３１から出力される噴射パルス信号または点火パルス信号である。
【００４５】
また、「モード設定値＝１」の場合には、第２タイマモジュール３２のダウンカウンタ４６からの出力信号（以下、第２タイマ出力信号という）がローレベルからハイレベルに変化したときにプリセット処理を実行するとともに第２タイマ出力信号がハイレベルからローレベルに変化したときにダウン開始処理を実行する。なお第１タイマ出力信号は、第２タイマモジュール３２から出力される噴射パルス信号または点火パルス信号である。
【００４６】
また、「モード設定値＝２」の場合には、第１，２タイマ出力信号の何れかがローレベルからハイレベルに変化したときにプリセット処理を実行するとともに、第１，２タイマ出力信号の何れかがハイレベルからローレベルに変化したときにダウン開始処理を実行する。
【００４７】
次に、上記のタイマモジュール２９を用いて噴射パルス信号または点火パルス信号を出力するためにＣＰＵ２１が実行する処理について、図４のフローチャート用いて説明する。
【００４８】
まず図４（ａ）は、ＥＣＵ１１が起動した直後に１回のみ実行する初期設定処理を示すフローチャートである。
図４（ａ）に示すように、ＣＰＵ２１が初期設定処理の実行を開始すると、まずＳ１０にて、第１タイマモジュール３１のレジスタ５４に、ダウンカウンタ５１の上記プリセット値として時間ＴＬに相当する値をセットする。なお時間ＴＬは、第１タイマ出力信号がローになってから第２タイマ出力信号がハイになるまで、および第２タイマ出力信号がローになってから第１タイマ出力信号がハイになるまでの時間間隔の最小値として規定されている時間である。以下、時間ＴＬを規定時間ＴＬともいう。
【００４９】
そしてＳ２０にて、第１タイマモジュール３１のダウンカウンタ制御回路５５のモード設定値を「１」に設定する。
さらにＳ３０にて、第２タイマモジュール３２のレジスタ５４に、ダウンカウンタ５１の上記プリセット値として時間ＴＬに相当する値をセットする。そしてＳ４０にて、第２タイマモジュール３２のダウンカウンタ制御回路５５のモード設定値を「０」に設定して、初期設定処理を終了する。
【００５０】
またＣＰＵ２１は、図示しない別の制御処理により、各種センサからの信号に基づきエンジン１の運転状態を検出するとともに、その検出結果を用いて、第１タイマ出力信号がローからハイへ変化する角度ａ１（以下、第１パルスオン角度ａ１という）と、第１タイマ出力信号をハイレベルにしている時間Ｔ１（以下、第１パルスオン時間Ｔ１という）と、第２タイマ出力信号がローからハイへ変化する角度ａ２（以下、第２パルスオン角度ａ２という）と、第２タイマ出力信号をハイレベルにしている時間Ｔ２（以下、第２パルスオン時間Ｔ２という）とを算出する。
【００５１】
図４（ｂ）は、第１タイマモジュール３１から第１タイマ出力信号を出力するためにＣＰＵ２１が実行する第１パルス設定処理を示すフローチャートである。なお、この第１パルス設定処理は、クランク角が、第１パルスオン角度ａ１となる前の任意のタイミングで実行される。
【００５２】
そして、ＣＰＵ２１が第１パルス設定処理の実行を開始すると、図４（ｂ）に示すように、まずＳ１１０にて、第１タイマモジュール３１のコンペアマッチレジスタ４２に第１パルスオン角度ａ１に相当する値をセットする。そしてＳ１２０にて、第１タイマモジュール３１のダウンカウンタ４６に、プリセット値として第１パルスオン時間Ｔ１に相当する値をセットし、第１パルス設定処理を終了する。
【００５３】
図４（ｃ）は、第２タイマモジュール３２から第２タイマ出力信号を出力するためにＣＰＵ２１が実行する第２パルス設定処理を示すフローチャートである。なお、この第２パルス設定処理は、クランク角が、第２パルスオン角度ａ２となる前の任意のタイミングで実行される。
【００５４】
そして、ＣＰＵ２１が第２パルス設定処理の実行を開始すると、図４（ｃ）に示すように、まずＳ２１０にて、第２タイマモジュール３２のコンペアマッチレジスタ４２に第２パルスオン角度ａ２に相当する値をセットする。そしてＳ２２０にて、第２タイマモジュール３２のダウンカウンタ４６に、プリセット値として第２パルスオン時間Ｔ２に相当する値をセットし、第２パルス設定処理を終了する。
【００５５】
次に、このように構成されたＥＣＵ１１の動作を図５を用いて説明する。図５は、タイマモジュール３１，３２の動作を示すタイミングチャートである。
まず、図５に示すように、角度カウンタ４１の値が第１パルスオン角度ａ１になって、第１タイマモジュール３１の比較回路４３から角度コンペアマッチ信号が出力されたとき（すなわち、角度コンペアマッチ信号がハイになったとき）に（時刻ｔ１を参照）、ダウンカウント出力制御部４５からのパルスオントリガ信号がハイになって、第１タイマモジュール３１のダウンカウンタ４６からの出力信号（第１タイマ出力信号）がローからハイになる。また、これと同時に、第１タイマモジュール３１のダウンカウンタ４６でダウンカウント動作が開始されるとともに、第２タイマモジュール３２のダウンカウンタ５１のカウント値が規定時間ＴＬに相当する値にセットされ、さらに第２タイマモジュール３２の時間コンペアマッチ信号がハイからローになる。
【００５６】
その後、第１パルスオン時間Ｔ１が経過してダウンカウンタ４６のカウント値が０になると（時刻ｔ２を参照）、第１タイマ出力信号がハイからローに戻るとともに、第２タイマモジュール３２のダウンカウンタ５１でダウンカウント動作が開始される。
【００５７】
もし、第１タイマ出力信号のパルスオフ時刻ｔ２から規定時間ＴＬが経過した時刻ｔ４よりも前に、クランク角が第２タイマ出力開始角度ａ２になった場合には（時刻ｔ３を参照）、第２タイマモジュール３２の比較回路４３から角度コンペアマッチ信号が出力される（すなわち、角度コンペアマッチ信号がハイになる）。
【００５８】
その後、第２タイマモジュール３２において、ダウンカウンタ５１のカウント値が０になって、比較回路５３から時間コンペアマッチ信号が出力されたとき（すなわち、時間コンペアマッチ信号がハイになったとき）に（時刻ｔ４を参照）、ダウンカウント出力制御部４５からのパルスオントリガ信号がハイになって、第２タイマモジュール３２のダウンカウンタ４６からの出力信号（第２タイマ出力信号）がローからハイになる。また、これと同時に、第２タイマモジュール３２のダウンカウンタ４６でダウンカウント動作が開始されるとともに、第１タイマモジュール３１のダウンカウンタ５１のカウント値が規定時間ＴＬに相当する値にセットされ、さらに第１タイマモジュール３１の時間コンペアマッチ信号がハイからローになる。
【００５９】
その後、第２タイマモジュール３２において、時間Ｔ２が経過してダウンカウンタ４６のカウント値が０になると（時刻ｔ５を参照）、第２タイマ出力信号がハイからローに戻るとともに、第１タイマモジュール３１のダウンカウンタ５１でダウンカウント動作が開始される。そして、第２タイマ出力信号のパルスオフ時刻ｔ５から規定時間ＴＬが経過して、第１タイマモジュール３１のダウンカウンタ５１のカウント値が０になると（時刻ｔ６を参照）、第１タイマモジュール３１の比較回路５３から時間コンペアマッチ信号が出力される（すなわち、時間コンペアマッチ信号がハイになる）。
【００６０】
一方、もし、第１タイマ出力信号のパルスオフ時刻ｔ２から規定時間ＴＬが経過した時刻ｔ４よりも後に、クランク角が第２タイマ出力開始角度ａ２になった場合には（不図示）、第２タイマモジュール３２において、角度カウンタ４１の値がコンペアマッチレジスタ４２にセットされた第２タイマ出力開始角度ａ２になるよりも先に、ダウンカウンタ５１のカウント値が０になり、比較回路５３からの時間コンペアマッチ信号がハイになる。
【００６１】
そして、その後、角度カウンタ４１の値が第２タイマ出力開始角度ａ２になって、比較回路４３からの角度コンペアマッチ信号がハイになった時に、ダウンカウント出力制御部４５からのパルスオントリガ信号がハイになって、第２タイマモジュール３２のダウンカウンタ４６からの出力信号（第２タイマ出力信号）がローからハイになる。
【００６２】
このように構成されたＥＣＵ１１では、第１タイマモジュール３１（第２タイマモジュール３２）の角度カウンタ４１が、クランク軸の回転に同期してカウント動作し、さらに、第１タイマモジュール３１（第２タイマモジュール３２）の比較回路４３が、第１タイマモジュール３１（第２タイマモジュール３２）の角度カウンタ４１の値と、第１タイマモジュール３１（第２タイマモジュール３２）の角度カウンタ４１の値と比較される値がセットされるコンペアマッチレジスタ４２の値とを比較し、角度カウンタ４１の値がコンペアマッチレジスタ４２の値に達すると、角度コンペアマッチ信号を出力する。
【００６３】
また、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ５１は、第２タイマ出力信号（第１タイマ出力信号）の出力レベルがハイからローに反転すると、プリセット値からのダウンカウント動作を開始し、さらに、第１タイマモジュール３１（第２タイマモジュール３２）の比較回路５３は、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ５１の値と、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ５１の値と比較される値がセットされるコンペアマッチレジスタ５２とを比較し、ダウンカウンタ５１の値がコンペアマッチレジスタ５２の値に一致すると、時間コンペアマッチ信号を出力する。
【００６４】
そして、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ４６は、第１タイマモジュール３１（第２タイマモジュール３２）の比較回路４３から角度コンペアマッチ信号が出力され、且つ、第１タイマモジュール３１（第２タイマモジュール３２）の比較回路５３から時間コンペアマッチ信号が出力されると、第１タイマ出力信号（第２タイマ出力信号）の出力レベルを、ローからハイに反転させ、その後、予め設定された第１パルスオン時間Ｔ１（第２パルスオン時間Ｔ２）が経過すると、第１タイマ出力信号（第２タイマ出力信号）の出力レベルをハイからローに反転させる。
【００６５】
すなわち、第２タイマ出力信号（第１タイマ出力信号）の出力レベルがハイからローに反転してから、ダウンカウンタ５１のプリセット値とコンペアマッチレジスタ５２の値との差に相当する時間が経過するまでは、その前に角度カウンタ４１の値がコンペアマッチレジスタ４２の値に達したとしても、第１タイマ出力信号（第２タイマ出力信号）の出力レベルがローからハイに反転しない。
【００６６】
このため、クランク軸の回転角度が第１タイマ出力信号（第２タイマ出力信号）の出力レベルをローから反転させるべき目的の出力反転角度になっても、特定の基準タイミングから規定時間が経過するまでは第１タイマ出力信号（第２タイマ出力信号）を反転させない、という時間制限機能を実現したい場合には、その出力反転角度の値をコンペアマッチレジスタ４２にセットするとともに、コンペアマッチレジスタ５２の値との差が規定時間に相当する値をプリセット値としてダウンカウンタ５１にセットするだけでよい。
【００６７】
すなわち、このように構成されたＥＣＵ１１によれば、特定の基準タイミングから規定時間が経過した時点での時刻を算出するというソフトウェア処理が不要になるため、上記の時間制限機能を実現するために必要なソフトウェア処理負荷を低減することができる。
【００６８】
以上説明した実施形態において、タイマモジュール２９は本発明における信号出力装置、角度カウンタ４１は本発明における角度カウンタ、コンペアマッチレジスタ４２は本発明における角度レジスタ、比較回路４３は本発明における角度比較回路、ダウンカウンタ５１およびダウンカウンタ制御回路５５は本発明における時間ダウンカウンタ、コンペアマッチレジスタ５２は本発明における時間レジスタ、比較回路５３は本発明における時間比較回路、ダウンカウント出力制御部４５およびダウンカウンタ４６は本発明における信号出力制御手段、タイマモジュール３１は本発明における第１信号出力手段、タイマモジュール３２は本発明における第２信号出力手段、Ｓ１０，Ｓ３０，Ｓ１１０，Ｓ２１０の処理は本発明における値設定処理手段である。
【００６９】
また、角度コンペアマッチ信号は本発明における角度一致信号、時間コンペアマッチ信号は本発明における時間一致信号、ローレベルは本発明における特定レベル、ハイレベルは本発明における特定反対レベル、第１パルスオン時間Ｔ１および第２パルスオン時間Ｔ２は本発明における信号出力時間である。
【００７０】
（第２実施形態）
以下に本発明の第２実施形態について図面とともに説明する。なお、第２実施形態では、第１実施形態と異なる部分のみを説明する。
【００７１】
第２実施形態のＥＣＵ１１は、タイマモジュール２９の構成と初期設定処理が変更された点以外は第１実施形態と同じである。
図６は、第２実施形態のタイマモジュール２９の構成を示すブロック図である。図７は、時間コンペアマッチ信号選択部４８の動作を表す一覧表である。
【００７２】
図６に示すように、第２実施形態のタイマモジュール２９は、時間コンペアマッチ信号選択部４８が追加された点と、第１タイマモジュール３１のダウンカウンタ制御回路５５には第１，２タイマ出力信号のうち第１タイマ出力信号のみが入力される点と、第２タイマモジュール３２のダウンカウンタ制御回路５５には第１，２タイマ出力信号のうち第２タイマ出力信号のみが入力される点と、ダウンカウンタ制御回路５５の動作が変更された点以外は第１実施形態と同じである。
【００７３】
まず時間コンペアマッチ信号選択部４８は、第１タイマモジュール３１の比較回路５３から出力される時間コンペアマッチ信号（以下、第１時間コンペアマッチ信号という）と、第２タイマモジュール３２の比較回路５３から出力される時間コンペアマッチ信号（以下、第２時間コンペアマッチ信号という）とを入力し、後述の初期設定処理で設定されるモード設定値に基づいて、第１，２時間コンペアマッチ信号の何れかを選択する処理を実行する。
【００７４】
具体的には、時間コンペアマッチ信号選択部４８は、「モード設定値＝０」の場合に、入力した第１，２時間コンペアマッチ信号のうち第１時間コンペアマッチ信号のみを出力し、「モード設定値＝１」の場合に、入力した第１，２時間コンペアマッチ信号のうち第２時間コンペアマッチ信号のみを出力する（図７を参照）。
【００７５】
またダウンカウンタ制御回路５５は、入力するタイマ出力信号（第１，２タイマ出力信号の何れか）がローレベルからハイレベルに変化したときにプリセット処理を実行するとともに、入力するタイマ出力信号がハイレベルからローレベルに変化したときにダウン開始処理を実行する。
【００７６】
図８は、第２実施形態の初期設定処理を示すフローチャートである。
図８に示すように、ＣＰＵ２１が初期設定処理の実行を開始すると、まずＳ１０にて、第１タイマモジュール３１のレジスタ５４に、ダウンカウンタ５１の上記プリセット値として時間ＴＬに相当する値をセットする。そしてＳ２５にて、第１タイマモジュール３１の時間コンペアマッチ信号選択部４８のモード設定値を「１」に設定する。
【００７７】
さらにＳ３０にて、第２タイマモジュール３２のレジスタ５４に、ダウンカウンタ５１の上記プリセット値として時間ＴＬに相当する値をセットする。そしてＳ４５にて、第２タイマモジュール３２の時間コンペアマッチ信号選択部４８のモード設定値を「０」に設定して、初期設定処理を終了する。
【００７８】
次に、このように構成されたＥＣＵ１１の動作を図９を用いて説明する。図９は、第２実施形態のタイマモジュール３１，３２の動作を示すタイミングチャートである。
まず、図９に示すように、角度カウンタ４１の値が第１パルスオン角度ａ１になって、第１タイマモジュール３１の比較回路４３から角度コンペアマッチ信号が出力されたとき（すなわち、角度コンペアマッチ信号がハイになったとき）に（時刻ｔ１を参照）、ダウンカウント出力制御部４５からのパルスオントリガ信号がハイになって、第１タイマモジュール３１のダウンカウンタ４６からの出力信号（第１タイマ出力信号）がローからハイになる。また、これと同時に、第１タイマモジュール３１のダウンカウンタ４６でダウンカウント動作が開始されるとともに、第１タイマモジュール３１のダウンカウンタ５１のカウント値が規定時間ＴＬに相当する値にセットされ、さらに第１タイマモジュール３１の角度コンペアマッチ信号がハイからローになる。
【００７９】
その後、第１パルスオン時間Ｔ１が経過してダウンカウンタ４６のカウント値が０になると（時刻ｔ２を参照）、第１タイマ出力信号がハイからローに戻るとともに、第１タイマモジュール３１のダウンカウンタ５１でダウンカウント動作が開始される。
【００８０】
もし、第１タイマ出力信号のパルスオフ時刻ｔ２から規定時間ＴＬが経過した時刻ｔ４よりも前に、クランク角が第２タイマ出力開始角度ａ２になった場合には（時刻ｔ３を参照）、第２タイマモジュール３２の比較回路４３から角度コンペアマッチ信号が出力される（すなわち、角度コンペアマッチ信号がハイになる）。
【００８１】
その後、第１タイマモジュール３１において、ダウンカウンタ５１のカウント値が０になって、比較回路５３から時間コンペアマッチ信号が出力されたとき（すなわち、時間コンペアマッチ信号がハイになったとき）に（時刻ｔ４を参照）、第２タイマモジュール３２のダウンカウント出力制御部４５からのパルスオントリガ信号がハイになって、第２タイマモジュール３２のダウンカウンタ４６からの出力信号（第２タイマ出力信号）がローからハイになる。また、これと同時に、第２タイマモジュール３２のダウンカウンタ４６でダウンカウント動作が開始されるとともに、第２タイマモジュール３２のダウンカウンタ５１のカウント値が規定時間ＴＬに相当する値にセットされ、さらに第２タイマモジュール３２の角度コンペアマッチ信号がハイからローになる。
【００８２】
その後、第２タイマモジュール３２において、時間Ｔ２が経過してダウンカウンタ４６のカウント値が０になると（時刻ｔ５を参照）、第２タイマ出力信号がハイからローに戻るとともに、第２タイマモジュール３２のダウンカウンタ５１でダウンカウント動作が開始される。そして、第２タイマ出力信号のパルスオフ時刻ｔ５から規定時間ＴＬが経過して、第２タイマモジュール３２のダウンカウンタ５１のカウント値が０になると（時刻ｔ６を参照）、第２タイマモジュール３２の比較回路５３から時間コンペアマッチ信号が出力される（すなわち、時間コンペアマッチ信号がハイになる）。
【００８３】
一方、もし、第１タイマ出力信号のパルスオフ時刻ｔ２から規定時間ＴＬが経過した時刻ｔ４よりも後に、クランク角が第２タイマ出力開始角度ａ２になった場合には（不図示）、第２タイマモジュール３２の角度カウンタ４１の値がコンペアマッチレジスタ４２にセットされた第２タイマ出力開始角度ａ２になるよりも先に、第１タイマモジュール３１のダウンカウンタ５１のカウント値が０になり、第１タイマモジュール３１の比較回路５３からの時間コンペアマッチ信号がハイになる。
【００８４】
そして、その後、角度カウンタ４１の値が第２タイマ出力開始角度ａ２になって、第２タイマモジュール３２の比較回路４３からの角度コンペアマッチ信号がハイになった時に、第２タイマモジュール３２のダウンカウント出力制御部４５からのパルスオントリガ信号がハイになって、第２タイマモジュール３２のダウンカウンタ４６からの出力信号（第２タイマ出力信号）がローからハイになる。
【００８５】
このように構成されたＥＣＵ１１では、第１タイマモジュール３１（第２タイマモジュール３２）の角度カウンタ４１が、クランク軸の回転に同期してカウント動作し、さらに、第１タイマモジュール３１（第２タイマモジュール３２）の比較回路４３が、第１タイマモジュール３１（第２タイマモジュール３２）の角度カウンタ４１の値と、第１タイマモジュール３１（第２タイマモジュール３２）の角度カウンタ４１の値と比較される値がセットされるコンペアマッチレジスタ４２の値とを比較し、角度カウンタ４１の値がコンペアマッチレジスタ４２の値に達すると、角度コンペアマッチ信号を出力する。
【００８６】
また、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ５１は、第１タイマ出力信号（第２タイマ出力信号）の出力レベルがハイからローに反転すると、プリセット値からのダウンカウント動作を開始し、さらに、第１タイマモジュール３１（第２タイマモジュール３２）の比較回路５３は、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ５１の値と、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ５１の値と比較される値がセットされるコンペアマッチレジスタ５２とを比較し、ダウンカウンタ５１の値がコンペアマッチレジスタ５２の値に一致すると、時間コンペアマッチ信号を出力する。
【００８７】
そして、第１タイマモジュール３１（第２タイマモジュール３２）のダウンカウンタ４６は、第１タイマモジュール３１（第２タイマモジュール３２）の比較回路４３から角度コンペアマッチ信号が出力され、且つ、第２タイマモジュール３２（第１タイマモジュール３１）の比較回路５３から時間コンペアマッチ信号が出力されると、第１タイマ出力信号（第２タイマ出力信号）の出力レベルを、ローからハイに反転させ、その後、予め設定された第１パルスオン時間Ｔ１（第２パルスオン時間Ｔ２）が経過すると、第１タイマ出力信号（第２タイマ出力信号）の出力レベルをハイからローに反転させる。
【００８８】
すなわち、第２タイマ出力信号（第１タイマ出力信号）の出力レベルがハイからローに反転してから、ダウンカウンタ５１のプリセット値とコンペアマッチレジスタ５２の値との差に相当する時間が経過するまでは、その前に角度カウンタ４１の値がコンペアマッチレジスタ４２の値に達したとしても、第１タイマ出力信号（第２タイマ出力信号）の出力レベルがローからハイに反転しない。
【００８９】
このため、クランク軸の回転角度が第１タイマ出力信号（第２タイマ出力信号）の出力レベルをローから反転させるべき目的の出力反転角度になっても、特定の基準タイミングから規定時間が経過するまでは第１タイマ出力信号（第２タイマ出力信号）を反転させない、という時間制限機能を実現したい場合には、その出力反転角度の値をコンペアマッチレジスタ４２にセットするとともに、コンペアマッチレジスタ５２の値との差が規定時間に相当する値をプリセット値としてダウンカウンタ５１にセットするだけでよい。
【００９０】
すなわち、このように構成されたＥＣＵ１１によれば、特定の基準タイミングから規定時間が経過した時点での時刻を算出するというソフトウェア処理が不要になるため、上記の時間制限機能を実現するために必要なソフトウェア処理負荷を低減することができる。
【００９１】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態においては、タイマモジュール２９が第１タイマモジュール３１と第２タイマモジュール３２の２つのタイマモジュールを備えるものを示したが、本発明は、３つ以上のタイマモジュールを備えている場合でも適用可能である。
【００９２】
また、回転体はエンジンのクランク軸以外でもよい。
また、第１，２タイマ出力信号がローからハイに反転したタイミングをＥＣＵ１１が記憶するようにしてもよい。これにより、上記の時間制限のためにクランク軸の回転角度が出力反転角度になっても第１，２タイマ出力信号がローからハイに反転しなかった場合において実際に第１，２タイマ出力信号がローからハイに反転したタイミングを後で確認することができ、故障解析に用いることができる。
【符号の説明】
【００９３】
１…エンジン、２…インジェクタ、３…イグナイタ、４…電子スロットル、５…クランクセンサ、６…水温センサ、７…スロットルセンサ、１１…ＥＣＵ、１３…マイコン、１５…外部入出力回路、２１…ＣＰＵ、２３…ＲＯＭ、２５…ＲＡＭ、２７…入出力ポート、２９…タイマモジュール、３１…第１タイマモジュール、３２…第２タイマモジュール、４１…角度カウンタ、４２…コンペアマッチレジスタ、４３…比較回路、４４…ダウンカウント開始制御部、４５…ダウンカウント出力制御部、４６…ダウンカウンタ、４８…時間コンペアマッチ信号選択部、５１…ダウンカウンタ、５２…コンペアマッチレジスタ、５３…比較回路、５４…レジスタ、５５…ダウンカウンタ制御回路
【図１】
0005794012.tif 000002
【図２】
0005794012.tif 000003
【図３】
0005794012.tif 000004
【図４】
0005794012.tif 000005
【図５】
0005794012.tif 000006
【図６】
0005794012.tif 000007
【図７】
0005794012.tif 000008
【図８】
0005794012.tif 000009
【図９】
0005794012.tif 000010