JP6112412B2 - I / O control circuit and synchronization control method in I / O control circuit - Google Patents
I / O control circuit and synchronization control method in I / O control circuit Download PDFInfo
- Publication number
- JP6112412B2 JP6112412B2 JP2013145144A JP2013145144A JP6112412B2 JP 6112412 B2 JP6112412 B2 JP 6112412B2 JP 2013145144 A JP2013145144 A JP 2013145144A JP 2013145144 A JP2013145144 A JP 2013145144A JP 6112412 B2 JP6112412 B2 JP 6112412B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- control
- register
- cpu
- expansion device
- 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.)
- Active
Links
Images
Description
本発明は、入出力制御回路及び入出力制御回路における同期制御方法に関し、特に、バスの同一チャンネル上に複数のIO拡張デバイスが接続された入出力制御回路及び当該入出力制御回路における複数のIO拡張デバイスの同期制御方法に関する。 The present invention relates to an input / output control circuit and a synchronization control method in the input / output control circuit, and more particularly to an input / output control circuit in which a plurality of IO expansion devices are connected on the same channel of a bus and a plurality of IOs in the input / output control circuit. The present invention relates to an expansion device synchronization control method.
CPU(Central Processing Unit)で制御できるIO信号(GPIO:General Purpose Input/Output)数は限られており、必要な信号の全てをCPUのGPIOで制御することが困難な場合がある。そのような場合に用いられるものとしてIO拡張デバイスがある。IO拡張デバイスは、CPUのある特定のインタフェースに接続され、インタフェースを経由したIO拡張デバイスへのアクセス(レジスタ制御)によって、その入出力が制御される。 The number of IO signals (GPIO: General Purpose Input / Output) that can be controlled by a CPU (Central Processing Unit) is limited, and it may be difficult to control all necessary signals with the GPIO of the CPU. An IO expansion device is used in such a case. The IO expansion device is connected to a specific interface of the CPU, and its input / output is controlled by access (register control) to the IO expansion device via the interface.
このようなIO拡張デバイスはインタフェースの1つのチャンネルに対して1個接続されるのが一般的である。しかしながら、仮にIO拡張デバイスで制御すべき信号が増えた場合、IO拡張デバイスを回路容量又はIO数の多いデバイスに変更しなければならず、大きなコストアップを招く。そこで、IO拡張デバイスを変更せずに、制御できる信号を増やすための様々な方法が提案されている。 In general, one IO expansion device is connected to one channel of the interface. However, if the number of signals to be controlled by the IO expansion device increases, the IO expansion device must be changed to a device with a large circuit capacity or a large number of IOs, resulting in a large cost increase. Therefore, various methods have been proposed for increasing the number of signals that can be controlled without changing the IO expansion device.
例えば、下記特許文献1には、入出力方向の制御可能な入出力共有手段と、前記入出力共有手段を入力点とするか出力点とするかを設定する設定手段と、前記入出力共有手段が入力点として機能する場合に入力データを内部処理手段に転送し、前記入出力共有手段が出力点として機能する場合に内部処理手段からの出力データを前記入出力共有手段に転送する転送手段と、を有するデータ入出力制御方式が開示されている。この公報では、各IOポートをSWで択一的に割り付け可能とし、任意の同期入出力装置の任意の信号を入力または出力として自由に組み合わせできるようにしている。
For example, the following
また、下記特許文献2には、入出力と割込み制御を行う制御部を備えたI/Oデバイスに関し、前記I/Oデバイスは第1のバスを備え、前記制御部は、前記第1のバスのコマンド線を用いてコマンドを受け付けて応答を返すコマンド制御部と、前記第1のバスのデータ線を用いてデータの送受信を行うデータ制御部と、前記第1のバスのデータ線を用いて割り込みをホストコントローラへ伝送する割り込み制御部を備え、前記I/Oデバイスは1以上の第2のバスと、前記I/Oデバイスと前記ホストコントローラとの通信のためのデバイス番号を設定するデバイス番号設定手段と、前記I/Oデバイスの動作モードを設定するモード設定手段を備える構成が開示されている。この公報では、動作モードがマスタモードに設定されたI/Oデバイスをハブとして追加し、このハブがコマンド応答や割り込みの調定を行うことにより、複数I/Oデバイスの接続を可能としている。
また、下記特許文献3には、シリアルインタフェースを備えるワンチップマイコンと、前記ワンチップマイコンから出力されるシリアルデータを複数ビットのパラレルデータに変換する汎用シフトレジスタICとを備え、前記汎用シフトレジスタICは、複数ビットのパラレルデータを出力する複数の汎用ロジックICがカスケード接続されており、前記カスケード接続された一番目の汎用ロジックICに前記シリアルデータが入力され、前記各汎用ロジックICは、前記シリアルデータをラッチして複数ビットのパラレルデータとして出力すると共に、ラッチのタイミング前に入力されたシリアルデータを後段の汎用ロジックICに出力するI/O拡張回路が開示されている。この公報では、複数のシフトレジスタをカスケード接続することにより、出力信号を拡張している。
また、下記特許文献4には、コンピュータから出力された印刷データを複数の印刷装置に分配出力するデータ分配器であって、前記コンピュータに設けられた周辺機器接続用のポートと接続するためのコンピュータ側ポートと、前記印刷装置と接続するための複数の印刷装置側ポートと、前記それぞれの印刷装置側ポートに対応付けられたポートバッファと、前記コンピュータ側ポートに入力された印刷データを複数のポートバッファに複製出力する分配部とを備える構成が開示されている。この公報では、PCからのデータ出力をリピータハブのようなデバイスで受信し、各プリンタにリピート出力している。
しかしながら、1つのチャンネルに複数のIO拡張デバイスを接続した場合、個々のIO拡張デバイスを適切に制御することができないという問題が生じる。例えば、CPUからのリードアクセスでは、複数のIO拡張デバイスの各々がCPUに対してデータを出力するため、CPUは、どのデータが所定のIO拡張デバイスに接続される特定の外部機器から取得したデータであるのかを判断することができない。また、CPUからのライトアクセスでは、複数のIO拡張デバイスの各々にデータが書き込まれるため、所定のIO拡張デバイスに接続される特定の外部機器のみを制御することができない。また、特許文献の技術を利用し、SWやハブを用いて複数のIO拡張デバイスを切り換えることも可能であるが、この方法では切り換え制御が必要になり、回路構成が複雑になる。 However, when a plurality of IO expansion devices are connected to one channel, there arises a problem that individual IO expansion devices cannot be appropriately controlled. For example, in the read access from the CPU, each of the plurality of IO expansion devices outputs data to the CPU. Therefore, the CPU acquires data acquired from a specific external device connected to a predetermined IO expansion device. It is not possible to judge whether it is. Further, in the write access from the CPU, data is written to each of the plurality of IO expansion devices, so that it is not possible to control only a specific external device connected to a predetermined IO expansion device. In addition, it is possible to switch between a plurality of IO expansion devices using SW and a hub by using the technique of the patent document, but this method requires switching control and complicates the circuit configuration.
また、複数のIO拡張デバイスに同じ信号が入力されるようにすると、追加したIO拡張デバイスで拡張できるIOを最大限に利用することができないという問題も生じる。すなわち、入力機能を割り当てたIO拡張デバイスと出力機能を割り当てたIO拡張デバイスとに同じ信号が入力されるようにした場合、出力機能を割り当てたIO拡張デバイスに対するリード信号や、入力機能を割り当てたIO拡張デバイスに対するライト信号など、必須ではない信号を入力するためにIOが使用され、その分、拡張できるIO数が減ってしまう。 Further, if the same signal is input to a plurality of IO expansion devices, there is a problem that the IO that can be expanded by the added IO expansion device cannot be used to the maximum extent. That is, when the same signal is input to the IO expansion device to which the input function is assigned and the IO expansion device to which the output function is assigned, the read signal and the input function are assigned to the IO expansion device to which the output function is assigned. IO is used to input a non-essential signal such as a write signal for the IO expansion device, and the number of IOs that can be expanded correspondingly decreases.
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、バスの同一チャンネル上に複数のIO拡張デバイスが接続される構成において、各々のIO拡張デバイスを適切に制御することができ、また、IO拡張デバイスで拡張できるIOを最大限に利用することができる入出力制御回路及び入出力制御回路における同期制御方法を提供することにある。 The present invention has been made in view of the above problems, and its main object is to appropriately control each IO expansion device in a configuration in which a plurality of IO expansion devices are connected on the same channel of a bus. It is another object of the present invention to provide an input / output control circuit that can make maximum use of an IO that can be expanded by an IO expansion device and a synchronization control method in the input / output control circuit.
本発明の一側面は、CPUの特定バスの同一チャンネル上に、複数のIO拡張デバイスが接続された入出力制御回路であって、前記複数のIO拡張デバイスは、入力制御用のIO拡張デバイスと出力制御用のIO拡張デバイスとで構成され、各々の前記IO拡張デバイスは、同一回路で構成されたレジスタ制御部を有し、前記出力制御用のIO拡張デバイスには、リード用の制御信号が入力されておらず、前記CPUからのライトアクセスでは、前記入力制御用のIO拡張デバイス及び前記出力制御用のIO拡張デバイスに、前記CPUから出力されるデータが書き込まれ、前記CPUからのリードアクセスでは、前記入力制御用のIO拡張デバイスのみが、前記レジスタ制御部が管理するレジスタの値を応答出力することを特徴とする。 One aspect of the present invention is an input / output control circuit in which a plurality of IO expansion devices are connected to the same channel of a specific bus of a CPU, and the plurality of IO expansion devices include an IO expansion device for input control. Each of the IO expansion devices has a register control unit configured of the same circuit, and the output control IO expansion device has a read control signal. In the write access from the CPU that is not input, the data output from the CPU is written in the IO expansion device for input control and the IO expansion device for output control, and the read access from the CPU Then, only the IO expansion device for input control outputs the value of the register managed by the register control unit as a response.
本発明の一側面は、CPUの特定バスの同一チャンネル上に、入力制御用のIO拡張デバイスと出力制御用のIO拡張デバイスとで構成される、複数のIO拡張デバイスが接続された入出力制御回路における前記複数のIO拡張デバイスの同期制御方法であって、各々のIO拡張デバイスに、同一回路で構成されたレジスタ制御部を設け、前記出力制御用のIO拡張デバイスには、リード用の制御信号を入力せず、前記CPUからのライトアクセスでは、前記入力制御用のIO拡張デバイス及び前記出力制御用のIO拡張デバイスに、前記CPUから出力されるデータを書き込み、前記CPUからのリードアクセスでは、前記入力制御用のIO拡張デバイスのみが、前記レジスタ制御部が管理するレジスタの値を応答出力することを特徴とする。 One aspect of the present invention is an input / output control in which a plurality of IO expansion devices, each including an input control IO expansion device and an output control IO expansion device, are connected to the same channel of a specific CPU bus. A method for synchronous control of the plurality of IO expansion devices in a circuit, wherein each IO expansion device is provided with a register control unit composed of the same circuit, and the output control IO expansion device has a read control. In the write access from the CPU without inputting a signal, the data output from the CPU is written in the IO expansion device for input control and the IO expansion device for output control, and in the read access from the CPU In addition, only the IO expansion device for input control outputs a register value managed by the register control unit as a response. .
本発明の入出力制御回路及び入出力制御回路における同期制御方法によれば、バスの同一チャンネル上に複数のIO拡張デバイスが接続される構成において、各々のIO拡張デバイスを適切に制御することができ、また、IO拡張デバイスで拡張できるIOを最大限に利用することができる。 According to the input / output control circuit and the synchronization control method in the input / output control circuit of the present invention, each IO expansion device can be appropriately controlled in a configuration in which a plurality of IO expansion devices are connected to the same channel of the bus. The IO that can be expanded by the IO expansion device can be utilized to the maximum extent.
その理由は、CPUの特定バスの同一チャンネル上に、入力制御用のIO拡張デバイスと出力制御用のIO拡張デバイスとで構成される複数のIO拡張デバイスが接続される場合に、出力制御用のIO拡張デバイスにはリード用の制御信号を入力せず、CPUからのライトアクセスでは、複数のIO拡張デバイスにCPUから出力されるデータを書き込み、CPUからリードアクセスでは、入力制御用のIO拡張デバイスのみがCPUにレジスタ値を応答出力するようにし、出力制御用のIO拡張デバイスに書き込んだデータを確認する場合には、入力制御用のIO拡張デバイスが出力制御用のIO拡張デバイスに代わってレジスタ値を応答出力するからである。 The reason is that when a plurality of IO expansion devices composed of an input control IO expansion device and an output control IO expansion device are connected to the same channel of a specific bus of the CPU, the output control A read control signal is not input to the IO expansion device. In write access from the CPU, data output from the CPU is written to a plurality of IO expansion devices. In read access from the CPU, an IO control device for input control is written. When only the register value is output to the CPU as a response and the data written to the output control IO expansion device is confirmed, the input control IO expansion device replaces the output control IO expansion device with a register. This is because the value is output as a response.
また、入力制御用のIO拡張デバイスにはライト用の制御信号を入力せず、出力制御用のIO拡張デバイスに入力されるリード用の制御信号は、当該IO拡張デバイス内で非アクティブな論理レベルに固定し、CPUからのライトアクセスでは、出力制御用のIO拡張デバイスのみにCPUから出力されるデータを書き込み、CPUからリードアクセスでは、アクティブなリード用の制御信号が入力される入力制御用のIO拡張デバイスのみがレジスタ値を応答出力するからである。 In addition, the write control signal is not input to the input control IO expansion device, and the read control signal input to the output control IO expansion device has an inactive logic level in the IO expansion device. In the write access from the CPU, the data output from the CPU is written only in the IO expansion device for output control. In the read access from the CPU, the active read control signal is input. This is because only the IO expansion device outputs the register value as a response.
背景技術で示したように、入出力制御回路ではIO拡張デバイスが利用されているが、IO拡張デバイスで制御すべき信号が増えた場合に、IO拡張デバイスを回路容量やIO数の多いデバイスに変更するとコストアップを招いてしまう。また、IO拡張デバイスを変更せずに、複数のIO拡張デバイスを使用した場合、各々のIO拡張デバイスを適切に制御することができず、また、拡張できるIOを最大限に利用することができないという問題があった。この問題について、図面を参照して説明する。 As shown in the background art, the IO expansion device is used in the input / output control circuit. However, when the number of signals to be controlled by the IO expansion device increases, the IO expansion device is changed to a device with a large circuit capacity and the number of IOs. Changing it will incur an increase in cost. Further, when a plurality of IO expansion devices are used without changing the IO expansion device, each IO expansion device cannot be appropriately controlled, and the IO that can be expanded cannot be used to the maximum extent. There was a problem. This problem will be described with reference to the drawings.
例えば、図11に示すように、CPUが3チャンネルのパラレルバスを有しており、チャンネル1にデバイスAが接続され、チャンネル2にデバイスBが接続され、チャンネル3にデバイスC(IO拡張デバイス)が接続されているとする。この構成において、図11(a)に示すCPUからのライトアクセスでは、CPUからのセレクト信号Cとライト信号がデバイスCに入力され、デバイスCにCPUから出力されるデータが書き込まれる。また、図11(b)に示すCPUからのリードアクセスでは、CPUからのセレクト信号Cとリード信号がデバイスCに入力され、デバイスCはCPUにデータを出力する。従って、この構成では、CPUはIO拡張デバイスを適切に制御することができる。
For example, as shown in FIG. 11, the CPU has a 3-channel parallel bus, device A is connected to
この図11の構成において、デバイスC(IO拡張デバイス)で制御すべき信号が増えた場合、図12に示すように、チャンネル3にデバイスC1とデバイスC2の2つのIO拡張デバイスを接続することは可能である。
In the configuration of FIG. 11, when the number of signals to be controlled by the device C (IO expansion device) increases, it is possible to connect two IO expansion devices of the device C1 and the device C2 to the
しかしながら、図12(a)に示すCPUからのライトアクセスでは、デバイスC1とデバイスC2とが同一チャンネルに接続されており、CPUからのセレクト信号Cとライト信号がデバイスC1とデバイスC2に入力されるため、デバイスC1とデバイスC2には共にCPUから出力されるデータが書き込まれてしまう。また、図12(b)に示すCPUからのリードアクセスでは、デバイスC1とデバイスC2とが同一チャンネルに接続されており、CPUからのセレクト信号Cとリード信号がデバイスC1とデバイスC2に入力されるため、デバイスC1とデバイスC2は共にCPUにデータを出力してしまう。そのため、CPUは所望のIO拡張デバイスのみを適切に制御することができない。 However, in the write access from the CPU shown in FIG. 12A, the device C1 and the device C2 are connected to the same channel, and the select signal C and the write signal from the CPU are input to the device C1 and the device C2. Therefore, data output from the CPU is written to both the device C1 and the device C2. In the read access from the CPU shown in FIG. 12B, the device C1 and the device C2 are connected to the same channel, and the select signal C and the read signal from the CPU are input to the device C1 and the device C2. Therefore, both the device C1 and the device C2 output data to the CPU. Therefore, the CPU cannot appropriately control only the desired IO expansion device.
また、図12に示すように、IO拡張デバイスが入力制御用であるか出力制御用であるかに関わらず、デバイスC1とデバイスC2に同じ信号を入力すると、デバイスC1やデバイスC2が拡張できるIOを最大限に利用することができない。すなわち、出力制御用のIO拡張デバイスは必ずしもCPUにデータを出力する必要はないが、出力制御用のIO拡張デバイスにもリード信号を入力すると、その分、拡張できるIO数が減ってしまう。同様に、入力制御用のIO拡張デバイスには必ずしもCPUから出力されるデータを書き込む必要はないが、入力制御用のIO拡張デバイスにもライト信号を入力すると、その分、拡張できるIO数が減ってしまう。 Also, as shown in FIG. 12, regardless of whether the IO expansion device is for input control or output control, if the same signal is input to the device C1 and the device C2, the device C1 and the device C2 can be expanded. Cannot be used to the maximum. That is, the output control IO expansion device does not necessarily output data to the CPU, but if a read signal is input to the output control IO expansion device, the number of IOs that can be expanded is reduced accordingly. Similarly, it is not always necessary to write the data output from the CPU to the input control IO expansion device, but if a write signal is input to the input control IO expansion device, the number of IOs that can be expanded decreases accordingly. End up.
そこで、本発明の一実施の形態では、バスの同一チャンネル上に複数のIO拡張デバイスが接続され、各々のIO拡張デバイスに入力/出力機能が割り当てられる入出力制御回路において、出力機能が割り当てられた出力制御用のIO拡張デバイスにはリード信号が入力しないようにするか、または、入力機能が割り当てられた入力制御用のIO拡張デバイスにはライト信号が入力しないようにする。 Therefore, in one embodiment of the present invention, an output function is assigned in an input / output control circuit in which a plurality of IO expansion devices are connected on the same channel of the bus and an input / output function is assigned to each IO expansion device. In addition, a read signal is not input to the output control IO expansion device, or a write signal is not input to the input control IO expansion device to which the input function is assigned.
すなわち、前者の場合は、ホスト(CPU)からのライトアクセスは、入力/出力機能が割り当てられた双方のIO拡張デバイスにデータが書き込まれるようにし、かつ、CPUからのリードアクセスでは、入力機能が割り当てられた入力制御用のIO拡張デバイスのみがデータを応答出力するようにする。具体的には、図1に示すように、CPUが3チャンネルのパラレルバスを有しており、チャンネル1にデバイスAが接続され、チャンネル2にデバイスBが接続され、チャンネル3に入力制御用のデバイスC1と出力制御用のデバイスC2の2つのIO拡張デバイスが接続されている構成において、入力制御用のデバイスC1にはセレクト信号Cとライト信号とリード信号が入力されるようにし、出力制御用のデバイスC2にはセレクト信号Cとライト信号のみが入力されるようにする。
That is, in the former case, the write access from the host (CPU) allows data to be written to both IO expansion devices to which the input / output function is assigned, and the read function from the CPU does not have the input function. Only the assigned IO expansion device for input control outputs data as a response. Specifically, as shown in FIG. 1, the CPU has a 3-channel parallel bus, device A is connected to
この場合、図1(a)に示すCPUからのライトアクセスでは、デバイスC1とデバイスC2とが同一チャンネルに接続されており、CPUからのセレクト信号Cとライト信号が双方に入力されるため、デバイスC1とデバイスC2には共にCPUから出力されるデータが書き込まれる。また、図1(b)に示すCPUからのリードアクセスでは、CPUからのセレクト信号CはデバイスC1とデバイスC2に入力されるが、リード信号はデバイスC1のみに入力されるため、デバイスC1のみがCPUにデータを出力する。この構成では、CPUからのライトアクセスでは、デバイスC1とデバイスC2の双方にデータが書き込まれるが、デバイスC1は入力制御用であり、書き込まれたデータを外部機器に出力しないため問題は生じない。また、デバイスC1とデバイスC2の双方に同じデータが書き込まれるため、デバイスC1に対するリードアクセスを利用する(すなわち、デバイスC1にデバイスC2の代理応答をさせる)ことにより、デバイスC2に書き込まれたデータを確認することができる。従って、CPUは所望のIO拡張デバイスのみを適切に制御することができる。 In this case, in the write access from the CPU shown in FIG. 1A, the device C1 and the device C2 are connected to the same channel, and the select signal C and the write signal from the CPU are input to both. Data output from the CPU is written in both C1 and device C2. In the read access from the CPU shown in FIG. 1B, the select signal C from the CPU is input to the device C1 and the device C2. However, since the read signal is input only to the device C1, only the device C1 has Data is output to the CPU. In this configuration, in the write access from the CPU, data is written to both the device C1 and the device C2, but the device C1 is used for input control and does not output the written data to the external device, so no problem occurs. Further, since the same data is written to both the device C1 and the device C2, by using read access to the device C1 (that is, making the device C1 make a proxy response of the device C2), the data written to the device C2 is changed. Can be confirmed. Therefore, the CPU can appropriately control only the desired IO expansion device.
また、後者の場合は、CPUからのリードアクセスは、入力/出力機能が割り当てられた双方のIO拡張デバイスがデータを応答出力するようにし、かつ、CPUからのライトアクセスでは、出力機能が割り当てられた特定のIO拡張デバイスのみにデータが書き込まれるようにする。具体的には、図2に示すように、デバイスC1にはセレクト信号とリード信号のみが入力されるようにし、デバイスC2にはセレクト信号とライト信号とリード信号が入力されるようにする。 In the latter case, read access from the CPU causes both IO expansion devices to which the input / output function is assigned to output data as a response, and output access is assigned to the write access from the CPU. Data is written only to a specific IO expansion device. Specifically, as shown in FIG. 2, only the select signal and the read signal are input to the device C1, and the select signal, the write signal, and the read signal are input to the device C2.
この場合、図2(a)に示すCPUからのライトアクセスでは、デバイスC1とデバイスC2が同一チャンネルに接続されており、CPUからのセレクト信号CはデバイスC1とデバイスC2に入力されるが、ライト信号はデバイスC2のみに入力されるため、デバイスC2のみにデータが書き込まれる。また、図2(b)に示すCPUからのリードアクセスでは、CPUからのセレクト信号Cとリード信号はデバイスC1とデバイスC2に入力されるが、後述するようにデバイスC2に入力されるリード信号をデバイスC2内で非アクティブな論理レベルに固定することによって、アクティブなリード信号が入力されるデバイスC1のみがCPUにデータを出力する。従って、CPUは所望のIO拡張デバイスのみを適切に制御することができる。 In this case, in the write access from the CPU shown in FIG. 2A, the device C1 and the device C2 are connected to the same channel, and the select signal C from the CPU is input to the device C1 and the device C2. Since the signal is input only to the device C2, data is written only to the device C2. In the read access from the CPU shown in FIG. 2B, the select signal C and the read signal from the CPU are input to the device C1 and the device C2, but the read signal input to the device C2 is used as described later. By fixing to an inactive logic level in the device C2, only the device C1 to which an active read signal is input outputs data to the CPU. Therefore, the CPU can appropriately control only the desired IO expansion device.
このように、バスの同一チャンネル上に入力機能が割り当てられたIO拡張デバイスと出力機能が割り当てられたIO拡張デバイスとが接続されている場合であっても、CPUからは1つのIO拡張デバイスが接続されているように見えるため、所望のIO拡張デバイスのみを適切に制御することができる。また、出力機能が割り当てられたIO拡張デバイスにはリード信号を入力しない、または、入力機能が割り当てられたIO拡張デバイスにはライト信号を入力しないため、追加したIO拡張デバイスのIOを最大限に利用することができる。更に、複数のIO拡張デバイス内の回路(レジスタを制御するレジスタ制御部)は共通化することができるため、設計効率を向上させることができ、コストアップを抑制することができる。 As described above, even when the IO expansion device to which the input function is assigned and the IO expansion device to which the output function is assigned are connected to the same channel of the bus, one IO expansion device is connected from the CPU. Since it appears to be connected, only the desired IO expansion device can be properly controlled. In addition, since no read signal is input to the IO expansion device to which the output function is assigned or no write signal is input to the IO expansion device to which the input function is assigned, the IO of the added IO expansion device is maximized. Can be used. Furthermore, since the circuits (register control units that control the registers) in the plurality of IO expansion devices can be shared, the design efficiency can be improved and the cost increase can be suppressed.
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る入出力制御回路及び入出力制御回路における同期制御方法について、図3乃至図10を参照して説明する。図3は、本実施例の入出力制御回路の構成を示す図であり、図4は、本実施例のIO拡張デバイス間の同期制御方法を説明する図である。また、図5及び図6は、IO拡張デバイスで拡張できるIO数を説明する図であり、図7は、IO拡張デバイスのレジスタを示す図である。また、図8は、本実施例の入出力制御回路における入力拡張IO制御を示すフローチャート図であり、図9及び図10は、出力拡張IO制御を示すフローチャート図である。 In order to describe the above-described embodiment of the present invention in further detail, an input / output control circuit according to an embodiment of the present invention and a synchronous control method in the input / output control circuit will be described with reference to FIGS. . FIG. 3 is a diagram illustrating a configuration of the input / output control circuit of the present embodiment, and FIG. 4 is a diagram illustrating a synchronization control method between IO expansion devices of the present embodiment. 5 and 6 are diagrams illustrating the number of IOs that can be expanded by the IO expansion device, and FIG. 7 is a diagram illustrating registers of the IO expansion device. FIG. 8 is a flowchart showing input expansion IO control in the input / output control circuit of this embodiment, and FIGS. 9 and 10 are flowcharts showing output expansion IO control.
本実施例の入出力制御回路は、CPU(正確には外部インタフェース機能を持ったCPUであり、SoC(System-on-a-chip)と呼ばれる。)と、入力制御用及び出力制御用の2つのIO拡張デバイスとを含む。ここでは、実施形態と同様の構成とし、図3に示すように、CPU10と、CPU10によって制御される4つのデバイス(デバイスA、デバイスB、デバイスC1、デバイスC2)とで構成されるものとする。
The input / output control circuit of this embodiment includes a CPU (specifically, a CPU having an external interface function, called SoC (System-on-a-chip)), and 2 for input control and output control. One IO expansion device. Here, the configuration is the same as that of the embodiment, and as illustrated in FIG. 3, the configuration includes a
CPU10は、本実施例では、3チャンネルのパラレルバスを有しており、チャンネル1にデバイスA、チャンネル2にデバイスB、チャンネル3にデバイスC1、C2が接続されている。デバイスA、Bは、例えばNor-Flashメモリであり、チャンネル1に接続されるNor-Flashメモリ20にはブート用データが格納され、チャンネル2に接続されるNor-Flashメモリ30にはブート以外のFW(firmware)が格納されている。デバイスC1、C2は、ロジックデバイス(以下、CPLD:Complex Programmable Logic Device)であり、CPLD1(デバイスC1)は、入力制御用のIO拡張デバイス40として予め割り当てられ、CPLD2(デバイスC2)は、出力制御用のIO拡張デバイス50として予め割り当てられている。
In this embodiment, the
また、CPU10は、各チャンネルに接続されたデバイスを選択するためのセレクト信号(セレクト信号A〜C)と、デバイスにデータを書き込むためのライト信号と、デバイスからデータを読み込むためのリード信号と、を出力する。デバイスAには、セレクト信号Aとライト信号とリード信号とが入力され、デバイスBには、セレクト信号Bとライト信号とリード信号とが入力される。また、本実施例では、実施形態の図1で示した構成を前提とし、CPLD1(デバイスC1)には、セレクト信号Cとライト信号とリード信号とが入力され、CPLD2(デバイスC2)には、セレクト信号Cとライト信号とが入力される。
Further, the
図4は、CPLD1(デバイスC1)とCPLD2(デバイスC2)の構成を示している。CPLD1は、レジスタ制御部41を有し、CPLD2は、レジスタ制御部51を有している。このレジスタ制御部41、51は、RTL(Register Transfer Level)やHDL(Hardware Description Language)などで記述された共通のHW回路である。また、レジスタ制御部41には、入力制御レジスタ42と出力制御レジスタ43とが設けられ、レジスタ制御部51には、入力制御レジスタ52と出力制御レジスタ53とが設けられている。そして、CPLD1の出力制御レジスタ43とCPLD2と出力制御レジスタ53とは同期が取られている。
FIG. 4 shows the configuration of CPLD1 (device C1) and CPLD2 (device C2). The
CPLD1には、主に外部からのセンサ信号(入力信号1〜3)などが入力される。一方、CPLD2には、電源制御用の信号(出力信号1〜3)などが出力される。ここで、CPLD2は、出力制御用のIO拡張デバイス50であり、入力を制御する必要はないため、実施形態の図2の構成を採用する場合には、CPLD2の入力制御レジスタ52に対して入力されるリード信号を非アクティブな論理レベルに固定しておくことでライト信号のみを使用できるようにする。
CPLD1 mainly receives external sensor signals (input signals 1 to 3). On the other hand, power control signals (
このような構成の入出力制御回路において、CPU10からのライトアクセスでは、CPLD1とCPLD2とが同一のチャンネル3に接続されており、CPU10からのセレクト信号Cとライト信号がCPLD1とCPLD2の双方に入力されるため、CPLD1とCPLD2は共に自分へのライトアクセスであると判断してデータを出力制御レジスタ43、53に取り込む。その際、CPLD1の出力制御レジスタ43は外部に接続されておらず、取り込んだデータを外部に出力することはない。従って、CPU10は、出力制御用として予め割り当てられたCPLD2のみを適切に制御することができる。例えば、入出力制御回路がMFP(Multi Function Peripheral)などの画像形成装置に組み込まれる場合は、CPUの電源制御やパネルの電源制御、FAXの電源制御などを行うことができる。
In the input / output control circuit having such a configuration, in the write access from the
また、CPU10からのリードアクセスでは、CPLD1とCPLD2が同一のチャンネル3に接続されており、CPU10からのセレクト信号Cは、CPLD1とCPLD2に入力されるが、リード信号はCPLD1のみに入力されるため、CPLD1のみが自分へのリードアクセスであると判断して入力制御レジスタ42に保持したデータをCPU10に出力する。従って、CPU10は、入力制御用として予め割り当てられたCPLD1のみを適切に制御することができる。例えば、入出力制御回路がMFPなどの画像形成装置に組み込まれる場合は、紙詰まりなどを検知するセンサ、扉の開閉を検知するセンサ、用紙トレイに設けられたセンサなどからの信号を取得することができ、MFPの状態を判断することができる。
In read access from the
なお、実施形態の図2の構成(ライト信号がCPLD2のみに入力される構成)の場合、CPU10からのライトアクセスでは、CPLD1とCPLD2が同一のチャンネル3に接続されており、CPU10からのセレクト信号Cは、CPLD1とCPLD2に入力されるが、ライト信号はCPLD2のみに入力されるため、CPLD2のみが自分へのライトアクセスであると判断してデータを出力制御レジスタ53に取り込む。従って、出力制御用として予め割り当てられたCPLD2のみを適切に制御することができる。
In the configuration of FIG. 2 of the embodiment (a configuration in which the write signal is input only to the CPLD 2), in the write access from the
また、CPU10からのリードアクセスでは、CPLD1とCPLD2が同一のチャンネル3に接続されており、CPU10からのセレクト信号Cとリード信号がCPLD1とCPLD2の双方に入力されるため、CPLD1とCPLD2は共に自分へのリードアクセスであると判断するが、CPLD2ではリード信号は非アクティブな論理レベルに固定されており、CPU10にデータを出力しない。従って、CPU10は、入力制御用として予め割り当てられたCPLD1のみを適切に制御することができる。
In the read access from the
次に、IO拡張デバイスのIO数について説明する。図5は、IO拡張デバイスが使用できるIO数を説明する図であり、図5(a)は、入力/出力制御用のIO拡張デバイスを2つ接続した場合のIO数、(b)、(c)は、入力制御用のIO拡張デバイスと出力制御用のIO拡張デバイスとを接続した場合のIO数を示している。なお、図5は、CPU10が一定周期で入力制御用のIO拡張デバイスに対してリードを行うことで、CPLD1に入力されている各センサ信号の状態を取得するポーリング方式を採用した場合の例である。
Next, the number of IOs of the IO expansion device will be described. FIG. 5 is a diagram for explaining the number of IOs that can be used by the IO expansion device. FIG. 5A shows the number of IOs when two IO expansion devices for input / output control are connected, (b), ( c) shows the number of IOs when the IO expansion device for input control and the IO expansion device for output control are connected. FIG. 5 shows an example in which a polling method is used in which the
各々のIO拡張デバイスには、デバイスバスに接続するために、セレクト信号、ライト信号、リード信号、データ信号が入力される。図5(a)の入力/出力制御用のIO拡張デバイスの場合、拡張IOとして使用できるIOがN本であるとすると、同じ構成の入力/出力制御用のIO拡張デバイスを追加すると、追加したIO拡張デバイスにもセレクト信号、ライト信号、リード信号、データ信号が入力されるため、拡張IOとして使用できるIOは同様にN本となる。 Each IO expansion device receives a select signal, a write signal, a read signal, and a data signal for connection to the device bus. In the case of the IO expansion device for input / output control in FIG. 5A, assuming that there are N IOs that can be used as expansion IOs, an IO expansion device for input / output control having the same configuration is added. Since the select signal, write signal, read signal, and data signal are also input to the IO expansion device, the number of IOs that can be used as the expansion IO is similarly N.
一方、図5(b)の場合、入力制御用IO拡張デバイスには、セレクト信号、ライト信号、リード信号、データ信号が入力され、入力制御用IO拡張デバイスが拡張IOとして使用できるIOはN本となるが、出力制御用IO拡張デバイスにはリード信号を入力しないため、出力制御用IO拡張デバイスが拡張IOとして使用できるIOはN+1本となる。同様に図5(c)の場合、出力制御用IO拡張デバイスにはセレクト信号、ライト信号、データ信号が入力され、出力制御用IO拡張デバイスが拡張IOとして使用できるIOはN本となるが、入力制御用IO拡張デバイスにはライト信号を入力しないため、入力制御用IO拡張デバイスが拡張IOとして使用できるIOはN+1本となる。従って、本実施例の構成では、IO拡張デバイスのIOを最大限に利用することができる。 On the other hand, in the case of FIG. 5B, a select signal, a write signal, a read signal, and a data signal are input to the input control IO expansion device, and the input control IO expansion device can use N IO as expansion IO. However, since no read signal is input to the output control IO expansion device, the output control IO expansion device can use N + 1 IOs as expansion IOs. Similarly, in the case of FIG. 5C, a select signal, a write signal, and a data signal are input to the output control IO expansion device, and the output control IO expansion device can use N expansion IOs. Since no write signal is input to the input control IO expansion device, the input control IO expansion device can use N + 1 IOs as expansion IOs. Therefore, in the configuration of this embodiment, the IO of the IO expansion device can be utilized to the maximum extent.
図5では、ポーリング方式を採用した場合のIO拡張デバイスのIO数について示したが、ポーリングではCPU10が一定周期でリードを行う必要があるため、CPU10の負荷が増大してしまう。一方、このポーリング方式とは別に割り込み方式と呼ばれる方式が存在する。割り込み方式は、CPLD1内で入力されている各センサ信号の変化を検出し、変化を検出した場合に割り込み信号によってCPU10に通知する方式であり、この方式ではCPU10の負荷を軽減することができる。
FIG. 5 shows the number of IOs of the IO expansion device when the polling method is adopted. However, in the polling, the
図6は、割り込み方式を採用した場合のIO拡張デバイスが使用できるIO数を具体的に説明する図であり、複数のセンサ信号の検出を1本の割り込みによってCPU10に通知する集合割り込みの場合を示している。この場合、CPLD1及びCPLD2は割り込みを制御する割り込みコントローラ機能を有し、CPLD1の割り込みコントローラ機能は、センサ信号を検出するとCPU10に集合割り込み信号を出力し、CPU10はこの集合割り込み信号を受け取ると、CPLD1をリードして、どのセンサ信号に変化があったかを判断する。
FIG. 6 is a diagram for specifically explaining the number of IOs that can be used by the IO expansion device when the interrupt method is adopted. In the case of a collective interrupt in which the detection of a plurality of sensor signals is notified to the
CPLD1及びCPLD2は汎用ロジックデバイスであり、電源・GND、クロック入力が必須である。残りのIOはユーザIOと呼ばれ、ユーザが自由に使用可能であり、CPLD1及びCPLD2のユーザIOが共に25本であるとする。CPLD1では、セレクト信号、ライト信号、リード信号、8本のデータ信号、3本のアドレス信号、集合割り込み信号で合計15本となるため、残りの10本を拡張IO(入力0〜9)として使用することができる。一方、CPLD2では、セレクト信号、ライト信号、8本のデータ信号、3本のアドレス信号で合計13本となるため、残りの12本を拡張IO(出力0〜11)として使用することができる。従って、割り込み方式では、追加したIO拡張デバイスが使用できるIO数を更に増やすことができる。なお、本実施例ではデータ信号を8本としているが、データ信号は8本に限定されるものではない。また、本実施例ではアドレス信号を3本としているが、アドレス信号も3本に限定されるものではない。
CPLD1 and CPLD2 are general-purpose logic devices, and power supply / GND and clock input are essential. The remaining IOs are called user IOs, and can be freely used by users. Assume that there are 25 user IOs in CPLD1 and CPLD2. In CPLD1, there are a total of 15 select signals, write signals, read signals, 8 data signals, 3 address signals, and collective interrupt signals, so the remaining 10 are used as expansion IOs (
図7は、上記集合割り込み方式を採用する場合に、CPLD1及びCPLD2に設けられるレジスタの一例である。CPLD1及びCPLD2には、3本のアドレス信号で規定される3ビット分(8個)のレジスタ、例えば、出力制御レジスタ1、出力制御レジスタ2、入力制御レジスタ1、入力制御レジスタ2、割り込み要因レジスタ1、割り込み要因レジスタ2、割り込み要因クリアレジスタ1、割り込み要因クリアレジスタ2が用意される。
FIG. 7 is an example of a register provided in CPLD1 and CPLD2 when the collective interrupt method is employed. CPLD1 and CPLD2 have three bits (eight) registers defined by three address signals, for example,
出力制御レジスタ1(000)は、8ビットレジスタであり、各ビットが出力制御用IO拡張デバイスの拡張IOの8本と対応しており、各ビットを書き換えることでCPLD2から出力される拡張IO信号(出力0〜7)を制御することができる。
The output control register 1 (000) is an 8-bit register, and each bit corresponds to eight expansion IOs of the output control IO expansion device, and the expansion IO signal output from the
出力制御レジスタ2(001)は、8ビットレジスタであり、各ビットが出力制御用IO拡張デバイスの拡張IOの4本と対応している。レジスタとしては8ビットであるが、実際に使用するのは下位4ビットのみであり、各ビットを書き換えることでCPLD2から出力される拡張IO信号(出力8〜11)を制御することができる。
The output control register 2 (001) is an 8-bit register, and each bit corresponds to four expansion IOs of the output control IO expansion device. Although the register has 8 bits, only the lower 4 bits are actually used, and the extended IO signals (outputs 8 to 11) output from the
入力制御レジスタ1(010)は、8ビットレジスタであり、各ビットが入力制御用IO拡張デバイスの拡張IOの8本と対応しており、各ビットを読み出すことでCPLD1に入力されている拡張IO信号(入力0〜7)の状態を知ることができる。
The input control register 1 (010) is an 8-bit register, and each bit corresponds to eight expansion IOs of the input control IO expansion device. By reading each bit, the expansion IO input to the CPLD1 It is possible to know the state of the signals (
入力制御レジスタ2(011)は、8ビットレジスタであり、各ビットが入力制御用IO拡張デバイスの拡張IOの2本と対応している。レジスタとしては8ビットであるが、実際に使用するのは下位2ビットのみであり、各ビットを読み出すことでCPLD1に入力されている拡張IO信号(入力8、9)の状態を知ることができる。
The input control register 2 (011) is an 8-bit register, and each bit corresponds to two expansion IOs of the input control IO expansion device. Although the register is 8 bits, only the lower 2 bits are actually used, and the state of the extended IO signal (inputs 8 and 9) input to the
割り込み要因レジスタ1(100)は、入力制御レジスタ1の8ビットのうち、いずれかのセンサ信号の状態が変化した際に、対応するビットの値が”1”になる。後述の割り込み要因レジスタ2を含む、いずれかのビットの値が”1”である場合に、CPLD1はCPU10に対して集合割り込み信号を出力する。また、CPU10からのリードアクセスに対してCPLD1は割り込み要因レジスタ1の値を返す。
In the interrupt factor register 1 (100), when the state of any one of the 8 bits of the input control register 1 changes, the value of the corresponding bit becomes “1”. When the value of any of the bits including the interrupt factor register 2 described later is “1”, the
割り込み要因レジスタ2(101)は、入力制御レジスタ2の2ビットのうち、いずれかのセンサ信号の状態が変化した際に、対応するビットの値が”1”になる。前述の割り込み要因レジスタ1を含む、いずれかのビットの値が”1”である場合に、CPLD1はCPU10に対して集合割り込み信号を出力する。
In the interrupt factor register 2 (101), when the state of any one of the two bits of the input control register 2 changes, the value of the corresponding bit becomes “1”. When the value of any of the bits including the interrupt
割り込み要因クリアレジスタ1(110)は、上記割り込み要因レジスタ1と対応しており、本レジスタの各ビットに”1”が書き込まれたときに、対応する割り込み要因レジスタ1のビットの値が”0”にクリアされる。
The interrupt factor clear register 1 (110) corresponds to the interrupt
割り込み要因クリアレジスタ2(111)は、上記割り込み要因レジスタ2と対応しており、本レジスタの各ビットに”1”が書き込まれたときに、対応する割り込み要因レジスタ2のビットの値が”0”にクリアされる。
The interrupt factor clear register 2 (111) corresponds to the interrupt
次に、図7の構成のレジスタを用いて、図6の構成のCPLD1及びCPLD2を制御する方法について説明する。まず、入力拡張IO制御(入力制御用のIO拡張デバイス40の制御)について、図8のフローチャート図を参照して説明する。
Next, a method of controlling CPLD1 and CPLD2 having the configuration shown in FIG. 6 using the register having the configuration shown in FIG. 7 will be described. First, input expansion IO control (control of the
まず、CPLD1のレジスタ制御部41は、CPLD1に入力されている拡張IO信号(入力0〜9)のいずれかの状態が変化したら(S101)、CPU10に集合割り込み信号を出力する(S102)。
First, when one of the extended IO signals (
CPU10は、集合割り込み信号を検出したら(S103)、割り込み要因レジスタ1をリードし(S104)、割り込み要因レジスタ1のいずれかのビットの値が”1”であるかを判断する(S105)。割り込み要因レジスタ1のいずれかのビットの値が”1”の場合は、CPU10は、入力制御レジスタ1をリードして入力信号の状態を確認し(S106)、各ビットに対応した処理を実行した後、割り込み要因レジスタ1をクリアし(S107)、S104に戻る。
When detecting the collective interrupt signal (S103), the
一方、割り込み要因レジスタ1の全てのビットの値が”0”の場合は、CPU10は、割り込み要因レジスタ2をリードし(S108)、割り込み要因レジスタ2のいずれかのビットの値が”1”であるかを判断する(S109)。割り込み要因レジスタ2のいずれかのビットの値が”1”の場合は、CPU10は、入力制御レジスタ2をリードして入力信号の状態を確認し(S110)、各ビットに対応した処理を実行した後、割り込み要因レジスタ2をクリアし(S111)、S108に戻る。
On the other hand, when the values of all the bits of the interrupt factor register 1 are “0”, the
上記フローについて、本実施例の入出力制御回路がMFPに組み込まれた場合を例にして説明する。図6に示した入力1〜10の内の入力4の状態が変化したとする。ここで、入力4はMFPのフロントカバー開閉センサからの信号とする。入力4の状態が変化すると、割り込み要因レジスタ1のビット4の値が”1”になり、CPU10に対して集合割り込み信号が出力される。CPU10は、この集合割り込み信号を検出すると、割り込み要因レジスタ1及び2をリードし、どの入力信号が変化したかを特定する。入力信号を特定した後、入力制御レジスタ1をリードして、現在入力4が”0”又は”1”のどちらの状態にあるかを確認する。状態を確認した後、対応した処理(ここでは「フロントカバーが開いています」といった表示処理)を行い、最後に割り込み要因クリアレジスタ1のビット4に”1”を書き込むことによって割り込み要因レジスタ1をクリアする。
The above flow will be described by taking as an example a case where the input / output control circuit of this embodiment is incorporated in an MFP. Assume that the state of the
次に、出力拡張制御(出力制御用のIO拡張デバイス50の制御)について、図9及び図10のフローチャート図を参照して説明する。出力拡張IO制御は、データの書き込みと出力値の確認(読み出し)とで構成される。
Next, output expansion control (control of the
データの書き込みでは、CPU10によるライトアクセスにより、CPLD1及びCPLD2の双方の出力制御レジスタにデータが書き込まれる(S201)。この時、CPLD2からは信号が出力されないため、CPLD2から出力される出力信号のみが変化する(S202)。また、出力値の確認では、CPU10は出力制御レジスタをリードする(S301)。この時、CPLD2にはリード信号が入力されないため、CPLD1がCPLD2に代わって出力制御レジスタの値を返す(S302)。
In the data writing, data is written to the output control registers of both CPLD1 and CPLD2 by the write access by the CPU 10 (S201). At this time, since no signal is output from CPLD2, only the output signal output from CPLD2 changes (S202). In confirming the output value, the
上記フローについて、具体例を挙げて説明する。図6に示した出力0の状態を”1”から”0”に変化させたいとする。ここで、出力0の信号は、あるデバイスの電源をOFFするための制御信号とする。CPU10は、出力制御レジスタ1のビット0に”0”を書き込む。このとき、CPLD1内の出力制御レジスタの値も同時に書き換えられる。CPLD2は出力制御レジスタ1のビット0が”0”に変化したのを受けて、CPLD2から出力される出力0の信号が”0”に変化する。
The above flow will be described with a specific example. Assume that the state of
CPU10が出力0の信号が正しく変化したかを確認する場合、出力制御レジスタに対してリードする。本実施例の構成ではCPLD2にはリード信号が接続されていないため、CPLD2がリード要求に対して出力制御レジスタのレジスタ値を応答することができない。しかしながら、CPLD1の出力制御レジスタにはCPLD2の出力制御レジスタと同じ値が保持されているため、CPLD1がレジスタ値を返すことができる。これにより、CPU10は、実際はCPLD2から出力されている出力制御レジスタのレジスタ値をCPLD1から読み出して確認することができる。
When the
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、入出力制御回路の構成や制御は適宜変更可能である。 The present invention is not limited to the above embodiment, and the configuration and control of the input / output control circuit can be changed as appropriate without departing from the spirit of the present invention.
例えば、上記実施例では、CPU10は3チャンネルのパラレルバスを有し、チャンネル1にデバイスA、チャンネル2にデバイスB、チャンネル3にデバイスC1、C2が接続される構成としたが、バスの同一チャンネル上に、入力制御用のIO拡張デバイス40と出力制御用のIO拡張デバイス50とが接続される限りにおいて、CPU10が有するバスの数や各チャンネルに接続されるデバイスは任意である。
For example, in the above embodiment, the
本発明は、バスの同一チャンネル上に複数のIO拡張デバイスが接続された入出力制御回路及び当該入出力制御回路における複数のIO拡張デバイスの同期制御方法に利用可能である。 The present invention can be used for an input / output control circuit in which a plurality of IO expansion devices are connected on the same channel of a bus, and a synchronization control method for a plurality of IO expansion devices in the input / output control circuit.
10 CPU
20 Nor-Flashメモリ
30 Nor-Flashメモリ
40 入力制御用のIO拡張デバイス
41 レジスタ制御部
42 入力制御レジスタ
43 出力制御レジスタ
50 出力制御用のIO拡張デバイス
51 レジスタ制御部
52 入力制御レジスタ
53 出力制御レジスタ
10 CPU
20 Nor-
Claims (14)
前記複数のIO拡張デバイスは、入力制御用のIO拡張デバイスと出力制御用のIO拡張デバイスとで構成され、
各々の前記IO拡張デバイスは、同一回路で構成されたレジスタ制御部を有し、
前記出力制御用のIO拡張デバイスには、リード用の制御信号が入力されておらず、
前記CPUからのライトアクセスでは、前記入力制御用のIO拡張デバイス及び前記出力制御用のIO拡張デバイスに、前記CPUから出力されるデータが書き込まれ、
前記CPUからのリードアクセスでは、前記入力制御用のIO拡張デバイスのみが、前記レジスタ制御部が管理するレジスタの値を応答出力する、
ことを特徴とする入出力制御回路。 An input / output control circuit in which a plurality of IO expansion devices are connected to the same channel of a specific bus of a CPU,
The plurality of IO expansion devices are configured with an IO expansion device for input control and an IO expansion device for output control,
Each of the IO expansion devices has a register control unit configured with the same circuit,
No read control signal is input to the output control IO expansion device,
In the write access from the CPU, the data output from the CPU is written to the IO expansion device for input control and the IO expansion device for output control.
In the read access from the CPU, only the IO expansion device for input control responds and outputs the value of the register managed by the register control unit.
An input / output control circuit characterized by that.
前記リードアクセスでは、前記CPUは、前記入力制御用のIO拡張デバイスの前記レジスタの値を読み込むことにより、前記出力制御用のIO拡張デバイスの前記レジスタに書き込まれた前記データを確認できる、
ことを特徴とする請求項1に記載の入出力制御回路。 In the write access, the data is written to a register managed by the register control unit of the IO expansion device for input control and a register managed by the register control unit of the IO expansion device for output control,
In the read access, the CPU can check the data written in the register of the output control IO expansion device by reading the value of the register of the input control IO expansion device.
The input / output control circuit according to claim 1.
ことを特徴とする請求項1又は2に記載の入出力制御回路。 Each of the IO expansion devices has an interrupt controller function that detects a change in an input signal input from the outside and notifies the CPU of an interrupt signal when the input signal changes.
The input / output control circuit according to claim 1 or 2.
前記入力制御用のIO拡張デバイスの前記割り込みコントローラ機能は、各々の入力信号の状態に応じた値を特定レジスタの各ビットに書き込み、いずれかのビットの値が変化したら、集合割り込み信号を前記CPUに通知し、
前記CPUは、前記集合割り込み信号を受信した後、前記特定レジスタの各ビットの値を読み込むことにより、状態が変化した入力信号を特定できる、
ことを特徴とする請求項3に記載の入出力制御回路。 A plurality of input signals are input to the IO control device for input control,
The interrupt controller function of the IO expansion device for input control writes a value corresponding to the state of each input signal to each bit of the specific register, and when the value of any bit changes, the collective interrupt signal is sent to the CPU Notify
The CPU can identify an input signal whose state has changed by reading the value of each bit of the specific register after receiving the collective interrupt signal.
The input / output control circuit according to claim 3.
ことを特徴とする請求項4に記載の入出力制御回路。 The CPU can initialize a value of a bit of the specific register corresponding to the predetermined bit of the other register by writing a predetermined value to a predetermined bit of another register different from the specific register.
The input / output control circuit according to claim 4.
前記複数のIO拡張デバイスは、入力制御用のIO拡張デバイスと出力制御用のIO拡張デバイスとで構成され、
各々の前記IO拡張デバイスは、同一回路で構成されたレジスタ制御部を有し、
前記入力制御用のIO拡張デバイスには、ライト用の制御信号が入力されておらず、前記出力制御用のIO拡張デバイスに入力されるリード用の制御信号は、当該出力制御用のIO拡張デバイス内で非アクティブな論理レベルに固定されており、
前記CPUからのライトアクセスでは、前記出力制御用のIO拡張デバイスのみに、前記CPUから出力されるデータが書き込まれ、
前記CPUからのリードアクセスでは、アクティブなリード用の制御信号が入力される前記入力制御用のIO拡張デバイスのみが、前記レジスタ制御部が管理するレジスタの値を応答出力する、
ことを特徴とする入出力制御回路。 An input / output control circuit in which a plurality of IO expansion devices are connected to the same channel of a specific bus of a CPU,
The plurality of IO expansion devices are configured with an IO expansion device for input control and an IO expansion device for output control,
Each of the IO expansion devices has a register control unit configured with the same circuit,
No write control signal is input to the input control IO expansion device, and the read control signal input to the output control IO expansion device is the output control IO expansion device. Is fixed to an inactive logic level within
In write access from the CPU, data output from the CPU is written only in the IO expansion device for output control.
In the read access from the CPU, only the IO control device for input control to which an active read control signal is input responds and outputs the value of the register managed by the register control unit.
An input / output control circuit characterized by that.
ことを特徴とする請求項6に記載の入出力制御回路。 Each of the IO expansion devices has an interrupt controller function that detects a change in an input signal input from the outside and notifies the CPU of an interrupt signal when the input signal changes.
The input / output control circuit according to claim 6.
各々のIO拡張デバイスに、同一回路で構成されたレジスタ制御部を設け、
前記出力制御用のIO拡張デバイスには、リード用の制御信号を入力せず、
前記CPUからのライトアクセスでは、前記入力制御用のIO拡張デバイス及び前記出力制御用のIO拡張デバイスに、前記CPUから出力されるデータを書き込み、
前記CPUからのリードアクセスでは、前記入力制御用のIO拡張デバイスのみが、前記レジスタ制御部が管理するレジスタの値を応答出力する、
ことを特徴とする同期制御方法。 The plurality of IO expansions in an input / output control circuit in which a plurality of IO expansion devices are connected to each other on the same channel of a specific bus of the CPU, the IO expansion devices for input control and the IO expansion devices for output control. A device synchronization control method comprising:
Each IO expansion device is provided with a register control unit composed of the same circuit,
The output control IO expansion device does not input a read control signal,
In the write access from the CPU, the data output from the CPU is written in the IO expansion device for input control and the IO expansion device for output control.
In the read access from the CPU, only the IO expansion device for input control responds and outputs the value of the register managed by the register control unit.
A synchronization control method characterized by the above.
前記リードアクセスでは、前記CPUは、前記入力制御用のIO拡張デバイスの前記レジスタの値を読み込むことにより、前記出力制御用のIO拡張デバイスの前記レジスタに書き込まれた前記データを確認する、
ことを特徴とする請求項8に記載の同期制御方法。 In the write access, the data is written to a register managed by the register control unit of the IO expansion device for input control and a register managed by the register control unit of the IO expansion device for output control,
In the read access, the CPU confirms the data written in the register of the output control IO expansion device by reading the value of the register of the input control IO expansion device.
The synchronization control method according to claim 8, wherein:
前記入力制御用のIO拡張デバイスの前記割り込みコントローラ機能は、外部から入力される入力信号の変化を検出し、前記入力信号が変化したら、割り込み信号を前記CPUに通知する、
ことを特徴とする請求項8又は9に記載の同期制御方法。 Provide an interrupt controller function for each IO expansion device,
The interrupt controller function of the IO control device for input control detects a change in an input signal input from the outside, and notifies the CPU of an interrupt signal when the input signal changes.
The synchronous control method according to claim 8 or 9, characterized in that
前記入力制御用のIO拡張デバイスの前記割り込みコントローラ機能は、特定レジスタの各ビットに、各々の入力信号の状態に応じた値を書き込み、いずれかのビットの値が変化したら、集合割り込み信号を前記CPUに通知し、
前記CPUは、前記集合割り込み信号を受信した後、前記特定レジスタの値を読み込むことにより、状態が変化した入力信号を特定する、
ことを特徴とする請求項10に記載の同期制御方法。 When a plurality of input signals are input to the IO control device for input control,
The interrupt controller function of the IO expansion device for input control writes a value corresponding to the state of each input signal to each bit of the specific register, and when the value of any bit changes, the collective interrupt signal is Notify the CPU,
The CPU specifies the input signal whose state has changed by reading the value of the specific register after receiving the collective interrupt signal.
The synchronous control method according to claim 10.
ことを特徴とする請求項11に記載の同期制御方法。 The CPU initializes a value of a bit of the specific register corresponding to the predetermined bit of the other register by writing a predetermined value to a predetermined bit of another register different from the specific register.
The synchronization control method according to claim 11, wherein:
各々の前記IO拡張デバイスに、同一回路で構成されたレジスタ制御部を設け、
前記入力制御用のIO拡張デバイスには、ライト用の制御信号を入力せず、かつ、前記出力制御用のIO拡張デバイスに入力するリード用の制御信号を、当該出力制御用のIO拡張デバイス内で非アクティブな論理レベルに固定し、
前記CPUからのライトアクセスでは、前記出力制御用のIO拡張デバイスのみに、前記CPUから出力されるデータを書き込み、
前記CPUからのリードアクセスでは、アクティブなリード用の制御信号が入力される前記入力制御用のIO拡張デバイスのみが、前記レジスタ制御部が管理するレジスタの値を応答出力する、
ことを特徴とする同期制御方法。 The plurality of IO expansions in an input / output control circuit in which a plurality of IO expansion devices are connected to each other on the same channel of a specific bus of the CPU, the IO expansion devices for input control and the IO expansion devices for output control. A device synchronization control method comprising:
Each of the IO expansion devices is provided with a register control unit configured with the same circuit,
A write control signal is not input to the input control IO expansion device, and a read control signal input to the output control IO expansion device is input to the output control IO expansion device. To the inactive logic level,
In the write access from the CPU, the data output from the CPU is written only in the IO expansion device for output control.
In the read access from the CPU, only the IO control device for input control to which an active read control signal is input responds and outputs the value of the register managed by the register control unit.
A synchronization control method characterized by the above.
前記入力制御用のIO拡張デバイスの前記割り込みコントローラ機能は、外部から入力される入力信号の変化を検出し、前記入力信号が変化したら、割り込み信号を前記CPUに通知する、
ことを特徴とする請求項13に記載の同期制御方法。 Provide an interrupt controller function for each IO expansion device,
The interrupt controller function of the IO control device for input control detects a change in an input signal input from the outside, and notifies the CPU of an interrupt signal when the input signal changes.
The synchronous control method according to claim 13, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013145144A JP6112412B2 (en) | 2013-07-11 | 2013-07-11 | I / O control circuit and synchronization control method in I / O control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013145144A JP6112412B2 (en) | 2013-07-11 | 2013-07-11 | I / O control circuit and synchronization control method in I / O control circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015018408A JP2015018408A (en) | 2015-01-29 |
JP6112412B2 true JP6112412B2 (en) | 2017-04-12 |
Family
ID=52439341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013145144A Active JP6112412B2 (en) | 2013-07-11 | 2013-07-11 | I / O control circuit and synchronization control method in I / O control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6112412B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752188A (en) * | 2020-05-28 | 2020-10-09 | 南京南瑞继保电气有限公司 | IO configuration method and system |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6160822B2 (en) * | 2013-08-09 | 2017-07-12 | コニカミノルタ株式会社 | I / O expansion device group and I / O expansion device |
CN113704157B (en) * | 2021-08-04 | 2024-04-02 | 威创集团股份有限公司 | System for controlling multipath reset signals with different levels based on bus |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5864534A (en) * | 1981-10-14 | 1983-04-16 | Fuji Electric Co Ltd | Data transfer system of computer device |
JPH11250007A (en) * | 1998-03-05 | 1999-09-17 | Hitachi Ltd | Serial access system and device used for the same |
JP2004341683A (en) * | 2003-05-14 | 2004-12-02 | Sony Corp | Data bus communication system and data bus communication control method |
-
2013
- 2013-07-11 JP JP2013145144A patent/JP6112412B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752188A (en) * | 2020-05-28 | 2020-10-09 | 南京南瑞继保电气有限公司 | IO configuration method and system |
Also Published As
Publication number | Publication date |
---|---|
JP2015018408A (en) | 2015-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE44270E1 (en) | System for providing access of multiple data buffers to a data retaining and processing device | |
US10140242B2 (en) | General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network | |
CN100405352C (en) | Apparatus for interconnecting a plurality of process nodes by serial bus | |
JP5209461B2 (en) | Data transfer between devices in an integrated circuit | |
US8700835B2 (en) | Computer system and abnormality detection circuit | |
KR20160060527A (en) | Pci device and pci system including the same | |
US8775712B2 (en) | Bus connecting device for connecting host with external device | |
JP2011070655A (en) | Information processing apparatus, memory dump system and memory dump method | |
JP6112412B2 (en) | I / O control circuit and synchronization control method in I / O control circuit | |
JP2003296267A (en) | Bus system and information processing system including bus system | |
CN115208752A (en) | Network device configuration based on slave device type | |
JP2005293596A (en) | Arbitration of data request | |
CN115562738A (en) | Port configuration method, component and hard disk expansion device | |
KR100938612B1 (en) | Transfer device, information processing apparatus having transfer device, and controlling method | |
JP2006126938A (en) | Data transfer system and its data transfer method | |
US7716392B2 (en) | Computer system having an I/O module directly connected to a main storage for DMA transfer | |
US9442788B2 (en) | Bus protocol checker, system on chip including the same, bus protocol checking method | |
JP2007508620A (en) | Communication steering for use in a multi-master shared resource system | |
JP2003022212A (en) | Bi-directional ram | |
JP5640941B2 (en) | Process data monitoring system | |
JP2005010966A (en) | Lsi device | |
JP6535516B2 (en) | Multi-programmable device system and control method thereof | |
JP2001027920A (en) | Bus bridge circuit and its power management method | |
JP6213029B2 (en) | Communication device and communication system | |
JP2014026454A (en) | Bridge circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170131 |
|
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: 20170217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6112412 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |