(57)【要約】【目的】  非同期パケット通信における要求やリトライ要求によるシステム負担を軽減することができる非同期パケット通信方法及び非同期パケット通信装置を提供する。【構成】  リトライ送信となるときには、リトライ回数をインクリメントした上でリトライ送信を行う（ステップＳ１１でＮＯ，ステップＳ１４）。但し、ＡｃｋコードがＡｃｋ＿ｂｕｓｙである場合は（ステップＳ１１でＹＥＳ：エラー発生）、リトライ間隔（Ｔ１）の待機の後、Ｔ←Ｔ１＋ΔＴ（例えば、ΔＴ＝Ｔ１とすることができる。勿論、これに限定されない）の演算処理によるリトライ間隔更新処理を行い（ステップＳ１３）、ステップＳ１４に進む。この更新リトライ間隔（時間）は、エラー発生回数に応じて増加するものとなる。このような処理を行うことによって、リトライによるソフトウェアの負荷を低減できる。【選択図】        図５
2006129125.tif 000002
【特許請求の範囲】
【請求項１】
非同期でパケット通信を行う方法において、エラー発生時の要求のリトライ間隔をエラー発生回数に応じて段階的に長くすることを特徴とする非同期パケット通信方法。
【請求項２】
非同期でパケット通信を行う装置において、エラー発生回数が多いほど大きな数値を出力する手段と、エラー発生時の要求のリトライ間隔を前記数値に基づいて段階的に長く設定する手段と、を備えたことを特徴とする非同期パケット通信装置。
【請求項３】
非同期でパケット通信を行う方法において、要求の間隔をノード数が多いほど長くすることを特徴とする非同期パケット通信方法。
【請求項４】
非同期でパケット通信を行う装置において、通信バス上のノード数を取得する手段と、ノード数が多いほど大きな数値を出力する手段と、要求の間隔を前記数値に基づいて長く設定する手段と、を備えたことを特徴とする非同期パケット通信装置。
【請求項５】
請求項１又は請求項３に記載の非同期パケット通信方法において、通信処理をＩＥＥＥ１３９４規格に基づいて行うことを特徴とする非同期パケット通信方法。
【請求項６】
請求項２又は請求項４に記載の非同期パケット通信装置において、通信処理をＩＥＥＥ１３９４規格に基づいて行うことを特徴とする非同期パケット通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、非同期パケット通信方法及び非同期パケット通信装置に関し、例えば、高速ディジタルインターフェースであるＩＥＥＥ１３９４等において利用される。
【背景技術】
【０００２】
ＩＥＥＥ１３９４等においては、リンク層で非同期パケットの送信を行う（特許文献１，特許文献２参照）。送信エラー時のリトライ処理はトランザクション層が担当しており、リトライ間隔は適当な値で固定であった。
【特許文献１】特開２０００−１５１７１９号公報
【特許文献２】特表２００４−５１６７１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、通信する相手機器の状態によっては、毎回同じ数だけ再送信を行った後、通信相手の正常受信を確認できる場合がある。この場合、ソフトウェアで再送処理を行っているため、リトライ回数の分だけ、ソフトウェアの負担が増大するものとなっていた。
【０００４】
この発明は、上記の事情に鑑み、非同期パケット通信における要求やリトライ要求によるシステム負担を軽減することができる非同期パケット通信方法及び非同期パケット通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明の非同期パケット通信方式は、上記課題を解決するために、非同期でパケット通信を行う方法において、エラー発生時の要求のリトライ間隔をエラー発生回数に応じて段階的に長くすることを特徴とする。また、この発明の非同期パケット通信装置は、非同期でパケット通信を行う装置において、エラー発生回数が多いほど大きな数値を出力する手段と、エラー発生時の要求のリトライ間隔を前記数値に基づいて段階的に長く設定する手段と、を備えたことを特徴とする。かかる構成であれば、リトライを直ちに何度も行うのではなく、また、一定時間の待機でもなく、待機時間を段階的に長くしていく処理となるので、リトライ回数を少なくしつつ、要求が受け入れられるタイミングを逸してしまうといった事態を少なくできることになる。
【０００６】
また、この発明の非同期パケット通信方法は、非同期でパケット通信を行う方法において、要求の間隔をノード数が多いほど長くすることを特徴とする。また、この発明の非同期パケット通信装置は、非同期でパケット通信を行う装置において、通信バス上のノード数を取得する手段と、ノード数が多いほど大きな数値を出力する手段と、要求の間隔を前記数値に基づいて長く設定する手段と、を備えたことを特徴とする。かかる構成であれば、多くの接続機器から一斉に集中的に要求が発生するのを回避することができ、システム負担が軽減される。
【０００７】
上記の非同期パケット通信方法及び装置において、通信処理をＩＥＥＥ１３９４規格に基づいて行うこととしてもよい。
【発明の効果】
【０００８】
この発明によれば、非同期パケット通信における要求やリトライ要求によるシステム負担を軽減することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施形態のディジタル放送受信装置を図１乃至図７に基づいて説明する。なお、この実施形態では、ＩＥＥＥ１３９４による非同期パケット通信に本発明を適用することとし、また、シングルフェーズリトライモードを前提として説明していくこととする。
【００１０】
まず、図１にＩＥＥＥ１３９４モジュールを構成する一般的なハードウェア構成例を示す。ＲＯＭ１にはＩＥＥＥ１３９４ソフトウェアが格納されている。電源投入後に、ＲＯＭ１に格納されているＩＥＥＥ１３９４ソフトウェアがＲＡＭ３に展開され、この展開されたＩＥＥＥ１３９４ソフトウェアをマイコン（マイクロコンピュータ）２が実行する。ＬＩＮＫチップ４はＩＥＥＥＳｔｄ１３９４−１９９５で規定されているリンク機能を実装している。ＰＨＹチップ５はＩＥＥＥＳｔｄ１３９４−１９９５で規定されている物理層を実装している。ＬＩＮＫチップ４とＰＨＹチップ５を統合してワンチップ化している場合もある。１３９４コネクタ６に１３９４ケーブルを接続することで１３９４モジュールは１３９４バスに接続される。ＩＥＥＥ１３９４ソフトウェアのリンク層は、マイコンのアドレス空間にメモリマップされたＬＩＮＫチップ４にアクセスして、非同期パケットの送受信などを行う。
【００１１】
図２にＡＶ（オーディオ・ビジュアル）系ＩＥＥＥ１３９４のプロトコルスタックの一例を示す。この図における物理層は１３９４機能を搭載したＰＨＹチップ５が担当する。リンク層は１３９４機能を搭載したＬＩＮＫチップ４及びドライバに相当する。このリンク層を構成するリンクドライバは、非同期パケットの送受信部、ＬＩＮＫチップ４からの各種状態取得（ノードＩＤ取得など）、イベント通知（バスリセット発生通知など）を行う。トランザクション層ではリクエスト送信とレスポンス受信、或いはリクエスト受信とレスポンス送信のトランザクションラベルによる関連付け処理、パケット送信時に正常系Ａｃｋパケットを受信できなかった時の再送信処理を行う。
【００１２】
シリアルバスマネジメント（ＳＢＭ）層は、自機器のＧＵＩＤ（ＶｅｎｄｏｒＩＤやＣｈｉｐＩＤ）や製品名をテキスト表示するＣｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭを実装しており、他機器から問い合わせがあれば応答する。また、ＳＢＭ層には、アイソクロナスリソースマネージャ（ＩＲＭ）やバスマネージャ（ＢＭ）が含まれる。ＩＲＭは、１３９４バス上のアイソクロナスパケットのチャンネル管理や帯域管理を行う。ＢＭは、バスリセット時にトポロジーマップやスピードマップを作成し、他機器からの問い合わせに応答する。ＦＣＰ（Ｆｕｎｃｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）層は、ＩＥＣ６１８８３で規格化されているＡＶコマンド送信とＡＶレスポンス受信などの処理を行う。
【００１３】
また、例えば、Ｄ−ＶＨＳを制御するディジタルチューナ内蔵テレビ受信機の場合、ＡＶコマンドを使用するモジュールとして、ＦＣＰ層の上位のＣＭＰ層、ＡＫＥ層、テープ制御層、チューナ被制御層などが必要となる。ＣＭＰ（Ｃｏｎｎｅｃｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｃｅｄｕｒｅｓ）層ではコネクション管理、バスリセット発生時の機器情報取得を行う。ＰＣＲ（Ｐｌｕｇ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒ）の実装もＣＭＰ層で行う。ＡＫＥ（Ａｕｔｈｅｎｔｉｃａｔｉｏｎａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）層では、相手機器の認証処理と鍵交換を行うことで、コピープロテクトされた番組コンテンツ（ＴＳ：トランスポート・ストリーム）の復号を行う。テープ制御層では、ＡＶ／Ｃ  Ｔａｐｅ  Ｒｅｃｏｄｅｒ／Ｐｌａｙｅｒ  Ｓｕｂｕｎｉｔで規定されている制御用或いは状態取得用のＡＶコマンドを実装し、再生、早送り、停止などの遠隔制御、テープカウンタ取得、テープ走行状態取得、テープカセット情報取得を用いた定期監視などを行う。チューナ被制御層では、ディジタル放送受信機として必要なＡＶ／Ｃ  Ｔｕｎｅｒ  Ｓｕｂｕｎｉｔを実装している。
【００１４】
さて、前述のＡＶプロトコルスタックを構成する各モジュール層はソフトウェアで実現しており、各々は独立・並列した処理が可能である。このため、異なるモジュール層が同じタイミングで非同期パケットを送受信する可能性がある。また、ＩＥＥＥ１３９４バス上に接続された他の１３９４機器も非同期パケットの送受信を行う。ＩＥＥＥ１３９４バス上に接続されているＩＥＥＥ１３９４機器が多ければ多いほど非同期パケットの送受信が重なるタイミングが増すことが予想される。非同期パケットの送信が重なった場合に、相手機器がすでに非同期パケットを受信中の時は、送信した非同期パケットに対するＡｃｋコードがＡｃｋ＿ｂｕｓｙとなる。送信元のトランザクション層は、リンク層からＡｃｋコードを取得し、Ａｃｋ＿ｂｕｓｙの場合は所定回数リトライ処理を行う。最大リトライ回数は、ＩＥＥＥＳｔｄ１３９４−１９９５でＢＵＳＹ＿ＴＩＭＥＯＵＴｒｅｇｉｓｔｅｒ（０ｘＦＦＦＦ、０ｘＦ００００２１０）として規定されている可変値である。
【００１５】
リンク層では、非同期パケット送信を行う時に、パケットヘッダ情報（送信先ノードＩＤ、オフセットアドレス、レスポンスコード、トランザクションコードなど）やパケットデータを所定のレジスタに設定した後、非同期パケット送信を行う。尚、同期パケットの送信は１サイクル１２５μｓと短い間隔で送信する必要があるため毎回ドライバで設定していたのではソフトウェアの負担が非常に大きくなるため、通常はＬＩＮＫチップで同期パケットのヘッダ情報のみ設定を行い、後はハードウェアで処理する。
【００１６】
非同期パケット送信においては、リトライ送信を行うたびに、送信したいパケット情報をレジスタに設定する必要があり、ソフトウェアの負担となる。この場合、リンク層及びトランザクション層を統合して、パケット情報をレジスタに保存したまま、Ａｃｋコードを判定し、Ａｃｋ＿ｂｕｓｙの場合は直ちにリトライ送信することも考えられる。しかしながら、複数モジュールから同時に送信要求があった場合には、最初の送信要求の処理が終わるまで、次の送信要求は待たされる。一方、Ａｃｋコードを判定してＡｃｋ＿ｂｕｓｙだった場合に、単にしばらく時間を置いてリトライ送信したのでは、複数送信要求があった場合に後から要求を出したモジュールへの結果通知が遅くなる。
【００１７】
図３に、非同期パケットの正常系トランザクション例を示す。上位モジュールからパケット送信要求がトランザクション層に来ると、リンク層に非同期パケット送信要求（Request ）を出す。リンク層では、通信相手に非同期パケットを送信する（Request ）。通信相手のリンク層は非同期パケットを正常に受信すると、送信元にＡｃｋ＿Ｃｏｍｐｌｅｔｅ（若しくは、Ａｃｋ＿Ｐｅｎｄｉｎｇ）を返し（Response）、受信した非同期パケットを受信側トランザクション層に表示（Indication）する。受信側トランザクション層では、要求内容に応じて、上位モジュールにパケット受信表示（Indication）を行う。一方、送信側においては、リンク層でＡｃｋ＿Ｃｏｍｐｌｅｔｅ（若しくは、Ａｃｋ＿Ｐｅｎｄｉｎｇ）を受信すると、送信要求した非同期パケットの送信確認（Confirmation）を送信側トランザクション層に対して行う。トランザクション層では、パケット送信要求元である上位モジュールにパケット送信確認（Confirmation）を行う。
【００１８】
図４に、非同期パケットの異常系トランザクション例を示す。上位モジュールからパケット送信要求がトランザクション層に来ると、リンク層に非同期パケット送信要求を出す。リンク層では、通信相手に非同期パケットを送信する。ところが、通信相手のリンク層が、例えば他の通信相手と通信中であり、他の通信相手の非同期パケットを受信処理中の時には、他の非同期パケットを受信することができない。この場合、送信元には、Ａｃｋ＿ｂｕｓｙＸを返し、受信側トランザクション層には非同期パケットの受信表示を行わない。送信側リンク層はＡｃｋ＿ｂｕｓｙＸを受信すると、送信側トランザクション層に非同期パケットの送信確認を行う。送信側トランザクション層では、Ａｃｋ＿ｂｕｓｙＸを受信することにより、送信した非同期パケットを通信相手が正常受信できなかったと判断すると、非同期パケットのリトライ送信要求をリンク層に出す。リトライ送信要求があると、リンク層は通信相手に非同期パケットの再送信を行う。通信相手のリンク層が未だビジー状態の時は、Ａｃｋ＿ｂｕｓｙＸを送信元に返す。このように、通信相手のビジー状態が続けば、送信元のトランザクション層は繰り返しリトライ送信を行い、最大リトライ回数を超えた場合にリトライオーバーの送信結果を送信要求元モジュールに返す。送信要求元モジュールでは必要に応じて、一定期間待って、再び送信要求をトランザクション層に出す。
【００１９】
次に、この発明をトランザクション層の非同期パケット送信部に適用した時の処理例を図５のフローチャートに示す。トランザクション層は、他モジュールから非同期パケットの送信要求を受け取ると、（ステップＳ１）、リトライ回数（Ｒ）を０に初期化し、リトライ間隔（Ｔ１）に予め決められた初期値を設定する（ステップＳ２）。次に、リンク層に非同期パケット送信要求を出し（ステップＳ３）、送信結果であるＡｃｋコードを取得する（ステップＳ４）。
【００２０】
ＡｃｋコードがＡｃｋ＿ｐｅｎｄｉｎｇ或いはＡｃｋ＿ｃｏｍｐｌｅｔｅのときは（ステップＳ５でＹＥＳ）、正常送信として送信要求元に返す（ステップＳ６）。ＡｃｋコードがＡｃｋ＿ｍｉｓｓｉｎｇの時は（ステップＳ７でＹＥＳ）、Ａｃｋ＿ｍｉｓｓｉｎｇとして処理する（ステップＳ８）。Ａｃｋ＿ｍｉｓｓｉｎｇは、１３９４バス上に存在しないノードＩＤに送信要求を出した時や、バスアナライザなど特殊なノードに非同期パケットを送信した時に発生する。一般的な１３９４機器に非同期パケットを送信した時に、Ａｃｋ＿ｍｉｓｓｉｎｇが発生することは通常起こりえないが、リンクチップが異常状態に陥っている場合にＡｃｋ＿ｍｉｓｓｉｎｇが発生することもあり得る。
【００２１】
Ａｃｋコードが、Ａｃｋ＿ｐｅｎｄｉｎｇ、Ａｃｋ＿ｃｏｍｐｌｅｔｅ、Ａｃｋ＿ｍｉｓｓｉｎｇのいずれでもない場合（ステップＳ５でＮＯ，ステップＳ７でＮＯ）、リトライ回数のチェックを行う（ステップＳ９）。リトライ回数が最大リトライ回数を超えた場合は（ステップＳ９でＹＥＳ）、リトライオーバーとなり異常送信として処理する（ステップＳ１０）。リトライ回数が最大リトライ回数に達していない場合には（ステップＳ９でＮＯ）、リトライ回数をインクリメントした後、リトライ送信を行う（ステップＳ１１でＮＯ，ステップＳ１４）。但し、ＡｃｋコードがＡｃｋ＿ｂｕｓｙである場合は（ステップＳ１１でＹＥＳ：エラー発生）、リトライ間隔（Ｔ１）の待機の後、Ｔ←Ｔ１＋ΔＴ（例えば、ΔＴ＝Ｔ１とすることができる。勿論、これに限定されない）の演算処理によるリトライ間隔更新処理を行い（ステップＳ１３）、ステップＳ１４に進む。この更新リトライ間隔（時間）は、エラー発生回数に応じて増加するものとなる。このような処理を行うことによって、リトライによるソフトウェアの負荷を低減できる。
【００２２】
すなわち、前述したごとく、Ａｃｋ＿ｂｕｓｙの場合に直ちにリトライ送信するのでは、例えば他の既に行われている送信要求の処理が終わるまで待たされることになり、いたずらにリトライ回数が増えてしまい、ソフトウェアの負荷が増大する。一方、Ａｃｋ＿ｂｕｓｙの場合に単に一定時間の待機を行うのでは、要求が受け入れられるタイミングを逸してしまう可能性が高い。本願発明であれば、リトライを直ちに何度も行うのではなく、また、一定時間の待機でもなく、待機時間を段階的に長くしていく処理を行うので、リトライ回数を少なくしつつ（ソフトウェアの負荷を低減しつつ）、要求が受け入れられるタイミングを逸してしまうといった事態を少なくできることになる。
【００２３】
ところで、ＩＥＥＥ１３９４においては、１３９４ケーブルを抜き差しを行った時にバスリセットが発生する。また、ＬＩＮＫチップが異常状態に陥ったと判断したリンクドライバは、ＬＩＮＫチップを正常状態に回復させるためにバスリセットを発生させる。バスリセットによりＩＥＥＥ１３９４バス上に接続されている各ノードにはノードＩＤが付与される。ＩＥＥＥ１３９４機器は、バスリセットを検出すると、ＩＥＥＥ１３９４バス上に接続されている他のＩＥＥＥ１３９４機器の認識を行うようになっている。
【００２４】
ＩＥＥＥ１３９４機器はＣｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭを持っていて、ＧＵＩＤ（ＶｅｎｄｏｒＩＤやＣｈｉｐＩＤ）やテキストで記述された製品名などの機器固有の情報が記述されている。各ＩＥＥＥ１３９４機器は、相手となるＩＥＥＥ１３９４機器のＣｏｎｆｉｇｕｒａｔｉｏｎ―ＲＯＭに記述されている所定のオフセットアドレスを読みに行くことにより、相手となるＩＥＥＥ１３９４機器の基礎情報を入手できる。更に、ＡＶ機器の場合は、ｓｕｂｕｎｉｔコマンドを発行することによって、相手ＩＥＥＥ１３９４機器が搭載しているｓｕｂｕｎｉｔ情報を取得することができる。バスリセット発生直後は、各ＩＥＥＥ１３９４機器が接続されている他ＩＥＥＥ１３９４機器の情報取得を行う。特にノード数が多い時は、お互い相手のＣｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭ情報の問い合わせや応答を行っているために、１３９４バスは輻輳状態になりやすい。そこで、バスリセット直後において、ノード数が多い時は、機器認識用非同期パケットの送信リトライ間隔を長くすると、少ないリトライ回数で正常な応答パケットを取得できるようになる。
【００２５】
図６に、本発明を機器認識部に適用した時のフローチャートを示す。機器認識部は、バスリセットによりイベント駆動されて動作し（ステップＳ２１）、各パラメータの初期設定を行い、相手ノードＩＤ（Ｉ）を０にセットする。更に、リンク層から１３９４バスに接続されているノード数情報を獲得し、ノード数情報をノード数（Ｎ）にセットする。また、リンク層から自ノードＩＤ情報を獲得し、自ノードＩＤ情報を自ノードＩＤ（Ｍ）にセットする（ステップＳ２２）。
【００２６】
次に、変換式Ｆ（ｘ）において、ｘにノード数（Ｎ）を代入し、最適な機器認識向け非同期パケットの送信間隔（Ｔ２）を算出する（ステップＳ２３）。前記Ｆ（ｘ）に代えて、変換テーブルを採用することもできる。変換テーブルには、例えば、メーカがバスリセットテストを繰り得して経験により蓄えたデータを組み込めばよい。送信間隔（Ｔ２）は、図７において、或るアドレス、例えば、「０４００ｈ」のデータに対してアクセスを行った後に、「０４０４ｈ」のデータに対してアクセスするまでの間隔となる。次に、相手ノードＩＤ（Ｉ）とノード数（Ｎ）を比較する（ステップＳ２４）。相手ノードＩＤ（Ｉ）がノード数（Ｎ）より大となれば終了する。相手ノードＩＤ（Ｉ）がノード数（Ｎ）より小さければ処理を続行する。相手ノードＩＤ（Ｉ）と自ノードＩＤ（Ｍ）を比較し（ステップＳ２５）、等しければ相手ノードＩＤ（Ｉ）をインクリメントし（ステップＳ３１）、ステップ１に戻る。
【００２７】
相手ノードＩＤ（Ｉ）と自ノードＩＤ（Ｍ）が等しくない時は、相手ノードＩＤ（Ｉ）がａｃｔｉｖｅであるか判断する（ステップＳ２６）。ＢＭ（バスマネージャ）が持つトポロジーマップに各ノードのａｃｔｉｖｅ情報があるので、トポロジーマップを参照することで判断が可能となる。相手ノードＩＤ（Ｉ）がａｃｔｉｖｅでない場合は、相手ノードＩＤ（Ｉ）をインクリメントし（ステップＳ３１）、ステップ１に戻る。相手ノードＩＤ（Ｉ）がａｃｔｉｖｅの時は、Ｔ２間隔でＮｏｄｅ（Ｉ）のＣｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭを順次読み込んでいく（ステップＳ２７）。バスリセット後、Ｃｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭを読むための時間的制限は規格上特に存在しないので、アプリケーションレベルで極端に遅くない限りは、多少遅らせても問題ない。但し、自ノードからコネクションを張っているときにバスリセットが発生した場合、バスリセット発生後からＩｓｏｃｈｒｏｎｏｕｓ  ｒｅｓｏｕｒｃｅ  ｄｅｌａｙと呼ばれる１秒間の時間内に、コネクションの復旧処理を行う必要がある。そのために、Ｃｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭに含まれるＧＵＩＤ情報のみ、必要な場合は先読みしなければならない。
【００２８】
図７にＤ−ＶＨＳのＣｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭの構成例（具体的内容は省略している）を示す。Ｃｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭにはＩＥＥＥ１３９４バスノードであることや、対応している上位プロトコル、ＧＵＩＤ（会社識別子であるＶｅｎｄｏｒＩＤと製品識別子であるＣｈｉｐＩＤ）、会社名をテキストで示すＴｅｘｔｕａｌ  Ｄｅｓｃｒｉｐｔｏｒ、モデル名をテキストで示すＴｅｘｔｕａｌ  Ｄｅｓｃｒｉｐｔｏｒなどが記載されている。Ｃｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭを読む機能はＡＶプロトコルスタックのＳＢＭ（シリアルバスマネジメント）層に実装されていて、相手機器から問い合わせがあると応答する。相手機器のＣｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭを読むことで、相手機器のＧＵＩＤ、会社名、モデル名などを取得することが可能となる。
【００２９】
Ｃｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭの読み取りが正常終了すると（ステップＳ２８でＹＥＳ）、Ｎｏｄｅ（Ｉ）のＡＶコマンドを用いてユニット情報を取得する（ステップＳ２９）。すなわち、ユニットインフォ・ステータスコマンドやサブユニットインフォ・ステータスコマンドを用いて、相手機器が実装しているサブユニットなどのユニット情報を得る。得られたユニット情報は、ユニット管理テーブルに登録される（ステップＳ３０）。Ｃｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭの読み取りが正常終了しなかった場合や（ステップＳ２８でＮＯ）、正常終了後ユニット管理テーブルに登録を行った後は、相手ノードＩＤ（Ｉ）をインクリメントし（ステップＳ３１）、ステップ１に戻る。
【００３０】
このように、ノード数に応じた処理を行うことにより、バスリセット直後は、何度もリトライを行った後に正常な応答が得られる状態を避けることができ、リトライによるソフトウェアのオーバーヘッドを低減できる。なお、前述の変換式Ｆ（ｘ）の具体例としては、Ｆ（ｘ）＝２ｘ、或いは、Ｔを初期値時間として、Ｆ（ｘ）＝Ｔ＋1.１ｘなどが挙げられる。要は、ノード数Ｎが多いほど待機間隔が長くなるように式を設定すればよい。また、上記の例では、送信間隔Ｔ２を前記変換式Ｆ（ｘ）で可変としたが、リトライ送信間隔についても、同様に変換式Ｆ（ｘ）で可変とすることもできる。
【図面の簡単な説明】
【００３１】
【図１】ＩＥＥＥ１３９４モジュールを構成する一般的なハードウェア構成例を示したブロック図である。
【図２】ＡＶ（オーディオ・ビジュアル）系ＩＥＥＥ１３９４のプロトコルスタックの一例を示した説明図である。
【図３】非同期パケットの正常系トランザクション例を示した説明図である。
【図４】非同期パケットの異常系トランザクション例を示した説明図である。
【図５】この発明の実施形態を示す図であって、トランザクション層の非同期パケット送信部の処理例を示したフローチャートである。
【図６】この発明の実施形態を示す図であって、機器認識部の処理例を示したフローチャートである。
【図７】Ｄ−ＶＨＳのＣｏｎｆｉｇｕｒａｔｉｏｎ−ＲＯＭの構成例を示した説明図である。
【符号の説明】
【００３２】
１    ＲＯＭ
２    マイクロコンピュータ
３    ＲＡＭ
４    ＬＩＮＫチップ
５    ＰＨＹチップ
６    １３９４コネクタ
【図１】
2006129125.tif 000003
【図２】
2006129125.tif 000004
【図３】
2006129125.tif 000005
【図４】
2006129125.tif 000006
【図５】
2006129125.tif 000007
【図６】
2006129125.tif 000008
【図７】
2006129125.tif 000009