(57)【要約】【課題】バス幅の異なる装置を接続するバスインタフェース切り替え回路を設け、各装置が相手装置のバス幅を意識することなく、自身のバス幅でデータ転送する方法及び回路を実現する。【解決手段】第１の装置２と第２の装置３との間で、データ及びアドレスを授受して行うバスインタフェース切り替え方法を実行するバスインタフェース切り替え回路４は、ＭバイトバスとＮバイトバスとを接続し、Ｍバイトデータを複数のＮバイトデータに並び替える、あるいは複数のＮバイトデータを１つのＭバイトデータに並び替えるバススイッチ４１と、Ｍバイトデータに付されたアドレスをＮバイトデータずつの連続するアドレスに切り替える、あるいはＮバイトデータの連続する複数のアドレスをＭバイトデータの１つのアドレスに切り替えるアドレス切り替え回路４２と、を備える。【選択図】　　　図１
2004030173.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置がもつＭバイトのデータ長のバスと、第２の装置がもつ前記Ｍバイトのデータ長に比べて大きくないＮバイトのデータ長のバスと、を接続し、前記第１の装置と前記第２の装置との間で、データ及びアドレスを転送するバスインタフェース切り替え方法において、
前記第１の装置は、Ｍバイトのデータとそれのアドレスとをバスインタフェース切り替え回路との間でデータ転送し、
前記バスインタフェース切り替え回路は、Ｎバイトのデータとそれのアドレスとを前記第２の装置との間でデータ転送し、
前記第１の装置と前記第２とがそれぞれ相手装置のバスのデータ長及びアドレスを意識しないでデータ転送することを特徴とするバスインタフェース切り替え方法。
【請求項２】
前記Ｍバイトは、
６４ビット，３２ビット，１６ビットのいずれか１つの値をとることを特徴とする請求項１記載のバスインタフェース切り替え方法。
【請求項３】
前記Ｎバイトは、
６４ビット，３２ビット，１６ビット，８ビットのいずれか１つの値で、かつ前記Ｍバイトより大きくない値をとることを特徴とする請求項１記載のバスインタフェース切り替え方法。
【請求項４】
前記データ転送は、
前記第１の装置は、Ｍバイトのデータを１つの書き込みコマンドあるいは１つの読み出しコマンドで前記バスインタフェース切り替え回路とデータ転送し、前記第２装置は、ＮバイトのデータをＭバイトのデータになる複数の書き込みコマンドあるいは読み出しコマンドで前記バスインタフェース切り替え回路とデータ転送することを特徴とする請求項１記載のバスインタフェース切り替え方法。
【請求項５】
前記データ転送は、
前記バスインタフェース切り替え回路が、前記第１の装置が転送するＭバイトのデータのアドレスを前記Ｎバイトの複数データのアドレスに切り替えて前記第２の装置とデータ転送することを特徴とする請求項１記載のバスインタフェース切り替え方法。
【請求項６】
第１の装置がもつＭバイトのデータ長のバスと、第２の装置がもち、前記Ｍバイトのデータ長に比べて大きくないＮバイトのデータ長のバスと、を接続し、前記第１の装置と前記第２の装置との間で、データ及びアドレスを授受して行うバスインタフェース切り替え方法を実行するバスインタフェース切り替え回路において、
Ｍバイトのデータ長を持つバスとＮバイトのデータ長を持つバスとを接続し、ＭバイトのデータをＮバイトの複数データに並び替える、あるいはＮバイトの複数データを１つのＭバイトのデータに並び替えるバススイッチと、
前記Ｍバイトのデータのアドレスを前記Ｎバイトのデータのアドレスに切り替える、あるいは複数のＮバイトのデータのアドレスを前記Ｍバイトのデータのアドレスに切り替えるアドレス切り替え回路と、
を備えることを特徴とするバスインタフェース切り替え回路。
【請求項７】
前記Ｍバイトは、
６４ビット，３２ビット，１６ビットのいずれか１つの値をとることを特徴とする請求項６記載のバスインタフェース切り替え回路。
【請求項８】
前記Ｎバイトは、
６４ビット，３２ビット，１６ビット，８ビットのいずれか１つの値で、かつＭバイトより大きくない値をとることを特徴とする請求項６記載のバスインタフェース切り替え回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、装置間のデータ転送に関し、特に、バスのデータ長が異なる２つの装置間のデータ転送を、相手装置を意識しないで行うバスインタフェース切り替え方法及びバスインタフェース切り替え回路に関する。
【０００２】
【従来の技術】
狭いバス幅のメモリや周辺装置や入出力装置を広いバス幅の処理装置に接続する場合がある。特開平５−２５７８７０号公報によれば、１６ビット幅のＲＯＭを２つ並列の設けて、３２ビット幅のバスに接続する発明が説明されている。その場合のアドレスを２つのＲＯＭを同時に指定して、１６ビット幅のデータを２つで広いビット幅の３２ビットを一杯に利用する仕方が説明されている。また、それの従来技術の説明で、バス幅変換回路が説明されている。このバス幅変換回路は、広いバス幅のシステムと、狭いバス幅のＲＯＭのデータバスと、をレジスタを介してデータ長を広げてシステムバス幅に合わせるのに、処理装置から２回のアクセスを行って、ＲＯＭを２回に分けて読み出すことをしている。したがって、処理装置は、２回のコマンドを発行することになる。この公報では、発明のＲＯＭを２つ並列にして同時に読み出し、バス幅に合わせるために、２つのＲＯＭを用いる問題と、その従来技術のＲＯＭを２回に分けてアクセスするため、高速化が損なわれる問題と、がある。
【０００３】
更に、特開平５−２５０３１０号公報によれば、処理装置と、それに対するスレーブユニットをバスを介して接続するデータ長調整部を設け、データ長が異なるバスに対して、データを分けて相手のバス幅に合わせて複数回の転送をする、あるいは複数回に転送されたデータを統合して相手のデータ長に合わせて広げ、１回のデータ転送にする発明が説明されている。この発明では、相手を装置アドレスで識別してデータ転送するとき、データ長を検出してデータ長を調整している。しかし、相手装置に対して、データのアドレスを指定してデータ転送するアドレスを切り替える機能がない。
【０００４】
【発明が解決しようとする課題】
従来、組み込みマイコンがメモリにアクセスする場合、メモリの内のアドレスを指定してデータを書き込み、あるいは読み出しをする。その場合、組み込みマイコンのシステムバスと、メモリのバスと、が異なるバス幅であるとき、バス幅を相手に合わせるため、複数回に分けてデータ転送し、取り込んだデータを自身のデータ長に合わせる処理をしている。そのため、プログラムの転送コマンドが複数回発行されることになり、相手装置の構造を意識した処理になる。例えば、組み込みマイコンのデータ長が３２ビットで、メモリが１６ビットであるとき、組み込みマイコンは、３２ビットの上位１６ビットと下位１６ビットとに分けて、２度にデータ転送している。また、メモリからデータを読み出す場合、１６ビットずつ２度に分けて読み込み、自身のデータ長の３２ビットにデータを統合するのが通常である。
【０００５】
この発明は、以上のような背景の下になされるもので、バス幅が異なる装置を接続してデータ転送する場合、バスインタフェース切り替え回路を設けて、自身のバス幅で、相手装置を意識しないで、それぞれのバス上でデータ転送を実行する。したがって、３２ビットのデータ長を組み込みマイコンは、１回のコマンドで、１６ビットメモリに書き込み、あるいは読み出しをすることができる。
【０００６】
この発明の目的は、バス幅の異なる装置を接続するバスインタフェース切り替え回路を設け、各装置が自身のバス幅で相手装置を意識しないでデータ転送する方法及び回路を実現することにある。
【０００７】
【課題を解決するための手段】
そのため、この発明の、第１の装置がもつＭバイトのデータ長のバスと、第２の装置がもつ前記Ｍバイトのデータ長に比べて大きくないＮバイトのデータ長のバスと、を接続し、前記第１の装置と前記第２の装置との間で、データ及びアドレスを転送するバスインタフェース切り替え方法において、前記第１の装置は、Ｍバイトのデータとそれのアドレスとをバスインタフェース切り替え回路との間でデータ転送し、前記バスインタフェース切り替え回路は、Ｎバイトのデータとそれのアドレスとを前記第２の装置との間でデータ転送し、前記第１の装置と前記第２とがそれぞれ相手装置のバスのデータ長及びアドレスを意識しないでデータ転送することを特徴とする。
【０００８】
更に、前記Ｍバイトは、６４ビット，３２ビット，１６ビットのいずれか１つの値をとることを特徴とする。
【０００９】
更に前記Ｎバイトは、６４ビット，３２ビット，１６ビット，８ビットのいずれか１つの値で、かつ前記Ｍバイトより大きくない値をとることを特徴とする。
【００１０】
更に、前記データ転送は、前記第１の装置は、Ｍバイトのデータを１つの書き込みコマンドあるいは１つの読み出しコマンドで前記バスインタフェース切り替え回路とデータ転送し、前記第２装置は、ＮバイトのデータをＭバイトのデータになる複数の書き込みコマンドあるいは読み出しコマンドで前記バスインタフェース切り替え回路とデータ転送することを特徴とする。
【００１１】
更に、前記データ転送は、前記バスインタフェース切り替え回路が、前記第１の装置が転送するＭバイトのデータのアドレスを前記Ｎバイトの複数データのアドレスに切り替えて前記第２の装置とデータ転送することを特徴とする。
【００１２】
更に、第１の装置がもつＭバイトのデータ長のバスと、第２の装置がもち、前記Ｍバイトのデータ長に比べて大きくないＮバイトのデータ長のバスと、を接続し、前記第１の装置と前記第２の装置との間で、データ及びアドレスを授受して行うバスインタフェース切り替え方法を実行するバスインタフェース切り替え回路において、Ｍバイトのデータ長を持つバスとＮバイトのデータ長を持つバスとを接続し、ＭバイトのデータをＮバイトの複数データに並び替える、あるいはＮバイトの複数データを１つのＭバイトのデータに並び替えるバススイッチと、前記Ｍバイトのデータのアドレスを前記Ｎバイトのデータのアドレスに切り替える、あるいは複数のＮバイトのデータのアドレスを前記Ｍバイトのデータのアドレスに切り替えるアドレス切り替え回路と、を備えることを特徴とする。
【００１３】
更に、前記Ｍバイトは、６４ビット，３２ビット，１６ビットのいずれか１つの値をとることを特徴とする。
【００１４】
更に、前記Ｎバイトは、６４ビット，３２ビット，１６ビット，８ビットのいずれか１つの値で、かつＭバイトより大きくない値をとることを特徴とする。
【００１５】
【発明の実施の形態】
この発明の実施の形態について図面を参照して説明する。この発明のバスインタフェース切り替え方法の一実施例を適用する構成を示す図１を参照すると、装置２は、データ長がＭバイト（８ｘＭビット）で動作し、装置３は、データ長がＮバイト（８ｘＮビット）で動作する。バスインタフェース切り替え回路４は、装置２のバス５と、装置３のバス６と、を接続し、Ｍバイト幅のデータ転送をＮバイト幅のデータ転送に切り替える。バス５は、アドレスと、Ｍバイト幅のデータと、図示しない制御と、のラインで構成される。バス６は、アドレスと、Ｎバイト幅のデータと、図示しない制御と、のラインで構成される。
【００１６】
図２は、バスインタフェース切り替え回路４によるバス幅切り替えと、アドレス切り替えと、を示している、バス５及びバス６におけるデータ転送のタイミングチャートである。図２によれば、バス５におけるアドレス５１とＭバイトデータ５２とが同時にバスインタフェース切り替え回路４に転送され、バスインタフェース切り替え回路４がバス６にける、Ｎバイトの格納場所を示すアドレスに切り替えたアドレス６１１乃至アドレス６１ｉと、Ｎバイトのデータ６２１乃至データ６２ｉをｉ回のデータ転送にバスインタフェースを切り替えることを示している。このｉ回は、Ｎバイトずつのデータ転送がＭバイトになるまでの回数を示す。
【００１７】
図３は、バスインタフェース切り替え回路４の構成と、それに入出力するデータを示す。バスインタフェース切り替え回路４は、アドレス切り替え回路４１と、バススイッチ４２と、を備える。アドレス切り替え回路４１は、装置２が指定するＭバイトのデータ５２を格納するアドレス５１を、装置３における、Ｎバイトのデータ６２１乃至データ６２ｉと、Ｎバイトの格納場所を指定するアドレス６１１乃至アドレス６１ｉと、に切り替える。ｉは、Ｎバイトずつ転送して格納し、Ｍバイトになるまでの回数を示している。
【００１８】
次に、この実施例の動作について、図１，図２，図３を援用し、図４（ａ）及び図４（ｂ）を参照して説明する。
【００１９】
装置２の動作を示す図４（ａ）を参照すると、Ｍバイトのデータ５２をバスインタフェース切り替え回路４にバス５を介して出力する（ステップ７１）。同時に、該データを格納場所を指定するアドレス５１をバスインタフェース切り替え回路４にバス５を介して出力する（ステップ７２）。
【００２０】
バスインタフェース切り替え回路４の動作を示す図４（ｂ）を参照すると、装置３に対して、Ｎバイトのデータ６１１と（ステップ８１）、データ６２１の格納場所のアドレス６２１に切り替えと（ステップ８２）、をＭバイトのデータ転送が終了するまで繰り返す（ステップ８３）。
【００２１】
【発明の効果】
この発明の効果は、バス幅が異なる装置を接続することに対して、相手装置のバス幅を意識することなくデータ転送が行えるので、ソフトウェアを簡略にできることである。その理由は、相手装置のバスに接続するバスインタフェース切り替え回路に対して、自身と同じバス幅の装置であると認識してデータ転送を実施できるからである。
【００２２】
更に、データ転送を高速化することができる。その理由は、相手装置のバス幅を意識して複数回に分けてデータ転送する必要がなく、ソフトウェアを短縮できるからである。
【図面の簡単な説明】
【図１】この発明の方法を実行する構成を示す図である。
【図２】この方法の動作を示すタイムチャートである。
【図３】図１のバスインタフェース切り替え回路の構成と、入出するデータを示す図である。
【図４】分図（ａ）は、バス幅が広い装置の動作を示すフローチャート、分図（ｂ）は、バスインタフェース切り替え回路の動作を示すフローチャートである。
【符号の説明】
２　　装置
３　　装置
４　　バスインタフェース切り替え回路
５　　バス
６　　バス
４１　　アドレス切り替え回路
４２　　バススイッチ
【図１】
2004030173.tif 000003
【図２】
2004030173.tif 000004
【図３】
2004030173.tif 000005
【図４】
2004030173.tif 000006