(57)【特許請求の範囲】
【請求項１】
同期パケットにて転送するデータを、第一種の非同期パケットに対する調停の優先度よりも高い優先度を有する第二種の非同期パケットにより送信し、
前記第二種の非同期パケットの送信から所定期間後に、前記第二種の非同期パケットによる前記データに続くデータの送信の要求をする
ことを特徴とするデータ送信方法。
【請求項２】
前記同期パケットにて転送するデータを前記第二種の非同期パケットにより送信するのは、前記同期パケットの送信が行われる同期転送期間の開始を示す同期用データを未検知の場合であることを特徴とする請求項１に記載のデータ送信方法。
【請求項３】
前記第一種の非同期パケットを受信してから当該第一種の非同期パケットに対する応答パケットを受信するまで、又は、前記第一種の非同期パケットを受信してから前記応答パケットが送信されないことを検知するまで、前記第二種の非同期パケットの前記優先度を前記応答パケットの優先度よりも低く設定することを特徴とする請求項１又は２に記載のデータ送信方法。
【請求項４】
前記所定期間は、前記同期パケットの送信が行われる同期転送期間に対応する期間であることを特徴とする請求項１〜３のいずれか１つに記載のデータ送信方法。
【請求項５】
前記所定期間は、前記第二種の非同期パケットを送信する各ノードで測定することを特徴とする請求項１〜４のいずれか１つに記載のデータ送信方法。
【請求項６】
同期パケットの送信要求信号の代わりに、第一種の非同期パケットよりも調停の優先度を高く設定した第二種の非同期パケットの送信要求信号を所定周期毎に生成するリクエスト生成部を備えることを特徴とするデータ送信装置。
【請求項７】
前記リクエスト生成部は、
前記同期パケットの送信が行われる同期転送期間の開始を示す同期用データの受信を検知する第１検知部を備え、
前記同期用データの受信が未検知の場合に、前記第二種の非同期パケットの送信要求信号を生成することを特徴とする請求項６に記載のデータ送信装置。
【請求項８】
前記リクエスト生成部は、
前記第一種の非同期パケットの受信を検知する第２検知部と、
前記第一種の非同期パケットに対する応答パケットの受信を検知する第３検知部と、
前記第一種の非同期パケットを受信してから前記応答パケットを受信するまで、前記第二種の非同期パケットの前記優先度を前記応答パケットの優先度よりも低く設定する優先度切替回路と
を備えることを特徴とする請求項６又は７に記載のデータ送信装置。
【請求項９】
前記リクエスト生成部は、
前記所定周期を測定するカウンタを備え、
前記カウンタの測定結果に基づいて前記所定周期毎に、前記第二種の非同期パケットの送信要求信号を生成することを特徴とする請求項６〜８のいずれか１つに記載のデータ送信装置。
【請求項１０】
バスケーブルを介して接続される複数のノードを含むネットワークシステムであって、
パケットデータを送信するノードのうち少なくとも１つのノードは、
同期パケットの送信要求信号の代わりに、第一種の非同期パケットよりも調停の優先度を高く設定した第二種の非同期パケットの送信要求信号を所定周期毎に生成するリクエスト生成部を備えることを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信方法、データ送信装置及びネットワークシステムに関するものである。
【背景技術】
【０００２】
大量のデータであって連続性が要求される映像データや音声データの転送には、リアルタイム性の発揮されるＩＥＥＥ１３９４プロトコルが注目されている。このプロトコルは、ある一定の周期（例えば、１２５μｓ）毎に必ずデータ転送のできる転送モード、いわゆるアイソクロナス（Ｉｓｏ:Isochronous）転送モードを備えている。
【０００３】
ここで、Ｉｓｏ転送について図９に従って説明する。図９の破線で示すように、Ｉｓｏ転送は、略一定の周期（例えば１２５μｓ）毎に実行される。この転送期間をアイソクロナス（Ｉｓｏ）サイクルと呼ぶ。このＩｓｏサイクルは、サイクルスタート（ＣＳ）パケットによって１２５μｓ間隔で区切られている。
【０００４】
ところで、映像データや音声データのように大量のデータは、１つのＩｓｏサイクル中の１つのＩｓｏパケットでは全てを転送することができない。そこで、Ｉｓｏ転送モードでは、その大量のデータを所定のサイズ毎に複数のブロックに分割して、複数のＩｓｏサイクルにまたがって連続データとして転送するようになっている。このとき、Ｉｓｏ転送モードでは、データ転送に先立って、Ｉｓｏ転送を行うノードに、Ｉｓｏサイクルにおいてデータ転送するのに必要な帯域が割り当てられる。これにより、Ｉｓｏ転送モードでは、バスの状態に関わらず略一定の周期で連続データの転送が保証される。
【０００５】
このようなＩｓｏ転送モードでは、まず、トポロジ内のサイクルマスタノードが、Ｉｓｏサイクル（同期転送期間）の開始を示すＣＳパケット（同期用データ）を発行する。そのＣＳパケットを受信した各ノードは、時刻調整を行う。続いて、上記帯域の割り当てを受けたノードは、アイソクロナス（Ｉｓｏ）ギャップを待ってからバスリクエストを出力してアービトレーションを開始し、バスの使用権を獲得後に連続データＤ１をＩｓｏパケットにて送信する。
【０００６】
次に、前回のＣＳパケットの発行から１２５μｓ経過すると、サイクルマスタノードが次のＩｓｏサイクルの開始を示すＣＳパケットを発行する。すると、上述したバスリクエストの出力からパケット転送までの動作が繰り返し実行され、略一定の周期毎に一連の連続データ（Ｄ１〜Ｄ４）がＩｓｏパケットにて転送される。
【０００７】
なお、このようなＩＥＥＥ１３９４プロトコルを採用したＩＥＥＥ１３９４プロトコルコントローラとしては、例えば特許文献１〜３に開示されたものが知られている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−０２３１０１号公報
【特許文献２】特開２００１−１５６８１３号公報
【特許文献３】特開２００５−１６７８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところが、ＣＳパケットは、転送サイクルを区切るためのパケットであり、映像データ等の実データを転送していない。このため、ビットレートから計算される１３９４バスの帯域に対して、実際に実データを転送できる帯域が減ってしまい、帯域を有効に活用できていなかった。すなわち、ＣＳパケットによって実データを転送するための帯域が圧迫されていた。
【００１０】
但し、このＣＳパケットが無い場合には、アイソクロナス専用のアービトレーションを開始することができないため、Ｉｓｏパケットを転送することができない。換言すると、Ｉｓｏパケットを転送するためにはＣＳパケットが必須である。このため、連続データをＩｓｏパケットにて転送するためには、ＣＳパケットを省略することができない。したがって、ＣＳパケット分の帯域を有効に活用することは困難であった。
【課題を解決するための手段】
【００１１】
開示のデータ送信方法は、同期パケットにて転送するデータを、第一種の非同期パケットに対する調停の優先度よりも高い優先度を有する第二種の非同期パケットにより送信し、
前記第二種の非同期パケットの送信から所定期間後に、前記第二種の非同期パケットによる前記データに続くデータの送信の要求をする。
【発明の効果】
【００１２】
開示のデータ送信方法によれば、データの転送効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態のＩＰＣの内部構成を示すブロック図。
【図２】ネットワークシステムを示すブロック図。
【図３】アシンクロナス・ストリームパケット及びアイソクロナスパケットのデータフォーマットを示す説明図。
【図４】アシンクロナスパケットのデータフォーマットを示す説明図。
【図５】サイクルスタートパケットのデータフォーマットを示す説明図。
【図６】優先度の切替方法を説明するためのフローチャート。
【図７】（ａ）、（ｂ）連続データの転送方法を説明するための説明図。
【図８】第２実施形態のＩＰＣの内部構成を示すブロック図。
【図９】従来における連続データの転送方法を説明するための説明図。
【発明を実施するための形態】
【００１４】
（第１実施形態）
以下、第１実施形態を図１〜図７に従って説明する。
図２は、IEEE Std 1394-1995規格又はIEEE Std 1394a-2000規格に準拠したシステム構成（トポロジ）を示す。ノードＡにはバスケーブル１ａを介してノードＢが接続され、ノードＢにはバスケーブル１ｂを介してノードＣが接続されている。なお、ノードＡ〜Ｃは、例えばパーソナルコンピュータ、プリンタ、デジタルカメラ等の接続ポイントの総称である。
【００１５】
ノードＡは、図１に示すIEEE Std 1394-1995規格又はIEEE Std 1394a-2000規格に準拠したＩＥＥＥ１３９４プロトコルコントローラ（ＩＰＣ）１０を備える。なお、ノードＢ，ＣもノードＡと同様にＩＰＣ１０を備える。
【００１６】
図１に示すように、ＩＰＣ１０は、ポート回路２０ａ，２０ｂと、物理層制御回路３０と、インターフェース回路５０とを含む。ポート回路２０ａは、受信回路２１と送信回路２２とを備えている。受信回路２１はバスケーブル１ａを介して相手ノード（他ノード）Ｂと接続され、そのノードＢから受信する電気信号を装置内部で扱う電気信号に変換して物理層制御回路３０に出力する。この受信回路２１は、レシーバ回路２１ａ，２１ｂを含む。レシーバ回路２１ａは、ノードＢから受信するパケットデータ（Ｉｓｏパケット等）を物理層制御回路３０のデータ再同期部３１に出力する。また、レシーバ回路２１ｂは、ノードＢから受信するアービトレーション信号を物理層制御回路３０のアービトレーション制御部３２に出力する。
【００１７】
また、送信回路２２は、物理層制御回路３０から入力される電気信号をIEEE Std 1394-1995規格又はIEEE Std 1394a-2000規格の電気信号に変換して他ノードＢの受信回路２１に送信する。この送信回路２２は、出力制御部２２ａとドライバ回路２２ｂとを含む。出力制御部２２ａは、物理層制御回路３０から入力されるパケットデータ（Ｉｓｏパケット等）又はアービトレーション制御部３２から入力されるアービトレーション制御信号のいずれか一方を選択し、ドライバ回路２２ｂを通じて他ノードＢに出力する。なお、ポート回路２０ｂもポート回路２０ａと同様の構成を備えるため、ここでは説明を割愛する。
【００１８】
物理層制御回路３０は、バスの状態モニタ、バスリセット発生時の初期化動作、スピードシグナリング、アービトレーション（調停）、及びデータ送受信のためのエンコード／デコードなどを行う。ここで、アービトレーションとは、複数のノードが同時にデータ通信するような環境下で、お互いの処理が競合しないように処理を調停する制御のことをいう。
【００１９】
上記物理層制御回路３０は、データ再同期部３１と、アービトレーション制御部３２と、シリアルパラレル（Ｓ／Ｐ）変換部３３と、パラレルシリアル（Ｐ／Ｓ）変換部３４と、選択回路３５と、アイソクロナス（Ｉｓｏ）リクエスト保持部３６と、リクエスト生成部４０とを含む。
【００２０】
データ再同期部３１は、アービトレーション制御部３２からの制御信号に応答して、各レシーバ回路２１ａからの受信パケットデータをリンク層が扱う論理信号に変換してＳ／Ｐ変換部３３に出力する。このデータ再同期部３１は、受信パケットデータをリピート転送するためにリピートデータとして選択回路３５に出力する。また、データ再同期部３１は、受信パケットの終了を示す終了信号をアービトレーション制御部３２に出力する。
【００２１】
Ｓ／Ｐ変換部３３は、データ再同期部３１から入力される論理信号（シリアルデータ）をパラレルデータに変換してインターフェース回路５０を介してリンク層に出力する。一方、Ｐ／Ｓ変換部３４は、リンク層からインターフェース回路５０を介して入力される論理信号（パラレルデータ）をシリアルデータに変換して送信パケットデータとして選択回路３５に出力する。
【００２２】
選択回路３５は、アービトレーション制御部３２から入力される選択信号に応じて、Ｐ／Ｓ変換部３４からの送信パケットデータ又はデータ再同期部３１からのリピートデータのいずれか一方を選択し、上記出力制御部２２ａに出力する。
【００２３】
アービトレーション制御部３２は、物理層のメインコントローラである。このアービトレーション制御部３２には、各レシーバ回路２１ｂからのアービトレーション信号、リクエスト生成部４０からのＩｓｏリクエストＩＲ及びＡ−ＳｔｒｅａｍリクエストＡＳＲやデータ再同期部３１からの終了信号が入力される。そして、アービトレーション制御部３２は、これらの信号に基づいて、リンク層からのアービトレーションのリクエスト（送信要求信号）に対する応答、各ポート回路２０ａ，２０ｂの管理及び制御、バスのリセット及びコンフィグレーションなどを行う。また、アービトレーション制御部３２は、自ノードがアービトレーションに勝ったことを示す信号Ｗｏｎをインターフェース回路５０及びＩｓｏリクエスト保持部３６に出力する。なお、リンク層は、上記信号Ｗｏｎに基づいて、送信データのＰ／Ｓ変換部３４への送信を開始する。さらに、アービトレーション制御部３２は、バスがアイドル状態であることを検知すると、アイドル検知信号をリクエスト生成部４０内のギャップ検知回路４３に出力する。
【００２４】
Ｉｓｏリクエスト保持部３６は、リンク層からインターフェース回路５０を介して入力されるＩｓｏリクエストＩＲを保持し、その保持したＩｓｏリクエストＩＲをリクエスト生成部４０に出力する。なお、上記ＩｓｏリクエストＩＲは、Ｉｓｏパケットの送信要求信号であり、映像データ等の連続データをＩｓｏパケットにて転送しようとする場合に、通信データを流すバス（通信経路）の使用権を要求するためのバスリクエストである。
【００２５】
リクエスト生成部４０は、上記ＩｓｏリクエストＩＲからアシンクロナス・ストリーム（Ａ−Ｓｔｒｅａｍ：Asynchronous Stream）リクエストＡＳＲを生成する。ここで、Ａ−ＳｔｒｅａｍリクエストＡＳＲは、非同期データであるＡ−Ｓｔｒｅａｍパケットの転送のためにバスの使用権を要求するためのバスリクエスト（送信要求信号）である。これにより、音声データ等の連続データを、ＣＳパケットを必要としない非同期データであるＡ−Ｓｔｒｅａｍパケットにて転送することができる。また、リクエスト生成部４０は、そのＡ−Ｓｔｒｅａｍパケットのアービトレーションの優先度が、それ以外のアシンクロナス（Ａｓｙｎ：Asynchronous）パケットのそれよりも高くなるように上記Ａ−ＳｔｒｅａｍリクエストＡＳＲを生成する。さらに、リクエスト生成部４０は、一定の周期（ここでは、１２５μｓ）毎に上記Ａ−ＳｔｒｅａｍリクエストＡＳＲを生成する。これにより、ＣＳパケットを省略した上で、連続データを一定周期毎に確実に転送することができるようになる。
【００２６】
このようなリクエスト生成部４０は、パケット解析部４１と、優先度切替回路４２と、ギャップ検知回路４３と、選択回路４４と、カウンタ４５と、アンド回路４６，４７とを含む。
【００２７】
パケット解析部４１は、Ｓ／Ｐ変換部３３から入力される受信パケットを解析する。ここで、各種パケットのデータファーマットについて図３〜図５に従って説明する。
図３に示すように、同期パケットであるＩｓｏパケットは、転送データに、パケットヘッダ、ヘッダＣＲＣ（header_CRC）、データＣＲＣ（data_CRC）を付加した構造である。パケットヘッダには、転送データ長を示すdata_length、データフォーマットを示すtag、パケットのチャネル番号を示すchannel、Ｉｓｏパケットであることを示すtcodeや、同期コードを示すsyのフィールドが設けられている。ヘッダＣＲＣには、パケットヘッダに対して所定の方式により生成された誤り検出符号が格納されている。データＣＲＣには、転送データに対して所定の方式により生成された誤り検出符号が格納されている。
【００２８】
図４に示すように、非同期パケットであるＡｓｙｎパケット（第一種の非同期パケット）は、転送データに、パケットヘッダ、ヘッダＣＲＣ、データＣＲＣ等を付加した構造である。パケットヘッダには、転送先のノードＩＤを示すdestination_ID、転送ラベルを示すtl、リトライコードを示すrt、Ａｓｙｎパケットであることを示すtcode、優先領域であるpri、転送元のノードＩＤを示すsource_IDのフィールドが設けられている。また、パケットタイプ毎の固有の情報を示すpacket type specific information、転送データ長を示すdata_lengthやｌｏｃｋの種別を示すextended tcodeなどのフィールドが設けられている。
【００２９】
一方、Ａｓｙｎパケットと同様に非同期パケットであるＡ−Ｓｔｒｅａｍパケット（第二種の非同期パケット）は、図３に示すＩｓｏパケットと同一のデータフォーマットを有する。
【００３０】
また、図５に示すように、ＣＳパケットは、パケットヘッダと、サイクルタイマの標準アドレスを示すdestination_offsetと、サイクルタイマ情報を示すcycle_time_dataと、ヘッダＣＲＣとを有する構造である。パケットヘッダには、転送先のノードＩＤを示すdestination_ID、転送ラベルを示すtl、リトライコードを示すrt、ＣＳパケットであることを示すtcode、優先領域であるpri、転送元のノードＩＤを示すsource_IDのフィールドが設けられている。なお、destination_IDフィールドには、ローカルバスへのブロードキャストを示すａｌｌ“１”が格納されている。
【００３１】
図１に示す上記パケット解析部４１は、Ｓ／Ｐ変換部３３から入力される受信パケットがＡｓｙｎパケットであることを検知すると、Ａｓｙｎ検知信号を優先度切替回路４２に出力する。また、パケット解析部４１は、受信パケットがアクノリッジ（Ａｃｋ）パケット（応答パケット）であることを検知すると、Ａｃｋ検知信号を優先度切替回路４２に出力する。さらに、パケット解析部４１は、受信パケットがＣＳパケットであることを検知すると、ＣＳ検知信号を優先度切替回路４２に出力する。
【００３２】
優先度切替回路４２には、パケット解析部４１から各種検知信号が入力されるとともに、サブアクション（Ｓｕｂ）ギャップを検知したことを示すＳｕｂギャップ検知信号がギャップ検知回路４３から入力される。この優先度切替回路４２は、入力される各種検知信号に基づいて、Ｉｓｏリクエスト保持部３６から出力されるＩｓｏリクエストＩＲをＡ−ＳｔｒｅａｍリクエストＡＳＲに変更するための切替フラグＣＦを設定し、その切替フラグＣＦをアンド回路４６，４７に出力する。具体的には、優先度切替回路４２は、ＩｓｏリクエストＩＲからＡ−ＳｔｒｅａｍリクエストＡＳＲに変更する場合には切替フラグＣＦを「０」に設定し、変更しない場合には切替フラグＣＦを「１」に設定する。また、優先度切替回路４２は、入力される各種検知信号に基づいて、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度を切り替えるための切替信号ＰＳを生成し、その切替信号ＰＳを選択回路４４に出力する。
【００３３】
ギャップ検知回路４３は、アービトレーション制御部３２からのアイドル検知信号の入力からアクノリッジ（Ａｃｋ）ギャップの経過を検知すると、Ａｃｋギャップ検知信号を選択回路４４に出力する。また、ギャップ検知回路４３は、ＣＳパケットの受信後からＩｓｏギャップの経過を検知すると、Ｉｓｏギャップ検知信号をアンド回路４６に出力する。さらに、ギャップ検知回路４３は、Ａｃｋギャップ及びＩｓｏギャップよりも長いＳｕｂギャップの経過を検知すると、Ｓｕｂギャップ検知信号を選択回路４４及び優先度切替回路４２に出力する。
【００３４】
選択回路４４は、優先度切替回路４２からの切替信号ＰＳに応じて、Ａｃｋギャップ検知信号又はＳｕｂギャップ検知信号のいずれか一方を選択してアンド回路４７に出力する。具体的には、選択回路４４は、Ｈレベルの切替信号ＰＳに応答して、Ａｃｋギャップ検知信号を選択してアンド回路４７に出力し、Ｌレベルの切替信号ＰＳに応答して、Ｓｕｂギャップ検知信号を選択してアンド回路４７に出力する。
【００３５】
ここで、IEEE Std 1394-1995規格又はIEEE Std 1394a-2000規格において、各種パケットに対するアービトレーションの優先度は、リクエスト出力側が検知するバスのアイドル期間によって決定される。具体的には、アービトレーションの優先度が高い場合には短いアイドル期間（Ａｃｋギャップ又はＩｓｏギャップ）を待ってからリクエストが送信され、優先度が低い場合には長いアイドル期間（Ｓｕｂギャップ）を待ってからリクエストが送信される。すなわち、優先度が高い方が早くリクエストを出力することができるため、アービトレーションに勝ち、バスの使用権を得ることができる。このため、Ｈレベルの切替信号ＰＳによってＡｃｋギャップが選択されるか、Ｌレベルの切替信号ＰＳによってＳｕｂギャップが選択されるかによって、アービトレーションの優先度が切り替えられる。なお、ＡｃｋギャップとＩｓｏギャップとは同じアイドル期間、すなわち同じ優先度であり、Ｉｓｏサイクル中（ＣＳパケットを受信した）か否かによって使い分けられる。また、従前の規格では、Ｉｓｏパケット及びＡｃｋパケットはアービトレーションの優先度が高く設定され、Ａｓｙｎパケット及びＡ−Ｓｔｒｅａｍパケットはアービトレーションの優先度が低く設定されている。
【００３６】
カウンタ４５は、Ａ−Ｓｔｒｅａｍパケットの送信からカウント動作を開始し、所定期間が経過したかを計測する（所定周期を計測する）。このカウンタ４５は、上記所定期間が経過するまでＬレベルのカウント信号（計測結果）をアンド回路４７に出力し、所定期間経過後から次のＡ−Ｓｔｒｅａｍパケットの送信までＨレベルのカウント信号を出力する。なお、上記所定期間はＩｓｏサイクルと同一の１２５μｓに設定されている。
【００３７】
アンド回路４６には、Ｉｓｏリクエスト保持部３６からのＩｓｏリクエストＩＲと、ギャップ検知回路４３からのＩｓｏギャップ検知信号と、優先度切替回路４２からの切替フラグＣＦとが入力される。このアンド回路４６は、切替フラグＣＦが「１」に設定されている状態で、Ｉｓｏギャップ検知信号が入力されると、ＩｓｏリクエストＩＲをアービトレーション制御部３２に出力する。このＩｓｏリクエストＩＲによってアービトレーションに勝ってバスの使用権が獲得されると、Ｉｓｏパケットにて連続データの転送が開始される。なお、上述したように、このＩｓｏパケットにて連続データを転送するためには、ＣＳパケットが必ず必要となる。
【００３８】
アンド回路４７には、Ｉｓｏリクエスト保持部３６からのＩｓｏリクエストＩＲと、選択回路４４からの検知信号と、カウンタ４５からのカウント信号とが非反転端子に入力され、優先度切替回路４２からの切替フラグＣＦが反転端子に入力される。このアンド回路４７は、切替フラグＣＦが「０」に設定されている状態で、検知信号及びＨレベルのカウント信号が入力されると、上記ＩｓｏリクエストＩＲをＡ−ＳｔｒｅａｍリクエストＡＳＲに変更してアービトレーション制御部３２に出力する。このＡ−ＳｔｒｅａｍリクエストＡＳＲによってアービトレーションに勝ってバスの使用権が獲得されると、Ａ−Ｓｔｒｅａｍパケットにて連続データの転送が開始される。このとき、上記Ａ−ＳｔｒｅａｍリクエストＡＳＲがＣＳパケットの受信を必要としないＡｃｋギャップ又はＳｕｂギャップが検知されたときに出力されるため、Ａ−ＳｔｒｅａｍパケットはＣＳパケットを受信しなくてもその転送を開始することができる。ここで、Ｈレベルの切替信号ＰＳによって優先度の高いＡｃｋギャップが選択されている場合には、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度がそれ以外のＡｓｙｎパケットよりも高くなる（Priority=High）。さらに、カウンタ４５から１２５μｓ毎に入力されるＨレベルのカウント信号によって、１２５μｓ毎に上記Ａ−ＳｔｒｅａｍリクエストＡＳＲが確実に出力される。これにより、ＣＳパケットを省略した上で、一定周期毎に連続データを確実に転送することができる。なお、Ｌレベルの切替信号ＰＳによって優先度の低いＳｕｂギャップが選択されている場合には、従前と同様に、Ａ−Ｓｔｒｅａｍパケットのアービトレーションの優先度が通常のＡｓｙｎパケットと同一になる（Priority=normal）。
【００３９】
次に、このように構成された優先度切替回路４２の動作について図６に従って説明する。
図６に示すように、自ノードがハードリセットされると（ステップＳ１）、優先度切替回路４２は、切替フラグＣＦを「０」に設定し、Ｌレベルの切替信号ＰＳを生成し、当該優先度切替回路４２に内蔵されるタイマ（図示略）を初期化する（ステップＳ２）。続いて、バスリセットが検知された場合には（ステップＳ３でＹｅｓ）、優先度切替回路４２は、再度、切替フラグＣＦを「０」に設定し、Ｌレベルの切替信号ＰＳを生成し、上記タイマを初期化し（ステップＳ４）、ステップＳ５に移る。なお、バスリセットが検知されない場合には（ステップＳ３でＮｏ）、そのままステップＳ５に移る。
【００４０】
ステップＳ５でタイマが１ｍｓ以下の場合には、優先度切替回路４２は、ＣＳパケットが転送されているか、すなわちパケット解析部４１からＣＳ検知信号が入力されているかを判断する（ステップＳ６）。ＣＳ検知信号が入力されず（ステップＳ６でＮｏ）、切替フラグＣＦが「０」に設定されている場合には（ステップＳ７でＮｏ）、優先度切替回路４２は、Ａｓｙｎパケットが転送されているか、すなわちＡｓｙｎ検知信号が入力されているかを判断する（ステップＳ８）。優先度切替回路４２は、Ａｓｙｎ検知信号が入力されていない場合には（ステップＳ８でＮｏ）、Ｈレベルの切替信号ＰＳを生成する（ステップＳ９）。すると、切替フラグＣＦが「０」に設定され、且つ、上記Ｈレベルの切替信号ＰＳによって優先度の高いＡｃｋギャップが選択されるため、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度が通常のＡｓｙｎパケットよりも高く設定される（Priority=High）。このとき、カウンタ４５からＨレベルのカウント信号が出力されると、アンド回路４７に入力されるＩｓｏリクエストＩＲが優先度の高いＡ−ＳｔｒｅａｍリクエストＡＳＲに変更されてアービトレーション制御部３２に出力される。これにより、Ｉｓｏパケットにて転送すべき連続データを、Ａｓｙｎパケットよりもアービトレーションの優先度の高いＡ−Ｓｔｒｅａｍパケットにて転送することができる。
【００４１】
その後、ステップＳ３に戻るが、バスリセットが検知されたり、ＣＳ検知信号又はＡｓｙｎ検知信号が入力されたりするまでは、優先度の高い状態（Priority=High）が維持される。
【００４２】
一方、ステップＳ６において、ＣＳパケットの受信が検知された場合には、優先度切替回路４２は、タイマを初期化し（ステップＳ１０）、さらに切替フラグＣＦを「１」に設定するとともに、Ｌレベルの切替信号ＰＳを生成する（ステップＳ１１）。すると、このＬレベルの切替信号ＰＳによって優先度の低いＳｕｂギャップが選択されるため、従前と同様に、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度がＡｓｙｎパケットと同一になる（Priority=normal）。さらに、切替フラグＣＦが「１」に設定されているため、ＩｓｏリクエストＩＲはＡ−ＳｔｒｅａｍリクエストＡＳＲに変更されずにそのままアービトレーション制御部３２に出力される。
【００４３】
但し、上記ステップＳ６でＣＳパケットの受信が検知された場合であっても、その後、ＣＳパケットの転送が停止されたと判断された場合には、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度が高く設定される。すなわち、上記ステップＳ１１の処理実行後、ステップＳ３でバスリセットが検知されず、ステップＳ１０で初期化されたタイマが１ｍｓ以下である場合には、優先度切替回路４２は、再度ＣＳパケットが転送されているかを判断する（ステップＳ６）。ここで、ＣＳパケットが転送されていない場合には（ステップＳ６でＮｏ）、上記ステップＳ１１で切替フラグＣＦが「１」に設定されているため（ステップＳ７でＹｅｓ）、再度ステップＳ１１の処理が実行され、ステップＳ３に戻る。これら一連の処理が繰り返し実行され、やがてタイマが１ｍｓを超えると（ステップＳ５でＹｅｓ）、優先度切替回路４２は、切替フラグＣＦを「０」に設定する（ステップＳ１２）。そして、優先度切替回路４２は、ＣＳパケットの受信が検知されず（ステップＳ６でＮｏ）、Ａｓｙｎパケットの受信が検知されない場合には（ステップＳ８でＮｏ）、Ｈレベルの切替信号ＰＳを生成する（ステップＳ９）。これにより、切替フラグＣＦが「０」に設定され、且つＨレベルの切替信号ＰＳが生成されるため、Ｉｓｏリクエスト保持部３６から出力されるＩｓｏリクエストＩＲが優先度の高いＡ−ＳｔｒｅａｍリクエストＡＳＲに変更される。このように、ＣＳパケットの受信が検知された後であっても、その検知から一定期間（ここでは、１ｍｓ）内に次のＣＳパケットの受信が検知されない場合には、ＣＳパケットの転送が停止したと判断し、Ａ−Ｓｔｒｅａｍパケットの優先度を高く設定することが可能である。なお、ＣＳパケットの転送が停止したと判断するためには、上記一定期間を、Ｉｓｏサイクルである１２５μｓよりも十分に長い期間に設定することが好ましい。
【００４４】
ここで、映像データや音声データ等のリアルタイム性の要求される連続データの送信方法について図７に従って説明する。なお、同図において、縦軸及び横軸は、説明を簡潔にするため、適宜拡大、縮小して示している。
【００４５】
まず、Ｉｓｏパケットにて連続データを送信しようとするノードは、従来の場合と同様に、データ送信に先立って、Ｉｓｏパケットを転送するのに必要なアイソクロナスチャネル番号（チャネル番号）及び帯域を確保する。具体的には、アイソクロナス・リソースマネージャによって、Ｉｓｏパケットを転送しようとするノードに、チャネル番号及び帯域が割り当てられる。なお、Ｉｓｏサイクルである１２５μｓに対応する帯域（８ｋＨｚ）の４／５を最大として上記帯域が割り当てられる。
【００４６】
次に、図７（ａ）の上段に示すように、ＣＳパケットが転送されると、切替フラグＣＦが「１」に設定されるため（ステップＳ６、Ｓ１０、Ｓ１１参照）、リクエスト生成部４０に入力されるＩｓｏリクエストＩＲがそのままアービトレーション制御部３２に出力される。このため、この場合には従来と同様に、連続データＤ１〜Ｄ４がＩｓｏパケットにて転送される。
【００４７】
一方、ＣＳパケットが転送されていない場合には、Ａｓｙｎパケットが転送されるまでは、切替フラグＣＦが「０」に設定されるとともに、Ｈレベルの切替信号ＰＳが生成される（ステップＳ２〜Ｓ９参照）。このため、Ｉｓｏパケットを転送しようとする場合に、リンク層からＩｓｏリクエストＩＲが出力されると、そのＩｓｏリクエストＩＲが優先度の高いＡ−ＳｔｒｅａｍリクエストＡＳＲに変更される。このとき、上記帯域の割り当てを受けた（Ｉｓｏパケットを転送しようとする）ノードは、ＣＳパケットを受信しなくとも検知可能なＡｃｋギャップを検知したときにＡ−ＳｔｒｅａｍリクエストＡＳＲを生成し、アービトレーションを開始する。このため、ＣＳパケットを省略した上でアービトレーションを開始することができる。ここで、このＡｃｋギャップは、Ｓｕｂギャップに比べて期間が短いため、Ｓｕｂギャップを検出してからＡｓｙｎ転送（アシンクロナスアービトレーション）を開始するノードよりも、Ａ−ＳｔｒｅａｍリクエストＡＳＲを出力するノードに優先権が与えられる。これにより、Ａ−ＳｔｒｅａｍリクエストＡＳＲを出力するノードはアービトレーションに成功し、Ａｓｙｎパケットよりも優先してＡ−Ｓｔｒｅａｍパケットを転送することができる。すなわち、Ａ−ＳｔｒｅａｍリクエストＡＳＲを出力したノードは、当該Ａ−ＳｔｒｅａｍリクエストＡＳＲによってアービトレーションに成功しバスの使用権を獲得すると、上記取得したチャネル番号を使用して連続データＤ１をＡ−Ｓｔｒｅａｍパケットにて転送する。
【００４８】
そのＡ−Ｓｔｒｅａｍパケットの転送から１２５μｓ経過すると、カウンタ４５からＨレベルのカウント信号が出力され、再び優先度の高いＡ−ＳｔｒｅａｍリクエストＡＳＲが生成される。このＡ−ＳｔｒｅａｍリクエストＡＳＲによってバスの使用権が獲得されると、上記連続データＤ１に続く連続データＤ２がＡ−Ｓｔｒｅａｍパケットにて転送される。このように、Ａ−Ｓｔｒｅａｍパケットの転送は、一定周期（１２５μｓ）毎にそれ以外のＡｓｙｎパケットよりアービトレーションの優先度が確実に高くなるため、１２５μｓ間隔のポイントにおいては確実にバスの使用権が得られる。これにより、一定周期毎にＡ−Ｓｔｒｅａｍパケットにて一連の連続データ（Ｄ１〜Ｄ４）が転送されることを保証することができる。これに伴って、Ａｓｙｎパケットは上記Ａ−Ｓｔｒｅａｍパケットの転送されていない空き期間に転送されることになる。このとき、上記Ａ−Ｓｔｒｅａｍパケットは予め割り当てられた帯域を利用して転送されるため、その帯域の割り当てを受けたノードによるＡ−Ｓｔｒｅａｍパケットの転送後に、それ以外のＡｓｙｎパケットを転送する帯域が確保される。これにより、常にＡ−Ｓｔｒｅａｍパケットが転送されるのが抑制され、それ以外のＡｓｙｎパケットの転送が保証される。
【００４９】
ここで、Ａｓｙｎパケットが転送された場合には、通常、転送先アドレスに対応するノードがそのＡｓｙｎパケットを受信すると、受信確認用の返送コードやＡｃｋパケット（ここでは、まとめて「Ａｃｋパケット」という。）を転送元のノードに返送する。このとき、ＡｓｙｎパケットとＡｃｋパケットとの間には、Ａｃｋギャップが存在する。すなわち、Ａｓｙｎパケットの転送後からＡｃｋギャップが経過すると、Ａｃｋパケットを転送するためのアービトレーションが開始される。すると、仮に図７（ｂ）に示すように、ＡｓｙｎパケットがＡ−Ｓｔｒｅａｍパケットを転送する直前に転送され、そのＡｓｙｎパケットに対するＡｃｋパケットとＡ−Ｓｔｒｅａｍパケットの転送ポイントが重なると、Ａｃｋパケットを確実に転送できなくなる。すなわち、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度が高いままでは、Ａ−ＳｔｒｅａｍパケットとＡｃｋパケットとが平等調停になるため、Ａｃｋパケットを転送できない場合が生じ、Ａｃｋパケットを確実に転送できない。
【００５０】
そこで、図６に示すように、優先度切替回路４２は、Ａｓｙｎパケットの受信が検知された場合に（ステップＳ８でＹｅｓ）、Ｌレベルの切替信号ＰＳを生成してＡ−Ｓｔｒｅａｍパケットのアービトレーションの優先度を低くする（ステップＳ１３）。すなわち、Ａ−Ｓｔｒｅａｍパケットのアービトレーションの優先度を、従前と同様に、それ以外のＡｓｙｎパケットと同一にする。これにより、Ａｃｋパケットを転送する際には、そのＡｃｋパケットよりもＡ−Ｓｔｒｅａｍパケットのアービトレーションの優先度が低くなるため、Ａｃｋパケットを転送するためにバスの使用権が確実に獲得される。したがって、図７に示すように、連続データ（Ｄ１〜Ｄ４）をＡ−Ｓｔｒｅａｍパケットにて転送している場合であっても、Ａｃｋパケットを確実に転送することができる。
【００５１】
そして、Ａｃｋパケットの受信が検知された場合又はＳｕｂギャップが検知された場合に（ステップＳ１４）、優先度切替回路４２は、Ｈレベルの切替信号ＰＳを生成する（ステップＳ９）。なお、Ｓｕｂギャップを検知するようにしたのは、Ａｃｋパケットが転送されないことを検知するためである。すなわち、Ａｃｋギャップよりも長いＳｕｂギャップを検知した場合には、それ以降はＡｃｋパケットが転送されないと判断することができるためである。このように、Ａｃｋパケットが転送された後（Ａｃｋパケットが転送されないと判断された後）、Ａ−Ｓｔｒｅａｍパケットに対する優先度が再び高くなるため、それ以降のＡ−Ｓｔｒｅａｍパケットを確実に転送することができる。
【００５２】
以上説明したように、本実施形態によれば、以下の効果を奏することができる。
（１）リクエスト生成部４０は、ＩｓｏリクエストＩＲの代わりにＡ−ＳｔｒｅａｍリクエストＡＳＲを生成する。これにより、ＣＳパケットを省略した上で、Ｉｓｏパケットと同一のデータフォーマットを有するＡ−Ｓｔｒｅａｍパケットにて連続データを転送することができる。また、リクエスト生成部４０は、Ａｓｙｎパケットよりもアービトレーションの優先度を高く設定したＡ−Ｓｔｒｅａｍパケットのリクエスト（Ａ−Ｓｔｒｅａｍリクエスト）を生成する。さらに、リクエスト生成部４０は、一定周期毎に上記Ａ−Ｓｔｒｅａｍリクエストを生成する。これにより、一定周期（１２５μｓ）毎に、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度がそれ以外のＡｓｙｎパケットより確実に高くなるため、１２５μｓ間隔のポイントにおいて確実にＡ−Ｓｔｒｅａｍパケットを転送することができる。したがって、ＣＳパケットを省略した上で、一定周期毎にＡ−Ｓｔｒｅａｍパケットによる一連の連続データ（Ｄ１〜Ｄ４）の転送を保証することができる。この結果、ＣＳパケットを省略した分だけ実データを転送するための帯域を拡大させることができ、データの転送効率を向上させることができる。
【００５３】
（２）リクエスト生成部４０は、ＣＳパケットを未検知の場合に、ＩｓｏリクエストＩＲの代わりにＡ−ＳｔｒｅａｍリクエストＡＳＲを生成する。すなわち、Ａ−ＳｔｒｅａｍリクエストＡＳＲはＩｓｏサイクル以外に生成される。このため、Ｉｓｏサイクル中に、Ａ−Ｓｔｒｅａｍパケットにて連続データが転送されることがないため、Ｉｓｏサイクル内においてＩｓｏパケットとＡ−Ｓｔｒｅａｍパケットとが混在することが抑制される。また、リクエスト生成部４０は、ＣＳパケットを検知した場合には、Ａ−ＳｔｒｅａｍリクエストＡＳＲを生成せず、ＩｓｏリクエストＩＲをそのまま利用する。このため、Ｉｓｏサイクルが開始されると、従前と同様のＩｓｏ転送を確実に実行することができる（図７（ａ）の上段参照）。
【００５４】
（３）リクエスト生成部４０は、Ａｓｙｎパケットを受信してからＡｃｋパケットの受信まで、又はＡｓｙｎパケットを受信してからＳｕｂギャップを検知するまで、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度をＡｃｋパケットの優先度よりも低く設定する。これにより、Ａ−ＳｔｒｅａｍパケットとＡｃｋパケットとが平等調停になることがなく、常にＡｃｋパケットがＡ−Ｓｔｒｅａｍパケットよりも優先して転送されることになる。このため、Ａ−Ｓｔｒｅａｍパケットによる連続データの転送中であっても、Ａｃｋパケットを確実に転送することができる。
【００５５】
（４）従前の規格から存在するＡ−Ｓｔｒｅａｍパケットを利用して連続データを転送するようにした。これにより、従前の規格に存在しない全く新たなパケットを追加することなく、連続データを非同期パケットにて転送することができる。また、上記Ａ−ＳｔｒｅａｍパケットはＩｓｏパケットと同一のデータフォーマットを有する。このため、そのＡ−Ｓｔｒｅａｍパケットを受信する受信側ノードが従前のＩＰＣしか備えていなくとも、その受信側ノードとの間で支障なく連続データの送受信を行うことができる。すなわち、受信側ノードでは、同一のフォーマットを有するＩｓｏパケットとＡ−Ｓｔｒｅａｍパケットとを区別しないため、Ａ−Ｓｔｒｅａｍパケットにて連続データが転送されても、Ｉｓｏパケットにて連続データが転送された場合と同様に受信処理を行うことができる。したがって、受信側ノードが従前のＩＰＣしか備えていなくとも、Ａ−Ｓｔｒｅａｍパケットにより送信された連続データを正常に受信することができる。
【００５６】
（５）リクエスト生成部４０による全ての処理シーケンスが物理層（物理層制御回路３０）で実行されるため、それらの処理シーケンスを上位システム（リンク層やアプリケーション層など）に実装する必要がない。このため、従前の規格におけるリンク層やアプリケーション層などを変更する必要がない。
【００５７】
（第２実施形態）
以下、第２実施形態を図８に従って説明する。先の図１〜図７に示した部材と同一の部材にはそれぞれ同一の符号を付して示し、それら各要素についての詳細な説明は省略する。
【００５８】
図８は、IEEE Std 1394b規格に準拠したＩＥＥＥ１３９４プロトコルコントローラ（ＩＰＣ）６０の内部構成を示している。このＩＰＣ６０は、従前のＩＰＣにリクエスト生成部９０が追加されている。
【００５９】
ここで、IEEE Std 1394b規格では、アービトレーションの優先度がバスリクエストの種類（コード）によって決定される。このため、アービトレーションの優先度の切替方法が上記第１実施形態とは異なる。これに伴って、本実施形態のリクエスト生成部９０は、第１実施形態のリクエスト生成部４０とその内部構成が相違している。そこで、このリクエスト生成部９０の内部構成を中心に説明する。なお、ポート回路７０ａ，７０ｂ、物理層制御回路８０内のパケット送受信制御部８１、アービトレーション制御部８２、Ｓ／Ｐ変換部８３、Ｐ／Ｓ変換部８４、ポート制御部８５やＩｓｏリクエスト保持部８６は公知の構成であるため、ここではその詳細な説明を割愛する。
【００６０】
ちなみに、上記IEEE Std 1394b規格では、バスケーブルが全２重通信、すなわち１ケーブルに配線が２本存在する構造をとっている。このため、データ通信の通信形式にIEEE Std 1394b規格を採用すれば、通信データの入力と出力とが同時に実行可能となるため、例えばデータ転送中にバスリクエストを伝送するというような動作が可能となる。
【００６１】
図８に示すように、リクエスト生成部９０は、パケット解析部９１と、優先度切替回路９２と、カウンタ９３と、アンド回路９４〜９６とを含む。このリクエスト生成部９０は、ＩｓｏリクエストＩＲ、アシンクロナス（Ａｓｙｎ）リクエストＡＲ又はレガシー（Ｌｅｇａｃｙ）リクエストＬＲの何れか一つをアービトレーション制御部８２に出力する。ここで、ＩｓｏリクエストＩＲはＡｓｙｎリクエストＡＲ（ＮＥＸＴ＿ＯＤＤ又はＮＥＸＴ＿ＥＶＥＮ）よりもアービトレーションの優先度が高く、そのＩｓｏリクエストＩＲよりもＬｅｇａｃｙリクエストＬＲの方がアービトレーションの優先度が高い。なお、本実施形態では、これらＩｓｏリクエストＩＲ、ＡｓｙｎリクエストＡＲ及びＬｅｇａｃｙリクエストＬＲは、連続データを転送しようとする際に生成されるバスリクエストである。また、ＩｓｏリクエストＩＲはＣＳパケットの受信後にのみ生成されるバスリクエストであり、ＡｓｙｎリクエストＡＲ及びＬｅｇａｃｙリクエストＬＲはＣＳパケットの受信に関わらず生成されるバスリクエストである。
【００６２】
パケット解析部９１は、上記パケット解析部４１と同様に、Ｓ／Ｐ変換部８３から入力される受信パケットを解析し、その解析結果に応じてＡｓｙｎ検知信号、Ａｃｋ検知信号又はＣＳ検知信号を優先度切替回路９２に出力する。
【００６３】
優先度切替回路９２は、図６に示したフローチャートと略同様の優先度切替動作を実行する回路である。詳述すると、優先度切替回路９２は、入力される各種検知信号に基づいて、ＩｓｏリクエストＩＲの代わりにＡｓｙｎリクエストＡＲ又はＬｅｇａｃｙリクエストＬＲを生成する場合に切替フラグＣＦを「０」に設定し、ＩｓｏリクエストＩＲをそのまま利用する場合に切替フラグＣＦを「１」に設定する。具体的には、優先度切替回路９２は、ＣＳ検知信号が入力されない場合には切替フラグＣＦを「０」に設定し、ＣＳ検知信号が入力されると切替フラグＣＦを「１」に設定する。但し、優先度切替回路９２は、ＣＳ検知信号が入力された場合であっても、所定期間内に次のＣＳ検知信号が入力されない場合には、切替フラグＣＦを「０」に設定する。そして、優先度切替回路９２は、その切替フラグＣＦをアンド回路９４〜９６に出力する。
【００６４】
また、優先度切替回路９２は、入力される各種検知信号に基づいて、バスリクエストの優先度を切り替えるための切替信号ＰＳを生成し、その切替信号ＰＳをアンド回路９５，９６に出力する。具体的には、優先度切替回路９２は、切替フラグＣＦが「１」に設定されている場合には、優先度の低いＡｓｙｎリクエストＡＲを選択するためにＬレベルの切替信号ＰＳを生成する。また、優先度切替回路９２は、Ａｓｙｎ検知信号が入力されてからＡｃｋ検知信号が入力されるまで（又はＡｃｋパケットがないことが検知されるまで）、Ｌレベルの切替信号ＰＳを生成する。これら以外の場合には、優先度切替回路９２は、優先度の高いＬｅｇａｃｙリクエストＬＲを選択するためにＨレベルの切替信号ＰＳを生成する。
【００６５】
カウンタ９３は、Ａ−Ｓｔｒｅａｍパケットの送信からカウント動作を開始し、所定期間が経過するまでＬレベルのカウント信号をアンド回路９５，９６に出力し、所定期間経過後からＨレベルのカウント信号をアンド回路９５，９６に出力する。なお、ここでは、上記所定期間をＩｓｏサイクルと同一の１２５μｓに設定している。
【００６６】
アンド回路９４には、リンク層からインターフェース回路１００及びＩｓｏリクエスト保持部８６を介してＩｓｏリクエストＩＲが入力されるとともに、優先度切替回路９２から切替フラグＣＦが入力される。このアンド回路９４は、切替フラグＣＦが「１」に設定されている場合に、ＩｓｏリクエストＩＲをアービトレーション制御部８２に出力する。このＩｓｏリクエストＩＲによってアービトレーションに勝ってバスの使用権が獲得されると、Ｉｓｏパケットにて連続データの転送が開始される。
【００６７】
アンド回路９５には、ＡｓｙｎリクエストＡＲと、カウンタ９３からのカウント信号とが非反転端子に入力され、優先度切替回路９２からの切替フラグＣＦ及び切替信号ＰＳが反転端子に入力される。このアンド回路９５は、切替フラグＣＦが「０」に設定され、Ｌレベルの切替信号ＰＳが入力されている状態で、Ｈレベルのカウント信号が入力されると、ＡｓｙｎリクエストＡＲをアービトレーション制御部８２に出力する。このＡｓｙｎリクエストＡＲによってアービトレーションに勝ってバスの使用権が獲得されると、Ａ−Ｓｔｒｅａｍパケットにて連続データの転送が開始される。このとき、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度は、従前と同様に、それ以外のＡｓｙｎパケットのそれと同一になる（Priority=normal）。
【００６８】
アンド回路９６には、ＬｅｇａｃｙリクエストＬＲと、優先度切替回路９２からの切替信号ＰＳと、カウンタ９３からのカウント信号とが非反転端子に入力され、優先度切替回路９２からの切替フラグＣＦが反転端子に入力される。このアンド回路９６は、切替フラグＣＦが「０」に設定され、Ｈレベルの切替信号ＰＳが入力されている状態で、Ｈレベルのカウント信号が入力されると、ＬｅｇａｃｙリクエストＬＲをアービトレーション制御部８２に出力する。このＬｅｇａｃｙリクエストＬＲによってアービトレーションに勝ってバスの使用権が獲得されると、Ａ−Ｓｔｒｅａｍパケットにて連続データの転送が開始される。このとき、上記ＬｅｇａｃｙリクエストＬＲはＣＳパケットの受信に関わらず生成されるため、ＣＳパケットを省略した上で、連続データを転送することができる。また、上記ＬｅｇａｃｙリクエストＬＲはＡｓｙｎリクエストＡＲよりも優先度が高いため、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度は、それ以外のＡｓｙｎパケットよりも高くなる（Priority=High）。さらに、アンド回路９６からは、このＬｅｇａｃｙリクエストＬＲが一定の周期（ここでは、１２５μｓ）毎に出力される。これにより、ＣＳパケットを省略した上で、連続データを一定周期毎に確実に転送することができるようになる。
【００６９】
以上説明した本実施形態によれば、上記第１実施形態の（１）〜（４）と同様の効果を奏する。
（他の実施形態）
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
【００７０】
・上記各実施形態では、Ａｓｙｎパケットの受信が検知されてからＡｃｋパケットの受信が検知されるまで、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度をＡｓｙｎパケットと同一にした。これに限らず、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度をＡｃｋパケットのそれよりも低く設定すれば、Ａｓｙｎパケットに対するアービトレーションの優先度よりも高くても低くてもよい。
【００７１】
・上記第１実施形態では、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度をＡｃｋパケットのそれと同一にすることにより、Ａ−Ｓｔｒｅａｍパケットの優先度をＡｓｙｎパケットよりも高く設定するようにした。これに限らず、Ａ−Ｓｔｒｅａｍパケットの優先度がＡｓｙｎパケットの優先度よりも高く設定されれば、Ａｃｋパケットの優先度と同一である必要はない。例えば、Ａ−Ｓｔｒｅａｍパケットの優先度を、Ａｓｙｎパケットの優先度よりも高く、Ａｃｋパケットの優先度よりも低く設定するようにしてもよい。この場合には、Ａ−ＳｔｒｅａｍパケットとＡｃｋパケットとの転送ポイントが重なっても、平等調停とはならないため、Ａ−Ｓｔｒｅａｍパケットによる連続データの転送中であってもＡｃｋパケットを確実に転送することができる。このため、この場合には図６のステップＳ１３，Ｓ１４を省略することができる。なお、この点については、上記第２実施形態でも同様のことが言える。
【００７２】
・上記各実施形態では、カウンタ４５，９３でカウントされる所定期間を１２５μｓに設定したが、この期間は特に制限されない。
・図６のステップＳ５におけるタイマの時間は１ｍｓに制限されない。すなわち、ＣＳパケットの転送が停止したことが判断可能な時間であれば特に制限されない。
【００７３】
・図６のステップＳ２，Ｓ４において、Ａ−Ｓｔｒｅａｍパケットに対するアービトレーションの優先度を従前通りの優先度に設定するようにしたが、Ａ−Ｓｔｒｅａｍパケットの優先度をＡｓｙｎパケットよりも高く設定するようにしてもよい。
【００７４】
・上記各実施形態における優先度切替回路４２，９２にて生成される切替フラグＣＦの生成を省略してもよい。この場合には、図６のステップＳ５，Ｓ６，Ｓ７，Ｓ１０，Ｓ１１，Ｓ１２を省略してもよい。また、図６のステップＳ２，Ｓ４における切替フラグＣＦの設定及びタイマの初期化も省略してもよい。
【００７５】
・上記各実施形態では、１つのＩＰＣ１０，６０に２つのポート回路を設けたが、ポート回路を３つ以上設けるようにしてもよい。
・上記各実施形態におけるネットワーク内のノード数に特に制限はない。すなわち、ネットワーク内のノード数は２つであっても、４つ以上であってもよい。
【００７６】
・上記各実施形態では、ノードＡ〜ＣをＩＥＥＥ１３９４規格に準拠した装置に具体化したが、例えば一定周期毎に連続データを転送するようなＩＤＢ−１３９４規格に準拠した装置に具体化してもよい。
【００７７】
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）
同期パケットにて転送するデータを、第一種の非同期パケットに対する調停の優先度よりも高い優先度を有する第二種の非同期パケットにより送信し、
前記第二種の非同期パケットの送信から所定期間後に、前記第二種の非同期パケットによる前記データに続くデータの送信の要求をする
ことを特徴とするデータ送信方法。
（付記２）
前記同期パケットにて転送するデータを前記第二種の非同期パケットにより送信するのは、前記同期パケットの送信が行われる同期転送期間の開始を示す同期用データを未検知の場合であることを特徴とする付記１に記載のデータ送信方法。
（付記３）
前記第一種の非同期パケットを受信してから当該第一種の非同期パケットに対する応答パケットを受信するまで、又は、前記第一種の非同期パケットを受信してから前記応答パケットが送信されないことを検知するまで、前記第二種の非同期パケットの前記優先度を前記応答パケットの優先度よりも低く設定することを特徴とする付記１又は２に記載のデータ送信方法。
（付記４）
前記所定期間は、前記同期パケットの送信が行われる同期転送期間に対応する期間であることを特徴とする付記１〜３のいずれか１つに記載のデータ送信方法。
（付記５）
前記同期パケットを送信するノードに、データ送信に先立って、前記同期転送期間のうちの一定期間に対応する帯域を割り当て、
その割り当てられた帯域を利用して、前記同期パケットにて転送するデータを前記第二種の非同期パケットにより送信することを特徴とする付記４に記載のデータ送信方法。（付記６）
前記所定期間は、前記第二種の非同期パケットを送信する各ノードで測定することを特徴とする付記１〜５のいずれか１つに記載のデータ送信方法。
（付記７）
同期パケットの送信要求信号の代わりに、第一種の非同期パケットよりも調停の優先度を高く設定した第二種の非同期パケットの送信要求信号を所定周期毎に生成するリクエスト生成部を備えることを特徴とするデータ送信装置。
（付記８）
前記リクエスト生成部は、
前記同期パケットの送信が行われる同期転送期間の開始を示す同期用データの受信を検知する第１検知部を備え、
前記同期用データの受信が未検知の場合に、前記第二種の非同期パケットの送信要求信号を生成することを特徴とする付記７に記載のデータ送信装置。
（付記９）
前記リクエスト生成部は、
前記第一種の非同期パケットの受信を検知する第２検知部と、
前記第一種の非同期パケットに対する応答パケットの受信を検知する第３検知部と、
前記第一種の非同期パケットを受信してから前記応答パケットを受信するまで、前記第二種の非同期パケットの前記優先度を前記応答パケットの優先度よりも低く設定する優先度切替回路と
を備えることを特徴とする付記７又は８に記載のデータ送信装置。
（付記１０）
前記リクエスト生成部は、
前記第一種の非同期パケットの受信から所定期間経過したことを検知する第４検知部を備え、
前記優先度切替回路は、前記第一種の非同期パケットの受信から前記所定期間経過まで、前記第二種の非同期パケットの前記優先度を前記応答パケットの優先度よりも低く設定することを特徴とする付記９に記載のデータ送信装置。
（付記１１）
前記リクエスト生成部は、
前記所定周期を測定するカウンタを備え、
前記カウンタの測定結果に基づいて前記所定周期毎に、前記第二種の非同期パケットの送信要求信号を生成することを特徴とする付記７〜１０のいずれか１つに記載のデータ送信装置。
（付記１２）
バスケーブルを介して接続される複数のノードを含むネットワークシステムであって、
パケットデータを送信するノードのうち少なくとも１つのノードは、
同期パケットの送信要求信号の代わりに、第一種の非同期パケットよりも調停の優先度を高く設定した第二種の非同期パケットの送信要求信号を所定周期毎に生成するリクエスト生成部を備えることを特徴とするネットワークシステム。
【符号の説明】
【００７８】
Ａ，Ｂ，Ｃ  ノード（データ送信装置）
１ａ，１ｂ  バスケーブル
１０，６０  ＩＰＣ
４０，９０  リクエスト生成部
４１，９１  パケット解析部（第１検知部、第２検知部、第３検知部）
４２，９２  優先度切替回路
４３  ギャップ検知回路（第４検知部）
４４  選択回路（優先度切替回路）
４５，９３  カウンタ
ＩＲ  Ｉｓｏリクエスト（同期パケットの送信要求信号）
ＡＳＲ  Ａ−Ｓｔｒｅａｍリクエスト（第二種の非同期パケットの送信要求信号）
ＬＲ  Ｌｅｇａｃｙリクエスト（第二種の非同期パケットの送信要求信号）
【図１】
0005484037.tif 000002
【図２】
0005484037.tif 000003
【図３】
0005484037.tif 000004
【図４】
0005484037.tif 000005
【図５】
0005484037.tif 000006
【図６】
0005484037.tif 000007
【図７】
0005484037.tif 000008
【図８】
0005484037.tif 000009
【図９】
0005484037.tif 000010