JP2000315122A - タイマ回路及びタイムアウト通知方法 - Google Patents

タイマ回路及びタイムアウト通知方法

Info

Publication number
JP2000315122A
JP2000315122A JP11125598A JP12559899A JP2000315122A JP 2000315122 A JP2000315122 A JP 2000315122A JP 11125598 A JP11125598 A JP 11125598A JP 12559899 A JP12559899 A JP 12559899A JP 2000315122 A JP2000315122 A JP 2000315122A
Authority
JP
Japan
Prior art keywords
timer
count value
circuit
value
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11125598A
Other languages
English (en)
Inventor
Osamu Sakakibara
修 榊原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP11125598A priority Critical patent/JP2000315122A/ja
Publication of JP2000315122A publication Critical patent/JP2000315122A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 長時間のタイマ値を設定することができ、且
つ複数の時間のタイマ値を設定することができるタイマ
回路及びタイムアウト通知方法を提供する。 【解決手段】 ハードウェアタイマ3は、クロック発生
回路CG1から入力される計数クロック101により計
数動作を回帰的に行い、ハードウェアタイマ計数値10
5、ハードウェアタイマ計数値更新信号104、及びR
CO信号111を減算周期可変回路9へ出力する。減算
周期可変回路9は、ハードウェアタイマ3からのRCO
信号111、及びプログラム10から設定される減算周
期マスク範囲に基づいて、ハードウェアタイマ計数値1
05とハードウェアタイマ計数値更新信号104をマス
クする。減算回路4は、減算周期可変回路9から入力さ
れるハードウェアタイマ計数値105、及びハードウェ
アタイマ計数値更新信号104により、タイマレジスタ
群6に格納されているソフトウェアタイマ計数値につい
て減算処理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPUのプログラ
ム動作に必要なタイムベースを発生するタイマ回路及び
タイムアウト通知方法に関する。
【0002】
【従来の技術】従来、マルチインターバルタイマ回路
は、一般的にタイマ設定値の単位時間(タイマインター
バル)が単一のハードウェアタイマを複数個使用し、各
ハードウェアタイマにタイマレジスタ、減算回路、ファ
ームウェア(プログラム)を組み合わせる事により、マ
ルチインターバルタイマ機能を実現していた。
【0003】このマルチインターバルタイマ機能を有す
る従来のタイマ回路について、図13を参照して説明す
る。
【0004】タイマ回路1は、システム起動後、制御回
路2により各構成回路が初期化される。
【0005】これによりハードウェアタイマ3は、計数
可能状態となり、クロック発生回路CG1からの計数ク
ロック101を受領することにより、ハードウェアタイ
マ計数値105を加算していく。
【0006】ここでハードウェアタイマ計数値105の
遷移を説明すると、初期値は”0”であり、計数値の種
類がm個とすると、最大の計数値は(m−1)となる。
【0007】例えば、m=5の場合、計数値は0、1、
2、3、4の5種類となり、最大値は4となる。ハード
ウェアタイマ計数値105が最大値(m−1)の場合、
次の計数クロック101をハードウェアタイマ3が受領
した場合、ハードウェアタイマ計数値105は初期値で
ある”0”に回帰される。
【0008】このハードウェアタイマ計数値105が”
0”に回帰された後、ハードウェアタイマ3が計数クロ
ック101を受領すると、ハードウェアタイマ計数値1
05は、ハードウェアタイマ3によって、”0”から
(m−1)までの加算と、”0”への回帰が繰り返され
る。
【0009】このような遷移をするハードウェアタイマ
計数値105とタイマレジスタアドレス110とは一対
一で対応しており、減算回路4は、入力されるハードウ
ェアタイマ計数値105を、タイマレジスタアドレス1
10として認識して、所定の処理を実行する。
【0010】すなわち、ハードウェアタイマ計数値10
5の種類の数とタイマレジスタ群6の持つタイマレジス
タ100の数とは一致し、ハードウェアタイマ計数値1
05が”0”の場合は、減算回路4が参照するタイマレ
ジスタ100のアドレスの値は”0”=“0000(h
ex)”となる。
【0011】ハードウェアタイマ計数値105を更新す
る時間幅、すなわち、計数クロック101の一周期をタ
イマインターバルという。この時間が短いほど、ソフト
ウェアタイマのタイムアウト時間を細かく設定すること
が可能になる。
【0012】また、ハードウェアタイマ3によるハード
ウェアタイマ計数値105の計数処理が行われて、この
計数値が一巡する時間を減算周期という。この時間(減
算周期)がソフトウェアタイマの設定時間の最小値とな
り、この設定時間が長いほど、余分なプログラム関与に
よる操作無しに長時間のソフトウェアタイマのタイムア
ウト設定が可能となる。
【0013】上述したことを式に表わすと、以下のよう
になる。 減算周期 =(タイマインターバル)×(タイマレジスタ数) =1マイクロ秒×1000個 =1ミリ秒
【0014】減算回路4は、ハードウェアタイマ3から
のハードウェアタイマ計数値更新信号104を処理の起
動信号として認識すると共に、ハードウェアタイマ計数
値105が更新された場合に、該更新値に対応したタイ
マレジスタ100を参照し、所定の処理を行う。
【0015】ここで、更新されたハードウェアタイマ計
数値105に基づく、減算回路4による所定の処理につ
いて説明する。
【0016】減算回路4は、 [処理1]タイマレジスタバス調停回路7を介して、タ
イマレジスタ100に格納されているソフトウェアタイ
マ計数値を読み出す。
【0017】[処理2]また、ソフトウェアタイマ計数
値を減算する。
【0018】[処理3]更に、減算した結果と”0”と
を比較する。
【0019】[処理4]上記処理(3)において、減算
結果が”0”の場合、減算回路4は、割り込み要求発生
回路5及びハードウェアタイマ3へ、レベル“H”のタ
イムアウト検出信号106を送出し、同時に、割り込み
要求発生回路5へセット信号107を送出する。
【0020】セット信号107を受信した割り込み要求
発生回路5は、制御回路2へ割り込み信号108を送出
する。
【0021】“H”レベルのタイムアウト検出信号は、
CPUバス103を介してハードウェアタイマ3へ入力
される。このタイムアウト検出信号を受信したハードウ
ェアタイマ3においては、図示しないCPUインタフェ
ース(以下、CPUI/Fという)がハードウェアタイ
マ計数値105を保持する。
【0022】その後、減算回路4内の図示しない動作タ
イミング信号発生回路が、制御回路2からの割り込み解
除信号を受信すると、減算回路4は、後述する処理
(6)に移行する。
【0023】[処理5]上記処理(3)において減算結
果が”0”でない場合、減算回路4は、割り込み要求発
生回路5及びハードウェアタイマ3内のCPUI/F
(図示せず)へ、レベルが“H”から“L”に変化した
タイムアウト検出信号106を送出すると共に、これと
同時に、割り込み要求発生回路5へセット信号107を
送出する。
【0024】その後、減算回路4は、減算した結果を、
タイマレジスタバス調停回路7を介してタイマレジスタ
100に格納する。
【0025】[処理6]再び、ハードウェアタイマ計数
値更新信号104が到来するまで待機状態に遷移する。
【0026】割り込み要求発生回路5は、上記処理
(4)において減算回路4からのタイムアウト検出信号
106を受信すると、以下の処理を行う。
【0027】すなわち、[処理1]割り込み要求発生回
路5は、減算回路4からのセット信号107に従って、
タイムアウト検出信号106を取り込んで保持すると同
時に、割り込み信号108を制御回路2に送出する。
【0028】この場合、レベルが“L”から“H”に変
化した割り込み信号の場合には、制御回路2への割り込
み信号108が要求状態となる。一方、“L”レベルの
割り込み信号の場合は、制御回路2への割り込み信号1
08は変化しないので、割り込み処理の非要求状態とな
る。
【0029】[処理2]“H”レベルの割り込み信号を
受信した制御回路2は、割り込み要求発生回路5に対し
て割り込み信号108をリセットするためのリセット信
号107を送出する。このリセット信号107を受信し
た割り込み要求発生回路5は、割り込み信号108をリ
セットする。
【0030】[処理3]割り込み要求発生回路5は、再
び、減算回路4からのタイムアウト検出信号106を受
領するまで、待機状態に遷移する。
【0031】割り込み信号108を受領する制御回路2
においては、制御回路2で動作するプログラムは、割り
込み信号108が到来すると、減算回路4内のCPUI
/F(図示せず)を参照し、タイムアウトしたソフトウ
ェアタイマを特定し、該ソフトウェアタイマに規定した
処理を実行すると同時に、そのソフトウェアタイマに対
応したタイマレジスタ100に、新たなソフトウェアタ
イマ計数値の初期値を格納する。
【0032】また、制御回路2で動作するプログラム
は、上記の動作に関わり無く、必要に応じて任意にタイ
マレジスタ100内のソフトウェアタイマ計数値を読み
出すと共に、ソフトウェアタイマ計数値を変更すること
が可能である。
【0033】タイマレジスタバス調停回路7は、制御回
路2で動作するプログラム、及び減算回路4による、タ
イマレジスタ100に対するソフトウェアタイマ計数値
の参照及び格納処理を、円滑に誤り無く行うためのもの
である。
【0034】例えば、制御回路2で動作するプログラム
と減算回路4とがそれぞれ独自のタイミングで、ソフト
ウェアタイマ計数値の参照及び格納を実施する為に、同
時に、同一のタイマレジスタ100にアクセスするとい
うことが、その動作シーケンス上、起こり得る。
【0035】このような競合状態においては、タイマレ
ジスタバス調停回路7は、一方の回路に処理を待機さ
せ、もう一方の回路の処理を優先実行させる。優先実行
させた方の処理が終了すると、タイマレジスタバス調停
回路7は待機させた回路に処理の実行再開を指示する。
【0036】従来は、上述した様なタイマ回路を複数
個、システム内に実装する事により、マルチタイムイン
ターバルタイマを実現していた。
【0037】しかし、近年、システム機能の増加、他の
システムとの連携強化、時分割方式によるデータ処理、
DSP( Digital Signal Processor )等のデータ処理
専用プロセッサなどの導入により、より多くのタイマを
システムに実装することが要求されている。また、一方
では、省電力化、回路規模の小型化、プログラム制御の
簡略化、及び各回路間の動作の同期化という、相反する
要求も生じている。
【0038】このような要求に応えるべくシステムとし
ては、特開平2−113363号公報に開示されたもの
が知られている。この公報に開示されたシステムは、D
SP等のデータ処理専用プロセッサを導入した際の時分
割方式によるデータ処理時の各回路間の動作の同期化に
応えるようにしたものである。
【0039】すなわち、複数のプロセッサを使用するシ
ステムにおいて、タイムスライス実行制御部を設けるこ
とにより、処理を行うプロセッサを識別すると共に、識
別した各プロセッサに対応したタイムスライスインター
バル値を、タイムスライスインターバル値記憶域に設定
することにより、同一のタイムインターバルを、各処理
及びプロセッサに対応して設定可能にしている。
【0040】
【発明が解決しようとする課題】しかしながら、上記従
来のタイマ回路においては、以下のような問題点があっ
た。
【0041】第1の問題は、タイマ回路の設定時間を細
かくする、すなわち計数クロックの周期(タイマインタ
ーバル)を早くすると、減算周期が早くなってしまうこ
とになり、システム仕様が要求する長時間のタイマを設
定することができない、といいう点である。これは、タ
イマインターバルとタイマレジスタ数との積が減算周期
という固定した関係を持っていることによるものであ
る。
【0042】第2の問題は、ソフトウェアタイマ数を加
減する、すなわちタイマレジスタの数を変更すると、減
算周期が変化してしまい、システム仕様が要求するタイ
マを設定することができない、という点である。これ
も、タイマインターバルとタイマレジスタ数との積が減
算周期という固定した関係を持っていることによるもの
である。
【0043】第3の問題は、システムが要求するタイマ
設定値の範囲と、タイマ回路に設定可能なタイマ設定値
の範囲とが整合しない場合が発生する、という点であ
る。
【0044】すなわち、タイマ回路において設定可能な
タイマ設定値の範囲は、減算周期自体の時間からタイマ
レジスタのカウント数の最大値までである。しかし、シ
ステムが要求するタイマ設定値が、その最大値を超える
長時間を示す値の場合には、タイマ回路においては、タ
イマ設定することができない。
【0045】これも、タイマインターバルとタイマレジ
スタ数との積が減算周期という固定した関係を持ってい
ることによるものである。
【0046】そこで、本発明の目的は、長時間のタイマ
値を設定することができ、且つ複数の時間のタイマ値を
設定することができるタイマ回路及びタイムアウト通知
方法を提供することにある。
【0047】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点に係るタイマ回路は、一定周期
のクロックをリセット状態から予め設定される最大値ま
で回帰的に計数し、該計数したクロック計数値を出力す
る計数手段と、予め設定されるタイマ計数値を記憶する
記憶手段と、前記計数手段から出力されるクロック計数
値を受領し、該クロック計数値の受領タイミングに従っ
て前記記憶手段へアクセスし、前記記憶手段に記憶され
ているタイマ計数値について一定値を減算し更新する処
理手段と、予め設定される一定期間中、前記記憶手段へ
はアクセスは実施しないよう前記処理手段を制御する制
御手段と、前記記憶手段に記憶されているタイマ計数値
が、予め設定される計数値に達したときにタイムアウト
である旨を外部に通知する通知手段と、を備えることを
特徴とする。
【0048】上記タイマ回路では、制御手段は、予め設
定される一定期間中においては、記憶手段へはアクセス
は実施しないよう処理手段を制御するようにしているの
で、処理手段によって、記憶手段に記憶されているタイ
マ計数値については、一定値の減算処理は実行されな
い。
【0049】このため、予め設定される一定期間中(処
理手段によるアクセスが行われない期間中)、減算処理
が行われない分、タイマ計数値が予め設定される計数値
(例えば値「0」)に達するまでに長い時間を要するこ
とになり、タイムアウト時間を延期(遅延)させること
ができる。すなわち、長時間のタイマ値を設定すること
ができる。
【0050】また上記第1の観点に係るタイマ回路にお
いて、前記記憶手段は、予め設定されるタイマ計数値を
記憶する記憶領域であって、前記計数手段によりクロッ
クが計数される最大値までの各クロック計数値のうち、
互いに値の異なる少なくとも2つのクロック計数値に対
応する第1及び第2のアドレスで示される2つの記憶領
域を、備え、前記処理手段は、前記計数手段からの前記
第1及び第2のアドレスに対応するクロック計数値を受
領したときは、該クロック計数値の受領タイミングに従
って、当該クロック計数値に対応するアドレスで示され
る記憶領域へアクセスし、当該記憶領域に記憶されてい
るタイマ計数値について一定値を減算し更新する更新手
段、を備え、前記制御手段は、予め設定される一定期間
中、前記記憶手段の2つの記憶領域のうちの、予め設定
される1つの記憶領域へはアクセスは実施しないよう前
記更新手段を制御する手段、を備え、前記通知手段は、
前記第1のアドレスで示される記憶領域に記憶されてい
るタイマ計数値が、予め設定される計数値に達したとき
にタイムアウトである旨を外部に通知すると共に、前記
第2のアドレスで示される記憶領域に記憶されているタ
イマ計数値が、予め設定される計数値に達したときにタ
イムアウトである旨を外部に通知する手段、を備える、
ことを特徴とする。
【0051】上記タイマでは、制御手段は、予め設定さ
れる一定期間中においては、予め設定される1つの記憶
領域(例えば、第1のアドレスで示される記憶手段)へ
はアクセスは実施しないよう処理手段を制御するように
しているので、処理手段によって、例えば、第1のアド
レスで示される記憶手段に記憶されているタイマ計数値
については、一定値の減算処理は実行されない。
【0052】このため、予め設定される一定期間中(処
理手段によるアクセスが行われない期間中)、第1のア
ドレスで示される記憶手段に記憶されているタイマ計数
値については、減算処理が行われない分、タイマ計数値
が予め設定される計数値(例えば値「0」)に達するま
でに、長い時間を要することになり、よってタイムアウ
ト時間を延期(遅延)させることができる。
【0053】従って、第1のアドレスで示される記憶手
段に記憶されているタイマ計数値が計数値「0」に達す
るまでの時間(すなわち、タイマ値)は、第2のアドレ
スで示される記憶手段に記憶されているタイマ計数値が
計数値「0」に達するまでの時間(すなわち、タイマ
値)よりも、長いことになる。
【0054】また上記第1の観点に係るタイマ回路にお
いて、前記記憶手段は、予め設定されるタイマ計数値を
格納する格納領域であって、前記計数手段によりクロッ
クが計数される最大値までの各クロック計数値にそれぞ
れ対応し連続する複数のアドレスで示される複数の格納
領域、を備え、前記処理手段は、前記計数手段からのク
ロック計数値を受領し、該クロック計数値の受領タイミ
ングに従って、当該クロック計数値に対応するアドレス
で示される格納領域へアクセスし、当該格納領域に格納
されているタイマ計数値について一定値を減算し更新す
る更新手段、を備え、前記制御手段は、予め設定される
一定期間中、前記記憶手段における複数の格納領域のう
ちの、予め設定され連続する複数のアドレスで示される
複数の格納領域へは、アクセスは実施しないよう前記更
新手段を制御する手段、を備え、前記通知手段は、予め
設定され連続する複数のアドレスで示される複数の格納
領域に格納されているタイマ計数値全てが、予め設定さ
れる計数値に達したときにタイムアウトである旨を外部
に通知すると共に、予め設定され連続する複数のアドレ
スで示される複数の格納領域以外の格納領域に格納され
ているタイマ計数値全てが、予め設定される計数値に達
したときにタイムアウトである旨を外部に通知する手
段、を備える、ことを特徴とする。
【0055】この場合、制御手段は、予め設定される一
定期間中においては、予め設定され連続する複数のアド
レスで示される複数の格納領域へはアクセスは実施しな
いよう処理手段を制御するようにしているので、処理手
段によって、予め設定され連続する複数のアドレスで示
される複数の格納領域に格納されているタイマ計数値に
ついては、一定値の減算処理は実行されない。
【0056】このため、予め設定される一定期間中(処
理手段によるアクセスが行われない期間中)、予め設定
され連続する複数のアドレスで示される複数の格納領域
に格納されているタイマ計数値については、減算処理が
行われない分、タイマ計数値が予め設定される計数値
(例えば値「0」)に達するまでに、長い時間を要する
ことになり、よってタイムアウト時間を延期(遅延)さ
せることができる。
【0057】また、予め設定される一定期間中、アクセ
スが実施されない記憶領域のタイマ計数値と、予め定さ
れる一定期間に関係なくアクセスが実施される記憶領域
のタイマ計数値とは、予め設定される計数値(例えば値
「0」)に達するまでに要する時間が異なる。
【0058】従って、長時間のタイマ値を設定すること
ができると共に、複数の時間のタイマ値を設定すること
ができる。
【0059】また上記第1の観点に係るタイマ回路にお
いて、前記記憶手段は、予め設定されるタイマ計数値を
格納する格納領域であって、前記計数手段によりクロッ
クが計数される最大値までの各クロック計数値のうち
の、任意の複数のクロック計数値にそれぞれ対応し互い
に値の異なる複数のアドレスで示される複数の格納領
域、を備え、前記処理手段は、前記計数手段からの前記
複数のアドレスに対応するクロック計数値を受領したと
きは、該クロック計数値の受領タイミングに従って、当
該クロック計数値に対応するアドレスで示される格納領
域へアクセスし、当該格納領域に格納されているタイマ
計数値について一定値を減算し更新する更新手段、を備
え、前記制御手段は、予め設定される一定期間中、前記
記憶手段における複数の格納領域のうちの、予め設定さ
れる複数の格納領域へは、アクセスは実施しないよう前
記更新手段を制御する手段、を備え、前記通知手段は、
前記予め設定される複数の格納領域に格納されているタ
イマ計数値が、予め設定される計数値に達したときにタ
イムアウトである旨を外部に通知すると共に、前記予め
設定される複数の格納領域以外の格納領域に格納されて
いるタイマ計数値が、予め設定される計数値に達したと
きにタイムアウトである旨を外部に通知する手段、を備
える、ことを特徴とする。
【0060】この場合、制御手段は、予め設定される一
定期間中においては、予め設定される複数の格納領域
(任意の複数のアドレスで示される複数の格納領域)へ
はアクセスは実施しないよう処理手段を制御するように
しているので、処理手段によって、予め設定される複数
の格納領域に格納されているタイマ計数値については、
一定値の減算処理は実行されない。
【0061】このため、予め設定される一定期間中(処
理手段によるアクセスが行われない期間中)、予め設定
され複数の格納領域に格納されているタイマ計数値につ
いては、減算処理が行われない分、タイマ計数値が予め
設定される計数値(例えば値「0」)に達するまでに、
長い時間を要することになり、よってタイムアウト時間
を延期(遅延)させることができる。
【0062】また、予め設定される一定期間中、アクセ
スが実施されない記憶領域のタイマ計数値と、予め定さ
れる一定期間に関係なくアクセスが実施される記憶領域
のタイマ計数値とは、予め設定される計数値(例えば値
「0」)に達するまでに要する時間が異なる。
【0063】従って、長時間のタイマ値を設定すること
ができると共に、複数の時間のタイマ値を設定すること
ができる。
【0064】また上記第1の観点に係るタイマ回路にお
いて、前記計数手段は、前記クロックを計数したクロッ
ク計数値、クロック計数値がカウントアップされたこと
を示す更新信号、及びカウントアップされたクロック計
数値が最大値に達したことを示すキャリーアウト信号を
出力する出力手段、を備え、前記処理手段は、前記出力
手段から出力される更新信号及びクロック計数値を受領
し、該更新信号の受領タイミングに従って、当該クロッ
ク計数値に対応するアドレスで示される格納領域へアク
セスし、当該格納領域に格納されているタイマ計数値に
ついて一定値を減算し更新する更新処理手段、を備え、
前記制御手段は、前記出力手段から出力されるキャリー
アウト信号を計数する信号計数手段と、前記信号計数手
段により計数された計数結果に基づいて、前記予め設定
される一定期間中、前記予め設定される複数の格納領域
へは、アクセスは実施しないよう前記更新処理手段を制
御する手段と、を備える、ことを特徴とする。
【0065】このタイマ回路では、処理手段において
は、更新処理手段は、更新信号の受領タイミングに従っ
て、クロック計数値に対応するアドレスで示される格納
領域に格納されているタイマ計数値について一定値を減
算し更新する。
【0066】また、制御手段においては、信号計数手段
は、出力手段から出力されるキャリーアウト信号を計数
し、制御する手段は、信号計数手段によるキャリーアウ
ト信号の計数結果に基づいて、予め設定される一定期間
中、予め設定される複数の格納領域へは、アクセスは実
施しないよう更新処理手段を制御する。
【0067】このため、キャリーアウト信号の計数結果
に基づいて、予め設定される一定期間中(更新処理手段
によるアクセスが行われない期間中)、予め設定される
複数の格納領域に格納されているタイマ計数値について
は、減算処理が行われない分、タイマ計数値が予め設定
される計数値(例えば値「0」)に達するまでに、長い
時間を要することになり、よってタイムアウト時間を延
期(遅延)させることができる。
【0068】また、上記制御手段は、前記信号計数手段
により計数された計数値と予め設定される設定値とが一
致するか否かを判断する判断手段と、前記判断手段によ
る判断結果に応じて、前記出力手段から出力されるクロ
ック計数値のうちの、前記予め設定される一定期間中、
前記予め設定される複数の格納領域を示すアドレスに対
応するクロック計数値については、前記更新処理手段へ
供給させない供給不許可手段と、を備えるようにしても
良い。
【0069】また、上記供給不許可手段は、前記判断手
段により計数値と設定値とが一致したと判断された場合
には、前記予め設定される複数の格納領域を示すアドレ
スに対応するクロック計数値については、マスク処理を
施して、前記更新処理手段へ供給させないマスク手段、
を備えるようにしても良い。
【0070】この場合、制御手段においては、供給不許
可手段は、キャリーアウト信号の計数結果と予め設定さ
れる設定値とが一致する場合には、予め設定される一定
期間中、予め設定される複数の格納領域を示すアドレス
に対応するクロック計数値については、マスク手段によ
って、マスク処理を施して、更新処理手段へ供給させな
いようにしている。
【0071】このため、処理手段によって、予め設定さ
れる一定期間中においては、予め設定される複数の格納
領域(任意の複数のアドレスで示される複数の格納領
域)へはアクセスが実施されないので、この予め設定さ
れ複数の格納領域に格納されているタイマ計数値につい
ては、一定値の減算処理は実行されない。
【0072】従って、減算処理が行われない分、タイマ
計数値が予め設定される計数値(例えば値「0」)に達
するまでに長い時間を要することになり、よってタイム
アウト時間を延期(遅延)させることができる。
【0073】また、上記目的を達成するため、本発明の
第2の観点に係るタイマ回路におけるタイムアウト通知
方法は、一定周期のクロックをリセット状態から予め設
定される最大値まで回帰的に計数し、該計数したクロッ
ク計数値を出力する計数ステップと、予め設定されるタ
イマ計数値を記憶する記憶ステップと、前記計数ステッ
プにより出力されるクロック計数値を受領し、該クロッ
ク計数値の受領タイミングに従って前記記憶ステップに
より記憶されている記憶内容へアクセスし、前記記憶ス
テップに記憶されているタイマ計数値について一定値を
減算し更新する処理ステップと、予め設定される一定期
間中、前記記憶ステップにより記憶されている記憶内容
への、前記処理ステップによるアクセスを禁止させる制
御ステップと、前記記憶ステップにより記憶されている
タイマ計数値が、予め設定される計数値に達したときに
タイムアウトである旨を外部に通知する通知ステップ
と、を含むことを特徴とする。
【0074】
【発明の実施の形態】以下、本発明の実施の形態につい
て、添付図面を参照して説明する。図1は、本発明の実
施の形態に係るタイマ回路の構成を示すブロック図であ
る。
【0075】図示するように、タイマ回路は、ソフトウ
ェアタイマの機能を有しており、タイマ動作を実施する
タイマ回路1と、本回路全体の動作を制御する制御回路
2と、クロックを発生するクロック発生回路CG1と、
を備えている。
【0076】クロック発生回路CG1は、タイマ回路1
の動作に用いられる計数クロック101と、制御回路2
の動作タイミングに用いられる制御回路動作用クロック
102とを発生する。
【0077】制御回路動作用クロック102は、8.3
9MHzに設定されており、計数クロック101は、
8.39MHzを256分周して得られる32.768
KHzに設定されている。
【0078】タイマ回路1は、ハードウェアタイマ3
と、減算回路4と、割り込み要求発生回路5と、タイマ
レジスタ群6と、タイマレジスタバス調停回路7と、減
算周期可変回路9と、を備えている。
【0079】ハードウェアタイマ3は、クロック発生回
路CG1から入力される計数クロック101(32.7
68KHz)により計数動作を回帰的に行い、ハードウ
ェアタイマ計数値105と、ハードウェアタイマ計数値
更新信号104と、RCO信号111とを減算周期可変
回路9へ出力する。
【0080】減算周期可変回路9は、ハードウェアタイ
マ3からのRCO信号111、及び制御回路2により実
行されるプログラムから設定される減算周期マスク範囲
に基づいて、ハードウェアタイマ計数値105とハード
ウェアタイマ計数値更新信号104をマスクする。
【0081】減算周期可変回路9は、ハードウェアタイ
マ計数値105及び上記プログラムから設定されるマス
ク範囲終了レジスタアドレスに基づいて、ハードウェア
タイマ計数値105とハードウェアタイマ計数値更新信
号104をマスクする。この減算周期可変回路9のマス
ク処理の詳細については、後述する。
【0082】減算回路4は、減算周期可変回路9から入
力されるハードウェアタイマ計数値105、及びハード
ウェアタイマ計数値更新信号104を基に、タイマレジ
スタバス調停回路7を介して、タイマレジスタ群6に格
納されているソフトウェアタイマ計数値を減算処理する
と共に、該演算結果に基づいて、ソフトウェアタイマの
タイムアウトを検出し、該検出結果を割り込み要求発生
回路5に出力する。
【0083】この場合、ハードウェアタイマ計数値10
5に基づくタイマレジスタアドレス109、110で示
されるタイマレジスタに格納されているソフトウェアタ
イマ計数値がアクセスされる。
【0084】割り込み要求発生回路5は、減算回路4か
ら供給されるタイムアウト検出信号106により、制御
回路2に割り込み信号108を出力する。
【0085】タイマレジスタバス調停回路7は、制御回
路2と減算回路4のタイマレジスタ100に対するアク
セスを調停する。
【0086】タイマレジスタバス調停回路7は、制御回
路2で動作しているプログラムと、減算回路4とが、同
時に、タイマレジスタ100をアクセスした場合に、デ
ータの衝突、破壊、誤認識等の不具合が生じないよう
に、バス調停を実行する。
【0087】この実施の形態においては、タイマレジス
タバス調停回路7は、減算回路4に優先権を与えて処理
を継続させ、プログラムに対しては処理を待機させ、優
先された方の処理の終了後に、待機させた方の処理を再
開させるという、一連の処理を行う。
【0088】ここで、減算回路4に優先権を与えている
のは、減算回路4の処理が極めて短時間で完結し、尚か
つ、処理時間がどのシーケンスで起動、処理されても、
一定であるからである。
【0089】これに対し、制御回路2内のCPU上の割
り込み処理プログラムの動作時間は、最短時間の処理で
も減算回路4の処理時間よりも長く、また、各ソフトウ
ェアタイマ別に異なった割り込み処理タスクが起動され
るため、減算回路4を待機させた場合、それぞれの待機
時間に大きな相違が生じてくる。
【0090】このため、減算回路4に、CPUバス10
3の調停時の待機機能を持たせるよりも、制御回路2内
のCPUにより実行されるプログラムに待機機能を持た
せるほうが、ハードウェア、ソフトウェアの両面におい
て、遥かに容易であるので、減算回路4に優先権を与え
ている。
【0091】タイマレジスタ群6は、m個のタイマレジ
スタ100から構成されており、それぞれにはソフトウ
ェアタイマの計数値が格納される。
【0092】ここで、ソフトウェアタイマは、制御回路
2内のCPU上で動作するプログラムと、ハードウェア
タイマ3と、減算回路4と、タイマレジスタ100とで
構成される。
【0093】ハードウェアタイマ3が計数クロック10
1を入力されるだけで基本的に時間計時を実行するのに
対して、ソフトウェアタイマは、減算回路4によって、
任意のインターバルで到来するハードウェアタイマ3の
カウントアップ信号(ハードウェアタイマ計数値更新信
号104)を起動信号として、タイマレジスタ100に
格納されているソフトウェアタイマ計数値を演算するこ
とにより、タイマ機能が実現される。
【0094】この実施の形態においては、タイマレジス
タ群6のアドレス範囲は、“0000(hex)”〜
“m−1(hex)”すなわち、“0000(he
x)”〜“ffff(hex)”から構成されている。
【0095】制御回路2は、図2に示すように、CPU
21と、割り込み制御回路22と、プログラムメモリ2
3と、待避レジスタ24と、がCPUバス103を介し
てそれぞれ接続されている。
【0096】CPU21は、制御回路2の各構成要素、
及びタイマ回路1を制御すると共に、タイマ回路1から
の割り込み要求に対する処理を行う。
【0097】CPU21から出力されるアドレスは6b
yteで構成されており、このアドレスの上位2byt
eはマスクされている。
【0098】このようにCPU21から出力されるアド
レスは、上位2byte分がマスクされるので、CPU
21から出力されるアドレスの下位4byteと、対応
するソフトウェアタイマのカウント値が格納されている
タイマレジスタアドレス値とが一致することになる。
【0099】割り込み制御回路22は、タイマ回路1か
らの割り込み信号108を受領すると、その旨をCPU
21へ通知する。
【0100】プログラムメモリ23には、タイマ回路1
を制御するプログラムが格納されている。このプログラ
ムは、タイマ回路1の各構成要素に、動作に必要なパラ
メータを設定する。
【0101】待避レジスタ24は、CPU21の制御に
従って、プログラムに関する実行データ、CPU21の
内部レジスタの内容等を格納する。
【0102】ハードウェアタイマ3は、図3に示すよう
に、CPUインタフェース31と、多段同期カウンタ3
2と、波形整形回路33と、を備えている。
【0103】CPUインタフェース31は、CPUバス
103を介してCPU21からのプログラムによるパラ
メータ設定値(CPU21からのデータ)を受信する。
【0104】多段同期カウンタ32は、プログラムによ
るパラメータ設定後に入力される計数クロック101を
計数し出力する共に、ハードウェアタイマ計数値の最高
計数値、すなわちffff(hex)のときRCO(リ
ップルキャリーアウト)信号を出力する。
【0105】このRCO信号は、最高計数値すなわちf
fff(hex)が出力される時のデータの時間幅と同
じ時間幅で、ffff(hex)のハードウェアタイマ
計数値と同時に、減算周期可変回路9へ出力される。
【0106】多段同期カウンタ32による計数値は、
“0”から始まり最高計数値である(216−1)まで
計数され、また“0”に戻され、再び、最高計数値まで
計数される。こうした動作がエンドレスで、プログラム
によるCPU21からのハードウェアタイマ3の設定変
更の無い限り実施される。
【0107】この場合、タイマ回路1の減算周期でもあ
るハードウェアタイマ3の一周期は、 (216)/(32.768×103Hz)=2秒 となる。
【0108】ソフトウェアタイマの数は、 (216)=65536個{計数範囲:0〜(216
1)} となる。
【0109】ここで、システム要求で、多くのソフトウ
ェアタイマが必要になった場合には、多段同期カウンタ
32の段数とタイマレジスタ100の数を増やすことに
より、ソフトウェアタイマを増加させることが可能にな
る。
【0110】また、計数クロック101と多段同期カウ
ンタ32の段数と(すなわち、多段同期カウンタ32及
びタイマレジスタ100)により、タイマ回路1の減算
周期は一義的に決まるため、これらの値を変更すること
により減算周期を変更することができる。
【0111】波形整形回路33は、入力される計数クロ
ック101を238.38ミリ秒の正パルスに波形整形
する。この波形整形された信号は、ハードウェアタイマ
計数値更新信号104として出力され、減算回路4にお
いて使用される。
【0112】このハードウェアタイマ3の動作タイミン
グを、図4に示す。
【0113】図4(a)は、クロック発生回路CG1か
らの8.39MHzの制御回路動作用クロックの波形を
示している。
【0114】また同図(b)は、クロック発生回路CG
1からの8.39MHzを256分周して得られる3
2.768KHzの計数クロックの波形を示している。
【0115】また同図(c)は、上記(b)に示した計
数クロックの波形数を多くした波形(時間軸を変化させ
た波形)を示している。
【0116】また同図(d)は、計数クロックの立ち上
がりに同期してカウントアップされ、当該計数クロック
の1周期と同じ時間幅のハードウェアタイマ計数値(デ
ータ)の波形を示している。この実施の形態において
は、ハードウェアタイマ計数値(データ)は、同図
(d)からも分かるように“0000(hex)”〜
“ffff(hex)”まで計数され、再度、“000
0(hex)”に回帰され計数される。
【0117】また同図(e)は、計数クロック(同図
(c)参照)の1周期の立ち上がりに同期して、当該計
数クロックが238.38ミリ秒の正パルスに波形整形
されたハードウェアタイマ計数値更新信号の波形を示し
ている。
【0118】さらに同図(f)は、ハードウェアタイマ
計数値の最高計数値“ffff(hex)”のデータ
(同図(d)参照)の時間幅と同じ時間幅、すなわち
“ffff(hex)”の計数値である計数クロックの
立ち上がりに同期して、当該計数クロックの1周期と同
じ時間幅の正のパルスが出力されるRCO信号を示して
いる。
【0119】減算周期可変回路9は、図5に示すよう
に、CPUインタフェース91と、RCO信号カウンタ
92と、判断回路93と、計数値比較回路94と、マス
ク回路95と、を備えている。
【0120】CPUインタフェース91は、CPUバス
103を介してCPU21からのプログラムによるパラ
メータ設定値(CPU21からのデータ)を受信する。
【0121】RCO信号カウンタ92は、ハードウェア
タイマ3からのRCO信号111を計数し出力する。
【0122】判断回路93は、プログラムにより設定さ
れた減算周期マスク範囲値と、RCO信号カウンタ92
による計数値とを比較する。
【0123】判断回路93は、上記2つの値が一致しな
い場合は、マスク回路95へマスク「ON」の設定を行
い、一方、上記2つの値が一致する場合は、マスク回路
95へマスク「OFF」の設定と共に、RCO信号カウ
ンタ92の計数値をリセットする。
【0124】計数値比較回路94は、ハードウェアタイ
マ計数値更新信号104を検出すると、ハードウェアタ
イマ計数値105と、プログラムにより設定されたマス
ク範囲終了レジスタアドレスとを比較する。
【0125】計数値比較回路94は、一致している場合
は、マスク回路95へマスク「OFF」の設定を行い、
一致しない場合は、次のハードウェアタイマ計数値更新
信号104を検出するまで待機する。
【0126】マスク回路95は、判断回路93及び計数
値判断回路94により設定されるマスクの「ON」、
「OFF」設定に応じて、ハードウェアタイマ計数値更
新信号104、及びハードウェアタイマ計数値105に
マスク処理を施して、減算回路4へ出力する。
【0127】減算周期可変回路9の動作を図6、図7の
タイミングチャートを参照して、具体例を用いて説明す
る。
【0128】この実施の形態では、減算周期マスクを
“0004(hex)”、マスク範囲終了レジスタアド
レスを“00ff(hex)”つまり減算周期切替が
“0100(hex)”であることを意味する。
【0129】図6は、減算周期回路9による周期の伸長
の動作タイミングを示したタイミングチャートである。
また図7は、図6に示したタイミングを時間的に長くし
て表したものであり、減算周期回路9によるレジスタの
マスクの動作タイミングを示したタイミングチャートで
ある。
【0130】図6(a)は、減算周期マスク範囲値が
「4」、すなわち4倍の減算周期(つまり“0000
(hex)”〜“ffff(hex)”の周期が4回)
に設定された様子を示している。
【0131】また同図(b)は、ハードウェアタイマ3
からのハードウェアタイマ計数値(図4(d)参照)の
波形を示している。
【0132】また同図(c)は、ハードウェアタイマ3
からのRCO信号(図4(f)参照)の波形を示してい
る。
【0133】ここでは、4回出現する“ffff(he
x)”のハードウェアタイマ計数値に対応して4回のR
CO信号が出力されている。
【0134】また同図(d)は、RCO信号カウンタ9
2から出力されるRCO信号の計数値のデータ波形を示
している。
【0135】1つの大きな周期(4倍の減算周期)にお
いて、RCO信号が検出される毎に、計数値が順に、
“0000(hex)”、“0001(hex)”、
“0002(hex)”、“0003(hex)”にな
っている。
【0136】また同図(e)は、マスク回路95により
マスク処理されたハードウェアタイマ計数値及びハード
ウェアタイマ計数値更新信号のマスク状況の様子を示し
ている。
【0137】ここでは、上記1つの大きな周期のうち、
最初の減算周期においては、ハードウェアタイマ計数値
及びハードウェアタイマ計数値更新信号は共に、マスク
は「OFF」に設定されている。
【0138】また、上記1つの大きな周期のうち、2回
目以降の減算周期においては、ハードウェアタイマ計数
値“ffff(hex)”〜“00ff(hex)”
(図示されていない)まではマスク「ON」に設定され
ている。
【0139】このマスク設定を詳細に説明すると、上述
したように、判断回路93によって、RCO信号のカウ
ント値と上記減算周期マスクの値“0004(he
x)”とが比較され、この比較結果に応じてマスク設定
が行われる。
【0140】すなわち、RCO信号カウンタ92により
カウントされるRCO信号のカウント値が“0001
(hex)”〜“0003(hex)”までは、上記減
算周期マスクの値“0004(hex)”と一致してい
ないので、ハードウェアタイマ計数値“ffff(he
x)”及びハードウェアタイマ計数値更新信号は共にマ
スクが「ON」に設定されている。
【0141】一方、RCO信号のカウント値が“000
4(hex)”(図6(d)ではリセットされ“000
0(hex)”になっている)のときは、上記減算周期
マスクの値“0004(hex)”と一致するので、ハ
ードウェアタイマ計数値“ffff(hex)”及びハ
ードウェアタイマ計数値更新信号は共にマスクが「OF
F」に設定されている。同時に、“0004(he
x)”のRCO信号のカウント値は、リセットされて
“0000(hex)”なっている。
【0142】ここで、ハードウェアタイマ計数値“ff
ff(hex)”〜“00ff(hex)”までの詳細
なマスク動作について、図7を参照して説明する。
【0143】図7(a)は、減算周期切替が“0100
(hex)”に設定された様子を示している。
【0144】また同図(b)は、図6(b)と同様に、
ハードウェアタイマ3からのハードウェアタイマ計数値
(図4(d)参照)の波形を示している。
【0145】また同図(c)は、図6(c)と同様に、
ハードウェアタイマ3からのRCO信号(図4(f)参
照)の波形を示している。
【0146】また同図(d)は、図6(d)と同様に、
RCO信号カウンタ92から出力されるRCO信号の計
数値のデータ波形を示している。
【0147】また同図(e)は、図6(d)と同様に、
マスク回路95によりマスク処理されたハードウェアタ
イマ計数値及びハードウェアタイマ計数値更新信号のマ
スク状況の様子を示している。
【0148】ここで、マスクは、ハードウェアタイマ計
数値“ffff(hex)”つまりハードウェアタイマ
計数値更新信号の立ち上がりに同期して“L”から
“H”に変化し、また、ハードウェアタイマ計数値“0
100(hex)”つまりハードウェアタイマ計数値更
新信号の立ち上がりに同期して“H”から“L”に変化
している。
【0149】すなわち、上記1つの大きな周期のうち、
2回目以降の減算周期においては、ハードウェアタイマ
計数値“ffff(hex)”〜“00ff(he
x)”まではマスク「ON」に設定されている。
【0150】なお、減算周期マスク、すなわち判断回路
93によるマスク設定(RCO信号のカウント値に基づ
くマスク動作)は図6(e)で説明した通りであるの
で、ここではその説明を省略し、次に、マスク範囲終了
レジスタアドレスが“00ff(hex)”つまり減算
周期切替が“0100(hex)”である場合のマスク
動作について説明する。
【0151】この場合は、マスク範囲終了レジスタアド
レスが“00ff(hex)”であるので、上述したよ
うに計数値比較回路94によって、“0000(he
x)”〜“00ff(hex)”までは、ハードウェア
タイマ計数値及びハードウェアタイマ計数値更新信号は
共に、マスクが「ON」に設定される。これは、上述し
たように、これらのアドレスに対応するタイマレジスタ
の減算処理は行われないことを意味する(換言すればア
クセスされないことを意味する)。
【0152】この計数値比較回路94によるマスク設定
においては、マスクは、ハードウェアタイマ計数値“0
000(hex)”つまりハードウェアタイマ計数値更
新信号の立ち上がりに同期して“L”から“H”に変化
し、ハードウェアタイマ計数値“0100(hex)”
つまりハードウェアタイマ計数値更新信号の立ち上がり
に同期して“H”から“L”に変化している。
【0153】従って、判断回路93によるマスク設定及
び計数値比較回路94によるマスク設定の全体では、上
記1つの大きな周期のうち、2回目以降の減算周期にお
いて、ハードウェアタイマ計数値“ffff(he
x)”〜“00ff(hex)”まではマスク「ON」
に設定されたことになる。
【0154】上記図6及び図7で説明した内容は、次の
ように説明することもできる。
【0155】ハードウェアタイマ最大計数値=(216
−1)の場合、すなわち多段同期カウンタ32の最大計
数値=(216−1)の場合とする。
【0156】プログラムにより設定される減算周期マス
ク及びマスク範囲終了レジスタアドレスの値を以下とす
る。
【0157】 減算周期マスク x 4(hex) マスク範囲終了レジスタアドレス y 00ff(hex)
【0158】この場合、減算周期可変回路9から減算回
路4へ出力されるハードウェアタイマ計数値105、及
びハードウェアタイマ計数値更新信号104のタイマレ
ジスタアドレス110Aの範囲は、 第一の周期 0000(hex)〜ffff(hex) 第二の周期 0100(hex)〜ffff(hex) 第三の周期 0100(hex)〜ffff(hex) 第四の周期 0100(hex)〜ffff(hex) が、一つの周期となる。
【0159】タイマレジスタ群6内の0000(he
x)〜00ff(hex)の範囲は、四周期のうちの、
第一の周期だけアクセスされる。
【0160】従って、タイマレジスタ群6のうち、{0
000(hex)からプログラムにより設定されたマス
ク範囲終了レジスタアドレス00ff(hex)}まで
は、他のタイマレジスタ群6中の{アドレス0100
(hex)〜ffff(hex)}に比較して、減算回
路4によってタイマレジスタ100の格納値(ソフトウ
ェアタイマ計数値)が処理(減算)される回数は、プロ
グラムにより設定された減算周期マスク範囲の分だけ除
した回数となる。
【0161】つまり、0100(hex)〜ffff
(hex)で示されるアドレス群のソフトウェアタイマ
周期としては、他のタイマレジスタ100、この場合、
0100(hex)〜ffff(hex)のアドレスの
タイマレジスタ100に比較して4倍の時間の減算周期
を得たことになる。
【0162】ここで、減算周期マスク範囲を0000
(hex)〜ffff(hex)迄の値を取るとする
と、ハードウェアタイマ3の最大周期は当初の減算周期
のffff倍の値を取ることになる。
【0163】すなわち、この実施の形態においては、 ハードウェアタイマ周期=2ミリ秒 減算周期マスク範囲値 =ffff(hex) マスク範囲の減算周期 =2ミリ秒×ffff(he
x)= 131.072秒 となる。
【0164】このマスク範囲の減算周期に、タイマレジ
スタ100に格納するソフトウェアタイマ計数値を最大
値であるffff(hex)とすると、ソフトウェアタ
イマの最長周期は、 131.072×ffff(hex)= 2386.0
2時間= 99日 となる。
【0165】減算周期可変回路9の処理によって、本
来、最長周期が131.072秒までのソフトウェアタ
イマタイムアウト時間が、最長99日となり、大幅なソ
フトウェアタイマタイムアウト時間の拡大を図ることが
可能となる。
【0166】減算回路4は、図8に示すように、アドレ
スレジスタ41と、動作タイミング信号発生回路42
と、タイマレジスタインタフェース(以下、タイマレジ
スタI/Fという)43と、演算回路44と、比較回路
45と、CPUインタフェース46と、を備えている。
【0167】アドレスレジスタ41は、ハードウェアタ
イマ3からのハードウェアタイマ計数値105を保持す
る。
【0168】動作タイミング信号発生回路42は、ハー
ドウェアタイマ3からのハードウェアタイマ計数値更新
信号104を受領すると、アドレスレジスタ41にハー
ドウェアタイマ計数値105を保持するように指示す
る。
【0169】タイマレジスタI/F43は、タイマレジ
スタアドレス値110Aに示されるタイマレジスタ10
0に格納されているソフトウェアタイマ計数値110B
を、タイマレジスバス調停回路7を介してアクセスす
る。
【0170】ここで、タイマレジスタアドレス値110
A及びソフトウェアタイマ計数値110Bは、図1に示
したタイマレジスタアドレス/ソフトウェアタイマ計数
値109に相当する。
【0171】演算回路44は、タイマレジスタI/F4
3により読み出されたソフトウェアタイマ計数値から1
を減じる減算処理をする。
【0172】比較回路45は、減算回路44による減算
処理結果(ソフトウェアタイマ計数値)と、“0”とを
比較する。
【0173】減算処理結果が“0”の場合、“H”レベ
ルのタイムアウト検出信号106を、割り込み要求発生
回路5及びCPUI/F46へ送出する。
【0174】CPUI/F46は、CPUバス103を
介してCPU21からのプログラムによるパラメータ設
定値(CPU21からのデータ)を受信する。
【0175】割り込み要求発生回路5は、図8に示すよ
うに、ラッチ回路51を備えており、セット信号107
に基づいて、タイムアウト検出信号106を取り込み、
このタイムアウト検出信号106をラッチ回路51によ
って保持すると共に、この保持されている信号を出力す
る。“H”レベルの信号のときは、割り込み要求を示す
“H”レベルの割り込み信号108が出力される。
【0176】係る構成のマルチインターバルタイマ回路
の動作について説明する。
【0177】システムに電源が投入されると、クロック
発生回路CG1は、8.39MHzの制御回路動作用ク
ロック102を制御回路2に送出し、32.768KH
zの計数クロック101をハードウェアタイマ3に送出
する。
【0178】制御回路動作用クロック102が供給され
た制御回路2のCPU21は、そのタイミングにより順
次、プログラムメモリ23からプログラムを読み出して
実行する。
【0179】タイマ回路1を制御するプログラムは、C
PU21により起動されて動作を開始する。このとき、
プログラムは、動作に必要なパラメータを各回路に設定
する。
【0180】プログラムによるパラメータ設定後に、ク
ロック発生回路8からの計数クロック101を受領した
ハードウェアタイマ3の多段同期カウンタ32は、この
計数クロック101の計数を開始する。
【0181】多段同期カウンタ16による計数値は、ハ
ードウェアタイマ計数値105として減算周期可変回路
9に出力され、同時にRCO信号111が減算周期可変
回路9に出力される。
【0182】システムの起動後、減算周期可変回路9
は、プログラムによって、RCO信号カウンタ92の初
期化、減算周期マスク範囲値、マスク範囲終了レジスタ
アドレス、マスク回路95へのマスク「OFF」等の設
定を受ける。
【0183】減算周期可変回路9においては、マスク回
路95によりマスク「ON」になると、ハードウェアタ
イマ3からのハードウェアタイマ計数値105(すなわ
ち多段同期カウンタ32の計数値)、及びハードウェア
タイマ計数値更新信号104は、マスクされ減算回路4
には出力されない。
【0184】一方、マスク「OFF」となると、ハード
ウェアタイマ3からのハードウェアタイマ計数値105
(すなわち多段同期カウンタ32の計数値)、及びハー
ドウェアタイマ計数値更新信号104は、何ら加工され
ずに、そのままの状態で、減算回路4へ出力される。
【0185】このハードウェアタイマ計数値更新信号1
04を受領した減算回路4は、この信号の受信タイミン
グで動作を開始する。
【0186】減算回路4は、減算周期可変回路9からの
ハードウェアタイマ計数値105をアドレスレジスタ4
1によって保持する。
【0187】次に、減算回路4は、ハードウェアタイマ
計数値105が示す値と同一値のアドレスのタイマレジ
スタ100に格納されているソフトウェアタイマ計数値
を、タイマレジスタバス調停回路7を介して読み出す。
【0188】その後、減算回路4は、読み出したソフト
ウェアタイマ計数値から“1”を減じ、その値を、タイ
マレジスタバス調停回路7を介して、読み出した元のタ
イマレジスタ100に書き込む。
【0189】さらに、減算回路4は、ソフトウェアタイ
マ計数値から“1”を減じた減算結果と“0”とを比較
し、同一ならば、タイムアウト検出信号106及びセッ
ト信号107を割り込み要求発生回路5に出力すると共
に、CPUI/F46によってハードウェアタイマ計数
値105を保持する。
【0190】上記減算結果と“0”とが異なる場合、減
算回路4は、何も処理を行わず、次のハードウェアタイ
マ計数値更新信号104が到来するまで待機する。
【0191】割り込み要求発生回路5は、システムが起
動すると、待機状態に入り、減算回路4からのタイムア
ウト検出信号106及びセット信号107が到来するま
で、待機する。
【0192】タイムアウト検出信号106及びセット信
号107が到来すると、割り込み要求発生回路5は、制
御回路2のCPU21に対し、“H”レベルの割り込み
信号108を送出して、待機状態に戻る。
【0193】CPU21は、割り込み要求発生回路5か
らの“H”レベルの割り込み信号108を受領すると、
実行中のプログラムを中断し、このプログラムに関する
データ、及びCPU21の内部レジスタの内容等を全
て、待避レジスタ14に避難させる。
【0194】次に、CPU21は、CPUバス103を
介して、減算回路4により保持されているソフトウェア
タイマレジスタアドレス110(ハードウェアタイマ計
数値105)を読み出すと共に、その値が示すタイマレ
ジスタ100のアドレス(すなわちソフトウェアタイ
マ)に応じた、プログラム中の子プロセスである割り込
み処理タスクを起動する。
【0195】割り込み処理タスク(子プロセス)は、規
定された処理を行い、それが終了すると、減算回路4を
介して、割り込み要求発生回路5から出力されている割
り込み信号108をリセットすると共に、新たなソフト
ウェアタイマ計数値を、対応するタイマレジスタ100
に書き込み、処理を終了し、その後、CPU21に割り
込み処理の終了を通知する。
【0196】CPU21は、割り込み処理タスクからの
割り込み処理終了通知を受領すると、中断していたプロ
グラムの実行データ等のデータを、待避レジスタ24か
ら元の状態に復帰させ、処理を再開する。
【0197】次に、マルチインターバルタイマ回路にお
いて、制御回路2のタイマ回路1に対する処理につい
て、図9に示すフローチャートを参照して説明する。
【0198】制御回路2、すなわちCPU21により実
行されるプログラムは、制御回路2を初期化し、また、
割り込み要求発生回路5にパラメータ値を設定し(ステ
ップS101)、更に、ハードウェアタイマ3にパラメ
ータ値を設定すると共に、タイマレジスタ群6におい
て、各ソフトウェアタイマに対応したタイマ初期値を、
全てのタイマレジスタ100に設定する(ステップS1
02)。
【0199】次に、制御回路2は、ハードウェアタイマ
3を起動すると共に(ステップS103)、ソフトウェ
アタイマ回路、すなわち上記プログラム、ハードウェア
タイマ3、減算回路4及びタイマレジスタ群6のうち
の、待機状態にある減算回路4及びタイマレジスタ群6
を起動する(ステップS104)。
【0200】続いて、制御回路2は、タイマ回路1の割
り込み要求発生回路5から出力される割り込み信号を受
領するまで待機し(ステップS105)、その割り込み
信号を受領した場合には(ステップS106)、各割り
込み信号に対応した処理を実行し(ステップS10
7)、その後、ステップS105に戻り、このステップ
以降を実行する。
【0201】減算周期可変回路9の処理について、図1
0に示すフローチャートを参照して説明する。
【0202】システムが起動(CPU21により実行さ
れるプログラムが起動)すると、このプログラムによっ
て、判断回路93に、CPUI/F91を介して「n=
0、X=減算周期マスク範囲値」が定義されると(ステ
ップS201)、RCO信号カウンタ92は、ハードウ
ェアタイマ3からのRCO信号111を計数し、この計
数値を判断回路93に出力する(ステップS202)。
【0203】判断回路93は、「n=n+1」を演算し
(ステップS203)、この演算結果(n)と上記定義
された値「X」とが等しいか否か(n=Xか否か)を判
断する(ステップS204)。
【0204】判断回路93は、ステップS204におい
て、2つの値が一致しない場合には、マスク回路95へ
マスク「ON」を設定し(ステップS205)、その
後、ステップS202に戻り、このステップ以降を実行
し、2つの値が一致する場合は、マスク回路95へマス
ク「OFF」を設定すると共に(ステップS206)、
RCO信号カウンタ92の計数値をリセット(すなわち
n=0)し(ステップS207)、その後、ステップS
202に戻り、このステップ以降を実行する。
【0205】判断回路93とは別に、計数値比較回路9
4は、ハードウェアタイマ計数値更新信号104を検出
すると、ハードウェアタイマ計数値105と、プログラ
ムにより設定されたマスク範囲終了レジスタアドレスと
を比較する。
【0206】計数値比較回路94は、2つの値が一致し
ている場合には、マスク回路95へマスク「OFF」の
設定を行い、2つの値が一致しない場合は、次のハード
ウェアタイマ計数値更新信号104を検出するまで待機
する。
【0207】マスク回路95は、判断回路93及び計数
値判断回路94により設定されるマスクの「ON」、
「OFF」の設定に応じて、ハードウェアタイマ計数値
更新信号104、及びハードウェアタイマ計数値105
にマスク処理を施して、減算回路4へ出力する。
【0208】次に、減算周期可変回路9によるマスク処
理について説明する。
【0209】減算周期可変回路9は、RCO信号カウン
タ92によって、ハードウェアタイマ3からのRCO信
号111をカウントすることにより、ハードウェアタイ
マ3の計数周期を把握する。
【0210】そして、減算周期可変回路9は、プログラ
ムから設定される減算周期マスク範囲に基づき該当する
ハードウェアタイマ3の計数周期の期間中、マスク回路
22によって、減算回路4へ出力するハードウェアタイ
マ計数値105、及びハードウェアタイマ計数値更新信
号104をマスクする。
【0211】また、減算周期可変回路9は、計数値比較
回路94によって、ハードウェアタイマ3からのハード
ウェアタイマ計数値105を監視することにより、ハー
ドウェアタイマ計数値105、すなわち、ソフトウェア
タイマレジスタアドレス110を把握する。
【0212】そして、減算周期可変回路9は、プログラ
ムから設定されるマスク範囲終了レジスタアドレスに基
づき該当するソフトウェアタイマレジスタアドレス11
0については、マスク回路95によって、減算回路4へ
出力するハードウェアタイマ計数値105、及びハード
ウェアタイマ計数値更新信号104をマスクする。
【0213】上述した二つのマスク機能により、ハード
ウェアタイマ3の動作の特定の周期に、特定のソフトウ
ェアタイマレジスタアドレス110に対して減算回路4
の動作を先送りさせることにより、ソフトウェアタイマ
のカウント動作を引き伸ばすことができる。
【0214】このため、ハードウェアタイマ3の動作の
特定の周期に、特定のソフトウェアタイマレジスタによ
り構成されるソフトウェアタイマにおいては、これ以外
のソフトウェアタイマと異なる減算周期を実現させるこ
とができる。
【0215】次に、制御回路2及び減算回路4のタイマ
レジスタ100に対する動作を、図11に示すフローチ
ャートを参照して説明する。
【0216】システム起動後、制御回路2、すなわちC
PU21により実行されるプログラムは、制御回路2を
初期化し、また、割り込み要求発生回路5にパラメータ
値を設定し(ステップS301)、ハードウェアタイマ
3にパラメータ値を設定すると共に、ハードウェアタイ
マ3を起動する前に、タイマレジスタ群6中の格納値が
不安定なため、タイマレジスタ群6において、各ソフト
ウェアタイマに対応したタイマ初期値を、全てのタイマ
レジスタ100に設定する(ステップS401、S50
1)。
【0217】これは、この実施の形態では、ソフトウェ
アタイマがタイマレジスタ群6をバレルレジスタとして
回帰的に使用している為に、プログラムの管理下に無い
ソフトウェアタイマが1つでも存在していると、それが
原因となってシステムが仕様と異なる動作をする、つま
りバグが発生する事を防ぐ為に行う処理である。
【0218】タイマ初期値設定後、プログラムは、ハー
ドウェアタイマ3を起動させ(ステップS302)、ソ
フトウェアタイマ回路、すなわち、待機状態にある減算
回路4及びタイマレジスタ群6を起動させる(ステップ
S303)。
【0219】プログラムは、減算回路4からの割り込み
信号108が到来するまで、他のタスクを処理し、ソフ
トウェアタイマの計数処理には介入しない。但し、当初
設定したソフトウェアタイマ計数値を随時変更すること
は可能である。
【0220】減算回路4は、各タイマ動作に対応した処
理を実行し(ステップS502)、タイマレジスタは、
各タイマ動作に対応した処理によりアクセスされる(ス
テップS402)。
【0221】すなわち、減算回路4は、ハードウェアタ
イマ3の計数値に従い対応したタイマレジスタ100の
格納値、つまりソフトウェアタイマ計数値を読み出すと
共に、この値から“1”を減算し、元のタイマレジスタ
100に、この減算結果を書き込む。
【0222】減算回路4は、順次、ハードウェアタイマ
計数値更新信号104が到来する毎に各タイマレジスタ
100に格納されているソフトウェアタイマ計数値につ
いて減算処理していく。
【0223】減算回路4は、このソフトウェアタイマ計
数値の値が「0」になった場合、タイムアウト検出信号
106及びセット信号107を割込要求発生回路5に出
力する(ステップS503)。
【0224】タイムアウト検出信号106及びセット信
号107を受領した割込要求発生回路5によって、割込
信号108が制御回路2へ送出されるので、制御回路2
のCPU21は、この割込信号108を受領すると(ス
テップS304)、この時点で、処理を実行しているタ
スクを停止し、割込要求信号に対応した処理すなわち割
り込み処理タスクを実行(移行)する。
【0225】この時、CPU21は、割り込み処理タス
クの実行を終了した後に、元のタスクを再開できるよう
に、CPU21内の情報を待避レジスタ24に待避させ
る。
【0226】割り込み処理タスクに移行後、CPU21
は、割り込み信号108のリセットと、当該タイマレジ
スタ100にソフトウェアタイマ計数値112の設定を
行い、その後、割り込み処理タスクを開始する(ステッ
プS305)。
【0227】このステップS305の処理は、割り込み
処理タスク実行中に、その次以降のソフトウェアタイマ
のタイムアウトが生じた場合に、割り込み信号108を
喪失させない為に、割り込み処理タスクよりも前に実行
する必要が有る為に実施している。
【0228】割り込み処理タスクの実行が終了すると、
プログラムは、タイマレジスタの再設定を行う。すなわ
ち、プログラムは、割り込み処理タスクの実行を終了し
た旨をCPU21に伝達し、割り込み処理タスク実行前
に待避レジスタ14に移動させたタスクの情報を元に戻
して(ステップS306)、そのタスクを再開する事に
より割り込み信号108到来前の状態に復帰させる。
【0229】ステップS306を終了した制御回路2に
おいては、ステップS304に戻り、このステップ以降
を実行する。
【0230】プログラムによりタイマレジスタの再設定
が行われると、上記ステップS401と同様に、タイマ
レジスタによるタイマレジスタの再設定が行われると共
に(ステップS403)、上記ステップS501と同様
に、減算回路によるタイマ回路の設定が行われる(ステ
ップS504)。
【0231】この実施の形態では、制御回路動作用クロ
ック102を8.392MHz、計数クロック101を
32.768KHzとしているが、これらの各クロック
の値は、システム要求に基づくもので、対象となる他の
システムにおいては異なった値を採用することもでき
る。
【0232】また、32.768KHzのクロックは
8.39MHzを256分周して得られたものである
が、分周数も、他の値を採用することも可能である。
【0233】さらに、制御回路動作用クロック102と
計数クロック101が異なっている源振(この実施形態
では、8.39MHzは32.768KHzの源振とな
る)から得ることも可能である。
【0234】また、この実施の形態では、システム起動
と同時に、プログラムによる各回路動作に必要なパラメ
ータを設定するようにしているが、これに限定されるこ
となく、システム起動と同時に、タイマ回路1を動作さ
せる必要がなければ、システム起動直後に、ハードウェ
アタイマ3に対しては非動作の設定を行い、システム動
作上必要となって初めて、動作に必要なパラメータを設
定するようにしても良い。
【0235】また、この実施の形態では、減算回路4
は、計数クロック101(32.768KHz)が波形
整形されたハードウェアタイマ計数値更新信号104
(238.38ミリ秒の正パルス)を使用するようにし
ているが、これに限定されることなく、計数クロック1
01を、そのままハードウェアタイマ計数値更新信号1
04として使用するようにしても良い。
【0236】また、この実施の形態では、タイマレジス
タバス調停回路7においては、演算回路4に優先権を与
え、CPU21上のプログラムに待機機能を持たせるよ
うにしているが、これに限定されることなく、CPU2
1上のプログラムに優先権を与えても良い(優先権の逆
転)。また、予め設定された何れか一方に優先権を与え
るのではなく、処理対象に応じて、動的に変更するよう
にして、何れか一方に優先権を与えるようにしても良
い。
【0237】更に、この実施の形態では、減算周期マス
ク範囲とマスク範囲終了レジスタアドレスを固定して使
用するようにしているが、これに限定されることなく、
これらの値を、動的にシステム稼働中に変更することも
可能である。更には、システムの動作モードによって、
減算周期可変回路9を動作/非動作切り替えて使用する
ことも可能である。
【0238】この実施の形態において、タイマを増設す
るには、ソフトウェアタイマを増設することにより達成
することができる。すなわち、ソフトウェアタイマの実
装数分のタイマレジスタ100の追加、および僅かなプ
ログラムの変更により、タイマ数を追加することができ
る。
【0239】これに対し、従来の如くハードウェアタイ
マ3の数を増加させた場合には、タイマの数だけ回路規
模が増大するこになる。
【0240】この実施の形態のように、ハードウェア規
模を可能な限り抑制することを目標としている組込み型
システムにおいては、タイマの増設が、ソフトウェアタ
イマにより可能となることは、システム構成上、重要な
ことである。
【0241】以上説明したように、この実施の形態に係
るマルチインターバルタイマ回路によれば、減算周期可
変回路によって、制御回路により設定される減算周期マ
スク及びマスク範囲終了レジスタアドレスの値に基づい
て、任意の連続したアドレスで示されるタイマレジスタ
群へのアクセスを禁止するようにしているので、これら
のタイマレジスタ群に格納されているソフトウェアタイ
マ計数値の減算動作を中断させることができる。
【0242】すなわち、任意の減算周期の期間中におい
て、任意の連続したアドレスを持つ複数のソフトウェア
タイマレジスタについては、これらのソフトウェアタイ
マレジスタに格納されているソフトウェアタイマ計数値
に対する減算動作が実施されないことになる。
【0243】従って、任意の連続したアドレスを持つソ
フトウェアタイマレジスタ群は、他のソフトウェアタイ
マレジスタ群と比較して、減算動作が実施されない減算
周期の期間に応じて、減算周期が延長されることにな
る。
【0244】例えば、減算周期マスク範囲を0000(hex)
〜ffff(hex)の値、タイマレジスタに格納されるソフト
ウェアタイマ計数値をffff(hex)とした場合は、上述し
た様にソフトウェアタイマの最長周期は2386.02
時間 、つまり99日 となる。
【0245】このように、減算周期可変回路9の処理に
よって、本来、最長周期が131.072秒までのソフ
トウェアタイマタイムアウト時間が、最長99日とな
り、大幅なソフトウェアタイマタイムアウト時間の拡大
を図ることが可能となる。
【0246】また、この実施の形態に係るマルチインタ
ーバルタイマ回路によれば、従来技術と比較して、制御
回路2が実行するプログラムにおいて異なっている点
は、減算周期マスク範囲とマスク範囲終了レジスタアド
レスの設定を行うことのみとしているので、減算周期可
変回路9の追加による上記プログラムへの影響は軽微な
ものとなる。
【0247】また、このプログラムが必要とするメモリ
容量に影響を与ることはなく、しかも、プログラムのバ
グが発生し難いシステム(マルチインターバルタイマ回
路)を提供することができる。
【0248】本発明の第2の実施の形態について、添付
図面を参照して説明する。
【0249】この実施の形態に係るマルチインターバル
タイマ回路は、基本的には図1に示した構成と同様であ
るが、減算周期可変回路9の構成が少し異なっている。
【0250】図12は、この実施の形態に係るマルチイ
ンターバルタイマ回路に用いられる減算周期可変回路の
構成を示すブロック図である。
【0251】図12に示す構成は、図5に示した減算周
期可変回路9においてRCO信号カウンタ92、計数値
比較回路94を削除し、第1のRCO信号カウンタ9
6、第2のRCO信号カウンタ97、第1の計数値比較
回路98、及び第2の計数値比較回路99を追加した構
成になっている。なお、同図において、同一の機能を果
たす部分には同一の符号を付している。
【0252】第1のRCO信号カウンタ96は、RCO
信号111が到来すると、RCO信号を計数しこの計数
値(m)を加算処理して、判断回路93に出力する。つ
まり、「m=m+1」(但し、初期値、m=0とする)
を演算して、この結果を出力する。
【0253】第2のRCO信号カウンタ97は、RCO
信号111が到来すると、RCO信号を計数しこの計数
値(n)を加算処理して、判断回路93に出力する。つ
まり、「n=n+1」(但し、初期値、n=0とする)
を演算して、この結果を出力する。
【0254】判断回路93は、第1のRCO信号カウン
タ96の計数による第1のRCO信号カウンタ計数値
(m)と、プログラムにより設定された減算周期マスク
範囲値(xm)とを比較して、一致した場合には、マス
ク回路95へマスク「OFF」の設定を行う。
【0255】一方、(m)と(xm)とが一致しない場
合、判断回路93は、マスク回路95へマスク「ON」
の設定を行うと同時に、第2のRCO信号カウンタ97
の計数による第二のRCO信号カウンタ計数値(n)
と、プログラムにより設定された減算周期マスク範囲値
(xn)とを比較する。
【0256】判断回路93は、(n)と(xn)とが一
致した場合には、マスク回路37へマスク「OFF」の
設定を行い、一方、(n)と(xn)とが一致しない場
合は、マスク回路95へマスク「ON」の設定を行う。
【0257】第1の計数値比較回路98は、ハードウェ
アタイマ3から入力されるハードウェアタイマ計数値更
新信号104が到来すると、ハードウェアタイマ計数値
105と、プログラムにより設定されたマスク範囲終了
レジスタアドレス(ym)とを比較する。
【0258】そして、第1の計数値比較回路98は、上
記比較した結果、2つの値が同じ場合には、マスク回路
95へマスク「OFF」の設定を行い、一方、2つの値
が異なっている場合は、何も行わずに、次のハードウェ
アタイマ計数値更新信号104が到来するまで、待機す
る。
【0259】第2の計数値比較回路99は、ハードウェ
アタイマ計数値105と、プログラムにより設定された
マスク範囲終了レジスタアドレス(yn)とを比較す
る。
【0260】そして、第2の計数値比較回路99は、上
記比較した結果、2つの値が同じ場合には、マスク回路
95へマスク「OFF」の設定を行い、一方、2つの値
が異なっている場合は、何も行わずに、次のハードウェ
アタイマ計数値更新信号104が到来するまで、待機す
る。
【0261】次に、減算周期可変回路9の動作につい
て、具体例を挙げて説明する。
【0262】ハードウェアタイマ最大計数値つまり多段
同期カウンタ32の最大計数値が(216−1)の場
合、プログラムが設定する減算周期マスク範囲及びマス
ク範囲終了レジスタアドレスの値がそれぞれ以下である
とする。
【0263】 減算周期マスク範囲 xm 4 (hex) 減算周期マスク範囲 xn 2 (hex) マスク範囲終了レジスタアドレス ym 00ff(hex) マスク範囲終了レジスタアドレス yn 000f(hex)
【0264】このとき、減算周期可変回路9から減算回
路4へ出力されるハードウェアタイマ計数値105、及
びハードウェアタイマ計数値更新信号104のタイマレ
ジスタアドレス110の範囲は、 第一の周期 0000(hex)〜ffff(hex) 第二の周期 0100(hex)〜ffff(hex) 第三の周期 0100(hex)〜ffff(hex) 第四の周期 0100(hex)〜ffff(hex) 第五の周期 0010(hex)〜ffff(hex) 第六の周期 0100(hex)〜ffff(hex) 第七の周期 0100(hex)〜ffff(hex) 第八の周期 0100(hex)〜ffff(hex) が、一つの大周期となる。
【0265】タイマレジスタ群6において、0000
(hex)〜000f(hex)の範囲は、八周期のう
ち第一の周期のみがアクセスされ、また0010(he
x)〜00ff(hex)の範囲は、八周期のうち第一
及び第五の周期のみがアクセスされる。
【0266】従って、タイマレジスタ群6のうち、00
00(hex)から、プログラムにより設定されたマス
ク範囲終了レジスタアドレス00ff(hex)まで
は、他のアドレス0100(hex)〜ffff(he
x)に比較して、減算回路4によってタイマレジスタ1
00の格納値(ソフトウェアタイマ計数値112)を処
理(減算)される回数は、プログラムにより設定された
減算周期マスク範囲の分だけ除した回数となる。
【0267】すなわち、ソフトウェアタイマ周期として
は、タイマレジスタ群6のアドレスが0000(he
x)〜000f(hex) の範囲においては、他のタ
イマレジスタ群6、この場合、0100(hex)〜f
fff(hex)のアドレスのタイマレジスタ群6と比
較して、(xm)×(xn)=4×2=8倍の時間のソ
フトウェアタイマ設定周期を得たことになる。
【0268】また、タイマレジスタ群6のアドレスが0
010(hex)〜00ff(hex)の範囲において
は、0100(hex)〜ffff(hex)のアドレ
スのタイマレジスタ群6と比較して、x×m=4倍の時
間のソフトウェアタイマ設定周期を得たことになる。
【0269】上述したように、RCO信号カウンタと計
数値比較回路を二系統使用することにより、元のソフト
ウェアタイマ設定周期、4倍のソフトウェアタイマ設定
周期、及び8倍のソフトウェアタイマ設定周期と、いう
具合に、3種類のソフトウェアタイマ設定周期を実現す
ることができる。
【0270】この第2の実施の形態では、RCO信号カ
ウンタと計数値比較回路を二系統使用することにより、
3種類のソフトウェアタイマ設定周期を実現するように
しているが、これに限定されることなく、より多くの種
類のソフトウェアタイマ設定周期を必要とする場合は、
RCO信号カウンタと計数値比較回をm系統使用するこ
とにより、(m+1)種類のソフトウェアタイマ設定周
期を実現することができる。
【0271】また、この第2の実施の形態では、減算周
期マスク範囲とマスク範囲終了レジスタアドレスを固定
して使用するようにしているが、これに限定されること
なく、これらの値を、動的にシステム稼働中に変更する
ことも可能である。更には、システムの動作モードによ
って、減算周期可変回路9を動作/非動作切り替えて使
用することもできる。
【0272】この第2の実施の形態に係るマルチインタ
ーバルタイマ回路によれば、減算周期可変回路9を用い
ることにより、ソフトウェアタイマタイムアウト時間の
設定値の拡大を図ることができると共に、1つのハード
ウェアタイマ3から異なる3種類の減算周期を設定する
ことができる。
【0273】また、この第2の実施の形態においても、
上記第1の実施の形態における効果が期待できることは
勿論である。
【0274】
【発明の効果】以上説明したように、本発明によれば、
予め設定される一定期間中、記憶手段に記憶されている
タイマ値については、一定値の減算処理が実施されない
ので、この減算処理が実施されない期間分、タイマ計数
値が予め設定される計数値に達するまでに、長い時間を
要することになり、よってタイムアウトを延期(遅延)
させることができる。すなわち、長時間のタイマ値を設
定することができる。また、常にアクセスされる記憶領
域と、一定期間中はアクセスされない記憶領域とが設け
られているので、これらの記憶領域に記憶されているタ
イマ計数値が、予め設定される計数値に達するまでに要
する時間は、それぞれ異なることになり、よって異なる
複数のタイマ値を設定することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るマルチインターバル
タイマ回路の構成を示すブロック図である。
【図2】制御回路の構成を示すブロック図である。
【図3】ハードウェアタイマの構成を示すブロック図で
ある。
【図4】ハードウェアタイマの動作を示すタイミングチ
ャートである。
【図5】減算周期可変回路の構成を示すブロック図であ
る。
【図6】減算周期可変回路の動作を示すタイミングチャ
ートである。
【図7】減算周期可変回路の動作を示すタイミングチャ
ートである。
【図8】減算回路及び割込要求発生回路の構成を示すブ
ロック図である。
【図9】制御回路のタイマ回路に対する処理動作を示す
フローチャートである。
【図10】減算周期可変回路の処理動作を示すフローチ
ャートである。
【図11】制御回路及び減算回路のタイマレジスタに対
する処理動作を示すフローチャートである。
【図12】本発明の第2の実施の形態に係るマルチイン
ターバルタイマ回路の減算周期可変回路の構成を示すブ
ロック図である。
【図13】従来のタイマ回路の構成を示すブロック図で
ある。
【符号の説明】
1 タイマ回路 2 制御回路 3 ハードウェアタイマ 4 減算回路 5 割り込み要求発生回路 6 タイマレジスタ群 7 CPUバス調停回路 9 減算周期可変回路 21 CPU 22 割り込み制御回路 23 プログラムメモリ 24 待避レジスタ 31 CPUインタフェース 32 多段同期カウンタ 33 波形整形回路 41 アドレスレジスタ 42 動作タイミング信号発生回路 43 タイマレジスタインタフェース 44 演算回路 45 比較回路 46 CPUインタフェース 51 ラッチ回路 91 CPUインタフェース 92 RCO信号カウンタ 93 判断回路 94 計数値比較回路 95 マスク回路 96 第一のRCO信号カウンタ 97 第二のRCO信号カウンタ 98 第一の計数値比較回路 99 第二の計数値比較回路 100 タイマレジスタ 101 計数クロック 102 制御回路動作用クロック 103 CPUバス 104 ハードウェアタイマ計数値更新信号 105 ハードウェアタイマ計数値 106 タイムアウト検出信号 107 セット信号 108 割り込み信号 109 減算回路側タイマレジスタアドレス/ソフトウ
ェアタイマ計数値 110 タイマレジスタアドレス/ソフトウェアタイマ
計数値 111 RCO信号 112 ソフトウェアタイマ計数値 CG1 クロック発生回路

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】一定周期のクロックをリセット状態から予
    め設定される最大値まで回帰的に計数し、該計数したク
    ロック計数値を出力する計数手段と、 予め設定されるタイマ計数値を記憶する記憶手段と、 前記計数手段から出力されるクロック計数値を受領し、
    該クロック計数値の受領タイミングに従って前記記憶手
    段へアクセスし、前記記憶手段に記憶されているタイマ
    計数値について一定値を減算し更新する処理手段と、 予め設定される一定期間中、前記記憶手段へはアクセス
    は実施しないよう前記処理手段を制御する制御手段と、 前記記憶手段に記憶されているタイマ計数値が、予め設
    定される計数値に達したときにタイムアウトである旨を
    外部に通知する通知手段と、 を備えることを特徴とするタイマ回路。
  2. 【請求項2】前記記憶手段は、 予め設定されるタイマ計数値を記憶する記憶領域であっ
    て、前記計数手段によりクロックが計数される最大値ま
    での各クロック計数値のうち、互いに値の異なる少なく
    とも2つのクロック計数値に対応する第1及び第2のア
    ドレスで示される2つの記憶領域を、備え、 前記処理手段は、 前記計数手段からの前記第1及び第2のアドレスに対応
    するクロック計数値を受領したときは、該クロック計数
    値の受領タイミングに従って、当該クロック計数値に対
    応するアドレスで示される記憶領域へアクセスし、当該
    記憶領域に記憶されているタイマ計数値について一定値
    を減算し更新する更新手段、を備え、 前記制御手段は、 予め設定される一定期間中、前記記憶手段の2つの記憶
    領域のうちの、予め設定される1つの記憶領域へはアク
    セスは実施しないよう前記更新手段を制御する手段、を
    備え、 前記通知手段は、 前記第1のアドレスで示される記憶領域に記憶されてい
    るタイマ計数値が、予め設定される計数値に達したとき
    にタイムアウトである旨を外部に通知すると共に、前記
    第2のアドレスで示される記憶領域に記憶されているタ
    イマ計数値が、予め設定される計数値に達したときにタ
    イムアウトである旨を外部に通知する手段、を備える、 ことを特徴とする請求項1に記載のタイマ回路。
  3. 【請求項3】前記記憶手段は、 予め設定されるタイマ計数値を格納する格納領域であっ
    て、前記計数手段によりクロックが計数される最大値ま
    での各クロック計数値にそれぞれ対応し連続する複数の
    アドレスで示される複数の格納領域、を備え、 前記処理手段は、 前記計数手段からのクロック計数値を受領し、該クロッ
    ク計数値の受領タイミングに従って、当該クロック計数
    値に対応するアドレスで示される格納領域へアクセス
    し、当該格納領域に格納されているタイマ計数値につい
    て一定値を減算し更新する更新手段、を備え、 前記制御手段は、 予め設定される一定期間中、前記記憶手段における複数
    の格納領域のうちの、予め設定され連続する複数のアド
    レスで示される複数の格納領域へは、アクセスは実施し
    ないよう前記更新手段を制御する手段、を備え、 前記通知手段は、 予め設定され連続する複数のアドレスで示される複数の
    格納領域に格納されているタイマ計数値全てが、予め設
    定される計数値に達したときにタイムアウトである旨を
    外部に通知すると共に、予め設定され連続する複数のア
    ドレスで示される複数の格納領域以外の格納領域に格納
    されているタイマ計数値全てが、予め設定される計数値
    に達したときにタイムアウトである旨を外部に通知する
    手段、を備える、 ことを特徴とする請求項1に記載のタイマ回路。
  4. 【請求項4】前記記憶手段は、 予め設定されるタイマ計数値を格納する格納領域であっ
    て、前記計数手段によりクロックが計数される最大値ま
    での各クロック計数値のうちの、任意の複数のクロック
    計数値にそれぞれ対応し互いに値の異なる複数のアドレ
    スで示される複数の格納領域、を備え、 前記処理手段は、 前記計数手段からの前記複数のアドレスに対応するクロ
    ック計数値を受領したときは、該クロック計数値の受領
    タイミングに従って、当該クロック計数値に対応するア
    ドレスで示される格納領域へアクセスし、当該格納領域
    に格納されているタイマ計数値について一定値を減算し
    更新する更新手段、を備え、 前記制御手段は、 予め設定される一定期間中、前記記憶手段における複数
    の格納領域のうちの、予め設定される複数の格納領域へ
    は、アクセスは実施しないよう前記更新手段を制御する
    手段、を備え、 前記通知手段は、 前記予め設定される複数の格納領域に格納されているタ
    イマ計数値が、予め設定される計数値に達したときにタ
    イムアウトである旨を外部に通知すると共に、前記予め
    設定される複数の格納領域以外の格納領域に格納されて
    いるタイマ計数値が、予め設定される計数値に達したと
    きにタイムアウトである旨を外部に通知する手段、を備
    える、 ことを特徴とする請求項1に記載のタイマ回路。
  5. 【請求項5】前記計数手段は、 前記クロックを計数したクロック計数値、クロック計数
    値がカウントアップされたことを示す更新信号、及びカ
    ウントアップされたクロック計数値が最大値に達したこ
    とを示すキャリーアウト信号を出力する出力手段、を備
    え、 前記処理手段は、 前記出力手段から出力される更新信号及びクロック計数
    値を受領し、該更新信号の受領タイミングに従って、当
    該クロック計数値に対応するアドレスで示される格納領
    域へアクセスし、当該格納領域に格納されているタイマ
    計数値について一定値を減算し更新する更新処理手段、
    を備え、 前記制御手段は、 前記出力手段から出力されるキャリーアウト信号を計数
    する信号計数手段と、 前記信号計数手段により計数された計数結果に基づい
    て、前記予め設定される一定期間中、前記予め設定され
    る複数の格納領域へは、アクセスは実施しないよう前記
    更新処理手段を制御する手段と、を備える、 ことを特徴とする請求項4に記載のタイマ回路。
  6. 【請求項6】前記制御手段は、 前記信号計数手段により計数された計数値と予め設定さ
    れる設定値とが一致するか否かを判断する判断手段と、 前記判断手段による判断結果に応じて、前記出力手段か
    ら出力されるクロック計数値のうちの、前記予め設定さ
    れる一定期間中、前記予め設定される複数の格納領域を
    示すアドレスに対応するクロック計数値については、前
    記更新処理手段へ供給させない供給不許可手段と、 を備える、ことを特徴とする請求項5に記載のタイマ回
    路。
  7. 【請求項7】前記供給不許可手段は、 前記判断手段により計数値と設定値とが一致したと判断
    された場合には、前記予め設定される複数の格納領域を
    示すアドレスに対応するクロック計数値については、マ
    スク処理を施して、前記更新処理手段へ供給させないマ
    スク手段、を備えることを特徴とする請求項6に記載の
    タイマ回路。
  8. 【請求項8】一定周期のクロックをリセット状態から予
    め設定される最大値まで回帰的に計数し、該計数したク
    ロック計数値を出力する計数ステップと、 予め設定されるタイマ計数値を記憶する記憶ステップ
    と、 前記計数ステップにより出力されるクロック計数値を受
    領し、該クロック計数値の受領タイミングに従って前記
    記憶ステップにより記憶されている記憶内容へアクセス
    し、前記記憶ステップに記憶されているタイマ計数値に
    ついて一定値を減算し更新する処理ステップと、 予め設定される一定期間中、前記記憶ステップにより記
    憶されている記憶内容への、前記処理ステップによるア
    クセスを禁止させる制御ステップと、 前記記憶ステップにより記憶されているタイマ計数値
    が、予め設定される計数値に達したときにタイムアウト
    である旨を外部に通知する通知ステップと、 を含むことを特徴とするタイマ回路におけるタイムアウ
    ト通知方法。
