JPH06197008A - カウンタ装置 - Google Patents

カウンタ装置

Info

Publication number
JPH06197008A
JPH06197008A JP35961192A JP35961192A JPH06197008A JP H06197008 A JPH06197008 A JP H06197008A JP 35961192 A JP35961192 A JP 35961192A JP 35961192 A JP35961192 A JP 35961192A JP H06197008 A JPH06197008 A JP H06197008A
Authority
JP
Japan
Prior art keywords
cpu
counter
data
memory
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.)
Pending
Application number
JP35961192A
Other languages
English (en)
Inventor
Noboru Suzuki
昇 鈴木
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP35961192A priority Critical patent/JPH06197008A/ja
Publication of JPH06197008A publication Critical patent/JPH06197008A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 カウンタのデータをメモリに高速に格納す
る。 【構成】 カウンタ4の出力を下位バイトA、中位バイ
トB、上位バイトCとしてラッチ8、9、10にそれぞ
れ振り分ける。CPU14のデータ・バス16をバッフ
ァ5、6、7にそれぞれ結び、アドレス・バス17をメ
モリ11、12、13にそれぞれ結ぶ。これらのラッチ
8、9、10とバッファ5、6、7とメモリ11、1
2、13の中の1個ずつを相互に結ぶ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はカウンタのデータをメモ
リに周期的に格納するカウンタ装置に関するものであ
る。
【従来の技術】
【0002】従来、CPUを使用したカウンタ装置は、
CPUのデータ・バスで規定されるデータ長だけをカウ
ンタから読み込むので、カウンタのデータ長がCPUの
データ・バスよりも大きい場合には、カウンタのデータ
を数回に分けて読み込まなければならない。例えば、カ
ウンタのデータ長が24ビットであり、CPUのデータ
・バスが8ビットである場合には、カウンタ装置はカウ
ンタのデータを3回に分けてCPUに読み込むことにな
る。なお、CPUに読み込まれたデータは、その後にC
PUからメモリに格納されるようになっている。
【0003】
【発明が解決しようとする課題】しかしながら上述した
従来例は、カウンタ装置がカウンタのデータをCPUに
高速で読み込む際に、サンプリング周期に数10〜数1
00mSの揺れが生じ、カウンタのデータの変化を分別
できずに規則正しいサンプリングができないことがあ
る。また、カウンタのデータを数回に分けてCPUに読
み込むので、スイッチ入力等の他の仕事に対する時間の
割合が多くなってしまうという欠点がある。
【0004】本発明の目的は、上述した問題点を解消
し、カウンタのデータをCPUに高速かつ正確に格納で
きるカウンタ装置を提供することにある。
【0005】
【課題を解決するための手段】上述の目的を達成するた
めの本発明に係るカウンタ装置は、信号を計数する計数
部と、該計数部を制御する制御部と、該制御部と同じデ
ータ・バスを持つ記憶部とを、前記計数部のデータ長と
少なくとも同じデータ長を有するように並列に結線した
ことを特徴とする。
【0006】
【作用】上述の構成を有するカウンタ装置は、計数部と
制御部と記憶部とを、計数部のデータ長と少なくとも同
じデータ長を有するように並列に結線し、計数部の出力
を記憶部のデータ・バスの全てに対応させる。
【0007】
【実施例】本発明を図示の実施例に基づいて詳細に説明
する。図1は概念図であり、カウンタ装置1にはコンピ
ュータ2とエンコーダ3が接続されている。図2はブロ
ック回路構成図を示し、カウンタ装置1とコンピュータ
2は標準的なインタフェイスであるGPIBで結ばれ、
コンピュータ2の指示でエンコーダ3からカウンタ装置
1にパルスが取り込まれるようになっている。エンコー
ダ3の計数値のサンプリング周期は、カウンタ装置1と
コンピュータ2の通信時間で決定されるようになってお
り、ここでは計数値を並列して直接取り込む方式の所謂
DMA方式が使用され、全ての計数値が取り込まれた後
にコンピュータ2に転送されて、エンコーダ3の軌跡が
容易に解析されるようになっている。
【0008】即ち、カウンタ装置1内にはカウンタ4、
トライステートバッファ5、6、7、ラッチ8、9、1
0、メモリ11、12、13、そしてCPU14が配置
されている。CPU14にはタイマ15、データ・バス
16、アドレスバス17、そして出力ポートPO、P1、P
2、P3、WR、RDが備えられている。バッファ5、6、7
には74HC541が使用され、ラッチ8、9、10に
は74HC574が使用され、メモリ11、12、13
には62256(アドレスがA0〜A14 )のRAMが使用
されている。
【0009】ここで、CPU14が8ビットとされ、カ
ウンタ4が24ビットとされているため、24/8=3
個のメモリ11、12、13が必要とされている。ま
た、カウンタ4が24ビットとされているため、カウン
タ4の計数値はビット0〜7を下位バイトA、ビット8
〜15を中位バイトB、ビット16〜23を上位バイト
Cとする8ビット単位で、ラッチ8、9、10に振り分
けられている。
【0010】このようにして、カウンタ4はラッチ8、
9、10に振り分け結ばれると共に、データ・バス16
はバッファ5、6、7に結線され、アドレス・バス17
はメモリ11、12、13に結ばれている。また、これ
らのラッチ8、9、10とバッファ5、6、7とメモリ
11、12、13の中の1個ずつが相互に結ばれてい
る。
【0011】一方、出力ポートP0はラッチ8、9、10
のそれぞれの入力ポートOEに結ばれ、同時にインバータ
18を介してバッファ5、6、7のそれぞれの入力ポー
トOE2に結ばれている。出力ポートP1、P2、P3はORゲ
ート19、20、21に接続され、同時にこれらのOR
ゲート19、20、21にはアドレス・バス17がイン
バータ22を介して接続されている。ORゲート19は
バッファ5の入力ポートOE1 とメモリ11の入力ポート
CSに接続され、ORゲート20はバッファ6の入力ポー
トOE1 とメモリ12の入力ポートCSに接続され、ORゲ
ート21はバッファ7の入力ポートOE1 とメモリ13の
入力ポートCSに接続されている。CPU14の出力ポー
トRDと出力ポートWRはメモリ11、12、13の入力ポ
ートRDと入力ポートWRにそれぞれ接続され、更に出力ポ
ートWRはインバータ23を介してラッチ8、9、10の
入力ポートCKにそれぞれ接続されている。
【0012】このような構成により、カウンタ4の計数
値がメモリ11、12、13に格納される際には、先ず
CPU14により計数値のサンプリング周期がタイマ1
5に設定され、このタイマ15のインタラプトによって
割込処理が周期的に行われるようになる。次に、CPU
14の出力ポートP0をローレベルにすると、出力ポート
P0の出力がラッチ8、9、10の入力ポートOEにそれぞ
れ入力され、ラッチ8、9、10の出力が許可されて、
計数値の下位バイトA、中位バイトB、上位バイトC
が、メモリ11、12、13のデータ・バスにそれぞれ
接続される。同時に、出力ポートP0の出力がインバータ
18によって反転されてバッファ5、6、7の入力ポー
トOE2にそれぞれ入力され、バッファ5、6、7がハイ
インピーダンスになって、ラッチ8、9、10の出力は
CPU14のデータ・バス16と絶縁される。
【0013】次に、CPU14の出力ポートP1、P2、P3
をローレベルにすると、CPU14のアドレス・バス1
7がハイレベルのときは、アドレス・バス17の出力は
インバータ22によって反転されてORゲート19、2
0、21に入力され、これらの出力がローレベルにな
る。ORゲート19の出力はバッファ5の入力ポートOE
1 とメモリ11の入力ポートCSに入力され、ORゲート
20の出力はバッファ6の入力ポートOE1 とメモリ12
の入力ポートCSに入力され、ORゲート21の出力はバ
ッファ7の入力ポートOE1 とメモリ13の入力ポートCS
に入力される。このとき、バッファ5、6、7はハイイ
ンピーダンスになってCPU14と絶縁されているた
め、ORゲート19、20、21の出力はメモリ11、
12、13側にそれぞれ選択される。この状態でCPU
14の出力ポートWRからWR信号が出力され、メモリ1
1、12、13の入力ポートWRにそれぞれ入力される
と、CPU14から指定されたアドレスに応じてラッチ
8、9、10にそれぞれラッチされた下位バイトAがメ
モリ11に格納され、中位バイトBがメモリ12に格納
され、上位バイトCがメモリ13に格納される。
【0014】ここで、カウンタ4のカウンタ値がラッチ
8、9、10にラッチされるタイミングについて考える
と、カウンタ値はエンコーダ3からパルスが入力されて
刻々と変化し、CPU14からWR信号が出力されている
間にも変化しており、このような場合にはメモリ11、
12、13に曖昧な計数値が格納されてしまうため、計
数値はラッチされる必要がある。
【0015】CPU14はカウンタ4のタスクを含めて
いろいろなタスクをしているため、できるだけ短い時間
で処理することが望ましく、ラッチされるタイミング
は、図3に示すように計数値がラッチされてから書き込
むのであるが、ラッチ信号が出力してからWR信号が出力
されるのでは2ステップが必要とされるため、ラッチ信
号とWR信号が兼用されることで1ステップで格納される
ようにする。
【0016】ラッチ8、9、10には74HC574が
使用されているため、ラッチ信号は入力ポートCKに立上
りエッジとなる。そこで、CPU14のWR信号がインバ
ータ23で反転され、その反転WR信号がラッチ8、9、
10の入力ポートCKに入力されると、カウンタ4の計数
値はWR信号の立下りのタイミングでラッチ8、9、10
にラッチされ、WR信号の立上りのタイミングでメモリ1
1、12、13に格納される。このように、カウンタ4
の24ビットの全てのデータは、一度に高速にメモリ1
1、12、13に格納される。
【0017】一方、CPU14のアドレス指定について
考えると、メモリ11、12、13には62256のR
AMが使用されているため、アドレス空間はA0〜A14 の
15ビットとなり、32768バイトのデータが格納さ
れることになる。アドレス・バス17の出力はインバー
タ22を通してORゲート19、20、21に入力され
て、バッファ5、6、7やメモリ11、12、13のチ
ップセレクトに使用されるため、メモリ11、12、1
3にカウンタ値を取り込む際には、アドレス・バス17
のA15 が1に設定されなければならない。従って、80
00H〜FFFFHまでをアドレスに使用することによ
り、メモリ11、12、13のアドレス空間0000H
〜7FFFHまでに対応している。この理由としては、
CPU14がメモリ11、12、13以外のI/OやI
C等に、アドレス000H〜7FFFHが割り付けられ
るようにするためである。
【0018】また、メモリ11、12、13からCPU
14にデータを読み込む際には、CPU14が8ビット
のデータ・バス16であるため24ビット分を一度に読
み込むことができず、下位バイトA、中位バイトB、上
位バイトCの順に8ビットずつ読み込む。先ず、CPU
14の出力ポートP0をハイレベルにすると、ラッチ8、
9、10のそれぞれの入力ポートOEがハイレベルになっ
てカウンタ4の出力がメモリ11、12、13と絶縁さ
れる。同時に、インバータ18によってバッファ5、
6、7の入力ポートOE2 がローレベルになる。
【0019】このとき、バッファ5、6、7の入力ポー
トOE1 がローレベルになると、バッファ5、6、7の出
力はCPU14のデータ・バス16と接続される。即
ち、CPU14の出力ポートP1をローレベルにし、出力
ポートP2、P3をハイレベルにすると、アドレス・バス1
7のA15 が1のときにはインバータ22によってORゲ
ート19の出力はローレベルになり、ORゲート20、
21の出力はハイレベルになる。
【0020】ORゲート19はバッファ5の入力ポート
OE1 とメモリ11の入力ポートCSに接続されているた
め、ここではローレベル状態になってCPU14がメモ
リ11に対してアクセスできる状態になる。一方、OR
ゲート20はバッファ6の入力ポートOE1 とメモリ12
の入力ポートCSに接続され、ORゲート21はバッファ
7の入力ポートOE1 とメモリ13の入力ポートCSに接続
されているため、ここではハイレベル状態になって、C
PU14はメモリ12、13に対してアクセスできない
状態になる。この状態でCPU14が読み出し状態に入
ると、メモリ11の下位バイトAのみが読み込まれる。
【0021】次に、出力ポートP1,P3をハイレベルに
し、出力ポートP2をローレベルにして、同じアドレスで
CPU14が読み出し状態になると、メモリ12の中位
バイトBのみが下位バイトAと同じ動作で読み込まれ
る。最後に、出力ポートP1、P2をハイレベルにし、出力
ポートP3をローレベルにして、同じアドレスでCPU1
4が読み出し状態になると、メモリ13の上位バイトC
のみが同様に読み込まれる。これらの3つの下位バイト
A、中位バイトB、上位バイトCが合わせられて、24
ビットのカウンタ値が得られる。
【0022】なお、CPU14にメモリ11、12、1
3のデータを読み込む順番は、下位バイトからというこ
とはなく、データを合成する際の都合で決めておけばよ
い。また、これらのデータを必要な回数だけアドレスを
変えながら、CPU14に読み込み、その後にコンピュ
ータ2に転送することにより、エンコーダ3の出力軌跡
が分かり、解析が容易に行えるようになる。
【0023】更に、上述したCPU14の動作は、図4
に示すようなフローチャート図で表示することができ
る。先ず、ステップ101でカウンタ値のサンプリング
周期をタイマ15に設定する。このサンプリング周期は
コンピュータ2から取り込むようにしても、CPU14
の図示しないポートからスイッチ入力してもよい。次
に、ステップ102でカウンタ値をメモリ11、12、
13に格納するための初期アドレスである8000Hを
設定し、出力ポートP0、P1、P2、P3をローレベルにす
る。ステップ103でサンプリングスタート信号を待ち
ながら、コンピュータ2からのサンプリングスタート信
号を確認する。このサンプリングスタート信号もCPU
14の図示しないポートからスイッチ入力してもよい。
【0024】ステップ104でサンプリングスタート信
号が入力された後にタイマ15をスタートさせる。コン
ピュータ2からのサンプリングストップ信号を待ちなが
ら、ステップ105でタイマ15のインタラプトによる
割り込み処理を行う。ステップ106でサンプリングス
トップ信号が入力された後にタイマ15をストップさせ
る。このサンプリングストップ信号もCPU14の図示
しないポートからスイッチ入力してもよい。最後に、ス
テップ107でメモリ11、12、13に取り込んだカ
ウンタ値をコンピュータ2に転送する。
【0025】また、ステップ111の割り込み処理の際
には、ステップ112でインタラプトによってCPU1
4はカウンタ値を格納するメモリアドレスを設定する。
次に、ステップ113でメモリ11、12、13に書き
込む。最後に、ステップ114で次のカウンタ値を格納
するための準備として、メモリアドレスを+1する。
【0026】なお上述した実施例において、ラッチ8、
9、10にラッチ信号の立上りエッジのものを使用した
が、立下りエッジのものを使用すればインバータ23が
不要になる。また、メモリ11、12、13のアドレス
空間を0000H〜7FFFHにすればインバータ22
も不要になる。更に、使用するメモリ11、12、13
を代えることにより、これらのアドレス空間や、CPU
14からORゲート19、20、21に入力されるアド
レス・バス17のビット数を変えることができ、使用す
るCPU14やカウンタ4によって構成されるメモリ1
1、12、13やゲート18〜23の数を変えることが
できる。
【0027】
【発明の効果】以上説明したように本発明に係るカウン
タ装置は、計数部の出力を記憶部のデータ・バスの全て
に対応させたため、計数部のデータを記憶部に一度に高
速に格納できる。また、制御部は計数部のデータを記憶
部に周期的に取り込むので、サンプリング周期が極めて
早くなる。
【図面の簡単な説明】
【図1】概念図である。
【図2】ブロック回路構成図である。
【図3】ラッチのタイミングの説明図である。
【図4】フローチャート図である。
【符号の説明】
1 カウンタ装置 2 コンピュータ 3 エンコーダ 4 カウンタ 5、6、7 バッファ 8、9、10 ラッチ 11、12、13 メモリ、 14 CPU 15 タイマ 16 データ・バス 17 アドレス・バス 18、22、23 インバータ 19、20、21 ORゲート

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 信号を計数する計数部と、該計数部を制
    御する制御部と、該制御部と同じデータ・バスを持つ記
    憶部とを、前記計数部のデータ長と少なくとも同じデー
    タ長を有するように並列に結線したことを特徴とするカ
    ウンタ装置。
