JPS61214031A - マイクロコンピユ−タの割込み処理方法 - Google Patents

マイクロコンピユ−タの割込み処理方法

Info

Publication number
JPS61214031A
JPS61214031A JP60056709A JP5670985A JPS61214031A JP S61214031 A JPS61214031 A JP S61214031A JP 60056709 A JP60056709 A JP 60056709A JP 5670985 A JP5670985 A JP 5670985A JP S61214031 A JPS61214031 A JP S61214031A
Authority
JP
Japan
Prior art keywords
output
flip
flop
input
signal
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
JP60056709A
Other languages
English (en)
Inventor
Yoshiro Tsuchiyama
吉朗 土山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP60056709A priority Critical patent/JPS61214031A/ja
Publication of JPS61214031A publication Critical patent/JPS61214031A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明はマイクロコンピュータの割込み処理方法に関す
るものであり、特にサーボ機構、ロボットなどの制御に
適した割込み処理方法である。
従来の技術 従来、サーボ機構などにおける制御、例えばモータの回
転数の精密制御は、ハードウェアにょ9実現されていた
が、近年、マイクロコンピュータの進歩により、ソフト
ウェアでも実現されるようになった。モータの制御方法
として、モータにロータリエンコーダを取付け、回転に
比例したパルスを生ぜしめ、このパルスの間隔を一定に
保つようにモータに加速及び減速指令を与えるものであ
る。したがって、この場合、パルスのタイミングをマイ
クロコンピュータ(以下マイコンと略す)が正確に知る
ことは極めて重要であり、これにより、どれだけ精密に
制御できるかが左右される。
大部分のマイコンは、パルスのタイミングを直接検出す
る機能は有していないが、例えば、インテル社の1チツ
プマイクロコンピユータ、MC896などでは、第7図
に示すように、入力信号のエツジを検出して、そのとき
のタイミングを記憶することが可能になっている。
以下、第7図にもとづき説明する。各入力信号(1〜4
)は変化検出回路(701〜704)を経てFIFO(
First In First 0ut)706に入力
される。またnビットカウンタ705の出力も同様にF
 I FO706に入力されている。したがってP I
 F0706のビット幅はn+4ビツトとなる。入力1
