(57)【要約】【課題】通信制御バスによって接続される電子機器間での通信を行うシステムにおいて、バスリセット発生以前から接続されている電子機器から、バスリセット発生時に、機器識別のために再度コンフィグレーションＲＯＭの値を読む必要がある。【解決手段】電子機器の接続時に、バスリセットが発生しても不変の固有ＩＤを割り振り、再度バスリセットが発生しても、その固有ＩＤのみを取得することにより、接続している電子機器の特徴を認識することができる。新規に電子機器を接続した場合にはコンフィグレーションＲＯＭの値を読み込む。【選択図】図５
2007183704.tif 000002
【特許請求の範囲】
【請求項１】
通信制御バスを介して接続されている複数の電子機器にあって、
コントロール・ステータス・レジスタ内に配備されたノードＩＤＳレジスタのバスＩＤフィールドに電子機器を識別するための機器固有の識別ＩＤと当該電子機器の特徴を定義した特徴ＩＤを書き込むための書込み手段と、
バスリセット時に他の電子機器のノードＩＤＳレジスタから前記識別ＩＤと特徴ＩＤを読み出す取得手段と、
前記取得手段により読み出したノードＩＤＳレジスタの値を含むデータ記憶するためのデータベースと、
前記取得手段により読み出したノードＩＤＳレジスタの値により前記データベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する識別手段と、
新規に接続した電子機器であるときは該電子機器のコンフィグレーションＲＯＭの値を読み出すＲＯＭ読出し手段と、
前記コンフィグレーションＲＯＭの値で固有ＩＤを更新して前記書込み手段により書き込み、また前記コンフィグレーションＲＯＭの値と共に前記データベースに記憶する記憶手段を有することを特徴とする電子機器。
【請求項２】
請求項１記載の電子機器における接続機器識別情報取得方法であって、
バスリセット時に他の電子機器のノードＩＤＳレジスタから前記識別ＩＤと特徴ＩＤを読み出す段階と、
読み出したノードＩＤＳレジスタの値により前記データベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する段階と、
新規に接続した電子機器であるときは該電子機器のコンフィグレーションＲＯＭの値を読み出す段階と、
読み出したコンフィグレーションＲＯＭの値により前記固有ＩＤを更新して当該電子機器のノードＩＤＳレジスタに書き込む段階と、
前記更新した固有ＩＤをコンフィグレーションＲＯＭの値と共に前記データベースに記憶する段階とを有することを特徴とする接続機器識別情報取得方法。
【請求項３】
請求項１記載の電子機器のＣＰＵで実行される接続機器識別情報取得プログラムであって、
バスリセット時に他の電子機器のノードＩＤＳレジスタから前記識別ＩＤと特徴ＩＤを読み出すステップと、
読み出したノードＩＤＳレジスタの値により前記データベースを検索して当該電子機器が新規に接続された電子機器であるかを識別するステップと、
新規に接続した電子機器であるときは該電子機器のコンフィグレーションＲＯＭの値を読み出すステップと、
読み出したコンフィグレーションＲＯＭの値により前記固有ＩＤを更新して当該電子機器のノードＩＤＳレジスタに書き込むステップと、
前記更新した固有ＩＤをコンフィグレーションＲＯＭの値と共に前記データベースに記憶するステップとを有することを特徴とする接続機器識別情報取得。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＩＥＥＥ１３９４に準拠したシリアルバス（以下、「ＩＥＥＥ１３９４シリアルバス」という）のような通信制御バスで複数の電子機器が接続されたシステムにおいて、電子機器が他の接続機器を識別するための情報を取得する技術に関する。パソコンがビデオテープレコーダやカメラ一体型ビデオテープレコーダを制御するシステムが典型的な適用例である。
【背景技術】
【０００２】
この種の電子機器は機器固有情報であるコンフィギュレーション（configuration）ＲＯＭを備えている。コンフィギュレーションＲＯＭ内のオフセットアドレス０ｘ０４０Ｃｈから０ｘ０４１３ｈには、３バイトのカンパニーＩＤ（company_ID）を含む８バイトのノードユニークＩＤが配置される。カンパニーＩＤはＩＥＥＥにより定められ、残余のバイトには、機器の販売元に委ねられたデバイス情報が書き入れられる。そして、電子機器をＩＥＥＥ１３９４シリアルバスに接続すると、接続ノード固有のノードＩＤが自動的に付与され、また、電子機器の追加や削除があるとバスリセットがかかってノードＩＤが更新される。
【０００３】
この場合、従来は、パソコンにおいて、先ずバス上を流れるセルフＩＤパケットをカウントして全機器数を調べる。パソコンは、自分以外の機器に対しては、コマンドにより順次にコンフィギュレーションＲＯＭ内のノードユニークＩＤを読み出す。ノードユニークＩＤには機種情報を含ませておく。
【０００４】
パソコンは、読み出したノードユニークＩＤにより、ノードＩＤとノードユニークＩＤとの対応テーブルを作成し、システムの構成をカテゴリー単位まで分かるようにアイコン等で画面表示する。もしも、ノードユニークＩＤの構造が既知でないものがあれば、そのノードにのみデバイス情報を問い合わせ、そのレスポンからノードＩＤと機器のカテゴリー情報との対応テーブルを作成する。（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開平９−２８２２６３号公報（第３頁−第４頁、図１３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、バスリセット発生時には、接続された全ての電子機器が順次にコマンドを用いてコンフィギュレーションＲＯＭを読みにいくため、接続される電子機器の台数が増加するに伴い電子機器の認識時間が増大する。また、バスへの負荷が大きくなり、処理能力の遅いパソコンでは接続された各電子機器からの要求に応答できないという課題がある。
【０００７】
そこで、本発明の目的は、バスリセット発生時のコンフィギュレーション処理の時間短縮および処理能力の遅い電子機器の応答を可能とする電子機器，接続機器識別情報取得方法および接続機器識別情報取得プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の電子機器は、通信制御バスを介して接続されている複数の電子機器にあって、コントロール・ステータス・レジスタ内に配備されたノードＩＤＳレジスタのバスＩＤフィールドに電子機器を識別するための機器固有の識別ＩＤと当該電子機器の特徴を定義した特徴ＩＤを書き込むための書込み手段と、バスリセット時に他の電子機器のノードＩＤＳレジスタから識別ＩＤと特徴ＩＤを読み出す取得手段と、取得手段により読み出したノードＩＤＳレジスタの値を含むデータ記憶するためのデータベースと、取得手段により読み出したノードＩＤＳレジスタの値によりデータベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する識別手段と、新規に接続した電子機器であるときは該電子機器のコンフィグレーションＲＯＭの値を読み出すＲＯＭ読出し手段と、コンフィグレーションＲＯＭの値で固有ＩＤを更新して書込み手段により書き込み、またコンフィグレーションＲＯＭの値と共にデータベースに記憶する記憶手段を有することを特徴とする。
【０００９】
また、本発明の接続機器識別情報取得方法は、上記電子機器における接続機器識別情報取得方法であって、バスリセット時に他の電子機器のノードＩＤＳレジスタから識別ＩＤと特徴ＩＤを読み出す段階と、読み出したノードＩＤＳレジスタの値によりデータベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する段階と、新規に接続した電子機器であるときは該電子機器のコンフィグレーションＲＯＭの値を読み出す段階と、読み出したコンフィグレーションＲＯＭの値により固有ＩＤを更新して当該電子機器のノードＩＤＳレジスタに書き込む段階と、更新した固有ＩＤをコンフィグレーションＲＯＭの値と共に前記データベースに記憶する段階とを有することを特徴とする。更に、この方法は、電子機器のＣＰＵでプログラムを実行することによっても行うことができる。
【発明の効果】
【００１０】
本発明によれば、接続済みの電子機器に対するコンフィグレーションＲＯＭの値は当該装置が予め取得して、それから作成した特徴ＩＤと電子機器の識別ＩＤとをデータベース化しておく構成としたため、バスリセット発生時に電子機器から取得するデータ量を少なくすることにより、コンフィグレーション処理時間を短縮することができ、その分だけコンフィグレーション処理時のバスおよび電子機器への負荷を低減することができる。そうすることにより、処理能力の遅い電子機器であっても、応答する情報が減るため接続が維持できるようになる。また、現在より処理能力の遅いＣＰＵでも制御装置として対応可能になり、コストダウンに繋げることができる。
【発明を実施するための最良の形態】
【００１１】
本発明の接続機器識別情報取得方法は、通信制御バスを介して接続されている複数の電子機器における接続機器識別情報取得方法であって、バスリセット時に他の電子機器のノードＩＤＳレジスタから識別ＩＤと特徴ＩＤを読み出す段階と、読み出したノードＩＤＳレジスタの値によりデータベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する段階と、新規に接続した電子機器であるときは該電子機器のコンフィグレーションＲＯＭの値を読み出す段階と、読み出したコンフィグレーションＲＯＭの値により固有ＩＤを更新して当該電子機器のノードＩＤＳレジスタに書き込む段階と、更新した固有ＩＤをコンフィグレーションＲＯＭの値と共にデータベースに記憶する段階とを有することを特徴とする。
【００１２】
固有ＩＤとは、電子機器を識別するための機器固有の識別ＩＤと当該電子機器の特徴を定義した特徴ＩＤとから成り、コントロール・ステータス・レジスタ内に配備されたノードＩＤＳレジスタのバスＩＤフィールドに書き込まれる。以下、本発明の実施の形態について図面を参照して詳細に説明する。
［構成の説明］
図１に本発明を適用されるシステムの構成を示す。図１は、ノード０と記すパソコン，ノード１と記すＤＶカメラ−１およびノード２と記すＶＴＲをＩＥＥＥ１３９４シリアルバスのケーブルに接続するシステム構成を示す。ノード０に対して本発明が適用される。
【００１３】
各ノードは、周知のように、コントロール・ステータス・レジスタ（ＣＳＲ：control status resistor ）を内蔵しており、ＣＳＲ内にはノードＩＤＳレジスタが配備されている。ノードＩＤＳレジスタは、図２に示すように、１０ビットのバスＩＤフィールドおよび６ビットのノードＩＤフィールドを含んでいる。バスＩＤフィールドはローカルネットワークでは使われることがない。そこで、本発明では、このバスＩＤフィールドの１０ビットを固有ＩＤの書込み領域として利用する。バスＩＤフィールドの初期値は０ｘ３ＦＦであり、バスリセットが発生しても不変である。
【００１４】
固有ＩＤは、図３に示すように、識別ＩＤと特徴ＩＤで構成される。識別ＩＤは接続されている電子機器を識別するための機器固有のＩＤであり、特徴ＩＤは接続されている電子機器の特徴を定義したビットまたは数字である。識別ＩＤおよび特徴ＩＤのビット数は、システムに接続される電子機器数を制限することにより変更できる。例えば、システムに接続される電子機器が３台以下であるとすれば、１台目を０、２台目を１、３台目を２というように、２ビットで３台分の識別ＩＤを表すことができるため、特徴ＩＤで残りの８ビットを使用することができる。
【００１５】
固有ＩＤ内の特徴ＩＤと識別ＩＤの例を図４で示す。この例は、特徴ＩＤを４ビット、識別ＩＤを６ビットで表し、特徴ＩＤの１ビットをＡＶ機器ビットとしている。ここで表すＡＶ機器ビットとは接続している電子機器がＡＶ機器であるときに“１”、そうでないときに“０”を示すものとする。ＡＶ機器とは、コンフィギュレーションＲＯＭのｕｎｉｔ＿ｓｐｅｃ＿ＩＤの値が０ｘ００Ａ０２Ｄ、かつｕｎｉｔ＿ｓｗ＿ｖｅｒｓｉｏｎの値が０ｘ０１ＸＸＸＸである機器のことである（Ｘは任意の値である）。
【００１６】
本発明は、どのノードにも適用可能であるが、ここでは、ノード０に適用したものとして説明する。ノード０には、他のノード毎のノードＩＤ，固有ＩＤおよびコンフィギュレーションＲＯＭの値（記憶データ）を内容とするデータベースを設ける。
【００１７】
そして、電源投入時や接続ノード変更時にバスリセットが発生すると、ノード０は全接続ノードの固有ＩＤを取得して、データベースに書込み済みか否かを調べ、書込み済みでなければ、そのノードからコンフィギュレーションＲＯＭの値を取得する。そして、新たに固有ＩＤを作成し、またノードＩＤを更新して当該ノードのノードＩＤＳレジスタに書き込むとともに、データベースに記憶する。
［動作の説明］
図１に示したシステム構成において、電源を投入することによりバスリセットが発生した時のノード０における処理フローを図５に示す。バスリセットが発生すると、ノード０はノード１およびノード２のノードＩＤＳレジスタの値を取得する。
【００１８】
そして、取得したレジスタ値内の固有ＩＤと一致するデータをデータベースから検索する（ステップ図５のＳ１〜Ｓ３）。このデータベースは、ノード１およびノード２が備えているノードＩＤＳレジスタの固有ＩＤ，ノードＩＤおよびコンフィギュレーションＲＯＭの値から構成されている。検索の結果、一致するデータが検出できない場合には、そのノードは新規に接続されたノードであると判断できる。今回は初回起動のため、データベースには何もデータが登録されていないので、ノード０はノード１のコンフィグレーションＲＯＭの値を取得する（ステップＳ４，Ｓ５）。
【００１９】
ノード０は、ノード１のノードＩＤＳレジスタのバスＩＤフィールドに対して、特徴ＩＤと識別ＩＤで構成された固有ＩＤを書き込む（ステップＳ６）。この結果、バスＩＤフィールドは初期値（０ｘ３ＦＦ）が書き換えられる。書込み処理終了後、ノード０はノード１の固有ＩＤ，ノードＩＤおよび取得したコンフィギュレーションＲＯＭの値を内容とするデータベースを作成して記憶する（ステップＳ７）。ノード２に対してもノード１と同様の処理を行う。
【００２０】
特徴ＩＤは、取得したノード０のコンフィギュレーションＲＯＭの値からを作成される。ノード０がノード１のコンフィギュレーションＲＯＭの値を取得した際、ノード０は取得したコンフィギュレーションＲＯＭのＵｎｉｔ＿Ｓｐｅｃ＿ＩｄおよびＵｎｉｔ＿Ｓｗ＿Ｖｅｒｓｉｏｎの値から、例えばＡＶ機器であるか否かを判断し、図４に示した特徴ＩＤのＡＶ機器ビットに書き込む。同様な処理は、ノード２のコンフィギュレーションＲＯＭの値を取得した場合にも行う。
【００２１】
識別ＩＤは、ノード１に“０”，ノード２に“１”といったように、データベースに同じ識別ＩＤが存在しないように割り当てる。ここで、ノード０およびノード１はＡＶ機器とする。処理の結果、作成されたデータベースの内容の例を図６に示す。
【００２２】
次に、図７に示したように、ノード３と記すＤＶカメラ−２をノード２に新規に接続した場合の処理フローを図６で説明する。接続後、バスリセットが発生し、ノード０はノード１のノードＩＤＳレジスタの値を取得し、取得したレジスタ値のバスＩＤフィールドの固有ＩＤと一致するデータを、ノード０の持つ接続ノードのデータベースから検索する（ステップＳ１〜Ｓ３）。ノード２およびノード３に対してもノード１と同様の処理を行う。
【００２３】
検索の結果、ノード１はバスリセット発生以前からノード０との接続があったため、取得したノード１のノードＩＤＳレジスタに配置されたバスＩＤフィールドの固有ＩＤは、ノード０の持つデータベース内に一致する固有ＩＤが存在する（ステップＳ４）。存在が確認されると、データベース内のデータを見ることにより、ノード１のコンフィギュレーションＲＯＭのデータを取得できるため、ノード１に対して、コンフィギュレーションＲＯＭの取得処理を行う必要がなくなる。ここで、ノードＩＤに変更があった場合は、データベースのノードＩＤを変更する。ノード２もバスリセット発生以前からノード０と接続があったためノード１と同様の処理となる。
【００２４】
次に、ノード０は、新規に接続されたノード３から取得したノードＩＤＳレジスタのバスＩＤフィールドの固有ＩＤと一致するデータを，ノード０の持つ接続ノードのデータベースから検索する。その結果、取得した固有ＩＤと一致するデータが存在しないため、ノード０は、コンフィグレーションＲＯＭの値をノード３から取得しなければならない（ステップＳ４，Ｓ５）。取得後、ノード０は、取得したノード３のコンフィギュレーションＲＯＭの値から特徴ＩＤを作成し、データベース内に存在しない識別ＩＤを割り当てる。例えば、既にノード１には“０”、ノード２には“１”を割り当てられているとすると、ノード３に“２”を割り当てる。
【００２５】
その特徴ＩＤと識別ＩＤから固有ＩＤを作成し、ノード３のノードＩＤＳレジスタのバスＩＤフィールドに書き込む処理を行う（ステップＳ６）。なお、ノード０はノード３の固有ＩＤ，ノードＩＤおよびコンフィギュレーションＲＯＭの値をデータベースに追加する（ステップＳ７）。追加したデータベースの内容を図８に示す。ここで、ノード３が新規に接続された場合のコンフィギュレーション処理が終了する。
【図面の簡単な説明】
【００２６】
【図１】本発明が適用されるシステムの構成例を示す図
【図２】ノードＩＤＳレジスタの構造を示す図
【図３】固有ＩＤの構造を示す図
【図４】固有ＩＤの構成例を示す図
【図５】バスリセット発生時のフローチャート
【図６】図１の構成で作成されたデータベースの内容例を示す図
【図７】図１の構成に新規ノードを追加した場合の構成を示す図
【図８】図７の構成で作成されたデータベースの内容例を示す図
【図１】
2007183704.tif 000003
【図２】
2007183704.tif 000004
【図３】
2007183704.tif 000005
【図４】
2007183704.tif 000006
【図５】
2007183704.tif 000007
【図６】
2007183704.tif 000008
【図７】
2007183704.tif 000009
【図８】
2007183704.tif 000010