(57)【特許請求の範囲】
【請求項１】
ノードの種類を問い合わせるためのパケットを生成するパケット生成手段と、
バスに接続されている複数のノードのそれぞれに前記パケットを送信する送信手段と、
前記複数のノードのそれぞれに付与されたＩＤ値と、それらのノードの種類との対応関係を示す情報を格納する格納手段とを有し、
前記格納手段に格納されている前記対応関係を示す情報を、前記バスに接続されているノードに送信する機能を有することを特徴とするデータ通信装置。
【請求項２】
前記送信手段は、前記パケットを、前記複数のノードのそれぞれに付与されたＩＤ値の大きい順に送信することを特徴とする請求項１に記載のデータ通信装置。
【請求項３】
前記送信手段は、前記パケットを、前記複数のノードのそれぞれに付与されたＩＤ値の小さい順に送信することを特徴とする請求項１に記載のデータ通信装置。
【請求項４】
前記バスは、ＩＥＥＥ１３９４−１９９５に準拠したシリアルバスであることを特徴とする請求項１から３のいずれかに記載のデータ通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＥＥＥ１３９４−１９９５に準拠したシリアルバス等のバスに接続されている複数のノードと通信可能なデータ通信装置に関する。
【０００２】
【従来の技術】
現在、ＩＥＥＥ１３９４−１９９５（以下、ＩＥＥＥ１３９４）に準拠したシリアルバスを用いて複数の機器を接続し、これらの機器間で通信を行うシステムが検討されている。
【０００３】
図４にこのように構成されたシステムの一例を示す。図４において、４０１はビデオプリンタ、４０２はパーソナルコンピュータ（以降ＰＣ）、４０３はビデオカセットレコーダ（以降ＶＣＲ）、４０４はビデオモニタ、４０５はビデオディスクである。ここで、ユーザがビデオディスク４０５の画像をＶＣＲ４０３で記録する場合を例にして説明する。尚、各装置は各々ＩＥＥＥ１３９４に準拠したＤＶ（Digital Video ）ケーブルにより接続されている。
【０００４】
初期状態においては、全ての装置４０１〜４０５の電源がオフになっている。ユーザは、まず、ビデオディスク４０５とＶＣＲ４０３の電源をオンにする。すると、バスにリセットがかかってＩＥＥＥ１３９４の規格に則ったイニシャライズが行われる。このイニシャライズによってバス上で電源が入っている２つのノード、この場合は、ビデオディスク４０５とＶＣＲ４０３にＩＤがそれぞれ割り振られる。
【０００５】
ここでは、バス上で電源が入っているノードは２つなので、割り振られるＩＤは、“０”か“１”である。つまり、ビデオディスク４０５とＶＣＲ４０３のそれぞれのノードは、自分に割り振られたＩＤが“０”であれば相手のノードは“１”であり、また、その反対に自分のＩＤが“１”であれば相手のノードは“０”であると認識することができる。よって、相手ノードとの間で制御情報やステータス情報等をやり取りするパケットの宛て先ＩＤには、自分のＩＤが“０”であれば“１”を設定し、自分のＩＤが“１”であれば“０”を設定するようにすればよい。
【０００６】
図５に、ビデオディスク４０５とＶＣＲ４０３とでやり取りされるパケットの一例を示す。符号５０１で示すように、パケットの最小単位は１クワドレッド（＝４バイト）で、ヘッダ部５０２とデータ部５０３とを持っている。
【０００７】
前記ヘッダ部５０２には、宛て先ＩＤ５０４、ソースＩＤ５０５、その他トランザクションに使われる各種情報が存在する。
また、データ部５０３には、例えば、相手ノードを制御するための“再生”、“記録”、“一時停止”等の制御コマンドや相手ノードのステータスを問い合わせるコマンドや応答レスポンスが書かれる。また、ヘッダ部５０２、データ部５０３にはそれぞれ伝送エラーチェック用ＣＲＣコード５０６、５０７が付与される。
【０００８】
図６に、宛て先及びソースＩＤのペイロードを示す。宛て先及びソースＩＤは、バスＩＤ６０１とノードＩＤ６０２とを含んでおり、バスＩＤ６０１は同じバス上に接続されたノード同士なら固定値“３ＦＦｈ”に設定する。
尚、上述のような説明を含んだＩＥＥＥ１３９４シリアルバスの詳細は、ＩＥＥＥ１３９４の仕様書である、「ＩＥＥＥ  Standard for a High Performance Serial Bus（ＩＥＥＥ Std  １３９４−１９９５）」に公開されている。
【０００９】
【発明が解決しようとする課題】
しかしながら、従来はバス上に存在する（電源が入っている）複数のノードと通信する場合、各ノードのＩＤによりお互いを認識していた。そのため、例えば上述のように、ノードが２つの場合は通信先のノードのＩＤを該ノードの種類を示す情報（例えば、ビデオカセットレコーダ、ビデオディスク等）からでも容易に認識し得るが、ノードが３つ以上ある場合には通信先のノードのＩＤを該ノードの種類を示す情報から特定することは難しいという欠点があった。
【００１０】
そこで、本発明は、ノードに付与されたＩＤ値をそのノードの種類に基づいて特定することができるデータ通信装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明に係るデータ通信装置は、例えば、ノードの種類を問い合わせるためのパケットを生成するパケット生成手段と、バスに接続されている複数のノードのそれぞれに前記パケットを送信する送信手段と、前記複数のノードのそれぞれに付与されたＩＤ値と、それらのノードの種類との対応関係を示す情報を格納する格納手段とを有し、前記格納手段に格納されている前記対応関係を示す情報を、前記バスに接続されているノードに送信する機能を有することを特徴とする。
【００２１】
【発明の実施の形態】
以下、本発明のデータ通信装置の実施形態を図面を参照しながら説明する。
（第１の実施形態）
図１に、本発明のデータ通信装置の第１の実施形態を示す。モード切換制御回路１０１は、送信パケットの宛て先ＩＤ及びデータの発生手段を選択するもので、ＩＥＥＥ１３９４バス（以降バス）にリセットがかかった初期状態では、データスイッチ１０２及びＩＤスイッチ１０３を共に一方の端子ａ側に接続させるようにしている。
【００２２】
この時に、パケッタイズされるデータは、図示しないメモリに格納されているノード種類問い合わせデータ１０４の固定データとなっている。また、同時に、この時パケッタイズされるＩＤは、ＩＤ設定手段であるＩＤデクリメント部１０５から出力されるデータである。
【００２３】
ところで、バス１０６にリセットがかかると、ルートノードからサイクルスタートパケットが送出される。このサイクルスタートパケットは、バス１０６上の各ノードのトランスミッタ／レシーバ１０７を介して受信され、受信パケット情報抽出部１０８に入力される。
【００２４】
受信パケット情報抽出部１０８は、入力されたサイクルスタートパケットのソースＩＤ、つまり、ルートノードのＩＤを読み取り、ＩＤデクリメント部１０５に送る。ここで、ＩＤデクリメント部１０５に送られるＩＤ値は、サイクルスタートパケットのソースＩＤがルートノードＩＤであることから、バス１０６に接続されたノードの内の最大のＩＤ値である。
【００２５】
例えば、バス１０６に５台のノードが接続されているとしたら、ノードＩＤは０、１、２、３、４が割り振られるので、ＩＤ値“４”がＩＤデクリメント部１０５に送られるＩＤ値となる。なお、自分がルートノードになった場合には、送信パケット生成部１０９からバス１０６にサイクルスタートパケットを送出するとともに、自分のＩＤよりも一つ小さいＩＤ値をＩＤデクリメント部１０５に送るようにする。
【００２６】
次に、バス１０６に繋がれたノードの種類を問い合わせる処理に移る。ＩＤデクリメント部１０５から出力されたノードＩＤは、ＩＤスイッチ１０３を通して送信パケット生成部１０９に入力される。最初は、バス１０６上の最大のＩＤ値、もしくは自分がルートノードの場合は自分ノードのＩＤより一つ小さいＩＤ値が送信パケット生成部１０９に送られる。
【００２７】
ここで、ノード種類問い合わせデータ１０４とともに生成されたパケットはトランスミッタ／レシーバ１０７を通してバス１０６に送出される。このパケットの送信に応じて、前記パケットの宛先部に設定されたＩＤに対応するノードから応答レスポンスパケットが送信されてくると、それがトランスミッタ／レシーバ１０７で受信される。
【００２８】
前記ノード種類問い合わせデータ１０４に対する応答レスポンスパケットは、受信パケット情報抽出部１０８でノード種類に関するデータが抽出される。そして、得られたノード種類データは、ＩＤ値と共にＩＤテーブルメモリ１１０に格納される。
【００２９】
上述のような格納処理が終了すると、ＩＤデクリメント部１０５は現在のＩＤ値から１つデクリメントした値を新たなＩＤ値として送信パケット生成部１０９に入力する。そして、上述と同様に該ＩＤ値の示すノードの種類を問い合わせ、得られたノード種類データをＩＤ値と共にＩＤテーブルメモリ１１０へ格納する。以上の処理を自分のＩＤ値を除き、ＩＤ＝０となるまで行い、ＩＤ値に対応するノード種類データをＩＤ値と共にＩＤテーブルメモリ１１０へ格納する。
【００３０】
図２に、ＩＤテーブルメモリ１１０の一例を示す。図２において、符号２０１の部分には、ＩＤデクリメント部１０５から出力された順にＩＤ値が格納される。そして、符号２０２の部分には、各ＩＤに対応するノードから応答レスポンスとして返ってきた各ノードの種類が予め決めておいたコードにより格納される。図２の例では、ＶＣＲ＝０１００、ＰＣ＝１０００、ビデオモニタ＝００００等のように、コードの種類が決められている。
【００３１】
このようにして、バス１０６に繋がれた自分以外の全てのノードの種類を問い合わせてＩＤテーブルメモリ１１０に格納する。なお、自分のＩＤについては、必要ないのでＩＤテーブルメモリ１１０には格納しない。
【００３２】
次に、特定のノードと情報をやり取りする処理について説明する。
前述の処理で全てのノードの種類を問い合わせてＩＤテーブルメモリ１１０に格納したら、モード切換制御回路１０１はデータスイッチ１０２及びＩＤスイッチ１０３を共に第２の端子ｂ側に接続する。
【００３３】
データスイッチ１０２の第２の端子ｂ側には、ユーザ入力部１１１で指定された制御データが制御データ発生部１１２から入力されており、これが送信パケット生成部１０９に送られる。
【００３４】
一方、ＩＤスイッチ１０３の第２の端子ｂ側には、ＩＤテーブルメモリ１１０から選択されたＩＤ値が入力されている。ＩＤテーブルメモリ１１０からのＩＤ選択は、第２のユーザ入力部１１３により前述したノードの種類のコードを指定することで行われる。
【００３５】
以上のように、本発明の第１の実施形態は、バス上にノードが３つ以上存在する場合においても、ユーザがノードの種類を指定するだけで容易に特定のノードと通信することができる。
尚、上述の第１の実施形態では、本発明のデータ通信装置について説明したが、該データ通信装置の機能を有するノードをバス上に複数接続させ、システムを構成させるようにすることも可能である。また、このような複数のノードにより構成されたシステムにおいて、すべてのノードが上述のデータ通信装置の機能を有する必要はない。例えば、上述のデータ通信装置の機能を有するノードがＩＤテーブルメモリ１１０に格納しているＩＤテーブルを各ノードに対して送信するようにすることも可能である。更にこのようなシステムにおいて、上述のデータ通信装置の機能を有するノードが、各ノードに対してノードの種類を問い合わせた際、その応答レスポンスパケットをバス上に存在するすべてのノードに対して送信することにより、各ノードにてＩＤテーブルを作成することも可能となる。
【００３６】
（第２の実施形態）
次に、図３を参照しながら本発明のデータ通信装置の第２の実施形態を説明する。なお、この第２の実施形態において、前述した第１の実施形態と同様の構成部分については詳細な説明を省略する。
【００３７】
第２の実施形態において、ＩＤスイッチ３０３の第１の端子ａ側にはＩＤデクリメント部１０５ではなく、ＩＤインクリメント部３０５が接続されている。このように構成することによってＩＤインクリメント部３０５に最初に設定されるＩＤ値はＩＤ＝０、若しくは自分のＩＤ値が０ならばＩＤ＝１となる。
【００３８】
次に、バス３０６に繋がれたノードの種類を問い合わせる処理に移る。ＩＤインクリメント部３０５から出力されたノードＩＤは、ＩＤスイッチ３０３を通って送信パケット生成部１０９に入力される。この場合は、ＩＤインクリメント部３０５からは、ＩＤ＝０が送信パケット生成部１０９に最初に送られる。
【００３９】
そして、前述した第１の実施形態と同様にして得られたノード種類データを、ＩＤテーブルメモリ３１０へＩＤ値と共に格納する。ＩＤインクリメント部３０５は、ＩＤ値を一つずつインクリメントして、バス３０６上の最大のＩＤ値、もしくは自分がルートノードの場合には、自分のノードＩＤよりも一つ小さいＩＤ値まで同様の処理を繰り返し行い、ノード種類データをＩＤテーブルメモリ３１０にＩＤ値と共に格納する。以降の処理は、第１の実施形態と同様である。
【００４０】
以上のように、本発明の第２の実施形態は、第１の実施形態と同様、バス上にノードが３つ以上存在する場合においても、ユーザがノードの種類を指定するだけで容易に特定のノードと通信することができる。
尚、上述の第２の実施形態では、本発明のデータ通信装置について説明したが、該データ通信装置の機能を有するノードをバス上に複数接続させ、システムを構成させるようにすることも可能である。また、このような複数のノードにより構成されたシステムにおいて、すべてのノードが上述のデータ通信装置の機能を有する必要はない。例えば、上述のデータ通信装置の機能を有するノードがＩＤテーブルメモリ３１０に格納しているＩＤテーブルを各ノードに対して送信するようにすることも可能である。更にこのようなシステムにおいて、上述のデータ通信装置の機能を有するノードが、各ノードに対してノードの種類を問い合わせた際、その応答レスポンスパケットをバス上に存在するすべてのノードに対して送信することにより、各ノードにてＩＤテーブルを作成することも可能となる。
【００４１】
次に、図７及び図８のフローチャートを参照しながら本発明の通信方法を説明する。
図７は、本発明の通信方法の第１の実施形態を示している。図７に示したように、バスリセットが終了して、バス上の全てのノードにＩＤが割り振られると処理がスタートする。
【００４２】
まず、ステップＳ１において、前記バス上の各ノードに対応するＩＤが１つずつデクリメントされながらパケットの宛先部にＩＤが順に設定されるＩＤ設定処理が行われる。この場合、まず、ルートＩＤ値が設定される。
【００４３】
次に、ステップＳ２において、バス上に接続されている各ノードの種類を問い合わせるための問い合わせコマンドを前記パケットのデータ部に設定するコマンド設定処理が行われる。
【００４４】
次に、ステップＳ３において、ＩＤ設定処理及び前記コマンド設定処理によって生成されたパケットをバス上に送信する送信処理が行われる。
次に、ステップＳ４において、前記送信処理によってバス上に送信されたパケットの宛先部に設定されたＩＤを持つノードから送信されてくる応答レスポンスのパケット、すなわち、前記問い合わせコマンドに対する応答レスポンスのパケットを受信する受信処理が行われる。
【００４５】
次に、ステップＳ５において、前記受信した応答レスポンスから前記バス上に送信されたパケットの宛先部に設定されたＩＤを持つノードの種類を特定するノード種類特定処理が行われる。
【００４６】
次に、ステップＳ６において、前記ステップＳ５のノード種類特定処理によって特定されたノードの種類をテーブルとしてメモリに格納する格納処理が行われる。
【００４７】
次に、ステップＳ７において、ＩＤ値が０になったか否かが判断される。この判断の結果、ＩＤ値が０でない場合にはステップＳ８に進み、０になった場合には処理を終了する。
【００４８】
ステップＳ８においては、ＩＤ値を１つデクリメントし、その後ステップＳ１に戻り、前述した処理が繰り返し行われる。すなわち、ステップＳ１においては、ルートＩＤから１つデクリメントされたＩＤ値がパケットの宛先部に設定される。
【００４９】
次に、図８に従い他の通信方法の例を説明する。前述した通信方法は、ＩＤを設定する場合に、まず、ルートＩＤ値を設定したが、この例の場合には、まず、ステップＳ２１においてＩＤ値に０を設定する。
【００５０】
次のステップＳ２２〜ステップＳ２６の処理は、前述したステップＳ１〜ステップＳ６の処理と同様であるが、本実施形態においては、次のステップＳ２７においてＩＤ＝ルートか否かが判断される。この判断の結果、ＩＤ＝ルートの場合は全てのＩＤを設定したことになるので処理を終了する。また、ＩＤ＝ルートでない場合にはステップＳ２８に進み、ＩＤ値を１つインクリメントし、その後ステップＳ１に戻り前述した処理を繰り返し行う。
【００５１】
以上のように、バス上に存在するすべてのノードのＩＤ値とそれに対応するノードの種類をメモリに格納することによって、ノードの種類を指定するだけで通信先のノードのＩＤを簡単に設定でき、そのＩＤを有するノードと通信することが可能となる。
【００５２】
〔本発明の他の実施形態〕
本発明は複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても１つの機器からなる装置に適用しても良い。
【００５３】
また、前述した実施形態の機能を実現するように各種のデバイスを動作させるように、前記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５４】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５５】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等の共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００５６】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００５７】
【発明の効果】
本発明に係るデータ通信装置によれば、ノードに付与されたＩＤ値をそのノードの種類に基づいて特定することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示し、通信装置の構成を示すブロック図である。
【図２】本発明のＩＤテーブルを説明する図である。
【図３】本発明の第２の実施形態を示し、通信装置の構成を示すブロック図である。
【図４】通信装置を持った機器の接続例を示す図である。
【図５】データパケットの構成を説明する図である。
【図６】宛先ＩＤのペイロードを説明する図である。
【図７】本発明の通信方法を説明するフローチャートである。
【図８】本発明の通信方法の他の例を説明するフローチャートである。
【符号の説明】
１０１  モード切換制御回路
１０２  データスイッチ
１０３  ＩＤスイッチ
１０４  ノード種類問い合わせデータ
１０５  ＩＤデクリメント部
１０６  ＩＥＥＥ１３９４バス
１０７  トランスミッタ／レシーバ
１０８  受信パケット情報抽出部
１０９  送信パケット生成部
１１０  ＩＤテーブルメモリ
１１１  ユーザ入力部
１１２  制御データ発生部
１１３  第２のユーザ入力部
【図１】
0003890102.tif 000002
【図２】
0003890102.tif 000003
【図３】
0003890102.tif 000004
【図４】
0003890102.tif 000005
【図５】
0003890102.tif 000006
【図６】
0003890102.tif 000007
【図７】
0003890102.tif 000008
【図８】
0003890102.tif 000009