(57)【要約】【課題】処理又は駆動対象を起動するマイクロコンピュータにおいて、起動タイミングのずれをより小さくする。【解決手段】一定時間毎にカウントアップするタイマ２のカウント値が、レジスタ４の要求時刻に一致すると、第１比較回路６から第１トリガが出力回路８に出力されて、出力回路８から起動信号（ポート出力、割り込み）が出力される。一方、レジスタ４に要求時刻を記憶させた記憶時時刻に、既にタイマ２のカウント値が要求時刻を過ぎていた場合でも、記憶時時刻からみてレジスタ１２に記憶された時間だけ前の時刻である許容時刻より、要求時刻が後の時刻であれば、記憶時時刻で、第２比較回路１４から第２トリガが出力回路８に出力されて起動信号が出力される。要求時刻が記憶時時刻より後である限り、要求時刻通りに起動信号が出力され、要求時刻が記憶時時刻より前であっても、要求時刻と起動時刻とのずれは最小限となる。【選択図】図１
2008280863.tif 000002
【特許請求の範囲】
【請求項１】
契機信号が入力されると、処理又は駆動対象を起動するための起動信号を出力する起動信号出力回路と、
一定時間毎にカウント動作するカウンタと、
情報を記憶するためのメモリと、
前記カウンタのカウント値と前記メモリに記憶された情報とを比較して、前記カウント値が、前記メモリに記憶された情報の表す値に一致したときに、前記契機信号を前記起動信号出力回路に出力する第１の契機信号出力回路と、
前記メモリに情報が記憶されたときに、そのときの前記カウンタのカウント値（以下、記憶時カウント値と言う）と前記メモリに記憶された情報とを取得すると共に、そのメモリに記憶された情報の表す値が前記記憶時カウント値よりも前の時刻を表すと判断したならば、前記メモリの値が、前記記憶時カウント値からみて所定時間だけ前である時刻（以下、許容時刻と言う）よりも後の時刻を表すか否かを判定する回り込み判定を実行し、該回り込み判定で前記メモリの値が前記許容時刻よりも後の時刻を表すと肯定判定した場合は、その肯定判定したタイミングで、前記契機信号と同じ信号を前記起動信号出力回路に出力する第２の契機信号出力回路と
を備えていることを特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記所定時間の情報が書き換え自在に記憶されるように構成されていることを特徴とするマイクロコンピュータ。
【請求項３】
請求項１又は請求項２に記載のマイクロコンピュータにおいて、
前記メモリに記憶された情報の表す値と前記記憶時カウント値との差分を検出して記憶する差分記憶回路を備え、
前記メモリに今回記憶された情報の表す値が前記記憶時カウント値と前記許容時刻との間の時刻を表す場合に、前記差分記憶回路に記憶された差分に応じた値で、前記メモリに次回記憶される情報が補正されるように構成されていることを特徴とするマイクロコンピュータ。
【請求項４】
請求項３に記載のマイクロコンピュータにおいて、
前記メモリは複数備えられていると共に、その複数のメモリが順番に使用されるようになっており、
前記差分記憶回路は、前記複数のメモリのうち、最初に情報が記憶されたメモリ（以下、第１メモリと言う）の情報が表す値と前記記憶時カウント値との差分を検出して記憶し、
前記第１メモリに記憶された情報の表す値が前記記憶時カウント値と前記許容時刻との間の時刻を表す場合に、前記差分記憶回路に記憶された差分に応じた値で、前記複数のメモリの情報がそれぞれ補正されるようになっていることを特徴とするマイクロコンピュータ。
【請求項５】
請求項３又は請求項４に記載のマイクロコンピュータにおいて、
前記第２の契機信号出力回路は、前記回り込み判定で否定判定すると、否定判定した旨を表す不成立信号を前記差分記憶回路に出力するようになっており、
前記差分記憶回路に前記不成立信号が入力されると、その差分記憶回路に記憶された差分が消去されるように構成されていることを特徴とするマイクロコンピュータ。
【請求項６】
請求項１ないし請求項５の何れか１項に記載のマイクロコンピュータにおいて、
当該マイクロコンピュータは、車両のエンジン系を制御する電子制御装置に備えられ、
前記起動信号は、前記エンジンへの燃料噴射を実行させるための信号であることを特徴とするマイクロコンピュータ。
【請求項７】
請求項１ないし請求項５の何れか１項に記載のマイクロコンピュータにおいて、
当該マイクロコンピュータは、車両のエンジン系を制御する電子制御装置に備えられ、
前記起動信号は、前記エンジンにおける点火を実行させるための信号であることを特徴とするマイクロコンピュータ。
【請求項８】
請求項１ないし請求項７の何れか１項に記載のマイクロコンピュータにおいて、
当該マイクロコンピュータは、車両の排気系を制御する電子制御装置に備えられると共に、前記車両の排気経路には、燃料をその排気経路に添加するために開閉する排気経路弁が設けられており、
前記起動信号は、前記排気経路弁を開閉するための信号であることを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理の実行タイミングを制御するマイクロコンピュータに関する。
【背景技術】
【０００２】
従来より、例えば車両を制御する電子制御装置（以下、ＥＣＵと記載する）のマイクロコンピュータ（以下、マイコンと記載する）としては、予め設定した所望のタイミングで、例えば所定の処理や駆動対象を起動するための起動信号を出力する機能を備えたものが知られている。図９に、その機能を実現するための回路の従来例を示す。
【０００３】
図９の回路１はマイコンが有するものであり、一定時間毎にカウント動作（例えばカウントアップ）するジェネラルタイマ２と、タイミング（時刻）を表す情報を記憶するためのコンペアレジスタ４と、ジェネラルタイマ２のカウント値とコンペアレジスタ４に記憶された情報とを比較して、両者が同じになるとトリガ信号を出力する比較回路６と、比較回路６からのトリガ信号が入力される出力回路８とを備えている。尚、ジェネラルタイマ２は、０から所定の上限値の間で、カウント動作を繰り返す。
【０００４】
出力回路８は、マイコンが備えるポートに信号を出力しており、比較回路６からトリガ信号が入力されると、そのポートへの信号のレベルを変化させる。ポートへの信号は、外部の駆動対象を起動するためにそのポートを介して駆動対象に出力される。また、出力回路８は、比較回路６からトリガ信号が入力されると、割り込みを発生させる。割り込みは、マイコンにおいて所定の処理（プログラム）を起動するためのものである。
【０００５】
そして、図９において、ポート出力（ポートへの信号）及び割り込みが起動信号に相当する。
ところで、図９のような例では、以下の懸念がある。
【０００６】
具体的に、ジェネラルタイマ２が示す現在時刻を読み込んだ後コンペアレジスタ４に所望の値を記憶させるのに多少なりとも時間を要するため、コンペアレジスタ４に所望の値を記憶させたときに、意図に反してすでにジェネラルタイマ２のカウント値がその所望の値よりも進んでしまっていることが起こり得る。この場合、ジェネラルタイマ２のカウント値が、次にその所望の値になったときに処理が実行されることとなる。つまり、処理の実行タイミングが、所望の時刻よりも、ジェネラルタイマ２の約一回り分だけ遅れてしまう。
【０００７】
そこで、図９の例では、マイコンのＣＰＵは、図１０のフローチャートに示す処理を実行する。図１０の処理は、例えば車両のエンジンのクランク軸が所定角度（例えば１０°ＣＡ：ＣＡとはクランクアングルを意味する）回転する毎に実行される処理である。
【０００８】
最初に、他の処理の割り込みを禁止し（Ｓ２１０）、次に、ジェネラルタイマ２のカウント値、言い換えると現在時刻をそのジェネラルタイマ２から読み込む（Ｓ２２０）。続いて、例えば割り込みを発生させたい所望の時刻（以下、要求時刻と記載する）を、Ｓ２２０で読み込んだ時刻（以下、読込時時刻と記載する）を考慮して算出すると共に、その読込時時刻に所定の保証時間を加算する（Ｓ２３０）。尚、考慮して算出するとは、具体的には、例えば要求時刻が読込時時刻から××ｍｓｅｃ後となるようにする、ということである。
【０００９】
そして、前述した懸念を回避するために保証時間なるものを用いて次の処理を行う。具体的に、要求時刻が、読込時時刻と、その読込時時刻に保証時間分を加えた時刻（以下、保証加算時刻と記載する）との間であるか否かを判定し（Ｓ２４０）、間であると判定すると（Ｓ２４０：ＹＥＳ）、即時に出力処理（具体的に、ポートへの出力信号のレベルを変化させる）を行うと共に（Ｓ２５０）、イベントを発行する（Ｓ２６０）。尚、このイベントの発行は、割り込みの発生に代わるものである。Ｓ２４０：ＹＥＳ→Ｓ２５０の場合は、図９においてトリガが発生せず、このため割り込みが発生しないようになっており、代わりにソフト処理でイベントを発行するようにしている。
【００１０】
そしてその後、他の処理の割り込みを許可して（Ｓ２７０）、当該処理を終了する。
一方、Ｓ２４０で、要求時刻が、保証加算時刻より後の時刻であると判定すると（Ｓ２４０：ＮＯ）、Ｓ２８０に移行し、コンペアレジスタ４に要求時刻を記憶する。この場合、図９の回路１の機能により、要求時刻通りに、トリガが発生すると共に起動信号が出力されることとなる。具体的に、図９において、ジェネラルタイマ２のカウント値がコンペアレジスタ４に記憶された要求時刻に一致すると、ポートへの信号のレベルが変化したり割り込みが発生したりする。
【００１１】
図１１，図１２を用いてさらに説明する。
図１１において、１段目はジェネラルタイマ２のカウント値を表しており、カウント値は一定時間毎に増加していく。
【００１２】
２段目はコンペアレジスタ４に記憶される値の変化を表している。時刻ＴＫ１，ＴＫ２は、Ｓ２８０でコンペアレジスタ４に要求情報を記憶させたときの時刻（以下、記憶時時刻と記載する）である。
【００１３】
３段目では、上向きの矢印で、割り込みの発生を表している。
４段目は、マイコン内部において、そのマイコンのポートに入力される信号を表す。尚、４段目に示す信号と同じ信号が、マイコンのポートを介して、マイコン外部の駆動対象に出力される。
【００１４】
設定１の部分では、要求時刻ＴＲ１が読込時時刻ＴＱ１と保証加算時刻ＴＦ１との間であり、この場合、ＣＰＵの処理により、記憶時時刻ＴＫ１において即時に、ポートの出力信号のレベルが変化する（Ｓ２５０）。また、イベントが発行される（Ｓ２６０）。この場合、要求時刻ＴＲ１に対し、実際の実行時刻（所定の処理の実行時刻）は記憶時時刻ＴＫ１となり、両者の間にはずれＸが生じる。
【００１５】
一方、設定２の部分のように、要求時刻ＴＲ２が保証加算時刻ＴＦ２よりも後の時刻である場合は、図９の回路１の機能により、その要求時刻ＴＲ２で、ポートの出力信号のレベルが変化すると共に、割り込みが発生する。つまり、実際の実行時刻（所定の処理の実行時刻）は要求時刻ＴＲ２となる。
【００１６】
図１２は、図１１と同じ内容を図示の仕方を変えて表したものであり、特に、車両のエンジンの点火制御の例を表すものである。
図１２において、例えば１０°ＣＡ毎に図９の処理が実行される。尚、例えばエンジンの回転数が６０００ｒｐｍの場合、エンジンのクランク軸は約２７７μｓで１０°回転し、約８３３μｓで３０°回転する。
【００１７】
そして、図１１でも説明したが、図１２の設定１の囲みのように、要求時刻をコンペアレジスタ４に記憶させたとき（●で示している）に、その要求時刻が読込時時刻と保証加算時刻との間（斜線領域内）である場合には、即時に点火がなされる（設定１の囲み内で、★で示している）。この場合、要求時刻と実際の点火タイミングとがずれることとなる。
【００１８】
一方、設定２の囲みのように、要求時刻をコンペアレジスタ４に記憶させたときに、その要求時刻が保証加算時刻よりも後の時刻である場合には、その要求時刻が点火タイミングとなる。
【００１９】
ここで、上記のような例の他、要求時刻が読込時時刻と保証加算時刻との間である場合に、その要求時刻を、保証加算時刻よりも後の時刻となるように修正する技術も考えられている（例えば特許文献１参照）。
【特許文献１】特開平８−３０５４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
何れにせよ、図９〜図１２で説明した例や特許文献１に記載の技術によれば、要求時刻が読込時時刻から保証加算時刻の間の時刻である場合は、要求時刻通りに処理が実行されなくなってしまう。つまり、処理の実行タイミングが、所望の時刻からずれてしまうこととなる。
【００２１】
特に、点火制御や燃料噴射制御のように、エンジンのクランク軸の回転角度を基準として実行タイミングを制御するような制御システムでは、エンジンの回転数が高回転になるほど精密な制御が要求され、処理の実行タイミングのずれは大きな問題となる。例えば、点火タイミングや燃料噴射タイミングがずれてしまってエンジンの効率が低下してしまうという問題が顕著に現れる。具体的に、出力低下を招いたり、燃費が悪化したり、排気物質量の増大を招いたりするおそれがある。
【００２２】
本発明は、こうした問題に鑑みなされたもので、処理又は駆動対象を起動するマイクロコンピュータにおいて、起動タイミングのずれをより小さくすることを目的とする。
【課題を解決するための手段】
【００２３】
上記目的を達成するためになされた請求項１に記載の発明は、契機信号が入力されると、処理又は駆動対象を起動するための起動信号を出力する起動信号出力回路と、一定時間毎にカウント動作するカウンタと、情報を記憶するためのメモリと、カウンタのカウント値とメモリに記憶された情報とを比較して、カウント値が、メモリに記憶された情報の表す値に一致したときに、契機信号を起動信号出力回路に出力する第１の契機信号出力回路とを備えたマイクロコンピュータである。
【００２４】
さらに、メモリに情報が記憶されたときに、そのときのカウンタのカウント値（以下、記憶時カウント値と言う）とメモリに記憶された情報とを取得すると共に、そのメモリに記憶された情報の表す値が記憶時カウント値よりも前の時刻を表すと判断したならば、メモリの値が、記憶時カウント値からみて所定時間だけ前である時刻（以下、許容時刻と言う）よりも後の時刻を表すか否かを判定する回り込み判定を実行し、該回り込み判定でメモリの値が許容時刻よりも後の時刻を表すと肯定判定した場合は、その肯定判定したタイミングで、契機信号と同じ信号を起動信号出力回路に出力する第２の契機信号出力回路を備えている。
【００２５】
ここで、処理を起動する起動信号としては、例えば割り込み信号がある。具体的に、割り込み信号とは、マイクロコンピュータ（以下、マイコンとも記載する）内部において発生し、処理（プログラム）を起動するための信号である。また、駆動対象を起動する起動信号としては、マイコン内部において、そのマイコンのポートに入力される信号であって、そのポートを介して外部の装置（駆動対象）に出力されてその外部の装置を起動する（外部の装置に所定の処理を実行させる）ための信号（以下、ポート出力信号と記載する）がある。起動信号としては、割り込み信号及びポート出力信号の何れか一方でも良いし、両方でも良い。
【００２６】
この起動信号の出力タイミングを制御する請求項１のマイクロコンピュータでは、メモリに記憶された値の表す時刻（以下、要求時刻と記載する）が記憶時カウント値の表す時刻（以下、記憶時時刻と記載する）よりも後の時刻を表す限り、その要求時刻通りに、起動信号が出力される。
【００２７】
ところで、要求時刻の記憶時に、意図に反して、要求時刻がすでに記憶時時刻よりも前の時刻となってしまっている（カウンタが要求時刻よりも進んでいる）ことも懸念される。例えば、メモリに値を記憶させる処理が予定より遅れてしまったような場合である。
【００２８】
この点、本請求項１のマイコンによれば、要求時刻が記憶時時刻よりも前の時刻であっても、その要求時刻が、記憶時時刻から所定時間だけ前である許容時刻よりも後の時刻と判定した場合は、その判定タイミングで、起動信号が出力されるようになる。
【００２９】
そうすると、本請求項１のマイコンでは、要求時刻が記憶時時刻よりも後の時刻である場合には、必ずその要求時刻通りに起動信号が出力されるようになり、要求時刻が記憶時時刻と許容時刻との間の時刻である場合には、記憶時時刻において即時に起動信号が出力される。後者の場合、実際の起動時刻と要求時刻との間にはずれが生じるものの、そのずれは、カウンタの約一回り分だけ起動信号の出力が遅れてしまう場合と比較すれば、最小限のずれと言える。
【００３０】
そして、請求項１のマイコンでは、処理又は駆動対象を起動するための起動信号がハード構成により出力されるためソフト処理でイベントを発行する必要がなく、このためプログラムを簡単にすることができると共に、プログラムの流用が容易となる。
【００３１】
ところで、マイコンの性能により、許容時刻を決定するための所定時間を異ならせるようにすることが好ましい。処理能力の違いにより、例えばメモリに情報を記憶させるのに要する時間が異なるためである。
【００３２】
そこで、請求項２のマイコンでは、請求項１のマイコンにおいて、所定時間の情報を書き換え可能に記憶する許容情報メモリを備えていることを特徴としている。
これによれば、所定時間を、マイコンの性能に合わせて所望の時間とすることができるため、汎用性が広がる。
【００３３】
次に、請求項３のマイコンは、請求項１，２のマイコンにおいて、メモリに記憶された情報の表す値と記憶時カウント値との差分を検出して記憶する差分記憶回路を備え、メモリに今回記憶された情報の表す値が記憶時カウント値よりも前の時刻を表す場合に、差分記憶回路に記憶された差分に応じた値で、メモリに次回記憶される情報が補正されるように構成されていることを特徴としている。
【００３４】
この請求項３の装置によれば、例えば、契機信号が起動信号出力回路に入力される毎に、その起動信号出力回路がポート出力信号のレベルを切り換えるようになっており、さらに、そのポート出力信号のレベルがハイである期間、或いはローである期間を正確に制御したい、というような場合に有効である。より具体的に、例えばポート出力信号のレベルがハイである間、燃料噴射弁が開いて燃料が噴射されるようになっている、というような場面において有効である。
【００３５】
例えば契機信号が起動信号出力回路に入力されると、ポート出力信号のレベルがハイになり、次に契機信号が起動信号出力回路に入力されると、ポート出力信号のレベルがローになる、という例を考える。
【００３６】
ポート出力信号のレベルをハイにするための要求時刻（以下、ハイ要求時刻と記載する）が記憶時時刻と許容時刻との間の時刻なら、記憶時時刻で、契機信号が起動信号出力回路に入力されることとなる。この場合、ポート出力信号のレベルがハイになる時刻は、要求時刻からみて遅れている。このため、ポート出力信号のレベルがローになる時刻が、ポート出力信号のレベルをローにするための要求時刻（以下、ロー要求時刻と記載する）通りであったとしても、ポート出力信号のレベルがハイである期間は、そのポート出力信号のレベルがハイになる時刻が遅れた分だけ短くなる。
【００３７】
この点、請求項３の装置によれば、ハイになる時刻が遅れた場合には、その遅れた分に応じてロー要求時刻が補正されるようにすることができる。具体的に、ハイになる時刻が遅れた分だけ、ロー要求時刻も遅れるようにすると良い。これによれば、ポート出力信号のレベルが例えばハイとなる期間を正確に制御できるようになる。
【００３８】
次に、請求項３のマイコンでは、請求項４のように構成することもできる。
請求項４のマイコンでは、メモリは複数備えられていると共に、その複数のメモリが順番に使用されるようになっている。
【００３９】
一例を挙げると、メモリを２つ備え、一方のメモリにはハイ要求時刻が記憶され、他方のメモリにはロー要求時刻が記憶される例が考えられる。
そして、差分記憶回路は、複数のメモリのうち、最初に情報が記憶されたメモリ（以下、第１メモリと言う）の情報の表す値と記憶時カウント値との差分を検出して記憶する。さらに、第１メモリに記憶された情報の表す値が記憶時カウント値よりも前の時刻を表す場合に、差分記憶回路に記憶された差分に応じた値で、複数のメモリの情報がそれぞれ補正されるようになっていることを特徴としている。
【００４０】
これによれば、例えばメモリを２つ備えているような前述の例において、ハイ要求時刻が第１メモリに記憶されると共に、ポート出力信号がハイになる時刻が遅れた場合に、その遅れた分に応じて他のメモリのロー要求時刻が補正されるようにすることができる。よって、ポート出力信号のレベルがハイとなる期間（或いはローとなる期間）を正確に制御できるという請求項３と同じ効果を得ることができる。
【００４１】
ところで、要求時刻が記憶時時刻よりも後の時刻であっても、両者には差分が生じることとなるが、この場合、次に記憶された要求時刻をその差分に応じて補正する必要がない。
【００４２】
そこで、請求項５のマイコンでは、請求項３，４のマイコンにおいて、第２の契機信号出力回路は、回り込み判定で否定判定すると、否定判定した旨を表す不成立信号を差分記憶回路に出力するようになっている。そして、差分記憶回路に不成立信号が入力されると、その差分記憶回路に記憶された差分が消去されるように構成されている。
【００４３】
これによれば、要求時刻が記憶時時刻よりも後の時刻である場合、つまり、起動信号が要求時刻通りに出力されるようになる場合には、差分記憶回路に記憶された差分（要求時刻と記憶時時刻との差分）が消去されるため、次にメモリに情報が記憶されたときに、その情報が不要に補正されてしまうことを防止することができる。しかも、ハード構成により実現できるため、ソフト処理が不要となってマイコンの負荷を抑えることができる。
【００４４】
次に、本発明のマイコンは、具体的に、請求項６〜８のように用いることができる。
まず、請求項６では、請求項１〜５のマイコンが、車両のエンジン系を制御する電子制御装置に備えられ、起動信号は、エンジンへの燃料噴射を実行させるための信号であることを特徴としている。つまり、燃料噴射を制御するマイコンとして、請求項１〜５のマイコンを用いることができる。尚この場合、より具体的には、起動信号は、例えばエンジンへ燃料を噴射するインジェクタを起動（駆動）する信号である。また、起動（駆動）とは、インジェクタの開弁及び閉弁の両方又は一方のことを指す趣旨である。
【００４５】
次に、請求項７では、請求項１〜５のマイコンが、車両のエンジン系を制御する電子制御装置に備えられ、起動信号は、エンジンにおける点火を実行させるための信号であることを特徴としている。つまり、点火制御を行うマイコンとして、請求項１〜５のマイコンを用いることができる。尚この場合、より具体的には、起動信号は、点火を行う点火装置を起動する信号である。
【００４６】
次に、請求項８では、請求項１〜７のマイコンが、車両の排気系を制御する電子制御装置に備えられると共に、その車両の排気経路には、燃料をその排気経路に添加するために開閉する排気経路弁が設けられており、起動信号は、排気経路弁を開閉するための信号であることを特徴としている。ここで、起動とは、排気経路弁の開弁及び閉弁の両方又は一方を指す趣旨である。
【発明を実施するための最良の形態】
【００４７】
以下に、本発明の実施形態を図面に基づき説明する。
［第１実施形態］
まず、第１実施形態について説明する。
【００４８】
図１は、車両用の電子制御装置（以下、ＥＣＵと記載する）のマイコンが備える回路（以下、信号出力回路と記載する）１を表す図面である。この図１において、図９と同じ構成については同じ符号を付している。尚、図９の比較回路６を、図１では第１比較回路６と記載し、図９のトリガを、図１では第１トリガと記載している。
【００４９】
また、図１において、出力回路８は、論理和回路８ａを有している。
さらに、図１では、図９と比較して、ジェネラルタイマ２、コンペアレジスタ４、第１比較回路６、及び出力回路８、に加えて、減算回路１０と、オフセットレジスタ１２と、第２比較回路１４とを備えている。
【００５０】
減算回路１０は、コンペアレジスタ４に記憶された値からジェネラルタイマ２のカウント値を減算し、減算値を第２比較回路１４に出力する。
オフセットレジスタ１２には、予め所定の許容情報が記憶される。この許容情報は、時間（期間）を表す値である。また、正の値である。
【００５１】
第２比較回路１４は、減算回路１０から入力される減算値の絶対値と、オフセットレジスタ１２に記憶された値とを比較して、減算値（絶対値）がオフセットレジスタ１２に記憶された許容情報が表す許容範囲内（つまり、減算値の絶対値＜オフセットレジスタ１２の値）であれば、第２トリガを出力回路８に出力する。尚、以下、記憶時時刻（コンペアレジスタ４に情報を記憶させたときの時刻）からみて、オフセットレジスタ１２に記憶された許容情報の表す時刻だけ前の時刻を、許容時刻と記載する。
【００５２】
信号出力回路１では、コンペアレジスタ４に記憶された値が、記憶時時刻よりも後の時刻を表すものであれば、ジェネラルタイマ２のカウント値がそのコンペアレジスタ４に記憶された値に一致した時に、第１比較回路６から、第１トリガが出力回路８に出力される。
【００５３】
一方、コンペアレジスタ４に記憶された値が、記憶時時刻と許容情報との間の時刻であれば、第２比較回路１４から、第２トリガが出力回路８に出力される。
出力回路８は、マイコンが備える図示しないポートへ信号を出力している。この信号を、以下、ポート出力信号と記載する。そして、出力回路８は、前述のように論理和回路８ａからなり、第１トリガ及び第２トリガの何れかが入力されると、そのポート出力信号のレベルを変化させると共に、割り込みを発生させるようになっている。
【００５４】
ここで、ポートに入力された信号は、図示しない外部の電子装置を起動するために、その電子装置に出力されるようになっている。また、割り込みが発生すると、マイコンのＣＰＵは、その割り込みに応じた処理（プログラム）を起動するようになっている。
【００５５】
本実施形態において、ポート出力信号及び割り込み（信号）が、特許請求の範囲における起動信号に相当する。また、以下、起動信号の出力とは、ポート出力信号の出力（具体的には、ポート出力信号のレベルが変化する）、及び割り込みの発生の両方又は一方を言うものとする。
【００５６】
図２は、本実施形態におけるマイコンのＣＰＵが実行する処理を表すフローチャートである。図２の処理は、所定のタイミングで実行される。具体的に、例えば車両のエンジンのクランク軸が所定角度回転する毎（例えば１０°ＣＡ毎）に実行される。
【００５７】
図２の処理では、まずＳ１１０で、他の処理の割り込みを禁止する。
次に、Ｓ１２０に進み、コンペアレジスタ４に所望の値を記憶する。この所望の値は、起動信号を出力したい所望のタイミング（以下、要求時刻と記載する）を表す値である。また、ここでは、図２の処理の開始タイミング、つまりエンジンのクランク軸が所定角度回転する毎のタイミングを基準として、所望のタイミングを表す値を記憶する。例えば、所望のタイミングを表す値として、角度値を記憶する。そして、クランク軸の回転角度がその記憶された角度に一致したときに、起動信号が出力されるように構成できる。
【００５８】
次に、Ｓ１３０に進み、他の処理の割り込みを許可する。そしてその後、当該処理を終了する。
次に、本実施形態の作用について、図３〜図７を用いて説明する。
【００５９】
図３，４において、■は記憶時時刻を表し、▲は要求時刻を表す。
また、オフセットレジスタ１２に格納される値は、時刻Ｔ０〜ＴＡの間の時間を表す値である。
【００６０】
時刻Ｔ０でコンペアレジスタ４に記憶させた要求時刻（時刻Ｔ１）が、その時刻Ｔ０よりも後の時刻であるという図３の例の場合、ジェネラルタイマ２のカウント値がその時刻Ｔ１に一致したときに、第１比較回路６から第１トリガが出力回路８に出力されて、起動信号が出力される。
【００６１】
ここで、本実施形態では、従来技術の欄にて説明した保証時間の概念を用いておらず、要求時刻が記憶時時刻よりも後の時刻である場合には、必ず、その要求時刻通りに起動信号が出力される。
【００６２】
次に、要求時刻が記憶時時刻よりも前の時刻である場合について、図４を用いて説明する。尚、図４の例は、設定１で、ポート出力信号のレベルをハイにし、設定２で、そのポート出力信号のレベルをローにする趣旨である。
【００６３】
まず、図４の設定１の場合について説明すると、この例のように、時刻Ｔ０でコンペアレジスタ４に記憶させた要求時刻Ｔ（１）が、その時刻Ｔ０（つまり、記憶時時刻）と、その時刻Ｔ０からみてオフセットレジスタ１２に記憶された許容情報が表す時間だけ前の時刻ＴＡ（つまり、許容時刻）との間の時刻である場合には、時刻Ｔ０において即時に、第２トリガが出力されることで、起動信号が出力される。
【００６４】
次に、図４の設定２の場合について説明すると、この例のように、時刻Ｔ０’でコンペアレジスタ４に記憶させた要求時刻Ｔ（２）が、その時刻Ｔ０’よりも前の時刻である場合であって、さらにその要求時刻Ｔ（２）が許容時刻ＴＡ’よりも前の時刻である場合には、通常の動作となる。具体的に、ジェネラルタイマ２のカウント値がその要求時刻Ｔ（２）に一致したときに、起動信号が出力される。本例では、ジェネラルタイマ２のカウント値が一旦０に戻ると共にカウントアップを継続して、要求時刻Ｔ（２）を表す値までカウントアップしたときに、第１比較回路６から、第１トリガが出力回路８に出力されることとなる。
【００６５】
尚、本実施形態では、より具体的に、要求時刻が記憶時時刻からどれだけ遅れたかが算出されると共に、その遅れが許容範囲か否かが判断される。例えば、設定３のように、要求時刻と記憶時時刻Ｔ０”との間で、ジェネラルタイマ２のカウント値が一旦０に戻っている場合でも、要求時刻Ｔ（３）は、記憶時時刻Ｔ０”からみて、時間Ｙだけ遅れていると認識されるようになっている。そして、その遅れた時間Ｙが、オフセットレジスタ１２に記憶された許容情報が表す値の範囲内か否かが判断される。
【００６６】
次に、図５は、図３の内容を図示の仕方を変えて示したものである。図５は、特に、点火制御の例を示している。
図５において、記号（●、↑、★）の意味は、図１２と同じである。
【００６７】
図５に示すように、本実施形態では、要求時刻（点火）が記憶時時刻よりも後の時刻であれば、実際の実行（点火）タイミングは、必ず要求時刻（点火）となる。
図６は、図４の設定１の例を図示の仕方を変えて示したものである。この図６に示すように、要求時刻（点火）をコンペアレジスタ４に記憶させたところ、その要求時刻（点火）が記憶時時刻よりも前の時刻となってしまっていたが、許容時刻よりは後の時刻であったというような場合には、記憶時時刻が実際の実行（点火）タイミングとなる。つまり、記憶時時刻において即時に点火が実行される。
【００６８】
このように、本実施形態では、従来技術で説明した保証時間の概念を排除し、要求時刻が記憶時時刻よりも後の時刻である場合は、何らかの異常が生じない限り、その要求時刻で必ず起動信号が出力されるようになる。このため、要求時刻が記憶時時刻よりも後の時刻である限り、処理又は駆動対象の起動が、所望の時刻（要求時刻）からずれてしまうことがない。
【００６９】
一方、要求時刻が、記憶時時刻よりも前の時刻であるが、許容時刻よりは後の時刻である、というような場合には、記憶時時刻において即時に、起動信号が出力される。例えば何らかの原因で、要求時刻をコンペアレジスタ４に記憶させる処理が遅れたりして、要求時刻が記憶時時刻よりも前の時刻になってしまったとしても、許容時刻よりも前の時刻であれば、即時に起動信号が出力されるため、ずれを最小限に抑えることができる。例えば、要求時刻が意図せず記憶時時刻よりも前の時刻になってしまって、起動信号の処理がジェネラルタイマ２の一回り分程度遅れてしまう、というような自体を防止できる。
【００７０】
しかも、要求時刻が記憶時時刻と許容時刻との間である場合に即時に起動信号が出力されるという動作は、ハード構成（具体的に、減算回路１０，オフセットレジスタ１２，第２比較回路１４）の機能により実現されるため、ソフト処理が不要であり、ＣＰＵひいてはマイコンの負荷を抑えることができる。
【００７１】
また、ソフト処理でイベントを発行する必要がないため、プログラムを簡単にすることができると共に、プログラムの流用が容易となる。
また、本実施形態では、許容時刻を決定するための許容情報がオフセットレジスタ１２に記憶されるようになっており、これによれば、例えばマイコンの性能により、その許容情報の内容を変えることができる。マイコンの処理速度は例えばそのマイコンの性能により変わるので、許容情報をマイコンの性能に合わせて変えることができれば汎用性が広がり有効である。
【００７２】
尚、本実施形態において、ジェネラルタイマ２がカウンタに相当し、コンペアレジスタ４がメモリに相当し、第１比較回路６が第１の契機信号出力回路に相当し、第２比較回路１４が第２の契機信号出力回路に相当し、第１トリガが契機信号に相当し、第２トリガが契機信号と同じ信号に相当し、ポート出力（信号）及び割り込み（信号）が起動信号に相当し、差分レジスタ１１，３１が差分記憶回路に相当している。
［第２実施形態］
次に、第２実施形態について説明する。
【００７３】
図７は、第２実施形態の信号出力回路１を示す構成図である。この信号出力回路１は、ポート出力信号のレベルがハイである期間、或いはローである期間を制御する場合に有効である。例えば、出力回路８からのポート出力信号のレベルをローからハイにするタイミングと、ポート出力信号のレベルをハイからローにするタイミングとを決定することで、ポート出力信号のレベルがハイである期間を制御するような例がある。
【００７４】
図７の信号出力回路１は、図１の信号出力回路１と比較して、差分レジスタ１１と、コンペアレジスタ２４と、第１比較回路２６と、減算回路３０と、オフセットレジスタ３２と、第２比較回路３４とをさらに備えている点が異なっている。
【００７５】
差分レジスタ１１は、減算回路１０の減算結果を記憶するレジスタである。一方、差分レジスタ１１には、第２比較回路１４から後述する不成立信号が入力されるようになっており、その不成立信号が差分レジスタ１１に入力されると、その差分レジスタ１１に記憶された情報（減算結果）がクリアされるようになっている。
【００７６】
不成立信号は、第２比較回路１４において、ジェネラルタイマ２のカウント値が記憶時時刻よりも後の時刻であると判定された場合、又は、ジェネラルタイマ２のカウント値が記憶時時刻よりも前の時刻で、さらに、許容時刻よりも前の時刻であると判定された場合に、前述のように、第２比較回路１４から差分レジスタ１１に出力される。
【００７７】
差分レジスタ１１に記憶された情報は、不成立信号によりクリアされなければ、コンペアレジスタ２４の情報に反映されるようになっている。具体的には、差分レジスタ１１の情報が表す値（正の値）がコンペアレジスタ２４に記憶された情報が表す値に加算されるようになっている。
【００７８】
次に、コンペアレジスタ２４、第１比較回路２６、減算回路３０、オフセットレジスタ３２、及び第２比較回路３４は、それらで、コンペアレジスタ４と、第１比較回路６と、減算回路１０と、オフセットレジスタ１２と、第２比較回路１４とで実現される機能と同じ機能を実現する。
【００７９】
つまり、第１比較回路２６は、ジェネラルタイマ２のカウント値とコンペアレジスタ２４に記憶された情報とを比較して、両者が同じになると第１トリガ信号を出力回路８に出力する。
【００８０】
第２比較回路３４は、減算回路３０から入力される減算値の絶対値と、オフセットレジスタ３２に記憶された値とを比較して、減算値（絶対値）がオフセットレジスタ３２に記憶された許容情報が表す許容範囲内（つまり、減算値の絶対値＜オフセットレジスタ３２の値）であれば、第２トリガを出力回路８に出力する。
【００８１】
このような図７の信号出力回路１によれば、コンペアレジスタ４には、ポート出力信号のレベルをハイにしたいタイミングをセットし、コンペアレジスタ２４には、ポート出力信号のレベルをローにしたいタイミングをセットする、というような使い方ができる。
【００８２】
そして、図７の信号出力回路１のような構成によれば、以下のような作用・効果が得られる。
コンペアレジスタ４に記憶した値と記憶時時刻との差分が差分レジスタ１１に記憶されると共に、コンペアレジスタ４の値が記憶時時刻と許容時刻との間の時刻を表すものであれば、この場合は不成立信号は出力されないため、その差分レジスタ１１に記憶された時刻がコンペアレジスタ２４に加算される。尚、差分は絶対値をとり、正の値で表される。
【００８３】
つまり、コンペアレジスタ４に記憶した時刻が記憶時時刻よりも前の時刻になってしまい、ポート出力信号のレベルをハイにするタイミングが所望のタイミング（要求時刻）よりも遅れてしまった場合でも、その遅れ分が、ポート出力信号のレベルをローにするタイミングに足し込まれるようになる。
【００８４】
具体的に、コンペアレジスタ２４に記憶された値がそのコンペアレジスタ２４に情報を記憶させたときの時刻（記憶時時刻）よりも前の時刻を表すものでない限り、差分レジスタ１１に記憶された遅れ分が足し込まれたタイミングで、ポート出力信号のレベルがハイからローになる。これにより、ポート出力信号のレベルがハイである期間を、より正確に制御できるようになる。
【００８５】
図７のような構成は、例えば、ポート出力信号のレベルがハイである間、燃料が噴射される、というような制御に特に有効である。燃料噴射期間を正確に制御することができるため、所望の燃料を噴射することができるようになるためである。尚、具体的には、ポート出力信号のレベルがハイである間、エンジンに燃料を噴射するためのインジェクタが開弁する、という構成が考えられる。この場合、起動信号（つまり、ポート出力信号）は、インジェクタを起動（駆動）するための信号であり、起動とは、インジェクタの開弁及び閉弁の何れも含むものと考えることができる。
〈変形例〉
次に、第２実施形態の変形例について説明する。
【００８６】
図８は、本変形例の信号出力回路１を示す構成図である。図８の信号出力回路１は、図７の信号出力回路１と比較して、差分レジスタ３１をさらに備えている点が異なっている。
【００８７】
そして、第２比較回路３４が前述したような不成立信号を出力すると共に、差分レジスタ３１に記憶された値が第２比較回路３４からの不成立信号によりクリアされない限り、コンペアレジスタ４に足し込まれる点が異なっている。
【００８８】
このような構成によれば、ポート出力信号のレベルをロー→ハイ→ローにするような場合、第２実施形態と同様に、ロー→ハイのタイミングをコンペアレジスタ４に記憶し、ハイ→ローのタイミングをコンペアレジスタ２４に記憶しても良いし、逆に、ロー→ハイのタイミングをコンペアレジスタ２４に記憶し、ハイ→ローのタイミングをコンペアレジスタ４に記憶しても良く、何れの場合も、ハイの期間を正確に制御できるようになる。このため、要求時刻をコンペアレジスタ４，２４の何れに記憶するかを気にしなくても良くなり、プログラム設計が容易となる。
【００８９】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術範囲内において種々の形態をとることができる。
例えば、上記実施形態では、本発明を点火制御に適用した例を示したが、本発明は、車両のエンジンへの燃料噴射の制御にも適用することができる。また、排気ガスの燃焼のために、車両の排気経路に燃料を噴射する制御（具体的に、排気経路に燃料を噴射するための弁を開閉する制御）にも本発明を適用することができる。
【００９０】
また、上記第１実施形態において、コンペアレジスタ４とジェネラルタイマ２との差分を記憶すると共に、要求時刻が記憶時時刻と許容時刻との間の時刻である場合に、その記憶した差分で、次回コンペアレジスタ４に記憶された要求時刻が補正されるように構成しても良い。
【図面の簡単な説明】
【００９１】
【図１】マイコンが備える信号出力回路１の構成図である。
【図２】マイコンのＣＰＵが実行する処理を表すフローチャートである。
【図３】本実施形態の作用を表すタイムチャートである（その１）。
【図４】本実施形態の作用を表すタイムチャートである（その２）。
【図５】本実施形態の作用を表すタイムチャートである（点火制御その１）。
【図６】本実施形態の作用を表すタイムチャートである（点火制御その２）。
【図７】第２実施形態の信号出力回路１の構成図である。
【図８】変形例の信号出力回路１の構成図である。
【図９】従来のマイコンが備える回路１の構成図である。
【図１０】従来のマイコンのＣＰＵが実行する処理を表すフローチャートである。
【図１１】従来例の作用を表すタイムチャートである。
【図１２】従来例の作用を表すタイムチャートである（点火制御）。
【符号の説明】
【００９２】
２…ジェネラルタイマ、４…コンペアレジスタ、６…第１比較回路、８…出力回路、８ａ…論理和回路、１０…減算回路、１２…オフセットレジスタ、１４…第２比較回路。
【図１】
2008280863.tif 000003
【図２】
2008280863.tif 000004
【図３】
2008280863.tif 000005
【図４】
2008280863.tif 000006
【図５】
2008280863.tif 000007
【図６】
2008280863.tif 000008
【図７】
2008280863.tif 000009
【図８】
2008280863.tif 000010
【図９】
2008280863.tif 000011
【図１０】
2008280863.tif 000012
【図１１】
2008280863.tif 000013
【図１２】
2008280863.tif 000014