(57)【特許請求の範囲】
【請求項１】
複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御装置であって、
前記タイマ値を更新するタイマ値更新手段と、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出手段と、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出手段と、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理手段と、
を有するマルチインターバルタイマの制御装置。
【請求項２】
前記タイムアウト処理は、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を前記タイムアウトバッファに書き込むことと、前記タイマ値及び前記タイムアウト回数をクリアすることとを含む、
請求項１記載のマルチインターバルタイマの制御装置。
【請求項３】
前記タイマメモリはタイマＲＡＭであり、前記外部装置はＣＰＵである、
請求項１又は２記載のマルチインターバルタイマの制御装置。
【請求項４】
請求項１乃至３のいずれか一つに記載の制御装置と、前記タイマメモリと、前記タイムアウトバッファと、
を備えたマルチインターバルタイマ。
【請求項５】
複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御方法であって、
前記タイマ値を更新するタイマ値更新ステップと、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出ステップと、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出ステップと、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理ステップと、
を含むマルチインターバルタイマの制御方法。
【請求項６】
前記タイムアウト処理は、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を前記タイムアウトバッファに書き込むことと、前記タイマ値及び前記タイムアウト回数をクリアすることとを含む、
請求項５記載のマルチインターバルタイマの制御方法。
【請求項７】
前記タイマメモリはタイマＲＡＭであり、前記外部装置はＣＰＵである、
請求項５又は６記載のマルチインターバルタイマの制御方法。
【請求項８】
複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御プログラムであって、
前記タイマ値を更新するタイマ値更新手段と、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出手段と、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出手段と、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理手段と、
をコンピュータに機能させるためのマルチインターバルタイマの制御プログラム。
【請求項９】
前記タイムアウト処理は、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を前記タイムアウトバッファに書き込むことと、前記タイマ値及び前記タイムアウト回数をクリアすることとを含む、
請求項８記載のマルチインターバルタイマの制御プログラム。
【請求項１０】
前記タイマメモリはタイマＲＡＭであり、前記外部装置はＣＰＵである、
請求項８又は９記載のマルチインターバルタイマの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、移動無線通信装置における各無線機の呼出応答のタイミング制御や、時分割で複数の装置を制御する分野で用いられ、複数のタイマの残り時間を示すタイマ値を管理するマルチインターバルタイマに関し、詳しくはその制御装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
この種のマルチインターバルタイマは、一般に、複数のタイマのタイマ値を格納するタイマメモリと、タイムアウトしたタイマのタイマ番号を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、タイマメモリ及びタイムアウトバッファを制御する制御部とを備えている（例えば特許文献１参照）。
【０００３】
比較的大きなタイマ数を持つマルチインターバルタイマにおいて、タイマ数と同規模か比較的多数のタイマ番号を格納できるタイムアウトバッファを用いて構成すると、一回のタイマ更新周期内で多くのタイマが同時にタイムアウトした場合に、外部装置であるＣＰＵの処理がオーバーフローし、ＣＰＵの処理が一回のタイマ更新周期内で終わらないという問題があった。
【０００４】
また、ＣＰＵの処理能力を考慮しタイマ数に比較してタイムアウトバッファの数を減らしたマルチインターバルタイマにおいても、一回のタイマ更新周期内で多くのタイマがタイムアウトした場合、タイムアウトバッファがフル状態になった後にタイムアウトしたタイマ番号がタイムアウトバッファに書き込まれず破棄されたり、先にタイムアウトしたタイマ番号がタイムアウトバッファから押し出されたりするという問題があった。
【０００５】
このような問題に対して、次の特許文献２が開示されている。
【０００６】
特許文献２には、次のタイマ装置が記載されている。ＲＡＭにはタイマ毎の残り時間を示すタイマ値が格納され、カウント処理部によってタイマ値の更新及びタイムアウトの検出が行なわれる。タイムアウトしたタイマのタイマ番号は、タイムアウト番号バッファに順次記憶され、外部インタフェースを介して外部装置へ出力される。タイムアウト番号バッファがフルに記憶されているときは、ＲＡＭにタイムアウト状態を保持する。
【０００７】
特許文献２では、タイムアウトバッファがフル状態の場合に新たにタイマがタイムアウトしたときは、そのタイマ番号をタイムアウトバッファに書き込まず、そのタイマ値をタイムアウト状態に保持する構成となっている（段落００２１）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−２１４２７４号公報
【特許文献２】特開２００５−０３０９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献２では、タイムアウトバッファがフル状態の場合に新たにタイマがタイムアウトしたとき、そのタイマ番号をタイムアウトバッファに書き込まず、そのタイマ値をタイムアウト状態に保持するだけである。そのため、その情報を入力した外部装置では、本来のタイムアウトになるべき時間が不明となるため、正確な時間管理ができないという問題があった。
【００１０】
そこで、本発明の目的は、タイムアウトバッファがフル状態のときにタイムアウトしたタイマの通知漏れを防ぐとともに、そのタイマについて本来のタイムアウトになるべき時間の情報も得られる、マルチインターバルタイマ等を提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係るマルチインターバルタイマの制御装置は、
複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御装置であって、
前記タイマ値を更新するタイマ値更新手段と、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出手段と、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出手段と、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理手段と、
を有する。
【００１２】
本発明に係るマルチインターバルタイマの制御方法は、
複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御方法であって、
前記タイマ値を更新するタイマ値更新ステップと、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出ステップと、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出ステップと、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理ステップと、
を含む。
【００１３】
本発明に係るマルチインターバルタイマの制御プログラムは、
複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御プログラムであって、
前記タイマ値を更新するタイマ値更新手段と、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出手段と、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出手段と、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理手段と、
をコンピュータに機能させるためのものである。
【発明の効果】
【００１４】
本発明によれば、タイムアウトバッファがフル状態である場合にタイマのタイムアウトが発生したとき、タイムアウト処理を実行せずにタイムアウト回数を更新する動作をタイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、タイムアウトバッファがフル状態でなくなったときにタイムアウト処理を実行するようにしたので、タイムアウトバッファがフル状態のときにタイムアウトしたタイマの通知漏れを防ぐとともに、そのタイマについて本来のタイムアウトになるべき時間の情報もタイムアウト回数によって得ることができる。したがって、外部装置でのタイマの正確な時間管理を達成できる。
【図面の簡単な説明】
【００１５】
【図１】実施形態１のマルチインターバルタイマ及びその制御装置を示すブロック図である。
【図２】実施形態１のマルチインターバルタイマの制御方法を示すフローチャートである。
【図３】実施例１のマルチインターバルタイマ回路の構成を示すブロック図である。
【図４】図３におけるタイマＲＡＭのアドレスマップを示す図表である。
【図５】図３のマルチインターバルタイマ回路の動作を示すフローチャートである。
【図６】図３のマルチインターバルタイマ回路の動作を示すタイミングチャート（その１）である。
【図７】図３のマルチインターバルタイマ回路の動作を示すタイミングチャート（その２）である。
【図８】図３のマルチインターバルタイマ回路の動作を示すタイミングチャート（その３）である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照しながら、本発明を実施するための形態（以下「実施形態」という。）について説明する。
【００１７】
図１は、実施形態１のマルチインターバルタイマ及びその制御装置を示すブロック図である。以下、この図面に基づき説明する。
【００１８】
マルチインターバルタイマ３０は、複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリ３４と、タイムアウトしたタイマのタイマ番号及びタイムアウト回数を外部装置３１へ出力するまで一時的に格納するタイムアウトバッファ１０と、タイマメモリ３４及びタイムアウトバッファ１０を制御する制御装置２０とを備えている。
【００１９】
制御装置２０は、タイマ値を更新するタイマ値更新手段２１と、タイマ値に基づきタイマのタイムアウトを検出するタイムアウト検出手段２２と、タイムアウトバッファ１０がフル状態であるか否かを検出するフル状態検出手段２３と、タイムアウトバッファ１０がフル状態である場合にタイマのタイムアウトが発生したとき、タイムアウト処理を実行せずにタイムアウト回数を更新する動作をタイムアウトバッファ１０がフル状態でなくなるまで更新周期ごとに繰り返し、タイムアウトバッファ１０がフル状態でなくなったときにタイムアウト処理を実行するタイムアウト処理手段２４と、を有する。更新周期とは、例えば一定時間である。
【００２０】
タイムアウト処理は、タイムアウトしたタイマのタイマ番号及びタイムアウト回数をタイムアウトバッファ１０に書き込むことと、タイマ値及びタイムアウト回数をクリアすることとを含む、としてもよい。
【００２１】
制御装置２０は、ハードウェア（電子回路、ＩＣなど）でも実現できるし、ソフトウェア（すなわちプログラム）でも実現できる。実施形態１の制御プログラムは、実施形態１の制御装置２０の各手段をコンピュータに機能させるためのものである。そのコンピュータは、ＣＰＵ、メモリ、入出力インタフェース等からなる一般的なものでよい。本プログラムはメモリに格納され、ＣＰＵはメモリから本プログラムを一行ずつ読み出し、解釈し、実行する。また、本プログラムは、非一時的な記録媒体（non-transitory storage medium）、例えば光ディスク、半導体メモリなどに記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
【００２２】
図２は、実施形態１のマルチインターバルタイマの制御方法を示すフローチャートである。以下、図１及び図２に基づき説明する。
【００２３】
実施形態１の制御方法は、実施形態１の制御装置２０の動作を方法の発明として捉えたものである。すなわち、実施形態１の制御方法は、タイマ値を更新するタイマ値更新ステップ２０１と、タイマ値に基づきタイマのタイムアウトを検出するタイムアウト検出ステップ２０２と、タイムアウトバッファ１０がフル状態であるか否かを検出するフル状態検出ステップ２０３と、タイムアウトバッファ１０がフル状態である場合にタイマのタイムアウトが発生したとき、タイムアウト処理を実行せずにタイムアウト回数を更新する動作をタイムアウトバッファ１０がフル状態でなくなるまで更新周期ごとに繰り返し、タイムアウトバッファ１０がフル状態でなくなったときにタイムアウト処理を実行するタイムアウト処理ステップ２０４，２０５と、を含む。
【００２４】
本実施形態によれば、タイムアウトバッファ１０がフル状態である場合にタイマのタイムアウトが発生したとき、タイムアウト処理を実行せずにタイムアウト回数を更新する動作をタイムアウトバッファ１０がフル状態でなくなるまで更新周期ごとに繰り返し、タイムアウトバッファ１０がフル状態でなくなったときにタイムアウト処理を実行するようにしたので、タイムアウトバッファ１０がフル状態のときにタイムアウトしたタイマの通知漏れを防ぐとともに、そのタイマについて本来のタイムアウトになるべき時間の情報もタイムアウト回数によって得ることができる。したがって、外部装置３１でのタイマの正確な時間管理を達成できる。
【００２５】
また、本実施形態では、タイマごとにタイムアウト情報ビットを設けることにより、タイムアウトバッファ１０がフル状態の時にタイムアウトしたタイマについて、そのタイマ値をタイムアウト状態に保持し、タイムアウト情報ビットでその回数をカウントする構成となっている。そのため、タイムアウトバッファ１０のフル状態でタイムアウトしたタイマの通知漏れを防ぐとともに、そのタイマ番号とタイムアウト情報とを通知することにより、そのタイマのタイムアウトに関する正確な情報を提供できる。つまり、タイムアウトバッファ１０のフル状態でタイムアウト保留になったタイマについて、最終的にタイムアウト処理された時のタイムアウト情報を外部装置３１へ提供することにより、本来タイムアウト処理すべきタイミングから何周期後にタイムアウト処理されたかを外部装置３１で正確に把握できる。
【００２６】
次に、実施形態１のマルチインターバルタイマ及びその制御装置を、更に具体化した実施例１について説明する。本実施例では、図１における「マルチインターバルタイマ」、「外部装置」、「タイマメモリ」を、それぞれ「マルチインターバルタイマ回路」、「ＣＰＵ」、「タイマＲＡＭ」としている。図３は、実施例１のマルチインターバルタイマ回路の構成を示すブロック図である。以下、この図面に基づき説明する。
【００２７】
図３には、ＣＰＵ１とマルチインターバルタイマ回路２とが示されている。ＣＰＵ１は、タイマ値の書き込み及び読み出し、タイマ動作開始設定、並びに、タイムアウトバッファ１０に格納されたタイマ番号の、タイムアウト割り込みによるリードを行う。マルチインターバルタイマ回路２は、タイマＲＡＭ４、タイムアウトバッファ１０及び制御装置２０を備えている。制御装置２０は、ＣＰＵアクセス制御部３、タイマアドレス制御部５、アクセス調停部６、アドレス選択部７、ライトデータ選択部８、タイマ更新制御部９、ＲＡＭ制御部１１及びタイムアウト情報生成部１２からなる。本実施例における制御装置２０は図１の制御装置よりも多くの機能を有しており、本実施例における制御装置２０の各機能の一部が図１の各手段に相当する。
【００２８】
ＣＰＵアクセス制御部３は、ＣＰＵ１からの各種ＣＰＵアクセスを検出し、タイマ側の制御信号生成、及び、ＣＰＵリードアクセス時のリードデータの出力を行う。タイマＲＡＭ４は、タイマ数分のアドレスと、アドレス毎のタイマ設定範囲及びタイムアウト情報のデータエリアとを持ち、タイマ毎にタイマ値及びタイムアウト回数情報が格納される。タイマアドレス制御部５は、ＣＰＵアクセス制御部３から入力されたタイマＯＮ信号をトリガに、タイマ更新のためのタイマ番号（タイマＲＡＭアドレス）の生成を行う。アクセス調停部６は、ＣＰＵアクセス制御部３からタイマＲＡＭ４へのタイマ値のリードライトアクセスと、タイマ更新によるタイマＲＡＭ４へのリードライトアクセスとを調停し、アドレス選択信号、データ選択信号、タイムアウトバッファライト信号を生成する。アドレス選択部７は、アクセス調停部６から出力されるアドレス選択信号により、ＣＰＵアクセス時及びタイマ更新時のＲＡＭアドレスを選択する。ライトデータ選択部８は、アクセス調停部６から出力されるデータ選択信号により、ＣＰＵアクセスと、タイマ更新時のＲＡＭライトデータ（更新タイマ値とタイムアウト回数情報）とを選択する。タイマ更新制御部９は、タイマ更新時にタイマＲＡＭ４からリードしたタイマ値とタイムアウトバッファ１０のバッファフル状態とによりタイムアウト可能か否かを判断し、タイムアウト情報とタイマ更新データとを出力する。タイムアウト情報生成部１２は、タイマ更新時にタイマＲＡＭ４からリードしたタイムアウト回数情報と、タイマ更新制御部９からのタイムアウト情報とにより、タイムアウト回数情報を新たに生成する。タイムアウトバッファ１０は、タイマ更新制御部９から出力されるタイムアウト情報により、タイマアドレス制御部５から出力されるタイマ番号とタイムアウト情報生成部１２から出力されるタイムアウト回数情報とを格納する。ＲＡＭ制御部１１は、タイマＲＡＭ４のライトパルスを生成する。
【００２９】
換言すると、本実施例のマルチインターバルタイマ回路２は、複数のタイマのタイマ値及びタイムアウト回数情報を格納するタイマＲＡＭ４と、タイマＲＡＭ４にＣＰＵ１より初期タイマ値の設定を行う手段と、ＣＰＵ１よりタイマ動作ＯＮ設定された後にタイマＲＡＭ４にアクセスして各タイマのタイマ値のデクリメントとタイマＲＡＭ４のタイマ値及びタイムアウト回数情報の更新とを行う手段と、タイムアウトしたタイマのタイマ番号及びタイムアウト回数情報を格納するタイムアウトバッファ１０と、タイムアウトバッファ１０にタイムアウトしたタイマ番号及びタイムアウト回数情報を記憶する手段と、タイムアウトバッファ１０がバッファフル状態でタイマのタイムアウトが発生した場合にタイムアウト処理は行わずにタイムアウト回数情報を生成しタイマＲＡＭ４のタイムアウト回数情報を更新する手段と、タイムアウトバッファ１０にタイムアウトしたタイマ番号が格納されている場合にＣＰＵ１に割りこみを出力する手段と、ＣＰＵ１のリードアクセス時にタイムアウトバッファ１０からタイマ番号及びタイムアウト回数情報をＣＰＵ１に出力する手段とを有する。
【００３０】
そして、マルチインターバルタイマ回路２は、タイマＲＡＭ４に格納するタイマ値とタイムアウトバッファ１０に格納するタイマ番号とにタイムアウト回数情報を付加し、タイムアウトバッファ１０がフル状態になった後にタイムアウト可能な状態になったタイマについてタイムアウト処理を行わず、次の更新周期でタイムアウトバッファ１０に空きができた時点でそのタイムアウト処理を行うことにより、タイムアウトしたタイマ番号のＣＰＵ１への通知漏れを防止し、更に必要最低限のタイムアウトバッファ１０で大規模なマルチインターバルタイマ回路を構成可能とする。
【００３１】
本実施例のマルチインターバルタイマ回路２について、更に詳しく説明する。ＣＰＵ１は、タイマ値の書き込み及び読み出し、タイマ動作開始設定、並びに、タイムアウトバッファ１０に格納されたタイムアウトしたタイマ番号の、タイムアウト割り込みによる読み出しを行う。ＣＰＵアクセス制御部３は、各種ＣＰＵアクセスを検出し、タイマＲＡＭ４側の動作信号生成と、各ＣＰＵリードアクセス時のリードデータの出力とを行う。タイマＲＡＭ４は、タイマ数分のアドレスを持ち、タイマ値設定範囲及びタイムアウト情報分のデータ幅のエリアを持つＲＡＭであり、各タイマのタイマ値及びタイムアウト回数情報が格納される。タイマアドレス制御部５は、タイマＯＮ後にタイマ更新周期毎にタイマ番号（タイマＲＡＭアドレス）の生成を行う。アクセス調停部６は、ＣＰＵ１からタイマＲＡＭ４へのリードライトアクセスと、タイマ更新時のタイマＲＡＭ４へのアクセスとを調停する。アドレス選択部７は、ＣＰＵアクセス時とタイマ更新アクセス時とのタイマＲＡＭアドレスの選択を行う。ライトデータ選択部８は、ＣＰＵライトアクセス時とタイマ更新アクセス時とのタイマＲＡＭライトデータの選択を行う。タイマ更新時のライトデータは、タイマ更新制御部９から出力される更新（デクリメント）されたタイマ値と、タイムアウト情報生成部１２から出力されるタイムアウト回数情報となる。タイマ更新制御部９は、通常はタイマ更新時にタイマＲＡＭ４からリードしたタイマ値をデクリメントしてライトデータ選択部８へ出力し、タイムアウトバッファ１０がフル状態の時はタイマＲＡＭ４からリードしたタイマ値１をそのままライトデータ選択部８へ出力する。タイムアウトバッファ１０は、タイムアウト時にタイマアドレス制御部５から出力されたタイマ番号とタイムアウト情報生成部１２が出力するタイムアウト回数情報とを格納する。ＲＡＭ制御部１１は、タイマＲＡＭ４へのライトイネーブル信号を生成する。タイムアウト情報生成部１２は、タイムアウトバッファ１０がバッファフル状態の時にタイマ更新制御部９が出力する情報とタイマＲＡＭ４からリードしたタイムアウト回数情報とを更新（インクリメント）し、タイムアウトバッファ１０とライトデータ選択部８に出力する。
【００３２】
図４は、図３におけるタイマＲＡＭ４のアドレスマップを示す図表である。図５は、図３のマルチインターバルタイマ回路２の動作を示すフローチャートである。図６乃至図８は、図３のマルチインターバルタイマ回路２の動作を示すタイミングチャートである。以下、図３のマルチインターバルタイマ回路２の動作について、図３乃至図８を参照して説明する。
【００３３】
最初に、ＣＰＵ１は、タイマ数分のアドレスエリアを持つタイマＲＡＭ４に、タイマ初期値を設定する（図５ステップ１０１）。タイマＲＡＭ４のアドレス／ビットマップは、図４に示すとおりである。図４のビットマップでは、タイマ値は１４ビット、タイムアウト回数情報は２ビットであるため、タイマのカウント範囲は更新周期×１６３８３、タイムアウトバッファがフル状態でのタイムアウト回数は３回まで計数可能となる。
【００３４】
ＣＰＵアクセス制御部３は、ＣＰＵ１からタイマＲＡＭ４へのライトアクセスを検出し、アクセス調停部６にリクエスト信号を出力し、アクセス調停部６からアクノリッジ信号が返送されたら、ＣＰＵアドレスとＣＰＵデータを出力する。そのとき、アクセス調停部６から出力されるアドレス選択信号及びデータ選択信号は、ＣＰＵアクセス制御部３が出力するＣＰＵアドレス及びＣＰＵデータを選択し、タイマＲＡＭ４にタイマ初期値の書き込みを行う。このとき、タイムアウト回数情報エリアには「０」をライトする。
【００３５】
タイマ初期値のライトが終了した後、ＣＰＵ１はタイマ動作ＯＮを設定する（図５ステップ１０２）。ＣＰＵアクセス制御部３は、ＣＰＵ１からのタイマ動作ＯＮ設定を検出してタイマアドレス制御部５に出力する。タイマアドレス制御部５は、タイマ動作ＯＮをトリガとしてタイマ番号（タイマＲＡＭアドレス）の生成を開始し、更新周期毎にタイマ０からタイマ４０９５までのタイマ番号を出力する（図５ステップ１０３〜１０７）。タイマ更新は、タイマアドレス制御部５で生成したタイマ番号に従って順番に実施する。タイマ更新の動作タイミングは、タイマアドレス制御部５からアクセス調停部６に出力されるリクエスト信号のタイミングから、アクセス調停部６で生成する。
【００３６】
図６のタイミングチャートは、通常のタイマ更新時のタイミングを示す。タイマＲＡＭ４からタイマ０のタイマ値ｎをリードしたらタイマ更新制御部９でデクリメントし、タイマ値ｎ−１をタイマＲＡＭ４のタイマ０アドレスにライトする（図５ステップ１１０，１１５，１１６，１１３又はステップ１１０，１１１，１１４，１１３）。同様に、タイマ４０９５までのタイマ更新を行う。次のタイマ更新周期タイミングが来たらタイマ０からタイマ更新を繰り返し、タイマ停止となるタイマ値０までタイマ値更新を行う。
【００３７】
図７のタイミングチャートは、タイムアウトバッファ１０がエンプティ状態でタイマ０がタイムアウトした場合のタイミングを示す。タイムアウトバッファ１０に空きが有る状態では、タイマＲＡＭ４からタイマ０のタイマ値１をリードしたらタイマ値のデクリメントを行いタイマ値０を出力し、タイマＲＡＭ４のタイマ０アドレスにライトする（図５ステップ１１０，１１５，１１６，１１７，１１３）。同様に、タイマ４０９５までのタイマ更新を行う。タイマ値０はタイマ停止となり、タイマ停止のタイマはタイマＲＡＭ４の更新は行わない。
【００３８】
図８のタイミングチャートは、タイムアウトバッファ１０がフル状態でタイマ０がタイムアウトした場合のタイミングを示す。タイムアウトバッファ１０がフル状態では、タイマＲＡＭ４からリードしたタイマ値１のデクリメントは行わず、タイマ値１をそのままタイマＲＡＭ４に書き戻す（図５ステップ１１０，１１１，１１２，１１３）。一方、タイマＲＡＭ４からリードしたタイムアウト回数情報０は、インクリメントしてタイマＲＡＭ４に書き戻す（図５ステップ１１２）。次の更新周期の前にタイムアウトバッファ１０に空きができているため、次のタイマ０の更新時にはタイマ値１はデクリメントして０、タイムアウト回数情報１は、クリアして０をタイマＲＡＭ４に書き戻す（図５ステップ１１０，１１５，１１６，１１７，１１３）。
【００３９】
次に、本実施例の効果を説明する。本実施例のマルチインターバルタイマ回路２によれば、タイマ数に対してタイムアウトバッファ１０のタイマ番号格納数が少ない大規模マルチインターバルタイマ回路において、タイムアウトバッファ１０がフル状態でタイムアウトしたタイマのタイムアウト処理を行わず、タイムアウトバッファ１０に空きができた後の更新周期でタイムアウト処理を行うことにより、タイマのタイムアウトのＣＰＵ１への通知漏れを防止する効果が有る。また、タイマＲＡＭ４に格納するタイマ値とタイムアウトバッファ１０に格納するタイマ番号とにタイムアウト回数情報を付加することにより、ＣＰＵ１でのタイマの時間管理を容易にすることができる。
【００４０】
換言すると、本実施例のマルチインターバルタイマ回路２は、タイマＲＡＭ４に格納するタイマ値とタイムアウトバッファ１０に格納するタイマ番号にタイムアウト回数情報を付加し、タイムアウトバッファ１０がフル状態になった後にタイムアウト可能な状態になったタイマはタイムアウト処理を行わず、次の更新周期でタイムアウトバッファに空きができた時点でタイムアウト処理を行うことにより、タイムアウトしたタイマ番号の破棄が無くなり、それによりＣＰＵ１への通知漏れを防止することができる。また、タイマ番号とタイムアウト回数情報とを併せてＣＰＵ１に通知することにより、本来のタイムアウトタイミングから実際のタイムアウト時間が遅延したタイマについても、タイムアウト回数情報を参照することによりタイムアウト時間の管理が可能となる。
【００４１】
以上、上記実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細については、当業者が理解し得るさまざまな変更を加えることができる。また、本発明には、上記実施形態及び実施例の構成の一部を相互に適宜組み合わせたものも含まれる。
【００４２】
上記の実施形態及び実施例の一部又は全部は以下の付記のようにも記載され得るが、本発明は以下の構成に限定されるものではない。
【００４３】
［付記１］複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御装置であって、
前記タイマ値を更新するタイマ値更新手段と、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出手段と、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出手段と、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理手段と、
を有するマルチインターバルタイマの制御装置。
【００４４】
［付記２］前記タイムアウト処理は、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を前記タイムアウトバッファに書き込むことと、前記タイマ値及び前記タイムアウト回数をクリアすることとを含む、
付記１記載のマルチインターバルタイマの制御装置。
【００４５】
［付記３］前記タイマメモリはタイマＲＡＭであり、前記外部装置はＣＰＵである、
付記１又は２記載のマルチインターバルタイマの制御装置。
【００４６】
［付記４］付記１乃至３のいずれか一つに記載の制御装置と、前記タイマメモリと、前記タイムアウトバッファと、
を備えたマルチインターバルタイマ。
【００４７】
［付記５］複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御方法であって、
前記タイマ値を更新するタイマ値更新ステップと、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出ステップと、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出ステップと、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理ステップと、
を含むマルチインターバルタイマの制御方法。
【００４８】
［付記６］前記タイムアウト処理は、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を前記タイムアウトバッファに書き込むことと、前記タイマ値及び前記タイムアウト回数をクリアすることとを含む、
付記５記載のマルチインターバルタイマの制御方法。
【００４９】
［付記７］前記タイマメモリはタイマＲＡＭであり、前記外部装置はＣＰＵである、
付記５又は６記載のマルチインターバルタイマの制御方法。
【００５０】
［付記８］複数のタイマのタイマ値及びタイムアウト回数を格納するタイマメモリと、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を外部装置へ出力するまで一時的に格納するタイムアウトバッファと、を制御するマルチインターバルタイマの制御プログラムであって、
前記タイマ値を更新するタイマ値更新手段と、
前記タイマ値に基づき前記タイマのタイムアウトを検出するタイムアウト検出手段と、
前記タイムアウトバッファがフル状態であるか否かを検出するフル状態検出手段と、
前記タイムアウトバッファがフル状態である場合に前記タイマのタイムアウトが発生したとき、タイムアウト処理を実行せずに前記タイムアウト回数を更新する動作を前記タイムアウトバッファがフル状態でなくなるまで更新周期ごとに繰り返し、前記タイムアウトバッファがフル状態でなくなったときに前記タイムアウト処理を実行するタイムアウト処理手段と、
をコンピュータに機能させるためのマルチインターバルタイマの制御プログラム。
【００５１】
［付記９］前記タイムアウト処理は、タイムアウトした前記タイマのタイマ番号及びタイムアウト回数を前記タイムアウトバッファに書き込むことと、前記タイマ値及び前記タイムアウト回数をクリアすることとを含む、
付記８記載のマルチインターバルタイマの制御プログラム。
【００５２】
［付記１０］前記タイマメモリはタイマＲＡＭであり、前記外部装置はＣＰＵである、
付記８又は９記載のマルチインターバルタイマの制御プログラム。
【符号の説明】
【００５３】
１  ＣＰＵ（外部装置）
２  マルチインターバルタイマ回路（マルチインターバルタイマ）
３  ＣＰＵアクセス制御部
４  タイマＲＡＭ（タイマメモリ）
５  タイマアドレス制御部
６  アクセス調停部
７  アドレス選択部
８  ライトデータ選択部
９  タイマ更新制御部
１０  タイムアウトバッファ
１１  ＲＡＭ制御部
１２  タイムアウト情報生成部
２０  制御装置
２１  タイマ値更新手段
２２  タイムアウト検出手段
２３  フル状態検出手段
２４  タイムアウト処理手段
３０  マルチインターバルタイマ
３１  外部装置
３４  タイマメモリ
【図１】
0005907558.tif 000002
【図２】
0005907558.tif 000003
【図３】
0005907558.tif 000004
【図４】
0005907558.tif 000005
【図５】
0005907558.tif 000006
【図６】
0005907558.tif 000007
【図７】
0005907558.tif 000008
【図８】
0005907558.tif 000009