(57)【要約】【課題】  実際に検出対象が所望の状態となった時刻から、割り込みを発生する時刻までの時間を短縮できる割り込み発生回路を提供する。【解決手段】  外部イベント検出部１０１は、外部イベント信号の有効エッジを検出する。カウント周期生成回路１０３は、メインタイマ１０４がカウントする、１つ前の外部イベント信号の有効エッジ間の時間間隔を、１／Ｎ倍した周期の外部イベント分周信号を生成する。コンペアレジスタ１０５には、割り込みを発生させたい時点に対応する値が格納されており、割り込み判定回路１０６は、メインタイマ１０４のカウント値がコンペアレジスタ１０５に格納された値以上となると、割り込みを発生する。また、割り込み判定回路１０６は、有効エッジが検出された際に、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値よりも小さいときには、そのタイミングで割り込みを発生する。【選択図】    図１
2005339245.tif 000002
【特許請求の範囲】
【請求項１】
検出対象から周期的な外部信号を入力し、該外部信号の有効エッジを検出してエッジ検出信号を発生するエッジ検出部と、
パルス信号をカウントし、前記エッジ検出信号が発生するとカウント値をクリアするメインタイマと、
前記メインタイマのカウント値と、所望の値を格納するコンペアレジスタの格納値とを比較し、該比較結果に基づいて割り込みを発生するか否かを判定する割り込み判定回路とを備え、
前記割り込み判定回路は、前記エッジ検出信号が発生した際に、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値よりも小さいときには、前記エッジ検出信号が発生したタイミングで割り込みを発生することを特徴とする割り込み発生回路。
【請求項２】
前記割り込み判定回路は、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値よりも小さいときに活性化され、且つ、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値以上のときに非活性となるコンペアイネーブル信号が活性化状態のときに、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値以上に移行すると割り込みを発生する、請求項１に記載の割り込み発生回路。
【請求項３】
前記エッジ検出信号が発生してから次のエッジ検出信号が発生するまでの時間間隔を測定するサブタイマと、
前記パルス信号を生成するカウント信号生成回路であって、前記エッジ検出信号が発生すると、前記サブタイマによって測定された有効エッジ間の時間間隔と、分周比１／Ｎ（Ｎ：２以上の整数）とに基づいて、前記パルス信号の周期を設定するカウント信号生成回路とを更に備える、請求項１又は２に記載の割り込み発生回路。
【請求項４】
前記分周比１／Ｎが、前記サブタイマで測定された有効エッジ間の時間間隔に応じて設定される、請求項３に記載の割り込み発生回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り込み発生回路に関し、更に詳しくは、検出対象から入力する周期的な外部信号に基づいて、検出対象が所望の状態となったと推定される時刻で割り込みを発生する割り込み発生回路に関する。
【背景技術】
【０００２】
例えば、エンジンのクランクには、所定角度ごとに、周期的にパルスを発生するクランクセンサが取り付けられており、そのクランクセンサからの信号は、エンジンの各種の制御に用いられる。クランクセンサが３０度ごとにパルスを発生するときには、クランクセンサによって、０度、３０度、６０度といった３０度の倍数のクランク角を検出することができる。しかし、クランクセンサによって、直接に、１５度、４５度といった中間のクランク角を検出することはできない。中間のクランク角の検出には、検出対象から入力する外部信号としてクランクセンサからの信号を用い、その信号を用いて現在のクランク角を推定し、クランク角が所望の角度となったと推定される時刻で割り込みを発生する割り込み回路が用いられる。
【０００３】
図３は、上記動作を行う従来の割り込み発生回路の構成を示し、図４は、その動作例をタイミングチャートで示している。外部イベント信号は、一定周期ではないが周期的に立ち上がるパルス信号として構成される。外部イベント信号の最初のパルスは、例えばクランク角３０度に対応し、次のパルスはクランク角６０度に対応する。この割り込み発生回路２００は、現在より１つ前の外部イベント信号の有効エッジ（立ち上がりエッジ又は立ち下がりエッジ）検出から、現在の外部イベント信号の有効エッジ検出までの時間によって、現在の外部イベント信号の有効エッジ検出から、次の外部イベント信号の有効エッジ検出までの時間を推定し、クランク角が所望の位置となったと思われる時刻に、割り込みを発生する。
【０００４】
外部イベント検出部２０１は、外部イベント信号の有効エッジを検出し、外部イベント検出信号を出力する。外部イベント信号の有効エッジ周期は、エンジンの回転数が高くなるにつれて短くなる。第１サブタイマ２０２は、クロック信号を入力し、外部イベント検出部２０１によって外部イベント信号の有効エッジが検出されてから、次の外部イベント信号の有効エッジが検出されるまでの間のクロック信号のパルスをカウントする。
【０００５】
外部イベント検出部２０１が外部イベント信号の有効エッジを検出した時点での第１サブタイマ２０２のカウント値は、外部イベント信号の１つ前の有効エッジが検出されてから、現在の有効エッジが検出されるまでの間の時間に相当する。カウント周期生成回路２０３は、外部イベント検出部２０１が外部イベント信号の有効エッジを検出した時点での第１サブタイマ２０２のタイマ値と、あらかじめ設定されている数Ｎとに基づいて、有効エッジ周期の１／Ｎの周期を１周期とし、Ｎ個のパルスを有する外部イベント分周信号を生成する。
【０００６】
外部イベント分周信号は、第２サブタイマ２０４とメインタイマ２０５とによってそれぞれカウントされる。外部イベント分周信号は、１つ前の外部イベント周期の時間幅の１／Ｎの周期を有するため、第２サブタイマ２０４及びメインタイマ２０５が外部イベント分周信号のパルスのカウントを開始してから、Ｎ個のパルスをカウントするまでに要する時間は、１つ前の外部イベント周期の時間幅を示している。メインタイマ２０５のカウント値は、現在の外部イベント周期の時間幅が１つ前の外部イベント周期の時間幅と同じであれば、外部イベント信号のパルスが発生した時点から進んだクランク角の回転角に対応する。例えばメインタイマ２０５のカウント値がＮ／２であれば、クランク角は、その時点では、外部イベント信号のパルス発生時点から、１５度だけ進んだことになる。
【０００７】
コンペアレジスタ２０６には、割り込みを発生させたいクランク角に応じた所望の値が格納される。割り込み発生回路２００は、メインタイマ２０５のカウント値と、所望の値がセットされるコンペアレジスタ２０６の値とが一致すると、その時点で、コンペア割り込みを発生させる。例えばクランク角３０度を示す外部イベント信号のパルス発生後に、コンペアレジスタ２０６に「Ｎ／２」が格納されているときには、割り込み発生回路２００は、メインタイマ２０５のカウント値が「Ｎ／２」となり、そのカウント値から推定されるクランク角が４５度となった時点で、割り込みを発生させる。
【０００８】
現在の外部イベント周期の時間幅が、その１つ前の外部イベント周期の時間幅よりも短いときには、外部イベント検出部２０１は、メインタイマ２０５及び第２サブタイマ２０４のカウント値がＭＡＸ値となる前に、次の外部イベント信号の有効エッジを検出する。ここで、外部イベント信号の有効エッジが検出された際に、メインタイマ２０５を、第２サブタイマ２０４と同様にクリアすると、メインタイマ２０５のカウント値と、コンペアレジスタ２０６に格納された値とを一致させることができず、割り込みを発生させたいクランク角で、割り込みを発生させることができなくなる。このため、メインタイマ２０５のカウント値は、常に、ＭＡＸ値までフルカウントすることにより、クリアされるように構成されている。
【０００９】
第２サブタイマ２０４のカウント値は、外部イベント信号のパルスの有効エッジが検出されると０にクリアされる。このため、メインタイマ２０５のカウント値がＭＡＸ値となる前に外部イベント信号のパルスの有効エッジが検出されたときには、第２サブタイマ２０４のカウント値と、メインタイマ２０５のカウント値とが一致しなくなる。この場合、セレクタ２０７には、Ｈレベルとなったクロック切替信号が入力され、メインタイマ２０５には、セレクタ２０７を介して、割り込み発生回路２００内で最も周期が短いパルス信号であるクロック信号を入力する。これにより、メインタイマ２０５は、カウント値を、高速に進める。
【００１０】
外部イベント信号のパルスの有効エッジが検出された際に、メインタイマ２０５のカウント値がコンペアレジスタ２０６に格納された値にまで達していないときには、コンペア割り込みは、まだ発生していない。メインタイマ２０５がクロック信号をカウントし、そのカウント値を高速に進めている間に、メインタイマ２０５のカウント値と、コンペアレジスタ２０６に格納された値とが一致すると、その時点で、コンペア割り込みが発生する。メインタイマ２０５は、カウント値をＭＡＸ値までフルカウントして、カウント値をクリアする。
【００１１】
メインタイマ２０５がクロック信号をカウントしている間も、第２サブタイマ２０４は、カウント周期生成回路２０３が生成する外部イベント分周信号をカウントしている。メインタイマ２０５のカウント値と、第２サブタイマ２０４のカウント値とが一致すると、クロック切替信号はＬレベルとなり、メインタイマ２０５は、再び、カウント周期生成回路２０３が出力する外部イベント分周信号をカウントする。以上のような、カウンタとコンペアレジスタを用いる技術は、例えば非特許文献１等に記載されている。
【非特許文献１】ＳＨ−２Ｅ  ＳＨ７０５８Ｆ−ＺＴＡＴ  ハードウェアマニュアル（ＤｏｃＮｏ．ＲＪＪ０９Ｂ００１９−０２００Ｈ）  １１-１７２〜１１−１７９（pp.378〜pp.385）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来の技術では、上記のように、メインタイマ２０５のカウント値がＭＡＸ値となる前に次の外部イベント信号のパルスの有効エッジが検出される場合には、メインタイマ２０５が、周期が短いクロック信号をカウントすることでカウント値を高速に進め、第２サブタイマ２０４のカウント値に追いつくまでに要する時間、及び、メインタイマ２０５のカウント値がコンペアレジスタ２０６に格納された値と一致して、コンペア割り込みが発生するまでの時間は、外部イベント信号の有効エッジ検出時のメインタイマ２０５の値に依存する。このため、例えばコンペアレジスタ２０６に格納される値がメインタイマ２０５のカウント値のＭＡＸ値付近に設定される場合には、実際にクランク角が検出したい回転角となった時刻から、コンペア割り込みが発生するまでの時間は不定となり、この時間差を最小として、精度の高いクランク角検出を行うことはできない。
【００１３】
本発明は、検出対象から入力する周期的な外部信号に基づいて、検出対象が所望の状態となったと推定される時刻で割り込みを発生する割り込み発生回路であって、実際に検出対象が所望の状態となった時刻から、割り込みを発生する時刻までの時間差を短縮できる割り込み発生回路を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の割り込み発生回路は、検出対象から周期的な外部信号を入力し、該外部信号の有効エッジを検出してエッジ検出信号を発生するエッジ検出部と、パルス信号をカウントし、前記エッジ検出信号が発生するとカウント値をクリアするメインタイマと、前記メインタイマのカウント値と、所望の値を格納するコンペアレジスタの格納値とを比較し、該比較結果に基づいて割り込みを発生するか否かを判定する割り込み判定回路とを備え、前記割り込み判定回路は、前記エッジ検出信号が発生した際に、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値よりも小さいときには、前記エッジ検出信号が発生したタイミングで割り込みを発生することを特徴とする。
【００１５】
外部信号は、例えば所定角度回転するごとにパルスを発生するセンサからの信号として構成される。コンペアレジスタに格納される値は、例えば検出したい回転角に対応する値に制御される。本発明の割り込み発生回路では、割り込み判定回路は、メインタイマのカウント値が、コンペアレジスタに格納された値よりも小さいときに、エッジ検出部が次のエッジ検出信号を発生すると、そのタイミングで割り込みを発生する。エッジ検出部がエッジ検出信号を発生した際に、メインタイマのカウント値が、コンペアレジスタに格納された値よりも小さいということは、実際には、割り込みを発生させたい時点を既に過ぎていることを意味している。本発明の割り込み発生回路では、その場合でも、エッジ検出信号の発生タイミングで、割り込みを発生させることができるため、実際に検出対象が所望の状態となった時刻から、割り込みを発生する時刻までの時間を短縮することができる。
【００１６】
本発明の割り込み発生回路では、前記割り込み判定回路は、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値よりも小さいときに活性化され、且つ、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値以上のときに非活性となるコンペアイネーブル信号が活性化状態のときに、前記メインタイマのカウント値が、前記コンペアレジスタに格納された値以上に移行すると割り込みを発生する構成を採用できる。この場合、パルス信号をカウントすることにより、メインタイマのカウント値がコンペレジスタに格納された値以上となるタイミングで、割り込みを発生させることができる。
【００１７】
本発明の割り込み発生回路は、前記エッジ検出信号が発生してから次のエッジ検出信号が発生するまでの時間間隔を測定するサブタイマと、前記パルス信号を生成するカウント信号生成回路であって、前記エッジ検出信号が発生すると、前記サブタイマによって測定された有効エッジ間の時間間隔と、分周比１／Ｎ（Ｎ：２以上の整数）とに基づいて、前記パルス信号の周期を設定するカウント信号生成回路とを更に備えることが好ましい。この場合、割り込み発生回路が割り込みを発生するタイミングと、割り込みを発生させたいタイミングとを近づけることができる。
【００１８】
本発明の割り込み発生回路では、前記分周比１／Ｎを、前記サブタイマで測定された有効エッジ間の時間間隔に応じて設定することができる。
Ｎが一定であれば、有効エッジ間の時間間隔が長いほど、メインタイマがカウントするパルス信号の周期は長くなり、有効エッジ間の時間間隔が短いほど、メインタイマがカウントするパルス信号の時間間隔は短くなる。例えば、有効エッジ間の時間間隔が長いときには、Ｎを大きな値に設定して、メインタイマのカウントするパルス信号の周期が長くなり過ぎないようにでき、また、これとは逆に、有効エッジ間の時間間隔が短いときには、Ｎを小さな値に設定して、メインタイマのカウントするパルス信号の周期が短くなり過ぎないようにすることができる。
【発明の効果】
【００１９】
本発明の割り込み発生回路では、割り込み判定回路は、エッジ検出信号が発生した際に、メインタイマのカウント値が、コンペアレジスタに格納された値よりも小さいときには、エッジ検出信号が発生したタイミングで割り込みを発生する。このため、実際に検出対象が所望の状態となった時刻から、割り込みを発生する時刻までの時間差を短くすることができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照し、本発明の実施形態例に基づいて、本発明を更に詳細に説明する。図１は、本発明の一実施形態例の割り込み発生回路の構成を示している。この割り込み発生回路１００は、外部イベント検出部１０１、サブタイマ１０２、カウント周期生成回路１０３、メインタイマ１０４、コンペアレジスタ１０５、及び、割り込み判定回路１０６を備える。割り込み発生回路１００は、例えば所定距離を移動するごとに、或いは、所定角度だけ回転するごとにパルスを発生するセンサから外部イベント信号を入力して、パルス発生時点から、所望の距離だけ移動したと思われる時点、或いは、所望の回転角だけ回転したと思われる時点で割り込みを発生する。
【００２１】
図２は、図１に示す割り込み発生回路の各部の動作をタイミングチャートで示している。以下、図１及び図２を参照して、割り込み発生回路１００が、クランク角が３０度進むごとにパルスを発生するクランクセンサからの信号を外部イベント信号として入力し、クランク角が所望の角度となったと思われるタイミングで割り込みを発生される例について、割り込み発生回路１００の動作について詳細に説明する。
【００２２】
図２において、外部イベント信号の最初のパルスＰ１は、例えばクランク角３０度に対応し、次のパルスＰ２はクランク角６０度に対応する。外部イベント検出部１０１は、外部イベント信号のパルスの有効エッジ（同図の例では立ち下がりエッジ）を検出する。外部イベント信号の有効エッジから次の外部イベント信号の有効エッジまでの間の期間をそれぞれ外部イベント周期Ｔ１、Ｔ２、Ｔ３、・・とする。クランク角の回転角は、外部イベント周期Ｔ１では３０度から６０度まで進み、外部イベント周期Ｔ２では、６０度から９０度まで進み、外部イベント周期Ｔ３では、９０度から１２０度まで進む。
【００２３】
サブタイマ１０２は、外部イベント検出部１０１によって、外部イベント信号の有効エッジが検出されてから、次の外部イベント信号の有効エッジが検出されるまで、クロック信号をカウントする。外部イベント信号の有効エッジが検出された際のサブタイマ１０２のカウント値（タイマ値）は、外部イベント周期の時間幅を示す。
【００２４】
カウント周期生成回路１０３は、外部イベント検出部１０１が外部イベント信号の有効エッジを検出すると、その時点でのサブタイマ１０２のタイマ値と、あらかじめ設定されている分周比１／Ｎとに基づいて、入力するクロック信号から、有効エッジ周期の１／Ｎの周期を１周期とし、Ｎ個のパルスを有する外部イベント分周信号を生成する。カウント周期生成回路１０３は、例えば、外部イベント周期Ｔ１では、外部イベント信号のパルスＰ１が発生するまでの外部イベント周期の時間幅を１／８倍した周期の外部イベント分周信号を生成する。
【００２５】
メインタイマ１０４は、外部イベント検出部１０１が有効エッジを検出するとカウント値をクリアし、カウント周期生成回路１０３が生成した外部イベント分周信号のカウントを開始する。メインタイマ１０４のカウント値は、外部イベント周期の間に進むクランク角３０度に対する分解能を示す。メインタイマ１０４がカウントする外部イベント分周信号の周期は、１つ前の外部イベント周期の時間幅を１／８倍した周期であるため、メインタイマ１０４のカウント値は、１つ前の外部イベント周期に基づいて推定されたクランク角の進みに対応する。メインタイマ１０４のカウント値が「４」のときには、クランク角は、外部イベント信号のパルス発生時点から、１５度（３０×（４／８）度）進んだと推定できる。
【００２６】
コンペアレジスタ１０５には、割り込みを発生させたいクランク角に対応する値が格納される。コンペアイネーブル信号は、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値よりも小さいときにＨレベルとなり、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値よりも以上のときにＬレベルとなるように制御される。
【００２７】
割り込み判定回路１０６は、コンペアイネーブル信号がＨレベルのとき、メインタイマ１０４のカウント値と、コンペアレジスタ１０５に格納された値とを比較し、カウントアップされたメインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値以上となると、割り込みを発生する。また、コンペアイネーブル信号は、外部イベント検出部１０１が外部イベント信号の次の有効エッジを検出すると、信号レベルが強制的にＨレベルとなるように制御される。
【００２８】
外部イベント周期Ｔ１では、はじめ、メインタイマ１０４のカウント値は、コンペアレジスタ１０５に格納された値よりも小さいため、コンペアイネーブル信号はＨレベルである。外部イベント分周信号の３つ目のパルスが出力された後に、コンペアレジスタ１０５に格納された値が変更されると、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された変更後の値よりも大きくなり、コンペイネーブル信号は、Ｌレベルとなる。このため、外部イベント周期Ｔ１では、上記した割り込み発生の要件を満たす時点は存在せず、割り込み判定回路１０６は、何れの時点においても割り込みを発生しない。
【００２９】
外部イベント検出部１０１が、クランク角が６０度まで進んだことを示す、外部イベント信号の次のパルスＰ２の有効エッジを検出すると、メインタイマ１０４は、カウント値をクリアし、コンペアイネーブル信号は、ＬレベルからＨレベルに変化する。また、カウント周期生成回路１０３は、その時点でのサブタイマ１０２のカウント値と、分周数１／Ｎとに基づいて、外部イベント周期Ｔ１の時間幅の１／８の周期を有する外部イベント分周信号を生成する。
【００３０】
外部イベント周期Ｔ１では、その周期終了時のメインタイマ１０４のカウント値が、ＭＡＸ値まで到達していないが、これは、外部イベント周期Ｔ１の時間幅は、その１つ前の周期の時間幅よりも狭いこと、つまり、クランク角が３０度から６０度まで回転するのに要した時間が、０度から３０度まで回転するのに要した時間に比して短いことを意味している。このため、カウント周期生成回路１０３が、外部イベント周期Ｔ２で生成する外部イベント分周信号の周期は、外部イベント周期Ｔ１において生成した外部イベント分周信号の周期に比して短い。
【００３１】
外部イベント周期Ｔ２では、クランク角が（６０＋５）度付近となったと思われるタイミングと、クランク角が（６０＋２８）度付近となった思われるタイミングとで、割り込みを発生させたい。図２の例では、コンペアレジスタ１０５には、外部イベント周期Ｔ１において、クランク角５度付近に対応する値が既に格納されている。外部イベント周期Ｔ２では、メインタイマ１０４が外部イベント分周信号の３つ目のパルスによってカウント値をカウントアップすると、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値を超える。このとき、コンペアイネーブル信号は、Ｈレベルであり、割り込み判定回路１０６は、メインタイマ１０４がカウントアップしたタイミングで、割り込みを発生する。
【００３２】
割り込み判定回路１０６が割り込みを発生すると、メインタイマ１０４のカウント値がコンペアレジスタ１０５に格納された値よりも大きくなることから、コンペアイネーブル信号は、Ｌレベルに変化する。これにより、メインタイマ１０４が外部イベント分周信号の４つ目のパルスによってカウントアップしても、割り込み判定回路１０６は、割り込みを発生しない。割り込み発生後、コンペアレジスタ１０５に格納される値は、外部イベント分周信号の５つ目のパルスの出力後に、次に割り込みを発生させたいクランク角２８度付近に対応する値で更新される。コンペアレジスタ１０５に格納される値が更新されることで、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値よりも小さくなって、コンペアイネーブル信号は、Ｈレベルとなる。
【００３３】
図２では、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値まで到達する前に、また、ＭＡＸ値に到達する前に、コンペアイネーブル信号がＨレベルの状態で、外部イベント検出部１０１が、外部イベント信号の３つの目のパルスＰ３の有効エッジを検出する。これは、外部イベント周期Ｔ２において、メインタイマ１０４のカウント値に基づいて推定されるクランク角は、まだ、割り込みを発生させたいクランク角には到達していないものの、実際には、クランク角は、その割り込みを発生させたいクランク角を既に過ぎて、９０度まで到達していることを意味している。
【００３４】
外部イベント周期Ｔ２では、メインタイマ１０４のカウント値がＭＡＸ値までカウントされたならば、割り込みが発生するクランク角が存在する。そこで、割り込み判定回路１０６は、外部イベント検出部１０１が外部イベント信号の有効エッジを検出した際に、コンペイネーブル信号がＨレベルであれば、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値よりも小さい場合であっても、その時点で、割り込みを発生する。
【００３５】
一方、外部イベント周期Ｔ１においても、外部イベント周期Ｔ２と同様に、メインタイマ１０４のカウント値がＭＡＸ値に到達する前に、次の外部イベント信号のパルスＰ２が発生している。しかし、このときには、コンペアレジスタ１０５に格納されている値は、メインタイマ１０４のカウント値よりも小さく、コンペアイネーブル信号はＬレベルである。これは、メインタイマ１０４のカウント値をＭＡＸ値までカウントされたとしても、割り込みが発生するクランク角は存在しないことを意味している。従って、割り込み判定回路１０６は、コンペアイネーブル信号がＬレベルのときには、外部イベント検出部１０１が外部イベント信号のパルスＰ２の有効エッジを検出した時点で、割り込みを発生しない。
【００３６】
外部イベント周期Ｔ３では、メインタイマ１０４は、外部イベント信号の３つ目のパルスＰ３の有効エッジが検出された時点でカウント値をクリアし、外部イベント分周信号をカウントする。図２の例では、外部イベント周期Ｔ３では、割り込みを発生させたいクランク角は存在しない。また、外部イベント周期Ｔ３の時間幅は、外部イベント周期Ｔ２の時間幅に比して広いため、メインタイマ１０４は、カウント周期生成回路１０３が出力する外部イベント分周信号のＮ個のパルスすべてをカウントした状態で、つまり、ＭＡＸ値で、外部イベント信号の次のパルスＰ４の有効エッジが検出されるのを待つ。コンペアレジスタ１０５に格納される値は、外部イベント周期Ｔ３において、クランク角４度付近に対応する値で更新される。外部イベント周期Ｔ４では、割り込み判定回路１０６は、メインタイマ１０４のカウント値がコンペアレジスタ１０５に格納された値以上の値となると、割り込みを発生する。
【００３７】
本実施形態例では、コンペアイネーブル信号がＨレベルのときに、外部イベント信号のパルスの有効エッジが検出されると、割り込み判定回路１０６は、メインタイマ１０４のカウント値が、コンペアレジスタ１０５に格納された値以上の値となっていなくても、その時点で、割り込みを発生する。この場合、実際には、外部イベント信号の有効エッジが検出された時点では、クランク角は割り込みを発生させたい回転角を既に過ぎている。本実施形態例では、上記の場合、外部イベント信号の有効エッジが検出された時点で、割り込みを発生させるため、実際にクランク角が割り込みを発生させたい回転角となった時刻から、割り込みが発生する時刻までの時間差を最小化できる。
【００３８】
なお、カウント周期生成回路１０３の分周比１／Ｎは、１つ前の外部イベント周期の時間幅に応じて可変とし、メインタイマ１０４が外部イベント分周信号の１パルスをカウントするときのカウント値の変化をＮに連動して変化させることもできる。例えば１つ前の外部イベント周期の時間幅が広いときには、Ｎを大きくして、外部イベント分周期間に出力されるパルス数を増やすことができる。また、逆に、１つ前の外部イベント周期の時間幅が狭いときには、Ｎを小さくして、外部イベント分周期間に出力されるパルス数を減らすこともできる。
【００３９】
また、上記実施形態例では、メインタイマ１０４は、１つ前の外部イベント周期の時間幅に応じた周期のパルス信号をカウントする例について示したが、これには限定されない。例えば、メインタイマ１０４がカウントする信号の周期を、複数の外部イベント周期の時間幅の平均値に応じた周期に設定することもできる。
【００４０】
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明の割り込み発生回路は、上記実施形態例にのみ限定されるものではなく、上記実施形態例の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態例の割り込み発生回路の構成を示すブロック図。
【図２】割り込み発生回路の各部の様子を示すタイミングチャート。
【図３】従来の割り込み発生回路の構成を示すブロック図。
【図４】従来の割り込み発生回路の各部の様子を示すタイミングチャート。
【符号の説明】
【００４２】
１００：割り込み発生回路
１０１：外部イベント検出部
１０２：サブタイマ
１０３：カウント周期生成回路
１０４：メインタイマ
１０５：コンペアレジスタ
１０６：割り込み判定回路
【図１】
2005339245.tif 000003
【図２】
2005339245.tif 000004
【図３】
2005339245.tif 000005
【図４】
2005339245.tif 000006