〜4のうち何れかが変化すると入力信号値及びnビット
2進カウンタ値がFIFO706に書込まれる。すなわ
ち、FIFO706に変化した信号情報とそのときの時
刻が蓄積されることになる。F I FO706に蓄積
された情報量が増加すると割込み要求信号が出されて、
cpU(図示せず)に割込みを発生させる。割込み処理
としては、FIFO706を順に読出して、それに応じ
た処理を行なう。これにより、入力信号1〜4の変化し
た時刻を容易に知ることができる。
発明が解決しようとする問題点 さて、従来例においては、P I FO706において
、各段全てにわたって、カウンタのビット数と入力信号
の全ビット数との和のビット数が必要であった。このた
め、入力信号の種類が増加すると、P I FO706
の容量が非常に大きくなるという欠点を有している。
また、FIFOを使っているため、その段数分だけ処理
が遅れることになる。特に、殆んど同時に、優先度の異
なる入力が入った場合にも、入った時刻の順にしか処理
ができず、優先度の高い入力に対する処理が遅れないよ
うにするのは、ソフトウェアが複雑になってし捷う。
問題点を解決するための手段 上記問題点を解決するために、nピノhカウンタの値を
記憶する手段をそれぞれの入力信号に応じて設け、さら
にそれぞれの入力信号の変化したことを記憶する手段を
設け、少なくともどれかひとつの入力信号の変化により
、CPUに割込みをかけるものである。
作  用 クロックを計数するnビットカウンタを有し、j個の外
部入力信号に対して、該入力信号がそれぞれ有効レベル
に変化したことを前記クロックに同期して検出する手段
をj個有し1、該検出手段よりの出力信号により前記n
ビットカウンタの出力値をそれぞれラッチするj個の出
力制御可能なnビットラッチと、前記検出手段よりの出
力信号により個々にセットされるj個の出力制御可能な
フリップフロップを有し、該フリップフロップの出力と
同リセット入力と前記nビットラッチの出力とは、マイ
クロコンピュータのデータバスにつながっており、アド
レスを指定することにより、データの読出し及び書込み
が可能になっている。さらに前記入力信号変化検出手段
よりの出力信号の論理和をとり、該論理和出力によりC
PUに割込要求を発生する手段を有するため、CPUが
割込み処理において、前記j個の7IJ ツブフロップ
の出力をデータバス上に読出して、セットされているフ
リップ70ツブに対応した処理を行なうと共に、セット
されているスリップフロップをデータバスを通してリセ
ットする。これにより、CPUは、j個の入力信号に対
してどの信号がいつ変化したかをただちにかつ容易に知
ることができるものである。
実施例 本発明の実施例を図面に基づき説明する。第1図は本発
明の概略構成を示すブロック図である。
外部入力信号1〜4はそれぞれ論理微分回路1〜4に入
力され、レベル変化の検出(一種の微分)回路11にも
入力され、さらには、CPU割込み7 ・\ 回路5の出力につながっている。このため、論理]・カ
ウンタの値をラッチする。同時に微分パルスが出てもそ
れに対応するランチが同時に作動する。
一方、要因フラグ11は微分パルスにより、対応するR
−Sフリップフロップがセットされる。さらに、CPU
割込み要求パルス作成回路12により能を有し、出力を
オフ状態にすることができ、データバスに直結すること
ができる。同様に要因フラグ11の出力もデータバスに
直結することができる。さらに、要因フラグ11におい
ては、データバスを通じて、フリップフロップをリセッ
トすることも可能とし、データバスは双方向である。
このデータバスのデータ入出力の切換えは、CPUより
アドレスを送出し、アドレスデコーダ13により、どの
ラッチの出力を有効(オン)にするか、さらに要因フラ
グのフリップフロップを読出すか、又はリセットするか
を切換えるものである。
以下、各ブロックの具体的構成を説明する。第2図Aは
、論理微分回路1〜4の構成を示す回路図である。この
回路はクロックと同期していない入力信号の立」二がり
を検出し、その検出時のクロックの%に相当する幅のパ
ルスを出力するものである。捷ず、入力信号はDフリッ
プフロップ21のD入力端子及びAND回路22に入力
される。
入力信号がHighレベルとなり、クロックが立上がれ
ば、同図Bのalに示すように、Dフリップフロップ2
1のQ出力はLowレベルになる。この状態は入力信号
が再びLowレベルになった後、クロックの立上がりが
入るまで保持される。スリップフロップ21のQ出力と
入力信号はAND回路22に入力される。したがって同
図Bに示すようにAND回路22の出力a2は、入力信
号が立上がってから、クロックに同期してQalが立下
がるまでの期間、Highレベルを保持する。AND回
路22の出力a2はDフリップフロップ23のD端子に
入力されている。このため、Dフリップ92、−。
フロップ23のQ出力は、同図Bのd3のごとく、1ク
ロック期間のみLowレベルとなる。さらにDフリップ
フロップ23のQ出力とクロックと一1NOR回路24
に入力することにより、クロックの半分の間だけHig
hレベルになる出力を得る。このようにして、入力信号
の立下がりを検出して、対応するパルスを出力すること
ができる。
次に第3図A (d nビットラッチの構成を示す回路
図である。nビットカウンタの出力Q1.Q2  ・・
・・QnはそれぞれDフリップフロップ30〜34のD
端子に接続されている。−勇者りフリップ70ツブ30
〜34のクロック端子Tへは、第2図で説明した論理微
分回路の出力パルスが入ってくる。したがって、微分パ
ルスが立上がると、各Dフリップフロップ30〜34は
、そのときのカウンタ出力値Q1. Q2.・・・・・
・Qn をランチし、各Q端子からはその保持値が読出
せる。この微分パルスは同図Bに示すようにカウンタの
クロックとは逆相になっているため、カウンタ値が変化
するタイミーングとは重ならないようになっている。さ
て、10 、 各フリップフロップ3o〜34の出力端子Qは全て、3
ステートバンフ736〜40を介してデータバスに接続
されている。3ステートバツフア36〜4oの制御入力
は、ラッチ読出しアドレス信号により制御される。すな
わち、このラッチを選択する信号を出した時のみ、Dフ
リップフロップ30〜34の出力値がデータバスD1〜
Dnにのることになる。
第4図は要因フラグの構成を示す回路図である。
第2図で示した論理微分回路の各出力は、それぞれに対
応したRSフリップフロップ41〜44の各S端子に入
力される。したがって、論理微分回路よりの出力パルス
が入ると、対応するRSフリップフロップがセットされ
る。各R8フリップフロップ41〜44の出力Qはそれ
ぞれ3ステートバツフア46〜48を介してデータバス
に接続されている。3ステートバツフアの制御端子には
、要因フラグ読出しアドレス信号が接続され、要因フラ
グの読出しを選択するアドレスを送出することにより、
各R3フリップフロップの出力Qのデ117、。
一タは、データバス」二に載せられる。さらにデータバ
スの各ラインはANDゲート49〜52に入力されてい
る。各ANDゲート49〜52のもう一方の入力は、書
込み許可信号が入力されている。
この書込み許可信号は、AND回路63に書込みパルス
信号と、要因フラグ書込みアドレス信号を入力し、その
出力信号として得られるものである。
すなわち、要因フラグ書込みアドレスを送出し、データ
バス上に、リセットするRSフリップフロップに対応す
るビットをHighにしたデータを送出して、書込みパ
ルス信号を立上げると、RSフリップフロップ41〜4
4のうち任意のものをリセットすることができるもので
ある。
第6図AはCPtJ割込み要求信号作成回路の一例を示
す回路図であり、特に1チツプマイクロコンピユータに
追加する場合の構成例である。第2図で示した各論理微
分回路の出力信号をOR回路6oに入力し、合成微分パ
ルス信号を得る。マイコンの種類によっては、この合成
微分パルスを直接、割込み要求信号として用いることが
できるものもある。ただ、1チツプマイクロコンビコー
タに追加する場合、この微分パルスでは、幅が狭すぎて
、CPUに割込みがかからない場合がある。
それは、CPUにノイズ等で割込みがかからないように
するため、割込パルスの幅が狭い場合は、割込みを受付
けないようにするものである。したがって、この場合、
割込み要求パルスの幅を拡げてやる必要がある。OR回
路63、Tフリップフロッグ61.62で構成されるセ
ルフストップカウンタはそのための回路である。z−1
、カウンタは停止状態にあるものとする。すなわち、T
フリップフロップ62の出力Q b 2 ハHigh 
V ヘルにあるものとする。この信号はOR回路63に
入力されているため、OR回路63の出力b3はHig
hレベルになり、Tフリップフロップ61は反転するこ
とができない。したがってカウンタは動作しない。ここ
で、合成微分パルスb 1 カHighレベルになると
、Tフリップフロップ61.62をリセットする。この
ため、Tフリップフロップ61の出力Qba、同62の
出力b2は全てLowレベ13、、−フ ルになる。このため、OR回路63により禁止されてい
たクロック入力は、Tフリップフロップ61に入力され
る。この入力b3が2度立下がりを経るとTクリップフ
ロンプロ2の出力Qb2はHighレベルになるので、
Highレベルになるト、再ヒクロノク入力がTフリソ
ゲフロップ61に入力されなくなり、カウンタは停止す
る。したがってTフリップフロップ62の出力Qb2は
この期間だけLowレベルに保たれる。第5図Bにこの
タイミングを示す。合成微分パルスがクロックに同期し
ていなければ、得られる出力パルス幅は1クロツク相当
と2クロツク相当との間になり、常に同じ幅になるとは
限らないが、本発明では特に問題にはならない。同図B
においても、tlとt2とは明らかに等しくはなってい
ない。これは、回路を簡略化するため、OR回路63に
入力するクロックとして、nビットカウンタの出力値を
用いているためである。この信号を用いることにより、
Tフリップフロップの個数が2ケで済んでいるものであ
る。このように、比較的遅いクロックを用いる14 、 ことにより、パルス幅を拡張することができ、ノイズと
は明らかに区別のできる割込要求パルスが作成される。
第6図は、これまで述べてきたハードウェアにおける、
CPUにおける割込み処理手順を示すフローチャートで
ある。CPUが割込みを受理すると、まず、要因フラグ
を読出し、何の信号によって割込みを受理したのかを調
べる。(ブロック7o0)次に読出した要因フラグによ
り、各フリップフロップを調べ、そのフリップフロップ
がセットされていれば、その要因に応じた処理を行なう
。まず、ブロックγ1において、要因1(入力1に対応
)のフリップフロップがセットされていれば、ブロック
72でその要因に対する処理(例えば、対応するnビッ
トラッチ値を読出し、前回の値との差を求め、パルス周
期を算出するなどの処理)を行ない、ブロック73で要
因1のフリップフロップをリセットする。ブロック71
において要因1のフリップフロップがセットされていな
ければ、何もせずにブロックア4に進む。ブロック74
,75゜15. 76において、要因2に対して、要因1と同様の処理を
行なう。同様の処理を全ての要因に対して行ない、CP
Uは割込み処理を終了する。特にこの場合、同時に多く
の要因が入った場合でも、優先度の高い要因から処理を
行なうことが容易にできる。第6図の例では、要因1が
最も高い優先度になるものである。
発明の詳細 な説明した通り、本発明は、従来例の欠点を克服するも
のである。まず、入力信号の増加に対して、フリップフ
ロップの増加が少なくなる。これは従来は(n十j)X
j個必要であったが、本発明では(n+1 )Xi個と
少ない数で実現できる。(nはカウンタ及びラッチのビ
ット数、jは入力信号の個数である。) さらに本発明では、各々記憶している時刻(力処理を先
に行なうなどの処理が可能であり、高精度な制御分野へ
の適用が容易であるなど多くの効果を奏するものである
【図面の簡単な説明】
第1図は、本発明の実施例のハードウェア構成を示すブ
ロック図、第2図Aは第1図における論理微分回路の構
成例を示す回路図、同図Bはそのタイミング図、第3図
Aは第1図におけるnビットラッチの回路図、同図Bは
そのタイミング図、第4図は第1図における要因フラグ
の構成例を示す回路図、第5図Aは第1図におけるCP
U割込要求パルス作成回路の回路図、同図Bはそのタイ
ミング図、第6図はCPUの割込み処理手順を示すフロ
ーチャート、第7図は従来例におけるハードウェア構成
を示すブロック図である。 1.2,3.4・・・・論理微分回路、5・・・・・・
nビ、トカウンタ、6171 ’1i1110.、、、
、、 nビットラッチ、11・・・・・・要因フラグ、
12・・・・ CPU割込み要求パルス作成回路。

Claims (1)

    【特許請求の範囲】
  1. クロックを計数する、nビットカウンタを有し、j個の
    外部入力信号に対して、該入力信号がそれぞれ有効レベ
    ルに変化したことを前記クロックに同期して検出する手
    段をj個有し、該検出手段よりの出力信号により、前記
    nビットカウンタの出力値をそれぞれラッチするj個の
    出力制御可能なnビットラッチと、前記検出手段の出力
    信号により個々にセットされるj個の出力制御可能なフ
    リップフロップを有し、該フリップフロップの出力と同
    リセット入力と前記nビットラッチの出力とは、双方向
    のデータバスに結線され、それぞれアドレスを指定する
    ことにより読出し及び書込みできるように設定され、前
    記入力信号変化検出手段よりの出力信号の論理和をとり
    、該論理和出力によりCPUに割込み要求を発生する手
    段を有し、CPUは割込み処理において前記1個のフリ
    ップフロップの内容をデータバスより読出し、セットさ
    れているフリップフロップに対応した割込み処理を行な
    うと共に、データバスによりセットされているフリップ
    フロップをリセットすることを特徴とするマイクロコン
    ピュータの割込み処理方法。
JP60056709A 1985-03-20 1985-03-20 マイクロコンピユ−タの割込み処理方法 Pending JPS61214031A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60056709A JPS61214031A (ja) 1985-03-20 1985-03-20 マイクロコンピユ−タの割込み処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60056709A JPS61214031A (ja) 1985-03-20 1985-03-20 マイクロコンピユ−タの割込み処理方法

Publications (1)

Publication Number Publication Date
JPS61214031A true JPS61214031A (ja) 1986-09-22

Family

ID=13035003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60056709A Pending JPS61214031A (ja) 1985-03-20 1985-03-20 マイクロコンピユ−タの割込み処理方法

Country Status (1)

Country Link
JP (1) JPS61214031A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129491A (ja) * 1994-10-31 1996-05-21 Nec Corp 割込み制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129491A (ja) * 1994-10-31 1996-05-21 Nec Corp 割込み制御方式

Similar Documents

Publication Publication Date Title
US4308500A (en) Incremental encoder for measuring positions of objects such as rotating shafts
JPH0743653B2 (ja) 割込みコントローラ
JP2569589B2 (ja) カウンタ回路
JPS6266322A (ja) デ−タバスバツフア制御回路
JPS61214031A (ja) マイクロコンピユ−タの割込み処理方法
EP0628913A1 (en) Interrupt signal detection circuit
JPH0442606B2 (ja)
US4896288A (en) Programmable controller input module
US6166507A (en) Disk drive system
JP3093374B2 (ja) 割り込みコントローラ
JPH04285815A (ja) ロータリエンコーダの位置カウンタ回路
JP2000180210A (ja) エンコーダパルス発生装置
JPS5947364B2 (ja) プリアンブル検出装置
JP3248369B2 (ja) 回転体の位置検出回路
JP2959446B2 (ja) メモリ監視回路
JP2964738B2 (ja) パルス演算処理装置
JPS638513A (ja) アブソリユ−ト式エンコ−ダ
JP3212332B2 (ja) 多軸位置検出装置
SU1182489A1 (ru) Устройство дл разгона и торможени двигател исполнительного механизма
JPS62172265A (ja) 回転方向判別方式
JPS6251525B2 (ja)
JPS6161060A (ja) 二相パルス方向性判別回路
JPS5914797B2 (ja) 座標入力装置
JPH04227551A (ja) アクセス制御回路
JPH01212026A (ja) パルスカウント方式