(57)【要約】【課題】  IEEE1394バスにノードとして認識されずに接続でき、接続個所の制約もないIEEE1394規格対応データ処理装置を提供する。【解決手段】  IEEE1394対応データ処理装置において、ノードとなる他のデータ処理装置に接続される複数の入出力ポートを持つ信号入出力ポート部11、当該データ処理装置がノードとして認識されない非ノードモード制御を行う非ノードコンフィグレーション制御部13、当該データ処理装置がノードとして認識される通常モード制御を行う通常コンフィグレーション制御部14、信号入出力ポート部11に対して一方のコンフィグレーション制御部を有効にするモード切り替え部12を備え、入出力ポートがそれぞれ親ノードと子ノードに接続され且つ非ノードコンフィグレーション制御部13の有効時、ツリー識別フェーズ時に両入出力ポートからparent_notify信号を受信した時、両ポートの一方からparent_notify信号を送出してルート競争ステートに遷移させ、引き続きparent_notify信号を送り続ける構成にした。【選択図】  図１
2006041762.tif 000002
【特許請求の範囲】
【請求項１】
IEEE1394規格のシリアルバスに接続可能なノードとなるIEEE1394規格対応データ処理装置において、前記ノードとなる他の複数のデータ処理装置に接続される複数の入出力ポートを持つ信号入出力ポート部と、当該データ処理装置が前記ノードとして認識されない非ノードモードの制御を行う非ノードコンフィグレーション制御手段と、当該データ処理装置が前記ノードとして認識される通常モードの制御を行う通常コンフィグレーション制御手段と、前記信号入出力ポート部に対して前記非ノードコンフィグレーション制御手段と通常コンフィグレーション制御手段のうちいずれか一方を有効にするモード切り替え手段とを備え、前記信号入出力ポート部の２個の入出力ポートがそれぞれ親ノードおよび子ノードとなる他のデータ処理装置に接続されており、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、ツリー識別フェーズ時に当該データ処理装置が前記両方の入出力ポートからparent_notify信号を受信した時点で両方のポートのうちのいずれか一方に対して当該データ処理装置からparent_notify信号を送出してルート競争ステートに遷移させ、引き続き、そのparent_notify信号を送り続ける構成にしたことを特徴とするIEEE1394規格対応データ処理装置。
【請求項２】
請求項１記載のIEEE1394規格対応データ処理装置において、前記非ノードコンフィグレーション制御手段は、自己識別フェーズ時に、自己のphysical_IDの取得およびself_IDパケットの送信のいずれも行わずに、前記入出力ポートに接続されている子ノードから受け取ったident_done信号をそのまま親ノードに送信する構成であることを特徴とするIEEE1394規格対応データ処理装置。
【請求項３】
請求項１または請求項２記載のIEEE1394規格対応データ処理装置において、前記parent_notify信号を後から受け取ったポートを前記ルート競争ステートに遷移させるポートとする構成にしたことを特徴とするIEEE1394規格対応データ処理装置。
【請求項４】
請求項１または請求項２記載のIEEE1394規格対応データ処理装置において、あらかじめ定めたポート番号が小さい方のポートまたはポート番号が大きい方のポートを前記ルート競争ステートに遷移させるポートとする構成にしたことを特徴とするIEEE1394規格対応データ処理装置。
【請求項５】
請求項１乃至請求項４記載のIEEE1394規格対応データ処理装置において、前記信号入出力ポート部の複数のポートのうち一つのポートのみが他のデータ処理装置に接続されていて、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、前記モード切り替え手段は、有効にするコンフィグレーション制御手段を前記通常コンフィグレーション制御手段へ切り替え、前記通常モード時の動作を実行させる構成にしたことを特徴とするIEEE1394規格対応データ処理装置。
【請求項６】
請求項１乃至請求項４記載のIEEE1394規格対応データ処理装置において、前記信号入出力ポート部の複数のポートのうち一つのポートのみが他のデータ処理装置に接続されていて、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、他のデータ処理装置に接続するポートに対してTpBias信号を印加しないことにより、そのポートが接続されている他のデータ処理装置に対して実行するデータ処理装置が接続されていないように認識させる構成にしたことを特徴とするIEEE1394規格対応データ処理装置。
【請求項７】
請求項１乃至請求項６記載のIEEE1394規格対応データ処理装置において、前記信号入出力ポートを３個以上備え、その３個以上の信号入出力ポートに他のデータ処理装置が接続されていて、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、前記モード切り替え手段は、前記自己識別フェーズの処理を行う制御手段を前記通常コンフィグレーション制御手段へ移行させ、前記通常モード時の動作を実行させる構成にしたことを特徴とするIEEE1394規格対応データ処理装置。
【請求項８】
請求項１乃至請求項７記載のIEEE1394規格対応データ処理装置において、当該データ処理装置がIEEE1394規格のシリアルバス上のパケットを取得し動作を解析するためのバスアナライザであることを特徴とするIEEE1394規格対応データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IEEE1394規格のシリアルバスに接続可能なノードとなる、パーソナルコンピュータ、プリンタ、スキャナ、バスアナライザなどIEEE1394規格対応データ処理装置に係り、特に、シリアルバスに接続されるノードの振る舞い解析を行うことができるバスアナライザなどを構成中に挿入するのに適した制御技術に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（以下、PCと称す）と周辺機器を接続するインターフェースとして、IEEE1394規格やUSB（Universal Serial Bus）規格などシリアルバス規格が使用されており、これらのシリアルバス規格のうち、IEEE1394規格は、データを受信しながら再生するのに適したアイソクロノス転送を特徴としている。
このようなIEEE1394規格に基づくアプリケーションの開発段階では、IEEE1394シリアルバス上の各種動作を解析するために、IEEE1394シリアルバスにバスアナライザを接続することがある。その際、アプリケーション開発環境のトポロジを実際のアプリケーション使用環境に合わせるためには、バスアナライザのような開発ツールはノードとして振る舞わないことが重要である。
IEEE1394規格では、ノードにならないPHYレイヤ（物理レイヤ）については定義されていない。そのため、一般に、IEEE1394規格に対応したバスアナライザには、IEEE1394規格で定義されるPHY機能を具えたPHYコントローラLSIが実装されている。そのため、PHYコントローラLSIを実装したバスアナライザは、IEEE1394シリアルバスに接続されると、トポロジ構築の際にノードとして認識されてしまう。したがって、アプリケーション開発環境のトポロジを実際のアプリケーション使用環境に合わせることができないという問題があった。また、トポロジに制約のあるアプリケーションの場合には、IEEE1394シリアルバスにバスアナライザを接続することができないという問題もあった。
特許文献１に示された従来技術はこのような問題を解決しようとするものであり、この従来技術では、非ノード（ノンノード）モード時に、自己識別フェーズにおいてノードとして識別されないように、自己のphysical_IDの取得およびself_IDパケットの送信のいずれもせず、他の子ノードから受け取ったident_done信号をそのまま親ノードに送信する。また、非ノードモード時のツリー識別フェーズにおいてルートノードになった場合、通常のコンフィグレーションをした後、別のノードの装置をルートノードに再設定するためのPHY構成パケットを出力する。それに対して、通常ノードモード時には、自己識別フェーズにおいてノードとして認識されるように、自己のphysical_IDを取得するとともにself_IDパケットを送信する。
【特許文献１】特開2001-339417公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に示された従来技術では、トポロジ上のルートとなることを防ぐ手段が提供されておらず、そのため、いったんバスのトポロジが決定した後で、自らがルートノードとなってしまった場合には一時的に通常ノードとして動作し、他のノードがルートノードとなるように設定をした後バスリセットをかけており、バスリセットの後のバスの状態が本来観察したい状況とは変わってしまうという問題点があった。また、非ノードモードで動作する場合、1394信号入出力ポートの一方は親ノードとなる他の装置へ接続され、もう一方は子ノードとなる他の装置へ接続されていることが前提となっているので、前提となる子ノードへの接続がないリーフ（leaf，葉）となる位置（図３におけるノードＢやノードＤなどの位置）には接続できないという問題があった。
本発明の目的は、このような従来技術の問題を解決しようとするものであり、具体的には、IEEE1394シリアルバスにノードとして認識されずに接続できるというだけでなく、接続個所の制約のないIEEE1394規格対応データ処理装置を提供することにある。
【課題を解決するための手段】
【０００４】
前記した課題を解決するために、請求項１記載の発明では、IEEE1394規格のシリアルバスに接続可能なノードとなるIEEE1394規格対応データ処理装置において、前記ノードとなる他の複数のデータ処理装置に接続される複数の入出力ポートを持つ信号入出力ポート部と、当該データ処理装置が前記ノードとして認識されない非ノードモードの制御を行う非ノードコンフィグレーション制御手段と、当該データ処理装置が前記ノードとして認識される通常モードの制御を行う通常コンフィグレーション制御手段と、前記信号入出力ポート部に対して前記非ノードコンフィグレーション制御手段と通常コンフィグレーション制御手段のうちいずれか一方を有効にするモード切り替え手段とを備え、前記信号入出力ポート部の２個の入出力ポートがそれぞれ親ノードおよび子ノードとなる他のデータ処理装置に接続されており、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、ツリー識別フェーズ時に当該データ処理装置が前記両方の入出力ポートからparent_notify信号を受信した時点で両方のポートのうちのいずれか一方に対して当該データ処理装置からparent_notify信号を送出してルート競争ステートに遷移させ、引き続き、そのparent_notify信号を送り続ける構成にした。
また、請求項２記載の発明では、請求項１記載の発明において、前記非ノードコンフィグレーション制御手段は、自己識別フェーズ時に、自己のphysical_IDの取得およびself_IDパケットの送信のいずれも行わずに、前記入出力ポートに接続されている子ノードから受け取ったident_done信号をそのまま親ノードに送信する構成にした。
また、請求項３記載の発明では、請求項１または請求項２記載の発明において、前記parent_notify信号を後から受け取ったポートを前記ルート競争ステートに遷移させるポートとする構成にした。
また、請求項４記載の発明では、請求項１または請求項２記載の発明において、あらかじめ定めたポート番号が小さい方のポートまたはポート番号が大きい方のポートを前記ルート競争ステートに遷移させるポートとする構成にした。
【０００５】
また、請求項５記載の発明では、請求項１乃至請求項４記載の発明において、前記信号入出力ポート部の複数のポートのうち一つのポートのみが他のデータ処理装置に接続されていて、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、前記モード切り替え手段は、有効にするコンフィグレーション制御手段を前記通常コンフィグレーション制御手段へ切り替え、前記通常モード時の動作を実行させる構成にした。
また、請求項６記載の発明では、請求項１乃至請求項４記載の発明において、前記信号入出力ポート部の複数のポートのうち一つのポートのみが他のデータ処理装置に接続されていて、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、他のデータ処理装置に接続するポートに対してTpBias信号を印加しないことにより、そのポートが接続されている他のデータ処理装置に対して実行するデータ処理装置が接続されていないように認識させる構成にした。
また、請求項７記載の発明では、請求項１乃至請求項６記載の発明において、前記信号入出力ポートを３個以上備え、その３個以上の信号入出力ポートに他のデータ処理装置が接続されていて、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、前記モード切り替え手段は、前記自己識別フェーズの処理を行う制御手段を前記通常コンフィグレーション制御手段へ移行させ、前記通常モード時の動作を実行させる構成にした。
また、請求項８記載の発明では、 請求項１乃至請求項７記載の発明において、当該データ処理装置がIEEE1394規格のシリアルバス上のパケットを取得し動作を解析するためのバスアナライザである構成にした。
【発明の効果】
【０００６】
本発明によれば、請求項１記載の発明では、IEEE1394規格のシリアルバスに接続可能なノードとなるIEEE1394規格対応データ処理装置において、信号入出力ポート部の２個の入出力ポートがそれぞれ親ノードおよび子ノードとなる他のデータ処理装置に接続されており、且つ非ノードコンフィグレーション制御手段が有効となっている場合、ツリー識別フェーズ時に当該データ処理装置が前記両方の入出力ポートからparent_notify信号を受信した時点で両方のポートのうちのいずれか一方に対して当該データ処理装置からparent_notify信号を送出してルート競争ステートに遷移させ、引き続き、そのparent_notify信号を送り続けることができるので、バスアナライザなどIEEE1394規格対応データ処理装置をIEEE1394規格のシリアルバスのどの個所にも問題なく接続でき、したがって、バスアナライザなどをIEEE1394シリアルバス上の所望の位置に接続させて、品質の保証されたアプリケーションシステム開発などを行なったり、障害解析時間の短縮化を図ったりできる。
また、請求項２記載の発明では、請求項１記載の発明において、自己識別フェーズ時に、自己のphysical_IDの取得およびself_IDパケットの送信のいずれも行わずに、前記入出力ポートに接続されている子ノードから受け取ったident_done信号をそのまま親ノードに送信できるので、IEEE1394シリアルバスにノードとして認識されずに接続できる。
また、請求項３記載の発明では、請求項１または請求項２記載の発明において、parent_notify信号を後から受け取ったポートをルート競争ステートに遷移させるポートとすることができるので、受け取ったタイミングで当該ポートについて制御すればよく、したがって、制御が簡単になる。
また、請求項４記載の発明では、請求項１または請求項２記載の発明において、あらかじめ定めたポート番号が小さい方のポートまたはポート番号が大きい方のポートをルート競争ステートに遷移させるポートとすることができるので、例えば後者の場合、ノードＡにつながるポート番号が大であれば、ノードＡがルートノードとなることが容易にわかる。
また、請求項５記載の発明では、請求項１乃至請求項４記載の発明において、信号入出力ポート部の複数のポートのうち一つのポートのみが他のデータ処理装置に接続されていて、且つ非ノードコンフィグレーション制御手段が有効となっている場合、有効にするコンフィグレーション制御手段を通常コンフィグレーション制御手段へ切り替え、通常モード時の動作を実行させることができるので、一つのポートのみが他のデータ処理装置に接続されていて、且つ非ノードコンフィグレーション制御手段が有効となっていても問題なく動作し、したがって、このような位置にもバスアナライザなどを接続できる。
【０００７】
また、請求項６記載の発明では、請求項１乃至請求項４記載の発明において、信号入出力ポート部の複数のポートのうち一つのポートのみが他のデータ処理装置に接続されていて、且つ非ノードコンフィグレーション制御手段が有効となっている場合、他のデータ処理装置に接続するポートに対してTpBias信号を印加しないことにより、そのポートが接続されている他のデータ処理装置に対して実行するデータ処理装置が接続されていないように認識させることができるので、同様に、一つのポートのみが他のデータ処理装置に接続されていて、且つ非ノードコンフィグレーション制御手段が有効となっていても問題なく動作し、したがって、このような位置にもバスアナライザなどを接続できる。
また、請求項７記載の発明では、請求項１乃至請求項６記載の発明において、信号入出力ポートを３個以上備え、その３個以上の信号入出力ポートに他のデータ処理装置が接続されていて、且つ前記非ノードコンフィグレーション制御手段が有効となっている場合、自己識別フェーズの処理を行う制御手段を通常コンフィグレーション制御手段へ移行させ、通常モード時の動作を実行させることができるので、３個以上の信号入出力ポートに他のデータ処理装置が接続されていて、且つ非ノードコンフィグレーション制御手段が有効となっていても問題なく動作し、したがって、このような位置にもバスアナライザなどを接続できる。
また、請求項８記載の発明では、請求項１乃至請求項７記載の発明において、当該データ処理装置がIEEE1394規格のシリアルバス上のパケットを取得し動作を解析するためのバスアナライザであるので、バスアナライザをIEEE1394シリアルバス上の所望の位置に接続させて、品質の保証されたアプリケーションシステム開発などを行なったり、障害解析時間の短縮化を図ったりできる。
【発明を実施するための最良の形態】
【０００８】
以下、図面により本発明の実施形態を詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対位置などは特定的な記載がない限りこの説明の範囲をそれのみに限定する主旨ではなく、単なる説明例に過ぎない。
図１は、本発明のIEEE1394規格対応データ処理装置（以下、データ処理装置と略す）要部の実施形態を示す構成ブロック図である。このデータ処理装置はIEEE1394規格に準拠しており、図示したように、1394信号が入出力する入出力ポート部11、通常モードの制御と非ノードモードの制御との切り替えを行うモード切り替え部12、このデータ処理装置がIEEE1394規格準拠のノードとして認識されない非ノードモードの制御を行う非ノードコンフィグレーション制御部（非ノードコンフィグレーション制御手段）13、このデータ処理装置が前記ノードとして認識される通常モードの制御を行う通常コンフィグレーション制御部（通常コンフィグレーション制御手段）14を備えている。信号入出力ポート部11は少なくとも２個の入出力ポートを備える。これらの入出力ポートには上位のノード（親ノード）または下位のノード（子ノード）となる他のデータ処理装置が接続される。
信号入出力ポート部11が３個以上のポートを有し、且つこのデータ処理装置が、コンフィグレーション（構成処理）完了後、ノードと認識されない非ノードモードで使用される場合には、トポロジ上の矛盾を回避するため、いずれか２個の入出力ポートのみを有効とすることもできる。この有効となった２個の入出力ポートに上位のノード（親ノード）または下位のノード（子ノード）となる他のデータ処理装置が接続される。コンフィグレーション完了後、ノードとして認識される通常モードの場合には、有効となる入出力ポートは２個に限らない。
モード切り替え部（モード切り替え手段）12は、図示していない操作部または入出力ポート部11からのモード切り替え信号16a，16bに基づいて、非ノードコンフィグレーション制御部13と通常コンフィグレーション制御部14のうちいずれか一方を信号入出力ポート部11に接続する。つまり、非ノードモード時には、モード切り替え部12は、信号入出力ポート部11に対して非ノードコンフィグレーション制御部13からの入出力信号を有効にし、且つ通常コンフィグレーション制御部14からの入出力信号を無効にする。
ただし、内部的な要因により、自己識別フェーズの処理が非ノードコンフィグレーション制御部13から通常コンフィグレーション制御部14に移行される場合がある。その場合には、処理の移行後、通常コンフィグレーション制御部14の入出力信号が有効となり、且つ非ノードコンフィグレーション制御部13の入出力信号は無効となる。なお、内部的な要因については後述する。
また、モード切り替え部12は、通常モード時、または非ノードコンフィグレーション制御部13から処理が移行された場合には、信号入出力ポート部11に対して非ノードコンフィグレーション制御部13の入出力信号を無効にする。そして、信号入出力ポート部11に対して通常コンフィグレーション制御部14の入出力信号を有効にする。
【０００９】
非ノードコンフィグレーション制御部13は、非ノードモード時に当該データ処理装置がノードとして認識されないためのコンフィグレーション制御を行う。具体的には、非ノードコンフィグレーション制御部13は、自己識別フェーズにおいて、自己のphysical_IDの取得およびself_IDパケットの送信のいずれも行わずに、子ノードから受け取ったident_done信号をそのまま親ノードに送信する処理を行う。それによって、当該データ処理装置は、IEEE1394シリアルバスに接続された他のデータ処理装置からノードとして認識されなくなる。
ただし、非ノードモードで動作する場合であっても、このデータ処理装置が３つ以上の1394信号入出力ポートを有し、ツリー識別フェーズの開始時においてそれらのポートのうち３つ以上に他のデータ処理装置が接続されていることを検出した場合には、信号入出力ポート部11から出力される切り替え信号16bによりモード切り替え部12は非ノードコンフィグレーション制御部13による制御から通常コンフィグレーション制御部14に自己識別フェーズの処理を移行する。これが前記した内部的な要因である。
通常、コンフィグレーション制御部14は、非ノードコンフィグレーション制御部13から自己識別フェーズの処理を引き継いだ場合と、当該データ処理装置が通常ノードモードで動作する場合のいずれの場合でも同様に動作する。具体的には、通常ノードコンフィグレーション制御部14は、自己のphysical_IDの取得およびself_IDパケットの送信を行う。
なお、この実施形態のデータ処理装置では、請求項記載の非ノードコンフィグレーション制御手段が非ノードコンフィグレーション制御部13により実現され、通常コンフィグレーション制御手段が通常コンフィグレーション制御部14により実現され、モード切り替え手段がモード切り替え部12により実現される。
【００１０】
図２に、IEEE1394規格で定義されたポートインタフェースの回路図を示す。以下、図２を用いて、信号入出力ポート部11の各ポートに他のデータ処理装置が接続しているか否かを判断する方法を説明する。
IEEE1394規格では、データ処理装置がポートに接続されているか否かをConnect_detect信号およびTpBias信号により検出している。Connect_detect信号はケーブルが接続されているか否かを示し、ケーブルが接続されている場合は、一方のデータ処理装置によって印加される電流Icdが、もう一方のデータ処理装置の抵抗により放電される。ケーブルが接続されていない場合は、この放電が行われないためにコンデンサＣに電荷が蓄積され、Connect_detect信号の電位が上昇するので、これによりケーブルが他のデータ処理装置に接続されているかどうかが検出される。
一方、TpBias信号は、ケーブルで接続されていることを検出したデータ処理装置が相手に対して動作していることを告知する目的で印加される。もし、ケーブルによって接続されているデータ処理装置のうち、一方の電源が切れていてPHYに対する電源が供給されていない場合、その装置はこのTpBias信号を印加できない。そのため、あるポートに接続する相手のデータ処理装置が動作しているか否かを、このTpBias信号の印加の有無により判断することができる。本発明では、このTpBias信号の印加の有無を以ってポートにデータ処理装置が接続されているか否かを判断することになる。
モード切り替え信号16aは、当該データ処理装置の利用者が当該データ処理装置をノードとして認識させるか否かを選択したことにより発せられる。つまり、モード切り替え信号16aは外部的な要因に基づいて発せられる信号である。例えば、モード切り替え信号16aは、図示していない外部端子などを介して操作部など外部から供給される。それに対して、モード切り替え信号16bは、前記したように、内部的な要因に基づいて発せられる信号である。
【００１１】
図３は、前記した構成の４個のデータ処理装置より成るツリー構成（コンフィグレーション）の一実施例を示す模式図である。図３に示した例では、ノードＡのデータ処理装置１はルートノードであり、そのphysical_ID（phy_ID）は「２」である。
ノードＢのデータ処理装置２およびノードＣのデータ処理装置３は、それぞれノードＡのポート♯1およびポート♯2に接続されている。ノードＢはリーフ（leaf，葉）ノードであり、そのphysical_IDは「０」である。ノードＣはブランチ（枝）ノードであるが、ノードＣにはphysical_IDが付いていない。ノードＤのデータ処理装置４はノードＣの子ポート側に接続されており、リーフノードになっている。ノードＤのphysical_IDは「１」である。
ここで、ノードＣのデータ処理装置３は例えばIEEE1394規格のシリアルバス上のパケットを取得し動作を解析するためのバスアナライザである。このノードＣのデータ処理装置は、非ノードモードのとき、他のデータ処理装置（ノードＡ，ノードＢ，ノードＤ）からノードとして認識されない。つまり、図３に示したツリー構成では、見かけ上、ノードＡに２個のリーフノード（ＢおよびＤ）が接続された構成となる。なお、バスアナライザは、例えばアプリケーションの開発時にIEEE1394シリアルバス上の各種動作を解析するために、IEEE1394シリアルバスに接続された状態で使用される。
【００１２】
次に、当該データ処理装置がルートノードであると判定されないように、当該データ処理装置以外の装置をルートノードに設定する方法について説明する。
この方法では、ルート競争処理により当該データ処理装置以外の装置をルートノードに設定する。ルート競争処理とは、互いに相手のノードに対してparent_notify信号を出力し合っているノード間において、親子関係を決定する処理のことであり、IEEE1394規格において以下のように規定されている。図４は、ルート競争処理に移行する際の状態遷移を説明するための説明図である。なお、図４において、Ｔ0はツリー識別開始ステート、Ｔ1は子のハンドシェイク・ステート、Ｔ2は親のハンドシェイク・ステート、Ｔ3はルート競争ステートである。
まず、IEEE1394シリアルバスを初期化（リセット）し、ツリー識別開始ステートＴ0に遷移することによりツリー識別が開始される。そして、各ノードは任意の１つのポートを除いた他の全ての接続しているポート、または全ての接続しているポートでparent_notify信号を受け取ると、子のハンドシェイク・ステートＴ1へ遷移する。
子のハンドシェイク・ステートＴ1では、他のデータ処理装置に接続し、parent_notify信号を受けた全てのポートに対してchild_notify信号を出力する。これにより、相手のデータ処理装置が、出力しているparent_notify信号を停止したならば、親のハンドシェイク・ステートＴ2へ遷移する。
親のハンドシェイク・ステートＴ2では、parent_notify信号を受けていない任意の１つのポートが存在すれば、そのポートにparent_notify信号を出力し、相手のデータ処理装置がchild_notify信号を出力するのを待つ。そして、相手のデータ処理装置がchild_notify信号を出力してきた場合は、その時点でハンドシェイクが終了し、自己識別フェーズへ移行する。もし、この時点で相手のデータ処理装置もparent_notify信号を出力してきた場合、そのポートはルート競争状態となりルート競争ステートＴ3へ遷移する。
そのルート競争ステートＴ3では、parent_notify信号を出力し合っている双方のデータ処理装置は、出力を待機状態（IDLE）とし、それぞれランダムに発生させたビット列（０と１の組み合わせ）により決まる待機時間が経過した時点で互いに相手の状態をサンプリングする。このとき、相手のデータ処理装置が待機状態（IDLE）であれば、親のハンドシェイク・ステートＴ2へ遷移し、再度parent_notify信号を出力する。それに対して、サンプリングを行なったとき、相手のデータ処理装置がparent_notify信号を出力していた場合、そのparent_notify信号を受けた当該データ処理装置はルートノードとなり、子のハンドシェイク・ステートＴ1へ遷移し、child_notify信号を出力する。
さて、IEEE1394規格のこのような状態遷移において、本発明のデータ処理装置は、非ノードモード時、IEEE1394のノードとして動作しないことからルートノードとはなれない。そこで、このデータ処理装置では、ルート競争ステートＴ3において、常に相手のデータ処理装置がルートノードとなるように振る舞う。つまり、ルート競争ステートＴ3においてランダムビットにより決まる待機時間を待つことなく、parent_notify信号を出力するのである。これにより、相手のデータ処理装置は待機時間後にサンプリングした時点で常にparent_notify信号を受信することとなり、相手のデータ処理装置は子のハンドシェイク・ステートＴ1へ遷移し、ルートノードとなる。
【００１３】
ここで、図３に示したノードＢのように、３個以上のポートにデータ処理装置が接続されている場合、この実施例のデータ処理装置では、非ノードモードで動作するように指示されていても、通常のノードとして振る舞うように構成している。これにより、３個以上のポートを持つバスアナライザなどがノードＢのように接続された場合、そのバスアナライザで接続トポロジが分岐することになる。しかし、他のデータ処理装置から見てノードがない場所で分岐が起こることは規格上ありえないので、この場合のバスアナライザは非ノードモードで動作するように指示されていても通常のノードとして認識されるように振る舞わせるのである。なお、ここで言う通常のノードとは他のノードから接続されていることが認識されることを示しており、他のデータ処理装置はバスアナライザがつながっていることがわかることになる。
さらに、図３に示したノードＤのように、１つのポートにのみバスアナライザなどデータ処理装置が接続しているような場合は、通常のノードとして振る舞わせるか、従来とは違う方法でノードが接続されていないように振る舞わせる。ノードＤのような場合も、非ノードモードで動作するようにモード切り替え信号16aで指定されていても１つのポートにしか接続がないので、非ノードモードとしては動作できず、したがって、一つの方法では通常のノードとして動作するように構成しておくのである。
【００１４】
また、もう一つの方法はTpBias信号を印加しないという方法である。この方法を用いる場合のTpBias信号印加の判断を図５に示す。図示したように、Connect_detect信号の変化により、物理的にノードが新たにつながれたか切り離されたことを検知すると（Ｓ１）、非ノードモードで動作するようにモード切り替え信号16aで指定されている場合（Ｓ２でYes）、いくつの相手ノードがTpBiasを印加しているかどうかを判別し、もしTpBias信号を印加している相手ノードが1つのみであるならば（Ｓ３でYesまたはＳ３でNo且つＳ５でNo）、相手ノードに接続するポートに対してTpBias信号を印加しないようにする（Ｓ４）。また、それ以外の場合は（Ｓ２でNo且つＳ５でYes）、通常と同様に、Connect_detect信号を検知したポートに対してTpBias信号を印加する（Ｓ６）。
ノードが接続されていないように振る舞わせる従来技術の方法では、バスの初期化が正常に終了せず、バスリセットが連続的に発生してしまうが、この実施例の前記した２つの方法ではいずれもバスの初期化が正常に終了する。
一方、非ノードモード時に有効となる入出力ポートの数が２個である場合には、一方のポートでparent_notify信号を受信し、子のハンドシェイク・ステートＴ1へ遷移した後、もう一方のポートでparent_notify信号を受信したときには、後者のポートに対してはchild_notify信号ではなくparent_notify信号を出力し、前記したようにそのポートをルート競争状態とするのである。
同時に両方のポートでparent_notify信号を受信した場合に、どちらのポートに対してparent_notify信号を出力してルート競争状態とするかは、例えばあらかじめポート番号の小さいほうとか、ポート番号の大きいほうというように決めておき、それに従う。または、少しでも遅くparent_notify信号を検出したポートをルート競争状態とする。
【００１５】
このように、本発明の実施例によれば、非ノードコンフィグレーション制御部３と通常コンフィグレーション制御部４とが内部（入出力ポート部11）からのモード切り替え信号16bによっても切り替え可能であり、それにより、非ノードモード時には、当該データ処理装置はIEEE1394シリアルバスに接続された他のノードであるデータ処理装置からノードとして認識されないようにもできるし、通常モードで且つルートノードにならないようにもできるので、バスアナライザなどをIEEE1394シリアルバス上のどの位置にも問題なく接続させることができる。したがって、バスアナライザなどをIEEE1394シリアルバス上の所望の位置に接続させて、品質の保証されたアプリケーションシステム開発などを行なったり、障害解析時間の短縮化を図ったりできる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態を示すIEEE1394規格対応データ処理装置要部の構成ブロック図である。
【図２】本発明の一実施形態を示すIEEE1394規格対応データ処理装置要部の回路図である。
【図３】本発明の一実施例を示すIEEE1394規格対応データ処理装置を含むシステム構成の模式図である。
【図４】本発明の一実施例を示すIEEE1394規格対応データ処理装置要部の説明図である。
【図５】本発明の一実施例を示すIEEE1394規格対応データ処理装置要部の動作フロー図である。
【符号の説明】
【００１７】
１〜４  データ処理装置
11  信号入出力ポート部
12  モード切り替え部
13  非ノードコンフィグレーション制御部
14  通常コンフィグレーション制御部
16  モード切り替え信号
【図１】
2006041762.tif 000003
【図２】
2006041762.tif 000004
【図３】
2006041762.tif 000005
【図４】
2006041762.tif 000006
【図５】
2006041762.tif 000007