【0001】
【発明の属する技術分野】
本発明は、1つのCPUと1つ以上の周辺デバイスから構成されるハードウェアシステムに関するものである。
【0002】
【従来の技術】
1つのCPUと1つ以上の周辺デバイスから構成されるハードウェアシステムは種種の機器に搭載されている。
【特許文献1】特開2000−322376公報
【0003】
【発明が解決しようとする課題】
このようなハードウェアシステムにおいて、従来は、新規のデバイス毎にバスインターフェースのタイミングに合わせて事前にハードウェア化しなければならないという煩わしさがあった。
本発明は、デバイス選択の範囲を広げ、バスの信号線数を少なくすることができるハードウェアシステムを提供することを目的とする。
【0004】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載の発明は、1つのCPUと1つ以上の周辺デバイスから構成されるハードウェアシステムにおいて、CPUと1つ以上の周辺デバイス間のインターフェースとして同期パラレルインターフェースを用い、ソフトウェアによって信号のタイミングを可変としたバスインターフェース方式を採用したハードウェアシステムを最も主要な特徴とする。
請求項2記載の発明は、請求項1記載のハードウェアシステムにおいて、CPUから複数の周辺デバイスへ同時にデータをライト可能としたハードウェアシステムを主要な特徴とする。
請求項3記載の発明は、請求項1記載のハードウェアシステムにおいて、周辺デバイスにアドレス・データ分離回路を内蔵するハードウェアシステムを主要な特徴とする。
【0005】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図1はバスタイミング(アドレス、データ、チップセレクト、リード、ライト)とCPUから送られる8ビットデータ及びクロックの関係を示す図であり、図2は本発明の第1の実施の形態に係るハードウェアシステムの構成図、図3は本発明の第2の実施の形態に係るハードウェアシステムの構成図である。図2、図3において、CPU1はデコード回路3を介して周辺デバイス2と接続されている。
CPU1には、アドレスバスとデータバスが分離されたセパレートバス型のものと、アドレスバスとデータバスをマルチプレックスしたタイプのものとが存在するが、仕様が異なるため全ての周辺デバイス2がそのまま接続できる訳ではない。また、ワンチップマイコンなど外部アドレス空間を持たないCPUも存在する。
本実施の形態では、クロック同期パラレルインターフェースを用いてデコード回路3と組み合わせることにより任意のCPUバスタイミングを生成するものである。図2に示すCPU1の8ビット同期パラレルインターフェースから、ソフトウェア処理によりデータの出力、及びCLOCK信号の1⇔0の切り替えを行う(ライト時は常に出力ポートであるが、リード時はデータの読み取り時のみ入力ポートとする)。
次に、CPU1から出力された信号はデコード回路3でクロックに同期して取り込まれ、ホールドされる。図1の例ではアドレス→制御信号(CS,RD/WR)開始→データ→制御信号(CS,RD/WR)終了の順で行われる。以上のようなCPU1制御により任意のACタイミング(立ち上がり時間、立ち下がり時間、H区間期間、L区間期間、及び周期、など)で信号を発生させることが可能となる。
そのようにして、CPU1がソフトウェア処理により任意のCPUバスタイミングを生成するようにすると、ハードウェア上の制約が小さくなり、既存のCPUバスインターフェースに対しても任意の周辺デバイス2が接続できるため、デバイス2選択の範囲が広がる。また、バスの信号線を少なくできるので基板間の接続が容易になる。
また本実施の形態では、チップセレクト信号(CS1、CS2、・・・・)を複数同時にアクティブにし、複数の周辺デバイス2に対して同時にデータをライトすることが可能である。ただし、読み出し時に複数のデバイス2を選択することは不可である。複数の周辺デバイス2に対してデータを同時にライトする場合には、設定等を短時間で行うことができる効果がある。
【0006】
又、本実施の形態では、図3に示すように、周辺デバイス2側の内部に、マルチプレックスされたアドレス・データ信号を分離するアドレス・データ分離回路4を搭載し、アドレスとデータを順次書き込むことでデータバスを兼用させ、それによって信号線数をより少なくする。尚、アドレスとデータのどちらを受信したかアドレス・データ分離回路4で判別するためにMODE信号を追加し、アドレス・データ分離回路4側でMODE信号を参照する。それにより、必要な信号線数は少なくて済むことから、周辺デバイス2側の端子数も少なくなり、パッケージサイズの更なる小型化が可能になる。
【0007】
図4は第1の制御例を示すフローチャートである。図2に示す第1の実施の形態のハードウェアシステムと対応している。CPUプログラムにより周辺デバイス2へアドレス信号をポートから出力する(S1)。次にCPUプログラムによりクロック信号を出力する(S2)。次にCPUプログラムにより周辺デバイス2へ制御信号をポートから出力する(S3)。次にCPUプログラムによりクロック信号を出力する(S4)。次にCPUプログラムにより周辺デバイス2へデータ信号をポートから出力する(S5)。次にCPUプログラムにより周辺デバイス2へ制御信号をポートから出力する(S6)。
図5は第2の制御例を示すフローチャートである。図2に示す第1の実施の形態のハードウェアシステムと対応している。CPUプログラムにより周辺デバイス2へアドレス信号をポートから出力する(S1)。次にCPUプログラムによりクロック信号を出力する(S2)。次にCPUプログラムにより周辺デバイス2へライト信号、複数のチップセレクト信号をポートから出力する(S3)。次にCPUプログラムによりクロック信号を出力する(S4)。次にCPUプログラムにより周辺デバイス2へライト信号、全てのチップセレクト信号をポートから出力する(S5)。次にCPUプログラムにより周辺デバイス2へ制御信号をポートから出力する(S6)。
図6は第3の制御例を示すフローチャートである。図3に示す第1の実施の形態のハードウェアシステムと対応している。CPUプログラムにより周辺デバイス2へアドレス信号をポートから出力する(S1)。次にCPUプログラムによりクロック信号を出力する(S2)。次にCPUプログラムによりアドレス・データ分離回路4へ制御信号をポートから出力する(S3)。次にアドレス・データ分離回路4により周辺デバイス2へアドレス信号、制御信号をポートから出力する(S4)。次にCPUプログラムによりクロック信号を出力する(S5)。次にCPUプログラムにより周辺デバイス2へデータ信号をポートから出力する(S6)。次にCPUプログラムによりアドレス・データ分離回路4へ制御信号をポートから出力する(S7)。次にアドレス・データ分離回路4により周辺デバイス2へデータ信号、制御信号をポートから出力する(S8)。
【0008】
【発明の効果】
以上説明したように、請求項1によれば、既存のCPUバスインターフェースに対して任意の周辺デバイスを接続できるため、デバイス選択の範囲が広がる。また、バスの信号線を少なくできるので基板間の接続が容易になる。
請求項2によれば、上記の効果のほかに、複数の周辺デバイスに対して設定を短時間で行うことができる効果がある。
請求項3によれば、請求項1の効果のほかに、周辺デバイス側の端子を少なくでき、パッケージサイズの小型化が可能になる効果がある。
【図面の簡単な説明】
【図1】バスタイミング(アドレス、データ、チップセレクト、リード、ライト)とCPUから送られる8ビットデータ及びクロックの関係を示す図である。
【図2】本発明の第1の実施の形態に係るハードウェアシステムの構成図である。
【図3】本発明の第2の実施の形態に係るハードウェアシステムの構成図である。
【図4】第1の制御例を示すフローチャートである。
【図5】第2の制御例を示すフローチャートである。
【図6】第3の制御例を示すフローチャートである。
【符号の説明】
1 CPU、2 周辺デバイス、3 デコード回路、4 アドレス・データ分離回路[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a hardware system including one CPU and one or more peripheral devices.
[0002]
[Prior art]
A hardware system including one CPU and one or more peripheral devices is mounted on various devices.
[Patent Document 1] Japanese Patent Application Laid-Open No. 2000-322376
[Problems to be solved by the invention]
Conventionally, in such a hardware system, it has been troublesome that it is necessary to implement hardware in advance in accordance with the timing of the bus interface for each new device.
An object of the present invention is to provide a hardware system capable of expanding the range of device selection and reducing the number of bus signal lines.
[0004]
[Means for Solving the Problems]
In order to achieve the above object, according to the present invention, in a hardware system including one CPU and one or more peripheral devices, a synchronous parallel interface is used as an interface between the CPU and one or more peripheral devices. The most important feature is a hardware system that employs a bus interface system in which the timing of a signal is made variable by software.
The second aspect of the invention is characterized in that, in the hardware system according to the first aspect, a hardware system in which data can be simultaneously written from a CPU to a plurality of peripheral devices is provided.
According to a third aspect of the present invention, in the hardware system according to the first aspect, a main feature is a hardware system in which an address / data separation circuit is built in a peripheral device.
[0005]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram showing the relationship between bus timing (address, data, chip select, read, and write), 8-bit data sent from a CPU, and a clock. FIG. 2 shows a hardware according to a first embodiment of the present invention. FIG. 3 is a configuration diagram of a hardware system according to a second embodiment of the present invention. 2 and 3, the CPU 1 is connected to the peripheral device 2 via the decoding circuit 3.
The CPU 1 includes a separate bus type in which an address bus and a data bus are separated, and a type in which an address bus and a data bus are multiplexed, but all the peripheral devices 2 are directly connected because of different specifications. It cannot be done. There are also CPUs such as one-chip microcomputers that do not have an external address space.
In the present embodiment, an arbitrary CPU bus timing is generated by combining with the decoding circuit 3 using a clock synchronous parallel interface. Data is output from the 8-bit synchronous parallel interface of the CPU 1 shown in FIG. 2 by software processing, and the CLOCK signal is switched between 1⇔0 (always an output port when writing, but only when reading data when reading). Input port).
Next, the signal output from the CPU 1 is taken in synchronism with the clock by the decoding circuit 3 and held. In the example of FIG. 1, the processing is performed in the order of address → start of control signal (CS, RD / WR) → data → end of control signal (CS, RD / WR). With the control of the CPU 1 as described above, it is possible to generate a signal at any AC timing (rise time, fall time, H section period, L section period, cycle, etc.).
In this way, if the CPU 1 generates an arbitrary CPU bus timing by software processing, hardware restrictions are reduced, and an arbitrary peripheral device 2 can be connected to an existing CPU bus interface. The range of selecting the device 2 is expanded. In addition, the number of bus signal lines can be reduced, so that connection between the boards is facilitated.
In this embodiment, it is possible to simultaneously activate a plurality of chip select signals (CS1, CS2,...) And write data to a plurality of peripheral devices 2 at the same time. However, it is impossible to select a plurality of devices 2 at the time of reading. When writing data to a plurality of peripheral devices 2 at the same time, there is an effect that setting and the like can be performed in a short time.
[0006]
In this embodiment, as shown in FIG. 3, an address / data separating circuit 4 for separating multiplexed address / data signals is mounted inside the peripheral device 2 side, and addresses and data are sequentially written. This allows the data bus to be shared, thereby reducing the number of signal lines. The MODE signal is added so that the address / data separation circuit 4 determines which of the address and the data is received, and the MODE signal is referred to on the address / data separation circuit 4 side. Accordingly, the number of necessary signal lines is reduced, so that the number of terminals on the peripheral device 2 side is also reduced, and the package size can be further reduced.
[0007]
FIG. 4 is a flowchart showing a first control example. This corresponds to the hardware system of the first embodiment shown in FIG. An address signal is output from the port to the peripheral device 2 by the CPU program (S1). Next, a clock signal is output by the CPU program (S2). Next, a control signal is output from the port to the peripheral device 2 by the CPU program (S3). Next, a clock signal is output by the CPU program (S4). Next, a data signal is output from the port to the peripheral device 2 by the CPU program (S5). Next, a control signal is output from the port to the peripheral device 2 by the CPU program (S6).
FIG. 5 is a flowchart showing a second control example. This corresponds to the hardware system of the first embodiment shown in FIG. An address signal is output from the port to the peripheral device 2 by the CPU program (S1). Next, a clock signal is output by the CPU program (S2). Next, a write signal and a plurality of chip select signals are output from the port to the peripheral device 2 by the CPU program (S3). Next, a clock signal is output by the CPU program (S4). Next, a write signal and all chip select signals are output from the port to the peripheral device 2 by the CPU program (S5). Next, a control signal is output from the port to the peripheral device 2 by the CPU program (S6).
FIG. 6 is a flowchart illustrating a third control example. This corresponds to the hardware system of the first embodiment shown in FIG. An address signal is output from the port to the peripheral device 2 by the CPU program (S1). Next, a clock signal is output by the CPU program (S2). Next, a control signal is output from the port to the address / data separation circuit 4 by the CPU program (S3). Next, the address / data separation circuit 4 outputs an address signal and a control signal to the peripheral device 2 from the port (S4). Next, a clock signal is output by the CPU program (S5). Next, a data signal is output from the port to the peripheral device 2 by the CPU program (S6). Next, a control signal is output from the port to the address / data separation circuit 4 by the CPU program (S7). Next, a data signal and a control signal are output from the port to the peripheral device 2 by the address / data separation circuit 4 (S8).
[0008]
【The invention's effect】
As described above, according to the first aspect, since any peripheral device can be connected to the existing CPU bus interface, the range of device selection is expanded. In addition, the number of bus signal lines can be reduced, so that connection between the boards is facilitated.
According to the second aspect, in addition to the above effects, there is an effect that setting can be performed for a plurality of peripheral devices in a short time.
According to the third aspect, in addition to the effect of the first aspect, the number of terminals on the peripheral device side can be reduced, and the package size can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram showing the relationship between bus timing (address, data, chip select, read, write), 8-bit data sent from a CPU, and a clock.
FIG. 2 is a configuration diagram of a hardware system according to the first embodiment of the present invention.
FIG. 3 is a configuration diagram of a hardware system according to a second embodiment of the present invention.
FIG. 4 is a flowchart illustrating a first control example.
FIG. 5 is a flowchart illustrating a second control example.
FIG. 6 is a flowchart illustrating a third control example.
[Explanation of symbols]
1 CPU, 2 peripheral devices, 3 decoding circuit, 4 address / data separation circuit