JP3737144B2 - Interrupt request circuit and interrupt request processing method - Google Patents
Interrupt request circuit and interrupt request processing method Download PDFInfo
- Publication number
- JP3737144B2 JP3737144B2 JP23129794A JP23129794A JP3737144B2 JP 3737144 B2 JP3737144 B2 JP 3737144B2 JP 23129794 A JP23129794 A JP 23129794A JP 23129794 A JP23129794 A JP 23129794A JP 3737144 B2 JP3737144 B2 JP 3737144B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- interrupt request
- circuit
- flip
- output
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【産業上の利用分野】
本発明は、マイコン等に使用される割り込み要求回路およびこの割り込み要求回路が示す割り込み要求の処理方法に関するものである。
【0002】
【従来の技術】
マイコン等に使用される割り込み要求回路は、所定の機能を有する周辺回路(たとえばカウンタ、A/D変換回路等)からの割り込み要求信号を受信し、受信したこの割り込み要求信号に対応する割り込み要求出力信号を中央演算処理装置(以下CPUとする。)に出力するものである。この割り込み要求回路は、対応する周辺回路から出力された割り込み要求信号に応答してセットされる複数のフリップフロップを有する。CPUは、フリップフロップの状態がリセット状態からセット状態に変化した時、セット状態に変化したこのフリップフロップの出力を割り込み要求出力信号として受信する。そしてCPUは、セット状態に変化したこのフリップフロップに対応する周辺回路に関する割り込み処理を行う。その後CPUは、セット状態にあるフリップフロップをリセット状態に戻すクリア動作を行う。このクリア動作により、割り込み要求回路は、割り込み処理が終了したことを示す。従ってCPUは、この割り込み要求回路の状態を検出することにより、周辺回路に割り込み要求が存在するかどうかを判断できる。そしてもし割り込み要求が存在する場合は、CPUは対応する割り込み処理を実行した後、上述のクリア動作を行う。
【0003】
【発明が解決しようとする課題】
しかしながら、割り込み要求はCPUの動作とは非同期にしかも複数発生する可能性がある。従って、CPUが最初の割り込み要求に対する処理を実行している間に、次の割り込み要求が発生した場合、最初の割り込み要求に対するクリア動作により次の割り込み要求も同時にクリアされてしまう可能性がある。すなわち、上述の割り込み要求回路では、CPUに対する割り込み要求が無視されてしまう可能性がある。
【0004】
【課題を解決するための手段】
本発明の割り込み要求回路は、上述の問題点を解決するために、割り込み要求信号に応答して割り込み要求が発生していることを示す第1のデータを保持するデータ保持回路と、第2及び第3のデータが与えられるバスラインと、このバスラインとデータ保持回路との間に接続され、第1のデータと第2のデータとに応答してデータ保持回路が保持する第1のデータを維持するデータを出力し、第1のデータと第3のデータとに応答してデータ保持回路が保持する第1のデータをクリアするデータを出力する論理回路とを設けたものである。
【0005】
また本発明の割り込み要求の処理方法は、所定のデータ保持回路に割り込み要求信号を与えこのデータ保持回路に第1のデータを記憶させるステップと、この第1のデータを記憶したデータ保持回路に第2のデータを与えると同時にこのデータ保持回路を除く全てのデータ保持回路に第1のデータを与えるステップとを施したものである。
【0006】
【作用】
本発明によれば、割り込み要求があることを示すデータを記憶しているデータ保持回路のうち、割り込み要求が受け付けられたデータ保持回路にのみ第1のデータを与え、その他のデータ保持回路に第2のデータを与えることにより、結果として割り込み要求が受け付けられていないデータ保持回路のデータはクリアされずに維持される。
【0007】
【実施例】
図1は、本発明の割り込み要求回路の一実施例を示す図である。
【0008】
以下、本発明の割り込み要求回路の一実施例の構成を説明する。
【0009】
本発明の割り込み要求回路は、割り込み要求入力端子137,139,141,143及び145の各々に対応したフリップフロップ101,103,105,107及び109と、アンドゲート111,113,115,117及び119とを有している。
【0010】
割り込み要求入力端子137〜145は、割り込みの要因を有する回路からの割り込み要求信号を受信する端子である。例えば、割り込み要求入力端子137は、アナログディジタル変換回路(以下、A/D変換回路とする。)に接続されており、A/D変換回路からの割り込み要求信号を受信する。割り込み要求入力端子139は、入出力回路(以下、I/O回路とする。)に接続されており、I/O回路からの割り込み要求信号を受信する。このように、各割り込み要求入力端子は、各割り込み要求入力端子に対応した専用の回路からの割り込み要求信号を受信する。
【0011】
データ入力端子147,149,151及び153は、フリップフロップ101,103,105,107及び109の各々に対応している。また、これらデータ入力端子147〜153は、データ出力端子157,159,161,163及び165の各々に対応している。そして、これらデータ入力端子147〜153は、対応したデータ出力端子157〜165とともに双方向データ線に接続されている。例えば、データ入力端子147は、データ出力端子157とともに図示しない1本目の双方向データ線に接続されている。データ入力端子149は、データ出力端子159とともに図示しない2本目の双方向データ線に接続されている。本実施例では、データバスが8本のデータ線で構成されているものとして説明する。従って、本実施例では、フリップフロップが8個、データ入力端子及びデータ出力端子が各々8個として説明する。また、フリップフロップに対応する各構成、例えばアンドゲート111〜119も8個として説明する。(説明を容易にするため、図面においては、フリップフロップ及びこのフリップフロップに対応する各構成は、5個のみを図示する。)
フリップフロップ101は、割り込み要求入力端子137に接続されたセット端子と、アンドゲート111の出力端子に接続されたデータ入力端子Dと、アンドゲート111の一方の入力端子に接続されたデータ出力端子Qと、リセット端子167に接続されたリセット端子Rと、アンドゲート121の出力端子に接続されたゲート端子Gとを有する。フリップフロップ101のデータ出力端子Qは、さらにゲート回路125及び割り込み要求信号出力回路135に接続されている。その他のフリップフロップ103〜109の各々も、フリップフロップ101と同様に、対応した割り込み要求入力端子139〜145、アンドゲート113〜119、リセット端子167、アンドゲート121、ゲート回路127〜133及び割り込み要求信号出力回路135に接続されている。これらのフリップフロップは、データ入力端子Dに与えられたデータを保持する機能を有する。従って、これらフリップフロップは8ビットのレジスタもしくはラッチ回路として機能する。(以下、これら8個のフリップフロップを1単位で考えるときは、8個のフリップフロップを割り込み要求レジスタと称す。)
ゲート回路125〜133は、対応した各フリップフロップのデータ出力端子Qに接続された入力端子と、対応した各割り込み要求出力端子157〜165に接続された出力端子と、アンドゲート123の出力端子に接続された制御端子とを有する。
【0012】
アンドゲート121は、アドレスデコーダから出力された書き込みアドレス信号と中央演算装置(以下、CPUとする。)から出力された書き込み許可信号WRを入力し、各フリップフロップに書き込み信号を出力する。
【0013】
アンドゲート123は、アドレスデコーダから出力された読み出しアドレス信号とCPUから出力された読み出し許可信号RDを入力し、各ゲート回路125〜133に読み出し信号を出力する。
【0014】
割り込み要求信号出力回路135は、各フリップフロップのデータ出力端子Qに現れるデータの変化を検出して、割り込み要求出力信号をCPUに出力する。
【0015】
以上説明した図1に示す回路は、図2に示すシステムの一部である。
【0016】
以下、本発明の割り込み要求回路の図2に示すシステムにおける位置付け及びシステムの構成について説明する。
【0017】
図1に示した本発明の割り込み要求回路は、図2において符号201または203を付与した部分である。なお、図1と同一の構成には、図1で付与した符号と同一の符号を付与している。
【0018】
割り込み要求回路201は、8ビットの双方向データバス221を介して8ビットのデータバス217に接続されている。この双方向データバス221を構成している8本のデータ線は、図1におけるデータ入力端子147〜155に各々接続されている。さらにこの8本のデータ線は、データ出力端子157〜165にも各々接続されている。
【0019】
A/D変換回路209は、内部に割り込み要因が発生したとき割り込み要求信号を割り込み要求回路201に出力する。A/D変換回路209から出力されたこの割り込み要求信号は、図1における割り込み要求入力端子137に与えられる。
【0020】
I/O回路211は、内部に割り込み要因が発生したとき割り込み要求信号を割り込み要求回路201に出力する。I/O回路211から出力されたこの割り込み要求信号は、図1における割り込み要求入力端子139に与えられる。
【0021】
I/O回路213は、内部に割り込み要因が発生したとき割り込み要求信号を割り込み要求回路201に出力する。I/O回路213から出力されたこの割り込み要求信号は、図1における割り込み要求入力端子141に与えられる。
【0022】
ランダムアクセスメモリ回路215(以下、RAMとする。)は、内部に割り込み要因が発生したとき割り込み要求信号を割り込み要求回路203に出力する。この割り込み要求回路203は、割り込み要求回路201と同様の構成である。従って、RAM215から出力された割り込み要求信号は、図示しない割り込み要求回路203中の割り込み要求入力端子のうちの1つに与えられる。
【0023】
CPU205は、書き込み許可信号WR及び読み出し許可信号RDを出力する。またCPU205は、割り込み要求回路201および203のいずれかを選択するためのアドレス信号をアドレスバス219に出力する。さらにCPU205は、割り込み要求回路201及び203から出力された割り込み要求出力信号を、割り込み要求出力線224を介して受信する。さらにCPU205は、割り込み要求回路201及び203が示す割り込み要求をクリアするためのデータを生成し、このデータをデータバス217を介して割り込み要求回路201及び203へ与える。
【0024】
アドレスデコーダ207は、CPU205が出力したアドレス信号をデコードして、割り込み要求回路201を選択する選択信号をアンドゲート123と121へ、もしくは割り込み要求回路203を選択する選択信号をアンドゲート223と225へ出力する。
【0025】
アンドゲート123は、CPU205から出力された読み出し許可信号RDと、アドレスデコーダ207から出力された割り込み要求回路201を選択するための選択信号とを入力し、割り込み要求回路201へ読み出し信号を出力する。
【0026】
アンドゲート121は、書き込み許可信号WRと、アドレスデコーダ207から出力された割り込み要求回路201を選択するための選択信号とを入力し、割り込み要求回路201へ書き込み信号を出力する。
【0027】
割り込み要求回路203への書き込み及び読み出し信号の出力は、アンドゲート223及び225を介して行われる。割り込み要求回路203への書き込み及び読み出し信号の出力の動作は、割り込み要求回路201に関する動作と同様である。
【0028】
次に、図1及び図2に示す本発明の割り込み要求回路の動作を図3のタイムチャートを用いて説明する。図3のタイムチャートは、紙面の左から右に向かって時間が経過しているものである。図3の上部には割り込み要求レジスタ(前述した8個のフリップフロップ)が保持しているデータの内容を示す図が配置され、下部にはCPU内のレジスタが保持している内容を示す図が配置されている。
【0029】
(割り込み要因A発生)
まず各フリップフロップで構成された割り込み要求レジスタが、リセット端子167に与えられたリセット信号によって初期設定されているとする。すなわち、各フリップフロップは、各データ出力端子Qからデータ0を出力する。(データ0は例えば0Vであり、データ1は例えば5Vである。)
次にA/D変換回路209が例えば外部から与えられたアナログデータをディジタルデータに変換するという割り込み要因Aを発生する。この割り込み要因Aは、割り込み要求信号として割り込み要求回路201内の割り込み要求入力端子137に与えられる。割り込み要求入力端子137に与えられた割り込み要求信号は、フリップフロップ101のセット端子Sに与えられるので、フリップフロップ101のデータ出力端子Qから出力されるデータは0から1に変化する。今その他の周辺回路には、割り込み要因が存在していないので、フリップフロップ103〜109はセットされない。従って、フリップフロップ103〜109のデータ出力端子Qから出力されるデータは0である。図3の上部に示すように、割り込み要求レジスタの内容は、結果として(10000000)となる。
【0030】
(割り込み要求出力信号発生)
フリップフロップ101のデータ出力端子Qが0から1に変化すると、割り込み要求信号出力回路135はこの変化を検出し、CPU205へ割り込み要求出力信号を出力する。CPU205は、この割り込み要求出力信号を受信することによって、何れかの回路に割り込み要因が発生したことを認識する。次にCPU205は、割り込み要因が発生している回路を特定し、その割り込み要因を受け付けるべきか、受け付けるとしたらいつ受け付けるのか等を判断する。
【0031】
(割り込み要求レジスタのデータ読み出し)
まずCPU205は、割り込み要求回路201内の割り込み要求レジスタの内容を読み出すために、読み出し許可信号RDを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート123は、この選択信号と読み出し許可信号RDに応答して読み出し信号を出力する。一方アンドゲート121は書き込み許可信号WRが出力されていないので、書き込み信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0032】
ゲート回路125〜133は、アンドゲート123から出力された読み出し信号に応答してオン状態になり、各フリップフロップ101〜109のデータ出力端子Qと、各フリップフロップ101〜109の各々に対応するデータ出力端子157〜165との間を電気的に導通させる。フリップフロップ101のデータ出力端子Qはデータ1を出力しているのでデータ出力端子157にデータ1が与えられ、その他のフリップフロップ103〜109のデータ出力端子Qはデータ0を出力しているのでデータ出力端子159〜165にはデータ0が与えられる。データ出力端子157〜165に与えられた各データは、双方向データバス221を介してデータバス217に与えられる。そしてCPU205は、データバス217に与えられたこの8ビットのデータをCPU205内のレジスタに読み込む。今データバス217は、(10000000)になっているので、CPU205は割り込み要求回路201内の割り込み要求レジスタの内容が(10000000)であることを認識する。すなわちCPU205は、割り込み要因Aが、A/D変換回路209で発生したことを認識する。
【0033】
CPU205は、この割り込み要因Aが、CPU205が現在実行しているメインの処理に優先するかどうか判断する。もしこの割り込み要因Aが、現在実行している処理よりも優先度が高いものであれば、CPU205は直ちにあるいは、現在の処理を終了させた後直ちにアナログデータをディジタルデータに変換する処理フローに入る。すなわちCPU205は、メインの処理フロー中にA/D変換処理を割り込ませる。ここで、割り込み処理を実行するタイミングは、プログラムによって異なるため、割り込みの要求があった後の他の処理を行った後でも良い。ここでは、CPU205は、現在の処理を終了させた後直ちにA/D変換処理を行うフローに入る。A/D変換回路209は、CPU205が制御するA/D変換フローにしたがって、図示しない周辺回路から与えられたアナログデータをディジタルデータに変換する。変換されたディジタルデータは、CPU205の命令によって、データバス217を介して例えばRAM215へ転送される。
【0034】
(割り込み要求レジスタのクリア(割り込み要因Bが発生していない場合))
CPU205は、割り込み処理を終了させた後、割り込み要因Aに対応するフリップフロップ101の出力をクリアする動作を開始する。まず、CPU205は(01111111)というデータを生成し、CPU内の8ビットのレジスタにデータ(01111111)を書き込む。すなわちCPU205は、割り込み要因Aに対応するビットのみがデータ0、その他のビットがデータ1であるようなクリアデータを作成し、そのクリアデータをCPU205内のレジスタに記憶させる。続いてCPU205は、このクリアデータをデータバス217へ出力する。データバス217に与えられたクリアデータは、双方向データバス221を介して割り込み要求回路201のデータ入力端子147〜155に与えられる。今、フリップフロップ101はデータ1を、フリップフロップ103〜109はデータ0を出力しているので、アンドゲート111のみが開いている。従って、データ入力端子147に与えられたデータ0は、アンドゲート111を通過してフリップフロップ101のデータ入力端子Dに与えられる。アンドゲート113〜119は、全て閉じているので、各フリップフロップ103〜109のデータ入力端子Dは、データ入力端子149〜155に与えられたデータに関わらずデータ0が与えられる。なお、割り込み要求回路203についても、同様にクリアデータが与えられる。しかし後述するように、CPU205は割り込み要求回路203を選択しないので、このクリアデータは割り込み要求回路203の動作には何ら影響しない。
【0035】
続いてCPU205は、割り込み要求レジスタの割り込み要因Aに対応するデータをクリアするために、書き込み許可信号WRを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート121は、この選択信号と書き込み許可信号WRに応答して書き込み信号を出力する。一方アンドゲート123は読み出し許可信号RDが出力されていないので、読み出し信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0036】
書き込み信号が各フリップフロップ101〜109のゲート端子Gに与えられると、各フリップフロップ101〜109はデータ入力端子Dに与えられたデータを取り込み、取り込んだデータをデータ出力端子Qに出力する。ここで、フリップフロップ101のデータ入力端子Dにはデータ0が与えられているので、フリップフロップ101は、ゲート端子Gに与えられた書き込み信号に応答してデータ0を出力する。他のフリップフロップ103〜109も同様に、各ゲート端子Gに与えられた書き込み信号に応答してデータ0を出力する。以上のように割り込み要求回路201内の割り込み要求レジスタの出力は、(10000000)から(00000000)へ変化する。すなわち、割り込み要求レジスタの割り込み要因Aに対応するデータがクリアされたことになる。以上は、割り込みレジスタをクリアする前に他の割り込み要因が発生しなかった場合の動作について説明したが、以下他の割り込み要因が発生した場合の動作について説明する。
【0037】
(割り込み要因B発生)
割り込み要因Aが発生した後、この割り込み要因Aに対応する割り込み要求レジスタのデータをクリアする前に、I/O回路213が内部に異常があることを示す割り込み要因Bを発生したとする。この割り込み要因Bは、割り込み要求信号として割り込み要求回路201内の割り込み要求入力端子141に与えられる。割り込み要求入力端子141に与えられた割り込み要求信号は、フリップフロップ105のセット端子Sに与えられるので、フリップフロップ105のデータ出力端子Qから出力されるデータは0から1に変化する。今A/D変換回路209で発生した割り込み要因Aによって、フリップフロップ101のみデータ1を出力しているので、割り込み要求レジスタの内容は結果として(10100000)となる。
【0038】
(割り込み要求出力信号発生)
フリップフロップ105のデータ出力端子Qが0から1に変化すると、割り込み要求信号出力回路135はこの変化を検出し、CPU205へ割り込み要求出力信号を出力する。CPU205は、この割り込み要求出力信号を受信することによって、何れかの回路に割り込み要因が発生したことを認識する。次にCPU205は、割り込み要因が発生している回路を特定し、その割り込み要因を受け付けるべきか、受け付けるとしたらいつ受け付けるのか等を判断する。今CPU205は、割り込み要因Aに対応する割り込み要求レジスタのデータをクリアする動作を行おうとしているので、この判断は割り込み要求レジスタのデータをクリアした後に行われる。
【0039】
(割り込み要求レジスタのクリア)
CPU205は、割り込み要因Aに関する割り込み処理を終了させた後、割り込み要因Aに対応するフリップフロップ101の出力をクリアする動作を開始する。まず、CPU205は(01111111)というデータを生成し、CPU内の8ビットのレジスタにデータ(01111111)を書き込む。すなわちCPU205は、割り込み要因Aに対応するビットのみがデータ0、その他のビットがデータ1であるようなクリアデータを作成し、そのクリアデータをCPU205内のレジスタに記憶させる。続いてCPU205は、このクリアデータをデータバス217へ出力する。データバス217に与えられたクリアデータは、双方向データバス221を介して割り込み要求回路201のデータ入力端子147〜155に与えられる。今、フリップフロップ101及び105はデータ1を、フリップフロップ103及び107〜109はデータ0を出力しているので、アンドゲート111及び115のみが開いている。従って、データ入力端子147に与えられたデータ0は、アンドゲート111を通過してフリップフロップ101のデータ入力端子Dに与えられる。また、データ入力端子151に与えられたデータ1は、アンドゲート115を通過してフリップフロップ105のデータ入力端子Dに与えられる。アンドゲート113及び117〜119は閉じているので、フリップフロップ103及び107〜109のデータ入力端子Dは、データ入力端子149及び153〜155に与えられたデータに関わらずデータ0が与えられる。なお、割り込み要求回路203についても、同様にクリアデータが与えられる。しかし後述するように、CPU205は割り込み要求回路203を選択しないので、このクリアデータは割り込み要求回路203の動作には何ら影響しない。
【0040】
続いてCPU205は、割り込み要求レジスタの割り込み要因Aに対応するデータをクリアするために、書き込み許可信号WRを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート121は、この選択信号と書き込み許可信号WRに応答して書き込み信号を出力する。一方アンドゲート123は読み出し許可信号RDが出力されていないので、読み出し信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0041】
書き込み信号が各フリップフロップ101〜109のゲート端子Gに与えられると、各フリップフロップ101〜109はデータ入力端子Dに与えられたデータを取り込み、取り込んだデータをデータ出力端子Qに出力する。ここで、フリップフロップ101のデータ入力端子Dにはデータ0が与えられているので、フリップフロップ101は、ゲート端子Gに与えられた書き込み信号に応答してデータ0を出力する。またフリップフロップ105のデータ入力端子Dにはデータ1が与えられているので、フリップフロップ105は、ゲート端子Gに与えられた書き込み信号に応答してデータ1を出力する。フリップフロップ103及び107〜109は、各ゲート端子Gに与えられた書き込み信号に応答してデータ0を出力する。以上のように割り込み要求回路201内の割り込み要求レジスタの出力は、(10100000)から(00100000)へ変化する。すなわち、割り込み要求レジスタの割り込み要因Bに対応するデータがクリアされずに、割り込み要因Aに対応するデータのみクリアされる。
【0042】
(割り込み要求レジスタのデータ読み出し)
次にCPU205は、先に割り込み要求回路201から出力された割り込み要求出力信号に基づき、割り込み要因が発生している回路を特定するために、割り込み要求回路201へアクセスする。そしてCPU205は、その割り込み要因を受け付けるべきか、受け付けるとしたらいつ受け付けるのか等を判断する。
【0043】
まずCPU205は、割り込み要求回路201内の割り込み要求レジスタの内容を読み出すために、読み出し許可信号RDを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート123は、この選択信号と読み出し許可信号RDに応答して読み出し信号を出力する。一方アンドゲート121は書き込み許可信号WRが出力されていないので、書き込み信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0044】
ゲート回路125〜133は、アンドゲート123から出力された読み出し信号に応答してオン状態になり、各フリップフロップ101〜109のデータ出力端子Qと、各フリップフロップ101〜109の各々に対応するデータ出力端子157〜165との間を電気的に導通させる。フリップフロップ105のデータ出力端子Qはデータ1を出力しているので、データ出力端子161にデータ1が与えられ、フリップフロップ101,103及び107〜109のデータ出力端子Qはデータ0を出力しているのでデータ出力端子157,159及び163〜165にはデータ0が与えられる。
【0045】
データ出力端子157〜165に与えられた各データは、双方向データバス221を介してデータバス217に与えられる。そしてCPU205は、データバス217に与えられたこの8ビットのデータをCPU205内のレジスタに読み込む。今データバス217は、(00100000)になっているので、CPU205は割り込み要求回路201内の割り込み要求レジスタの内容が(00100000)であることを認識する。すなわちCPU205は、新たに割り込み要因Bが、I/O回路213で発生したことを認識する。CPU205は、この割り込み要因Bが、CPU205が現在実行している処理に優先するかどうか判断する。もしこの割り込み要因Bが、現在実行している処理よりも優先度が高いものであれば、CPU205は直ちに割り込み要因Bに関する処理フローに入る。すなわちCPU205は、メインの処理フロー中に割り込み要因Bに関する処理を割り込ませる。ここでは、割り込み要因Bに関する処理は直ちに実行することとする。
【0046】
CPU205は、割り込み要因BによりI/O回路213が異常によって使用できなくなったものと判断する。そしてCPU205は、以後I/O回路211を使用する命令が与えられたときは、I/O回路211が使用されるように処理フローの変更の処理を行う。
【0047】
(割り込み要求レジスタのクリア)
続いて、CPU205は割り込み要因Bに対応するフリップフロップ105の出力をクリアする動作を開始する。まず、CPU205は(11011111)というデータを生成し、CPU内の8ビットのレジスタにデータ(11011111)を書き込む。すなわちCPU205は、割り込み要因Bに対応するビットのみがデータ0、その他のビットがデータ1であるようなクリアデータを作成し、そのクリアデータをCPU205内のレジスタに記憶させる。続いてCPU205は、このクリアデータをデータバス217へ出力する。データバス217に与えられたクリアデータは、双方向データバス221を介して割り込み要求回路201のデータ入力端子147〜155に与えられる。今、フリップフロップ105はデータ1を、フリップフロップ101,103及び107〜109はデータ0を出力しているので、アンドゲート115のみが開いている。しかしデータ入力端子151に与えられたデータは0であるので、フリップフロップ105のデータ入力端子Dにはデータ0が与えられる。またアンドゲート111,113及び117〜119は閉じているので、フリップフロップ101,103及び107〜109のデータ入力端子Dは、データ入力端子147,149及び153〜155に与えられたデータに関わらずデータ0が与えられる。なお、割り込み要求回路203についても、同様にクリアデータが与えられる。しかし、CPU205は割り込み要求回路203を選択しないので、このクリアデータは割り込み要求回路203の動作には何ら影響しない。
【0048】
続いてCPU205は、割り込み要求レジスタの割り込み要因Bに対応するデータをクリアするために、書き込み許可信号WRを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート121は、この選択信号と書き込み許可信号WRに応答して書き込み信号を出力する。一方アンドゲート123は読み出し許可信号RDが出力されていないので、読み出し信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0049】
書き込み信号が各フリップフロップ101〜109のゲート端子Gに与えられると、各フリップフロップ101〜109はデータ入力端子Dに与えられたデータを取り込み、取り込んだデータをデータ出力端子Qに出力する。ここで、全てのフリップフロップ101〜109のデータ入力端子Dにはデータ0が与えられているので、各フリップフロップ101〜109は各ゲート端子Gに与えられた書き込み信号に応答してデータ0を出力する。
【0050】
以上のように割り込み要求回路201内の割り込み要求レジスタの出力は、(00100000)から(00000000)へ変化する。すなわち、割り込み要求レジスタの割り込み要因Bに対応するデータがクリアされる。
【0051】
この時点で割り込み要求レジスタの出力は全て0になるので、CPU205は、周辺回路からの割り込み要求が存在しないと判断する。従ってCPU205は、中断していたメインの処理フローへ復帰する。
【0052】
以上説明した本発明の一実施例によれば、以下のような利点がある。
【0053】
CPUへの割り込み要求は、CPUの動作とは非同期にしかも複数発生する。しかし本発明によれば、上述のようにCPUが割り込み要因Aに関する割り込み処理を行っている間に、新たに他の周辺回路からの割り込み要因Bが発生した場合であっても、割り込み要因Bに対応するフリップフロップの出力はクリアされない。従って、CPUは割り込み要因Aに関するクリア動作の終了後も、割り込み要因Bが発生していることを認識できる。したがって、割り込み要因Bに関する割り込み処理は無視されずに実行される。
【0054】
また本発明におけるクリアデータの構成は、クリアしたい割り込み要因に対応するフリップフロップに与えられた第1のデータと、他のフリップフロップすなわち他の割り込み要因に対応するフリップフロップおよび割り込み要因が発生していないフリップフロップに一律に与えられた第2のデータとによって構成されている。従ってCPUが生成するクリアデータは、第2のデータで構成された複数のビットのうちの1ビットのみを第1のデータに変更するだけで生成できる。よって、クリアデータの生成に必要な時間はわずかであり、クリアデータの生成によってCPUの動作速度を低下させることはない。
【0055】
また、本発明によれば、割り込み要求回路が示す割り込み要求(割り込み要求レジスタの出力)のクリア動作は、データバスに転送されるデータによって実行される。つまり、本発明によれば、発生した割り込み要因に対応するフリップフロップのみを選択的にクリアするための割り込みクリアセレクタ等といった専用の回路を必要としない。従って、システム全体としての回路規模を増大することなく、確実に割り込みの処理を実行できる。
【0056】
次に、本発明の割り込み要求回路の他の実施例の構成を説明する。
【0057】
図4は、本発明の割り込み要求回路の他の実施例の構成を示す図である。なお図4において、図1と同一の構成には同一符号を付与している。
【0058】
図4に示す割り込み要求回路と図1に示す割り込み要求回路との違いは、各割り込み要求入力端子137〜145が各フリップフロップ101〜109のリセット端子Rに各々接続されている点、リセット端子167がフリップフロップ101〜109のセット端子Sに接続されている点、オアゲート401〜409が各フリップフロップ101〜109のデータ端子Dに各々接続されている点である。その他の構成は図1と同様である。また、図2のシステムにおける図4の割り込み要求回路の位置づけについても、図1と図2との関係と同様であるので特に説明しない。
【0059】
次に、図4に示す本発明の割り込み要求回路の動作を図5のタイムチャートを用いて説明する。図4に示す割り込み要求回路の動作と図1に示す割り込み要求回路の動作との違いは、周辺回路に割り込み要因が発生したときフリップフロップのデータ出力端子Qがデータ0を出力するという点である。
【0060】
(割り込み要因A発生)
まず各フリップフロップで構成された割り込み要求レジスタが、リセット端子167に与えられたリセット信号によって初期設定されているとする。すなわち、各フリップフロップは、各データ出力端子Qからデータ1を出力する。(データ0は例えば0Vであり、データ1は例えば5Vである。)
次にA/D変換回路209が例えば外部から与えられたアナログデータをディジタルデータに変換するという割り込み要因Aを発生する。この割り込み要因Aは、割り込み要求信号として割り込み要求回路201内の割り込み要求入力端子137に与えられる。割り込み要求入力端子137に与えられた割り込み要求信号は、フリップフロップ101のリセット端子Rに与えられるので、フリップフロップ101のデータ出力端子Qから出力されるデータは1から0に変化する。今その他の周辺回路には、割り込み要因が存在していないので、フリップフロップ103〜109はリセットされない。従って、フリップフロップ103〜109のデータ出力端子Qから出力されるデータは1のままである。図5の上部に示すように、割り込み要求レジスタの内容は、結果として(01111111)となる。
【0061】
(割り込み要求出力信号発生)
フリップフロップ101のデータ出力端子Qが1から0に変化すると、割り込み要求信号出力回路135はこの変化を検出し、CPU205へ割り込み要求出力信号を出力する。CPU205は、この割り込み要求出力信号を受信することによって、何れかの回路に割り込み要因が発生したことを認識する。次にCPU205は、割り込み要因が発生している回路を特定し、その割り込み要因を受け付けるべきか、受け付けるとしたらいつ受け付けるのか等を判断する。
【0062】
(割り込み要求レジスタのデータ読み出し)
まずCPU205は、割り込み要求回路201内の割り込み要求レジスタの内容を読み出すために、読み出し許可信号RDを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート123は、この選択信号と読み出し許可信号RDに応答して読み出し信号を出力する。一方アンドゲート121は書き込み許可信号WRが出力されていないので、書き込み信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0063】
ゲート回路125〜133は、アンドゲート123から出力された読み出し信号に応答してオン状態になり、各フリップフロップ101〜109のデータ出力端子Qと、各フリップフロップ101〜109の各々に対応するデータ出力端子157〜165との間を電気的に導通させる。フリップフロップ101のデータ出力端子Qはデータ0を出力しているのでデータ出力端子157にデータ0が与えられ、その他のフリップフロップ103〜109のデータ出力端子Qはデータ1を出力しているのでデータ出力端子159〜165にはデータ1が与えられる。データ出力端子157〜165に与えられた各データは、双方向データバス221を介してデータバス217に与えられる。そしてCPU205は、データバス217に与えられたこの8ビットのデータをCPU205内のレジスタに読み込む。今データバス217は、(01111111)になっているので、CPU205は割り込み要求回路201内の割り込み要求レジスタの内容が(01111111)であることを認識する。すなわちCPU205は、割り込み要因Aが、A/D変換回路209で発生したことを認識する。
【0064】
CPU205は、この割り込み要因Aが、CPU205が現在実行しているメインの処理に優先するかどうか判断する。もしこの割り込み要因Aが、現在実行している処理よりも優先度が高いものであれば、CPU205は直ちにあるいは、現在の処理を終了させた後直ちにアナログデータをディジタルデータに変換する処理フローに入る。すなわちCPU205は、メインの処理フロー中にA/D変換処理を割り込ませる。ここで、割り込み処理を実行するタイミングは、プログラムによって異なるため、割り込みの要求があった後の他の処理を行った後でも良い。ここでは、CPU205は、現在の処理を終了させた後直ちにA/D変換処理を行うフローに入る。A/D変換回路209は、CPU205が制御するA/D変換フローにしたがって、図示しない周辺回路から与えられたアナログデータをディジタルデータに変換する。変換されたディジタルデータは、CPU205の命令によって、データバス217を介して例えばRAM215へ転送される。
【0065】
(割り込み要求レジスタのクリア(割り込み要因Bが発生していない場合))
CPU205は、割り込み処理を終了させた後、割り込み要因Aに対応するフリップフロップ101の出力をクリアする動作を開始する。まず、CPU205は(10000000)というデータを生成し、CPU内の8ビットのレジスタにデータ(10000000)を書き込む。すなわちCPU205は、割り込み要因Aに対応するビットのみがデータ1、その他のビットがデータ0であるようなクリアデータを作成し、そのクリアデータをCPU205内のレジスタに記憶させる。続いてCPU205は、このクリアデータをデータバス217へ出力する。データバス217に与えられたクリアデータは、双方向データバス221を介して割り込み要求回路201のデータ入力端子147〜155に与えられる。今、フリップフロップ101はデータ0を出力しているので、データ入力端子147に与えられたデータ1は、オアゲート401を通過してフリップフロップ101のデータ入力端子Dに与えられる。フリップフロップ103〜109はデータ1を出力しているので、データ入力端子149〜155に与えられたデータ0は、オアゲート403〜409を通過して各フリップフロップ103〜109のデータ入力端子Dに与えられる。なお、割り込み要求回路203についても、同様にクリアデータが与えられる。しかし後述するように、CPU205は割り込み要求回路203を選択しないので、このクリアデータは割り込み要求回路203の動作には何ら影響しない。
【0066】
続いてCPU205は、割り込み要求レジスタの割り込み要因Aに対応するデータをクリアするために、書き込み許可信号WRを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート121は、この選択信号と書き込み許可信号WRに応答して書き込み信号を出力する。一方アンドゲート123は読み出し許可信号RDが出力されていないので、読み出し信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0067】
書き込み信号が各フリップフロップ101〜109のゲート端子Gに与えられると、各フリップフロップ101〜109はデータ入力端子Dに与えられたデータを取り込み、取り込んだデータをデータ出力端子Qに出力する。ここで、フリップフロップ101のデータ入力端子Dにはデータ1が与えられているので、フリップフロップ101は、ゲート端子Gに与えられた書き込み信号に応答してデータ1を出力する。他のフリップフロップ103〜109も同様に、各ゲート端子Gに与えられた書き込み信号に応答してデータ1を出力する。以上のように割り込み要求回路201内の割り込み要求レジスタの出力は、(01111111)から(11111111)へ変化する。すなわち、割り込み要求レジスタの割り込み要因Aに対応するデータがクリアされたことになる。以上は、割り込みレジスタをクリアする前に他の割り込み要因が発生しなかった場合の動作について説明したが、以下他の割り込み要因が発生した場合の動作について説明する。
【0068】
(割り込み要因B発生)
割り込み要因Aが発生した後、この割り込み要因Aに対応する割り込み要求レジスタのデータをクリアする前に、I/O回路213が内部に異常があることを示す割り込み要因Bを発生したとする。この割り込み要因Bは、割り込み要求信号として割り込み要求回路201内の割り込み要求入力端子141に与えられる。割り込み要求入力端子141に与えられた割り込み要求信号は、フリップフロップ105のリセット端子Rに与えられるので、フリップフロップ105のデータ出力端子Qから出力されるデータは1から0に変化する。今A/D変換回路209で発生した割り込み要因Aによって、フリップフロップ101のみデータ0を出力しているので、割り込み要求レジスタの内容は結果として(01011111)となる。
【0069】
(割り込み要求出力信号発生)
フリップフロップ105のデータ出力端子Qが1から0に変化すると、割り込み要求信号出力回路135はこの変化を検出し、CPU205へ割り込み要求出力信号を出力する。CPU205は、この割り込み要求出力信号を受信することによって、何れかの回路に割り込み要因が発生したことを認識する。次にCPU205は、割り込み要因が発生している回路を特定し、その割り込み要因を受け付けるべきか、受け付けるとしたらいつ受け付けるのか等を判断する。今CPU205は、割り込み要因Aに対応する割り込み要求レジスタのデータをクリアする動作を行おうとしているので、この判断は割り込み要求レジスタのデータをクリアした後に行われる。
【0070】
(割り込み要求レジスタのクリア)
CPU205は、割り込み要因Aに関する割り込み処理を終了させた後、割り込み要因Aに対応するフリップフロップ101の出力をクリアする動作を開始する。まず、CPU205は(10000000)というデータを生成し、CPU内の8ビットのレジスタにデータ(10000000)を書き込む。すなわちCPU205は、割り込み要因Aに対応するビットのみがデータ1、その他のビットがデータ0であるようなクリアデータを作成し、そのクリアデータをCPU205内のレジスタに記憶させる。続いてCPU205は、このクリアデータをデータバス217へ出力する。データバス217に与えられたクリアデータは、双方向データバス221を介して割り込み要求回路201のデータ入力端子147〜155に与えられる。今、フリップフロップ101はデータ0を出力しているので、フリップフロップ101のデータ入力端子Dにはデータ1が与えられる。フリップフロップ105も同様にデータ0を出力しているが、データ入力端子151にはデータ0が与えられているので、フリップフロップ105のデータ入力端子Dにはデータ0が与えられる。フリップフロップ103及び107〜109はデータ1を出力しているので、フリップフロップ103及び107〜109のデータ入力端子Dにはデータ入力端子149及び153〜155に与えられたデータに関わらずデータ1が与えられる。なお、割り込み要求回路203についても、同様にクリアデータが与えられる。しかし後述するように、CPU205は割り込み要求回路203を選択しないので、このクリアデータは割り込み要求回路203の動作には何ら影響しない。
【0071】
続いてCPU205は、割り込み要求レジスタの割り込み要因Aに対応するデータをクリアするために、書き込み許可信号WRを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート121は、この選択信号と書き込み許可信号WRに応答して書き込み信号を出力する。一方アンドゲート123は読み出し許可信号RDが出力されていないので、読み出し信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0072】
書き込み信号が各フリップフロップ101〜109のゲート端子Gに与えられると、各フリップフロップ101〜109はデータ入力端子Dに与えられたデータを取り込み、取り込んだデータをデータ出力端子Qに出力する。ここで、フリップフロップ101のデータ入力端子Dにはデータ1が与えられているので、フリップフロップ101は、ゲート端子Gに与えられた書き込み信号に応答してデータ1を出力する。またフリップフロップ105のデータ入力端子Dにはデータ0が与えられているので、フリップフロップ105は、ゲート端子Gに与えられた書き込み信号に応答してデータ0を出力する。フリップフロップ103及び107〜109は、各ゲート端子Gに与えられた書き込み信号に応答してデータ1を出力する。以上のように割り込み要求回路201内の割り込み要求レジスタの出力は、(01011111)から(11011111)へ変化する。すなわち、割り込み要求レジスタの割り込み要因Bに対応するデータがクリアされずに、割り込み要因Aに対応するデータのみクリアされる。
【0073】
(割り込み要求レジスタのデータ読み出し)
次にCPU205は、先に割り込み要求回路201から出力された割り込み要求出力信号に基づき、割り込み要因が発生している回路を特定するために、割り込み要求回路201へアクセスする。そしてCPU205は、その割り込み要因を受け付けるべきか、受け付けるとしたらいつ受け付けるのか等を判断する。
【0074】
まずCPU205は、割り込み要求回路201内の割り込み要求レジスタの内容を読み出すために、読み出し許可信号RDを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート123は、この選択信号と読み出し許可信号RDに応答して読み出し信号を出力する。一方アンドゲート121は書き込み許可信号WRが出力されていないので、書き込み信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0075】
ゲート回路125〜133は、アンドゲート123から出力された読み出し信号に応答してオン状態になり、各フリップフロップ101〜109のデータ出力端子Qと、各フリップフロップ101〜109の各々に対応するデータ出力端子157〜165との間を電気的に導通させる。フリップフロップ105のデータ出力端子Qはデータ0を出力しているので、データ出力端子161にデータ0が与えられ、フリップフロップ101,103及び107〜109のデータ出力端子Qはデータ1を出力しているのでデータ出力端子157,159及び163〜165にはデータ1が与えられる。
【0076】
データ出力端子157〜165に与えられた各データは、双方向データバス221を介してデータバス217に与えられる。そしてCPU205は、データバス217に与えられたこの8ビットのデータをCPU205内のレジスタに読み込む。今データバス217は、(11011111)になっているので、CPU205は割り込み要求回路201内の割り込み要求レジスタの内容が(11011111)であることを認識する。すなわちCPU205は、新たに割り込み要因Bが、I/O回路213で発生したことを認識する。CPU205は、この割り込み要因Bが、CPU205が現在実行している処理に優先するかどうか判断する。もしこの割り込み要因Bが、現在実行している処理よりも優先度が高いものであれば、CPU205は直ちに割り込み要因Bに関する処理フローに入る。すなわちCPU205は、メインの処理フロー中に割り込み要因Bに関する処理を割り込ませる。ここでは、割り込み要因Bに関する処理は直ちに実行することとする。
【0077】
CPU205は、割り込み要因BによりI/O回路213が異常によって使用できなくなったものと判断する。そしてCPU205は、以後I/O回路211を使用する命令が与えられたときは、I/O回路211が使用されるように処理フローの変更の処理を行う。
【0078】
(割り込み要求レジスタのクリア)
続いて、CPU205は割り込み要因Bに対応するフリップフロップ105の出力をクリアする動作を開始する。まず、CPU205は(00100000)というデータを生成し、CPU内の8ビットのレジスタにデータ(00100000)を書き込む。すなわちCPU205は、割り込み要因Bに対応するビットのみがデータ1、その他のビットがデータ0であるようなクリアデータを作成し、そのクリアデータをCPU205内のレジスタに記憶させる。続いてCPU205は、このクリアデータをデータバス217へ出力する。データバス217に与えられたクリアデータは、双方向データバス221を介して割り込み要求回路201のデータ入力端子147〜155に与えられる。今、フリップフロップ105はデータ0を出力しているので、フリップフロップ101のデータ入力端子Dにはオアゲート405を介してデータ1が与えられる。フリップフロップ101,103及び107〜109はデータ1を出力しているので、フリップフロップ101,103及び107〜109のデータ入力端子Dにはデータ入力端子147,149及び153〜155に与えられたデータに関わらずデータ1が与えられる。なお、割り込み要求回路203についても、同様にクリアデータが与えられる。しかし後述するように、CPU205は割り込み要求回路203を選択しないので、このクリアデータは割り込み要求回路203の動作には何ら影響しない。
【0079】
続いてCPU205は、割り込み要求レジスタの割り込み要因Bに対応するデータをクリアするために、書き込み許可信号WRを出力するとともに、割り込み要求回路201を選択するアドレス信号をアドレスバス219へ出力する。アドレスデコーダ207は、CPUから出力されたアドレス信号をデコードし割り込み要求回路201を選択する選択信号を出力する。アンドゲート121は、この選択信号と書き込み許可信号WRに応答して書き込み信号を出力する。一方アンドゲート123は読み出し許可信号RDが出力されていないので、読み出し信号を出力しない。また、CPU205は割り込み要求回路203を選択していないので、アンドゲート223及び225はディスエーブル状態である。
【0080】
書き込み信号が各フリップフロップ101〜109のゲート端子Gに与えられると、各フリップフロップ101〜109はデータ入力端子Dに与えられたデータを取り込み、取り込んだデータをデータ出力端子Qに出力する。ここで、全てのフリップフロップ101〜109のデータ入力端子Dにはデータ1が与えられているので、各フリップフロップ101〜109は各ゲート端子Gに与えられた書き込み信号に応答してデータ1を出力する。
【0081】
以上のように割り込み要求回路201内の割り込み要求レジスタの出力は、(11011111)から(11111111)へ変化する。すなわち、割り込み要求レジスタの割り込み要因Bに対応するデータがクリアされる。
【0082】
この時点で割り込み要求レジスタの出力は全て1になるので、CPU205は、周辺回路からの割り込み要求が存在しないと判断する。従ってCPU205は、中断していたメインの処理フローへ復帰する。
【0083】
以上のように図4に示したオアゲートを用いた割り込み要求回路は、各フリップフロップのデータ出力端子Qから出力されたデータが0の場合に割り込み要求が発生したことを示す回路である。一方図1に示したアンドゲートを用いた割り込み要求回路は、各フリップフロップのデータ出力端子Qから出力されたデータが1の場合に割り込み要求が発生したことを示す回路である。これら2つの割り込み要求回路の動作は基本的には同じであるため、設計者はマイコン等のシステム(プログラム)開発の際に、両者のいずれか有利な方を選択することができる。すなわち、2種の割り込み要求回路を提供することによりマイコン等のシステム全体の特性を考慮した設計が可能になる。
【0084】
次に、図1に示した割り込み要求回路の変形例を図6を用いて説明する。
【0085】
図6に示す回路は、アンドゲートを内部に取り込んだフリップフロップである。すなわち図6に示すフリップフロップは、図1に示した各フリップフロップの前段に接続されたアンドゲートを省略した回路である。
【0086】
但し、図1で示した書き込み信号Gは、図6においては相補信号を使用し(例えばインバータで、書き込み信号Gを反転させて書き込み信号反転Gを生成している。)、データ出力端子Qに出力される信号も相補信号を使用している。
【0087】
また、図6においては、図1で示した各フリップフロップのリセット端子Rに相当するリセット端子反転Rを使用している。
【0088】
図6のフリップフロップ回路は、トランジスタM1,M2で構成され書き込み信号G(書き込み信号反転G)に応答してデータ入力端子Dに与えられたデータを転送するトランスファーゲート601と、トランジスタM3,M4で構成され書き込み信号G(書き込み信号反転G)に応答してデータ出力端子Qに与えられたデータを転送するトランスファーゲート603と、リセット端子反転Rに与えられるリセット信号が与えられるトランジスタM10,M12と、セット端子Sに与えられるセット信号が与えられるトランジスタM5,M11とを有している。さらにフリップフロップ回路は、トランジスタM13,M14で構成され、入力端子がデータ出力端子反転Qに接続され、出力端子がデータ出力端子Qに接続されたインバータ605と、データ出力端子Qに与えられたデータが与えられるトランジスタM7,M8とトランスファーゲート601及びトランスファーゲート603の出力が与えられるトランジスタM6,M9とを有している。
【0089】
次に図6に示すフリップフロップ回路の動作を説明する。
【0090】
(リセット動作)
リセット端子反転Rに“L”レベルのリセット信号が与えられると、トランジスタM10がオンするので電源電位(“H”レベル)がデータ出力端子反転Qに与えられる。データ出力端子反転Qが“H”レベルになるとインバータ605の出力は“L”レベルになる。一方、トランジスタM12はオフするので接地電位(“L”レベル)とデータ出力端子反転Qとの間の経路が電気的に遮断される。このようにデータ出力端子Qが“L”レベルになりフリップフロップ回路がリセットされる。
【0091】
(割り込み要求を受ける動作)
次に割り込み要求を受ける動作、すなわちセット動作について説明する。
【0092】
セット端子Sに“H”レベルの割り込み要求信号が与えられると、トランジスタM11がオンするのでトランジスタM12のドレイン電位がデータ出力端子反転Qに与えられる。このときリセット端子反転Rが“H”レベルである、すなわちリセット動作中ではないとするとトランジスタM12はオンしているので、トランジスタM12のドレイン電位は“L”レベルになっている。従って、データ出力端子反転Qは“L”レベルになる。インバータ605は、データ出力端子反転Qに与えられた“L”レベルを反転し、データ出力端子Qを“H”レベルにする。
【0093】
一方、トランジスタM5はオフするので電源電位とデータ出力端子反転Qとの間の経路が電気的に遮断される。なおリセット動作中でないならばトランジスタM10はオフしているので、電源電位とデータ出力端子反転Qとの間のいかなる経路も電気的に遮断されることになる。
【0094】
このようにデータ出力端子Qが“H”レベルになりフリップフロップ回路がセットされる。よってこのフリップフロップ回路は、このフリップフロップ回路に接続された周辺回路に割り込み要求が発生していることを示す。
【0095】
(割り込み要求をクリアする動作)
次に割り込み要求をクリアする動作(データ書き込み動作)、つまりデータ端子Dに与えられたデータをデータ出力端子Q、反転Qに伝達する動作もしくはデータ出力端子Q、反転Qに与えられたデータを保持する動作について説明する。
【0096】
まずデータ出力端子Q及びデータ出力端子反転Qの状態がそれぞれ“L”レベル、“H”レベルである場合、すなわちこのフリップフロップ回路に接続された周辺回路に割り込み要求が発生していない場合のデータ書き込み動作について説明する。
【0097】
データ出力端子Qが“L”レベルであるとトランジスタM7はオンし、トランジスタM8はオフする。このときセット端子Sは“L”レベルであり(セット動作中ではない)、リセット端子反転Rは“H”レベルである(リセット動作中ではない)とすると、トランジスタM5がオンするのでデータ出力端子反転Qは“H”レベルになる。なおトランジスタM10,M11はオフしており、トランジスタM12はオンしている。従って、トランジスタM10を通して“H”レベルは伝達されない。また、トランジスタM8,M11がオフしているので、接地電位とデータ出力端子反転Qとの間の経路は遮断されており、データ出力端子反転Qには“L”レベルは伝達されない。
【0098】
ここで、書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であると、トランスファーゲート601がオフし、トランスファーゲート603がオンするので、データ出力端子Qの“L”レベルがトランジスタM6,M9のゲートに転送される。すると先にオンしているトランジスタM7に加えてトランジスタM6もオンし、電源電位がトランジスタM6を通してデータ出力端子反転Qに与えられる。
【0099】
次に書き込み信号Gが“H”レベル(書き込み信号反転Gは“L”レベルである。)に変化すると、トランスファーゲート601がオンし、トランスファーゲート603がオフするので、今度はデータ入力端子Dに与えられたデータがトランジスタM6,M9のゲートに転送される。ここでデータ入力端子Dに与えられたデータが“L”レベルであるとするとトランジスタM6,M9の状態は以前の状態、すなわち書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であった時の状態と変わらない。従って、データ出力端子Q、反転Qの状態は変化しない。(もともとリセット状態にあったフリップフロップは、データ0が書き込まれても状態は変化しない。)
一方、データ入力端子Dに与えられたデータが“H”レベルであるとするとトランジスタM6がオフし、トランジスタM9がオンする。しかしながら、トランジスタM8がオフしているため、トランジスタM9のドレインに接地電位が伝達されてもデータ出力端子反転Qには“L”レベルが伝達されない。従って、データ出力端子Q、反転Qの状態は変化しない。
【0100】
以上のようにこのフリップフロップ回路は、データ出力端子Qに与えられたデータが0、データ出力端子反転Qに与えられたデータが1である場合には、データ出力端子Q及びデータ出力端子反転Qに与えられたデータがデータ入力端子Dに与えられたデータによって変化しない回路である。すなわちこのフリップフロップ回路は、外部から与えられたデータ1が書き込まれない回路である。
【0101】
次にデータ出力端子Q及びデータ出力端子反転Qの状態がそれぞれ“H”レベル、“L”レベルである場合、すなわちこのフリップフロップ回路に接続された周辺回路に割り込み要求が発生している場合のデータ書き込み動作について説明する。
【0102】
データ出力端子Qが“H”レベルであるとトランジスタM7はオフし、トランジスタM8はオンする。ここで、書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であると、トランスファーゲート601がオフし、トランスファーゲート603がオンするので、データ出力端子Qの“H”レベルがトランジスタM6,M9のゲートに転送される。するとトランジスタM6がオフし、トランジスタM9がオンする。このときセット端子Sは“L”レベルであり(セット動作中ではない)、リセット端子反転Rは“H”レベルである(リセット動作中ではない)とすると、トランジスタM5及びM12がオンし、トランジスタM10,M11はオフする。従って、データ出力端子反転QにはトランジスタM8,M9,M12を通して“L”レベルが伝達される。データ出力端子反転Qに与えられたこの“L”レベルは、インバータ605で反転されてデータ出力端子Qに与えられる。つまりフリップフロップ回路は、データ1を保持する。
【0103】
次に書き込み信号Gが“H”レベル(書き込み信号反転Gは“L”レベルである。)に変化すると、トランスファーゲート601がオンし、トランスファーゲート603がオフするので、今度はデータ入力端子Dに与えられたデータがトランジスタM6,M9のゲートに転送される。ここでデータ入力端子Dに与えられたデータが“L”レベルであるとするとトランジスタM6がオフからオンに変化し、トランジスタM9がオンからオフに変化する。従って、電源電位がトランジスタM5,M6を通してデータ出力端子反転Qに伝達される。そしてインバータ605はデータ出力端子反転Qのレベルを反転し、データ出力端子Qを“L”レベルにする。なおトランジスタM9がオフするので、接地電位とデータ出力端子反転Qとの間の経路は電気的に遮断される。
【0104】
一方、データ入力端子Dに与えられたデータが“H”レベルであるとすると、トランジスタM6がオフし、トランジスタM9がオンする。すなわちトランジスタM6,M9の状態は、書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であった時の状態と変わらない。従って、データ出力端子Q、反転Qの状態は変化しない。(もともとセット状態にあったフリップフロップは、データ1が書き込まれても状態は変化しない。)
このようにこのフリップフロップ回路は、データ出力端子Qに与えられたデータが1、データ出力端子反転Qに与えられたデータが0である場合には、データ入力端子Dに0を与えることによってのみそのデータ出力端子Qの状態を変化させることができる回路である。
【0105】
以上の書き込み動作に基づき、クリア対象であるフリップフロップ回路にのみデータ0を書き込み、クリア対象ではないフリップフロップ回路にはデータ1を書き込むことによって、クリア対象であるフリップフロップ回路のみに対する割り込み要求のクリア動作が実行できる。
【0106】
図6に示したフリップフロップ回路は、トランジスタM7,M8を追加することによって、図1に示したフリップフロップとアンドゲートとからなる回路と同様の動作を実現できる。具体的には図6に示したフリップフロップ回路は、図1の回路と同様の動作を実現するために、図1の回路よりもMOSトランジスタを4つ削減できる。従って、IC化する際、回路面積が小さい割り込み要求回路を提供することができる。
【0107】
次に、図4に示した割り込み要求回路の変形例を図7を用いて説明する。
【0108】
図7に示す回路は、オアゲートを内部に取り込んだフリップフロップである。すなわち図7に示すフリップフロップは、図4に示した各フリップフロップの前段に接続されたオアゲートを省略した回路である。
【0109】
但し、図4で示した書き込み信号Gは、図7においては相補信号を使用し(例えばインバータで、書き込み信号Gを反転させて書き込み信号反転Gを生成している。)、データ出力端子Qに出力される信号も相補信号を使用している。
【0110】
また、図7においては、図4で示した各フリップフロップのリセット端子Rに相当するリセット端子反転Rを使用している。
【0111】
図7に示すフリップフロップ回路と図6に示すフリップフロップ回路との構成の差異は、トランジスタM7,M8の接続関係のみである。図6に示すフリップフロップ回路では、トランジスタM6とトランジスタM7が並列に接続されているのに対し、図7に示すフリップフロップ回路では、直列に接続されている。また図6に示すフリップフロップ回路では、トランジスタM8とトランジスタM9が直列に接続されているのに対し、図7に示すフリップフロップ回路では、並列に接続されている。
【0112】
次に図7に示すフリップフロップ回路の動作を説明する。
【0113】
このフリップフロップ回路のリセット動作及びセット動作は、図6に示すフリップフロップ回路と同じであるので省略する。
【0114】
(割り込み要求をクリアする動作)
次に割り込み要求をクリアする動作(データ書き込み動作)、つまりデータ端子Dに与えられたデータをデータ出力端子Q、反転Qに伝達する動作もしくはデータ出力端子Q、反転Qに与えられたデータを保持する動作について説明する。
【0115】
まずデータ出力端子Q及びデータ出力端子反転Qの状態がそれぞれ“L”レベル、“H”レベルである場合、すなわちこのフリップフロップ回路に接続された周辺回路に割り込み要求が発生している場合のデータ書き込み動作について説明する。
【0116】
データ出力端子Qが“L”レベルであるとトランジスタM7はオンし、トランジスタM8はオフする。ここで、書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であると、トランスファーゲート601がオフし、トランスファーゲート603がオンするので、データ出力端子Qの“L”レベルがトランジスタM6,M9のゲートに転送され、トランジスタM6がオンし、トランジスタM9がオフする。このときセット端子Sは“L”レベルであり(セット動作中ではない)、リセット端子反転Rは“H”レベルである(リセット動作中ではない)とすると、トランジスタM5がオンする。従って、データ出力端子反転Qは、トランジスタM5,M6,M7を通して“H”レベルになる。データ出力端子反転Qに与えられたこの“H”レベルは、インバータ605で反転されてデータ出力端子Qに与えられる。なおトランジスタM10,M11はオフしており、トランジスタM12はオンしている。従って、データ出力端子反転QにはトランジスタM10を通して“H”レベルは伝達されない。また、トランジスタM8,M11がオフしているので、接地電位とデータ出力端子反転Qとの間の経路は遮断されており、データ出力端子反転Qには“L”レベルは伝達されない。
【0117】
次に書き込み信号Gが“H”レベル(書き込み信号反転Gは“L”レベルである。)に変化すると、トランスファーゲート601がオンし、トランスファーゲート603がオフするので、今度はデータ入力端子Dに与えられたデータがトランジスタM6,M9のゲートに転送される。ここでデータ入力端子Dに与えられたデータが“L”レベルであるとするとトランジスタM6,M9の状態は以前の状態、すなわち書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であった時の状態と変わらない。従って、データ出力端子Q、反転Qの状態は変化しない。
【0118】
一方、データ入力端子Dに与えられたデータが“H”レベルであるとすると、トランジスタM6がオフし、トランジスタM9がオンする。従って、“L”レベルがトランジスタM9,M12を通してデータ出力端子反転Qに伝達される。インバータ605は、データ出力端子反転Qに与えられたこの“L”レベルを反転し、データ出力端子Qを“H”レベルにする。
【0119】
次にデータ出力端子Q及びデータ出力端子反転Qの状態がそれぞれ“H”レベル、“L”レベルである場合、すなわちこのフリップフロップ回路に接続された周辺回路に割り込み要求が発生していない場合のデータ書き込み動作について説明する。
【0120】
データ出力端子Qが“H”レベルであるとトランジスタM7はオフし、トランジスタM8はオンする。ここで、書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であると、トランスファーゲート601がオフし、トランスファーゲート603がオンするので、データ出力端子Qの“H”レベルがトランジスタM6,M9のゲートに転送され、トランジスタM6がオフし、トランジスタM9がオンする。このときセット端子Sは“L”レベルであり(セット動作中ではない)、リセット端子反転Rは“H”レベルである(リセット動作中ではない)とすると、トランジスタM12がオンする。従って、データ出力端子反転Qは、トランジスタM8,M9及びM12を通して“L”レベルになる。インバータ605は、データ出力端子反転Qに与えられたこの“L”レベルを反転し、データ出力端子Qを“H”レベルにする。なおトランジスタM10,M11はオフしている。従って、データ出力端子反転QにはトランジスタM10を通して“H”レベルは伝達されない。
【0121】
次に書き込み信号Gが“H”レベル(書き込み信号反転Gは“L”レベルである。)に変化すると、トランスファーゲート601がオンし、トランスファーゲート603がオフするので、今度はデータ入力端子Dに与えられたデータがトランジスタM6,M9のゲートに転送される。ここでデータ入力端子Dに与えられたデータが“L”レベルであるとすると、トランジスタM6がオフからオンに変化し、トランジスタM9がオンからオフへ変化する。しかしながら、トランジスタM7がオフしているので、データ出力端子反転Qには“H”レベルが伝達されない。
【0122】
一方、データ入力端子Dに与えられたデータが“H”レベルであるとすると、トランジスタM6,M9の状態は以前の状態、すなわち書き込み信号Gが“L”レベル(書き込み信号反転Gは“H”レベルである。)であった時の状態と変わらない。従って、データ出力端子Q、反転Qの状態は変化しない。
【0123】
このようにこのフリップフロップ回路は、データ出力端子Qに与えられたデータが0、データ出力端子反転Qに与えられたデータが1である場合には、データ入力端子Dに1を与えることによってのみそのデータ出力端子Qの状態を変化させることができる回路である。
【0124】
以上の書き込み動作に基づき、クリア対象であるフリップフロップ回路にのみデータ1を書き込み、クリア対象ではないフリップフロップ回路にはデータ0を書き込むことによって、クリア対象であるフリップフロップ回路のみに対する割り込み要求のクリア動作が実行できる。
【0125】
図7に示したフリップフロップ回路は、トランジスタM7,M8を追加することによって、図4に示したフリップフロップとオアゲートとからなる回路と同様の動作を実現できる。具体的には図7に示したフリップフロップ回路は、図4の回路と同様の動作を実現するために、図4の回路よりもMOSトランジスタを4つ削減できる。従って、IC化する際、回路面積が小さい割り込み要求回路を提供することができる。
【0126】
【発明の効果】
以上詳細に説明したように、本発明による割り込み要求処理方法は、第1の入力端子に第1のデータを与えてこの第1の入力端子に対応した出力端子に与えられた割り込み要求出力を維持させ、第1の入力端子に第2のデータを与えて第1の入力端子に対応した出力端子に与えられた割り込み要求出力をクリアするようにしたので、CPUへの割り込み要求がCPUの動作とは非同期にしかも複数発生しても、後から発生した割り込み要求に関する処理を確実に実行できる。
【0127】
また、本発明による割り込み要求回路は、データを転送するための複数本のバスラインの各々に対応しこのバスラインに転送されるデータを受信する複数の第1の入力端子と、この複数本のバスラインの各々に対応し割り込み要求信号が与えられる複数の第2の入力端子と、この第2の入力端子の各々に対応した複数の出力端子とを有するので、割り込み要求回路が示す割り込み要求のクリア動作は、データバスに転送されるデータによって実行できる。すなわち本発明によれば、割り込みクリアセレクタ等といった専用の回路を必要としないので、システム全体としての回路規模を増大することなく、確実に割り込みの処理を実行できる。
【図面の簡単な説明】
【図1】本発明の割り込み要求回路の一実施例を示す図である。
【図2】本発明の割り込み要求回路を取り込んだシステムの一実施例を示す図である。
【図3】図1及び図2に示す本発明の割り込み要求回路の動作を説明するタイムチャートである。
【図4】本発明の割り込み要求回路の他の実施例を示す図である。
【図5】図2及び図4に示す本発明の割り込み要求回路の動作を説明するタイムチャートである。
【図6】本発明の割り込み要求回路のフリップフロップの変形例を示す図である。
【図7】本発明の割り込み要求回路のフリップフロップの変形例を示す図である。
【符号の説明】
101,103,105,107,109 フリップフロップ
111,113,115,117,119 アンドゲート
137,139,141,143,145 割り込み要求入力端子
147,149,151,153,155 データ入力端子
157,159,161,163,165 データ出力端子[0001]
[Industrial application fields]
The present invention relates to an interrupt request circuit used for a microcomputer or the like and an interrupt request processing method indicated by the interrupt request circuit.
[0002]
[Prior art]
An interrupt request circuit used for a microcomputer or the like receives an interrupt request signal from a peripheral circuit having a predetermined function (for example, a counter, an A / D conversion circuit, etc.), and outputs an interrupt request corresponding to the received interrupt request signal The signal is output to a central processing unit (hereinafter referred to as CPU). The interrupt request circuit has a plurality of flip-flops set in response to an interrupt request signal output from a corresponding peripheral circuit. When the state of the flip-flop changes from the reset state to the set state, the CPU receives the output of the flip-flop that has changed to the set state as an interrupt request output signal. Then, the CPU performs an interrupt process related to the peripheral circuit corresponding to the flip-flop changed to the set state. Thereafter, the CPU performs a clear operation for returning the flip-flop in the set state to the reset state. By this clear operation, the interrupt request circuit indicates that the interrupt process has been completed. Therefore, the CPU can determine whether or not there is an interrupt request in the peripheral circuit by detecting the state of the interrupt request circuit. If there is an interrupt request, the CPU performs the above-described clear operation after executing the corresponding interrupt process.
[0003]
[Problems to be solved by the invention]
However, a plurality of interrupt requests may occur asynchronously with the operation of the CPU. Therefore, if the next interrupt request is generated while the CPU executes processing for the first interrupt request, the next interrupt request may be cleared simultaneously by the clear operation for the first interrupt request. That is, in the above-described interrupt request circuit, an interrupt request to the CPU may be ignored.
[0004]
[Means for Solving the Problems]
In order to solve the above problem, an interrupt request circuit of the present invention includes a data holding circuit that holds first data indicating that an interrupt request is generated in response to an interrupt request signal, The bus line to which the third data is applied, and the first data held between the bus line and the data holding circuit and held by the data holding circuit in response to the first data and the second data. A logic circuit that outputs data to be maintained and outputs data that clears the first data held by the data holding circuit in response to the first data and the third data is provided.
[0005]
According to the interrupt request processing method of the present invention, an interrupt request signal is supplied to a predetermined data holding circuit and the first data is stored in the data holding circuit, and the data holding circuit storing the first data has a first step. And the step of giving the first data to all the data holding circuits except the data holding circuit.
[0006]
[Action]
According to the present invention, among the data holding circuits storing data indicating that there is an interrupt request, the first data is given only to the data holding circuit for which the interrupt request is accepted, and the other data holding circuits are supplied with the first data. As a result, the data of the data holding circuit in which the interrupt request is not accepted is maintained without being cleared.
[0007]
【Example】
FIG. 1 is a diagram showing an embodiment of an interrupt request circuit according to the present invention.
[0008]
The configuration of an embodiment of the interrupt request circuit according to the present invention will be described below.
[0009]
The interrupt request circuit of the present invention includes flip-
[0010]
The interrupt
[0011]
The flip-
The
[0012]
The
[0013]
The
[0014]
The interrupt request
[0015]
The circuit shown in FIG. 1 described above is a part of the system shown in FIG.
[0016]
The positioning of the interrupt request circuit of the present invention in the system shown in FIG. 2 and the system configuration will be described below.
[0017]
The interrupt request circuit of the present invention shown in FIG. 1 is a portion to which
[0018]
The interrupt
[0019]
The A /
[0020]
The I /
[0021]
The I /
[0022]
The random access memory circuit 215 (hereinafter referred to as RAM) outputs an interrupt request signal to the interrupt
[0023]
The
[0024]
The
[0025]
The AND
[0026]
The AND
[0027]
Write and read signal output to the interrupt
[0028]
Next, the operation of the interrupt request circuit of the present invention shown in FIGS. 1 and 2 will be described with reference to the time chart of FIG. In the time chart of FIG. 3, time elapses from the left to the right of the page. The upper part of FIG. 3 is a diagram showing the contents of data held in the interrupt request register (the above-described eight flip-flops), and the lower part is a figure showing the contents held by the registers in the CPU. Has been placed.
[0029]
(Interrupt factor A occurs)
First, it is assumed that an interrupt request register composed of flip-flops is initialized by a reset signal supplied to the
Next, the A /
[0030]
(Interrupt request output signal generation)
When the data output terminal Q of the flip-
[0031]
(Reading data from the interrupt request register)
First, the
[0032]
The
[0033]
The
[0034]
(Clear interrupt request register (when interrupt factor B has not occurred))
After completing the interrupt processing, the
[0035]
Subsequently, the
[0036]
When the write signal is applied to the gate terminals G of the flip-
[0037]
(Interrupt factor B occurs)
Assume that after the occurrence of the interrupt factor A and before the data in the interrupt request register corresponding to the interrupt factor A is cleared, the I /
[0038]
(Interrupt request output signal generation)
When the data output terminal Q of the flip-
[0039]
(Clear interrupt request register)
After completing the interrupt processing related to the interrupt factor A, the
[0040]
Subsequently, the
[0041]
When the write signal is applied to the gate terminals G of the flip-
[0042]
(Reading data from the interrupt request register)
Next, the
[0043]
First, the
[0044]
The
[0045]
Each data applied to the
[0046]
The
[0047]
(Clear interrupt request register)
Subsequently, the
[0048]
Subsequently, the
[0049]
When the write signal is applied to the gate terminals G of the flip-
[0050]
As described above, the output of the interrupt request register in the interrupt
[0051]
At this time, the outputs of the interrupt request registers all become 0, so the
[0052]
According to the embodiment of the present invention described above, there are the following advantages.
[0053]
A plurality of interrupt requests to the CPU are generated asynchronously with the operation of the CPU. However, according to the present invention, even when the interrupt factor B is newly generated from another peripheral circuit while the CPU is performing the interrupt processing related to the interrupt factor A as described above, The corresponding flip-flop output is not cleared. Therefore, the CPU can recognize that the interrupt factor B is generated even after the clear operation related to the interrupt factor A is completed. Therefore, the interrupt process related to the interrupt factor B is executed without being ignored.
[0054]
In the clear data configuration according to the present invention, the first data given to the flip-flop corresponding to the interrupt factor to be cleared, the other flip-flop, that is, the flip-flop corresponding to the other interrupt factor and the interrupt factor are generated. The second data is uniformly given to the non-flip-flops. Therefore, the clear data generated by the CPU can be generated only by changing only one bit of the plurality of bits constituted by the second data to the first data. Therefore, the time required for generating the clear data is very short, and the operation speed of the CPU is not reduced by generating the clear data.
[0055]
According to the present invention, the clear operation of the interrupt request (output of the interrupt request register) indicated by the interrupt request circuit is executed by the data transferred to the data bus. That is, according to the present invention, a dedicated circuit such as an interrupt clear selector for selectively clearing only the flip-flop corresponding to the generated interrupt factor is not required. Therefore, interrupt processing can be executed reliably without increasing the circuit scale of the entire system.
[0056]
Next, the configuration of another embodiment of the interrupt request circuit of the present invention will be described.
[0057]
FIG. 4 is a diagram showing the configuration of another embodiment of the interrupt request circuit of the present invention. In FIG. 4, the same components as those in FIG.
[0058]
The difference between the interrupt request circuit shown in FIG. 4 and the interrupt request circuit shown in FIG. 1 is that the interrupt
[0059]
Next, the operation of the interrupt request circuit of the present invention shown in FIG. 4 will be described with reference to the time chart of FIG. The difference between the operation of the interrupt request circuit shown in FIG. 4 and the operation of the interrupt request circuit shown in FIG. 1 is that the data output terminal Q of the flip-
[0060]
(Interrupt factor A occurs)
First, it is assumed that an interrupt request register composed of flip-flops is initialized by a reset signal supplied to the
Next, the A /
[0061]
(Interrupt request output signal generation)
When the data output terminal Q of the flip-
[0062]
(Reading data from the interrupt request register)
First, the
[0063]
The
[0064]
The
[0065]
(Clear interrupt request register (when interrupt factor B has not occurred))
After completing the interrupt processing, the
[0066]
Subsequently, the
[0067]
When the write signal is applied to the gate terminals G of the flip-
[0068]
(Interrupt factor B occurs)
Assume that after the occurrence of the interrupt factor A and before the data in the interrupt request register corresponding to the interrupt factor A is cleared, the I /
[0069]
(Interrupt request output signal generation)
When the data output terminal Q of the flip-
[0070]
(Clear interrupt request register)
After completing the interrupt processing related to the interrupt factor A, the
[0071]
Subsequently, the
[0072]
When the write signal is applied to the gate terminals G of the flip-
[0073]
(Reading data from the interrupt request register)
Next, the
[0074]
First, the
[0075]
The
[0076]
Each data applied to the
[0077]
The
[0078]
(Clear interrupt request register)
Subsequently, the
[0079]
Subsequently, the
[0080]
When the write signal is applied to the gate terminals G of the flip-
[0081]
As described above, the output of the interrupt request register in the interrupt
[0082]
Since all outputs of the interrupt request register are 1 at this time, the
[0083]
As described above, the interrupt request circuit using the OR gate shown in FIG. 4 is a circuit indicating that an interrupt request is generated when the data output from the data output terminal Q of each flip-flop is 0. On the other hand, the interrupt request circuit using an AND gate shown in FIG. 1 is a circuit indicating that an interrupt request has occurred when the data output from the data output terminal Q of each flip-flop is 1. Since the operations of these two interrupt request circuits are basically the same, the designer can select either one of them when developing a system (program) such as a microcomputer. That is, by providing two types of interrupt request circuits, it is possible to design in consideration of the characteristics of the entire system such as a microcomputer.
[0084]
Next, a modification of the interrupt request circuit shown in FIG. 1 will be described with reference to FIG.
[0085]
The circuit shown in FIG. 6 is a flip-flop that incorporates an AND gate. That is, the flip-flop shown in FIG. 6 is a circuit in which the AND gate connected to the preceding stage of each flip-flop shown in FIG. 1 is omitted.
[0086]
However, the write signal G shown in FIG. 1 uses a complementary signal in FIG. 6 (for example, the write signal G is generated by inverting the write signal G with an inverter) and applied to the data output terminal Q. The output signal also uses a complementary signal.
[0087]
Further, in FIG. 6, a reset terminal inversion R corresponding to the reset terminal R of each flip-flop shown in FIG. 1 is used.
[0088]
The flip-flop circuit of FIG. 6 includes transistors M1 and M2, and includes a
[0089]
Next, the operation of the flip-flop circuit shown in FIG. 6 will be described.
[0090]
(Reset operation)
When an “L” level reset signal is applied to the reset terminal inversion R, the transistor M10 is turned on, so that the power supply potential (“H” level) is applied to the data output terminal inversion Q. When the data output terminal inversion Q becomes “H” level, the output of the
[0091]
(Operation that receives an interrupt request)
Next, an operation for receiving an interrupt request, that is, a set operation will be described.
[0092]
When an “H” level interrupt request signal is applied to the set terminal S, the transistor M11 is turned on, so that the drain potential of the transistor M12 is applied to the data output terminal inversion Q. At this time, if the reset terminal inversion R is at the “H” level, that is, if the reset operation is not being performed, the transistor M12 is on, so the drain potential of the transistor M12 is at the “L” level. Therefore, the data output terminal inversion Q becomes “L” level. The
[0093]
On the other hand, since the transistor M5 is turned off, the path between the power supply potential and the data output terminal inversion Q is electrically cut off. If the reset operation is not being performed, the transistor M10 is turned off, so that any path between the power supply potential and the data output terminal inversion Q is electrically cut off.
[0094]
In this way, the data output terminal Q becomes “H” level and the flip-flop circuit is set. Therefore, this flip-flop circuit indicates that an interrupt request is generated in the peripheral circuit connected to this flip-flop circuit.
[0095]
(Operation to clear interrupt request)
Next, an operation to clear the interrupt request (data write operation), that is, an operation to transmit the data given to the data terminal D to the data output terminal Q and the inversion Q or hold the data given to the data output terminal Q and the inversion Q The operation to be performed will be described.
[0096]
First, the data when the data output terminal Q and the data output terminal inversion Q are at the “L” level and “H” level, respectively, that is, when no interrupt request is generated in the peripheral circuit connected to the flip-flop circuit. A write operation will be described.
[0097]
When the data output terminal Q is at the “L” level, the transistor M7 is turned on and the transistor M8 is turned off. At this time, if the set terminal S is at the “L” level (not in the set operation) and the reset terminal inversion R is at the “H” level (not in the reset operation), the transistor M5 is turned on, so the data output terminal The inversion Q becomes “H” level. The transistors M10 and M11 are off and the transistor M12 is on. Therefore, the “H” level is not transmitted through the transistor M10. Further, since the transistors M8 and M11 are off, the path between the ground potential and the data output terminal inversion Q is cut off, and the “L” level is not transmitted to the data output terminal inversion Q.
[0098]
Here, if the write signal G is at “L” level (the write signal inversion G is at “H” level), the
[0099]
Next, when the write signal G changes to “H” level (the write signal inversion G is “L” level), the
On the other hand, if the data applied to the data input terminal D is at “H” level, the transistor M6 is turned off and the transistor M9 is turned on. However, since the transistor M8 is off, the “L” level is not transmitted to the data output terminal inversion Q even if the ground potential is transmitted to the drain of the transistor M9. Therefore, the state of the data output terminal Q and the inversion Q does not change.
[0100]
As described above, in the flip-flop circuit, when the data applied to the data output terminal Q is 0 and the data applied to the data output terminal inversion Q is 1, the data output terminal Q and the data output terminal inversion Q This is a circuit in which the data given to is not changed by the data given to the data input terminal D. That is, this flip-flop circuit is a circuit to which
[0101]
Next, when the state of the data output terminal Q and the data output terminal inversion Q is “H” level and “L” level, respectively, that is, when an interrupt request is generated in the peripheral circuit connected to the flip-flop circuit. A data write operation will be described.
[0102]
When the data output terminal Q is at “H” level, the transistor M7 is turned off and the transistor M8 is turned on. Here, if the write signal G is at “L” level (the write signal inversion G is at “H” level), the
[0103]
Next, when the write signal G changes to “H” level (the write signal inversion G is “L” level), the
[0104]
On the other hand, if the data applied to the data input terminal D is at “H” level, the transistor M6 is turned off and the transistor M9 is turned on. That is, the states of the transistors M6 and M9 are the same as when the write signal G is at the “L” level (the write signal inversion G is at the “H” level). Therefore, the state of the data output terminal Q and the inversion Q does not change. (The flip-flop that was originally in the set state does not change even if
In this way, this flip-flop circuit is only provided by giving 0 to the data input terminal D when the data given to the data output terminal Q is 1 and the data given to the data output terminal inversion Q is 0. The circuit can change the state of the data output terminal Q.
[0105]
Based on the above write operation,
[0106]
The flip-flop circuit shown in FIG. 6 can realize the same operation as the circuit composed of the flip-flop and the AND gate shown in FIG. 1 by adding the transistors M7 and M8. Specifically, the flip-flop circuit shown in FIG. 6 can reduce the number of MOS transistors by four compared with the circuit of FIG. 1 in order to realize the same operation as the circuit of FIG. Therefore, an interrupt request circuit having a small circuit area can be provided when integrated into an IC.
[0107]
Next, a modification of the interrupt request circuit shown in FIG. 4 will be described with reference to FIG.
[0108]
The circuit shown in FIG. 7 is a flip-flop in which an OR gate is incorporated. That is, the flip-flop shown in FIG. 7 is a circuit in which the OR gate connected to the preceding stage of each flip-flop shown in FIG. 4 is omitted.
[0109]
However, the write signal G shown in FIG. 4 uses a complementary signal in FIG. 7 (for example, the write signal G is inverted by inverting the write signal G with an inverter), and is applied to the data output terminal Q. The output signal also uses a complementary signal.
[0110]
In FIG. 7, the reset terminal inversion R corresponding to the reset terminal R of each flip-flop shown in FIG. 4 is used.
[0111]
The difference in configuration between the flip-flop circuit shown in FIG. 7 and the flip-flop circuit shown in FIG. 6 is only the connection relationship between the transistors M7 and M8. In the flip-flop circuit shown in FIG. 6, the transistor M6 and the transistor M7 are connected in parallel, whereas in the flip-flop circuit shown in FIG. 7, they are connected in series. In the flip-flop circuit shown in FIG. 6, the transistors M8 and M9 are connected in series, whereas in the flip-flop circuit shown in FIG. 7, they are connected in parallel.
[0112]
Next, the operation of the flip-flop circuit shown in FIG. 7 will be described.
[0113]
The reset operation and set operation of this flip-flop circuit are the same as those of the flip-flop circuit shown in FIG.
[0114]
(Operation to clear interrupt request)
Next, an operation to clear the interrupt request (data write operation), that is, an operation to transmit the data given to the data terminal D to the data output terminal Q and the inversion Q or hold the data given to the data output terminal Q and the inversion Q The operation to be performed will be described.
[0115]
First, data when the data output terminal Q and the data output terminal inversion Q are at the “L” level and “H” level, respectively, that is, when an interrupt request is generated in the peripheral circuit connected to the flip-flop circuit. A write operation will be described.
[0116]
When the data output terminal Q is at the “L” level, the transistor M7 is turned on and the transistor M8 is turned off. Here, if the write signal G is at “L” level (the write signal inversion G is at “H” level), the
[0117]
Next, when the write signal G changes to “H” level (the write signal inversion G is “L” level), the
[0118]
On the other hand, if the data applied to the data input terminal D is at “H” level, the transistor M6 is turned off and the transistor M9 is turned on. Accordingly, the “L” level is transmitted to the data output terminal inversion Q through the transistors M9 and M12. The
[0119]
Next, when the data output terminal Q and the data output terminal inversion Q are at the “H” level and “L” level, respectively, that is, when an interrupt request is not generated in the peripheral circuit connected to the flip-flop circuit. A data write operation will be described.
[0120]
When the data output terminal Q is at “H” level, the transistor M7 is turned off and the transistor M8 is turned on. Here, if the write signal G is at “L” level (the write signal inversion G is at “H” level), the
[0121]
Next, when the write signal G changes to “H” level (the write signal inversion G is “L” level), the
[0122]
On the other hand, if the data applied to the data input terminal D is at “H” level, the transistors M6 and M9 are in the previous state, that is, the write signal G is at “L” level (the write signal inversion G is “H”). The level is the same as when it was). Therefore, the state of the data output terminal Q and the inversion Q does not change.
[0123]
In this way, this flip-flop circuit is only provided by giving 1 to the data input terminal D when the data given to the data output terminal Q is 0 and the data given to the data output terminal inversion Q is 1. The circuit can change the state of the data output terminal Q.
[0124]
Based on the above write operation,
[0125]
The flip-flop circuit shown in FIG. 7 can realize the same operation as the circuit composed of the flip-flop and the OR gate shown in FIG. 4 by adding the transistors M7 and M8. Specifically, the flip-flop circuit shown in FIG. 7 can reduce the number of MOS transistors by four compared to the circuit of FIG. 4 in order to realize the same operation as the circuit of FIG. Therefore, an interrupt request circuit having a small circuit area can be provided when integrated into an IC.
[0126]
【The invention's effect】
As described in detail above, the interrupt request processing method according to the present invention provides the first data to the first input terminal and maintains the interrupt request output given to the output terminal corresponding to the first input terminal. Since the second data is given to the first input terminal and the interrupt request output given to the output terminal corresponding to the first input terminal is cleared, the interrupt request to the CPU Even if multiple occurrences occur asynchronously, it is possible to reliably execute processing related to an interrupt request that occurs later.
[0127]
The interrupt request circuit according to the present invention corresponds to each of a plurality of bus lines for transferring data, a plurality of first input terminals for receiving data transferred to the bus lines, Since there are a plurality of second input terminals to which an interrupt request signal is applied corresponding to each of the bus lines and a plurality of output terminals corresponding to each of the second input terminals, the interrupt request circuit indicated by the interrupt request circuit The clear operation can be executed by data transferred to the data bus. That is, according to the present invention, since a dedicated circuit such as an interrupt clear selector is not required, interrupt processing can be reliably executed without increasing the circuit scale of the entire system.
[Brief description of the drawings]
FIG. 1 is a diagram showing an embodiment of an interrupt request circuit according to the present invention.
FIG. 2 is a diagram showing an embodiment of a system incorporating an interrupt request circuit according to the present invention.
FIG. 3 is a time chart for explaining the operation of the interrupt request circuit of the present invention shown in FIGS. 1 and 2;
FIG. 4 is a diagram showing another embodiment of the interrupt request circuit according to the present invention.
5 is a time chart for explaining the operation of the interrupt request circuit of the present invention shown in FIGS. 2 and 4. FIG.
FIG. 6 is a diagram showing a modification of the flip-flop of the interrupt request circuit according to the present invention.
FIG. 7 is a diagram showing a modification of the flip-flop of the interrupt request circuit according to the present invention.
[Explanation of symbols]
101, 103, 105, 107, 109 flip-flop
111, 113, 115, 117, 119 Andgate
137, 139, 141, 143, 145 Interrupt request input terminals
147, 149, 151, 153, 155 Data input terminals
157, 159, 161, 163, 165 Data output terminal
Claims (6)
論理の異なる第2および第3のデータを含む複数のビットデータが与えられるバスラインと、
前記データ保持回路から出力される前記第1のデータと、前記バスラインに与えられた前記第2、若しくは、前記第3のデータとが入力される複数の論理回路とを有し、
前記論理回路は、前記第1のデータと前記第2のデータとに応答して前記データ保持回路が保持する前記第1のデータを維持するデータを前記データ保持回路に出力し、
また、前記第1のデータと前記第3のデータとに応答して前記データ保持回路が保持する前記第1のデータをクリアするデータを前記データ保持回路に出力することを特徴とする割り込み要求回路。In response to the interrupt request signal, the first data indicating that there is an interrupt request is held, and the held first data is output to the interrupt request output circuit. Circuit,
A bus line to which a plurality of bit data including second and third data having different logics are provided ;
A plurality of logic circuits to which the first data output from the data holding circuit and the second or third data given to the bus line are input;
The logic circuit outputs data for maintaining the first data held by the data holding circuit in response to the first data and the second data to the data holding circuit,
And an interrupt request circuit for outputting data for clearing the first data held by the data holding circuit to the data holding circuit in response to the first data and the third data. .
論理の異なる第2および第3のデータを含む複数のビットデータが与えられるバスラインと、
前記データ保持回路から出力される前記第1のデータと、前記バスラインに与えられた前記第2、若しくは、前記第3のデータとが入力される複数の論理回路とを有する割り込み要求回路を用いた割り込み要求の処理方法において、
所定の前記データ保持回路に割り込み要求信号を与え当該データ保持回路に前記第1のデータを記憶させる第1のステップと、
前記論理回路により、前記第1のデータと前記第2のデータとに応答して前記データ保持回路が保持する前記第1のデータを維持するデータを前記データ保持回路に出力し、また、前記第1のデータと前記第3のデータとに応答して前記データ保持回路が保持する前記第1のデータをクリアするデータを前記データ保持回路に出力する第2のステップとを有することを特徴とする割り込み要求の処理方法。In response to the interrupt request signal, the first data indicating that there is an interrupt request is held, and the held first data is output to the interrupt request output circuit. Circuit,
A bus line to which a plurality of bit data including second and third data having different logics are provided ;
An interrupt request circuit having a plurality of logic circuits to which the first data output from the data holding circuit and the second or third data given to the bus line are input is used. In the interrupt request processing method
A first step of giving an interrupt request signal to the predetermined data holding circuit and storing the first data in the data holding circuit;
The logic circuit outputs data for maintaining the first data held by the data holding circuit in response to the first data and the second data to the data holding circuit, and And a second step of outputting data for clearing the first data held by the data holding circuit to the data holding circuit in response to the first data and the third data. How to handle interrupt requests.
前記中央処理演算装置から出力される論理の異なる第2及び第3のデータを含む複数のビットデータが与えられるバスラインと、
前記データ保持回路から出力される前記第1のデータと、前記バスラインに与えられた第2、若しくは、第3のデータとが入力される複数の論理回路とを有し、
前記中央演算処理装置は、保持された前記第1のデータに関する割り込み処理が終了した前記データ保持回路に対応する前記論理回路には、第3のデータを、また、当該データ保持回路を除く全ての前記データ保持回路に対応する前記論理回路には、第2データを与えるようなビットデータを出力するとともに、
該論理回路は、前記第1のデータと前記第2のデータとに応答して前記データ保持回路が保持する前記第1のデータを維持するデータを前記データ保持回路に出力し、前記第1のデータと前記第3のデータとに応答して前記データ保持回路が保持する前記第1のデータをクリアするデータを前記データ保持回路に出力することを特徴とする割り込み要求回路。In an interrupt request circuit comprising a plurality of data holding circuits for holding first data indicating that an interrupt request is generated in response to an interrupt request signal and outputting the data to a central processing unit ,
A bus line to which a plurality of bit data including second and third data having different logics output from the central processing unit is provided ;
A plurality of logic circuits to which the first data output from the data holding circuit and the second or third data given to the bus line are input;
The central processing unit stores third data in the logic circuit corresponding to the data holding circuit for which the interrupt processing related to the held first data has been completed, and all the data except the data holding circuit. The logic circuit corresponding to the data holding circuit outputs bit data that gives second data, and
The logic circuit outputs, to the data holding circuit, data that maintains the first data held by the data holding circuit in response to the first data and the second data, An interrupt request circuit that outputs data for clearing the first data held by the data holding circuit to the data holding circuit in response to data and the third data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23129794A JP3737144B2 (en) | 1994-09-27 | 1994-09-27 | Interrupt request circuit and interrupt request processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23129794A JP3737144B2 (en) | 1994-09-27 | 1994-09-27 | Interrupt request circuit and interrupt request processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0895801A JPH0895801A (en) | 1996-04-12 |
JP3737144B2 true JP3737144B2 (en) | 2006-01-18 |
Family
ID=16921412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23129794A Expired - Fee Related JP3737144B2 (en) | 1994-09-27 | 1994-09-27 | Interrupt request circuit and interrupt request processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3737144B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6510480B1 (en) | 1998-08-25 | 2003-01-21 | Matsushita Electric Industrial Co., Ltd. | Data transfer circuit and data processing method using data transfer circuit for handling interruption processing |
-
1994
- 1994-09-27 JP JP23129794A patent/JP3737144B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0895801A (en) | 1996-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0258649B2 (en) | ||
US4835684A (en) | Microcomputer capable of transferring data from one location to another within a memory without an intermediary data bus | |
JPH0769791B2 (en) | Microprocessor | |
US5535379A (en) | Timer apparatus capable of writing identical data to a plurality of timers built in a microcomputer | |
JP3737144B2 (en) | Interrupt request circuit and interrupt request processing method | |
KR950009271B1 (en) | Information processing system | |
US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
US4802089A (en) | Status flag handling in a digital data processing system | |
KR910001708B1 (en) | Central processing unit | |
US4888685A (en) | Data conflict prevention for processor with input/output device | |
JPS63244393A (en) | Storage device equipped with parallel input/output circuit | |
US6211802B1 (en) | Semiconductor integrated circuit for performing data transfer | |
JPH08241296A (en) | Semiconductor integrated circuit | |
JPS60181851A (en) | Partial writing control system | |
US6510480B1 (en) | Data transfer circuit and data processing method using data transfer circuit for handling interruption processing | |
US4757504A (en) | Polyphase parity generator circuit | |
US5179678A (en) | Address/control signal input circuit for a cache controller which clamps the address/control signals to predetermined logic level clamp signal is received | |
JPS642177Y2 (en) | ||
JPH0418634A (en) | Data processor | |
JPS6258018B2 (en) | ||
JP2546002B2 (en) | Parity circuit | |
US20030217203A1 (en) | DMA circuit with bit handling function | |
KR0179856B1 (en) | Basic Cell Circuit of Register File | |
JPH05334234A (en) | High speed dma transferring device | |
JP3048762B2 (en) | Semiconductor integrated circuit device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040727 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050428 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050527 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051026 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081104 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091104 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091104 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091104 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |