(57)【特許請求の範囲】
【請求項１】
所定数のデータからなる単位データの複数個からなるパケットを、第１のメモリ手段から第２のメモリ手段に、前記単位データの所定数毎にＤＭＡ（Ｄｉｒｅｃｔ Ｍｅｍｏｒｙ Ａｃｃｅｓｓ）転送するデータ転送方法であって、
前記第１のメモリ手段から前記第２のメモリ手段にＤＭＡ転送する最初の前記単位データが、パケットの先頭であるか否かを示す先頭情報と、前記第１のメモリ手段から前記第２のメモリ手段にＤＭＡ転送する最後の前記単位データが、パケットの最後であるか否かを示す最後情報とを、前記ＤＭＡ転送のための制御レジスタに設定し、その制御レジスタの設定に従って前記ＤＭＡ転送を実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、および前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させることを特徴とするデータ転送方法。
【請求項２】
請求項１において、
転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して前記ＤＭＡ転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定することを特徴とするデータ転送方法。
【請求項３】
請求項１または請求項２において、
前記第１のメモリ手段は、外部バスとの間でのデータの授受を行なうと共に、内部バスを通じて前記第２のメモリ手段との間で前記ＤＭＡ転送を行なうものであることを特徴とするデータ転送方法。
【請求項４】
所定数のデータからなる単位データの複数個からなるパケットを、第１のメモリ手段から第２のメモリ手段に、前記単位データの所定数毎にＤＭＡ（Ｄｉｒｅｃｔ Ｍｅｍｏｒｙ Ａｃｃｅｓｓ）転送するデータ転送装置であって、
前記ＤＭＡ転送のための制御用レジスタと、
前記ＤＭＡ転送の最初の前記単位データがパケットの先頭であるか否かを示す先頭情報と、前記ＤＭＡ転送の最後の前記単位データがパケットの最後であるか否かを示す最後情報とを、前記制御用レジスタに設定する設定手段と、
前記制御用レジスタの設定に従って前記ＤＭＡを実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、また前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させる手段と、
を備えることを特徴とするデータ転送装置。
【請求項５】
請求項４において、
前記設定手段は、転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定することを特徴とするデータ転送装置。
【請求項６】
請求項４または請求項５において、
前記第１のメモリ手段は、外部バスとの間でのデータの授受を行なうと共に、内部バスを通じて前記第２のメモリ手段との間で前記ＤＭＡ転送を行なうものであることを特徴とするデータ転送装置。
【請求項７】
非同期通信により外部バスから取得したパケットを第１のメモリ手段に格納し、前記第１のメモリ手段に格納されたパケットを内部バスを通じて第２のメモリ手段に転送し、前記第２のメモリ手段に格納されたパケットを分解して得たデータを内部信号処理系に転送するようにすると共に、
前記内部信号処理系からのデータをパケット化して前記第２のメモリ手段に格納し、前記第２のメモリ手段に格納したパケット化データを第３のメモリ手段に前記内部バスを通じて転送し、前記第３のメモリ手段から、前記外部バスに非同期で送り出すようにする通信インターフェース方法であって、
前記第１のメモリ手段と前記第２のメモリ手段との間における転送、および前記第２のメモリ手段と前記第３のメモリ手段との間におけるデータ転送は、ＤＭＡ転送として、
前記ＤＭＡ転送は、所定数のデータからなる単位データの所定数毎に行なうものであって、
前記第１のメモリ手段と前記第２のメモリ手段との間、あるいは前記第２のメモリと前記第３のメモリ手段との間におけるＤＭＡ転送の最初の前記単位データが、パケットの先頭であるか否かを示す先頭情報と、最後の前記単位データが、パケットの最後であるか否かを示す最後情報とを、前記ＤＭＡ転送のための制御用レジスタに設定し、その制御用レジスタの設定に従って前記ＤＭＡ転送を実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、および前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させることを特徴とする通信インターフェース方法。
【請求項８】
請求項７において、
転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して前記ＤＭＡ転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定することを特徴とする通信インターフェース方法。
【請求項９】
請求項７〜請求項８のいずれかにおいて、
前記外部バスは、ＩＥＥＥ（Ｔｈｅ Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｅｌｅｃｔｒｉｃａｌ ａｎｄ Ｅｌｅｃｔｒｏｎｉｃｓ Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ．）１３９４バス規格のシリアルバスであることを特徴とする通信インターフェース方法。
【請求項１０】
請求項９において、
前記転送するデータの種類を判別し、その判別結果に応じて、前記第１のメモリ手段と前記第２のメモリ手段との間におけるデータ転送、および前記第２のメモリ手段と前記第３のメモリ手段との間におけるデータ転送は、ＤＭＡ転送とすることを特徴とする通信インターフェース方法。
【請求項１１】
請求項９において、
前記転送するデータのサイズを判別し、その判別結果に応じて、前記第１のメモリ手段と前記第２のメモリ手段との間におけるデータ転送、および前記第２のメモリ手段と前記第３のメモリ手段との間におけるデータ転送は、ＤＭＡ転送とすることを特徴とする通信インターフェース方法。
【請求項１２】
内部バスと、
前記内部バスと外部バスとの間に設けられ、非同期通信により外部バスから取得したパケットを格納するための第１のメモリ手段と、
前記内部バスと内部信号処理系との間に設けられる第２のメモリ手段と、
前記内部バスと、前記外部バスとの間に設けられ、非同期通信により前記外部バスにパケットを送出するための第３のメモリ手段と、
前記第１のメモリ手段と前記第２のメモリ手段との間におけるデータ転送、および前記第２のメモリ手段と前記第３のメモリ手段との間におけるデータ転送を、ＤＭＡ転送により実行するためのＤＭＡコントローラと、
前記ＤＭＡ転送を制御するための制御情報が格納される制御用レジスタと、
前記第２のメモリ手段に転送されたパケットを分解して、前記第２のメモリ手段に再格納すると共に、前記第２のメモリ手段に格納された前記内部信号処理系からのデータをパケット化して、前記第２のメモリ手段に再格納する手段とを備え、
前記ＤＭＡ転送は、所定数のデータからなる単位データの所定数毎に行なうものであって、
前記制御用レジスタに、前記ＤＭＡ転送の最初の前記単位データが、パケットの先頭であるか否かを示す先頭情報と、最後の前記単位データが、パケットの最後であるか否かを示す最後情報とを、設定する設定手段を備えると共に、
前記ＤＭＡコントローラは、前記制御用レジスタの設定に従って前記ＤＭＡ転送を実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、および前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させることを特徴とする通信インターフェース装置。
【請求項１３】
請求項１２において、
前記設定手段は、転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して前記ＤＭＡ転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定することを特徴とする通信インターフェース装置。
【請求項１４】
請求項１２〜請求項１３のいずれかにおいて、
前記外部バスは、ＩＥＥＥ１３９４バス規格のシリアルバスであることを特徴とする通信インターフェース装置。
【請求項１５】
請求項１４において、
前記転送するデータの種類を判別する判別手段と、
前記判別手段の判別結果に応じて、前記第１のメモリ手段と前記第２のメモリ手段との間におけるデータ転送および前記第２のメモリ手段と前記第３のメモリ手段との間におけるデータ転送は、ＤＭＡ転送とするように制御する手段と、
を備えることを特徴とする通信インターフェース装置。
【請求項１６】
請求項１４において、
前記転送するデータのサイズを判別する判別手段と、
前記判別手段の判別結果に応じて、前記第１のメモリ手段と前記第２のメモリ手段との間におけるデータ転送、および前記第２のメモリ手段と前記第３のメモリ手段との間におけるデータ転送は、ＤＭＡ転送とするように制御する手段と、
を備えることを特徴とする通信インターフェース装置。
【請求項１７】
請求項１２〜請求項１４のいずれかにおいて、
前記制御用レジスタには、前記第２のメモリ手段についてのＤＭＡ転送の受信および送信の制御データが格納され、前記ＤＭＡコントローラは、前記制御データに基づいて、必要な全てのＤＭＡ転送を行なうことを特徴とする通信インターフェース装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば、ＩＥＥＥ（Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ．）１３９４バス規格のシリアルバスと、電子機器の内部回路との間におけるデータ転送に用いて好適なデータ伝送方法および装置、通信インターフェース方法および装置に関する。
【０００２】
【従来の技術】
デジタルデータをやり取りするためのシリアルバス規格として、ＩＥＥＥ１３９４バス規格が知られている。ＩＥＥＥ１３９４バス規格では、同期通信であるアイソクロナス（Ｉｓｏｃｈｒｏｎｏｕｓ）伝送と、非同期通信のアシンクロナス（Ａｓｙｎｃｈｒｏｎｏｕｓ）伝送とがあり、ＩＥＥＥ１３９４−１９９５規格では、ビデオデータやオーディオデータなどのようにリアルタイム伝送のためには、アイソクロナス伝送を用い、その他のステートデータや制御データなどの伝送のためには、アシンクロナス伝送が用いられるように定めれている。
【０００３】
図２０は、従来のＩＥＥＥ１３９４インターフェース装置の一例のブロック図である。この例のインターフェース装置は、ＩＣ化された構成のものである。
【０００４】
この例のインターフェース装置１０は、ＩＥＥＥ１３９４バスに接続するための物理レイヤ回路１１と、リンクコア回路１２と、非同期送信ＦＩＦＯ（（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリ１３と、非同期受信ＦＩＦＯメモリ１４と、コンフィギュレーションレジスタ１５と、ホストバスインターフェース部１６と、アイソクロナス送信ＦＩＦＯメモリ１７と、アイソクロナス送受信ＦＩＦＯメモリ１８と、暗号回路１９と、アプリケーションインターフェース部２０とを備える。
【０００５】
リンクコア回路１２は、送信器２１と、受信器２２と、サイクルタイマー２３と、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄａｎｄｕｎｃｙ  Ｃｈｅｃｋ）回路２４と、サイクルモニタ回路２５とを備える。
【０００６】
ホストバスインターフェース部１６は、電子機器に搭載されたときに、その電子機器内部のＣＰＵをホストコンピュータとして接続されるようにするためのもので、ホストコンピュータは、このホストバスインターフェース部１６を介して、非同期送信ＦＩＦＯメモリ１３、非同期受信ＦＩＦＯメモリ１４、コンフィギュレーションレジスタ１５をアクセスして非同期通信を行なう。
【０００７】
そして、インターフェース装置１０は、アイソクロナス通信用として、アイソクロナス送信ＦＩＦＯメモリ１７と、アイソクロナス送受信ＦＩＦＯメモリ１８との２個のＦＩＦＯメモリを内蔵しており、２チャンネル同時送受信、アイソクロナス同時送受信が可能である。そして、暗号回路１９の存在により、２つのＦＩＦＯメモリ１７および１８のそれぞれについて暗号化処理が可能である。
【０００８】
そして、アプリケーションインターフェース部２０は、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）２トランスポートストリームや、ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）９５８オーディオストリームなどをアイソクロナスパケットとして通信することができるための機能を持つ。
【０００９】
【発明が解決しようとする課題】
ところで、新たな拡張されたＩＥＥＥ１３９４バス規格（１３９４ａ）においては、非同期のアシンクロナス伝送によってもビデオデータやオーディオデータが伝送可能とされる。これはアシンクロナスストリームと呼ばれる。
【００１０】
上述したように、従来のインターフェース装置１０においては、アシンクロナス通信においては、電子機器の内部のＣＰＵがホストコンピュータとして働き、非同期送信ＦＩＦＯメモリ１３、非同期受信ＦＩＦＯメモリ１４、コンフィギュレーションレジスタ１５をアクセスして非同期通信を行なうようにしている。
【００１１】
このため、アシンクロナスストリームについても、同様にホストコンピュータのアクセスにより非同期通信を行なうようにすると、データサイズが大きい場合など、ホストコンピュータの負担が非常に重くなってしまう。
【００１２】
また、アシンクロナスストリームを取り扱うＩＥＥＥ１３９４インターフェース回路では、ＩＥＥＥ１３９４バスから取り込んだパケットデータを、上述のように、一旦、受信用バッファメモリに取り込み、その取り込んだパケットデータを別のメモリに転送した後、パケット分解して、内部信号処理系に転送すると共に、内部信号処理系からのデータを所定のメモリに取り込み、パケット化した後、送信用バッファメモリに転送し、その送信用バッファメモリからＩＥＥＥ１３９４バスに送出するようにする必要がある。
【００１３】
この場合に、ＩＥＥＥ１３９４バス規格では、例えば５１２バイト〜２０４８バイトのデータ量からなるパケット単位でデータ伝送するので、例えば、静止画のデータをアシンクロナスストリームとして伝送する場合には、通常は、複数個のパケットのデータとされて伝送されることとなる。
【００１４】
そして、ＩＥＥＥ１３９４バス規格では、インターフェース装置１０内では、データは、Ｑｕａｄｌｅｔ（４バイト）単位で送受信する必要があるが、上述のようにメモリからメモリへのデータ転送に当って、どこからどこまでがパケットであるのかを指定する方法が従来は存在しない。そのため、メモリ間のデータ転送に有効な方法が要望される。
【００１５】
この発明は、以上のような問題を解決できるデータ伝送方法および装置、また、通信インターフェース方法および装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記課題を解決するため、請求項１の発明によるデータ転送方法は、
所定数のデータからなる単位データの複数個からなるパケットを、第１のメモリ手段から第２のメモリ手段に、前記単位データの所定数毎にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送するデータ転送方法であって、
前記第１のメモリ手段から前記第２のメモリにＤＭＡ転送する最初の前記単位データが、パケットの先頭であるか否かを示す先頭情報と、前記第１のメモリ手段から前記第２のメモリにＤＭＡ転送する最後の前記単位データが、パケットの最後であるか否かを示す最後情報とを、前記ＤＭＡ転送のための制御用レジスタに設定し、その制御用レジスタの設定に従って前記ＤＭＡ転送を実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、および前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させる
ことを特徴とする。
【００１７】
上述の構成の請求項１の発明によれば、メモリ間は、ＤＭＡ転送により高速にデータ転送が行なわれると共に、そのＤＭＡ転送は所定データ数の単位データ毎に行われ、しかも、その単位データ毎のＤＭＡ転送のための制御用レジスタには、転送する最初の単位データがパケットの先頭であるか、また、転送する最後の単位データがパケットの最後尾であるかの指示情報が設定可能であるので、パケット単位のデータの取り扱いが容易となる。
【００１８】
また、請求項２の発明は、請求項１において、
転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して前記ＤＭＡ転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定する
ことを特徴とする。
【００１９】
上述の構成の請求項２の発明によれば、転送元のメモリ手段に格納されているパケットの先頭および／または最後を示す情報を付加してＤＭＡ転送することができるので、ＤＭＡ転送後のパケット単位の伝送がさらに可能になる。
【００２０】
また、請求項４の発明によるデータ転送装置は、
所定数のデータからなる単位データの複数個からなるパケットを、第１のメモリ手段から第２のメモリ手段に、前記単位データの所定数毎にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送するデータ転送装置であって、
前記ＤＭＡ転送のための制御用レジスタと、
前記ＤＭＡ転送の最初の前記単位データがパケットの先頭であるか否かを示す先頭情報と、最後の前記単位データがパケットの最後であるか否かを示す最後情報とを、前記制御用レジスタに設定する設定手段と、
前記制御用レジスタの設定に従って前記ＤＭＡを実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、また前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させる手段と、
を備えることを特徴とする。
【００２１】
上述の構成の請求項４の発明によれば、メモリ間は、ＤＭＡ転送により高速にデータ転送が行なわれると共に、そのＤＭＡ転送は所定データ数の単位データ毎に行われ、しかも、その単位データ毎のＤＭＡ転送のための制御用レジスタには、転送する最初の単位データがパケットの先頭であるか、また、転送する最後の単位データがパケットの最後尾であるかの指示情報が設定可能であるので、パケット単位のデータの取り扱いが容易となる。
【００２２】
また、請求項５の発明は、請求項４において、
前記設定手段は、転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定する
ことを特徴とする。
【００２３】
上述の構成の請求項５の発明によれば、転送元のメモリ手段に格納されているパケットの先頭および／または最後を示す情報を付加してＤＭＡ転送することができるので、ＤＭＡ転送後のパケット単位の伝送がさらに可能になる。
【００２４】
また、請求項７の発明による通信インターフェース方法は、非同期通信により外部バスから取得したパケットを第１のメモリ手段に格納し、前記第１のメモリ手段に格納されたパケットを内部バスを通じて第２のメモリ手段に転送し、前記第２のメモリ手段に格納されたパケットを分解して得たデータを内部信号処理系に転送するようにすると共に、前記内部信号処理系からのデータをパケット化して前記第２のメモリ手段に格納し、前記第２のメモリ手段に格納したパケット化データを第３のメモリ手段に前記内部バスを通じて転送し、前記第３のメモリ手段から、前記外部バスに非同期で送り出すようにする通信インターフェース方法であって、前記第１のメモリ手段と前記第２のメモリ手段との間における転送、および前記第２のメモリ手段と前記第３のメモリ手段との間における転送は、ＤＭＡ転送として、前記ＤＭＡ転送は、所定数のデータからなる単位データの所定数毎に行なうものであって、前記第１のメモリ手段と前記第２のメモリ手段との間、あるいは前記第２のメモリと前記第３のメモリ手段との間におけるＤＭＡ転送の最初の前記単位データが、パケットの先頭であるか否かを示す先頭情報と、最後の前記単位データが、パケットの最後であるか否かを示す最後情報とを、前記ＤＭＡ転送のための制御用レジスタに設定し、その制御用レジスタの設定に従って前記ＤＭＡ転送を実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、および前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させることを特徴とする。
【００２５】
この請求項７の発明によれば、非同期通信により外部バスを通じて送られてきたパケットは第１のメモリ手段に格納された後、ＤＭＡ転送により内部バスを通じて第２のメモリに転送される。そして、第２のメモリ手段に格納されたデータがパケット分解された後、内部信号処理系に転送される。また、内部信号処理系からのデータはパケット化されて第２のメモリ手段に格納され、その第２のメモリ手段からＤＭＡ転送により第３のメモリ手段に内部バスを通じて転送される。そして、第３のメモリ手段から外部バスに非同期で送り出される。内部メモリ手段間のデータ転送は、ＤＭＡ転送であるので、高速転送が可能であると共に、制御部の制御に関係なく、転送が可能となり、制御部の負担が軽くなる。
【００２７】
また、メモリ間は、ＤＭＡ転送により高速にデータ転送が行なわれると共に、そのＤＭＡ転送は所定データ数の単位データ毎に行われ、しかも、その単位データ毎のＤＭＡ転送のための制御用レジスタには、転送する最初の単位データがパケットの先頭であるか、また、転送する最後の単位データがパケットの最後尾であるかの指示情報が設定可能であるので、パケット単位のデータの取り扱いが容易となる。
【００２８】
また、請求項８の発明は、請求項７において、転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して前記ＤＭＡ転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定することを特徴とする。
【００２９】
この請求項８の発明によれば、転送元のメモリ手段に格納されているパケットの先頭および／または最後を示す情報を付加してＤＭＡ転送することができるので、ＤＭＡ転送後のパケット単位の伝送がさらに可能になる。
【００３０】
請求項９の発明は、請求項７〜請求項８のいずれかにおいて、前記外部バスは、ＩＥＥＥ（Ｔｈｅ Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｅｌｅｃｔｒｉｃａｌａｎｄ Ｅｌｅｃｔｒｏｎｉｃｓ Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ．）１３９４バス規格のシリアルバスであることを特徴とする。
【００３１】
この請求項９の発明によれば、ＩＥＥＥ１３９４バスを外部バスとしたデータ転送であって、非同期のアシンクロナスストリームのデータ転送が良好に行われる。
【００３２】
請求項１２の発明による通信インターフェース装置は、内部バスと、前記内部バスと外部バスとの間に設けられ、非同期通信により外部バスから取得したパケットを格納するための第１のメモリ手段と、前記内部バスと内部信号処理系との間に設けられる第２のメモリ手段と、前記内部バスと、前記外部バスとの間に設けられ、非同期通信により前記外部バスにパケットを送出するための第３のメモリ手段と、前記第１のメモリ手段と前記第２のメモリ手段との間における転送、および前記第２のメモリ手段と前記第３のメモリ手段との間における転送を、ＤＭＡ転送により実行するためのＤＭＡコントローラと、前記ＤＭＡ転送を制御するための制御情報が格納される制御用レジスタと、前記第２のメモリ手段に転送されたパケットを分解して、前記第２のメモリ手段に再格納すると共に、前記第２のメモリ手段に格納された前記内部信号処理系からのデータをパケット化して、前記第２のメモリ手段に再格納する手段とを備え、前記ＤＭＡ転送は、所定数のデータからなる単位データの所定数毎に行なうものであって、前記制御用レジスタに、前記ＤＭＡ転送の最初の前記単位データが、パケットの先頭であるか否かを示す先頭情報と、最後の前記単位データが、パケットの最後であるか否かを示す最後情報とを、設定する設定手段を備えると共に、前記ＤＭＡコントローラは、前記制御用レジスタの設定に従って前記ＤＭＡ転送を実行すると共に、前記先頭情報がパケットの先頭であると設定されているとき、および前記最後情報がパケットの最後であると設定されているとき、そのことを前記ＤＭＡ転送の転送先で反映させることを特徴とする。
【００３３】
この請求項１３の発明によれば、非同期通信により外部バスを通じて送られてきたパケットは第１のメモリ手段に格納された後、ＤＭＡ転送により内部バスを通じて第２のメモリに転送される。そして、第２のメモリ手段に格納されたデータがパケット分解された後、内部信号処理系に転送される。また、内部信号処理系からのデータはパケット化されて第２のメモリ手段に格納され、その第２のメモリ手段からＤＭＡ転送により第３のメモリ手段に内部バスを通じて転送される。そして、第３のメモリ手段から外部バスに非同期で送り出される。
【００３４】
したがって、通信インターフェース装置内におけるメモリ間のデータ転送は、ＤＭＡコントローラの制御に基づくＤＭＡ転送により行われるので、高速転送が可能であると共に、通信インターフェース装置内の制御部は、そのＤＭＡ転送の間は他のジョブを実行することができるなど、制御部の負担が軽くなる。
【００３６】
また、メモリ間は、ＤＭＡ転送により高速にデータ転送が行なわれると共に、そのＤＭＡ転送は所定データ数の単位データ毎に行われ、しかも、その単位データ毎のＤＭＡ転送のための制御用レジスタには、転送する最初の単位データがパケットの先頭であるか、また、転送する最後の単位データがパケットの最後尾であるかの指示情報が設定可能であるので、パケット単位のデータの取り扱いが容易となる。
【００３７】
また、請求項１３の発明は、請求項１２において、前記設定手段は、転送元の前記メモリ手段に格納されている前記パケットの先頭および／または最後を示す情報を付加して前記ＤＭＡ転送するか否かを指示する付加転送指示情報を、前記制御用レジスタに設定することを特徴とする。
【００３８】
この請求項１３の発明によれば、転送元のメモリ手段に格納されているパケットの先頭および／または最後を示す情報を付加してＤＭＡ転送することができるので、ＤＭＡ転送後のパケット単位の伝送がさらに可能になる。
【００３９】
請求項１４の発明は、請求項１２〜請求項１３のいずれかにおいて、前記外部バスは、ＩＥＥＥ１３９４バス規格のシリアルバスであることを特徴とする。
【００４０】
この請求項１４の発明によれば、ＩＥＥＥ１３９４バスを外部バスとしたデータ転送であって、非同期のアシンクロナスストリームのデータ転送が良好に行われる。
【００４１】
【発明の実施の形態】
以下、この発明の実施の形態を、図を参照しながら説明する。図１は、この発明による通信インターフェース装置の実施の形態のブロック図である。
【００４２】
この図１の実施の形態は、映像機器などの電子機器の内部に搭載されるＩＥＥＥ１３９４インターフェース装置１００の場合の構成例であって、ＩＣ化回路として構成された場合の例である。
【００４３】
この実施の形態のＩＥＥＥ１３９４インターフェース装置１００は、外部バスであるＩＥＥＥ１３９４規格のシリアルバス（以下、単にＩＥＥＥ１３９４バスという）２００と、電子機器の内部信号処理系３００および電子機器の内部のホストコンピュータのバス（ホストバス）４００との間におけるインターフェース処理を行なうものである。なお、この図１の構成例は、主として非同期通信としてのアシンクロナス通信の部分を主として示している。
【００４４】
図１において、ＩＥＥＥ１３９４インターフェース装置１００は、物理レイヤ回路およびリンクコア回路を含む外部バスインターフェース部１０１によりＩＥＥＥ１３９４バス２００に接続されている。
【００４５】
また、インターフェース装置１００は、内部バス１０２と１０３とを備えている。これら内部バス１０２と１０３とは、コンフィギュレーションレジスタ１２４を介して接続されている。このコンフィギュレーションレジスタ１２４には、後述するＤＭＡ制御用レジスタや、その他のレジスタを含む。
【００４６】
外部インターフェース部１０１と、内部バス１０２との間には、非同期送信バッファメモリ１１１と、非同期受信バッファメモリ１１２とが接続される。また、内部バス１０２には、ストリームペイロードメモリ１１３と、ストリームパケットメモリ１１４とが接続される。これらのメモリ１１１〜１１４は、この例では、全てＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリで構成されている。なお、以下の説明においては、非同期送信バッファ１１１はＭＴＦ、非同期受信バッファ１１２はＭＲＦ、ストリームペイロードメモリ１１３はペイロードＦＩＦＯ、ストリームパケットメモリ１１４はパケットＦＩＦＯと称することとする。
【００４７】
これらのＦＩＦＯメモリ１１１〜１１４間のデータ転送は、後述するようにＤＭＡ転送とされるもので、そのためのＤＭＡコントローラ１１５が内部バス１０２に接続されて設けられている。
【００４８】
パケットＦＩＦＯ１１４は、ヘッダ付加／分離部１１６に接続されており、パケットＦＩＦＯ１１４に取り込まれたパケットからヘッダを分離し、また、パケットＦＩＦＯに取り込まれたデータにヘッダを付加するようにされる。ヘッダ付加／分離部１１６は、レジスタ１２４に接続されている。
【００４９】
内部バス１０３には、ＣＰＵ１２１と、プログラムＲＯＭ１２２と、ワークＲＡＭ１２３が、コンフィギュレーションレジスタ１２４と共に接続されている。内部バス１０３と、電子機器の内部のホストバス４００との間には、ホストバスインターフェース部１０４が接続されている。
【００５０】
さらに、ペイロードＦＩＦＯ１１３と、内部信号処理系３００との間には、システムインターフェース部１０５が接続されている。これは、従来のアプリケーションインターフェース部に対応するものである。なお、この例の場合には、内部信号処理系３００には、システムインターフェース部１０５を通じてアイソクロナス通信によって伝送されてくるビデオデータやオーディオデータなどが送られる場合もある。また、内部信号処理系３００からアイソクロナス通信を行なうデータもシステムインターフェース部１０５を通じて送られてくる。
【００５１】
このため、図１の例においては、このアイソクロナス通信のためのバッファとしてのアイソクロナス送受信ＦＩＦＯメモリ１３０が設けられている。そして、システムインターフェース部１０５に対して、アイソクロナス通信のときには、アイソクロナスＦＩＦＯ１３０側に、アシンクロナス通信の時には、ペイロードＦＩＦＯ１１３側に、それぞれ切り換え接続されるようにするスイッチ回路１４０が設けられている。なお、アイソクロナス送受信ＦＩＦＯメモリ１３０は、図の例では１個として示したが、実際的には、従来例と同様に２個のＦＩＦＯメモリが設けられているものである。
【００５２】
コンフィギュレーションレジスタ１２４は、ＭＴＦ書き込み用レジスタと、ＤＭＡ制御用レジスタを含む。
【００５３】
ＭＴＦ書き込み用レジスタは、ＣＰＵ１２１からＭＴＦ１１１に転送データを書き込む際に用いるレジスタであって、パケット先頭レジスタと、パケット最後レジスタと、パケット中間レジスタとの３個のレジスタからなる。パケット先頭レジスタに書き込まれたデータは、パケットの先頭として扱われ、パケット最後レジスタに書き込まれたデータは、パケットの最後として扱われ、また、パケット中間レジスタに書き込まれたデータは、パケットの中間のデータとして扱われる。
【００５４】
ＤＭＡ制御用レジスタは、ＤＭＡコントローラ１１５がＤＭＡ転送を実行する際に参照するレジスタであって、ＣＰＵ１２１によって、そのレジスタに制御データが書き込まれて設定される。
【００５５】
この実施の形態の場合、ＤＭＡ転送は、ペイロードＦＩＦＯ１１３を中心として考え、このペイロードＦＩＦＯ１１３からの送信、このペイロードＦＩＦＯへの受信のＤＭＡ転送を想定することにより、必要な全てのＤＭＡ転送を定義するようにしている。
【００５６】
すなわち、この実施の形態で行われる全てのＤＭＡ転送を図示すると、図２に示すようなものとなり、ペイロードＦＩＦＯ１１３からの送信のＤＭＡ転送として、ＭＴＦ１１１へのＤＭＡ転送（図２のＤＭＡ▲１▼）と、パケットＦＩＦＯ１１４へのＤＭＡ転送（図２のＤＭＡ▲２▼）との２つを考え、また、ペイロードＦＩＦＯ１１３の受信のＤＭＡ転送として、ＭＲＦ１１２からのＤＭＡ転送（図２のＤＭＡ▲３▼）と、パケットＦＩＦＯ１１４からのＤＭＡ転送（図２のＤＭＡ▲４▼）との２つを考えれば、全てのＤＭＡ転送が含まれることになる。
【００５７】
このような観点から、この実施の形態では、ＤＭＡ制御用レジスタは、ペイロードＦＩＦＯ１１３についての送信用制御レジスタおよび受信用制御レジスタと、送信用ＤＭＡ転送データ数レジスタおよび受信用ＤＭＡ転送データ数レジスタとを含むものとされている。
【００５８】
ペイロードＦＩＦＯ１１３の送信用制御レジスタおよび受信用制御レジスタの制御データの内容の例を図３に示す。また、送信用ＤＭＡ転送データ数レジスタおよび受信用ＤＭＡ転送データ数レジスタの内容の例を図４に示す。
【００５９】
図４（Ａ）は、送信用ＤＭＡ転送データ数レジスタに設定される制御データを示すものであって、ＤＭＡ＿ＮｏＴｘは、ペイロードＦＩＦＯ１１３からＤＭＡ転送される単位データ（Ｑｕａｄｌｅｔデータ）の数を示している。また、図４（Ｂ）は、受信用ＤＭＡ転送データ数レジスタに設定される制御データを示すものであって、ＤＭＡ＿ＮｏＲｘは、ＤＭＡ転送される単位データ（Ｑｕａｄｌｅｔデータ）の数を示している。
【００６０】
図３（Ａ）は、ＣＰＵ１２１によって送信用制御レジスタに設定される制御データを示すものである。この制御データは、１６ビットからなるもので、そのうち、最初の１ビット「ＳｅｌｅｃｔＴｘ」は、前記２つの送信のＤＭＡ転送のいずれのＤＭＡ転送であるかを設定するビットで、
ＳｅｌｅｃｔＴｘ＝“１”のとき、
ペイロードＦＩＦＯ１１３→パケットＦＩＦＯ１１４
の方向のＤＭＡ転送を行なうことを指示し、
ＳｅｌｅｃｔＴｘ＝“０”のとき、
ペイロードＦＩＦＯ１１３→ＭＴＦ１１１
の方向のＤＭＡ転送を行なうことを指示するものである。
【００６１】
次の１ビット「ＤＭＡ＿ＳｔａｒｔＴｘ」は、このビットに“１”が書き込まれることで、ペイロードＦＩＦＯ１１３→パケットＦＩＦＯ１１４／ＭＲＦ１１２間で、前述したＤＭＡ＿ＮｏＴｘで指定される数のＱｕａｄｌｅｔデータのＤＭＡ転送が開始される。このビット「ＤＭＡ＿ＳｔａｒｔＴｘ」は、転送終了時にはクリアされて“０”とされ、また、転送処理中にこのビットに“０”を書き込むことで、転送処理を即時中止することができる。
【００６２】
また、「ＴｘＦＩＦＯＮｏ」の２ビットは、ペイロードＦＩＦＯ１１３からＤＭＡ転送を行なう転送先のＭＴＦ１１１を指定する。すなわち、ＭＴＦ１１１は、複数個のＦＩＦＯメモリからなるので、その複数個のＦＩＦＯメモリのうちのどのＦＩＦＯメモリに転送するかを指定する。このビット「ＴｘＦＩＦＯＮｏ」は、「ＳｅｌｅｃｔＴｘ」＝“０”のときにのみ有効である。
【００６３】
その次の１ビット「ＴｘＤＣＴｏｐ」は、これが“１”であるときに、ＤＭＡ転送の最初の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの先頭であることを示す。なお、このビット「ＴｘＤＣＴｏｐ」が“１”であるときには、ＤＭＡ転送先でも、ＤＭＡ転送の最初の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの先頭であることを反映する。
【００６４】
次の１ビット「ＴｘＤＣＥｎｄ」は、これが“１”であるときに、ＤＭＡ転送の最後の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの最後であることを示す。なお、このビット「ＴｘＤＣＥｎｄ」が“１”であるときには、ＤＭＡ転送先でも、ＤＭＡ転送の最後の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの最後であることを反映する。
【００６５】
その次の１ビット「ＴｘＣｏｐｙＤＣ」は、これが“１”であるときに、送信元のＤＣ情報（Ｔｏｐ（先頭）、Ｅｎｄ（最後））を転送先に送ることを指示する。
【００６６】
最後の１ビット「ＩｎＤＭＡＴｘ」は、これが“１”であるときに、ＤＭＡ転送処理中であることを示す。このビット「ＩｎＤＭＡＴｘ」は、ＤＭＡ転送の開始でセットされ、ＤＭＡ転送の終了（中止を含む）でクリアされる。
【００６７】
図３（Ｂ）は、ＣＰＵ１２１によって受信用制御レジスタに設定される制御データを示すものである。この制御データも、１６ビットからなるもので、そのうち、最初の１ビット「ＳｅｌｅｃｔＲｘ」は、前記２つの受信のＤＭＡ転送のいずれのＤＭＡ転送であるかを設定するビットで、
ＳｅｌｅｃｔＲｘ＝“１”のとき、
パケットＦＩＦＯ１１４→ペイロードＦＩＦＯ１１３
の方向のＤＭＡ転送を行なうことを指示し、
ＳｅｌｅｃｔＲｘ＝“０”のとき、
ＭＲＦ１１２→ペイロードＦＩＦＯ１１３
の方向のＤＭＡ転送を行なうことを指示するものである。
【００６８】
次の１ビット「ＤＭＡ＿ＳｔａｒｔＲｘ」は、このビットに“１”が書き込まれることで、パケットＦＩＦＯ１１４／ＭＲＦ１１２→ペイロードＦＩＦＯ１１３間で、前述したＤＭＡ＿ＮｏＲｘで指定される数のＱｕａｄｌｅｔデータのＤＭＡ転送が開始される。このビット「ＤＭＡ＿ＳｔａｒｔＲｘ」は、転送終了時にはクリアされて“０”とされ、また、転送処理中にこのビットに“０”を書き込むことで、転送処理を即時中止することができる。
【００６９】
「ＲｘＤＣＴｏｐ」のビットは、これが“１”であるときに、ＤＭＡ転送の最初の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの先頭であることを示す。なお、このビット「ＲｘＤＣＴｏｐ」が“１”であるときには、ＤＭＡ転送先でも、ＤＭＡ転送の最初の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの先頭であることを反映する。
【００７０】
次の１ビット「ＲｘＤＣＥｎｄ」は、これが“１”であるときに、ＤＭＡ転送の最後の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの最後であることを示す。なお、このビット「ＲｘＤＣＥｎｄ」が“１”であるときには、ＤＭＡ転送先でも、ＤＭＡ転送の最後の単位データ（Ｑｕａｄｌｅｔデータ）がパケットの最後であることを反映する。
【００７１】
その次の１ビット「ＲｘＣｏｐｙＤＣ」は、これが“１”であるときに、送信元にあるパケットの先頭および最後を示す情報（これを以下ＤＣ情報という）を転送先に送ることを指示していることを示す。
【００７２】
最後の１ビット「ＩｎＤＭＡＲｘ」は、これが“１”であるときに、ＤＭＡ転送処理中であることを示す。このビット「ＩｎＤＭＡＲｘ」は、ＤＭＡ転送の開始でセットされ、ＤＭＡ転送の終了（中止を含む）でクリアされる。
【００７３】
図５に、ＦＩＦＯメモリ１１１、１１２、１１３、１１４の格納データの構造について示す。すなわち、各ＦＩＦＯメモリ１１１〜１１４には、Ｑｕａｄｌｅｔデータ単位でデータが格納されるが、各Ｑｕａｄｌｅｔデータ単位毎に、パケットの先頭または最後を示す情報ＤＣ＿ＴｏｐまたはＤＣ＿ＥｎｄからなるＤＣ情報が付加されている。前述したＤＭＡ転送に際してのパケットの先頭または最後の反映は、このＤＣ情報の書き込みである。
【００７４】
以上のような構成のＩＥＥＥ１３９４インターフェース装置の動作について、以下に説明する。
【００７５】
まず、アイソクロナス通信を行なうときには、スイッチ回路１４０がアイソクロナスＦＩＦＯメモリ１３０側に切り換えられる。そして、ＩＥＥＥ１３９４バス２００から受信したアイソクロナスパケットが、外部インターフェース部１０１を通じて取り込まれ、アイソクロナスＦＩＦＯメモリ１３０に格納され、パケット分解される。そして、アイソクロナスＦＩＦＯメモリ１３０から読み出されたデータは、スイッチ回路１４０およびシステムインターフェース部１０５を通じて内部信号処理系３００に転送される。
【００７６】
また、内部信号処理系３００からのデータは、システムインターフェース部１０５およびスイッチ回路１４０を通じてアイソクロナスＦＩＦＯメモリ１３０に転送されて格納される。そして、このアイソクロナスＦＩＦＯメモリ１３０のデータがアイソクロナスパケットとされ、外部インターフェース部１０１を通じてＩＥＥＥ１３９４バス２００に送出される。
【００７７】
次に、非同期通信（アシンクロナス通信）について説明する。この実施の形態においては、非同期通信を行なう場合であって、データが例えば静止画データなどのように、データサイズが大きいものの場合には、アシンクロナスストリームのデータ通信を行なう。その他の制御データやステートデータの通信の場合には、従来と同様の非同期通信を行なう。
【００７８】
ＩＥＥＥ１３９４インターフェース装置１００から送信するデータをアシンクロナスストリームとするか、その他の非同期通信によるものとするかは、例えば、ホストバス４００を通じてホストコンピュータから指示され、ＣＰＵ１２１が制御する。この場合、ホストコンピュータは、非同期通信により送信しようとするデータのデータサイズを判別し、データサイズが大きい場合には、アシンクロナスストリームによる通信を行なうように指示する。
【００７９】
なお、例えば静止画データ、オーディオデータなどというように、アシンクロナスストリームによる通信を行なうデータの種類を、予め定めておき、アシンクロナス通信により送信しようとする際に、ホストコンピュータが、データの種類を判別し、その判別結果に基づいてアシンクロナスストリームによる通信を行なうかどうかを指示するようにしても良い。
【００８０】
受信したデータがアシンクロナスストリームのものか、それ以外かは、パケットヘッダにより判別することができる。
【００８１】
そして、ＩＥＥＥ１３９４インターフェース装置１００において、アシンクロナスストリームのデータを取り扱うときには、つまり、データサイズが大きい場合や予め定められた種類のデータの場合には、ＦＩＦＯメモリ１１１〜１１４間では、ＤＭＡ転送を行なうようにする。
【００８２】
このＩＥＥＥ１３９４インターフェース装置１００における非同期通信によりアシンクロナスストリームのデータ送受の流れの概要を、説明する。
【００８３】
この実施の形態のインターフェース装置１００においては、アシンクロナスストリームにおいては、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）２方式やＤＶ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ）方式により圧縮された動画ビデオ信号や、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式により圧縮された静止画ビデオ信号が、所定の大きさのパケット単位で伝送されるものとしている。
【００８４】
前述した図２は、この場合のデータの流れを説明するための図でもある。まず、ＩＥＥＥ１３９４バス２００からのデータを受信する場合の流れについて説明する。なお、ＩＥＥＥ１３９４インターフェース装置１００は、電子機器５００内に設けられ、内部信号処理系３００、ホストバス４００およびホストコンピュータは、この電子機器５００の内部に設けられるものである。
【００８５】
ＩＥＥＥ１３９４バス２００を通じて送られてきたアシンクロナスストリームは、外部インターフェース部１０１を通じてＭＲＦ１１２に格納される。このＭＲＦ１１２に格納されたパケットデータは、ＤＭＡコントローラ１１５の制御に基づき、ペイロードＦＩＦＯ１１３にＤＭＡ転送される。このときのＤＭＡ転送は、４バイト単位、つまりＱｕａｄｌｅｔデータ単位で行なわれる。後述する他のＤＭＡ転送においても、全てＱｕａｄｌｅｔデータ単位で行なわれるものである。
【００８６】
次に、ペイロードＦＩＦＯ１１３に格納されたパケットデータは、ＤＭＡコントローラ１１５の制御に基づき、パケットＦＩＦＯ１１４にＤＭＡ転送される。パケットＦＩＦＯ１１４に格納されたデータについては、ヘッダ付加／分離部１１６でパケットヘッダが分離され、それがレジスタ１２４を通じてＣＰＵ１２１により解釈されるようにされている。
【００８７】
そして、パケット分解されたデータは、パケットＦＩＦＯ１１４からペイロードＦＩＦＯ１１３にＤＭＡ転送される。そして、ペイロードＦＩＦＯ１１３からスイッチ回路１４０およびシステムインターフェース部１０５を通じて内部信号処理系３００に転送される。
【００８８】
ＦＩＦＯメモリ１１１〜１１４間のＤＭＡ転送は、１パケットで終了させる必要はなく、複数個のパケットをまとめて１単位としてＤＭＡ転送することもできるし、１パケットを分割したものの単位でＤＭＡ転送することもできる。
【００８９】
ＤＭＡ転送時におけるＤＭＡコントローラ１１５の制御動作を、以下に、図６〜図１１を参照しながら説明する。図６〜図８は、ペイロードＦＩＦＯ１１３からの送信の場合のＤＭＡ転送のためのＤＭＡコントローラ１１５の制御動作のフローチャートである。また、図９〜図１１は、ペイロードＦＩＦＯ１１３が受信側となる場合のＤＭＡ転送のためのＤＭＡコントローラ１１５の制御動作のフローチャートである。
【００９０】
まず、図６〜図８の送信の場合について説明する。ＤＭＡコントローラ１１５は、送信用の制御用レジスタの「ＤＭＡ＿ｓｔａｒｔＴｘ」のビットを参照する（ステップＳ１０１）。そして、ビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”になったことを確認すると、ペイロードＦＩＦＯ１１３から送信する方向のＤＭＡ転送を行なうものと認識して、送信用ＤＭＡ転送データレジスタの「ＤＭＡ＿ＮｏＴｘ」を参照し、ＤＭＡ転送するＱｕａｄｌｅｔデータ数を確認する（ステップＳ１０２）。
【００９１】
次に、送信用の制御用レジスタの「ＳｅｌｅｃｔＴｘ」のビットを参照し（ステップＳ１０３）、ビット「ＳｅｌｅｃｔＴｘ」が“０”であれば、「ＴｘＦＩＦＯＮｏ」を参照して、送信先のＭＴＦ１１１のＦＩＦＯを確認し（ステップＳ１０４）、ペイロードＦＩＦＯ１１３からＭＴＦ１１１に向けたＤＭＡ転送を開始するようにする（ステップＳ１０５）。
【００９２】
一方、ビット「ＳｅｌｅｃｔＴｘ」が“１”であれば、ペイロードＦＩＦＯ１１３からパケットＦＩＦＯ１１４に向けたＤＭＡ転送を開始するようにする（ステップＳ１０６）。
【００９３】
そして、ステップＳ１０５およびステップＳ１０６の後には、送信用の制御用レジスタの「ＴｘＣｏｐｙＤＣ」のビットを参照し（ステップＳ１０７）、このビット「ＴｘＣｏｐｙＤＣ」が“１”であれば、転送元のＤＣ情報をＱｕａｄｌｅｔデータと共に、転送先に転送することを意味すると認識して、図７に示す処理を行い、ビット「ＴｘＣｏｐｙＤＣ」が“０”であれば、転送元のＤＣ情報は転送先に転送しないことを意味すると認識して、図８に示す処理を行う。
【００９４】
ビット「ＴｘＣｏｐｙＤＣ」が“１”であったときには、図７に示すように、送信用の制御用レジスタの「ＴｘＤＣＴｏｐ」のビットを参照し（ステップＳ１１１）、このビット「ＴｘＤＣＴｏｐ」が“１”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータをパケットの先頭と認識して転送し、そのことを転送先にも反映させる（ステップＳ１１２）。ビット「ＴｘＤＣＴｏｐ」が“０”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータを、ＤＣ情報と共にＤＭＡ転送する（ステップＳ１１３）。
【００９５】
また、ステップＳ１１２およびステップＳ１１３の後には、ステップＳ１１４に進み、ＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであるかどうか判別し、最後でなければ、ステップＳ１１３に戻り、そのＱｕａｄｌｅｔデータを、ＤＣ情報と共にＤＭＡ転送する。
【００９６】
ステップＳ１１４でＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであると判別したときには、送信用の制御用レジスタの「ＴｘＤＣＥｎｄ」のビットを参照し（ステップＳ１１５）、このビット「ＴｘＤＣＥｎｄ」が“１”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータをパケットの最後と認識して転送し、そのことを転送先にも反映させる（ステップＳ１１６）。ビット「ＴｘＤＣＥｎｄ」が“０”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータを、ＤＣ情報と共にＤＭＡ転送する（ステップＳ１１７）。こうして、送信用ＤＭＡ転送データレジスタの「ＤＭＡ＿ＮｏＴｘ」で示される、Ｑｕａｄｌｅｔデータ数のＤＭＡ転送が終了したら、処理を終了する。
【００９７】
ビット「ＴｘＣｏｐｙＤＣ」が“０”であったときには、図８に示すように、送信用の制御用レジスタの「ＴｘＤＣＴｏｐ」のビットを参照し（ステップＳ１２１）、このビット「ＴｘＤＣＴｏｐ」が“１”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータをパケットの先頭と認識して転送し、そのことを転送先にも反映させる（ステップＳ１２２）。ビット「ＴｘＤＣＴｏｐ」が“０”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータをＤＭＡ転送する（ステップＳ１１３）。このとき、転送元のＤＣ情報は転送しない。
【００９８】
また、ステップＳ１２２およびステップＳ１２３の後には、ステップＳ１２４に進み、ＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであるかどうか判別し、最後でなければ、ステップＳ１２３に戻り、そのＱｕａｄｌｅｔデータをＤＭＡ転送する。
【００９９】
ステップＳ１２４でＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであると判別したときには、送信用の制御用レジスタの「ＴｘＤＣＥｎｄ」のビットを参照し（ステップＳ１２５）、このビット「ＴｘＤＣＥｎｄ」が“１”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータをパケットの最後と認識して転送し、そのことを転送先にも反映させる（ステップＳ１２６）。ビット「ＴｘＤＣＥｎｄ」が“０”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータをＤＭＡ転送する（ステップＳ１２７）。このとき、転送元のＤＣ情報は転送しない。
【０１００】
こうして、送信用ＤＭＡ転送データレジスタの「ＤＭＡ＿ＮｏＴｘ」で示される、Ｑｕａｄｌｅｔデータ数のＤＭＡ転送が終了したら、処理を終了する。
【０１０１】
次に、図９〜図１１の受信の場合について説明する。ＤＭＡコントローラ１１５は、受信用の制御用レジスタの「ＤＭＡ＿ｓｔａｒｔＲｘ」のビットを参照する（ステップＳ１３１）。そして、ビット「ＤＭＡ＿ｓｔａｒｔＲｘ」が“１”になったことを確認すると、ペイロードＦＩＦＯ１１３が受信する方向のＤＭＡを行なうものと認識して、受信用ＤＭＡ転送データレジスタの「ＤＭＡ＿ＮｏＲｘ」を参照し、ＤＭＡ転送するＱｕａｄｌｅｔデータ数を確認する（ステップＳ１３２）。
【０１０２】
次に、受信用の制御用レジスタの「ＳｅｌｅｃｔＲｘ」のビットを参照し（ステップＳ１３３）、ビット「ＳｅｌｅｃｔＲｘ」が“０”であれば、ＭＲＦ１１２からペイロードＦＩＦＯ１１３に向けたＤＭＡ転送を開始するようにする（ステップＳ１３４）。
【０１０３】
一方、ビット「ＳｅｌｅｃｔＲｘ」が“１”であれば、パケットＦＩＦＯ１１４からペイロードＦＩＦＯ１１３に向けたＤＭＡ転送を開始するようにする（ステップＳ１３５）。
【０１０４】
そして、ステップＳ１３４およびステップＳ１３５の後には、受信用の制御用レジスタの「ＲｘＣｏｐｙＤＣ」のビットを参照し（ステップＳ１３６）、このビット「ＲｘＣｏｐｙＤＣ」が“１”であれば、転送元のＤＣ情報をＱｕａｄｌｅｔデータと共に、転送先に転送することを意味すると認識して、図１０に示す処理を行い、ビット「ＲｘＣｏｐｙＤＣ」が“０”であれば、転送元のＤＣ情報は転送先に転送しないことを意味すると認識して、図１１に示す処理を行う。
【０１０５】
ビット「ＲｘＣｏｐｙＤＣ」が“１”であったときには、図１０に示すように、受信用の制御用レジスタの「ＲｘＤＣＴｏｐ」のビットを参照し（ステップＳ１４１）、このビット「ＲｘＤＣＴｏｐ」が“１”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータをパケットの先頭と認識して転送し、そのことを転送先にも反映させる（ステップＳ１４２）。ビット「ＲｘＤＣＴｏｐ」が“０”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータを、ＤＣ情報と共にＤＭＡ転送する（ステップＳ１４３）。
【０１０６】
また、ステップＳ１４２およびステップＳ１４３の後には、ステップＳ１４４に進み、ＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであるかどうか判別し、最後でなければ、ステップＳ１４３に戻り、そのＱｕａｄｌｅｔデータを、ＤＣ情報と共にＤＭＡ転送する。
【０１０７】
ステップＳ１４４でＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであると判別したときには、受信用の制御用レジスタの「ＲｘＤＣＥｎｄ」のビットを参照し（ステップＳ１４５）、このビット「ＲｘＤＣＥｎｄ」が“１”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータをパケットの最後と認識して転送し、そのことを転送先にも反映させる（ステップＳ１４６）。ビット「ＲｘＤＣＥｎｄ」が“０”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータを、ＤＣ情報と共にＤＭＡ転送する（ステップＳ１４７）。こうして、受信用ＤＭＡ転送データレジスタの「ＤＭＡ＿ＮｏＲｘ」で示される、Ｑｕａｄｌｅｔデータ数のＤＭＡ転送が終了したら、処理を終了する。
【０１０８】
ＤＭＡ転送制御用レジスタのビット「ＲｘＣｏｐｙＤＣ」が“０”であったときには、図１１に示すように、受信用の制御用レジスタの「ＲｘＤＣＴｏｐ」のビットを参照し（ステップＳ１５１）、このビット「ＲｘＤＣＴｏｐ」が“１”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータをパケットの先頭と認識して転送し、そのことを転送先にも反映させる（ステップＳ１５２）。ビット「ＲｘＤＣＴｏｐ」が“０”であれば、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータをＤＭＡ転送する（ステップＳ１４３）。このとき、転送元のＤＣ情報は転送しない。
【０１０９】
また、ステップＳ１５２およびステップＳ１５３の後には、ステップＳ１５４に進み、ＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであるかどうか判別し、最後でなければ、ステップＳ１５３に戻り、そのＱｕａｄｌｅｔデータをＤＭＡ転送する。
【０１１０】
ステップＳ１５４でＤＭＡ転送しようとするデータが最後のＱｕａｄｌｅｔデータであると判別したときには、受信用の制御用レジスタの「ＲｘＤＣＥｎｄ」のビットを参照し（ステップＳ１５５）、このビット「ＲｘＤＣＥｎｄ」が“１”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータをパケットの最後と認識して転送し、そのことを転送先にも反映させる（ステップＳ１５６）。ビット「ＲｘＤＣＥｎｄ」が“０”であれば、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータをＤＭＡ転送する（ステップＳ１５７）。このとき、転送元のＤＣ情報は転送しない。
【０１１１】
こうして、受信用ＤＭＡ転送データレジスタの「ＤＭＡ＿ＮｏＲｘ」で示される、Ｑｕａｄｌｅｔデータ数のＤＭＡ転送が終了したら、処理を終了する。
【０１１２】
以上説明したようなＤＭＡ制御用レジスタの設定情報を用いてＤＭＡ転送を行なうようにしたことにより、外部バスとしてのＩＥＥＥ１３９４バス２００と、ＩＥＥＥ１３９４インターフェース装置１００の内部バス１０２、１０３との間でパケットのやり取りを行なう際の処理時間の短縮および制御用のＣＰＵ１２１、延いては電子機器５００のホストコンピュータの負荷の軽減を実現することができる。
【０１１３】
そして、その際に、制御用レジスタの「ＴｘＤＣＴｏｐ」、「ＴｘＤＣＥｎｄ」、「ＲｘＤＣＴｏｐ」、「ＲｘＤＣＥｎｄ」、「ＴｘＣｏｐｙＤＣ」、「ＲｘＣｏｐｙＤＣ」の情報を用いることにより、
▲１▼元の一つのパケットをそのまま一つのパケットとして、
▲２▼元の一つのパケットを複数個のパケットとして
▲３▼複数個のパケットを複数個のパケットとして、
▲４▼元の複数個のパケットをそのまま複数個のパケットとして、
▲５▼複数個のパケットを１個のパケットとして、
ＤＭＡ伝送することができる。
【０１１４】
次に、以上説明したＤＭＡ転送を用いると共に、前述したＭＴＦ書き込み用レジスタの３個のレジスタへのＣＰＵ１２１による書き込みデータ転送との組み合わせによるデータの転送（ＩＥＥＥ１３９４バス２００への送出の場合）のいくつかの方法について、図１２〜図１７を参照しながら説明する。
【０１１５】
なお、図１２〜図１７において、「ＭＴＦＷｒｉｔｅ１」「ＭＴＦＷｒｉｔｅ２」「ＭＴＦＷｒｉｔｅ３」は、前述したＭＴＦ書き込み用レジスタで、レジスタ「ＭＴＦＷｒｉｔｅ１」はパケット先頭レジスタ、レジスタ「ＭＴＦＷｒｉｔｅ２」はパケット中間レジスタ、「ＭＴＦＷｒｉｔｅ３」はパケット最後レジスタである。
【０１１６】
図１２に示す非同期データの転送方法は、上述したＤＭＡ転送を用いずに、ＭＴＦ書き込み用レジスタのみを用いてパケットを転送する場合の例である。すなわち、この例の場合には、ＣＰＵ１２１は、まずパケットの先頭のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ１」に書き込む。すると、ＭＴＦ１１１には、それがパケットの先頭として転送される。
【０１１７】
次に、パケットの２番目以降のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ２」に順次に書き込み、転送を行なう。つまり、１つのＱｕａｄｌｅｔデータを「ＭＴＦＷｒｉｔｅ２」に書き込み、ＭＴＦ１１１に転送したら、次のＱｕａｄｌｅｔデータを「ＭＴＦＷｒｉｔｅ２」に書き込み、ＭＴＦ１１１に転送するというようにして、パケットの中間のＱｕａｄｌｅｔデータを順次にＭＴＦ１１１に転送する。
【０１１８】
そして、パケットの最後のＱｕａｄｌｅｔデータは、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ３」に書き込む。すると、ＭＴＦ１１１には、それがパケットの最後として転送される。パケットの最後のＱｕａｄｌｅｔデータのＭＴＦ１１１への転送が終了すると、ＭＴＦ１１１からデータが外部インターフェース部１０１を通じてＩＥＥＥ１３９４バス２００に送出される。
【０１１９】
次に、ＤＭＡ転送のみによってペイロードＦＩＦＯ１１３からＭＴＦ１１１に転送する場合を図１３を参照して説明する。この例の場合には、ＣＰＵ１２１により、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＳｅｌｅｃｔＴｘ」は“０”に設定され、また、「ＴｘＤＣＴｏｐ」および「ＴｘＤＣＥｎｄ」の各ビットは、共に“１”に設定される。さらに、ＣＰＵ１２１により、ＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。
【０１２０】
そして、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされると、ＤＭＡコントローラ１１５によりペイロードＦＩＦＯ１１３からＭＴＦ１１１へのＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このとき、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータがパケットの先頭として転送され、転送先であるＭＴＦ１１１にも、それが反映される。
【０１２１】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送されると、それがパケットの最後のデータであるとされ、転送先であるＭＴＦ１１１にも、それが反映される。そして、この最後のデータの転送が終了すると、ＭＴＦ１１１からデータが外部インターフェース部１０１を通じてＩＥＥＥ１３９４バス２００に送出される。
【０１２２】
次に、図１４に示す非同期データの転送方法は、パケットヘッダはＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ１」および「ＭＴＦＷｒｉｔｅ２」を用いてＭＴＦ１１１に転送し、パケットのペイロードデータ（データフィールド、以下同じ）は、ペイロードＦＩＦＯ１１３からＭＴＦ１１１にＤＭＡ転送する方法である。そして、この図１４の方法では、ＤＭＡ転送の最後のＱｕａｄｌｅｔデータをパケットの最後として転送するようにする。
【０１２３】
この例の場合には、ＣＰＵ１２１は、まず、パケットの先頭（パケットヘッダの先頭）のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ１」に書き込む。すると、ＭＴＦ１１１には、それがパケットの先頭として転送される。次に、パケットヘッダの２番目以降のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ２」に順次に書き込み、パケットヘッダのＭＴＦ１１１への転送を行なう。
【０１２４】
また、ＣＰＵ１２１により、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＳｅｌｅｃｔＴｘ」は“０”に設定され、また、「ＴｘＤＣＴｏｐ」のビットは“０”とされ、また、「ＴｘＤＣＥｎｄ」のビットは“１”に設定される。さらに、ＣＰＵ１２１により、ＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。この設定は、パケットヘッダの転送の前でも後でもよい。
【０１２５】
そして、前述したパケットヘッダの転送が終了した後、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からのＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このとき、「ＴｘＤＣＴｏｐ」＝“０”であるので、ＤＭＡ転送の最初のＱｕａｄｌｅｔデータはパケットの先頭とは扱われない。
【０１２６】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送されると、「ＴｘＤＣＥｎｄ」＝“１”であるので、それがパケットの最後のデータであるとされ、転送先であるＭＴＦ１１１にも、それが反映される。そして、この最後のデータの転送が終了すると、ＭＴＦ１１１からデータが外部インターフェース部１０１を通じてＩＥＥＥ１３９４バス２００に送出される。
【０１２７】
次に、図１５に示す非同期データの転送方法においては、パケットヘッダはＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ１」および「ＭＴＦＷｒｉｔｅ２」を用いてＭＴＦ１１１に転送し、パケットのペイロードデータは、ペイロードＦＩＦＯ１１３からＭＴＦ１１１にＤＭＡ転送する。そして、パケットの最後のＱｕａｄｌｅｔデータは、ＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ３」を用いて転送する方法である。
【０１２８】
この例の場合には、ＣＰＵ１２１は、まず、パケットの先頭（パケットヘッダの先頭）のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ１」に書き込む。すると、ＭＴＦ１１１には、それがパケットの先頭として転送される。次に、パケットヘッダの２番目以降のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ２」に順次に書き込み、パケットヘッダのＭＴＦ１１１への転送を行なう。
【０１２９】
また、ＣＰＵ１２１により、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＳｅｌｅｃｔＴｘ」は“０”に設定され、また、「ＴｘＤＣＴｏｐ」および「ＴｘＤＣＥｎｄ」のビットは、それぞれ“０”に設定される。さらに、ＣＰＵ１２１により、ＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。以上の設定は、パケットヘッダの転送の前でも後でもよい。
【０１３０】
そして、前記パケットヘッダの転送が終了した後、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からのＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このとき、ＤＭＡ転送の最初および最後のＱｕａｄｌｅｔデータは、パケットの先頭および最後とは扱われない。
【０１３１】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送された後、ＣＰＵ１２１により、ＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ３」にパケットの最後のＱｕａｄｌｅｔデータが書き込まれ、ＭＴＦ１１１に転送される。そして、この最後のデータの転送が終了すると、ＭＴＦ１１１からデータが外部インターフェース部１０１を通じてＩＥＥＥ１３９４バス２００に送出される。
【０１３２】
次に、図１６に示す非同期データの転送方法は、パケットヘッダはＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ１」および「ＭＴＦＷｒｉｔｅ２」を用いてＭＴＦ１１１に転送し、パケットのペイロードデータは、ペイロードＦＩＦＯ１１３からＭＴＦ１１１に、複数回（図１６の例では３回）のＤＭＡ転送によって転送する方法である。そして、複数回のＤＭＡ転送の最後のＱｕａｄｌｅｔデータをパケットの最後として転送するようにする。
【０１３３】
この例の場合には、ＣＰＵ１２１は、まず、パケットの先頭（パケットヘッダの先頭）のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ１」に書き込む。すると、ＭＴＦ１１１には、それがパケットの先頭として転送される。次に、パケットヘッダの２番目以降のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ２」に順次に書き込み、パケットヘッダの転送を行なう。
【０１３４】
そして、ＣＰＵ１２１により、第１回目のＤＭＡ転送のために、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＳｅｌｅｃｔＴｘ」は“０”に設定され、また、「ＴｘＤＣＴｏｐ」および「ＴｘＤＣＥｎｄ」のビットは、それぞれ“０”に設定される。さらに、ＣＰＵ１２１により、第１回目にＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。この第１回目のＤＭＡ転送のための設定は、パケットヘッダの転送の前でも後でもよい。
【０１３５】
そして、前記パケットヘッダの転送が終了した後、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からのＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このとき、「ＴｘＤＣＴｏｐ」＝“０”、「ＴｘＤＣＥｎｄ」＝“０”であるので、ＤＭＡ転送の最初および最後のＱｕａｄｌｅｔデータは、パケットの先頭および最後とは扱われない。
【０１３６】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送された後、第２回目のＤＭＡ転送のために、ＣＰＵ１２１により、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＳｅｌｅｃｔＴｘ」は“０”に設定され、また、「ＴｘＤＣＴｏｐ」および「ＴｘＤＣＥｎｄ」のビットは、それぞれ“０”に設定される（第１回目の設定と同じであるので、この設定は不要としてもよい）。さらに、ＣＰＵ１２１により、第２回目にＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。
【０１３７】
そして、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からの第２回目のＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このときも、ＤＭＡ転送の最初および最後のＱｕａｄｌｅｔデータは、パケットの先頭および最後とは扱われない。
【０１３８】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送された後、第３回目のＤＭＡ転送のために、ＣＰＵ１２１により、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＳｅｌｅｃｔＴｘ」は“０”に設定され、また、「ＴｘＤＣＴｏｐ」のビットは“０”および「ＴｘＤＣＥｎｄ」のビットは“１”に設定される（第２回目の設定とは「ＴｘＤＣＥｎｄ」のビットのみが異なるので、この「ＴｘＤＣＥｎｄ」のビットのみを設定するようにしててもよい）。さらに、ＣＰＵ１２１により、第３回目にＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。
【０１３９】
そして、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からの第２回目のＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。
【０１４０】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送されると、「ＴｘＤＣＥｎｄ」＝“１”であるので、それがパケットの最後のデータであるとされ、転送先であるＭＴＦ１１１にも、それが反映される。そして、この最後のデータの転送が終了すると、ＭＴＦ１１１からデータが外部インターフェース部１０１を通じてＩＥＥＥ１３９４バス２００に送出される。
【０１４１】
次に、図１７に示す非同期データの転送方法は、パケットヘッダをＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ１」および「ＭＴＦＷｒｉｔｅ２」を用いてＭＴＦ１１１に転送し、パケットのペイロードデータは、ペイロードＦＩＦＯ１１３からＭＴＦ１１１に、複数回（図１６の例では３回）のＤＭＡ転送によって転送する。そして、パケットの最後のＱｕａｄｌｅｔデータは、ＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ３」を用いて転送する。
【０１４２】
この例の場合には、ＣＰＵ１２１は、まず、パケットの先頭（パケットヘッダの先頭）のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ１」に書き込む。すると、ＭＴＦ１１１には、それがパケットの先頭として転送される。次に、パケットヘッダの２番目以降のＱｕａｄｌｅｔデータを、ＭＴＦ書き込み用レジスタの「ＭＴＦＷｒｉｔｅ２」に順次に書き込み、パケットヘッダの転送を行なう。
【０１４３】
そして、ＣＰＵ１２１により、第１回目のＤＭＡ転送のために、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＳｅｌｅｃｔＴｘ」は“０”に設定され、また、「ＴｘＤＣＴｏｐ」および「ＴｘＤＣＥｎｄ」のビットは、それぞれ“０”に設定される。さらに、ＣＰＵ１２１により、第１回目にＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。この第１回目のＤＭＡ転送のための設定は、パケットヘッダの転送の前でも後でもよい。
【０１４４】
そして、前記パケットヘッダの転送が終了した後、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からＭＴＦ１１１へのＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このとき、ＤＭＡ転送の最初および最後のＱｕａｄｌｅｔデータは、パケットの先頭および最後とは扱われない。
【０１４５】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送された後、第２回目のＤＭＡ転送のための制御用レジスタの設定が、ＣＰＵ１２１により行われる。この例の場合には、ＣＰＵ１２１により、第２回目にＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。
【０１４６】
そして、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からの第２回目のＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このときも、ＤＭＡ転送の最初および最後のＱｕａｄｌｅｔデータは、パケットの先頭および最後とは扱われない。
【０１４７】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送された後、第３回目のＤＭＡ転送のための制御用レジスタの設定が、ＣＰＵ１２１により行われる。この例の場合には、ＣＰＵ１２１により、第３回目にＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。
【０１４８】
そして、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされる。すると、ＤＭＡコントローラ１１５により、ペイロードＦＩＦＯ１１３からの第２回目のＤＭＡ転送が上述したようにＱｕａｄｌｅｔデータ単位で実行される。このときも、ＤＭＡ転送の最初および最後のＱｕａｄｌｅｔデータは、パケットの先頭および最後とは扱われない。
【０１４９】
そして、「ＤＭＡ＿ＮｏＴｘ」で示される数のＱｕａｄｌｅｔデータの最後のＱｕａｄｌｅｔデータが転送された後、ＣＰＵ１２１により、ＭＴＦ書き込み用レジスタ「ＭＴＦＷｒｉｔｅ３」にパケットの最後のＱｕａｄｌｅｔデータが書き込まれ、ＭＴＦ１１１に転送される。そして、この最後のデータの転送が終了すると、ＭＴＦ１１１からデータが外部インターフェース部１０１を通じてＩＥＥＥ１３９４バス２００に送出される。
【０１５０】
図１８および図１９は、制御用レジスタのビット「ＴｘＣｏｐｙＤＣ」，「ＲｘＣｏｐｙＤＣ」の使用例を示すための図である。
【０１５１】
図１８の例は、パケットＦＩＦＯ１１４に格納されている複数個のパケットを１回のＤＭＡ転送で、ペイロードＦＩＦＯ１１３に転送する場合に、転送元のＤＣ情報は送らずにＤＭＡ転送する状態を示すものである。この場合には、ＣＰＵ１２１により、ＤＭＡ制御用レジスタの受信用レジスタのビット「ＳｅｌｅｃｔＲｘ」は“０”に設定され、「ＲｘＤＣＴｏｐ」のビットおよび「ＲｘＤＣＥｎｄ」のビットは“０”に設定され、また、「ＲｘＣｏｐｙＤＣ」のビットは“０”とされる。さらに、ＣＰＵ１２１により、ＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。
【０１５２】
そして、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされると、パケットＦＩＦＯ１１４からＱｕａｄｌｅｔデータ毎にペイロードＦＩＦＯ１１３にＤＭＡ転送される。このとき、「ＲｘＣｏｐｙＤＣ」＝“０”であるので、パケットＦＩＦＯ１１４に格納されているＤＣ情報はペイロードＦＩＦＯ１１３には転送されない。
【０１５３】
図１９の例は、パケットＦＩＦＯ１１４に格納されている複数個のパケットを１回のＤＭＡ転送で、ペイロードＦＩＦＯ１１３に転送する場合に、転送元のＤＣ情報は全て一緒に送ってＤＭＡ転送する状態を示すものである。この場合には、ＣＰＵ１２１により、ＤＭＡ制御用レジスタの受信用レジスタのビット「ＳｅｌｅｃｔＲｘ」は“０”に設定され、「ＲｘＤＣＴｏｐ」のビットおよび「ＲｘＤＣＥｎｄ」のビットは“０”に設定され、また、「ＲｘＣｏｐｙＤＣ」のビットは“１”とされる。さらに、ＣＰＵ１２１により、ＤＭＡ転送するＱｕａｄｌｅｔデータの数が、ＤＭＡ転送データ数レジスタの送信用レジスタに、「ＤＭＡ＿ＮｏＴｘ」として設定される。
【０１５４】
そして、ＤＭＡ制御用レジスタの送信用レジスタのビット「ＤＭＡ＿ｓｔａｒｔＴｘ」が“１”にされると、「ＲｘＣｏｐｙＤＣ」＝“１”であるので、パケットＦＩＦＯ１１４からＱｕａｄｌｅｔデータ毎に、ＤＣ情報を伴ってペイロードＦＩＦＯ１１３にＤＭＡ転送される。
【０１５５】
なお、上述の説明では、ＤＭＡ転送のデータ転送単位は、Ｑｕａｄｌｅｔデータであったが、これは、一例であって、これに限られるものではないことは言うまでもない。
【０１５６】
【発明の効果】
以上説明したように、この発明によれば、インターフェース装置内において、データは、ＤＭＡ転送するようにするので、処理時間を短縮することができると共に、制御用マイクロコンピュータの負荷を軽減することができる。
【０１５７】
また、一つのパケットを一つのパケットとして、一つのパケットを複数のパケットとして、複数のパケットを複数のパケットとしてなど、種々のパケット転送を実現することができる。
【図面の簡単な説明】
【図１】この発明による通信インターフェース装置の一実施の形態を示す図である。
【図２】図１の通信インターフェース装置の一実施の形態におけるデータ転送方法の概要を説明するための図である。
【図３】図１の通信インターフェース装置の一実施の形態におけるデータ転送方法を説明するための図である。
【図４】図１の通信インターフェース装置の一実施の形態におけるデータ転送方法を説明するための図である。
【図５】図１の通信インターフェース装置の一実施の形態におけるメモリの格納データを説明するための図である。
【図６】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送を説明するためのフローチャートの一部である。
【図７】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送を説明するためのフローチャートの一部である。
【図８】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送を説明するためのフローチャートの一部である。
【図９】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送を説明するためのフローチャートの一部である。
【図１０】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送を説明するためのフローチャートの一部である。
【図１１】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送を説明するためのフローチャートの一部である。
【図１２】図１の通信インターフェース装置の一実施の形態における非同期データ伝送の方法の一例を説明するための図である。
【図１３】図１の通信インターフェース装置の一実施の形態における非同期データ伝送の方法の一例を説明するための図である。
【図１４】図１の通信インターフェース装置の一実施の形態における非同期データ伝送の方法の一例を説明するための図である。
【図１５】図１の通信インターフェース装置の一実施の形態における非同期データ伝送の方法の一例を説明するための図である。
【図１６】図１の通信インターフェース装置の一実施の形態における非同期データ伝送の方法の一例を説明するための図である。
【図１７】図１の通信インターフェース装置の一実施の形態における非同期データ伝送の方法の一例を説明するための図である。
【図１８】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送の一つを説明するための図である。
【図１９】図１の通信インターフェース装置の一実施の形態におけるＤＭＡ転送の一つを説明するための図である。
【図２０】従来の通信インターフェース装置の一例を示すブロック図である。
【符号の説明】
１００…ＩＥＥＥ１３９４インターフェース装置、１０１…外部インターフェース部、１０２、１０３…内部バス、１０４…ホストバスインターフェース部、１０５…システムインターフェース部、１１１…非同期送信バッファ、１１２…非同期受信バッファ、１１３…ストリームペイロードＦＩＦＯメモリ、１１４…ストリームパケットＦＩＦＯメモリ、１１５…ＤＭＡコントローラ、１２１…ＣＰＵ、１２４…コンフィギュレーションレジスタ、２００…ＩＥＥＥ１３９４バス
【図１】
0004505985.tif 000002
【図２】
0004505985.tif 000003
【図３】
0004505985.tif 000004
【図４】
0004505985.tif 000005
【図５】
0004505985.tif 000006
【図６】
0004505985.tif 000007
【図７】
0004505985.tif 000008
【図８】
0004505985.tif 000009
【図９】
0004505985.tif 000010
【図１０】
0004505985.tif 000011
【図１１】
0004505985.tif 000012
【図１２】
0004505985.tif 000013
【図１３】
0004505985.tif 000014
【図１４】
0004505985.tif 000015
【図１５】
0004505985.tif 000016
【図１６】
0004505985.tif 000017
【図１７】
0004505985.tif 000018
【図１８】
0004505985.tif 000019
【図１９】
0004505985.tif 000020
【図２０】
0004505985.tif 000021