(57)【要約】  携帯通信端末等に搭載されるタイマー回路において、計測時間の異なる複数の計時を測定誤差を低減して実現すると共に消費電力を低減する。タイマー回路は、基準クロックにより動作するカウンタ１０１と、ＣＰＵ１２０からの計時要求を受けたときにその計時要求に対応するタイマー満了時刻を格納する格納部（時刻メモリ１０２、比較レジスタ１０３）と、カウンタ１０１の出力値に対応する時刻と、格納部に格納されたタイマー満了時刻とが一致したときにＣＰＵ１２０への割り込み信号を生成する比較機１０４とを有する。格納部は、複数の計時要求に対応する複数のタイマー満了時刻を格納し、そのうちカウンタ１０１の出力値に対応する時刻に最も近いタイマー満了時刻が比較機１０４の比較対象のタイマー満了時刻として設定される。【特許請求の範囲】
【請求項１】
基準クロックにより動作するカウンタと、
ＣＰＵからの計時要求を受けたときにその計時要求に対応するタイマー満了時刻を格納する格納部と、
前記カウンタの出力値に対応する時刻と、前記格納部に格納されたタイマー満了時刻とを比較し、両時刻が一致したときに前記ＣＰＵへの割り込み信号を出力する比較機とを有し、
前記格納部は、複数の計時要求に対応する複数のタイマー満了時刻を格納し、そのうち前記カウンタの出力値に対応する時刻に最も近いタイマー満了時刻が前記比較機の比較対象のタイマー満了時刻として設定されることを特徴とするタイマー回路。
【請求項２】
前記格納部は、複数の計時要求に対応する複数のタイマー満了時刻を格納する第１のメモリと、前記第１のメモリに格納された複数のタイマー満了時刻のうち、少なくとも前記カウンタの出力値に対応する時刻に最も近いタイマー満了時刻を格納する第２のメモリとを有し、前記第２のメモリに格納されたタイマー満了時刻が前記比較機の比較対象のタイマー満了時刻として設定されることを特徴とする請求項１に記載のタイマー回路。
【請求項３】
前記格納部は、前記第１のメモリに格納された複数のタイマー満了時刻を前記カウンタの出力値に対応する時刻に最も近い順に並び替えるソート手段と、前記ソート手段によりソートされた前記複数のタイマー満了時刻を前記第２のメモリに設定する設定手段とを有することを特徴とする請求項２に記載のタイマー回路。
【請求項４】
前記第２のメモリは、前記カウンタの出力値に対応する時刻に最も近いタイマー満了時刻のみを格納することを特徴とする請求項２に記載のタイマー回路。
【請求項５】
前記第２のメモリは、前記第１のメモリに格納されている複数のタイマー満了時刻が更新されたときに更新されることを特徴とする請求項２に記載のタイマー回路。
【請求項６】
前記第１のメモリは、前記複数のタイマー満了時刻が有効か無効かを設定するためのイネーブル情報を格納し、前記比較機により割り込み信号が生成されたときに該当するタイマー満了時刻のイネーブル情報が無効設定され、
前記第２のメモリは、前記イネーブル情報が有効設定されたタイマー満了時刻を格納することを特徴とする請求項２に記載のタイマー回路。
【請求項７】
前記第１のメモリは、前記カウンタのキャリーアウト有無を示すキャリーアウト情報を格納し、前記カウンタがキャリーアウトしたときに前記キャリーアウト情報に基づいて前記タイマー満了時刻が更新されることを特徴とする請求項２に記載のタイマー回路。
【請求項８】
前記比較機は、前記カウンタの出力側に接続される複数の比較機を有し、
前記格納部は、前記複数の比較機に個別に接続される複数のメモリを備え、
前記複数のメモリは、前記複数の計時要求に対応する複数のタイマー満了時刻を個別に格納し、各タイマー満了時刻が前記複数の比較機の比較対象のタイマー満了時刻として個別に設定されることを特徴とする請求項１に記載のタイマー回路。
【請求項９】
前記複数の比較機は、前記カウンタの所定ビット長の出力値のうち異なるビット長の出力値を入力することを特徴とする請求項８に記載のタイマー回路。
【請求項１０】
請求項１乃至９のいずれか１項に記載のタイマー回路を備えたことを特徴とする携帯通信端末。
【請求項１１】
請求項１乃至９のいずれか１項に記載のタイマー回路を備えたことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイマー回路、これを用いた携帯通信端末及び電子機器に関し、特に携帯通信端末等の電子機器に実装されるタイマー回路に関する。
【背景技術】
【０００２】
携帯通信端末を制御するソフトウェアは、一般にハードウェアで構成されるタイマー回路を動作させて、各種制御を行っている。タイマー回路を用いた測定に関しては、ハードウェア制御やソフトウェア処理のタイミング調停のために用いる場合、及び通信相手である上位装置との通信を監視するために用いる場合がある。【０００３】
前者の場合は、一般的に計測時間が短く、タイマー回路により複数の異なる時間を同時に計測する必要はあまりない。一方、後者の場合は、複数の異なるタイミングで、異なる時間を測定する場合が多く、タイマー回路により複数の異なる時間を同時に計測する必要もある。複数の異なる時間を同時に計測する場合、必要数量のタイマー回路を全て実装することで、実現することが可能である。しかし、こうすると回路規模が大きくなり、とくに小型化が必要である携帯通信端末では、現実的ではない。そこで、限られた数量のタイマー回路を実装し、最小時間（例えば１秒）をタイマー回路で測定し、測定された最小時間毎に周期的にＣＰＵに割り込みを発生させ、その割り込み発生毎にＣＰＵによるソフトウェア処理にてカウントしながら、そのカウント値を更新していく。こうすることで、計測時間の異なる複数の計時を非同期にスタートして実現している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、複数の計時を行う機能を実現することは可能であるが、ＣＰＵによるソフトウェア処理がタイマー回路で測定している最小時間毎に発生するため、ＣＰＵ動作の発生頻度に応じて消費電流が増えてしまうことがあった。また、最小時間毎にタイマー回路による測定のスタートと停止が行われるため、測定誤差が発生してしまうことがあった。このことを図１２を参照して説明する。【０００５】
図１２は、従来例の回路動作を示すタイミングチャートである。図中のＴａ、Ｔｂ、Ｔｃは、計時（測定）要求の時間（Ｔａ＞Ｔｂ＞Ｔｃ）を示す。また、ＴＩＭＥＲ＿ＩＮＴは、タイマー回路がＣＰＵに発生させる割り込み信号、ＣＯＵＮＴＥＲは、ＣＰＵによりカウントされるカウント値、ＩＮＴは、計時要求を受けてＣＰＵが生成する実際に必要な割り込み信号をそれぞれ示す。さらに、０〜Ｔ８は、時間Ｔａ、Ｔｂ、Ｔｃの計時開始及びその計時満了に対応するカウント値（ＣＯＵＮＴＥＲ）を示す。【０００６】
図１２に示す従来例の場合、ＣＰＵからの時間Ｔａの計時要求が出された後、その計時終了前に、時間Ｔｂの計時要求が出される。そして、時間Ｔｂの計時満了前に１回目の時間Ｔｃの計時要求が出される。時間Ｔｂの計時満了後、さらに２〜４回目の時間Ｔｃの計時要求が出され、その後で時間Ｔａの計時が満了する。この場合、時間Ｔａの計時要求に伴うタイマー動作時にタイマー回路の測定動作をスタートし、タイマー回路は、基準タイマー（最小時間）毎に周期的にＣＰＵに割り込み信号（ＴＩＭＥＲ＿ＩＮＴ）を発生させる。そして、割り込み発生毎にＣＰＵによるソフトウェア処理にてカウントしながら、カウント値（ＣＯＵＮＴＥＲ）を更新する。これにより、ＣＰＵは、時間Ｔａ、Ｔｂ、Ｔｃの計測要求により計時すべき時間Ｔ３〜Ｔ８をカウントしながら、実際に必要な割り込み信号（ＩＮＴ）を順次生成する。時間Ｔ８の計時に対応する割り込み信号（ＩＮＴ）を生成後、タイマー回路の測定動作を終了し、ＣＰＵへの周期的な割り込み信号（ＴＩＭＥＲ＿ＩＮＴ）の発生を終了する。【０００７】
この場合、基準タイマーを長く設定すると、ＣＰＵへの割り込み信号（ＴＩＭＥＲ＿ＩＮＴ）の発生周期が長くなるため、ＣＰＵの動作による動作電流を低減することができる。しかし、基準タイマーを長く設定すれば、要求されるタイマーの測定誤差が大きくなってしまう。例えば、１分毎の計測と３０分毎の計測を同時に行う計時要求があった場合に、基準タイマーを１分毎に設定すると、１分毎の計時要求タイミングと３０分毎の計時要求タイミングが一致していれば、３０分の計時に誤差は生じない。しかし、両計時要求タイミングが一致していない場合は、３０分の計時は、1分毎に発生する基準のタイマーに丸め込まれてしまい、１分未満の誤差が生じてしまう。【０００８】
上記のようなタイマー回路を用いて複数の異なる計時を実現する場合の問題は、とくに低消費電力を要求される携帯通信端末等の電子機器にタイマー回路に適用する場合には、顕著となり、その対策が望まれている。【０００９】
なお、従来例のタイマー回路に関する先行技術文献としては、特開平０１−２２９３１１号公報、特開平０１−２８８９１３号公報、特開平０２−１３８８２号公報、特開平０５−３３３９５６号公報、特開平０７−００５２７９号公報があるが、いずれも上記のような問題を意識したものではない。【００１０】
そこで、本発明は、携帯通信端末等の電子機器に搭載されるタイマー回路において、計測時間の異なる複数の計時を測定誤差を低減して実現すると共に消費電力を低減することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係るタイマー回路は、基準クロックにより動作するカウンタと、ＣＰＵからの計時要求を受けたときにその計時要求に対応するタイマー満了時刻を格納する格納部と、前記カウンタの出力値に対応する時刻と、前記格納部に格納されたタイマー満了時刻とを比較し、両時刻が一致したときに前記ＣＰＵへの割り込み信号を出力する比較機とを有し、前記格納部は、複数の計時要求に対応する複数のタイマー満了時刻を格納し、そのうち前記カウンタの出力値に対応する時刻に最も近いタイマー満了時刻が前記比較機の比較対象のタイマー満了時刻として設定されることを特徴とする。【００１２】
前記格納部は、複数の計時要求に対応する複数のタイマー満了時刻を格納する第１のメモリと、前記第１のメモリに格納された複数のタイマー満了時刻のうち、少なくとも前記カウンタの出力値に対応する時刻に最も近いタイマー満了時刻を格納する第２のメモリとを有し、前記第２のメモリに格納されたタイマー満了時刻が前記比較機の比較対象のタイマー満了時刻として設定されてもよい。【００１３】
前記格納部は、前記第１のメモリに格納された複数のタイマー満了時刻を前記カウンタの出力値に対応する時刻に最も近い順に並び替えるソート手段と、前記ソート手段によりソートされた前記複数のタイマー満了時刻を前記第２のメモリに設定する設定手段とを有してもよい。【００１４】
前記第２のメモリは、前記カウンタの出力値に対応する時刻に最も近いタイマー満了時刻のみを格納してもよい。前記第２のメモリは、前記第１のメモリに格納されている複数のタイマー満了時刻が更新されたときに更新されてもよい。【００１５】
前記第１のメモリは、前記複数のタイマー満了時刻が有効か無効かを設定するためのイネーブル情報を格納し、前記比較機により割り込み信号が生成されたときに該当するタイマー満了時刻のイネーブル情報が無効設定され、前記第２のメモリは、前記イネーブル情報が有効設定されたタイマー満了時刻を格納してもよい。【００１６】
前記第１のメモリは、前記カウンタのキャリーアウト有無を示すキャリーアウト情報を格納し、前記カウンタがキャリーアウトしたときに前記キャリーアウト情報に基づいて前記タイマー満了時刻が更新されてもよい。【００１７】
前記比較機は、前記カウンタの出力側に接続される複数の比較機を有し、前記格納部は、前記複数の比較機に個別に接続される複数のメモリを備え、前記複数のメモリは、前記複数の計時要求に対応する複数のタイマー満了時刻を個別に格納し、各タイマー満了時刻が前記複数の比較機の比較対象のタイマー満了時刻として個別に設定されてもよい。【００１８】
本発明に係る携帯通信端末は、上記いずれかに記載のタイマー回路を備えたことを特徴とする。【００１９】
本発明に係る電子機器は、上記いずれかに記載のタイマー回路を備えたことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、携帯通信端末等の電子機器に搭載されるタイマー回路において、計測時間の異なる複数の計時を測定誤差を低減して実現すると共に消費電力を低減することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態に係るタイマー回路の構成を示すブロック図である。
【図２】図１に示す時刻メモリに格納されるデータ構成を示す図である。
【図３】図１に示す比較レジスタに格納されるデータの構成を示す図である。
【図４】本発明の第１の実施の形態に係るタイマー回路の動作を示すフローチャートである。
【図５】本発明の第１の実施の形態に係るタイマー回路の動作を説明するためのタイミングチャートである。
【図６】本発明の第２の実施の形態に係るタイマー回路の比較レジスタの構成を示すブロック図である。
【図７】本発明の第２の実施の形態に係るタイマー回路の動作を示すフローチャートである。
【図８】本発明の第２の実施の形態に係るタイマー回路の動作を説明するためのタイミングチャートである。
【図９】本発明の第３の実施の形態に係るタイマー回路の構成を示すブロック図である。
【図１０】本発明の第４の実施の形態に係るタイマー回路の構成を示すブロック図である。
【図１１】本発明のタイマー回路を携帯通信端末に適用した場合の概略構成を示す図である。
【図１２】従来例のタイマー回路の動作を説明するためのタイミングチャートである。
【符号の説明】
【００２２】
１０１  カウンタ
１０２  時刻メモリ
１０３  比較レジスタ
１０４  比較機（ＣＭＰ）
１０６  割り込み（ＩＮＴ）
１２０  ＣＰＵ
【発明を実施するための最良の形態】
【００２３】
以下、添付図面を参照して、本発明に係るタイマー回路、これを用いた携帯通信端末及び電子機器を実施するための最良の実施の形態を説明する。【００２４】
［第１の実施の形態］
図１は、本発明の第１の実施の形態の構成を示すブロック図である。図１に示すように、本実施の形態のタイマー回路は、カウンタ１０１と、比較機（ＣＭＰ）１０４と、時刻メモリ（第１のメモリ）１０２と、比較レジスタ（第２のメモリ）１０３とを備え、ＣＰＵ１２０に接続されている。時刻メモリ１０２及び比較レジスタ１０３が本発明の格納部を構成している。【００２５】
ＣＰＵ１２０には、不図示のＲＯＭ及びＲＡＭが接続されている。ＲＯＭには、タイマー回路の駆動プログラムを含む各種のプログラムが格納されていて、必要に応じてＣＰＵ１２０に読み出され実行される。ＲＡＭは、ＣＰＵ１２０のワークエリアを提供するメモリである。ＣＰＵ１２０は、ＣＰＵバス１０８を介して時刻メモリ１０２及び比較レジスタ１０３に接続されている。また、ＣＰＵ１２０は、比較機１０４からの割り込み信号（ＩＮＴ）を入力可能となっている。【００２６】
カウンタ１０１は、入力されるクロック信号ＣＬＫに基づいてカウント動作行い、そのカウント値を比較機１０４に出力する。カウンタ１０１は、本実施の形態では、３０ビットのカウンタで構成され、その３０ビットのカウント値ＴＩＭ［２９：０］を比較機１０４に対して出力する。また、カウンタ１０１は、カウント値が最大値から０に戻る際にキャリーアウト信号（Ｃｏ：Carry Out）を生成して時刻メモリ１０２に出力し、キャリーアウトしたことを通知する。カウント値は、ＣＰＵ１２０により読み出し可能となっている。【００２７】
時刻メモリ１０２は、タイマー回路の計時動作によりＣＰＵ１２０への割り込み信号（ＩＮＴ）の発生タイミングの時刻を設定するタイマー満了値を含むデータが設定されるメモリである。タイマー満了値は、計時要求発生時のカウンタ１０１のカウント値に計時要求の時間を加算して設定される。【００２８】
この時刻メモリ１０２は、本実施の形態では、図２に示す構成となっている。図２に示すように、時刻メモリ１０２には、ＣＰＵ１２０により、３０ビットのタイマー満了時刻に対応するタイマー満了値（time timeout value）を含む３２ビットのデータＴ［０］、Ｔ［１］、…、Ｔ［ｎ−１］、Ｔ［ｎ］（以下、Ｔ［ｘ］）が更新可能に設定される。各Ｔ［ｘ］は、ＣＰＵ１２０からの計測要求があった順に入力される。すなわち、最初のＴ［０］には、最初の計時要求の時刻に対応するタイマー満了値、２番目のＴ［１］には、２番目の計時要求の時刻に対応するタイマー満了値、ｎ番目のＴ［ｎ］には、ｎ番目の計時要求の時刻に対応するタイマー満了値がそれぞれ入力される。そして、計時要求による計時満了により比較機１０４からＣＰＵ１２０への割り込み信号が生成されると、時刻メモリ１０２の該当するＴ［ｘ］は更新される。【００２９】
各Ｔ［ｘ］には、図２に示すように、３０ビット（ｂｉｔ２９〜ｂｉｔ０）のタイマー満了値のほか、１ビット（ｂｉｔ３０）のキャリーアウトビット（Ｃｏ）と、１ビットのイネーブルビット（Ｅｎ）がそれぞれ設定される。【００３０】
キャリーアウトビットは、カウンタ１０１のカウント値がキャリーアウトしたことを示すものである。カウンタ１０１から時刻メモリ１０２にキャリーアウト信号が入力された場合は、キャリーアウトビットの設定値を０から１に変更して、次回のカウント値で割り込みが発生するように時刻メモリ１０２上のデータを変更する。【００３１】
イネーブルビットは、設定された時刻に対応するタイマー満了値のデータが有効が無効を示すものである。このイネーブルビットは、タイマー満了値のデータ設定時は有効となるように設定され、比較機１０４がＣＰＵ１２０に割り込み信号を生成した場合に、割り込み信号を発生させたタイマー満了値のデータに関して無効設定（disable）に変更される。【００３２】
以上のように、時刻メモリ１０２のＴ［ｘ］のタイマー満了値、イネーブルビット、キャリーアウトビットは、ＣＰＵ１２０からの設定による更新があった場合、比較機１０４からＣＰＵへの割り込み信号が生成された場合、カウンタ１０１のカウント値がキャリーアウトした場合に更新される。【００３３】
比較レジスタ１０３には、ＣＰＵ１２０により、時刻メモリ１０２に設定されたＴ［ｘ］のうち、イネーブルビットが有効設定されているデータがソートされ、ソートされた有効なデータが、Ｔ’［０］、Ｔ’［１］、…、Ｔ’［ｎ−１］、Ｔ’［ｎ］（以下、Ｔ’［ｘ］）として設定及び格納される。【００３４】
各Ｔ’［ｘ」は、ＣＰＵ１２０からの設定による更新があった場合、比較機１０４からＣＰＵ１２０への割り込み信号が生成された場合、カウンタ１０１のカウント値がキャリーアウトした場合にそれぞれ更新され、カウント値に最も近い順に昇順にソートされる。これにより、Ｔ［０］には、カウント値に最も近いタイマー満了値が格納され、Ｔ［１］には、その次にカウント値に近いタイマー満了値が格納され、Ｔ［２］以降も同様にソートされたタイマー満了値が格納される。このうち、Ｔ［０］に格納されたタイマー満了値が、比較機１０４の比較対象のタイマー値として出力される。【００３５】
比較機１０４は、カウンタ１０１から出力されるカウント値と、比較レジスタ１０３に格納されているデータＴ’［０］のタイマー値とを入力し、両値が一致しているか否かを判定する。その結果、両値が一致している場合には、ＣＰＵ１２０への割り込み信号（ＩＮＴ）を生成し、ＣＰＵ１２０へ出力する。【００３６】
次に、図４及び図５を参照して、本実施の形態の動作を説明する。【００３７】
図４は、本実施の形態の動作を示すフローチャートであり、図５は、本実施の形態の動作を説明するためのタイミングチャートである。図５には、図４のフローチャートの各ステップに対応するタイミングが記入されている。【００３８】
図４及び図５に示すように、ＣＰＵ１２０から時間Ｔａ、Ｔｂ及びＴｃの計時要求があった場合（時間Ｔｃについては、複数回の計時要求が発生している。）について説明する。【００３９】
まず、ＣＰＵ１２０により時間Ｔａの計時要求が発生する。すると、カウンタ１０１のカウント値がＴ０であるため、ＣＰＵ１２０は、そのＴ０をカウンタ１０１から読み出して、Ｔａと加算してＴ８（Ｔ８＝Ｔ０＋Ｔａ）を計算し、そのＴ８を時刻メモリ１０２のＴ［０］のタイマー満了値に設定する（ステップＳ１）。このタイマー設定時に同時に、Ｔ［０］のイネーブルビットを有効設定する。【００４０】
そして、時刻メモリ１０２のＴ［ｘ］が更新されたため、ＣＰＵ１２０は、比較レジスタ１０３のＴ’［０］のタイマー満了値にＴ８を設定する（ステップＳ２）。これにより、比較機１０４は、カウンタ１０１のカウント値と、比較レジスタ１０２のＴ’［０］＝Ｔ８とを比較する。【００４１】
次に、カウンタ１０１のカウント値が比較レジスタ１０２のＴ’［０］の格納値と一致する前に、ＣＰＵ１２０により時間Ｔｂの計時要求が発生する（ステップＳ３：ＹＥＳ）。このとき、カウント値がＴ１であるので、ＣＰＵ１２０は、そのＴ１をカウンタ１０１から読み出して、Ｔｂと加算してＴ３（Ｔ３＝Ｔ１＋Ｔｂ）を計算し、そのＴ３を時刻メモリ１０２のＴ［１］のタイマー満了値に設定する（ステップＳ４）。このタイマー設定時に同時に、Ｔ［１］のイネーブルビットを有効設定する。【００４２】
そして、時刻メモリ１０２のＴ［ｘ］が更新されたため、ＣＰＵ１２０は、イネーブルビットが有効設定されているデータとして、Ｔ［０］＝Ｔ８と、Ｔ［１］＝Ｔ３とを比較する（ステップＳ５）。その結果、Ｔ３＜Ｔ８であるので、ＣＰＵ１２０は、比較レジスタ１０３のＴ’［ｘ］がＴ’［０］＝Ｔ３、Ｔ’［１］＝Ｔ８となるようにソートして更新する（ステップＳ６）。これにより、比較機１０４は、カウンタ１０１のカウント値と、比較レジスタ１０２のＴ’［０］＝Ｔ３とを比較する。【００４３】
次に、カウンタ１０１のカウント値がＴ’［０］の格納値と一致する前に、ＣＰＵ１２０により時間Ｔｃの計時要求が発生する（ステップＳ７：ＹＥＳ）。このとき、ＣＰＵ１２０は、カウント値がＴ２であるので、そのＴ２をカウンタ１０１から読み出して、Ｔｃと加算してＴ４（Ｔ４＝Ｔ２＋Ｔｃ）を計算し、そのＴ４を時刻メモリ１０２のＴ［２］のタイマー満了値に設定する（ステップＳ８）。このタイマー設定時に同時に、Ｔ［２］のイネーブルビットを有効設定する。【００４４】
そして、時刻メモリ１０２のＴ［ｘ］が更新されたために、ＣＰＵ１２０は、イネーブルビットが有効設定されているデータとして、Ｔ［０］＝Ｔ８と、Ｔ［１］＝Ｔ３と、Ｔ［２］＝Ｔ４とを比較する（ステップＳ９）。その結果、Ｔ３＜Ｔ４＜Ｔ８であるので、比較レジスタ１０３のＴ’［ｘ］がＴ’［０］＝Ｔ３、Ｔ’［１］＝Ｔ４、Ｔ’［２］＝Ｔ８となるようにソートして更新する（ステップＳ１０）。これにより、比較機１０４は、カウンタ１０１のカウント値と、比較レジスタ１０２のＴ’［０］＝Ｔ３とを比較する。【００４５】
なお、本例では、Ｔ［ｘ］のキャリーアウトビットは、設定されていないが、タイマー満了値がカウンタ１０１の最大値を越える場合、カウンタ１０１からのキャリーアウト信号により１に設定される。これにより、Ｔ［ｘ］のタイマー満了値は、カウンタ１０１のキャリーアウト後のカウント値と比較されるように設定される。【００４６】
この状態で、カウンタ１０１のカウント値がＴ３になり、Ｔ’［０］＝Ｔ３と一致すると（ステップＳ１１：ＹＥＳ）、比較機１０４は、ＣＰＵ１２０に対して割り込み信号を発生させる（ステップＳ１２）。そして、ＣＰＵ１２０への割り込み信号が発生したため、時刻メモリ１０２に対して割り込み信号が通知される。これにより、ＣＰＵ１２０は、時刻メモリ１０２内のＴ［ｘ］のうち、Ｔ３に該当するタイマー満了値の設定値を格納しているＴ［１］のイネーブルビットを無効設定する（ステップＳ１３）。【００４７】
そして、Ｔ［１］のイネーブルビットが無効設定されたため、ＣＰＵ１２０は、イネーブルビットが有効設定されているデータとして、Ｔ［０］＝Ｔ８と、Ｔ［２］＝Ｔ４とを比較し、その結果、Ｔ４＜Ｔ８であるので、比較レジスタ１０３のＴ’［ｘ］が、Ｔ’［０］＝Ｔ４、Ｔ’［１］＝Ｔ８となるようにソートして更新する（ステップＳ１４）。【００４８】
以後、複数回の時間Ｔ３の計時要求に対する動作も同様に行われ、その後にカウント値がＴ４となった場合と、カウント値がＴ８となった場合も上記と同様に動作する。なお、本例では説明していないが、カウント値が更新されて０となった場合は、その旨が時刻メモリ１０２に通知され、時刻メモリ１０２内に格納されていたキャリービットがクリアされる。【００４９】
従って、本実施の形態によれば、カウンタのカウント値と比較すべきタイマー値として、メモリを用いてソートした結果を使用し、複数の計時を１つの比較機で実現したため、従来例と比べ同時に動作する回路規模を抑制することができる。【００５０】
また、本実施の形態によれば、比較機からの割り込み出力時にＣＰＵが動作するため、ＣＰＵの処理を低減し、ＣＰＵの不要な動作を大きく削減することができる。この効果は、とくに携帯通信端末のように低消費電力が要求される場合に最大限に発揮させることができる。これは、携帯通信端末では、低消費電力が要求され、ＣＰＵの不要な動作を極力避ける必要があり、また通信に関して複数の異なる長時間のタイマーを必要とする場合が多いためである。【００５１】
また、本実施の形態によれば、カウンタの動作クロック毎に計時開始タイミングと終了タイミングの設定が可能であるため、前述した従来例のような複数の計時を行う際の測定誤差を大幅に低減することができる。
また、本実施の形態では、メモリに複数のデータを格納しているため、連続的に割り込み信号を発生させる場合等に、時刻メモリ内のデータと入れ替える作業が不要になるので、割り込み信号の発生遅れなどがなくなるといった効果もある。【００５２】
以上のように、本実施の形態によれば、動作する回路規模を抑制し、複数の計時を測定誤差を低減して実現でき、ＣＰＵの処理を抑制し、消費電力を低減することができる。この効果は、とくに携帯通信端末向けのＬＳＩ（大規模集積回路）に実装されるタイマー回路に適用した場合に最大限に発揮させることができる。【００５３】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。【００５４】
図６は、本発明の実施の形態のタイマー回路のうち、本発明の格納部を構成する比較レジスタ（第２のメモリ）１０３の構成を示すブロック図である。本実施の形態のその他の部分は、第１の実施の形態と同様の構成をとる。第１の実施の形態の比較レジスタ１０３は、複数のＴ’［ｘ］が設定され、各Ｔ’［ｘ］には、要求された複数のタイマー満了時刻の設定値がソートされた状態で格納されている。これに対し、本実施の形態では、図６に示すように、Ｔ’［０］のみが設定され、１つのタイマー満了時刻のみを格納している。Ｔ’［０］に格納されるデータは、前述と同様に、時刻メモリ１０２のＴ［ｘ］のイネーブルビットが有効設定されているタイマー満了値の設定値のうち、最もカウント値に近いものである。【００５５】
図７は、本実施の形態の動作を示すフローチャートであり、図８は、本実施の形態の動作を説明するためのタイミングチャートである。図８には、図７のフローチャートの各ステップに対応するタイミングが記入されている。【００５６】
図７及び図８に示すように、本実施の形態でも、時間Ｔａ、Ｔｂ及びＴｃの計時要求があった場合（Ｔｃについては、複数回の計時要求が発生している。）について説明する。【００５７】
まず、ＣＰＵ１２０により時間Ｔａの計時要求が発生する。すると、ＣＰＵ１２０は、カウンタ１０１のカウント値がＴ０であるので、ＣＰＵ１２０は、そのＴ０をカウンタ１０１から読み出して、Ｔａと加算してＴ８（Ｔ８＝Ｔ０＋Ｔａ）を計算し、そのＴ８を時刻メモリ１０２のＴ［０］のタイマー満了値に設定する（ステップＳ２１）。このタイマー設定時に同時に、Ｔ［０］のイネーブルビットを有効設定する。【００５８】
そして、時刻メモリ１０２のＴ［ｘ］が更新されたため、ＣＰＵ１２０は、比較レジスタ１０３のＴ’［０］のタイマー満了値にＴ８を設定する（ステップＳ２２）。これにより、比較機１０４は、カウンタ１０１のカウント値と、比較レジスタ１０２のＴ’［０］＝Ｔ８とを比較する。【００５９】
次に、カウンタ１０１のカウント値が比較レジスタ１０２のＴ’［０］の格納値と一致する前に、ＣＰＵ１２０により時間Ｔｂの計時要求が発生する（ステップＳ２３：ＹＥＳ）。このとき、カウント値がＴ１であるので、ＣＰＵ１２０は、そのＴ１をカウンタ１０１から読み出して、Ｔｂと加算してＴ３（Ｔ３＝Ｔ１＋Ｔｂ）を計算し、そのＴ３を時刻メモリ１０２のＴ［１］のタイマー満了値に設定する（ステップＳ２４）。このタイマー設定時に同時に、Ｔ［１］のイネーブルビットを有効設定する。【００６０】
そして、時刻メモリ１０２のＴ［ｘ］が更新されたため、ＣＰＵ１２０は、イネーブルビットが有効設定されているデータとして、Ｔ［０］＝Ｔ８と、Ｔ［１］＝Ｔ３とを比較する（ステップＳ２５）。その結果、Ｔ３＜Ｔ８であるので、ＣＰＵ１２０は、比較レジスタ１０３が、Ｔ’［０］＝Ｔ３となるように更新する（ステップＳ２６）。これにより、比較機１０４は、カウンタ１０１のカウント値と、比較レジスタ１０２のＴ’［０］＝Ｔ３とを比較する。【００６１】
次に、カウンタ１０１のカウント値がＴ’［０］の格納値と一致する前に、ＣＰＵ１２０により時間Ｔｃの計時要求が発生する（ステップＳ２７：ＹＥＳ）。このとき、ＣＰＵ１２０は、カウント値がＴ２であるので、そのＴ２をカウンタ１０１から読み出して、Ｔｃと加算してＴ４（Ｔ４＝Ｔ２＋Ｔｃ）を計算し、そのＴ４を時刻メモリ１０２のＴ［２］のタイマー満了値に設定する（ステップＳ２８）。このタイマー設定時に同時に、Ｔ［２］のイネーブルビットを有効設定する。【００６２】
そして、時刻メモリ１０２のＴ［ｘ］が更新されたために、ＣＰＵ１２０は、イネーブルビットが有効設定されているデータとして、Ｔ［０］＝Ｔ８と、Ｔ［１］＝Ｔ３と、Ｔ［２］＝Ｔ４とを比較する（ステップＳ２９）。その結果、Ｔ３＜Ｔ４＜Ｔ８であるので、比較レジスタ１０３が、Ｔ’［０］＝Ｔ３となるように更新する（ステップＳ３０）。これにより、比較機１０４は、カウンタ１０１のカウント値と、比較レジスタ１０２のＴ’［０］＝Ｔ３とを比較する。【００６３】
この状態で、カウンタ１０１のカウント値がＴ３になり、Ｔ’［０］＝Ｔ３と一致すると（ステップＳ３１：ＹＥＳ）、比較機１０４は、ＣＰＵ１２０に対して割り込み信号を発生させる（ステップＳ３２）。そして、ＣＰＵ１２０への割り込み信号が発生したため、時刻メモリ１０２に対して割り込み信号が通知される。これにより、ＣＰＵ１２０は、時刻メモリ１０２内のＴ［ｘ］のうち、Ｔ３に該当するタイマー満了値の設定値を格納しているＴ［１］のイネーブルビットを無効設定する（ステップＳ３３）。【００６４】
そして、Ｔ［１］のイネーブルビットが無効設定されたため、ＣＰＵ１２０は、イネーブルビットが有効設定されているデータとして、Ｔ［０］＝Ｔ８と、Ｔ［２］＝Ｔ４とを比較し、その結果、Ｔ４＜Ｔ８であるので、比較レジスタ１０３が、Ｔ’［０］＝Ｔ４となるように更新する（ステップＳ３４）。【００６５】
以後、複数回の時間Ｔ３の計時要求に対する動作も同様に行われ、その後にカウント値がＴ４となった場合と、カウント値がＴ８となった場合も上記と同様に動作する。【００６６】
従って、本実施の形態によれば、第１の実施の形態の効果に加え、比較レジスタに１つのタイマー満了時刻を設定するため、比較レジスタの構成がより簡易になるという効果が得られる。【００６７】
［第３の実施の形態］
以下、本発明の第３の実施の形態について説明する。第１の実施の形態では、カウント値と比較すべきタイマー値として、メモリを用いてソートした結果を用いて、１つの比較機にて実現している。これに対し、本実施の形態では、複数の比較機を用いて、それぞれの比較機に入力される複数の計時要求に対応するタイマー満了値を設定する構成を採用している。【００６８】
図９は、本発明の第３の実施の形態の構成を示すブロック図である。図９に示すように、本実施の形態のタイマー回路には、ＣＰＵ５３０と、３１ビットのカウンタ５０１のほか、その３０ビットのカウント値ＴＩＭ［３０：０］の出力側に複数の比較機５２１、５２２が設けられる。各比較機５２１、５２２の３１ビットのタイマー満了値［３０：０］の入力側には、それぞれ比較レジスタ（格納部）５１１、５１２が設けられている。各比較機５２１、５２２の出力側には、レジスタ５０２及びＯＲ回路５０３が並列に接続されている。【００６９】
各比較レジスタ５１１、５１２は、各計時要求に対応するタイマー満了値のほか、そのタイマー満了値の有効／無効を示すイネーブルビット［３１］を各比較機５２１、５２２に出力可能となっている。各比較機５２１、５２２は、各比較レジスタ５１１、５１２のイネーブルビットが有効のときに、カウンタ５０１のカウント値と、各比較レジスタ５１１、５１２のタイマー満了値とを比較し、両値が一致している場合に割り込み信号を生成し、その割り込み信号をレジスタ５０２及びＯＲ回路５０３にそれぞれ出力する。【００７０】
レジスタ５０２は、その各比較機５２１、５２２の出力値を格納する。ＯＲ回路５０３は、各比較機５２１、５２２からの割り込み信号の出力のいずれかを入力したときに、その入力を１つの割り込み信号（ＩＮＴ）としてＣＰＵ５３０に出力する。ＣＰＵ５３０は、レジスタ５０２の格納データを参照して、ＯＲ回路５０３からの割り込み信号が、いずれの比較機５２１、５２２からの割り込み信号であるのかを判断し、これに基づき、割り込み処理を行う。【００７１】
従って、本実施の形態においても、第１の実施の形態と同様の動作及び効果が得られ、ＣＰＵの不要な割り込み処理を低減して、複数のタイマー計測を１つのカウンタで実現することが可能となる。【００７２】
［第４の実施の形態］
以下、本発明の第４の実施の形態について説明する。本実施の形態は、第３の実施の形態に対し、カウンタのビット長を大きくして３８ビットとし、比較機に入力するビット長をＴＩＭ［３０：０］とＴＩＭ［３７：７］と分けることで、最大測定時間の異なるタイマー計測を同一のカウンタにより実現している。【００７３】
図１０は、本発明の第４の実施の形態の構成を示すブロック図である。図１０に示すように、本実施の形態は、ＣＰＵ６３０と、カウンタ６０１のほか、その３８ビットのカウント値ＴＩＭ［３７：０］の出力側のうち、下位３１ビットのカウント値ＴＩＭ［３０：０］の出力側に複数の比較機６２１、６２２が、上位３１ビットのカウント値ＴＩＭ［３７：７］の出力側に複数の比較機６２３、６２４が、それぞれ設けられている。各比較機６２１〜６２４の３１ビットのタイマー満了値［３０：０］の入力側には、それぞれ比較レジスタ（格納部）６１１〜６１４が設けられている。各比較機６２１〜６２４の出力側には、レジスタ６０２及びＯＲ回路６０３が並列に接続されている。【００７４】
各比較レジスタ６１１〜６１４は、各計時要求に対応するタイマー満了値のほか、そのタイマー満了値の有効／無効を示すイネーブルビット［３１］を各比較機６２１〜６２４に出力可能となっている。各比較機６２１〜６２４は、各比較レジスタ６１１〜６１４のイネーブルビットが有効のときに、カウンタ６０１のカウント値と、各比較レジスタ６１１〜６１４のタイマー満了値とを比較し、両値が一致している場合に割り込み信号を生成し、その割り込み信号をレジスタ６０２及びＯＲ回路６０３にそれぞれ出力する。【００７５】
レジスタ６０２は、その各比較機６２１〜６２４の出力値を格納する。ＯＲ回路６０３は、各比較機６２１〜６２４からの割り込み信号の出力のいずれかを入力したときに、その入力を１つの割り込み信号（ＩＮＴ）としてＣＰＵ６３０に出力する。ＣＰＵ６３０は、レジスタ６０２の格納データを参照して、ＯＲ回路５０３からの割り込み信号が、いずれの比較機５２１、５２２からの割り込み信号であるのかを判断し、これに基づき、割り込み処理を行う。【００７６】
従って、本実施の形態によれば、第４の実施の形態と同様の動作及び効果に加え、カウンタのビット長を大きくし、比較機に入力するカウント値をビット長の異なる２つのカウント値に分けているため、最大測定時間の異なるタイマーを同一のカウンタにより実現することが可能である。【００７７】
（応用例）
上記の各実施の形態で説明したタイマー回路は、携帯電話機などの携帯通信端末に搭載することができる。この場合、例えば図１２に示すように携帯通信端末１００を構成する無線機部、信号処理部、制御部等の各部（非図示）の少なくとも一部を構成する１つ又は複数のＬＳＩ（大規模集積回路）１０１に、上記構成のタイマー回路１０２が実装される。なお、上記のタイマー回路は、携帯通信端末以外の電子機器に適用できることは言うまでもない。【００７８】
以上、本発明の各実施の形態を詳細に説明したが、本発明は、代表的に例示した上述の各実施の形態に限定されるものではなく、当業者であれば、特許請求の範囲の記載内容に基づき、本発明の要旨を逸脱しない範囲内で種々の態様に変形、変更することができる。これらの変形例や変更例も本発明の権利範囲に属するものである。
【産業上の利用可能性】
【００７９】
本発明は、携帯通信端末等の電子機器に搭載されるタイマー回路の用途に適用でき、とくに携帯電話機などの携帯通信端末向けのＬＳＩ等の各種回路に実装されるタイマー回路に利用することができる。
【図１】
2006106917.tif 000002
【図２】
2006106917.tif 000003
【図３】
2006106917.tif 000004
【図４】
2006106917.tif 000005
【図５】
2006106917.tif 000006
【図６】
2006106917.tif 000007
【図７】
2006106917.tif 000008
【図８】
2006106917.tif 000009
【図９】
2006106917.tif 000010
【図１０】
2006106917.tif 000011
【図１１】
2006106917.tif 000012
【図１２】
2006106917.tif 000013
【国際調査報告】
2006106917.tif 000014
2006106917.tif 000015
2006106917.tif 000016