JP35961192A 1992-12-24 1992-12-24 カウンタ装置 Pending JPH06197008A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35961192A JPH06197008A (ja) 1992-12-24 1992-12-24 カウンタ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35961192A JPH06197008A (ja) 1992-12-24 1992-12-24 カウンタ装置

Publications (1)

Publication Number Publication Date
JPH06197008A true JPH06197008A (ja) 1994-07-15

Family

ID=18465383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35961192A Pending JPH06197008A (ja) 1992-12-24 1992-12-24 カウンタ装置

Country Status (1)

Country Link
JP (1) JPH06197008A (ja)

Similar Documents

Publication Publication Date Title
US5608881A (en) Microcomputer system for accessing hierarchical buses
US4499536A (en) Signal transfer timing control using stored data relating to operating speeds of memory and processor
US4967398A (en) Read/write random access memory with data prefetch
EP0518488A1 (en) Bus interface and processing system
US4047245A (en) Indirect memory addressing
EP0057096B1 (en) Information processing unit
US4737908A (en) Buffer memory control system
JPH06197008A (ja) カウンタ装置
EP0108647A2 (en) Data processing apparatus
JPH0227696B2 (ja) Johoshorisochi
JPH0154735B2 (ja)
JPH0736806A (ja) Dma方式
JPH0833869B2 (ja) データ処理装置
KR0152296B1 (ko) 데이터 전송장치와 그것을 사용한 프로세서 엘리먼트
SU991427A1 (ru) Устройство дл адресации пам ти микро-ЭВМ
JPS6244838A (ja) 命令取出装置
JPS59114657A (ja) マイクロコンピユ−タのメモリ用インタ−フエイス回路
JPS61161560A (ja) メモリ装置
JPH0668055A (ja) ディジタル信号処理装置
JPH01169645A (ja) メモリ装置
JPH06195295A (ja) 出力ポート回路
JPS6156820B2 (ja)
JPH05314059A (ja) メモリアクセス制御回路
EP0375339A2 (en) Image processing apparatus and a system using the same
Škarda Microprocessor-and LSI-based CAMAC RAM controllers in a modular multiparameter instrumentation system