JP2005182312A - Device control circuit - Google Patents
Device control circuit Download PDFInfo
- Publication number
- JP2005182312A JP2005182312A JP2003420054A JP2003420054A JP2005182312A JP 2005182312 A JP2005182312 A JP 2005182312A JP 2003420054 A JP2003420054 A JP 2003420054A JP 2003420054 A JP2003420054 A JP 2003420054A JP 2005182312 A JP2005182312 A JP 2005182312A
- Authority
- JP
- Japan
- Prior art keywords
- control
- data
- cpu
- address
- device control
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、CPUから受けた制御データに基づいてデバイスを制御し、デバイスからの状態データをCPUへ出力するデバイス制御回路に関する。 The present invention relates to a device control circuit that controls a device based on control data received from a CPU and outputs status data from the device to the CPU.
従来のこの種のデバイス制御装置の例を図6に示す(文献公知発明に係るものではない)。このデバイス制御装置は、CPU10とn個のデバイス制御回路31〜3nとで構成されており、CPU10とn個のデバイス制御回路31〜3nは、データバスDBU,アドレスバスABU,ライトイネーブル信号WEおよびリードイネーブル信号REでマルチ接続されている。
An example of a conventional device control apparatus of this type is shown in FIG. 6 (not related to the literature known invention). This device control apparatus comprises a
CPU10はデバイス制御回路31〜3nを指定するためのアドレスを制御データと共に順次に送出することにより、デバイス制御回路31〜3nをポーリングする。デバイス制御回路31〜3nは、CPUから受けた制御データに基づいて、配下の光アンプ等ノン・インテリゼンスなデバイス(図示省略)を制御する。また、デバイスからデバイスの状態を示す状態データを受け取るとCPU10に読み出される。なお、デバイス制御回路31〜3nの一般的な記述をするときは、以下、参照番号30を使用する。
The
データバスDBUは、CPU10が制御データをデバイス制御回路30に書き込み、またはデバイス制御回路30から状態データを読み出すために使用される。アドレスバスABUは、CPU10がアクセスするデバイス制御回路30を選択するために使用される。ライトイネーブル信号WEはデバイス制御回路30への制御データの書込みを行うタイミング、リードイネーブル信号REはデバイス制御回路30からの状態データの読出しを行うタイミングである。
The data bus DBU is used by the
図7は、図6に示したデバイス制御回路31,32,33への制御データの書込み制御タイミングを示す。デバイス制御回路31,32,33は、アドレスバスABUを常時モニタし、自回路を示すアドレス値を検出すると、ライトイネーブル信号WEの立下り変化点でデータバスDBU上の制御データ31,32,33を取り込む。そして、デバイス制御回路31,32,33は、制御データ31,32,33により配下のデバイスの制御を行う。
FIG. 7 shows the write control timing of control data to the
図8は、図6に示したデバイス制御回路31,32,33からの状態データの読出し制御タイミングを示す。デバイス制御回路31,32,33は、アドレスバスABUを常時モニタし、自回路を示すアドレス値を検出すると、リードイネーブル信号REがLOWレベルの間、データバスDBUに出力データ31,32,33をデータバスDBUへ出力する。CPU10は、データバスDBU上のデータを状態データとして取り込み、デバイス制御回路31,32,33の状態を検知することが可能となる。
FIG. 8 shows the timing for reading the status data from the
図9および図10は、図6に示したデバイス制御回路30に書込み制御と読出し制御を連続で行った場合のタイミングを示す。 FIG. 9 and FIG. 10 show timings when write control and read control are continuously performed on the device control circuit 30 shown in FIG.
図9は、制御データ31に基づくデバイスにおけるデータ処理が速く、WAIT無しで次の制御可能な場合を示している。この場合は、デバイス制御回路31に対する制御データ31による制御が完了した次のサイクルで状態データ31が読み出せるため、デバイス制御回路32に対する制御データ32による制御に直ちに移ることができることを示している。
FIG. 9 shows a case where data processing in the device based on the
図10は、制御データ31に基づくデバイスにおけるデータ処理が遅く、次の制御にはWAITが必要な場合を示している。この場合は、デバイス制御回路31に対する制御データ31による制御が完了するまで状態データ31の読出しを待つ必要があるため、それまではデバイス制御回路32に対する制御データ32よる制御が停止していることを示している。
FIG. 10 shows a case where data processing in the device based on the
なお、本願発明に関連すると思えるものとして、2つのマイクロプロセッサの間に接続され相互のDMA転送によるデータの受渡しを行うFIFOメモリと、一方のマイクロプロセッサがFIFOメモリにデータを書き込むとカウントアップし、他方のマイクロプロセッサがFIFOメモリからデータを読み出すとカウントダウンするアップダウンカウンタを備えたものが知られている(例えば、特許文献1参照)。 As to what seems to be related to the present invention, a FIFO memory connected between two microprocessors for transferring data by mutual DMA transfer, and counting up when one microprocessor writes data to the FIFO memory, One having an up / down counter that counts down when the other microprocessor reads data from the FIFO memory is known (see, for example, Patent Document 1).
また、FIFOメモリとアップダウンカウンタを備え、書込みクロックと読出しクロックの周波数のどちらが高いかが既値でない場合に、非同期読出し書込み可能なFIFOメモリ制御回路に関する技術も公知である(例えば、特許文献2参照)
上述した従来技術では、CPU側はあるデバイス制御回路に制御データを書き込んだ後、デバイス制御回路側が制御を完了した結果を受け取るまで、次のデバイス制御回路に対する制御の実行を待つ処理(WAIT処理)を行う必要があるため、CPU側の制御速度がデバイス制御回路側の処理速度よりも高速な場合、多数のデバイス制御回路をポーリングで制御を行う際には、多くのデバイス制御回路の内の一つが低速であるだけで全てのデバイス制御回路に対する制御が遅くなってしまうという第1の問題点がある。 In the above-described conventional technology, the CPU side writes control data to a certain device control circuit, and then waits for execution of control for the next device control circuit until the device control circuit side receives a result of completion of control (WAIT processing) Therefore, when the control speed on the CPU side is faster than the processing speed on the device control circuit side, when controlling many device control circuits by polling, one of many device control circuits is required. There is a first problem that the control of all the device control circuits is slow only by the low speed of the device.
また、 第1の問題点を解決するためにCPUの処理にWAITを入れると、デバイス制御回路側の改善によりWAITが不要となってもソフトウェアを更新しない限り高速化できないという第2の問題点がある。一般にCPUのWAITはプログラムによって制御されるからである。 In addition, if WAIT is added to the CPU process to solve the first problem, the second problem is that even if WAIT is not required due to improvements on the device control circuit side, the speed cannot be increased unless software is updated. is there. This is because CPU WAIT is generally controlled by a program.
本発明の主な目的は、デバイス制御回路の制御時におけるCPUのWAITを無くするか、または減少させることによりデバイス制御処理の高速化を図ることにある。 A main object of the present invention is to speed up device control processing by eliminating or reducing CPU WAIT during control of a device control circuit.
なお、特許文献1記載の発明は、DMA転送においてデータバス上のデータ転送衝突による待合せを無くすることを目的とし、特許文献2記載の発明は、書込みクロックと読出しクロックの周波数が異なる場合に、データの上書きによるデータの消失た同一データの2度読みを防止することを目的とする。
The invention described in
請求項1記載の発明は、CPU(図1の10)からのポーリングにより受けた制御データに基づいて配下のデバイス(図2の8)を制御する各デバイス制御回路(図1の21〜2N)において、CPUからのライトイネーブル信号WEに基づいて、同一デバイスのアドレス対応に制御データおよびデバイスの当該アドレスを書き込んで保持し、デバイスからのデータ要求信号により保持データをデバイスへ読み出すFIFOメモリ(図2の5,6)と、FIFOメモリへの書込みによりカウントアップし、またデバイスからのデータ要求信号によりカウントダウンし、そのカウント値を応答信号としてCPUへ出力するアップダウンカウンタ(図2の7)を備え、応答信号ACKが書込み制御停止を通知する内容である場合、当該書込みサイクルではライトイネーブル信号WEのCPUからの出力が停止されることを特徴とするデバイス制御回路である。 According to the first aspect of the present invention, each device control circuit (21 to 2N in FIG. 1) controls the subordinate device (8 in FIG. 2) based on control data received by polling from the CPU (10 in FIG. 1). In the FIFO memory (FIG. 2), the control data and the corresponding address of the device are written and held corresponding to the address of the same device based on the write enable signal WE from the CPU, and the held data is read to the device by the data request signal from the device. 5) and 6), and an up / down counter (7 in FIG. 2) that counts up by writing to the FIFO memory, counts down by a data request signal from the device, and outputs the count value to the CPU as a response signal. If the response signal ACK is the content that informs the write control stop, the write enable signal WE from the CPU in the write cycle concerned. A device control circuit, wherein the output is stopped.
請求項2記載の発明は、請求項1記載の発明において、ライトイネーブル信号のCPUからの出力が停止されるときのカウント値は、FIFOメモリの深度数であることを特徴とするデバイス制御回路である。
The invention according to
本発明による制御回路は、CPUとデバイス制御回路の間に、データバス、アドレスバス、ライトイネーブル信号、リードイネーブル信号に加えて、デバイス制御回路からCPUに対して、応答信号ACKが出力されていることと、デバイス制御回路側において、CPUからのデータとアドレスを保持するFIFOメモリと、FIFOメモリの使用状況を監視し、応答信号ACKを出力するアップダウンカウンタから構成されている。この回路の働きによりCPUのWAITを減少させる効果が得られる。 In the control circuit according to the present invention, a response signal ACK is output from the device control circuit to the CPU in addition to the data bus, address bus, write enable signal, and read enable signal between the CPU and the device control circuit. In addition, the device control circuit side includes a FIFO memory that holds data and addresses from the CPU, and an up / down counter that monitors the use status of the FIFO memory and outputs a response signal ACK. The effect of reducing the CPU WAIT is obtained by the function of this circuit.
以上説明したような構成を採用したことによって、デバイス制御回路に対する制御の際のCPUのWAITを無くすか、または減らすことが可能になり、ポーリング制御の際の速度向上が可能になる。 By adopting the configuration as described above, it becomes possible to eliminate or reduce the WAIT of the CPU when controlling the device control circuit, and to increase the speed during the polling control.
また、CPU側はデバイス制御回路からの応答信号ACKの状態のみで制御の際のWAITがコントロールできるため、ハードウェアの動作速度が変化することに伴うソフトウェアの調整を省略することが可能になる。 Further, since the CPU side can control the WAIT during the control only by the state of the response signal ACK from the device control circuit, it is possible to omit the software adjustment accompanying the change in the hardware operation speed.
本発明は、CPUからのポーリングにより受けた制御データに基づいて配下のデバイスを制御する各デバイス制御回路において、CPUからのライトイネーブル信号WEに基づいて、同一デバイスのアドレス対応に制御データおよびデバイスの当該アドレスを書き込んで保持し、デバイスからのデータ要求信号により保持データをデバイスへ読み出すFIFOメモリと、FIFOメモリへの書込みによりカウントアップし、またデバイスからのデータ要求信号によりカウントダウンし、そのカウント値を応答信号としてCPUへ出力するアップダウンカウンタを備え、応答信号ACKが書込み制御停止を通知する内容である場合、当該書込みサイクルではライトイネーブル信号WEのCPUからの出力が停止されることを特徴とする。 The present invention provides each device control circuit that controls a subordinate device based on control data received by polling from the CPU, and controls the control data and the device's address corresponding to the address of the same device based on the write enable signal WE from the CPU. Write and hold the address, FIFO memory that reads the retained data to the device by the data request signal from the device, and counts up by writing to the FIFO memory, counts down by the data request signal from the device, and counts the count value An up / down counter that outputs to the CPU as a response signal is provided, and when the response signal ACK is a content to notify the stop of the write control, the output of the write enable signal WE from the CPU is stopped in the write cycle. .
本発明の上記目的、特徴および利点を明確にすべく、以下、添付した図面を参照しながら、本発明の実施例につき詳細に説明する。図1は本発明のデバイス制御装置の構成例を示す。 In order to clarify the above objects, features and advantages of the present invention, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. FIG. 1 shows a configuration example of a device control apparatus of the present invention.
このデバイス制御装置は、CPU10とn個のデバイス制御回路21〜2nとで構成されており、CPU10とn個のデバイス制御回路21〜2Nは、データバスDBU,アドレスバスABU,ライトイネーブル信号WEおよびリードイネーブル信号REでマルチ接続されている。また、デバイス制御回路21〜2NからCPU10に対して、個別に応答信号ACK1〜ACKNが出力されている。
This device control apparatus comprises a
CPU10は、デバイス制御回路21〜2Nを指定するためのアドレスを制御データと共に順次に送出することにより、デバイス制御回路21〜2Nをポーリングする。デバイス制御回路21〜2Nは、CPU10から受けた制御データに基づいて、配下の光アンプ等ノン・インテリゼンスなデバイスを制御する。また、デバイスからの状態データを受け取るとCPU10に読み出される。
The
応答信号ACK1〜ACKNは制御データがデバイス制御回路21〜2Nに書込み可能であることをCPU10に通知するものである。CPU10は、応答信号ACK1〜ACKNが書込み制御停止を通知する内容である場合、当該書込みサイクルではライトイネーブル信号WEの出力を抑止する。なお、デバイス制御回路21〜2Nの一般的な記述をするときは、以下、参照番号20を使用する。
The response signals ACK1 to ACKN notify the
データバスDBUは、CPU10が制御データをデバイス制御回路20に書き込み、またはデバイス制御回路20から状態データを読み出すために使用される。アドレスバスABUは、CPU10がアクセスするデバイス制御回路20を選択するために使用される。ライトイネーブル信号WEはデバイス制御回路20への制御データの書込みを行うタイミング、リードイネーブル信号REはデバイス制御回路20からの状態データの読出しを行うタイミングである。応答信号ACKはデバイス制御側回路20においてCPU10から書き込まれた制御データの処理が完了したか否かをCPU10に通知するために使用される。
The data bus DBU is used for the
図2は、デバイス制御回路20の一実施例の詳細をデバイスである制御対象回路8と共に示す。このデバイス制御回路20は、双方向バッファ1,アドレスデコーダ2,オアゲート3,オアゲート4,データ保持FIFOメモリ5,アドレス保持FIFOメモリ6およびアップダウンカウンタ7から構成されている。オアゲート3とオアゲート4は実質的にはアンドゲートとして機能する。
FIG. 2 shows details of an embodiment of the
双方向バッファ1は、CPU10からデータバスDBUを経由した制御データをデータ保持FIFOメモリ5に書き込み、また制御対象回路8からの出力データを状態データとしてデータバスDBU経由でCPU10へ送出する。データの書込みと読出しの方向の切替えは、オアゲート4からのリードイネーブル信号RENによって行われる。
The
アドレスデコーダ2は、アドレスバスABU上のアドレスを解読し、アドレス値が自回路を示しているか否かを識別する。オア回路3は、アドレスデコーダ2の出力が自回路を示しており、かつデータの書込みタイミングを規定するライトイネーブル信号WEが有効であるときはライトイネーブル信号WENをデータ保持FIFOメモリ5,アドレス保持FIFOメモリ6およびアップダウンカウンタ7へ出力する。つまり、ライトイネーブル信号WEはCPU10がデバイス制御回路20の書込み制御を行うための信号であるのに対して、ライトイネーブル信号WENはアドレスデコーダ2の出力とライトイネーブル信号WEから生成され、デバイス制御回路20回路内の書込み制御を行うための信号である。
The
また、オア回路4は、アドレスデコーダ2の出力が自回路を示しており、かつデータの読出しタイミングを規定するリードイネーブル信号REが有効であるときはリードイネーブル信号RENを双方向バッファ1および制御対象回路8へ出力する。つまり、リードイネーブル信号REはCPU10がデバイス制御回路20の読出し制御を行うための信号であるのに対して、リードイネーブル信号RENはアドレスデコーダ2の出力とリードイネーブル信号REから生成され、デバイス制御回路20の回路内の読出し制御を行うための信号である。
The OR circuit 4 indicates the read enable signal REN as the
データ保持FIFOメモリ5は、双方向バッファ1からの制御データを一時保持するm段の深さを持つFIFO(First In First Out:先入れ先出し)メモリである。データ保持FIFOメモリ5は、ライトイネーブル信号WENに応答して制御データを書き込み、制御対象回路8からのデータ要求信号に応答して制御データを制御対象回路8へ読み出す。
The data holding FIFO memory 5 is a FIFO (First In First Out) memory having a depth of m stages for temporarily holding control data from the
アドレス保持FIFOメモリ6は、制御データと同期したアドレス(制御アドレス)を一時保持するデータ保持FIFOメモリ5と同じ深さを持つFIFOである。アドレス保持FIFOメモリ6は、ライトイネーブル信号WENに応答して、アドレスバスABU上のアドレスを書き込み、制御対象回路8からのデータ要求信号に応答して制御アドレスを制御対象回路8へ読み出す。制御アドレスは制御対象回路8の内で制御データによる制御の対象となる箇所を指定するアドレスである。
The address holding
アップダウンカウンタ7は、ライトイネーブル信号WENに応答してカウントアップし、制御対象回路8からのデータ要求信号に応答してカウントダウンする。これによって、アップダウンカウンタ7は、データ保持FIFOメモリ5内に書き込まれている制御データの数を0からmまで計数し、その計数値を応答信号ACKとしてCPU10に通知する。
The up / down counter 7 counts up in response to the write enable signal WEN and counts down in response to the data request signal from the control target circuit 8. Accordingly, the up / down counter 7 counts the number of control data written in the data holding FIFO memory 5 from 0 to m, and notifies the
制御対象回路8は、データ保持FIFOメモリ5から読み出された制御データによる制御が完了する毎に、次の制御データをデバイス制御回路20に要求する。この要求は、データ要求信号をデータ保持FIFOメモリ5とアドレス保持FIFOメモリ6へ送出することにより行う。また、制御対象回路8は、リードイネーブル信号RENに応答して、そのときのアドレスバスABU上のアドレスにより指定されるアドレスの出力データを双方向バッファ1へ送出する。出力データは、制御データによる制御対象回路8における制御の結果としてのデータである。
The control target circuit 8 requests the
図3はデータ保持FIFOメモリ5への制御データおよび保持FIFOメモリ6へのアドレス書込み時のフローチャートである。なお、以下の説明では負論理を採用しており、信号の“0”は有効、“1”は無効を意味する。
FIG. 3 is a flowchart when writing control data to the data holding FIFO memory 5 and an address to the holding
アドレスデコーダ2が、アドレスバスABU上のアドレスは自回路のアドレスであることを検出し(図3のステップS1でY)、かつライトイネーブル信号WENが“0”であり(ステップS2)、かつアップダウンカウンタ7のカウント値が最大値mでなければ(ステップS3でN)、アップダウンカウンタ7は応答信号ACKは書込み制御停止を通知する内容ではない(ステップS4)。これにより、CPU10は、ライトイネーブル信号WEを出力するので、データ保持FIFOメモリ5への制御データの書込みとアドレス保持FIFOメモリ6へのアドレスの書込みを同期して行うことができる(ステップS5)。また、ライトイネーブル信号WENに応答してアップダウンカウンタ7のカウント値はプラス1する(ステップS6)。
The
ステップS1,S2またはS3における判定の結果が上述と異なる場合、すなわち、アドレスバスABU上のアドレスが自回路のアドレスでない場合(ステップS1でN)、またはライトイネーブル信号WENが“1”である場合(ステップS2)、またはアップダウンカウンタ7のカウント値が最大値mである場合(ステップS3でY)は、データ保持FIFOメモリ5への制御データの書込みとアドレス保持FIFOメモリ6へのアドレスの書込みは行われない。
When the result of determination in step S1, S2 or S3 is different from the above, that is, when the address on the address bus ABU is not the address of its own circuit (N in step S1), or when the write enable signal WEN is “1” (Step S2), or when the count value of the up / down counter 7 is the maximum value m (Y in Step S3), the writing of control data to the data holding FIFO memory 5 and the writing of the address to the address holding
これは、FIFOメモリ5,6への書込みはFIFOメモリ5,6の深さmビットまで実施されるため、FIFOメモリ5,6のm段全てがデータで埋まるとアップダウンカウンタ7の働きにより応答信号ACK“1”を出力となるので、CPU10側でこのデバイス制御回路20に対する制御を停止することを意味する。
This is because writing to the
しかし、特定のデバイス制御回路20においてFIFOメモリ5,6への書込みが行われなくても、図3のフローはステップS1に戻り、他のデバイス制御回路20について改めてステップS1〜ステップS3の条件を満たすかが調べられる。その結果、これらの条件をクリアできれば、ステップS5においてFIFOメモリ5,6への書込みが行われ、かつステップS6においてアップダウンカウンタ7のカウント値がプラス1される。このようにして、1つのデバイス制御回路20でFIFOメモリ5,6への書込み制御停止となっていても、そのために他のデバイス制御回路20においてまでも無条件にFIFOメモリ5,6への書込み制御停止となるものではない。
However, even if writing to the
図4はデータ保持FIFOメモリ5からの制御データ読出しおよびアドレス保持FIFOメモリ6からの制御アドレス読出し時のフローチャートである。
FIG. 4 is a flowchart for reading control data from the data holding FIFO memory 5 and reading a control address from the address holding
制御対象回路8からデータ要求信号が入力すると(図4のステップT1でY)、データ保持FIFOメモリ5からは制御データ、保持FIFOメモリ6からは制御アドレスがそれぞれ1段分だけ制御対象回路8に読み出される(ステップT2)。また、アップダウンカウンタ7のカウント値はマイナス1される(ステップT3)。
When a data request signal is input from the control target circuit 8 (Y in step T1 in FIG. 4), the control data from the data holding FIFO memory 5 and the control address from the holding
図5はデバイス制御回路20に対するCPU10からの書込み制御と読出し制御における動作タイミングを示す。ここでは、FIFOメモリの深さは3段、応答信号ACKはが2ビットであるとし、全てがデバイス制御回路20に対する制御であることとして説明する。したがって、WEとWENとは同じであることになる。当初はデータ保持FIFOメモリ5およびアドレス保持FIFOメモリ6が空であり、アップダウンカウンタ7のカウント値は“0”、応答信号ACKは“00”となっている。
FIG. 5 shows operation timings in writing control and reading control from the
CPU10からアドレスバスABUにアドレスA0、データバスDBUに制御データD00が送出されている状態で、タイミングt1においてライトイネーブル信号WE=WENが“0”になると、データ保持FIFOメモリ5に制御データD00、アドレス保持FIFOメモリ6にアドレスA0が書き込まれる。また、アップダウンカウンタ7のカウント値は“1”、応答信号ACKは“01”となる。
When the write enable signal WE = WEN becomes “0” at timing t1 while the address A0 is sent from the
タイミングt2でデータ要求信号が“0”になると、データ保持FIFOメモリ5から制御データD00、アドレス保持FIFOメモリ6からアドレスA0が制御対象回路8へ読み出され、データ保持FIFOメモリ5およびアドレス保持FIFOメモリ6が空になる。また、カウントダウンカウンタ7のカウント値は“0”、応答信号ACKは“00”に復帰する。これは、制御対象回路8において、制御データD00によるアドレスA0が正常に行われたケースであることを物語っている。
When the data request signal becomes “0” at timing t2, the control data D00 from the data holding FIFO memory 5 and the address A0 from the address holding
次に、CPU10からアドレスバスABUにアドレスA1、データバスDBUに制御データD01が送出されている状態で、タイミングt3においてライトイネーブル信号WE=WENが“0”になると、データ保持FIFOメモリ5に制御データD01、アドレス保持FIFOメモリ6にアドレスA1が書き込まれる。また、アップダウンカウンタ7のカウント値は“1”、応答信号ACKは“01”となる。
Next, when the write enable signal WE = WEN becomes “0” at timing t3 while the address A1 is sent from the
この状態でデータ要求信号が“0”にならないうちに、アドレスバスABUではアドレスA2、データバスDBUでは制御データD10に切り替わり、タイミングt4においてライトイネーブル信号WE=WENが“0”になると、データ保持FIFOメモリ5に制御データD10、アドレス保持FIFOメモリ6にアドレスA2が書き込まれる。また、アップダウンカウンタ7のカウント値は“2”、応答信号ACKは“10”となる。これは、FIFOメモリ5,6に2つのデータが蓄積されたことを意味する。このように、FIFOメモリ5,6のの段数(この例では3)分はWAIT無しで連続して書込みを行うことができる。
Before the data request signal becomes “0” in this state, the address bus ABU switches to the address A2, and the data bus DBU switches to the control data D10. When the write enable signal WE = WEN becomes “0” at the timing t4, the data is held. The control data D10 is written in the FIFO memory 5 and the address A2 is written in the address holding
この状態でデータ要求信号が“0”にならないうちに、更に、アドレスバスABUではアドレスA0、データバスDBUでは制御データD10に切り替わり、タイミングt5においてライトイネーブル信号WE=WENが“0”になると、データ保持FIFOメモリ5に制御データD10、アドレス保持FIFOメモリ6にアドレスA0が書き込まれる。また、アップダウンカウンタ7のカウント値は“3”、応答信号ACKは“11”となる。このように、読出しが行われなくともFIFOメモリ5,6のの段数(この例では3)分はWAIT無しで連続して書込みを行うことができる。
Before the data request signal becomes “0” in this state, the address bus ABU switches to the address A0 and the data bus DBU switches to the control data D10. When the write enable signal WE = WEN becomes “0” at the timing t5, The control data D10 is written in the data holding FIFO memory 5 and the address A0 is written in the address holding
しかし、アップダウンカウンタ7のカウント値が“3”、応答信号ACKが“11”に達すると、FIFOメモリ5,6に3つのデータが蓄積されて満杯となったので、これ以降は、読出しが行われてなければ書込み制御は停止される。FIFOメモリ5,6に空きが生じるまでは、この回路に対する書き込み制御が停止される。
However, when the count value of the up / down counter 7 reaches “3” and the response signal ACK reaches “11”, three data are stored in the
タイミングt6に到って、データ要求信号が“0”になっているので、アップダウンカウンタ7のカウント値が“2”、応答信号ACKが“10”となって、FIFOメモリ5,6に1つの空きが生じている。このため、タイミングt7でライトイネーブル信号WE=WENが“0”になると、この時の制御データD00がデータ保持FIFOメモリ5に、また、この時のアドレスA3がアドレス保持FIFOメモリ6に書き込まれる。
Since the data request signal is “0” at
次に、書込み制御が禁止されている状態においてもCPU10がリードイネーブル信号REを“0”に設定すれば、制御対象回路8の状態を読み出すことができる。すなわち、図2において、CPU10がに設定することにより、リードイネーブル信号RENが“0”になると、オアゲート4から制御対象回路8へ出力制御信号が入力する。読み出すべきアドレスはアドレスバッファABU上のこの時のアドレスであり出力アドレスとして制御対象回路8へ供給される。これに応答して、制御対象回路8は状態データである出力データを双方向バッファ1へ出力する。この状態データはデータバッファDBU上に現れるので、CPU10が取り込むことができる。
Next, even when the write control is prohibited, if the
このように、状態データの読出しは、制御データの書込みとは無関係に行われるので、WAITは必要ない。この場合のタイミングチャートは、図8および図9に示した従来技術の場合と同様である。また、読出しの際に応答信号ACKの値を調べることで、読み出されるデータが制御完了済みのものか否かを知ることができる。図2のデバイス制御回路20では、応答信号ACKが“00”であれば、CPU10から行った制御は全て完了していることになる。
As described above, since the reading of the state data is performed regardless of the writing of the control data, WAIT is not necessary. The timing chart in this case is the same as that in the case of the prior art shown in FIGS. Further, by checking the value of the response signal ACK at the time of reading, it is possible to know whether or not the data to be read has already been controlled. In the
なお、本発明が上記各実施例に限定されず、本発明の技術思想の範囲内において、各実施例は適宜変更され得ることは明らかである。 It should be noted that the present invention is not limited to the above-described embodiments, and it is obvious that the embodiments can be appropriately changed within the scope of the technical idea of the present invention.
1 双方向バッファ
2 アドレスデコーダ
3 オアゲート
4 オアゲート
5 データ保持FIFOメモリ
6 アドレス保持FIFOメモリ
7 アップダウンカウンタ
8 制御対象回路
10 CPU
21〜2N デバイス制御回路
ABU アドレスバス
ACK 応答信号
DBU データバス
RE リードイネーブル信号
REN リードイネーブル信号
WE ライトイネーブル信号
WEN ライトイネーブル信号
1
10 CPU
21 to 2N device control circuit
ABU address bus
ACK response signal
DBU data bus
RE Read enable signal
REN Read enable signal
WE Write enable signal
WEN Write enable signal
Claims (2)
CPUからのライトイネーブル信号に基づいて、同一デバイスのアドレス対応に前記制御データおよび前記デバイスの当該アドレスを書き込んで保持し、前記デバイスからのデータ要求信号により保持データをデバイスへ読み出すFIFOメモリと、
前記FIFOメモリへの書込みによりカウントアップし、また前記デバイスからのデータ要求信号によりカウントダウンし、そのカウント値を応答信号としてCPUへ出力するアップダウンカウンタを備え、
前記応答信号が書込み制御停止を通知する内容である場合、当該書込みサイクルでは前記ライトイネーブル信号のCPUからの出力が停止されることを特徴とするデバイス制御回路。 In each device control circuit that controls subordinate devices based on the control data received by polling from the CPU,
Based on a write enable signal from the CPU, a FIFO memory that writes and holds the control data and the address of the device corresponding to the address of the same device, and reads the held data to the device by a data request signal from the device;
Counting up by writing to the FIFO memory, counting down by a data request signal from the device, and having an up / down counter that outputs the count value to the CPU as a response signal,
The device control circuit according to claim 1, wherein when the response signal has a content for notifying the stop of the write control, the output of the write enable signal from the CPU is stopped in the write cycle.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003420054A JP2005182312A (en) | 2003-12-17 | 2003-12-17 | Device control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003420054A JP2005182312A (en) | 2003-12-17 | 2003-12-17 | Device control circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005182312A true JP2005182312A (en) | 2005-07-07 |
Family
ID=34781741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003420054A Pending JP2005182312A (en) | 2003-12-17 | 2003-12-17 | Device control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005182312A (en) |
-
2003
- 2003-12-17 JP JP2003420054A patent/JP2005182312A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7502896B2 (en) | System and method for maintaining the integrity of data transfers in shared memory configurations | |
JP4998519B2 (en) | Asynchronous interface circuit and asynchronous data transfer method | |
JP2004171209A (en) | Shared memory data transfer device | |
US6754786B2 (en) | Memory control circuit and method for arbitrating memory bus | |
JP4903801B2 (en) | Subscriber interface connecting FlexRay communication module and FlexRay subscriber device, and method of transmitting message via subscriber interface connecting FlexRay communication module and FlexRay subscriber device | |
JP6602579B2 (en) | Semiconductor device and system | |
JP2007525766A (en) | Collision detection in multiport memory systems | |
US20120047299A1 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
JP2006113689A (en) | Bus bridge device and data transfer method | |
US6782433B2 (en) | Data transfer apparatus | |
JP3444154B2 (en) | Memory access control circuit | |
US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
JP6142783B2 (en) | Memory controller, information processing apparatus, and memory controller control method | |
KR100606163B1 (en) | Direct memory access device, system and method for transmitting and receiving data through direct memory access device | |
JP2005182312A (en) | Device control circuit | |
JP4696003B2 (en) | Data transfer circuit | |
JP4633334B2 (en) | Information processing apparatus and memory access arbitration method | |
JPH03147157A (en) | Information processor | |
JP4592944B2 (en) | CPU interface circuit | |
JP4071225B2 (en) | Transfer circuit | |
JP2005250683A (en) | Microcomputer | |
JP2010244408A (en) | Memory controller and memory interface method | |
JP2003323335A (en) | Memory device and its control method | |
JP3201439B2 (en) | Direct memory access control circuit | |
JP2007011884A (en) | Data transfer unit |