JP11125598A 1999-05-06 1999-05-06 タイマ回路及びタイムアウト通知方法 Pending JP2000315122A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11125598A JP2000315122A (ja) 1999-05-06 1999-05-06 タイマ回路及びタイムアウト通知方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11125598A JP2000315122A (ja) 1999-05-06 1999-05-06 タイマ回路及びタイムアウト通知方法

Publications (1)

Publication Number Publication Date
JP2000315122A true JP2000315122A (ja) 2000-11-14

Family

ID=14914115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11125598A Pending JP2000315122A (ja) 1999-05-06 1999-05-06 タイマ回路及びタイムアウト通知方法

Country Status (1)

Country Link
JP (1) JP2000315122A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014006622A (ja) * 2012-06-22 2014-01-16 Casio Comput Co Ltd 半導体集積回路
JPWO2021048964A1 (ja) * 2019-09-12 2021-03-18

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014006622A (ja) * 2012-06-22 2014-01-16 Casio Comput Co Ltd 半導体集積回路
JPWO2021048964A1 (ja) * 2019-09-12 2021-03-18
JP7294430B2 (ja) 2019-09-12 2023-06-20 サンケン電気株式会社 プロセッサ及びイベント処理方法

Similar Documents

Publication Publication Date Title
EP2573683A1 (en) Data processor and electronic control unit
JP2010113641A (ja) プロセッサシステムの動作方法およびプロセッサシステム
JPH0844594A (ja) データ処理装置
US20090319810A1 (en) Receiving apparatus and activation control method for receiving apparatus
JP2000315122A (ja) タイマ回路及びタイムアウト通知方法
US20160103704A1 (en) Data processing device and method of controlling the same
JP2773546B2 (ja) パルス発生回路
JPH06348507A (ja) マイクロコンピュータ
US7055051B2 (en) Clock switch device and microcontroller for selecting one of a plurality of clocks based on signal levels
JP2011008698A (ja) マイクロコンピュータ及びマイクロコンピュータシステム
JP2009266252A (ja) プロセッサ
WO2012104940A1 (ja) 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路
US6715017B2 (en) Interruption signal generating apparatus
JP4295792B2 (ja) プロセッサ及びプログラム実行方法
JPH04209020A (ja) マイクロコンピュータ
JP3144811B2 (ja) 監視タイマ回路
JPH03246603A (ja) 高速カウンタ
CN114090215A (zh) 一种任务处理的方法及相关设备
JPH0973404A (ja) ウオッチドッグタイマ回路
JP3145292B2 (ja) デジタル信号処理回路
SU1550526A1 (ru) Устройство взаимного перезапуска абонентов
JPS6073748A (ja) 内部タイマ回路方式
JPH0683652A (ja) マイクロコンピュ−タシステム
JP2004171040A (ja) タイマ回路
JPH04192037A (ja) 半導体集積回路