JP2007183704A - 電子機器,接続機器識別情報取得方法およびプログラム - Google Patents
電子機器,接続機器識別情報取得方法およびプログラム Download PDFInfo
- Publication number
- JP2007183704A JP2007183704A JP2006000044A JP2006000044A JP2007183704A JP 2007183704 A JP2007183704 A JP 2007183704A JP 2006000044 A JP2006000044 A JP 2006000044A JP 2006000044 A JP2006000044 A JP 2006000044A JP 2007183704 A JP2007183704 A JP 2007183704A
- Authority
- JP
- Japan
- Prior art keywords
- electronic device
- node
- value
- database
- unique
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】通信制御バスによって接続される電子機器間での通信を行うシステムにおいて、バスリセット発生以前から接続されている電子機器から、バスリセット発生時に、機器識別のために再度コンフィグレーションROMの値を読む必要がある。
【解決手段】電子機器の接続時に、バスリセットが発生しても不変の固有IDを割り振り、再度バスリセットが発生しても、その固有IDのみを取得することにより、接続している電子機器の特徴を認識することができる。新規に電子機器を接続した場合にはコンフィグレーションROMの値を読み込む。
【選択図】図5
【解決手段】電子機器の接続時に、バスリセットが発生しても不変の固有IDを割り振り、再度バスリセットが発生しても、その固有IDのみを取得することにより、接続している電子機器の特徴を認識することができる。新規に電子機器を接続した場合にはコンフィグレーションROMの値を読み込む。
【選択図】図5
Description
本発明は、例えばIEEE1394に準拠したシリアルバス(以下、「IEEE1394シリアルバス」という)のような通信制御バスで複数の電子機器が接続されたシステムにおいて、電子機器が他の接続機器を識別するための情報を取得する技術に関する。パソコンがビデオテープレコーダやカメラ一体型ビデオテープレコーダを制御するシステムが典型的な適用例である。
この種の電子機器は機器固有情報であるコンフィギュレーション(configuration)ROMを備えている。コンフィギュレーションROM内のオフセットアドレス0x040Chから0x0413hには、3バイトのカンパニーID(company_ID)を含む8バイトのノードユニークIDが配置される。カンパニーIDはIEEEにより定められ、残余のバイトには、機器の販売元に委ねられたデバイス情報が書き入れられる。そして、電子機器をIEEE1394シリアルバスに接続すると、接続ノード固有のノードIDが自動的に付与され、また、電子機器の追加や削除があるとバスリセットがかかってノードIDが更新される。
この場合、従来は、パソコンにおいて、先ずバス上を流れるセルフIDパケットをカウントして全機器数を調べる。パソコンは、自分以外の機器に対しては、コマンドにより順次にコンフィギュレーションROM内のノードユニークIDを読み出す。ノードユニークIDには機種情報を含ませておく。
パソコンは、読み出したノードユニークIDにより、ノードIDとノードユニークIDとの対応テーブルを作成し、システムの構成をカテゴリー単位まで分かるようにアイコン等で画面表示する。もしも、ノードユニークIDの構造が既知でないものがあれば、そのノードにのみデバイス情報を問い合わせ、そのレスポンからノードIDと機器のカテゴリー情報との対応テーブルを作成する。(例えば、特許文献1参照)。
しかしながら、上述した従来技術では、バスリセット発生時には、接続された全ての電子機器が順次にコマンドを用いてコンフィギュレーションROMを読みにいくため、接続される電子機器の台数が増加するに伴い電子機器の認識時間が増大する。また、バスへの負荷が大きくなり、処理能力の遅いパソコンでは接続された各電子機器からの要求に応答できないという課題がある。
そこで、本発明の目的は、バスリセット発生時のコンフィギュレーション処理の時間短縮および処理能力の遅い電子機器の応答を可能とする電子機器,接続機器識別情報取得方法および接続機器識別情報取得プログラムを提供することにある。
本発明の電子機器は、通信制御バスを介して接続されている複数の電子機器にあって、コントロール・ステータス・レジスタ内に配備されたノードIDSレジスタのバスIDフィールドに電子機器を識別するための機器固有の識別IDと当該電子機器の特徴を定義した特徴IDを書き込むための書込み手段と、バスリセット時に他の電子機器のノードIDSレジスタから識別IDと特徴IDを読み出す取得手段と、取得手段により読み出したノードIDSレジスタの値を含むデータ記憶するためのデータベースと、取得手段により読み出したノードIDSレジスタの値によりデータベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する識別手段と、新規に接続した電子機器であるときは該電子機器のコンフィグレーションROMの値を読み出すROM読出し手段と、コンフィグレーションROMの値で固有IDを更新して書込み手段により書き込み、またコンフィグレーションROMの値と共にデータベースに記憶する記憶手段を有することを特徴とする。
また、本発明の接続機器識別情報取得方法は、上記電子機器における接続機器識別情報取得方法であって、バスリセット時に他の電子機器のノードIDSレジスタから識別IDと特徴IDを読み出す段階と、読み出したノードIDSレジスタの値によりデータベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する段階と、新規に接続した電子機器であるときは該電子機器のコンフィグレーションROMの値を読み出す段階と、読み出したコンフィグレーションROMの値により固有IDを更新して当該電子機器のノードIDSレジスタに書き込む段階と、更新した固有IDをコンフィグレーションROMの値と共に前記データベースに記憶する段階とを有することを特徴とする。更に、この方法は、電子機器のCPUでプログラムを実行することによっても行うことができる。
本発明によれば、接続済みの電子機器に対するコンフィグレーションROMの値は当該装置が予め取得して、それから作成した特徴IDと電子機器の識別IDとをデータベース化しておく構成としたため、バスリセット発生時に電子機器から取得するデータ量を少なくすることにより、コンフィグレーション処理時間を短縮することができ、その分だけコンフィグレーション処理時のバスおよび電子機器への負荷を低減することができる。そうすることにより、処理能力の遅い電子機器であっても、応答する情報が減るため接続が維持できるようになる。また、現在より処理能力の遅いCPUでも制御装置として対応可能になり、コストダウンに繋げることができる。
本発明の接続機器識別情報取得方法は、通信制御バスを介して接続されている複数の電子機器における接続機器識別情報取得方法であって、バスリセット時に他の電子機器のノードIDSレジスタから識別IDと特徴IDを読み出す段階と、読み出したノードIDSレジスタの値によりデータベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する段階と、新規に接続した電子機器であるときは該電子機器のコンフィグレーションROMの値を読み出す段階と、読み出したコンフィグレーションROMの値により固有IDを更新して当該電子機器のノードIDSレジスタに書き込む段階と、更新した固有IDをコンフィグレーションROMの値と共にデータベースに記憶する段階とを有することを特徴とする。
固有IDとは、電子機器を識別するための機器固有の識別IDと当該電子機器の特徴を定義した特徴IDとから成り、コントロール・ステータス・レジスタ内に配備されたノードIDSレジスタのバスIDフィールドに書き込まれる。以下、本発明の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
図1に本発明を適用されるシステムの構成を示す。図1は、ノード0と記すパソコン,ノード1と記すDVカメラ−1およびノード2と記すVTRをIEEE1394シリアルバスのケーブルに接続するシステム構成を示す。ノード0に対して本発明が適用される。
[構成の説明]
図1に本発明を適用されるシステムの構成を示す。図1は、ノード0と記すパソコン,ノード1と記すDVカメラ−1およびノード2と記すVTRをIEEE1394シリアルバスのケーブルに接続するシステム構成を示す。ノード0に対して本発明が適用される。
各ノードは、周知のように、コントロール・ステータス・レジスタ(CSR:control status resistor )を内蔵しており、CSR内にはノードIDSレジスタが配備されている。ノードIDSレジスタは、図2に示すように、10ビットのバスIDフィールドおよび6ビットのノードIDフィールドを含んでいる。バスIDフィールドはローカルネットワークでは使われることがない。そこで、本発明では、このバスIDフィールドの10ビットを固有IDの書込み領域として利用する。バスIDフィールドの初期値は0x3FFであり、バスリセットが発生しても不変である。
固有IDは、図3に示すように、識別IDと特徴IDで構成される。識別IDは接続されている電子機器を識別するための機器固有のIDであり、特徴IDは接続されている電子機器の特徴を定義したビットまたは数字である。識別IDおよび特徴IDのビット数は、システムに接続される電子機器数を制限することにより変更できる。例えば、システムに接続される電子機器が3台以下であるとすれば、1台目を0、2台目を1、3台目を2というように、2ビットで3台分の識別IDを表すことができるため、特徴IDで残りの8ビットを使用することができる。
固有ID内の特徴IDと識別IDの例を図4で示す。この例は、特徴IDを4ビット、識別IDを6ビットで表し、特徴IDの1ビットをAV機器ビットとしている。ここで表すAV機器ビットとは接続している電子機器がAV機器であるときに“1”、そうでないときに“0”を示すものとする。AV機器とは、コンフィギュレーションROMのunit_spec_IDの値が0x00A02D、かつunit_sw_versionの値が0x01XXXXである機器のことである(Xは任意の値である)。
本発明は、どのノードにも適用可能であるが、ここでは、ノード0に適用したものとして説明する。ノード0には、他のノード毎のノードID,固有IDおよびコンフィギュレーションROMの値(記憶データ)を内容とするデータベースを設ける。
そして、電源投入時や接続ノード変更時にバスリセットが発生すると、ノード0は全接続ノードの固有IDを取得して、データベースに書込み済みか否かを調べ、書込み済みでなければ、そのノードからコンフィギュレーションROMの値を取得する。そして、新たに固有IDを作成し、またノードIDを更新して当該ノードのノードIDSレジスタに書き込むとともに、データベースに記憶する。
[動作の説明]
図1に示したシステム構成において、電源を投入することによりバスリセットが発生した時のノード0における処理フローを図5に示す。バスリセットが発生すると、ノード0はノード1およびノード2のノードIDSレジスタの値を取得する。
[動作の説明]
図1に示したシステム構成において、電源を投入することによりバスリセットが発生した時のノード0における処理フローを図5に示す。バスリセットが発生すると、ノード0はノード1およびノード2のノードIDSレジスタの値を取得する。
そして、取得したレジスタ値内の固有IDと一致するデータをデータベースから検索する(ステップ図5のS1〜S3)。このデータベースは、ノード1およびノード2が備えているノードIDSレジスタの固有ID,ノードIDおよびコンフィギュレーションROMの値から構成されている。検索の結果、一致するデータが検出できない場合には、そのノードは新規に接続されたノードであると判断できる。今回は初回起動のため、データベースには何もデータが登録されていないので、ノード0はノード1のコンフィグレーションROMの値を取得する(ステップS4,S5)。
ノード0は、ノード1のノードIDSレジスタのバスIDフィールドに対して、特徴IDと識別IDで構成された固有IDを書き込む(ステップS6)。この結果、バスIDフィールドは初期値(0x3FF)が書き換えられる。書込み処理終了後、ノード0はノード1の固有ID,ノードIDおよび取得したコンフィギュレーションROMの値を内容とするデータベースを作成して記憶する(ステップS7)。ノード2に対してもノード1と同様の処理を行う。
特徴IDは、取得したノード0のコンフィギュレーションROMの値からを作成される。ノード0がノード1のコンフィギュレーションROMの値を取得した際、ノード0は取得したコンフィギュレーションROMのUnit_Spec_IdおよびUnit_Sw_Versionの値から、例えばAV機器であるか否かを判断し、図4に示した特徴IDのAV機器ビットに書き込む。同様な処理は、ノード2のコンフィギュレーションROMの値を取得した場合にも行う。
識別IDは、ノード1に“0”,ノード2に“1”といったように、データベースに同じ識別IDが存在しないように割り当てる。ここで、ノード0およびノード1はAV機器とする。処理の結果、作成されたデータベースの内容の例を図6に示す。
次に、図7に示したように、ノード3と記すDVカメラ−2をノード2に新規に接続した場合の処理フローを図6で説明する。接続後、バスリセットが発生し、ノード0はノード1のノードIDSレジスタの値を取得し、取得したレジスタ値のバスIDフィールドの固有IDと一致するデータを、ノード0の持つ接続ノードのデータベースから検索する(ステップS1〜S3)。ノード2およびノード3に対してもノード1と同様の処理を行う。
検索の結果、ノード1はバスリセット発生以前からノード0との接続があったため、取得したノード1のノードIDSレジスタに配置されたバスIDフィールドの固有IDは、ノード0の持つデータベース内に一致する固有IDが存在する(ステップS4)。存在が確認されると、データベース内のデータを見ることにより、ノード1のコンフィギュレーションROMのデータを取得できるため、ノード1に対して、コンフィギュレーションROMの取得処理を行う必要がなくなる。ここで、ノードIDに変更があった場合は、データベースのノードIDを変更する。ノード2もバスリセット発生以前からノード0と接続があったためノード1と同様の処理となる。
次に、ノード0は、新規に接続されたノード3から取得したノードIDSレジスタのバスIDフィールドの固有IDと一致するデータを,ノード0の持つ接続ノードのデータベースから検索する。その結果、取得した固有IDと一致するデータが存在しないため、ノード0は、コンフィグレーションROMの値をノード3から取得しなければならない(ステップS4,S5)。取得後、ノード0は、取得したノード3のコンフィギュレーションROMの値から特徴IDを作成し、データベース内に存在しない識別IDを割り当てる。例えば、既にノード1には“0”、ノード2には“1”を割り当てられているとすると、ノード3に“2”を割り当てる。
その特徴IDと識別IDから固有IDを作成し、ノード3のノードIDSレジスタのバスIDフィールドに書き込む処理を行う(ステップS6)。なお、ノード0はノード3の固有ID,ノードIDおよびコンフィギュレーションROMの値をデータベースに追加する(ステップS7)。追加したデータベースの内容を図8に示す。ここで、ノード3が新規に接続された場合のコンフィギュレーション処理が終了する。
Claims (3)
- 通信制御バスを介して接続されている複数の電子機器にあって、
コントロール・ステータス・レジスタ内に配備されたノードIDSレジスタのバスIDフィールドに電子機器を識別するための機器固有の識別IDと当該電子機器の特徴を定義した特徴IDを書き込むための書込み手段と、
バスリセット時に他の電子機器のノードIDSレジスタから前記識別IDと特徴IDを読み出す取得手段と、
前記取得手段により読み出したノードIDSレジスタの値を含むデータ記憶するためのデータベースと、
前記取得手段により読み出したノードIDSレジスタの値により前記データベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する識別手段と、
新規に接続した電子機器であるときは該電子機器のコンフィグレーションROMの値を読み出すROM読出し手段と、
前記コンフィグレーションROMの値で固有IDを更新して前記書込み手段により書き込み、また前記コンフィグレーションROMの値と共に前記データベースに記憶する記憶手段を有することを特徴とする電子機器。 - 請求項1記載の電子機器における接続機器識別情報取得方法であって、
バスリセット時に他の電子機器のノードIDSレジスタから前記識別IDと特徴IDを読み出す段階と、
読み出したノードIDSレジスタの値により前記データベースを検索して当該電子機器が新規に接続された電子機器であるかを識別する段階と、
新規に接続した電子機器であるときは該電子機器のコンフィグレーションROMの値を読み出す段階と、
読み出したコンフィグレーションROMの値により前記固有IDを更新して当該電子機器のノードIDSレジスタに書き込む段階と、
前記更新した固有IDをコンフィグレーションROMの値と共に前記データベースに記憶する段階とを有することを特徴とする接続機器識別情報取得方法。 - 請求項1記載の電子機器のCPUで実行される接続機器識別情報取得プログラムであって、
バスリセット時に他の電子機器のノードIDSレジスタから前記識別IDと特徴IDを読み出すステップと、
読み出したノードIDSレジスタの値により前記データベースを検索して当該電子機器が新規に接続された電子機器であるかを識別するステップと、
新規に接続した電子機器であるときは該電子機器のコンフィグレーションROMの値を読み出すステップと、
読み出したコンフィグレーションROMの値により前記固有IDを更新して当該電子機器のノードIDSレジスタに書き込むステップと、
前記更新した固有IDをコンフィグレーションROMの値と共に前記データベースに記憶するステップとを有することを特徴とする接続機器識別情報取得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006000044A JP2007183704A (ja) | 2006-01-04 | 2006-01-04 | 電子機器,接続機器識別情報取得方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006000044A JP2007183704A (ja) | 2006-01-04 | 2006-01-04 | 電子機器,接続機器識別情報取得方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007183704A true JP2007183704A (ja) | 2007-07-19 |
Family
ID=38339753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006000044A Pending JP2007183704A (ja) | 2006-01-04 | 2006-01-04 | 電子機器,接続機器識別情報取得方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007183704A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012124840A (ja) * | 2010-12-10 | 2012-06-28 | Fujitsu Semiconductor Ltd | 通信装置、ネットワークシステム及び通信方法 |
-
2006
- 2006-01-04 JP JP2006000044A patent/JP2007183704A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012124840A (ja) * | 2010-12-10 | 2012-06-28 | Fujitsu Semiconductor Ltd | 通信装置、ネットワークシステム及び通信方法 |
US8914554B2 (en) | 2010-12-10 | 2014-12-16 | Spansion Llc | Communication network device that compares first and second identification number of packet to determine if they are in conformance or non-conformance with self-ID packet |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685322B2 (en) | Port number emulation for wireless USB connections | |
US6643714B1 (en) | Modification and use of configuration memory used during operation of a serial bus | |
US7353322B1 (en) | System and method for providing dynamic configuration ROM using double image buffers | |
US20150113210A1 (en) | Data storage flash memory management method and program | |
WO2017032170A1 (zh) | 镜像文件的导入方法及装置 | |
CN107577775B (zh) | 一种读取数据方法、装置、电子设备及可读存储介质 | |
CN112148337A (zh) | 一种固件升级方法及装置 | |
US7958345B2 (en) | Method for adjusting setup default value of BIOS and main board thereof | |
JP2007183704A (ja) | 電子機器,接続機器識別情報取得方法およびプログラム | |
CN109324731A (zh) | 信息展现方法和装置 | |
US9232009B2 (en) | Data integration apparatus for use in sensor network | |
US20050027977A1 (en) | Method and system for maintaining the boot order of mass storage devices in a computer system | |
JP2002033750A (ja) | 情報処理装置及び方法、媒体 | |
CN108446144A (zh) | 一种应用程序启动方法、装置、终端及存储介质 | |
WO2015183016A1 (ko) | 데이터 처리 장치 및 데이터 처리 장치의 메모리에 기록된 데이터의 확인 방법 | |
JP2006221394A (ja) | データアクセス方法 | |
JP2015138335A (ja) | メモリ制御回路 | |
US20090031045A1 (en) | Information relay device, information relay method, information relay program and information recording medium | |
CN113985760B (zh) | 应用于监测报警系统的基于arm的开关量处理方法 | |
JP4207213B1 (ja) | 商品情報取得システム | |
EP1962476A2 (en) | Computer and control method thereof | |
US7181554B2 (en) | Controller device to be connected to an IEEE 1394 serial bus network | |
JP2015225495A (ja) | 電子機器 | |
CN108363619B (zh) | 服务流程控制方法、服务器及计算机可读存储介质 | |
JP4855370B2 (ja) | データ収集装置、データ収集方法、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体 |