明 細 書 データ転送方法、 デ一夕転送装置、 通信イン夕一フェース方法および 通信ィン夕一フェース装置 技術分野
この発明は、 例えば、 I EEE (Th e I n s t i t u t e o f E l e ct r i c a l a n d E l e c t r o n i c s E n g i n e e r s , I n c . ) 1 3 94バス規格のシリアルバスと、 電子機器 の内部回路との間におけるデータ転送に用いて好適なデータ伝送方法お よび装置、 通信インタ一フェース方法および装置に関する。 背景技術.
デジタルデータをやり取りするためのシリアルバス規格として、 I E E E 1 3 94バス規格が知られている。 I E E E 1 3 94バス規格では- 同期通信であるアイソクロナス ( I s o c h r o n o u s ) 伝送と、 非 同期通信のァシンクロナス (A s y n c h r o n o u s ) 伝送とがあり. I EEE 1 3 94— 1 9 9 5規格では、 ビデオデ一夕やオーディォデ一 夕などのようにリアルタイム伝送のためには、 アイソクロナス伝送を用 い、 その他のステートデータや制御データなどの伝送のためには、 ァシ ンクロナス伝送が用いられるように定めれている。
第 1図は、 従来の I E E E 1 3 94インターフェース装置の一例のブ ロック図である。 この例のインタ一フェース装置は、 I C化された構成 のものである。
この例のインターフエ一ス装置 1 0は、 I E E E 1 3 94バスに接続 するための物理レイヤ回路 1 1と、 リンクコア回路 1 2と、 非同期送信
F I FO ( (F i r s t I n F i r s t Ou t ) メモリ 1 3と、 非同期受信 F I FOメモリ 1 4と、 コンフィギユレーションレジス夕 1 5と、 ホストバスインターフェース部 1 6と、 ァイソクロナス送信 F I F〇メモリ 1 7と、 ァイソクロナス送受信 F I FOメモリ 1 8と、 喑号 回路 1 9と、 アプリケーションインターフエ一ス部 2 0とを備える。
リンクコア回路 1 2は、 送信器 2 1と、 受信器 2 2と、 サイクルタイ マ一 23と、 CRC (Cy c l i c R e d a n d u n c y Ch e c k) 回路 24と、 サイクルモニタ回路 2 5とを備える。
ホストバスィンタ一フェース部 1 6は、 電子機器に搭載されたときに、 その電子機器内部の C PUをホストコンピュータとして接続されるよう にするためのもので、 ホストコンピュータは、 このホストバスインター フェース部 1 6を介して、 非同期送信 F I FOメモリ 1 3、 非同期受信 F I FOメモリ 1 4、 コンフィギュレーションレジスタ 1 5をアクセス して非同期通信を行なう。
そして、 インターフェース装置 1 0は、 ァイソクロナス通信用として、 アイソクロナス送信 F I F〇メモリ 1 7と、 アイソクロナス送受信 F I FOメモリ 1 8との 2個の F I FOメモリを内蔵しており、 2チャンネ ル同時送受信、 ァイソクロナス同時送受信が可能である。 そして、 暗号 回路 1 9の存在により、 2つの F I FOメモリ 1 7および 1 8のそれぞ れについて暗号化処理が可能である。
そして、 アプリケーションインタ一フェース部 20は、 MPEG (M o v i n g P i c t u r e Ex p e r t s G r o u p) 2 卜ラン スポートストリームや、 I E C ( I n t e r n a t i o n a l E l e c t r o t e c h n i c a l C omm i s s i o n) 9 5 8ォーティ ォストリームなどをァイソクロナスバケツ卜として通信することができ るための機能を持つ。
ところで、 新たな拡張された I E E E 1 3 9 4バス規格 ( 1 3 9 4 a ) においては、 非同期のァシンクロナス伝送によってもビデオデータ やオーディォデータが伝送可能とされる。 これはァシンクロナスストリ ームと呼ばれる。
上述したように、 従来のインタ一フェース装置 1 0においては、 ァシ ンクロナス通信においては、 電子機器の内部の C P Uがホストコンピュ 一夕として働き、 非同期送信 F I F Oメモリ 1 3、 非同期受信 F I F O メモリ 1 4、 コンフィギュレーションレジスタ 1 5をアクセスして非同 期通信を行なうようにしている。
このため、 ァシンクロナスストリームについても、 同様にホストコン ピュー夕のアクセスにより非同期通信を行なうようにすると、 データサ ィズが大きい場合など、 ホストコンピュータの負担が非常に重くなつて しまう。
また、 ァシンクロナスストリームを取り扱う I E E E 1 3 9 4インタ —フェース回路では、 I E E E 1 3 9 4バスから取り込んだパケットデ 一夕を、 上述のように、 一旦、 受信用バッファメモリに取り込み、 その 取り込んだバケツトデ一夕を別のメモリに転送した後、 バケツト分解し て、 内部信号処理系に転送すると共に、 内部信号処理系からのデータを 所定のメモリに取り込み、 パケット化した後、 送信用バッファメモリに 転送し、 その送信用バッファメモリから I E E E 1 3 9 4バスに送出す るようにする必要がある。
この場合に、 I E E E 1 3 9 4バス規格では、 例えば 5 1 2バイト〜 2 0 4 8バイトのデータ量からなるパケット単位でデ一タ伝送するので. 例えば、 静止画のデータをァシンクロナスストリームとして伝送する場 合には、 通常は、 複数個のパケットのデータとされて伝送されることと なる。
そして、 I E E E 1 3 94バス規格では、 インタ一フェース装置 1 0 内では、 データは、 Qu a d l e t ( 4バイト) 単位で送受信する必要 があるが、 上述のようにメモリからメモリへのデータ転送に当って、 ど こからどこまでがパケットであるのかを指定する方法が従来は存在しな い。 そのため、 メモリ間のデータ転送に有効な方法が要望される。
この発明は、 以上のような問題を解決できるデータ伝送方法および装 置、 また、 通信インターフェース方法および装置を提供することを目的 とする。 発明の開示
上記課題を解決するため、 請求の範囲第 1項の発明によるデータ転送 方法は、
所定数のデ一夕からなる単位データの複数個からなるバケツ トを、 第 1のメモリ手段から第 2のメモリ手段に、 前記単位デー夕の所定数毎に DMA (D i r e c t Memo r y Ac c e s s ) 転送するデータ 転送方法であって、
前記第 1のメモリ手段から前記第 2のメモリに DM A転送する最初の 前記単位データが、 パケットの先頭であるか否かを示す先頭情報と、 前 記第 1のメモリ手段から前記第 2のメモリに DM A転送する最後の前記 単位データが、 パケットの最後であるか否かを示す最後情報とを、 前記 DM A転送のための制御用レジスタに設定し、 その制御用レジス夕の設 定に従って前記 DMA転送を実行すると共に、 前記先頭情報がパケット の先頭であると設定されているとき、 および前記最後情報がパケッ卜の 最後であると設定されているとき、 そのことを前記 DM A転送の転送先 で反映させる
ことを特徴とする。
上述の構成の請求の範囲第 1項の発明によれば、 メモリ間は、 DMA 転送により高速にデータ転送が行なわれると共に、 その DM A転送は所 定デ一夕数の単位デ一夕毎に行われ、 しかも、 その単位デ一夕毎の DM A転送のための制御用レジスタには、 転送する最初の単位データがパケ ットの先頭であるか、 また、 転送する最後の単位データがパケットの最 後尾であるかの指示情報が設定可能であるので、 パケット単位のデータ の取り扱いが容易となる。
また、 請求の範囲第 2項の発明は、 請求の範囲第 1項において、 転送元の前記メモリ手段に格納されている前記バケツ卜の先頭および ノまたは最後を示す情報を付加して前記 DM A転送するか否かを指示す る付加転送指示情報を、 前記制御用レジス夕に設定する
ことを特徴とする。
上述の構成の請求の範囲第 2項の発明によれば、 転送元のメモリ手段 に格納されているパケットの先頭および Zまたは最後を示す情報を付加 して DMA転送することができるので、 DMA転送後のパケット単位の 伝送がさらに可能になる。
また、 請求の範囲第 4項の発明によるデータ転送装置は、
所定数のデータからなる単位データの複数個からなるバケツトを、 第 1のメモリ手段から第 2のメモリ手段に、 前記単位データの所定数毎に DMA (D i r e c t Memo r y Ac c e s s ) 転送するデータ 転送装置であって、
前記 DM A転送のための制御用レジス夕と、
前記 DM A転送の最初の前記単位データがバケツトの先頭であるか否 かを示す先頭情報と、 最後の前記単位データがバケツトの最後であるか 否かを示す最後情報とを、 前記制御用レジス夕に設定する設定手段と、 前記制御用レジスタの設定に従って前記 DM Aを実行すると共に、 前
記先頭情報がバケツトの先頭であると設定されているとき、 また前記最 後情報がパケットの最後であると設定されているとき、 そのことを前記
D M A転送の転送先で反映させる手段と、
を備えることを特徴とする。
上述の構成の請求の範囲第 4項の発明によれば、 メモリ間は、 D M A 転送により高速にデ一タ転送が行なわれると共に、 その D M A転送は所 定データ数の単位データ毎に行われ、 しかも、 その単位データ毎の D M A転送のための制御用レジス夕には、 転送する最初の単位データがパケ ットの先頭であるか、 また、 転送する最後の単位データがパケットの最 後尾であるかの指示情報が設定可能であるので、 パケッ ト単位のデ一夕 の取り扱いが容易となる。
また、 請求の範囲第 5項の発明は、 請求の範囲第 4項において、 前記設定手段は、 転送元の前記メモリ手段に格納されている前記パケ ットの先頭および または最後を示す情報を付加して転送するか否かを 指示する付加転送指示情報を、 前記制御用レジス夕に設定する
ことを特徴とする。
上述の構成の請求の範囲第 5項の発明によれば、 転送元のメモリ手段 に格納されているパケットの先頭および/または最後を示す情報を付加 して D M A転送することができるので、 D M A転送後のパケット単位の 伝送がさらに可能になる。
また、 請求の範囲第 7項の発明による通信ィンターフェース方法は、 非同期通信により外部バスから取得したパケットを第 1のメモリ手段 に格納し、 前記第 1のメモリ手段に格納されたパケットを内部バスを通 じて第 2のメモリ手段に転送し、 前記第 2のメモリ手段に格納されたパ ケットを分解して得たデータを内部信号処理系に転送するようにすると 共に、
前記内部信号処理系からのデータをバケツト化して前記第 2のメモリ 手段に格納し、 前記第 2のメモリ手段に格納したバケツト化データを第 3のメモリ手段に前記内部バスを通じて転送し、 前記第 3のメモリ手段 から、 前記外部バスに非同期で送り出すようにする通信ィンターフェ一 ス方法であって、
前記第 1のメモリ手段と前記第 2のメモリ手段との間における転送、 および前記第 2のメモリ手段と前記第 3のメモリ手段との間における転 送は、 D M A転送とすることを特徴とする。
この請求の範囲第 7項の発明によれば、 非同期通信により外部バスを 通じて送られてきたパケットは第 1のメモリ手段に格納された後、 D M A転送により内部バスを通じて第 2のメモリに転送される。 そして、 第 2のメモリ手段に格納されたデータがバケツト分解された後、 内部信号 処理系に転送される。 また、 内部信号処理系からのデータはパケット化 されて第 2のメモリ手段に格納され、 その第 2のメモリ手段から D M A 転送により第 3のメモリ手段に内部バスを通じて転送される。 そして、 第 3のメモリ手段から外部バスに非同期で送り出される。 内部メモリ手 段間のデータ転送は、 D M A転送であるので、 高速転送が可能であると 共に、 制御部の制御に関係なく、 転送が可能となり、 制御部の負担が軽 くなる。
また、 請求の範囲第 8項の発明は、 請求の範囲第 7項において、 前記 D M A転送は、 所定数のデータからなる単位データの所定数毎に 行なうものであって、
前記第 1のメモリ手段と前記第 2のメモリ手段との間、 あるいは前記 第 2のメモリと前記第 3のメモリ手段との間における D M A転送の最初 の前記単位データが、 パケットの先頭であるか否かを示す先頭情報と、 最後の前記単位データが、 バケツ卜の最後であるか否かを示す最後情報
とを、 前記 DMA転送のための制御用レジスタに設定し、 その制御用レ ジス夕の設定に従って前記 DMA転送を実行すると共に、 前記先頭情報 がバケツトの先頭であると設定されているとき、 および前記最後情報が パケットの最後であると設定されているとき、 そのことを前記 DMA転 送の転送先で反映させる
ことを特徴とする。
請求の範囲第 8項の発明によれば、 メモリ間は、 DMA転送により高 速にデータ転送が行なわれると共に、 その DMA転送は所定データ数の 単位デ一夕毎に行われ、 しかも、 その単位データ毎の DMA転送のため の制御用レジスタには、 転送する最初の単位データがパケットの先頭で あるか、 また、 転送する最後の単位データがパケットの最後尾であるか の指示情報が設定可能であるので、 パケット単位のデータの取り扱いが 容易となる。
また、 請求の範囲第 9項の発明は、 請求の範囲第 8項において、 転送元の前記メモリ手段に格納されている前記パケットの先頭および Zまたは最後を示す情報を付加して前記 DM A転送するか否かを指示す る付加転送指示情報を、 前記制御用レジス夕に設定する
ことを特徴とする。
この請求の範囲第 9項の発明によれば、 転送元のメモリ手段に格納さ れているバケツ卜の先頭および Zまたは最後を示す情報を付加して DM A転送することができるので、 DMA転送後のバケツト単位の伝送がさ らに可能になる。
請求の範囲第 1 0項の発明は、 請求の範囲第 7項〜請求の範囲第 9項 のいずれかにおいて、
前記外部バスは、 I EEE (Th e I n s t i t u t e o f E l e c t r i c a l a n d E l e c t r o n i c s En g i n e
e r s , I n c . ) 1 3 9 4バス規格のシリアルバスであることを特徵 とする。
この請求の範囲第 1 0項の発明によれば、 I E E E 1 3 9 4バスを外 部バスとしたデータ転送であって、 非同期のァシンクロナスストリーム のデータ転送が良好に行われる。
請求の範囲第 1 3項の発明による通信ィンターフェース装置は、 内部パスと、
前記内部バスと外部バスとの間に設けられ、 非同期通信により外部バ スから取得したバケツトを格納するための第 1のメモリ手段と、
前記内部バスと内部信号処理系との間に設けられる第 2のメモリ手段 と、
前記内部バスと、 前記外部バスとの間に設けられ、 非同期通信により 前記外部バスにパケットを送出するための第 3のメモリ手段と、
前記第 1のメモリ手段と前記第 2のメモリ手段との間における転送、 および前記第 2のメモリ手段と前記第 3のメモリ手段との間における転 送を、 D M A転送により実行するための D M Aコントローラと、
前記 D M A転送を制御するための制御情報が格納される制御用レジス 夕と、
前記第 2のメモリ手段に転送されたパケットを分解して、 前記第 2の メモリ手段に再格納すると共に、 前記第 2のメモリ手段に格納された前 記内部信号処理系からのデ一夕をバケツト化して、 前記第 2のメモリ手 段に再格納する手段と、
を備えることを特徴とする。
この請求の範囲第 1 3項の発明によれば、 非同期通信により外部バス を通じて送られてきたパケットは第 1のメモリ手段に格納された後、 D M A転送により内部バスを通じて第 2のメモリに転送される。 そして、
第 2のメモリ手段に格納されたデ一夕がバケツト分解された後、 内部信 号処理系に転送される。 また、 内部信号処理系からのデータはパケット 化されて第 2のメモリ手段に格納され、 その第 2のメモリ手段から DM A転送により第 3のメモリ手段に内部バスを通じて転送される。 そして、 第 3のメモリ手段から外部バスに非同期で送り出される。
したがって、 通信ィンタ一フェース装置内におけるメモリ間のデータ 転送は、 DMAコン卜ローラの制御に基づく DMA転送により行われる ので、 高速転送が可能であると共に、 通信インタ一フェース装置内の制 御部は、 その DMA転送の間は他のジョブを実行することができるなど、 制御部の負担が軽くなる。
請求の範囲第 14項の発明は、 請求の範囲第 1 3項において、 前記 DM A転送は、 所定数のデータからなる単位データの所定数毎に 行なうものであって、
前記制御用レジス夕に、 前記 DMA転送の最初の前記単位デ一夕が、 パケットの先頭であるか否かを示す先頭情報と、 最後の前記単位デ一夕 が、 パケットの最後であるか否かを示す最後情報とを、 設定する設定手 段を備えると共に、
前記 DMAコントローラは、 前記制御用レジスタの設定に従って前記 DM A転送を実行すると共に、 前記先頭情報がパケットの先頭であると 設定されているとき、 および前記最後情報がパケットの最後であると設 定されているとき、 そのことを前記 DM A転送の転送先で反映させる ことを特徴とする。
この請求の範囲第 1 4項の発明によれば、 メモリ間は、 DMA転送に より高速にデータ転送が行なわれると共に、 その DMA転送は所定デ一 夕数の単位デ一夕毎に行われ、 しかも、 その単位データ毎の DMA転送 のための制御用レジスタには、 転送する最初の単位データがバケツトの
先頭であるか、 また、 転送する最後の単位デ一夕がパケットの最後尾で あるかの指示情報が設定可能であるので、 バケツト単位のデータの取り 扱いが容易となる。
また、 請求の範囲第 1 5項の発明は、 請求の範囲第 1 4項において、 前記設定手段は、 転送元の前記メモリ手段に格納されている前記パケ ットの先頭および または最後を示す情報を付加して前記 D M A転送す るか否かを指示する付加転送指示情報を、 前記制御用レジスタに設定す る
ことを特徴とする。
この請求の範囲第 1 5項の発明によれば、 転送元のメモリ手段に格納 されているバケツトの先頭および Zまたは最後を示す情報を付加して D M A転送することができるので、 D M A転送後のバケツト単位の伝送が さらに可能になる。
請求の範囲第 1 6項の発明は、 請求の範囲第 1 3項〜請求の範囲第 1 5項のいずれかにおいて、
前記外部バスは、 I E E E 1 3 9 4パス規格のシリアルバスであるこ とを特徴とする。
この請求の範囲第 1 6項の発明によれば、 I E E E 1 3 9 4バスを外 部バスとしたデータ転送であって、 非同期のァシンクロナスストリーム のデータ転送が良好に行われる。 図面の簡単な説明
第 1図は従来の通信ィンターフェ一ス装置の一例を示すブロック図、 第 2図はこの発明による通信ィンタ一フエ一ス装置の一実施の形態を示 す図、 第 3図は第 2図の通信インターフェース装置の一実施の形態にお けるデータ転送方法の概要を説明するための図、 第 4図は第 2図の通信
ィンタ一フエ一 装置の一実施の形態におけるデ一夕転送方法を説明す るための図、 第 5図は第 2図の通信ィンターフェ一ス装置の一実施の形 態におけるデ一タ転送方法を説明するための図、 第 6図は第 2図の通信 ィンタ一フエ一ス装置の一実施の形態におけるメモリの格納データを説 明するための図、 第 7図は第 2図の通信インターフェース装置の一実施 の形態における D M A転送を説明するためのフローチャートの一部、 第 8図は第 2図の通信ィンターフェース装置の一実施の形態における D M A転送を説明するためのフローチャートの一部、 第 9図は第 2図の通信 ィンタ一フエ一ス装置の一実施の形態における D M A転送を説明するた めのフローチャートの一部、 第 1 0図は第 2図の通信インターフェース 装置の一実施の形態における D M A転送を説明するためのフローチヤ一 トの一部、 第 1 1図は第 2図の通信インターフエ一ス装置の一実施の形 態における D M A転送を説明するためのフローチャートの一部、 第 1 2 図は第 2図の通信ィンターフェ一ス装置の一実施の形態における D M A 転送を説明するためのフローチャートの一部、 第 1 3図は第 2図の通信 ィンターフェース装置の一実施の形態における非同期データ伝送の方法 の一例を説明するための図、 第 1 4図は第 2図の通信インターフェース 装置の一実施の形態における非同期デ一夕伝送の方法の一例を説明する ための図、 第 1 5図は第 2図の通信インタ一フェース装置の一実施の形 態における非同期データ伝送の方法の一例を説明するための図、 第 1 6 図は第 2図の通信ィンターフェ一ス装置の一実施の形態における非同期 データ伝送の方法の一例を説明するための図、 第 1 7図は第 2図の通信 ィンターフェース装置の一実施の形態における非同期データ伝送の方法 の一例を説明するための図、 第 1 8図は第 2図の通信インタ一フェース 装置の一実施の形態における非同期データ伝送の方法の一例を説明する ための図、 第 1 9図は第 2図の通信インターフェース装置の一実施の形
態における DMA転送の一つを説明するための図、 第 2 0図は第 2図の 通信ィンターフェース装置の一実施の形態における DM A転送の一つを 説明するための図である。 発明を実施するための最良の形態
以下、 この発明の実施の形態を、 図を参照しながら説明する。 第 2図 は、 この発明による通信ィン夕一フェース装置の実施の形態のブロック 図である。
この第 2図の実施の形態は、 映像機器などの電子機器の内部に搭載さ れる I E E E 1 3 94インタ一フェース装置 1 0 0の場合の構成例であ つて、 I C化回路として構成された場合の例である。
この実施の形態の I EEE 1 3 94ィンターフェ一ス装置 1 0 0は、 外部バスである I E E E 1 3 94規格のシリアルバス (以下、 単に I E E E 1 3 94バスという) 2 0 0と、 電子機器の内部信号処理系 3 0 0 および電子機器の内部のホストコンピュータのバス (ホストバス) 40 0との間におけるインターフェース処理を行なうものである。 なお、 こ の第 2図の構成例は、 主として非同期通信としてのァシンクロナス通信 の部分を主として示している。
第 2図において、 I EEE 1 3 94ィンターフェース装置 1 0 0は、 物理レイヤ回路およびリンクコア回路を含む外部バスィンターフェ一ス 部 1 0 1により I EEE 1 3 94バス 2 00に接続されている。
また、 ィンタ一フェース装置 1 0 0は、 内部バス 1 0 2と 1 0 3とを 備えている。 これら内部バス 1 0 2と 1 0 3とは、 コンフィギユレーシ ヨンレジス夕 1 24を介して接続されている。 このコンフィギユレーシ ヨンレジス夕 1 24には、 後述する DMA制御用レジスタや、 その他の レジスタを含む。
外部イン夕一フェース部 1 0 1と、 内部バス 1 0 2との間には、 非同 期送信バッファメモリ 1 1 1と、 非同期受信バッファメモリ 1 1 2とが 接続される。 また、 内部バス 1 02には、 ストリームペイロードメモリ 1 1 3と、 ストリームパケットメモリ 1 14とが接続される。 これらの メモリ 1 1 1〜 1 14は、 この例では、 全て F I F 0 (F i r s t I n F i r s t Ou t) メモリで構成されている。 なお、 以下の説明 においては、 非同期送信バッファ 1 1 1は MTF、 非同期受信バッファ 1 1 2は MR F、 ストリームペイ口一ドメモリ 1 1 3はペイロード F I F 0、 ストリ一ムパケットメモリ 1 1 4はパケット F I F〇と称するこ ととする。
これらの F I F〇メモリ 1 1 1〜 1 14間のデータ転送は、 後述する ように DMA転送とされるもので、 そのための DMAコントローラ 1 1 5が内部バス 1 0 2に接続されて設けられている。
パケット F I F〇 1 14は、 ヘッダ付加ノ分離部 1 1 6に接続されて おり、 パケット F I F 01 14に取り込まれたパケットからヘッダを分 離し、 また、 パケット F I F Oに取り込まれたデータにヘッダを付加す るようにされる。 ヘッダ付加 Z分離部 1 1 6は、 レジスタ 1 24に接続 されている。
内部パス 1 0 3には、 C PU 1 2 1と、 プログラム ROM 1 2 2と、 ワーク RAM 1 2 3が、 コンフィギュレーションレジス夕 1 24と共に 接続されている。 内部バス 1 0 3と、 電子機器の内部のホストバス 40 0との間には、 ホストバスインターフェース部 1 04が接続されている c さらに、 ペイロード F I F〇 1 1 3と、 内部信号処理系 3 0 0との間 には、 システムインターフェース部 1 0 5が接続されている。 これは、 従来のアプリケーションインタ一フェース部に対応するものである。 な お、 この例の場合には、 内部信号処理系 30 0には、 システムインター
フェース部 1 0 5を通じてァイソクロナス通信によって伝送されてくる ビデオデータやオーディオデ一夕などが送られる場合もある。 また、 内 部信号処理系 3 0 0からアイソクロナス通信を行なうデータもシステム イン夕一フェース部 1 0 5を通じて送られてくる。
このため、 第 2図の例においては、 このアイソクロナス通信のための バッファとしてのァイソクロナス送受信 F I FOメモリ 1 3 0が設けら れている。 そして、 システムインターフェース部 1 0 5に対して、 アイ ソクロナス通信のときには、 ァイソクロナス F I FO 1 30側に、 ァシ ンクロナス通信の時には、 ペイロード F I F O 1 1 3側に、 それぞれ切 り換え接続されるようにするスィッチ回路 1 40が設けられている。 な お、 ァイソクロナス送受信 F I FOメモリ 1 3 0は、 図の例では 1個と して示したが、 実際的には、 従来例と同様に 2個の F I F〇メモリが設 けられているものである。
コンフィギュレーションレジスタ 1 24は、 MT F書き込み用レジス 夕と、 DMA制御用レジスタを含む。
MT F書き込み用レジスタは、 C PU 1 2 1から MTF 1 1 1に転送 データを書き込む際に用いるレジスタであって、 バケツト先頭レジス夕 と、 パケット最後レジスタと、 パケット中間レジスタとの 3個のレジス 夕からなる。 パケット先頭レジス夕に書き込まれたデータは、 パケット の先頭として扱われ、 パケット最後レジスタに書き込まれたデータは、 パケットの最後として扱われ、 また、 パケット中間レジス夕に書き込ま れたデ一夕は、 バケツ卜の中間のデータとして扱われる。
DM A制御用レジス夕は、 DMAコントローラ 1 1 5が DM A転送を 実行する際に参照するレジス夕であって、 C PU 1 2 1によって、 その レジスタに制御データが書き込まれて設定される。
この実施の形態の場合、 DMA転送は、 ペイロード F I F O 1 1 3を
中心として考え、 このペイロード F I F O 1 1 3からの送信、 このペイ ロード F I F〇への受信の DM A転送を想定することにより、 必要な全 ての DM A転送を定義するようにしている。
すなわち、 この実施の形態で行われる全ての DM A転送を図示すると、 第 3図に示すようなものとなり、 ペイロード F I F01 1 3からの送信 の DMA転送として、 MT F 1 1 1への DM A転送 (第 3図の DM A ①) と、 パケット F I F〇 1 14への DM A転送 (第 3図の DM A②) との 2つを考え、 また、 ペイロード F I F O 1 1 3の受信の DM A転送 として、 MRF 1 1 2からの DM A転送 (第 3図の DM A③) と、 パケ ット F I FO 1 14からの DM A転送 (第 3図の DM A④) との 2つを 考えれば、 全ての DMA転送が含まれることになる。
このような観点から、 この実施の形態では、 DMA制御用レジスタは, ペイロード F I F〇 1 1 3についての送信用制御レジスタおよび受信用 制御レジスタと、 送信用 DM A転送データ数レジスタおよび受信用 DM A転送デ一タ数レジスタとを含むものとされている。
ペイロード F I F〇 1 1 3の送信用制御レジスタおよび受信用制御レ ジス夕の制御デ一夕の内容の例を第 4図に示す。 また、 送信用 DMA転 送データ数レジスタおよび受信用 DMA転送データ数レジス夕の内容の 例を第 5図に示す。
第 5図 Aは、 送信用 DMA転送データ数レジスタに設定される制御デ 一夕を示すものであって、 DMA_N o Txは、 ペイロード F I FO l 1 3から DM A転送される単位データ (Qu a d 1 e tデータ) の数を 示している。 また、 第 5図 Bは、 受信用 DMA転送データ数レジスタに 設定される制御データを示すものであって、 DMA— N o Rxは、 DM A転送される単位デ一夕 (Qu a d l e tデータ) の数を示している。 第 4図 Aは、 C PU 1 2 1によって送信用制御レジスタに設定される
制御データを示すものである。 この制御データは、 1 6ビットからなる もので、 そのうち、 最初の 1ビット 「S e 1 e c t Tx」 は、 前記 2つ の送信の DM Α転送のいずれの DM Α転送であるかを設定するビットで、 S e l e c t Tx="l,,のとき、
ペイロード F I F01 1 3 パケット F I F01 14
の方向の DM A転送を行なうことを指示し、
S e 1 e c t T x="0"のとき、
ペイロード F I FO 1 1 3 MTF 1 1 1
の方向の DM A転送を行なうことを指示するものである。
次の 1ビット 「DMA— S t a r t T x」 は、 このビットに" 1"が書 き込まれることで、 ペイロード F I F01 1 3 パケッ ト F I FO 1 1 4/MR F 1 1 2間で、 前述した DMA— N o T xで指定される数の Q u a d 1 e tデータの DM A転送が開始される。 このビット 「DMA— S t a r t Tx」 は、 転送終了時にはクリアされて" 0"とされ、 また、 転送処理中にこのビットに" 0"を書き込むことで、 転送処理を即時中止 することができる。
また、 「Tx F I FON o」 の 2ビットは、 ペイロード F I F〇 1 1 3から DMA転送を行なう転送先の MT F 1 1 1を指定する。 すなわち, MTF 1 1 1は、 複数個の F I F〇メモリからなるので、 その複数個の F I FOメモリのうちのどの F I FOメモリに転送するかを指定する。 このビット 「Tx F I FONo」 は、 「S e 1 e c t Tx」 ="0"のと きにのみ有効である。
その次の 1ビット 「TxDCT o p」 は、 これが" 1,,であるときに、 DMA転送の最初の単位データ (Qu a d 1 e tデータ) がパケットの 先頭であることを示す。 なお、 このビット 「TxDCT o p」 が" 1"で あるときには、 DMA転送先でも、 DMA転送の最初の単位データ (Q
u a d 1 e tデータ) がパケッ卜の先頭であることを反映する。
次の 1ピット 「TxDCEn d」 は、 これが" 1,,であるときに、 DM
A転送の最後の単位デ一夕 (Qu a d 1 e tデータ) がパケットの最後 であることを示す。 なお、 このビット 「TxDCE n d」 が" 1"である ときには、 DMA転送先でも、 DMA転送の最後の単位データ (Qu a d i e tデータ) がバケツトの最後であることを反映する。
その次の 1ビット 「Tx C o p yDC」 は、 これが" 1,,であるときに, 送信元の DC情報 (To p (先頭) 、 En d (最後) ) を転送先に送る ことを指示する。
最後の 1ビット 「 I nDMATx」 は、 これが" 1,,であるときに、 D MA転送処理中であることを示す。 このビット 「 I nDMATx」 は、 DMA転送の開始でセットされ、 DMA転送の終了 (中止を含む) でク リアされる。
第 4図 Bは、 CPU 1 2 1によって受信用制御レジスタに設定される 制御データを示すものである。 この制御データも、 1 6ビットからなる もので、 そのうち、 最初の 1ビット 「S e 1 e c t Rx」 は、 前記 2つ の受信の DM A転送のいずれの DM A転送であるかを設定するビットで, S e 1 e c t Rx="l,,のとき、
パケット F I F01 14 ペイロード F I FO 1 1 3
の方向の DMA転送を行なうことを指示し、
S e l e c t Rx="0,,のとき、
MR F 1 1 2 ペイロード F I F01 1 3
の方向の DM A転送を行なうことを指示するものである。
次の 1ビッ ト 「DMA_S t a r t R x」 は、 このビットに" 1,,が書 き込まれることで、 パケット F I F〇 1 14/MR F 1 1 2 ペイ口一 ド F I F 01 1 3間で、 前述した DM A N o R xで指定される数の Q
u a d 1 e tデータの DMA転送が開始される。 このビット 「DMA— S t a r t Rx」 は、 転送終了時にはクリアされて" 0 "とされ、 また、 転送処理中にこのビットに" 0,,を書き込むことで、 転送処理を即時中止 することができる。
「RxDCT o p」 のビットは、 これが" 1 "であるときに、 DM A転 送の最初の単位データ (Qu a d l e tデータ) がパケットの先頭であ ることを示す。 なお、 このビット 「RxDCT o p」 が" 1,,であるとき には、 DMA転送先でも、 DMA転送の最初の単位データ (Qu a d l e tデータ) がパケットの先頭であることを反映する。
次の 1ビット 「RxDCEn d」 は、 これが" 1,,であるときに、 DM A転送の最後の単位データ (Qu a d l e tデータ) がパケットの最後 であることを示す。 なお、 このビット 「RxDCE n d」 が" 1"である ときには、 DMA転送先でも、 DMA転送の最後の単位データ (Qu a d i e tデ一夕) がバケツトの最後であることを反映する。
その次の 1ビット 「Rx C o p yD C」 は、 これが" 1,,であるときに, 送信元にあるバケツトの先頭および最後を示す情報 (これを以下 D C情 報という) を転送先に送ることを指示していることを示す。
最後の 1ビット 「 I nDMARx」 は、 これが" 1,,であるときに、 D MA転送処理中であることを示す。 このビット 「 I nDMARx」 は、 DMA転送の開始でセットされ、 DMA転送の終了 (中止を含む) でク リアされる。
第 6図に、 F I FOメモリ 1 1 1、 1 1 2、 1 1 3、 1 14の格納デ 一夕の構造について示す。 すなわち、 各 F I FOメモリ 1 1 1〜 1 14 には、 Qu a d 1 e tデータ単位でデータが格納されるが、 各 Qu a d 1 e tデ一夕単位毎に、 パケットの先頭または最後を示す情報 D C— T o pまたは D C E n dからなる DC情報が付加されている。 前述した
D M A転送に際してのパケットの先頭または最後の反映は、 この D C情 報の書き込みである。
以上のような構成の I E E E 1 3 9 4インターフエ一ス装置の動作に ついて、 以下に説明する。
まず、 ァイソクロナス通信を行なうときには、 スィッチ回路 1 4 0が ァイソクロナス F I F Oメモリ 1 3 0側に切り換えられる。 そして、 I
E E E 1 3 9 4バス 2 0 0から受信したアイソクロナスパケットが、 外 部インターフェース部 1 0 1を通じて取り込まれ、 ァイソクロナス F I
F Oメモリ 1 3 0に格納され、 パケット分解される。 そして、 アイソク 口ナス F I F Oメモリ 1 3 0から読み出されたデータは、 スィッチ回路
1 4 0およびシステムィン夕ーフェース部 1 0 5を通じて内部信号処理 系 3 0 0に転送される。
また、 内部信号処理系 3 0 0からのデータは、 システムインタ一フエ ース部 1 0 5およびスィツチ回路 1 4 0を通じてアイソクロナス F I F Oメモリ 1 3 0に転送されて格納される。 そして、 このアイソクロナス
F I F Oメモリ 1 3 0のデータがアイソクロナスパケットとされ、 外部 インターフェース部 1 0 1を通じて I E E E 1 3 9 4バス 2 0 0に送出 される。
次に、 非同期通信 (ァシンクロナス通信) について説明する。 この実 施の形態においては、 非同期通信を行なう場合であって、 データが例え ば静止画デー夕などのように、 データサイズが大きいものの場合には、 ァシンクロナスストリームのデータ通信を行なう。 その他の制御デ一タ やステートデータの通信の場合には、 従来と同様の非同期通信を行なう t I E E E 1 3 9 4イン夕一フェース装置 1 0 0から送信するデータを ァシンクロナスストリームとするか、 その他の非同期通信によるものと するかは、 例えば、 ホストバス 4 0 0を通じてホス卜コンピュータから
指示され、 C PU 1 2 1が制御する。 この場合、 ホストコンピュータは、 非同期通信により送信しょうとするデータのデータサイズを判別し、 デ 一夕サイズが大きい場合には、 ァシンクロナスストリームによる通信を 行なうように指示する。
なお、 例えば静止画データ、 オーディオデータなどというように、 ァ シンクロナスストリームによる通信を行なうデータの種類を、 予め定め ておき、 ァシンクロナス通信により送信しょうとする際に、 ホストコン ピュー夕が、 データの種類を判別し、 その判別結果に基づいてァシンク 口ナスストリームによる通信を行なうかどうかを指示するようにしても 良い。
受信したデータがァシンクロナスストリームのものか、 それ以外かは, バケツトヘッダにより判別することができる。
そして、 I E E E 1 3 9 4インターフエ一ス装置 1 0 0において、 ァ シンクロナスストリームのデータを取り扱うときには、 つまり、 データ サイズが大きい場合や予め定められた種類のデータの場合には、 F I F Oメモリ 1 1 1〜 1 1 4間では、 DMA転送を行なうようにする。
この I EEE 1 3 94ィンターフェース装置 1 0 0における非同期通 信によりァシンクロナスストリームのデータ送受の流れの概要を、 説明 する。
この実施の形態のインターフェース装置 1 0 0においては、 ァシンク 口ナスストリームにおいては、 MP E G (M o V i n g P i c t u r e E p e r t s G r o u p) 2方式や D V (D i g i t a l V i d e o) 方式により圧縮された動画ビデオ信号や、 J P EG ( J o i n t P h o t o g r a p h i c E x p e r t s G r o u p; 方式 により圧縮された静止画ビデオ信号が、 所定の大きさのパケット単位で 伝送されるものとしている。
前述した第 3図は、 この場合のデータの流れを説明するための図でも ある。 まず、 I E E E 1 3 94バス 2 0 0からのデータを受信する場合 の流れについて説明する。 なお、 I E E E 1 3 94インタ一フエ一ス装 置 1 0 0は、 電子機器 5 0 0内に設けられ、 内部信号処理系 3 0 0、 ホ ストバス 40 0およびホストコンピュータは、 この電子機器 5 0 0の内 部に設けられるものである。
I E E E 1 3 94バス 2 00を通じて送られてきたァシンクロナスス トリ一ムは、 外部ィン夕一フェース部 1 0 1を通じて MRF 1 1 2に格 納される。 この MR F 1 1 2に格納されたパケットデータは、 DMAコ ントロ一ラ 1 1 5の制御に基づき、 ペイロード F I F O 1 1 3に DMA 転送される。 このときの DMA転送は、 4バイト単位、 つまり Qu a d 1 e tデータ単位で行なわれる。 後述する他の DMA転送においても、 全て Q u a d 1 e tデータ単位で行なわれるものである。
次に、 ペイロード F I F〇 1 1 3に格納されたパケットデータは、 D MAコントローラ 1 1 5の制御に基づき、 バケツト F I F 01 14に D MA転送される。 バケツト F I F 01 1 4に格納されたデータについて は、 ヘッダ付加/分離部 1 1 6でパケットヘッダが分離され、 それがレ ジス夕 1 24を通じて C PU 1 2 1により解釈されるようにされている < そして、 パケット分解されたデータは、 パケット F I F〇 1 1 4から ペイロード F I F O 1 1 3に DM A転送される。 そして、 ペイロード F I F01 1 3からスィツチ回路 140およびシステムィンタ一フェース 部 1 0 5を通じて内部信号処理系 3 0 0に転送される。
1 〇メモリ 1 1 1〜 1 14間の DM A転送は、 1バケツトで終了 させる必要はなく、 複数個のバケツトをまとめて 1単位として DM A転 送することもできるし、 1パケットを分割したものの単位で DMA転送 することもできる。
DMA転送時における DMAコントロ一ラ 1 1 5の制御動作を、 以下 に、 第 7図〜第 1 2図を参照しながら説明する。 第 7図〜第 9図は、 ぺ イロ一ド F I FO 1 1 3からの送信の場合の DM A転送のための DM A コントローラ 1 1 5の制御動作のフローチヤ一トである。 また、 第 1 0 図〜第 1 2図は、 ペイロード F I F O 1 1 3が受信側となる場合の DM A転送のための DM Aコントローラ 1 1 5の制御動作のフローチヤ一ト である。
まず、 第 7図〜第 9図の送信の場合について説明する。 DMAコント ローラ 1 1 5は、 送信用の制御用レジスタの 「DMA— s t a r t T x」 のビットを参照する (ステップ S 1 0 1 ) 。 そして、 ピット 「DM A— s t a r t T x」 が" 1 "になったことを確認すると、 ペイ口一ド F I FO 1 1 3から送信する方向の DM Α転送を行なうものと認識して、 送信用 DMA転送データレジスタの 「DMA— NoTx」 を参照し、 D MA転送する Qu a d 1 e tデータ数を確認する (ステップ S 1 02) < 次に、 送信用の制御用レジスタの 「S e l e c t Tx」 のビットを参 照し (ステップ S 1 0 3 ) 、 ビット 「 S e 1 e c t T X」 が" 0 "であれ ば、 「T X F I F ON o」 を参照して、 送信先の MT F 1 1 1の F I F 0を確認し (ステップ S 1 04) 、 ペイロード F I F01 1 3から MT F i l lに向けた DM A転送を開始するようにする (ステップ S 1 0 5 ) 。
一方、 ビット 「S e l e c t Tx」 が" 1"であれば、 ペイロード F I F O 1 1 3からバケツト F I F〇 1 14に向けた DM A転送を開始する ようにする (ステップ S 1 0 6 ) 。
そして、 ステップ S 1 0 5およびステップ S 1 06の後には、 送信用 の制御用レジス夕の 「Tx C o p yDC」 のビットを参照し (ステップ S 1 0 7 ) 、 このビット 「Tx C o p yDC」 が" 1,,であれば、 転送元
の D C情報を Q u a d 1 e tデータと共に、 転送先に転送することを意 味すると認識して、 第 8図に示す処理を行い、 ビット 「TxC o p yD C」 が" 0"であれば、 転送元の D C情報は転送先に転送しないことを意 味すると認識して、 第 9図に示す処理を行う。
ビット 「Tx C o p yD C」 が" 1,,であったときには、 第 8図に示す ように、 送信用の制御用レジスタの 「TxD CT o p」 のビットを参照 し (ステップ S 1 1 1) 、 このビット 「TxDCT o p」 が" 1 "であれ ば、 DM A転送の最初の Q u a d 1 e tデータをパケッ トの先頭と認識 して転送し、 そのことを転送先にも反映させる (ステップ S 1 1 2) 。 ビット 「TxD CT o p」 が" 0,,であれば、 DM A転送の最初の Qu a d i e tデ一タを、 D C情報と共に DM A転送する (ステップ S 1 1 3) 。
また、 ステップ S 1 1 2およびステップ S 1 1 3の後には、 ステップ S 1 14に進み、 DM A転送しょうとするデータが最後の Q u a d 1 e tデータであるかどうか判別し、 最後でなければ、 ステップ S 1 1 3に 戻り、 その Qu a d 1 e tデータを、 D C情報と共に DM A転送する。 ステップ S 1 14で DMA転送しょうとするデータが最後の Qu a d 1 e tデータであると判別したときには、 送信用の制御用レジスタの 「TxDCEn d」 のビットを参照し (ステップ S 1 1 5 ) 、 このビッ ト 「TxD CE n d」 が" 1,,であれば、 D M A転送の最後の Q u a d 1 e tデ一夕をバケツトの最後と認識して転送し、 そのことを転送先にも 反映させる (ステップ S 1 1 6) 。 ビット 「TxDCE n d」 が" 0 "で あれば、 DMA転送の最後の Qu a d 1 e tデータを、 DC情報と共に DM A転送する (ステップ S 1 1 7) 。 こうして、 送信用 DM A転送デ 一夕レジスタの 「DMA— N o T x」 で示される、 Q u a d 1 e tデ一 タ数の DMA転送が終了したら、 処理を終了する。
ビット 「Tx C o p yD C」 が" 0"であったときには、 第 9図に示す ように、 送信用の制御用レジス夕の 「TxD CT o p」 のビットを参照 し (ステップ S 1 2 1) 、 このビット 「TxD CT o p」 1 "であれ ば、 DM A転送の最初の Q u a d 1 e tデータをバケツトの先頭と認識 して転送し、 そのことを転送先にも反映させる (ステップ S 1 2 2) 。 ビット 「TxDCT o p」 が" 0,,であれば、 DMA転送の最初の Qu a d i e tデータを DM A転送する (ステップ S 1 2 3 ) 。 このとき、 転 送元の D C情報は転送しない。
また、 ステップ S 1 22およびステップ S 1 2 3の後には、 ステップ S 1 24に進み、 DMA転送しょうとするデ一夕が最後の Q u a d 1 e tデ一タであるかどうか判別し、 最後でなければ、 ステップ S 1 2 3に 戻り、 その Qu a d 1 e tデータを DM A転送する。
ステップ S 1 24で DM A転送しょうとするデ一夕が最後の Qu a d 1 e tデータであると判別したときには、 送信用の制御用レジスタの 「TxDCEn d」 のビットを参照し (ステップ S 1 2 5 ) 、 このビッ ト 「TxD CE n d」 が "1"であれば、 D M A転送の最後の Q u a d 1 e tデ一夕をパケットの最後と認識して転送し、 そのことを転送先にも 反映させる (ステップ S 1 2 6) 。 ビット 「TxD CE n d」 が" 0"で あれば、 DM A転送の最後の Q u a d 1 e tデータを DMA転送する (ステップ S I 2 7) 。 このとき、 転送元の D C情報は転送しない。 こうして、 送信用 DMA転送デ一夕レジス夕の 「DMA— N o TxJ で示される、 Qu a d 1 e tデ一タ数の DMA転送が終了したら、 処理 を終了する。
次に、 第 1 0図〜第 1 2図の受信の場合について説明する。 DMAコ ントローラ 1 1 5は、 受信用の制御用レジス夕の 「DMA— s t a r t R x」 のビットを参照する (ステツプ S 1 3 1 ) 。 そして、 ビット 「D
MA— s t a r t R x」 が" 1,,になったことを確認すると、 ペイロード F I FO 1 1 3が受信する方向の DMAを行なうものと認識して、 受信 用 DMA転送データレジス夕の 「DMA— N o R x」 を参照し、 DMA 転送する Qu a d 1 e tデータ数を確認する (ステップ S 1 3 2) 。
次に、 受信用の制御用レジス夕の 「S e l e c t R x」 のビットを参 照し (ステップ S 1 3 3) 、 ビット 「S e l e c t Rx」 が" 0 "であれ ば、 MR F 1 1 2からペイロード F I F O 1 1 3に向けた DMA転送を 開始するようにする (ステップ S 1 34) 。
一方、 ビット 「S e l e c t R x」 が" 1 "であれば、 パケット F I F O i l 4からペイ口一ド F I F〇 1 1 3に向けた DM A転送を開始する ようにする (ステップ S 1 3 5) 。
そして、 ステップ S 1 3 4およびステップ S 1 3 5の後には、 受信用 の制御用レジスタの 「R x C o p yD C」 のビットを参照し (ステップ S 1 3 6) 、 このビット 「Rx C o p yD C」 が" 1"であれば、 転送元 の D C情報を Qu a d 1 e tデータと共に、 転送先に転送することを意 味すると認識して、 第 1 1図に示す処理を行い、 ビット 「R x C o p y D C」 が" 0,,であれば、 転送元の DC情報は転送先に転送しないことを 意味すると認識して、 第 1 2図に示す処理を行う。
ビット 「Rx C o p yD C」 が" 1,,であったときには、 第 1 1図に示 すように、 受信用の制御用レジスタの 「RxD CT o p」 のビッ トを参 照し (ステップ S 1 4 1 ) 、 このビット 「RxD CT o p」 が" 1 "であ れば、 DMA転送の最初の Q u a d 1 e tデータをパケットの先頭と認 識して転送し、 そのことを転送先にも反映させる (ステップ S 1 4 2) , ピット 「R xD CT o p」 が" 0"であれば、 DMA転送の最初の Qu a d i e tデータを、 D C情報と共に DM A転送する (ステップ S 1 4 3) 。
また、 ステップ S 142およびステップ S 1 43の後には、 ステップ
5 1 44に進み、 DM A転送しょうとするデータが最後の Qu a d 1 e tデータであるかどうか判別し、 最後でなければ、 ステップ S 1 43に 戻り、 その Qu a d 1 e tデータを、 D C情報と共に DM A転送する。 ステップ S 1 44で DM A転送しょうとするデータが最後の Qu a d 1 e tデータであると判別したときには、 受信用の制御用レジスタの 「RxD CE n d」 のビットを参照し (ステップ S 14 5 ) 、 このビッ ト 「RxD CE n d」 が" 1"であれば、 D M A転送の最後の Q u a d 1 e tデ一夕をパケットの最後と認識して転送し、 そのことを転送先にも 反映させる (ステップ S 1 46) 。 ピット 「R xD CE n d」 が" 0,,で あれば、 DMA転送の最後の Qu a d 1 e tデータを、 D C情報と共に DMA転送する (ステップ S I 47) 。 こうして、 受信用 DMA転送デ —タレジス夕の 「DMA— N o R x」 で示される、 Q u a d 1 e tデー タ数の DMA転送が終了したら、 処理を終了する。
DMA転送制御用レジス夕のビット 「Rx C o p yD C」 が" 0,,であ つたときには、 第 1 2図に示すように、 受信用の制御用レジスタの 「R xD CT o p」 のビットを参照し (ステップ S 1 5 1 ) 、 このビット 「R X D C T o p」 が" 1 "であれば、 DMA転送の最初の Q u a d 1 e tデータをパケットの先頭と認識して転送し、 そのことを転送先にも反 映させる (ステップ S 1 5 2) 。 ビット 「RxDCT o p」 が" 0"であ れば、 DMA転送の最初の Qu a d 1 e tデータを DMA転送する (ス テツプ S 1 5 3) 。 このとき、 転送元の DC情報は転送しない。
また、 ステップ S 1 52およびステップ S 1 5 3の後には、 ステップ
5 1 54に進み、 DM A転送しょうとするデータが最後の Qu a d 1 e tデータであるかどうか判別し、 最後でなければ、 ステップ S 1 5 3に 戻り、 その Qu a d 1 e tデータを DM A転送する。
ステップ S 1 54で DM A転送しょうとするデータが最後の Qu a d 1 e tデータであると判別したときには、 受信用の制御用レジス夕の 「RxD CE n d」 のビットを参照し (ステップ S 1 5 5 ) 、 このビッ ト 「RxDCE n d」 が" 1"であれば、 D M A転送の最後の Q u a d 1 e tデータをパケットの最後と認識して転送し、 そのことを転送先にも 反映させる (ステップ S 1 5 6) 。 ビット 「RxDCE n d」 が" 0"で あれば、 DM A転送の最後の Q u a d 1 e tデータを DM A転送する (ステップ S 1 5 7) 。 このとき、 転送元の D C情報は転送しない。 こうして、 受信用 DMA転送データレジスタの 「DMA— No Rx」 で示される、 Q u a d 1 e tデ一夕数の DMA転送が終了したら、 処理 を終了する。
以上説明したような DM A制御用レジス夕の設定情報を用いて DM A 転送を行なうようにしたことにより、 外部パスとしての I EEE 1 3 9 4バス 2 00と、 I EEE 1 394ィンターフェース装置 1 00の内部 バス 1 0 2、 1 0 3との間でパケットのやり取りを行なう際の処理時間 の短縮および制御用の C PU 1 2 1、 延いては電子機器 5 00のホスト コンピュータの負荷の軽減を実現することができる。
そして、 その際に、 制御用レジス夕の 「TxDCT o p」 、 「TxD CEn d」 、 「R xDCT o p」 、 「RxD CE n d」 、 「Tx C o p yDC」 、 「R x C o p y D C」 の情報を用いることにより、
①元の一つのパケットをそのまま一つのパケットとして、
②元の一つのパケットを複数個のバケツトとして
③複数個のパケットを複数個のパケットとして、
④元の複数個のバケツトをそのまま複数個のパケットとして、
⑤複数個のパケットを 1個のパケットとして、
DM A伝送することができる。
次に、 以上説明した DMA転送を用いると共に、 前述した MTF書き 込み用レジス夕の 3個のレジスタへの C P U 1 2 1による書き込みデー タ転送との組み合わせによるデ一夕の転送 ( I E E E 1 3 94バス 2 0 0への送出の場合) のいくつかの方法について、 第 1 3図〜第 1 8図を 参照しながら説明する。
なお、 第 1 3図〜第 1 8図において、 「MTFWr i t e l」 「MT FW r i t e 2」 「MTFWr i t e 3」 は、 前述した MTF書き込み 用レジスタで、 レジスタ 「MTFWr i t e 1」 はパケット先頭レジス 夕、 レジスタ 「MTFWr i t e 2」 はパケット中間レジスタ、 「MT FW r i t e 3」 はバケツト最後レジス夕である。
第 1 3図に示す非同期データの転送方法は、 上述した DMA転送を用 いずに、 MT F書き込み用レジスタのみを用いてバケツトを転送する場 合の例である。 すなわち、 この例の場合には、 C PU 1 2 1は、 まずパ ケットの先頭の Qu a d 1 e tデ一タを、 M T F書き込み用レジス夕の 「MTFWr i t e l」 に書き込む。 すると、 MT F 1 1 1には、 それ がバケツトの先頭として転送される。
次に、 パケットの 2番目以降の Qu a d 1 e tデータを、 MTF書き 込み用レジス夕の 「MTFWr i t e 2」 に順次に書き込み、 転送を行 なう。 つまり、 1つの Qu a d l e tデータを 「MTFWr i t e 2」 に書き込み、 MTF 1 1 1に転送したら、 次の Qu a d 1 e tデータを 「MTFWr i t e 2」 に書き込み、 MTF 1 1 1に転送するというよ うにして、 パケットの中間の Q u a d 1 e tデータを順次に MTF 1 1 1に転送する。
そして、 バケツトの最後の Qu a d 1 e tデータは、 MTF書き込み 用レジスタの 「MTFWr i t e 3」 に書き込む。 すると、 MTF 1 1 1には、 それがパケットの最後として転送される。 パケットの最後の Q
u a d 1 e tデータの MT F 1 1 1への転送が終了すると、 MT F 1 1 1からデータが外部ィン夕一フェース部 1 0 1を通じて I E E E 1 3 9 4バス 20 0に送出される。
次に、 DM A転送のみによってペイロード F I FO l 1 3から MTF 1 1 1に転送する場合を第 14図を参照して説明する。 この例の場合に は、 CPU 1 2 1により、 DMA制御用レジス夕の送信用レジスタのビ ッ ト 「S e l e c t T x」 は" 0"に設定され、 また、 「T xD CT o p J および 「TxD CEn d」 の各ビットは、 共に" 1"に設定される。 さらに、 C PU 1 2 1により、 01^八転送する 11 a d 1 e tデータの 数が、 DMA転送データ数レジス夕の送信用レジス夕に、 「DMA— N oTx」 として設定される。
そして、 DMA制御用レジスタの送信用レジス夕のビット 「DMA__ s t a r t T x」 が" 1 "にされると、 DM Aコントロ一ラ 1 1 5により ペイロード F I FO 1 1 3から MTF 1 1 1への DM A転送が上述した ように Qu a d 1 e tデータ単位で実行される。 このとき、 DMA転送 の最初の Q U a d 1 e tデータがバケツトの先頭として転送され、 転送 先である MTF 1 1 1にも、 それが反映される。
そして、 「DMA— N o T x」 で示される数の Qu a d 1 e tデ一夕 の最後の Qu a d 1 e tデータが転送されると、 それがパケットの最後 のデ一夕であるとされ、 転送先である MT F 1 1 1にも、 それが反映さ れる。 そして、 この最後のデ一夕の転送が終了すると、 MTF 1 1 1か らデータが外部ィンタ一フエ一ス部 1 0 1を通じて I E E E 1 3 94パ ス 2 0 0に送出される。
次に、 第 1 5図に示す非同期データの転送方法は、 パケットヘッダは MTF書き込み用レジス夕 「MTFWr i t e 1」 および 「MTFWr i t e 2」 を用いて MTF l l lに転送し、 バケツ卜のペイロードデー
夕 (デ一夕フィールド、 以下同じ) は、 ペイロード F I F O 1 1 3から MT F 1 1 1に DM A転送する方法である。 そして、 この第 1 5図の方 法では、 DMA転送の最後の Qu a d 1 e tデ一夕をバケツトの最後と して転送するようにする。
この例の場合には、 C PU 1 2 1は、 まず、 パケットの先頭 (バケツ トヘッダの先頭) の Qu a d 1 e tデータを、 MTF書き込み用レジス 夕の 「MTFWr i t e l」 に書き込む。 すると、 M T F 1 1 1には、 それがパケットの先頭として転送される。 次に、 パケッ トヘッダの 2番 目以降の Q u a d 1 e tデータを、 MT F書き込み用レジスタの 「MT FWr i t e 2」 に順次に書き込み、 パケットヘッダの MTF 1 1 1へ の転送を行なう。
また、 CPU 1 2 1により、 DMA制御用レジス夕の送信用レジスタ のビット 「S e l e c t Tx」 は" 0,,に設定され、 また、 「TxD CT o ρ」 のビットは" 0,,とされ、 また、 「 T X D C E n d」 のビッ トは "1"に設定される。 さらに、 C PU 1 2 1により、 DMA転送する Qu a d 1 e tデータの数が、 DMA転送データ数レジス夕の送信用レジス 夕に、 「DMA— NoTx」 として設定される。 この設定は、 パケット ヘッダの転送の前でも後でもよい。
そして、 前述したパケットヘッダの転送が終了した後、 DMA制御用 レジスタの送信用レジスタのビット 「DMA— s t a r t T X J が" 1 " にされる。 すると、 DMAコントローラ 1 1 5により、 ペイロード F I F 01 1 3からの DMA転送が上述したように Q u a d 1 e tデータ単 位で実行される。 このとき、 「TxDCTo p」 ="0"であるので、 D MA転送の最初の Q u a d 1 e tデータはパケットの先頭とは扱われな い。
そして、 「DMA N o T x」 で示される数の Q u a d 1 e tデータ
の最後の Q u a d 1 e tデータが転送されると、 「TxD CEn d」 = "1"であるので、 それがパケットの最後のデータであるとされ、 転送先 である MTF 1 1 1にも、 それが反映される。 そして、 この最後のデ一 夕の転送が終了すると、 MTF 1 1 1からデータが外部イン夕一フエ一 ス部 1 0 1を通じて I EEE 1 3 94バス 20 0に送出される。
次に、 第 1 6図に示す非同期データの転送方法においては、 パケット ヘッダは MT F書き込み用レジス夕 「MT FW r i t e 1」 および 「M TFW r i t e 2」 を用いて MTF 1 1 1に転送し、 パケットのペイ口 一ドデータは、 ペイロード F I F O 1 1 3から MTF 1 1 1に DM A転 送する。 そして、 パケットの最後の Qu a d 1 e tデータは、 MTF書 き込み用レジスタ 「MTFWr i t e 3」 を用いて転送する方法である c この例の場合には、 C PU 1 2 1は、 まず、 パケットの先頭 (バケツ トへッダの先頭) の Q u a d 1 e tデ一夕を、 MT F書き込み用レジス 夕の 「MTFWr i t e l」 に書き込む。 すると、 M T F 1 1 1には、 それがパケットの先頭として転送される。 次に、 パケットヘッダの 2番 目以降の Qu a d 1 e tデータを、 M T F書き込み用レジス夕の 「MT FW r i t e 2」 に順次に書き込み、 パケットヘッダの MTF 1 1 1へ の転送を行なう。
また、 C PU 1 2 1により、 DMA制御用レジスタの送信用レジス夕 のビット 「S e 1 e c t T x」 は" 0,,に設定され、 また、 「TxDCT o p」 および 「TxD CEn d」 のビットは、 それぞれ" 0,,に設定され る。 さらに、 C PU 1 2 1により、 01^八転送する(311 a d 1 e tデ一 夕の数が、 DMA転送データ数レジスタの送信用レジスタに、 「DMA — NoTx」 として設定される。 以上の設定は、 パケットヘッダの転送 の前でも後でもよい。
そして、 前記パケットヘッダの転送が終了した後、 DMA制御用レジ
ス夕の送信用レジスタのビット 「DMA— s t a r t T x」 が" 1 "にさ れる。 すると、 DMAコントローラ 1 1 5により、 ペイロード F I FO 1 1 3からの DMA転送が上述したように Q 11 a d 1 e tデ一夕単位で 実行される。 このとき、 DMA転送の最初および最後の Q u a d 1 e t データは、 パケットの先頭および最後とは扱われない。
そして、 「DMA— N o T x」 で示される数の Q u a d 1 e tデ一夕 の最後の Q u a d 1 e tデータが転送された後、 C P U 1 2 1により、 MTF書き込み用レジスタ 「MTFWr i t e 3」 にバケツトの最後の Q u a d 1 e tデータが書き込まれ、 MTF 1 1 1に転送される。 そし て、 この最後のデータの転送が終了すると、 MTF 1 1 1からデータが 外部ィンターフェ一ス部 1 0 1を通じて I EE E 1 3 94バス 2 0 0に 送出される。
次に、 第 1 7図に示す非同期データの転送方法は、 パケットヘッダは MTF書き込み用レジスタ 「MTFWr i t e 1」 および 「MTFWr i t e 2」 を用いて MTF 1 1 1に転送し、 パケットのペイ口一ドデー 夕は、 ペイロード F I F〇 1 1 3からMTF 1 1 1に、 複数回 (第 1 7 図の例では 3回) の DMA転送によって転送する方法である。 そして、 複数回の DM A転送の最後の Qu a d 1 e tデ一夕をパケッ卜の最後と して転送するようにする。
この例の場合には、 C PU 1 2 1は、 まず、 パケットの先頭 ひ \°ケッ トヘッダの先頭) の Qu a d 1 e tデータを、 MTF書き込み用レジス 夕の 「MTFWr i t e l」 に書き込む。 すると、 MT F 1 1 1には、 それがパケットの先頭として転送される。 次に、 パケットヘッダの 2番 目以降の Qu a d 1 e tデータを、 M T F書き込み用レジス夕の 「MT FWr i t e 2」 に順次に書き込み、 パケットヘッダの転送を行なう。 そして、 C PU 1 2 1により、 第 1回目の DMA転送のために、 DM
A制御用レジスタの送信用レジス夕のビッ ト 「S e l e c t Tx」 は "0"に設定され、 また、 「T X D C T o p」 および 「T X D C E n d」 のビットは、 それぞれ" 0 "に設定される。 さらに、 CPU 1 2 1により、 第 1回目に DM A転送する Q u a d 1 e tデータの数が、 DM A転送デ 一夕数レジスタの送信用レジス夕に、 「DMA— N o Tx」 として設定 される。 この第 1回目の DMA転送のための設定は、 パケットヘッダの 転送の前でも後でもよい。
そして、 前記パケットヘッダの転送が終了した後、 DMA制御用レジ スタの送信用レジス夕のビット 「DMA— s t a r t Tx」 が" 1"にさ れる。 すると、 DMAコントローラ 1 1 5により、 ペイロード F I FO 1 1 3からの DMA転送が上述したように Qu a d 1 e tデータ単位で 実行される。 このとき、 「T xD CT o p」 ="0,,、 「T xD C E n d」 ="0"であるので、 DMA転送の最初および最後の Q u a d 1 e t データは、 バケツトの先頭および最後とは扱われない。
そして、 「DMA— N o T x」 で示される数の Q u a d 1 e tデータ の最後の Qu a d 1 e tデータが転送された後、 第 2回目の DMA転送 のために、 C PU 1 2 1により、 DMA制御用レジスタの送信用レジス 夕のビット 「S e l e c t Tx」 は" 0"に設定され、 また、 「TxDC T o p」 および 「TxD CEn d」 のビットは、 それぞれ" 0"に設定さ れる (第 1回目の設定と同じであるので、 この設定は不要としてもよ レ ) 。 さらに、 C PU 1 2 1により、 第 2回目に DMA転送する Q u a d 1 e tデータの数が、 DM A転送デ一夕数レジスタの送信用レジス夕 に、 「DMA— No'Tx」 として設定される。
そして、 DMA制御用レジスタの送信用レジス夕のビット 「DMA— s t a r t T x」 が" 1"にされる。 すると、 DMAコントローラ 1 1 5 により、 ペイロード F I FO 1 1 3からの第 2回目の DM A転送が上述
したように Q u a d 1 e tデータ単位で実行される。 このときも、 DM A転送の最初および最後の Q u a d 1 e tデータは、 パケットの先頭お よび最後とは扱われない。
そして、 「DMA— N 0 T x」 で示される数の Q u a d 1 e tデータ 5 の最後の Qu a d 1 e tデータが転送された後、 第 3回目の DMA転送 のために、 C PU 1 2 1により、 DMA制御用レジスタの送信用レジス 夕のビット 「S e l e c t Tx」 は" 0 "に設定され、 また、 「T xD C T o p」 のビットは" 0 "および 「T X D C E n d」 のビットは" 1 "に設 定される (第 2回目の設定とは 「TxD CE n d」 のビットのみが異な 10 るので、 この 「TxDCEn d」 のビットのみを設定するようにしてて もよい) 。 さらに、 CPU 1 2 1により、 第 3回目に DM A転送する Q u a d 1 e tデータの数が、 DM A転送データ数レジスタの送信用レジ ス夕に、 「DMA— NoTx」 として設定される。
そして、 DMA制御用レジスタの送信用レジスタのビット 「DMA— 15 s t a r t T x」 が" 1 "にされる。 すると、 DMAコントローラ 1 1 5 により、 ペイロード F I FO l l 3からの第 2回目の DM A転送が上述 したように Qu a d 1 e tデータ単位で実行される。
そして、 「DMA— N o T x」 で示される数の Q u a d 1 e tデータ の最後の Q u a d 1 e tデータが転送されると、 「TxDCEn d」 :() "1"であるので、 それがパケットの最後のデータであるとされ、 転送先 である MTF 1 1 1にも、 それが反映される。 そして、 この最後のデー 夕の転送が終了すると、 MTF 1 1 1からデータが外部ィンターフェ一 ス部 1 0 1を通じて I EEE 1 3 94バス 2 0 0に送出される。
次に、 第 1 8図に示す非同期データの転送方法は、 パケットヘッダを 25 MTF書き込み用レジスタ 「MTFWr i t e 1」 および 「MTFWr i t e 2」 を用いて MTF 1 1 1に転送し、 バケツトのペイ口一ドデ一
夕は、 ペイロード F I F O 1 1 3から MT F 1 1 1に、 複数回 (第 1 8 図の例では 3回) の DMA転送によって転送する。 そして、 パケットの 最後の Q u a d 1 e tデータは、 MT F書き込み用レジスタ 「MT FW r i t e 3」 を用いて転送する。
この例の場合には、 CPU 1 2 1は、 まず、 パケットの先頭 ひ \°ケッ トヘッダの先頭) の Q u a d 1 e tデータを、 MT F書き込み用レジス 夕の 「MTFWr i t e 1」 に書き込む。 すると、 MT F 1 1 1には、 それがパケットの先頭として転送される。 次に、 パケットヘッダの 2番 目以降の Qu a d 1 e tデータを、 MT F書き込み用レジスタの 「MT FWr i t e 2」 に順次に書き込み、 パケットヘッダの転送を行なう。 そして、 C PU 1 2 1により、 第 1回目の DMA転送のために、 DM A制御用レジスタの送信用レジス夕のビッ ト 「S e l e c t Tx」 は "0,,に設定され、 また、 「TxDCT o p」 および 「TxDCEn dj のビットは、 それぞれ" 0,,に設定される。 さらに、 C PU 1 2 1により, 第 1回目に DMA転送する Qu a d 1 e tデ一夕の数が、 DMA転送デ 一夕数レジスタの送信用レジスタに、 「DMA— NoTx」 として設定 される。 この第 1回目の DMA転送のための設定は、 パケットヘッダの 転送の前でも後でもよい。
そして、 前記パケットヘッダの転送が終了した後、 DMA制御用レジ スタの送信用レジス夕のビット 「DMA_ s t a r t T x」 が" 1,,にさ れる。 すると、 DMAコントローラ 1 1 5により、 ペイロード F I FO 1 1 3から 丁 1 1 1への DM A転送が上述したように Qu a d 1 e tデータ単位で実行される。 このとき、 DMA転送の最初および最後の Qu a d 1 e tデータは、 パケットの先頭および最後とは扱われない。 そして、 「DMA— N o T x」 で示される数の Q u a d 1 e tデ一夕 の最後の Q u a d 1 e tデ一夕が転送された後、 第 2回目の DMA転送
のための制御用レジス夕の設定が、 C P U 1 2 1により行われる。 この 例の場合には、 C PU 1 2 1により、 第 2回目に DMA転送する Qu a d 1 e tデータの数が、 DMA転送データ数レジスタの送信用レジスタ に、 「DMA— NoTx」 として設定される。
そして、 DMA制御用レジス夕の送信用レジス夕のビッ ト 「DMA_ s t a r t T x」 が" 1,,にされる。 すると、 DMAコント口一ラ 1 1 5 により、 ペイロード F I F O 1 1 3からの第 2回目の DMA転送が上述 したように Qu a d 1 e tデータ単位で実行される。 このときも、 DM A転送の最初および最後の Q u a d 1 e tデータは、 パケットの先頭お よび最後とは扱われない。
そして、 「DMA— N o T x」 で示される数の Q u a d 1 e tデータ の最後の Qu a d 1 e tデータが転送された後、 第 3回目の DMA転送 のための制御用レジス夕の設定が、 C P U 1 2 1により行われる。 この 例の場合には、 CPU 1 2 1により、 第 3回目に DMA転送する Qu a d i e tデータの数が、 DMA転送データ数レジス夕の送信用レジス夕 に、 「DMA_NoTx」 として設定される。
そして、 DMA制御用レジスタの送信用レジス夕のビット 「DMA— s t a r t T x」 が" 1,,にされる。 すると、 DM Aコントローラ 1 1 5 により、 ペイロード F I FO 1 1 3からの第 2回目の DM A転送が上述 したように Q u a d 1 e tデータ単位で実行される。 このときも、 DM A転送の最初および最後の Q u a d 1 e tデータは、 パケットの先頭お よび最後とは扱われない。
そして、 「DMA— N o T x」 で示される数の Q u a d 1 e tデータ の最後の Qu a d 1 e tデ一夕が転送された後、 C PU 1 2 1により、 MTF書き込み用レジス夕 「MTFWr i t e 3」 にパケットの最後の Qu a d 1 e tデータが書き込まれ、 MTF 1 1 1に転送される。 そし
て、 この最後のデータの転送が終了すると、 MTF 1 1 1からデータが 外部ィン夕一フェース部 1 0 1を通じて I EEE 1 3 94バス 2 0 0に 送出される。
第 1 9図および第 2 0図は、 制御用レジスタのビット 「Tx C o p y DC」 , 「Rx C o p yDC」 の使用例を示すための図である。
第 1 9図の例は、 パケット F I F O 1 14に格納されている複数個の パケットを 1回の DMA転送で、 ペイロード F I F O 1 1 3に転送する 場合に、 転送元の D C情報は送らずに DMA転送する状態を示すもので ある。 この場合には、 C PU 1 2 1により、 DMA制御用レジスタの受 信用レジス夕のビット 「S e i e c t R x」 は" 0"に設定され、 「Rx DCT o p」 のピットおよび 「RxDCE n d」 のビットは" 0 "に設定 され、 また、 「Rx C o p yDC」 のピットは" 0 "とされる。 さらに、 CPU 1 2 1により、 0 八転送する(31 a d 1 e tデ一夕の数が、 D MA転送データ数レジスタの送信用レジスタに、 「DMA— N o T x」 として設定される。
そして、 DMA制御用レジスタの送信用レジス夕のビット 「DMA— s t a r t T X」 が" 1 "にされると、 パケット F I F01 14から Qu a d 1 e tデ一夕毎にペイロード F I F〇 1 1 3に DM A転送される。 このとき、 「Rx C o p yD C」 ="0,,であるので、 パケット F I FO 1 1 4に格納されている D C情報はペイ口一ド F I F O 1 1 3には転送 されない。
第 2 0図の例は、 パケット F I F〇 1 14に格納されている複数個の パケットを 1回の DM A転送で、 ペイロード F I F01 1 3に転送する 場合に、 転送元の D C情報は全て一緒に送って DMA転送する状態を示 すものである。 この場合には、 CPU 1 2 1により、 DMA制御用レジ スタの受信用レジス夕のビッ ト 「S e l e c t Rx」 は" 0"に設定され,
「RxDCT o pJ のビットおよび 「RxD CEn d」 のビットは" 0,, に設定され、 また、 「Rx C o p yD C」 のビットは" 1 "とされる。 さ らに、 C PU 1 2 1により、 DMA転送する Q u a d 1 e tデータの数 が、 DMA転送データ数レジスタの送信用レジスタに、 「DMA_N o Tx」 として設定される。
そして、 DMA制御用レジス夕の送信用レジスタのビット 「DMA_ s t a r t T x」 が" 1,,にされると、 「; R x C o p y D C」 ="1 "であ るので、 パケット F I F O 1 14から Qu a d 1 e tデ一タ毎に、 DC 情報を伴ってペイロード F I F〇 1 1 3に DMA転送される。
なお、 上述の説明では、 DMA転送のデータ転送単位は、 Qu a d l e tデータであつたが、 これは、 一例であって、 これに限られるもので はないことは言うまでもない。
以上説明したように、 この発明によれば、 インターフェース装置内に おいて、 データは、 DMA転送するようにするので、 処理時間を短縮す ることができると共に、 制御用マイクロコンピュータの負荷を軽減する ことができる。
また、 一つのパケットを一つのパケットとして、 一つのパケットを複 数のパケッ トとして、 複数のバケツ トを複数のパケッ トとしてなど、 種々のパケット転送を実現することができる。