(57)【要約】【課題】インターフェースが異なる、二つのシステム間のデータ転送を実現することができるデータ転送装置を提供する。【解決手段】複数のモジュールと一つのシステムバスインターフェースを持つ第１のシステムと、入出力専用のインターフェースを持つ複数のモジュールを備えた第２のシステムとの間のデータ転送を可能にするため、第１、第２のシステムからの制御信号が入力されるバスアービターによりバススイッチを制御し、第１のシステムのバスを第２のシステムの各モジュールのバスのいずれか一つに切り替える。【選択図】図１
2009169559.tif 000002
【特許請求の範囲】
【請求項１】
複数のモジュールと一つのシステムバスインターフェースを持つ第１のシステムと、入出力専用のインターフェースを持つ複数のモジュールを備えた第２のシステムとの間のデータ転送を可能にするデータ転送装置であって、
上記第１、第２のシステムからの制御信号が入力されるバスアービターと、上記バスアービターの出力信号に基づき第１のシステムのバスを第２のシステムの各モジュールのバスのいずれか一つに切り替えるバススイッチを備えたことを特徴とするデータ転送装置。
【請求項２】
請求項１に記載されたデータ転送装置において、
上記第１のシステムのモジュールが外部リクエストによるＤＭＡ要求モジュールであり、
上記バスアービターが、第１のシステムの各モジュールからのＤＭＡ要求信号と、上記第２のシステムの各モジュールからのステータス信号の論理状態に基づき上記バススイッチを切り替えることを特徴とするデータ転送装置。
【請求項３】
請求項１または請求項２に記載されたデータ転送装置において、
上記第１のシステム及び第２のシステム内に、双方向のデータ転送が可能なモジュール、データ送信専用のモジュール、データ受信専用のモジュールを含んでいることを特徴とするデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるインターフェースをもつ２つのシステム間でデータの転送を行うデータ転送装置に関する。
【背景技術】
【０００２】
周辺装置と内部メモリとの間でデータの転送を行う場合にＤＭＡ（Direct Memory Access）転送が使用されている。このＤＭＡ転送は、送信元のデータの転送開始アドレス、転送終了アドレス及び送信先の転送開始アドレス、転送終了アドレスを指定することにより、デバイス間で直接データを転送する方式である。
【０００３】
このＤＭＡ転送によりデバイス間のデータ転送を行うシステムでは接続デバイスに同一のハンドシェイクインターフェースを持たせる必要がある。例えば、一方のデバイスがＤＭＡ要求信号（ＲＥＱ）を出力し、これに対して他方のデバイスがアクノリッジ信号（ＡＣＫ）を返すことにより、ＤＭＡ転送を開始するようなインターフェースがある（例えば、特許文献１参照）。このようなインターフェースを用いてＤＭＡ転送を行う場合には、双方のデバイスに上記の機能を持たせたインターフェースが必要となる。
【特許文献１】特開昭６４−７８３５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように、ＤＭＡ転送を行うシステムでは接続デバイスに同一のハンドシェイクインターフェースを持たせる必要があり、異なるハンドシェイクインターフェースを持つデバイス同士は接続することができない。
【０００５】
一方、デバイスの中には、複数の外部リクエストによるＤＭＡ要求モジュールと一つのシステムバスインターフェースを持つデバイスがある。また、他のデバイスとして、システムバスインターフェース上に外部リクエストに応答するＤＭＡコントローラ（ＤＭＡＣ）を持たず、システムバスインターフェースとは別に入出力専用のインターフェースを持ったモジュールを複数備えたデバイスもある。
【０００６】
上記のようにデバイスの中には、インターフェースの異なるものがあり、このようなデバイスをデータバスを介して接続しても、データの転送を行うことができない、という問題が生じる。
【０００７】
本発明は、上記の問題に鑑みてなされたもので、インターフェースが異なる、二つのシステム間のデータ転送を実現することができるデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するため、本発明のデータ転送装置は、複数のモジュールと一つのシステムバスインターフェースを持つ第１のシステムと、入出力専用のインターフェースを持つ複数のモジュールを備えた第２のシステムとの間のデータ転送を可能にするデータ転送装置であって、上記第１、第２のシステムからの制御信号が入力されるバスアービターと、上記バスアービターの出力信号に基づき第１のシステムのバスを第２のシステムの各モジュールのバスのいずれか一つに切り替えるバススイッチを備えたことを特徴とする。
【０００９】
また、本発明に係る他のデータ転送装置は、上記のデータ転送装置において、上記第１のシステムのモジュールが外部リクエストによるＤＭＡ要求モジュールであり、上記バスアービターが、第１のシステムの各モジュールからのＤＭＡ要求信号と、上記第２のシステムの各モジュールからのステータス信号の論理状態に基づき上記バススイッチを切り替えることを特徴とする。
【００１０】
さらに、本発明に係る他のデータ転送装置は、上記のデータ転送装置において、上記第１のシステム及び第２のシステム内に、双方向のデータ転送が可能なモジュール、データ送信専用のモジュール、データ受信専用のモジュールを含んでいることを特徴とする。
【発明の効果】
【００１１】
本発明のデータ転送装置は、第１、第２のシステムからの制御信号が入力されるバスアービターがバススイッチにより第１のシステムのバスを第２のシステムの各モジュールのバスのいずれか一つに切り替える。したがって、本発明のデータ転送装置によれば、複数のモジュールと一つのシステムバスインターフェースを持つシステムと、入出力専用のインターフェースを持つ複数のモジュールを備えたシステムとの間のデータ転送を行うことができる。
【実施例】
【００１２】
以下、本発明のデータ転送装置の実施例について図１により説明する。図１において、１は本発明のデータ転送装置を実施する中継デバイスであり、２、３はそれぞれの間でデータの転送を行うデバイスである。
中継デバイス１は、バスアービター１１及びバススイッチ１２により構成されている。バスアービター１１はデバイス２、デバイス３からの制御信号に基づきバススイッチ１２を切り替える。バススイッチ１２には、複数のトライステートバッファを用いており、これらのトライステートバッファをハイインピーダンス状態にすることにより、必要でないバスをデバイス２から切り離す。
【００１３】
一方、デバイス２は、デュアルポートＲＡＭ（Random  Access  Memory）２１、入力のみのＦＩＦＯ（First  In  First  Out）メモリ２２及び出力のみのＦＩＦＯメモリ２３より構成されている。このデバイス２は一つのシステムバスインターフェースを有し、上記の各モジュールがデータバス４１に接続されている。
【００１４】
デュアルポートＲＡＭ２１は、メモリセルアレイにランダムにアクセスするとともに、シリアルにアクセスすることが可能なデュアルポートのメモリである。このデュアルポートＲＡＭ２１は、制御バス４５を介してチップセレクト信号（cs）を受け、データのリード／ライトを要求された時、他の要求によりデータのリード／ライトを実行できない場合には、ウェイト信号（wait）を出力する。
【００１５】
ＦＩＦＯメモリ２２及び２３は、互いに非同期のクロックで動作する二つのデバイス間でデータ転送を行う際のインターフェース等として利用されるものである。このＦＩＦＯは、データを記憶するためのＲＡＭと、ライトポインタ及びリードポインタを管理するためのアドレス演算回路とから構成されている。このため、ＦＩＦＯメモリは、ライト用のクロックとリード用のクロックとがそれぞれ入力可能なデュアルポートＲＡＭを用いて実現されることが多い。
このＦＩＦＯメモリ２２及び２３はＤＭＡに対応しており、データの入出力時には、制御バス４５にＤＭＡ要求信号（req）を出力し、これに対してアクノリッジ信号（ack）が返ってきたらＤＭＡ転送を開始する。
【００１６】
また、デバイス３は、メモリ（図示せず）へのデータの書込み、読み出しを制御するＣＰＵ３１、出力専用のモジュール３２、及び、入力専用のモジュール３３から構成されている。出力専用のモジュール３２はメモリからのデータを加工して出力し、入力専用のモジュール３３は入力されたデータを加工してメモリに記憶する。これらのモジュール３２及び３３は、他の処理によりデータの入出力を実行できない場合、制御バス４５にビジー信号（bsy）を出力し、イネーブル信号（enb）が入力された時、データの入出力を実行する。
これらのモジュールは入出力専用のインターフェースを持ち、それぞれデータバス４２〜４４に接続されている。
【００１７】
次に、デバイス２及びデバイス３間のデータ転送時のバスアービター１１の作用について、図２のフローチャートにより説明する。
バスアービター１１は、常時、図２のフローチャートに示すデータ転送プログラムを実施しており、このプログラムを開始した場合、ＣＰＵ３１からチップセレクト信号（cs3）が入力されているか否かを判定する（ステップ１０１）。ＣＰＵ３１からチップセレクト信号（cs3）が入力されていると判定した場合、バスアービター１１は、制御バス４５を介してチップセレクト信号（cs2）をデュアルポートＲＡＭ２１に入力する（ステップ１０２）。
【００１８】
この後、バスアービター１１はデュアルポートＲＡＭ２１から制御バス４５にウェイト信号（wait２）が入力されたか否かを判定する（ステップ１０３）。そして、デュアルポートＲＡＭ２１からウェイト信号（wait２）が入力されたと判定した場合、バスアービター１１は、ＣＰＵ３１にウェイト信号（wait３）を出力して、データのリード／ライトを中止させる（ステップ１０４）。
【００１９】
また、ステップ１０３でデュアルポートＲＡＭ２１からウェイト信号（wait２）が入力されていないと判定した場合、バスアービター１１は、バススイッチ１２を制御してデータバス４１をデータバス４２に接続する（ステップ１０５）。これにより、データバス４１及びデータバス４２を介してＣＰＵ３１とデュアルポートＲＡＭ２１との間のデータ転送が実行される。
【００２０】
データバス４１をデータバス４２に接続した後、バスアービター１１は、データ転送が完了したか否かを判定する（ステップ１０６）。そして、データ転送が完了したと判定した場合、バスアービター１１は、ＦＩＦＯメモリ２２からＤＭＡ要求信号（req22）が入力されているか否かを判定することにより、ＦＩＦＯメモリ２２のデータ取得の要求の有無を判定する（ステップ１０７）。なお、ステップ１０４でウェイト信号を出力した後、または、ステップ１０１でＣＰＵ３１からチップセレクト信号が入力されていないと判定した場合も、バスアービター１１はＦＩＦＯメモリ２２からのデータ取得の要求の有無を判定する。
【００２１】
ステップ１０７でＦＩＦＯメモリ２２からＤＭＡ要求信号（req22）が入力されていると判定した場合、バスアービター１１は、モジュール３２からビジー信号（bsy32）が入力されているか否かを判定する（ステップ１０８）。モジュール３２からビジー信号（bsy32）が入力されていないと判定した場合、バスアービター１１は、バススイッチ１２を制御してデータバス４１をデータバス４３に接続する（ステップ１０９）。
【００２２】
次に、バスアービター１１は、ＦＩＦＯメモリ２２に制御バス４５を介してアクノリッジ信号（ack22）を出力した（ステップ１１０）後、デバイス３のモジュール３２にイネーブル信号（enb32）を出力する（ステップ１１１）。
これにより、モジュール３２がメモリからのデータを加工してデータバス４３に出力するので、データがデータバス４３、４１を介してＦＩＦＯメモリ２２に転送される。
【００２３】
イネーブル信号（enb32）を出力した後、バスアービター１１は、データ転送が完了したか否かを判定する（ステップ１１２）。そして、データ転送が完了したと判定した場合、バスアービター１１は、ＦＩＦＯメモリ２３からデバイス３のモジュール３３に対するデータ転送の要求の有無を判定する（ステップ１１３）。なお、ステップ１０７でＦＩＦＯメモリ２２からＤＭＡ要求信号が入力されていないと判定した場合、バスアービター１１は、ＦＩＦＯメモリ２３からのデータ転送の要求の有無を判定する。さらに、ステップ１０８でモジュール３２からビジー信号が入力されていると判定した場合も、バスアービター１１は、ＦＩＦＯメモリ２３からのデータ転送の要求の有無を判定する。
【００２４】
ステップ１１３でＦＩＦＯメモリ２３からＤＭＡ要求信号（req23）が入力されていないと判定した場合、バスアービター１１はプログラムを終了する。また、ＦＩＦＯメモリ２３からＤＭＡ要求信号（req23）が入力されていると判定した場合、バスアービター１１は、モジュール３３からビジー信号（bsy33）が入力されているか否かを判定する（ステップ１１４）。モジュール３３からビジー信号が入力されていると判定した場合、バスアービター１１はプログラムを終了し、ビジー信号が入力されていないと判定した場合、データバス４１をデータバス４４に接続する（ステップ１１５）。
【００２５】
次に、バスアービター１１は、ＦＩＦＯメモリ２３にアクノリッジ信号（ack23）を出力した（ステップ１１６）後、デバイス３のモジュール３３にイネーブル信号（enb33）を出力する（ステップ１１７）。
これにより、ＦＩＦＯメモリ２３がデータをデータバス４１に出力するので、このデータがデータバス４１、４４を介してモジュール３３に転送され、モジュール３３が転送されたデータを加工してメモリ（図示せず）に出力する。
イネーブル信号（enb33）を出力した後、バスアービター１１は、データ転送が完了したか否かを判定し（ステップ１１８）、データ転送が完了したと判定した場合、プログラムを終了する。
【００２６】
以上のように、デバイス２、３からの制御信号が入力されるバスアービター１１がバススイッチ１２によりデバイス２のバスをデバイス３の各モジュールのバスのいずれか一つに切り替える。したがって、複数のモジュールと一つのシステムバスインターフェースを持つデバイス２と、入出力専用のインターフェースを持つ複数のモジュールを備えたデバイス３との間のデータ転送を行うことができる。
【００２７】
なお、上記の実施例では、デバイス２がＤＭＡ要求信号（ＲＥＱ）とアクノリッジ信号（ＡＣＫ）によりＤＭＡ転送を開始し、デバイス３がイネーブル信号（ＥＮＢ）によりデータの入出力を実行する例について説明した。しかしながら、その他のインターフェース信号によりデータの転送を行うデバイスに対しても、本発明のデータ転送装置を適用することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明のデータ転送装置を備えたシステムの構成を示すブロック図である。
【図２】データ転送時のバスアービター１１の作用を示すフローチャートである。
【符号の説明】
【００２９】
１  中継デバイス
２、３  デバイス
１１  バスアービター
１２  バススイッチ
２１  デュアルポートＲＡＭ
２２  、２３  ＦＩＦＯメモリ
３１  ＣＰＵ
３２、３３  モジュール
４１、４２、４３、４４  データバス
４５  制御バス
【図１】
2009169559.tif 000003
【図２】
2009169559.tif 000004