JP2002077211A - 情報処理装置およびその方法、並びに、記録媒体 - Google Patents

情報処理装置およびその方法、並びに、記録媒体

Info

Publication number
JP2002077211A
JP2002077211A JP2000259713A JP2000259713A JP2002077211A JP 2002077211 A JP2002077211 A JP 2002077211A JP 2000259713 A JP2000259713 A JP 2000259713A JP 2000259713 A JP2000259713 A JP 2000259713A JP 2002077211 A JP2002077211 A JP 2002077211A
Authority
JP
Japan
Prior art keywords
information
node
configuration rom
stored
conforming
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.)
Withdrawn
Application number
JP2000259713A
Other languages
English (en)
Inventor
Naohisa Suzuki
尚久 鈴木
Atsushi Nakamura
敦 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2000259713A priority Critical patent/JP2002077211A/ja
Priority to US09/939,806 priority patent/US6963938B2/en
Priority to EP01307334A priority patent/EP1184791A3/en
Publication of JP2002077211A publication Critical patent/JP2002077211A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Read Only Memory (AREA)

Abstract

(57)【要約】 【課題】 コンフィギュレーションROMから情報を読み
出すためにブロックリードが使えなければ、クワドレッ
トリード要求の発行回数が増加し、同要求を発行するデ
バイスの処理効率を低下させるだけでなく、同要求によ
る1394シリアルバスのバス占有率が高くなり、1394シリ
アルバスを介した処理速度を悪化させる。 【解決手段】 デバイスのコンフィグレーションROM領
域に記憶された情報を読み出し(S1-S8)、読み出した情
報に基づき、コンフィグレーションROM領域とは異なる
アドレス領域(ブロックリード可能な領域)にコンフィ
グレーションROMと同じ情報が格納されている場合(S1
3)、オフセットを変更して(S12)、コンフィグレーショ
ンROMと同じ情報を読み出す(S2-S8)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置および
その方法、並びに、記録媒体に関し、例えばIEEE1394な
どのシリアルバスを介して接続される複数の情報処理装
置およびその方法、並びに、記録媒体に関するものであ
る。
【0002】
【従来の技術】IEEE1394のようなシリアルバスインタフ
ェイスは、セントロニクスのようなインタフェイスにお
けるホストとデバイスとの間の一対一の接続形態とは異
なり、複数のデバイス、例えばディジタルビデオカメラ
(DV)、ディジタルスチルカメラ(DC)、ホストコンピュー
タ、スキャナ、プリンタおよびディジタルビデオテープ
レコーダなどの複数のデバイスをひとまとめにして接続
することが可能である。従って、これら複数のデバイス
を接続したデータ通信ネットワークシステムへ、シリア
ルバスインタフェイスを応用することが考えられる。
【0003】このようなネットワークに接続されるデバ
イスは様々であり、異なるメーカの不特定多数のデバイ
スが接続される可能性がある。
【0004】IEEE1394に適合または準拠するシリアルバ
スインタフェイス(以下では単に「1394インタフェイ
ス」と呼ぶ)の場合、ネットワーク上のデバイスを識別
し、そのデバイスに関する情報を得るための手段とし
て、各機器が所定のアドレス空間にコンフィグレーショ
ンROMを有することがIEEE1212ならびにIEEE1394の規格
として定められている。
【0005】コンフィグレーションROMには、各デバイ
スに固有のIDであるノードユニークIDが格納されてい
る。ノードユニークIDは、64ビットで構成され、上位24
ビットはIEEE(The Institute of Electrical and Elect
ronics Engineers, Inc.)により割り当てられる機器の
メーカIDであり、下位48ビットは各メーカが自由に定め
ることができる。従って、機器のメーカおよび機種にか
かわらず、一つのデバイスには特定のノードユニークID
が設定されることになる。
【0006】コンフィグレーションROMには、さらに、
そのデバイスが1394インタフェイス上でサポートする機
能や性能を示すバスインフォブロック(Bus Info Bloc
k)、製造メーカに関する情報を示すベンダディレクトリ
(Vender Directory)、プリンタやスキャナといったデバ
イス自体の機能に関する情報を示すインスタンスディレ
クトリ(Instance Directory)、並びに、各機能を1394イ
ンタフェイス上で制御するためにサポートされているプ
ロトコルソフトウェア情報を示すユニットディレクトリ
(Unit Directory)が所定のフォーマットおよび規格に従
い記録されている。
【0007】IEEE1394シリアルバス(以下、単に「1394
シリアルバス」と呼ぶ)に接続されているデバイスのコ
ンフィグレーションROMの情報を読み出して解析するこ
とにより、1394シリアルバスにより複数のデバイスが接
続されているネットワーク(以下「1394ネットワーク」
と呼ぶ)において、あるデバイスがデータ通信を行いた
い相手機器を特定することが可能になる。また、バスリ
セット後にデバイスを再び特定する際も、1394ネットワ
ークに接続された各デバイスのコンフィギュレーション
ROMの情報を読み出すことによって、意図するデバイス
を特定することが可能になる。
【0008】このように、1394ネットワークに接続され
たデバイス間のデータ通信においては、コンフィグレー
ションROMの情報の読み出しは、一般的かつ頻繁に行わ
れる。
【0009】
【発明が解決しようとする課題】デバイスによっては、
コンフィグレーションROMの情報を効率よく読み出すこ
とが困難な場合がある。具体的には、IEEE1212で定めら
れた1KバイトのコンフィギュレーションROM領域に対し
て、IEEE1394における一括読出動作であるブロックリー
ドに対応しないデバイスがあり、そのデバイスのコンフ
ィギュレーションROMの情報を読み出す場合は、IEEE139
4における読出動作の最低単位であるクワドレットリー
ドを繰り返す必要がある。
【0010】デバイスが多機能化し、複雑化するにつれ
て、コンフィギュレーションROMに記述される情報およ
びその情報量も増加するため、読み出すべき情報も増え
る方向にある。そのようなコンフィギュレーションROM
から情報を読み出すためにブロックリードが使えなけれ
ば、クワドレットリード要求の発行回数が増加する。こ
れは、同要求を発行するデバイスの処理効率を低下させ
るだけでなく、同要求による1394シリアルバスのバス占
有率が高くなり、1394シリアルバスを介した処理速度を
悪化させる。
【0011】また、IEEE1212に規定される最小形式のコ
ンフィグレーションROMでは、充分な情報を他のデバイ
スへ提供することができない。
【0012】本発明は、上述の問題を個々に、または、
まとめて解決するためのものであり、コンフィグレーシ
ョンROM情報の効率的な読み出しを可能にすることを目
的とする。
【0013】また、コンフィグレーションROM情報の読
み出しにより充分な情報の提供を可能にすることを他の
目的とする。
【0014】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
【0015】本発明にかかる情報処理装置は、IEEE1394
規格に適合または準拠するシリアルバスに接続可能な情
報処理装置であって、所定アドレス領域に記憶された、
IEEE1212規格に従うコンフィギュレーションROM情報
と、前記所定アドレス領域とは異なるアドレス領域に記
憶された、前記コンフィグレーションROM情報と同一の
情報とを有することを特徴とする。
【0016】好ましくは、前記コンフィグレーションRO
M情報には、前記コンフィグレーションROM情報と同一の
情報が記憶されたアドレス領域を参照するための情報が
含まれることを特徴とする請求項1に記載された情報処
理装置。
【0017】好ましくは、前記コンフィグレーションRO
M情報と同一の情報が記憶されるべきアドレス領域は、
大きなブロックサイズのブロックリードトランズアクシ
ョンがサポートされるアドレス領域であることを特徴と
する。
【0018】また、IEEE1394規格に適合または準拠する
シリアルバスに接続可能な情報処理装置であって、所定
アドレス領域に記憶された、IEEE1212規格に従う最小形
式のコンフィギュレーションROM情報と、前記所定アド
レス領域とは異なるアドレス領域に記憶された、IEEE12
12規格に従う一般形式のコンフィグレーションROM情報
に相当する情報とを有することを特徴とする。
【0019】好ましくは、前記最小形式のコンフィグレ
ーションROM情報には、前記一般形式のコンフィグレー
ションROM情報に相当する情報が記憶されたアドレス領
域を参照するための情報が含まれることを特徴とする。
【0020】好ましくは、前記一般形式のコンフィグレ
ーションROM情報に相当する情報が記憶されるべきアド
レス領域は、大きなブロックサイズのブロックリードト
ランズアクションがサポートされるアドレス領域である
ことを特徴とする。
【0021】本発明にかかる情報処理方法は、IEEE1394
規格に適合または準拠するシリアルバスに接続された複
数のデバイス間における情報処理方法であって、デバイ
スの所定アドレス領域に記憶された、IEEE1212規格に従
うコンフィギュレーションROM情報の少なくとも一部を
読み出し、読み出した情報に基づき、前記所定アドレス
領域とは異なるアドレス領域に記憶された、前記コンフ
ィグレーションROM情報と同一の情報を読み出すことを
特徴とする。
【0022】また、IEEE1394規格に適合または準拠する
シリアルバスに接続された複数のデバイス間における情
報処理方法であって、デバイスの所定アドレス領域に記
憶された、IEEE1212規格に従う最小形式のコンフィギュ
レーションROM情報の少なくとも一部を読み出し、読み
出した情報に基づき、前記所定アドレス領域とは異なる
アドレス領域に記憶された、IEEE1212規格に従う一般形
式のコンフィグレーションROM情報に相当する情報を読
み出すことを特徴とする。
【0023】
【発明の実施の形態】以下、本発明にかかる好適な実施
形態を図面を参照して詳細に説明する。
【0024】以下で説明する実施形態においては、各機
器間を接続するディジタルインタフェイスとして例えば
IEEE1394-1995(High Performance Serial Bus、以下で
は単に「1394シリアルバス」という)を用いる例を説明
するため、まず、1394シリアルバスの概要について説明
する。なお、IEEE1394-1995規格についての詳細は、199
6年8月30日にIEEEから出版された「IEEE Standard for
a High Performance Serial Bus」に記述されている。
【0025】
【1394シリアルバスの概要】家庭用ディジタルビデオテ
ープレコーダやディジタルビデオディスク(DVD)の登場
に伴い、ビデオデータやオーディオデータ(以下、まと
めて「AVデータ」と呼ぶ)など、リアルタイムかつ情報
量の多いデータを転送する必要が生じている。AVデータ
をリアルタイムに、パソコン(PC)へ転送したり、その他
のディジタル機器に転送するには、高速のデータ転送能
力をもつインタフェイスが必要になる。そういった観点
から開発されたインタフェイスが1394シリアルバスであ
る。
【0026】図1に1394シリアルバスを用いて構成され
るネットワークシステムの例を示す。
【0027】図1に示すネットワークシステムのノード
をなす機器AからHは、IEEE1394規格に適合または準拠す
るディジタルインタフェイスを備えている。1394ネット
ワークはシリアルデータが通信可能なバス型ネットワー
クを構成する。
【0028】機器A-B間、A-C間、B-D間、D-E間、C-F
間、C-G間およびC-H間は、それぞれ1394シリアルバス用
のツイストペアケーブルで接続されている。これらの機
器AからHの例としては、パソコンなどのホストコンピュ
ータ装置、および、コンピュータ周辺機器である。コン
ピュータ周辺機器としては、ディジタルビデオカセット
レコーダ、Digital Video Disc(DVD)プレーヤ、ディジ
タルスチルカメラ、ハードディスクや光ディスクなどの
メディアを用いる記憶装置、CRTやLCDのモニタ、チュー
ナ、イメージスキャナ、フィルムスキャナ、プリンタ、
MODEM、ターミナルアダプタ(TA)などコンピュータ周辺
機器のすべてが対象になる。なお、プリンタの記録方式
は、レーザビームやLEDを用いた電子写真方式、インク
ジェット方式、インク溶融型や昇華型の熱転写方式、感
熱記録方式など、どんな方式でも構わない。
【0029】各機器間の接続は、ディジーチェイン方式
とノード分岐方式との混在が可能であり、自由度の高い
接続を行うことができる。また、各機器はそれぞれIDを
有し、互いにIDを認識し合うことによって、1394シリア
ルバスで接続された範囲において、一つのネットワーク
を構成している。例えば、各機器間をそれぞれ一本の13
94シリアルバス用ケーブルでディジーチェイン接続する
だけで、それぞれの機器が中継の役割を担うので、全体
として一つのネットワークを構成することができる。
【0030】また、1394シリアルバスはPlug and Play
機能に対応し、1394シリアルバス用ケーブルを機器に接
続するだけで自動的に機器を認識し、接続状況を認識す
る機能を有している。また、図1に示すようなシステム
において、ネットワークからある機器が外されたり、ま
たは新たに加えられたときなど、自動的にバスをリセッ
ト(それまでのネットワークの構成情報をリセット)し
て、新たなネットワークを再構築する。この機能によっ
て、その時々のネットワークの構成を常時設定、認識す
ることができる。バスリセットは、既存の機器の電源が
オンオフされた場合にも行われる。
【0031】また、1394シリアルバスは、他の機器から
転送されるデータを中継する機能を有している。この機
能により、1394ネットワーク上のすべての機器がバスの
動作状況を把握することができる。
【0032】また、1394シリアルバスのデータ転送速度
は、100/200/400Mbpsが定義されていて、上位の転送速
度をもつ機器が下位の転送速度をサポートすることで、
互換性が保たれている。データ転送モードとしては、コ
ントロール信号などの非同期データを転送するアシンク
ロナス(Asynchronous)転送モード(ATM)と、リアルタイ
ムなAVデータ等の同期データを転送するアイソクロナス
(Isochronous)転送モードがある。この非同期データと
同期データは、各サイクル(通常125μs/サイクル)の
中で、サイクル開始を示すサイクルスタートパケット(C
SP)の転送に続き、同期データの転送を優先しつつ、サ
イクル内で混在して転送される。なお、アイソクロナス
転送モードの転送帯域は各通信サイクル内で保証されて
いる。
【0033】アシンクロナス転送モードは、必要に応じ
て非同期に転送することが要求されるデータ、すなわち
コントロール信号やファイルデータなどを転送する際に
有効である。また、アイソクロナス転送モードは、所定
量のデータを一定のデータレートで連続的に転送するこ
とが要求されるデータ、すなわちビデオデータやオーデ
ィオデータなどを転送する際に有効である。
【0034】[アーキテクチャ]図2は1394インタフェ
イスの構成例を示す図で、レイヤ構造で構成されてい
る。図2に示すように、コネクタポート810には、1394シ
リアルバス用のケーブル813の先端のコネクタが接続さ
れる。コネクタポート810の上位には、ハードウェア部8
00で構成されるフィジカルレイヤ811とリンクレイヤ812
がある。ハードウェア部800はインタフェイス用チップ
で構成され、そのうちフィジカルレイヤ811は符号化や
コネクション関連の制御等を行い、リンクレイヤ812は
パケット転送やサイクルタイムの制御等を行う。
【0035】ファームウェア部801のトランザクション
レイヤ814は、転送すべきデータの管理を行い、リー
ド、ライトおよびロックトランザクションを提供する。
ファームウェア部801のシリアルバスマネージメント815
は、1394シリアルバスに接続されている各機器の接続状
況やIDの管理を行い、1394ネットワークの構成を管理す
る。上記のハードウェアとファームウェアまでが、1394
シリアルバスの実質的な構成である。
【0036】また、ソフトウェア部802のアプリケーシ
ョンレイヤ816は、利用されるソフトによって異なり、
インタフェイス上でどのようにしてデータを転送するか
は、プリンタやAV/Cプロトコルなどのプロトコルによっ
て定義される。
【0037】●リンクレイヤ 図3はリンクレイヤ812が提供するサービスを示す図であ
る。リンクレイヤ812は次の四つのサービスを提供す
る。 (1)応答ノードに対して所定のパケットの転送を要求す
るリンク要求(LK_DATA.request) (2)応答ノードに所定のパケットの受信を通知するリン
ク通知(LK_DATA.indication) (3)応答ノードからのアクノリッジを受信したことを示
すリンク応答(LK_DATA.response) (4)要求ノードからのアクノリッジを確認するリンク確
認(LK_DATA.confirmation)
【0038】なお、リンク応答(LK_DATA.response)は、
ブロードキャスト通信、アイソクロナスパケットの転送
の場合には存在しない。また、リンクレイヤ812は、上
述のサービスに基づいて、二種類の転送方式であるアシ
ンクロナス転送モードおよびアイソクロナス転送モード
を実現する。
【0039】●トランザクションレイヤ 図4はトランザクションレイヤ814が提供するサービスを
示す図である。トランザクションレイヤ814は次の四つ
のサービスを提供する。 (1)応答ノードに対して所定のトランザクションを要求
するトランザクション要求(TR_DATA.reqqest) (2)応答ノードに所定のトランザクション要求の受信を
通知するトランザクション通知(TR_DATA.indication) (3)応答ノードからの状態情報(ライト、ロックの場合
は、データを含む)を受信したことを示すトランザクシ
ョン応答(TR_DATA.response) (4)要求ノードからの状態情報を確確するトランザクシ
ョン確認(TR_DATA.confirmation)
【0040】また、トランザクションレイヤ814は、上
述のサービスに基づいてアシンクロナス転送を管理し、
三種類のトランザクション、つまりリード、ライトおよ
びロックトランザクションを実現する。 (1)リードトランザクション: 要求ノードが、応答ノー
ドの特定アドレスに格納された情報を読み取る。 (2)ライトトランザクション: 要求ノードが、応答ノー
ドの特定アドレスに所定の情報を書き込む。 (3)ロックトランザクション: 要求ノードは、応答ノー
ドに対して、参照データおよび更新データを転送する。
応答ノードは、受信した参照データと特定アドレスの情
報とを比較し、その比較結果に応じて特定アドレスの情
報を更新データに更新する。
【0041】●シリアルバスマネージメント シリアルバスマネージメント815は、具体的には、次の
三つの機能を提供する。すなわち、ノード制御、アイソ
クロナスリソースマネージャ(IRM)、バスマネージャで
ある。 (1)ノード制御: 上述の各レイヤを管理し、他のノード
との間で実行されるアシンクロナス転送を管理する。 (2)IRM: 他のノードとの間で実行されるアイソクロナス
転送を管理する。具体的には、転送帯域幅とチャネル番
号の割り当てに必要な情報を管理し、これらの情報を他
のノードに提供する。
【0042】IRMはローカルバス上に唯一存在し、バス
リセットごとに候補者(IRM機能を有するノード)の中
から動的に選出される。また、IRMは、後述するバスマ
ネージャが提供可能な機能(接続構成、電源および速度
情報の管理など)の一部を提供してもよい。 (3)バスマネージャ: IRM機能を有し、IRMよりも高度な
バス管理機能を提供する。具体的には、より高度な電源
の管理(通信ケーブルを介して電源の供給が可能か否
か、電源の供給が必要か否か、などの情報をノードごと
に管理する)、より高度な速度情報の管理(各ノード間
の最大転送速度を管理する)、より高度な接続構成の管
理(トポロジマップを作成する)、並びに、これらの管
理情報に基づきバスの最適化などを行う。さらに、これ
らの情報を他のノードに提供する機能を有する。
【0043】また、バスマネージャは、1394ネットワー
クを制御するためのサービスをアプリケーションに対し
て提供できる。このサービスには、シリアルバス制御要
求(SB_CONTROL.request)、シリアルバスイベント制御確
認(SB_CONTROL.confirmation)、および、シリアルバス
イベント通知(SB_CONTROL.indication)などがある。 (1)SB_CONTROL.request: アプリケーションがバスリセ
ットを要求するサービス (2)SB_CONTROL.confirmation: SB_CONTROL.requestをア
プリケーションに対して確認するサービス (3)SB_CONTROL.indication: 非同期に発生するイベント
をアプリケーションに対して通知するサービス
【0044】[アドレス指定]図5は1394シリアルバス
におけるアドレス空間を説明する図である。なお、1394
シリアルバスでは、ISO/IEC13213-1994に準じたCommand
and Status Register(CSR)アーキテクチャに従い、64
ビット幅のアドレス空間が規定されている。
【0045】図5において、最初の10ビットのフィール
ド601は所定のバスを指定するID番号に使用され、次の6
ビットのフィールド602は所定の機器(ノード)を指定
するID番号に使用される。これら上位16ビットを「ノー
ドID」と呼び、各ノードはこのノードIDにより他のノー
ドを識別する。また、各ノードは、このノードIDを用い
て相手を識別し、識別した相手との通信を行うことがで
きる。
【0046】残りの48ビットからなるフィールドは、各
ノードが備えるアドレス空間(256Mバイト構造)を指定
し、その内の20ビットのフィールド603はアドレス空間
を構成する複数の領域を指定する。最後の28ビットのフ
ィールド604は、各ノードにおいて共通あるいは固有な
情報が格納されるアドレスを指定する。
【0047】フィールド603の0から0xFFFFDの領域は
「メモリ空間」、0xFFFFEは「プライベート空間」、0xF
FFFFは「レジスタ空間」とそれぞれ呼ばれる。プライベ
ート空間は、各ノードが自由に利用することができるア
ドレスである。また、レジスタ空間は、バスに接続され
たノード間における共通の情報が格納され、レジスタ空
間に格納された情報を用いることにより、各ノード間の
通信が管理される。
【0048】例えば、レジスタ空間における最初の512
バイトは、CSRアーキテクチャのコア(CSRコア)レジス
タに使用される。CSRコアレジスタに格納される情報の
アドレスおよび機能は図6に示される。図6では0xFFFFF0
000000からのオフセットでアドレスを示している。
【0049】続く512バイトはシリアルバスのレジスタ
として使用される。シリアルバスレジスタに格納される
情報のアドレスおよび機能は図7に示される。図7では0x
FFFFF0000200からのオフセットでアドレスを示してい
る。
【0050】続く1024バイトは、コンフィグレーション
ROM(Configuration ROM)に使用される。コンフィグレー
ションROMには最小形式と一般形式とがあり、0xFFFFF00
00400から配置される。図8は最小形式のコンフィグレー
ションROMを示す図で、24ビットのベンダIDはIEEEによ
り各ベンダに対して固有に割り当てられた数値である。
【0051】図9は一般形式のコンフィグレーションROM
を示す図で、上述のベンダIDはルートディレクトリ(Roo
t Directory)1002に格納されている。バス情報ブロック
(BusInfo Block)1001およびルートアンドユニットリー
ブス(Root & Unit Leaves)1005には、各ノードを識別す
る固有のID情報としてノードユニークIDを保持させるこ
とが可能である。
【0052】ノードユニークIDは、メーカおよび機種に
関わらず、一つのノードを特定することができる固有の
IDが定められるようになっている。ノードユニークIDは
64ビットで構成され、上位24ビットは上述のベンダIDを
示し、下位48ビットはノードの機器を製造したメーカが
自由に設定することが可能な情報、例えば機器の製造番
号などを示す。なお、このノードユニークIDは、例えば
バスリセットの前後においても、継続して特定のノード
を認識する場合に使用される。
【0053】また、ルートディレクトリ(Root Director
y)1002には、ノードの基本的な機能に関する情報を保持
させることが可能である。詳細な機能情報は、ルートデ
ィレクトリ(Root Directory)1002からオフセットされる
サブディレクトリ(Unit Directory)1006に格納される。
ユニットディレクトリ(Unit Directory)1006には、例え
ばノードの機器がサポートするソフトウェアユニットに
関する情報が格納される。具体的には、ノード間のデー
タ通信を行うためのデータ転送プロトコル、および、所
定の通信手順を定義するコマンドセットなどに関する情
報が保持される。
【0054】また、ノード依存情報ディレクトリ(Node
Dependent Info Directory)1003には、デバイス固有の
情報を保持することが可能である。ノード依存情報ディ
レクトリ(Node Dependent Info Directory)1003は、ル
ートディレクトリ(Root Directory)1002によりオフセッ
トされる。
【0055】さらに、ベンダ依存情報(Vendor Dependen
t Information)1007には、ノードの機器を製造あるいは
販売するベンダ固有の情報を保持させることができる。
【0056】これらコンフィグレーションROMに格納さ
れるデータは、それぞれ予め定められた最小単位である
エントリをはじめとするディレクトリ、リーフというフ
ォーマット形式、同様に定められた法則に従い各エント
リに割り振られたキー値(keyvalue)により成り立ってい
る。各エントリにおいて、このキー値をデコードするこ
とにより情報の種類を見分けることが可能になる。な
お、コンフィギュレーションROMのこれ以上の構造は、I
SO/IEC 13213、IEEE Std 1212およびIEEE Std1394-1995
に記述されているので、ここでは割愛する。
【0057】図5において、残りの領域は「ユニット空
間」と呼ばれ、各ノード固有の情報、例えば各機器の識
別情報(ベンダ名および機種名など)や、使用条件など
が格納されたアドレスを指定する。図10はユニット空間
のシリアルバス装置レジスタに格納される情報のアドレ
スおよび機能を示す。図10では「0xFFFFF0000800」から
のオフセットでアドレスを示している。
【0058】なお、一般的に、異種のバスシステムの設
計を簡略化したい場合、各ノードは、ユニット空間の最
初の2048バイトのみを使うべきである。つまり、CSRコ
アレジスタ、シリアルバスレジスタおよびコンフィグレ
ーションROMからなるレジスタ空間の2048バイトと、ユ
ニット空間の最初の2048バイトを合わせた4096バイトで
レジスタ空間が構成されることが望ましい。
【0059】[通信ケーブル]図11はIEEE1394規格に準
拠した通信ケーブルの断面図を示す図である。
【0060】通信ケーブルは、二組のツイストペア信号
線および電源線から構成されている。電源線を設けるこ
とによって、1394シリアルバスは、主電源がオフされた
機器や、故障により電力が低下した機器などへも電力を
供給することができる。なお、電源線によって供給され
る直流電力の電圧は8から40V、電流は最大1.5Aに規定さ
れている。
【0061】[DS-Link方式]二組のツイストペア信号
線には、DS-Link(Data/Strobe Link)方式により情報が
伝送される。図12はDS-Link方式を説明する図である。
【0062】このDS-Link方式は、高速なシリアルデー
タ通信に適し、その構成は二組のツイストペア信号線を
必要とする。一組のツイストペア信号線はデータ信号を
送り、もう一組のツイストペア信号線はストローブ信号
を送る構成である。受信側では、二組の信号線により受
信されたデータ信号およびストローブ信号を排他的論理
和することによってクロックを再現することができる。
なお、DS-Link方式を用いる1394シリアルバスには、例
えば次のような利点がある。 (1)データ信号中にクロック信号を混入させる必要がな
いので、他のシリアルデータ転送方式に比べて転送効率
が高い。 (2)位相ロックドループ(PLL)回路が不要になり、コント
ローラLSIの回路規摸を小さくできる。 (3)転送すべきデータが無いときにアイドル状態である
ことを示す情報を送る必要がなく、トランシーバ回路を
スリープ状態にし易く、消費電力の低減が図れる。
【0063】[バスリセット]各ノードの1394インタフ
ェイスは、ネットワークの接続構成に変化が生じたこと
を自動的に検出することができる。この場合、1394ネッ
トワークは以下に示す手順によりバスリセットと呼ばれ
る処理を行う。なお、接続構成に変化は、各ノードが備
えるコネクタポート810に加わるバイアス電圧の変化に
より検知することができる。
【0064】ネットワークの接続構成の変化、例えばネ
ットワーク機器の接続分離や電源のオン/オフなどによ
るノード数の増減を検出したノード、または、新たにネ
ットワークの接続構成を認識する必要があるノードは、
1394インタフェイスを介して、1394シリアルバス上にバ
スリセット信号を送信する。
【0065】バスリセット信号を受信したフィジカルレ
イヤ811は、バスリセットの発生をリンクレイヤ812に伝
達するとともに、バスリセット信号を他のノードへ転送
する。バスリセット信号を受信したノードは、今まで認
識していたネットワークの接続構成および各機器に割り
当てられたノードIDをクリアにする。最終的にすべての
ノードがバスリセット信号を受信した後、各ノードは、
バスリセットに伴う初期化処理、すなわち新たなネット
ワークの接続構成の認識、および、新たなノードIDの割
り当てを自動的に行う。
【0066】なお、バスリセットは、先に述べたような
ネットワークの接続構成の変化により起動されるほか
に、ホスト制御によって、アプリケーションレイヤ816
がフィジカルレイヤ811に対して直接命令を出すことに
よっても起動される。また、バスリセットが起動する
と、データ転送は一時中断され、バスリセットに伴う初
期化処理の終了後、新しいネットワークの下でデータ転
送が再開される。
【0067】[バスリセット起動後のシーケンス]バス
リセットの起動後、各ノードの1394インタフェイスは、
新たなネットワークの接続構成の認識、および、新たな
ノードIDの割り当てを実行する。以下、バスリセットの
起動から、ノードIDの割り当て終了までの基本的なシー
ケンスを、図13から図15を用いて説明する。
【0068】図13は1394ネットワークにおけるバスリセ
ット起動後の状態を説明する図である。ノードAからFは
それぞれ一つから三つのコネクタポート810を備えてい
る。各ノードのコネクタポート810には、各ポートを識
別するためにポート番号を付されている。以下、図13に
示す構成の1394ネットワークにおけるバスリセットの開
始からノードIDの割り当てまでの手順を図14のフローチ
ャートを用いて説明する。
【0069】図14において、1394ネットワークを構成す
るノードAからFはそれぞれバスリセットが発生したか否
かを常時監視している(S1501)。ネットワーク接続の構
成が変化したことを検出したノードからバスリセット信
号が出力される(バスリセットの起動)と、各ノードは
以下の処理を実行する。
【0070】バスリセットが起動されると、ノードはそ
れぞれ親子関係の宜言を行い(S1502)、ステップS1503で
全ノード間で親子関係が決定されたと判定されるまでス
テップS1502が繰り返される。
【0071】すべてのノード間で親子関係が決定した
後、1394ネットワークの調停を行うノードすなわち「ル
ート(root)」が決定される(S1504)。ルートが決定され
た後、各ノードが自己のノードIDを設定する作業が開始
され(S1505)、ステップS1506で全ノードのノードIDが設
定されたと判定されるまでステップS1505が繰り返され
る。
【0072】最終的にすべてのノードに対してノードID
が設定された後、各ノードは、アイソクロナス転送また
はアシンクロナス転送を実行する(S1507)。各ノード
は、ステップS1507でデータ転送を実行するとともに、
ステップS1501でバスリセットの起動を監視する。そし
て、バスリセットが起動された場合はステップS1502以
降の処理を実行する。
【0073】以上の手順により、各ノードは、バスリセ
ットが起動されるごとに、新たなネットワーク接続を認
識し、かつ、新たなノードIDの割り当てを実行すること
ができる。
【0074】[親子関係の決定]図15はステップS1502
における親子関係の宣言を行う処理の詳細例を示すフロ
ーチャートである。
【0075】図15において、バスリセットが起動された
後、ノードAからFは、自分が備えるコネクタポート810
の接続状態(接続または未接続)を碓認し(S1601)、そ
の後、他のノードと接続されているコネクタポート810
(以下「接続ポート」と呼ぶ)をカウントする(S160
2)。
【0076】接続ポート数が一つのノードは、自分が
「リーフ(leaf)」であると認識する(S1603)。なお、リ
ーフとは、接続されている他のノードが一つだけのノー
ドのことである。リーフは、接続されているノードに対
して自分は「子(child)」であることを宣言し(S1604)、
接続されているノードは「親(parent)」であると認識す
る。
【0077】このように親子関係の宣言は、まず1394ネ
ットワークの末端に位置するリーフとブランチ(branch)
との間で行われる。続いて、親子関係の宣言はブランチ
とブランチとの間で順次行われる。なお、ブランチと
は、接続ポート数が二つ以上のノードのことである。
【0078】このようにして親子関係は、親子関係の宜
言が行えるノード間から順に決定される。また、各ノー
ドにおいて、あるノードが「子」を宜言した接続ポート
はおやノードと接続された「親ポート」であると認識さ
れ、その宣言を受けたノードの接続ポートは子ノードと
接続された「子ポート」であると認識される。例えば、
図13において、ノードA、EおよびFはそれぞれ自分がリ
ーフであると認識し、親子関係の宣言を行う。これによ
り、ノードA-B間、E-D間およびF-D間の親子関係は「子-
親」と決定される。
【0079】また、接続ポート数が二つ以上のノード
は、自分がブランチであると認識する(S1605)。ブラン
チは、各接続ポートに接続されたノードから親子関係の
宜言を受け付ける(S1606)。親子関係の宣言を受け付け
た接続ポートは「子ポート」であると認識される。
【0080】ブランチは、一つの接続ポートを「子ポー
ト」と認識した後、未だ親子関係が決定されていない接
続ポート(未定義ポート)が二つ以上あるか否かを検出
し(S1607)、未定義ポートが二つ以上ある場合は再びス
テップS1606の処理を行う。また、未定義ポートが一つ
だけの場合(S1608)、ブランチは、その未定義ポートを
「親ポート」であると認識し、その接続ポートに接続さ
れたノードに対して自分は「子」であることを宜言する
(S1609)。
【0081】ブランチは、未定義ポートが一つになるま
で親子関係の宣言、つまり自分が「子」であることを他
のノードに対して宜言することができない。例えば、図
13において、ノードB、CおよびDは、自分がブランチで
あると認識するとともに、リーフまたは他のブランチか
らの親子宜言を受け付ける。ノードDは、D-EおよびD-F
間の親子関係が決定した後、ノードCに対して親子関係
の宜言を行う。また、ノードDから親子関係の宜言を受
けたノードCは、ノードBに対して親子関係の宜言を行
う。
【0082】ステップS1608で未定義ポートが存在しな
いと判定された場合、つまりすべての接続ポートが「子
ポート」になった場合、そのブランチは、自分がルート
であると認識する(ステップS1610)。
【0083】例えば、図13において、接続ポートのすべ
てが子ポートになったノードBは、1394ネットワーク上
の通信を調停するルートとして他のノードに認識され
る。図13にはノードBがルートと決定された例を示す
が、ノードBによる親子関係の宜言が、ノードCによる親
子関係の宜言に比べて早ければ、他のノードがルートに
なる。すなわち、親子関係を宜言するタイミングによっ
ては、どのノードもルートになる可能性があり、例え同
じネットワーク構成であっても、いつも同じノードがル
ートになるとは限らない。
【0084】すべての接続ポートの親子関係が宣言され
ることによって、各ノードは、1394ネットワークの接続
構成を階層構造(ツリー構造)として認識することがで
きる(S1611)。なお、上述した親ノードは階層構造にお
ける上位であり、子ノードは階層構造における下位にな
る。
【0085】[ノードIDの割当]図16および17はステッ
プS1505のノードIDの設定、つまり各ノードにノードID
を割り当てる処理を詳細に示すフローチャートで、図16
はルートの処理、図17はルート以外の処理を示してい
る。ノードIDは、上述したようにバス番号およびノード
番号から構成されるが、本実施形態では、各ノードが同
一バス上に存在するものとして、各ノードには同一のバ
ス番号が割り当てられるものとする。
【0086】ルートは、ステップS1701で、ノードIDが
未設定のノードが接続されている子ポートの内、ポート
番号が最小の通信ポートに接続されたノードに対してノ
ードIDの設定許可を与える。次に、ルートは、ステップ
S1702で、子ポートに接続された全ノードのノードIDが
設定されたか否かを判定し、未設定のノードがあればス
テップS1701を繰り返す。つまり、ルートは、最小のポ
ート番号をもつ通信ポートに接続された全ノードのノー
ドIDが設定された後、その子ポートを設定済とし、続い
て、次に小さいポート番号をもつ通信ポートに接続され
たノードに対して同様の制御を行う。
【0087】最終的に、子ポートに接続された全ノード
のノードIDが設定されると、ルートは、ステップS1703
で自分のノードIDを設定し、ステップS1704で、後述す
るセルフIDパケットをブロードキャストする。なお、ノ
ードIDに含まれるノード番号は、基本的にリーフ、ブラ
ンチの順に0、1、2、…と割り当てられる。従って、ル
ートが最も大きなノード番号を有することになる。
【0088】一方、ノードIDの設定許可をルートから得
たノードは、ステップS1711で、ノードIDが未設定のノ
ードを含む子ポートがあるか否かを判定し、そのような
子ポートがある場合はステップS1712で、その子ポート
に接続されたノードに対してノードIDの設定許可を与え
る。ここでノードIDの設定許可を得たノードも図17の処
理を実行することになる。
【0089】そして、ノードは、ステップS1713で、再
び、ノードIDが未設定のノードを含む子ポートがあるか
否かを判定する。ステップS1711またはS1713でノードID
が未設定のノードを含む子ポートはないと判定される
と、ノードは、ステップS1714で、自分のノードIDを設
定し、ステップS1715で、自分のノード番号および通信
ポートの接続状態に関する情報などを含むセルフIDパケ
ットをブロードキャストする。
【0090】ブロードキャストとは、あるノードの通信
パケットを1394ネットワークを構成する不特定多数の他
のノードすべてに転送することである。各ノードは、セ
ルフIDパケットを受信することによって、各ノードに割
り当てられたノード番号を認識することができ、自分に
割り当て可能なノード番号を知ることができる。
【0091】例えば、図13において、ルートであるノー
ドBは、まずポート番号が最小の#0の通信ポートに接続
されたノードAに対してノードIDの設定許可を与える。
ノードAは、自分のノード番号として「0」を割り当て、
自分のノードIDを設定した後、そのノードIDを含むセル
フIDパケットをブロードキャストする。
【0092】次に、ルートは、ポート番号#1の通信ポー
トに接続されたノードCに対してノードIDの設定許可を
与える。ノードCはポート番号#2の通信ポートに接続さ
れたノードDに対してノードIDの設定許可を与え、ノー
ドDはポート番号#0の通信ポートに接続されたノードEに
対してノードIDの設定許可を与える。ノードEのノードI
Dが設定されると、ノードDは、ポート番号#1の通信ポー
トに接続されたノードFに対してノードIDの設定許可を
与える。以下説明を省略するが、このような手順で全ノ
ードのノードIDが設定される。
【0093】[セルフIDパケット]図18はセルフIDパケ
ットの構成例を示す図で、セルフIDパケットを送出した
ノードのノード番号が格納されるフィールド1801、対応
可能な転送速度に関する情報が格納されるフィールド18
02、バス管理機能(バスマネージャの能力の有無など)
の有無を示すフィールド1803、および、電力の消費およ
び供給特性に関する情報が格納するフィールド1804があ
る。さらに、ポート番号「#0」から「#2」の各コネクタ
ポート810の接続状態に関する情報(接続、未接続およ
びポートの親子関係など)が格納されるフィールド1805
から1807がある。
【0094】フィールド1803のコンテンダビットは、セ
ルフIDパケットを送出するノードがバスマネージャにな
り得る能力を有する場合は‘1’に、そうでない場合は
‘0’になる。バスマネージャとは、セルフIDパケット
に含まれる各種の情報に基づき、次に示すような管理を
行い、それらの情報を他のノードに提供する機能を有す
るノードである。これらの機能により、バスマネージャ
は1394ネットワーク全体のバス管理を行うことができ
る。 (1)バスの電源管理: 通信ケーブルを介して電力の供給
が可能か否か、電力の供給が必要か否かなどの情報を各
ノードごとに管理する。 (2)速度情報の管理: 各ノードの対応可能な転送速度に
関する情報から各ノード間の最大転送速度を管理する。 (3)トポロジマップ情報の管理: 通信ポートの親子関係
情報からネットワークの接続構成を管理する。 (4)トポロジマップ情報に基づくバスの最適化など。
【0095】ノードIDの設定処理後、複数のノードがバ
スマネージャの能力を備える場合、ノード番号の最も大
きいノードがバスマネージャになる。つまり、1394ネッ
トワーク内で最大のノード番号をもつルートがバスマネ
ージャになり得る機能を有している場合は、ルートがバ
スマネージャになる。しかし、ルートがその機能を備え
ていない場合は、ルートの次に大きいノード番号を有す
るノードがバスマネージャになる。また、どのノードが
バスマネージャになったかについては、各ノードがブロ
ードキャストするセルフIDパケット内のコンテンダビッ
ト1803をチェックすることにより把握することができ
る。
【0096】[調停]図19は1394ネットワークにおける
調停(arbitration)を説明する図である。1394ネットワ
ークでは、データ転送に先立ち、必ずバス使用権の調停
を行う。1394ネットワークは、論理的なバス型ネットワ
ークであり、各ノードから送出されてくるパケットを他
のノードへ中継することによって、ネットワーク内のす
べてのノードに同じパケットを転送する。従って、パケ
ットの衝突を防ぐために、必ずアービトレーションが必
要になり、あるタイミングにおいては一つのノードだけ
がパケットの送出を行うことができる。
【0097】図19(a)はノードBおよびFがバスの使用権
を要求している状態を示している。ノードBおよびFは、
それぞれの親ノードにバス使用権を要求する。ノードB
の要求を受けた親ノード(ノードC)は、自分の親ノー
ド(ノードD)に要求を中継する。これらの要求は、最
終的に調停を行うルート(ノードD)に届く。バス使用
権の要求を受けたルートは、どのノードにバス使用権を
与えるかを決定する調停を行う。この調停はルートだけ
が行えるものであり、調停に勝ったノードにはバス使用
権が与えられる。
【0098】図19(b)はノードFにバス使用権が与えら
れ、ノードBの要求が拒否された状態を示している。ル
ートは、調停に負けたノードに対してDP(Data Prefix)
パケットを送り、要求を拒否したことを知らせる。要求
が拒否されたノードは、次回の調停までバス使用権の要
求を待たされることになる。
【0099】以上の調停によって、1394ネットワークの
バス使用権が制御および管理される。
【0100】[通信サイクル]アイソクロナス転送モー
ドおよびアシンクロナス転送モードは、各通信サイクル
の期間内において時分割に混在することができる。通信
サイクルの期間は通常125μSである。図20は通信サイク
ルの一期間にアイソクロナス転送モードおよびアシンク
ロナス転送モードが混在された状態を示す図である。
【0101】アイソクロナス転送モードは、アシンクロ
ナス転送モードより優先して実行される。その理由は、
サイクルスタートパケット(CSP)の後、アシンクロナス
転送を起動するために必要なアイドル期間(subaction g
ap)が、アイソクロナス転送を起動するため必要なアイ
ドル期間(isochronous gap)よりも長く設定されている
ためである。これら異なるアイドル期間の設定により、
アイソクロナス転送モードがアシンクロナス転送モード
に優先して実行される。
【0102】図20において、各通信サイクルのスタート
時には、サイクルスタートパケット(CSP)が所定のノー
ドから転送される。各ノードは、このサイクルスタート
パケット(CSP)によりタイミング調整を行うことで、他
のノードと同じタイミングを得ることができる。
【0103】[アイソクロナス転送モード]アイソクロ
ナス転送モードは同期型の転送方式である。アイソクロ
ナス転送モードは、通信サイクルの開始後の所定期間に
おいて実行可能である。また、アイソクロナス転送モー
ドは、リアルタイム転送を維持するために、各サイクル
ごとに必ず実行される。
【0104】アイソクロナス転送モードは、とくに動画
像データや、音声を含むサウンドデータなど、リアルタ
イムな転送を必要とするデータの転送に適している。ア
イソクロナス転送モードは、アシンクロナス転送モード
のように一対一の通信ではなくブロードキャスト通信で
あり、あるノードから送出されたパケットは、ネットワ
ーク上のすべてのノードに対して一様に転送される。な
お、アイソクロナス転送に受信確認用の返信コードであ
るアクノリッジ(ack)は存在しない。
【0105】図20において、チャネルe(ch e)、チャネ
ルs(ch s)およびチャネルk(ch k)は、各ノードがアイソ
クロナス転送を行う期間を示している。1394シリアルバ
スでは、複数の異なるアイソクロナス転送を区別するた
めに、それらに異なるチャネル番号を与える。これによ
り、複数のノード間におけるアイソクロナス転送が可能
になる。なお、このチャネル番号は、送信先を特定する
ものではなく、データに対する論理的な番号を与えてい
るに過ぎない。
【0106】また、図20に示すアイソクロナスギャップ
(isochronus gap)とは、バスのアイドル状態を示すもの
で、このアイドル状態が一定時間を経過した後、アイソ
クロナス転送を希望するノードは、バスが使用できると
判断し、バスの使用権を要求する。
【0107】図21はアイソクロナス転送モードにより転
送されるパケットのフォーマットを示す図である。以下
では、アイソクロナス転送モードにより転送されるパケ
ットを「アイソクロナスパケット」と称する。
【0108】図21において、アイソクロナスパケット
は、ヘッダ部2101、ヘッダCRC2102、データ部2103およ
びデータCRC2104から構成される。
【0109】ヘッダ部2101には、データ部2103のデータ
長が格納されるdata_lengthフィールド2105、アイソク
ロナスパケットのフォーマット情報を格納するtagフィ
ールド2106、アイソクロナスパケットのチャネル番号を
格納するchannelフィールド2107、パケットのフォーマ
ットおよび実行しなければならない処理を識別するトラ
ンザクションコード(tcode)を格納するtcodeフィールド
2108、並びに、同期化コードを格納するsyフィールド21
09がある。
【0110】[アシンクロナス転送モード]アシンクロ
ナス転送モードは非同期型の転送方式である。アシンク
ロナス転送は、アイソクロナス転送期間の終了後、次の
通信サイクルが開始されるまでの間、すなわち次の通信
サイクルのサイクルスタートパケット(CSP)が転送され
るまでの間に実行可能である。
【0111】図22に示す通信サイクルにおいて、最初の
サブアクションギャップ(subactiongap)はバスのアイド
ル状態を示すものである。このアイドル状態が一定時間
を経過した後、アシンクロナス転送を希望するノード
は、バスが使用できると判断し、バスの使用権を要求す
る。
【0112】調停によりバス使用権を得たノードは、図
23に示すパケットを所定のノードに対して送信する。こ
のパケットを受信したノードは、ack(アクノリッジ)
または応答パケットをアクノリッジギャップ(ack gap)
後に返送する。ackは4ビットの情報および4ビットのチ
ェックサムからなり、成功、ビジー状態、ペンディング
状態であるといった情報を含み、パケット受信後、すぐ
にパケットの送信元ノードに返される。
【0113】図23はアシンクロナス転送モードにより転
送されるパケットのフォーマットを示す図である。以下
では、アシンクロナス転送モードにより転送されるパケ
ットを「アシンクロナスパケット」と称する。
【0114】図23において、アシンクロナスパケット
は、ヘッダ部2201、ヘッダCRC2202、データ部2203およ
びデータCRC2204から構成される。
【0115】ヘッダ部2201には、パケットの宛先ノード
のノードIDが格納されるdestination_IDフィールド220
5、パケットのソースノードのノードIDが格納されるsou
rce_IDフィールド2206、一連のトランザクションを示す
ラベルが格納されるtlフィールド2207、再送ステータス
を示すコードが格納されるrtフィールド2208、パケット
のフォーマットおよび実行しなければならない処理を識
別するトランザクションコード(tcode)が格納されるtco
deフィールド2209、優先順位が格納されるpriフィール
ド2210、宛先ノードのメモリアドレスが格納されるdest
ination_offsetフィールド2211、データ部のデータ長が
格納されるdata_lengthフィールド2212、並びに、拡張
されたトランザクションコードが格納されるextended_t
codeフィールド2213がある。
【0116】アシンクロナス転送は、自ノードから相手
ノードへの一対一の通信である。送信元ノードから送信
されたパケットは、1394ネットワーク中の各ノードに行
き渡るが、各ノードは自分宛て以外のパケットを無視す
るので、宛先ノードだけが、そのパケットを読み込む。
【0117】なお、アシンクロナス転送中に次のCSPを
転送すべき時間に至った場合、無理に転送を中断せず、
その転送が終了した後、次のCSPを送信する。これによ
り、一つの通信サイクルが125μS以上続いたときは、そ
の分、次の通信サイクル期間を短縮する。このようにす
ることによって、1394ネットワークは、ほぼ一定の通信
サイクルを維持することができる。
【0118】図24は各パケットフォーマットにおけるパ
ケットフィールドの詳細を説明する図である。
【0119】[デバイスディスカバリ]アプリケーショ
ンソフトウェアが意図するデバイスと通信を行うために
1394ネットワークに接続されているデバイスの情報(接
続トポロジ)を知る手段として、1394シリアルバスには
以下の手段が備わる。 (1)バスマネージャのトポロジマップレジスタをリード
する。 (2)バスリセット時にセルフIDパケットから推定する。
【0120】しかし上記の手段では、各ノードの親子関
係から1394ケーブルの接続順のトポロジは判明するもの
の、物理的な位置関係のトポロジを知ることはできない
し、実装されていないポートまで見えてしまう、といっ
た問題がある。
【0121】一方、コンフィギュレーションROM自体や
コンフィギュレーションROMを読む機能は、IEEE1394規
格に適合または準拠するデバイスは必ずもつものであ
る。そこで、デバイスの位置や機能などの情報を各ノー
ドのコンフィギュレーションROMに格納し、それらの情
報をアプリケーションソフトウェアから読み取る機能を
与えることにより、データベースアクセスやデータ転送
などの特定のプロトコルに依存せずに、各ノードのアプ
リケーションソフトウェアに所謂デバイスマップの表示
機能を実現させることが可能になる。コンフィグレーシ
ョンROMにはノード固有の情報として物理的な位置や機
能などが格納可能であり、デバイスマップの表示機能の
実現に使用することが可能である。
【0122】そこでデバイス上のアプリケーションが通
信相手デバイスを特定するために、接続されたデバイス
のコンフィギュレーションROMを読み出し解析する機能
は、IEEE1394規格を遵守したデバイスが必ずもつもので
ある。そこで、デバイスのベンダー情報、機能、サポー
ト(プロトコル)ソフトウェアなどの情報を各ノードの
コンフィギュレーションROMに格納し、それらをアプリ
ケーションから読む機能を与えることにより、データ転
送などの特定のプロトコルに依存することなく、各ノー
ドのアプリケーションが所望するデバイを特定すること
ができる。
【0123】このようにすれば、アプリケーションソフ
トウェアは、バスリセット時やユーザからの要求に応え
て、各ノードのコンフィギュレーションROMから情報を
読み取り、物理的な位置関係による1394ネットワークの
トポロジを知ることが可能になる。さらに、ノードの物
理的位置のみならず、コンフィギュレーションROMに記
述された機能などの各種ノード情報を読むことで、ノー
ドの物理的位置と併せて各ノードの機能情報なども得る
ことができる。
【0124】アプリケーションソフトウェアが各ノード
のコンフィギュレーションROMの情報を取得する際は、
指定ノードの任意のコンフィギュレーションROMの情報
を取得するためのアプリケーションインタフェイス(AP
I)が用いられる。このような手段を用いることにより、
1394ネットワーク上のデバイスのアプリケーションソフ
トウェアは、物理的なトポロジマップおよび各ノードの
機能マップなど、用途に応じて様々なデバイスマップお
よびリストを作成することができる。さらに、ユーザが
必要な機能をもつデバイスを選択する、といったことも
アプリケーションソフトウェアから可能になる。
【0125】実際にROMを読み取る場合、バスリセット
時のようにユーザの要求がない場合は、1394ネットワー
クに接続されている各デバイスのコンフィグレーション
ROMの中の最低限の情報を読み出し、通信の開始要求を
受けた際に、前記最低限の情報から絞り込んだデバイス
についてコンフィグレーションROMの情報をすべて読み
出す方法や、ユーザの要求があった場合にはじめて各デ
バイスのコンフィグレーションROMの情報を読み出す方
法など、様々な方法が考えられる。
【0126】[プリンタ]図25は本実施形態のインクジ
ェットプリンタの構成例を説明するブロック図である。
【0127】図25において、2701は1394シリアルバスを
介してコンピュータと通信し、印刷コマンドや印刷デー
タを受信するインタフェイス部、2702はマイクロプロセ
ッサユニット(MPU)、2703はMPU2702が実行する制御プロ
グラムや受信した印刷情報を格納するROM、2704はMPU27
04により、印刷情報やヘッドに供給すべき記録データな
どの各種データが保存され、ワークメモリとして利用さ
れるRAMである。
【0128】2705は記録ヘッド2706に供給する記録デー
タの供給制御を行うASICであるゲートアレイで、インタ
フェイス2701、MPU2702およびRAM2704間のデータ転送制
御も行う。
【0129】2707は記録ヘッド2706を搬送するためのキ
ャリアモータ、2708は記録紙を搬送するための搬送モー
タ、2709は記録ヘッドを駆動するヘッドドライバ、2710
はキャリアモータ2707を駆動するモータドライバであ
る。
【0130】●1394インタフェイスブロック 図26はインタフェイス2701における1394インタフェイス
ブロックの基本構成を示すブロック図である。
【0131】図26において、2802は1394シリアルバスを
直接ドライブする物理レイヤ制御IC(PHY IC)で、IEEE13
94の概要において説明した物理レイヤ機能を実現する。
主な機能としては、バスイニシャライズ、アービトレー
ション、送受信データのエンコードおよびデコード、13
94ケーブルの通電状態の監視、負荷終端用電源の供給
(アクテイブ接続認識用)、並びに、リンクレイヤ制御
IC2801とのインタフェイスである。
【0132】2801はプリンタ本体とのインタフェイスを
行い、物理レイヤIC2802のデータ転送をコントロールす
るリンクレイヤ制御IC(LINK IC)で、IEEE1394の概要に
おいて説明したリンクレイヤ機能を実現する。主な機能
としては、物理レイヤIC2802を介して送受信されるデー
タを一時格納する送受信FIFO、送信データのパケット
化、物理レイヤIC2802により受信されたアシンクロナス
パケットが自ノードあてのものか否かの判定、アイソク
ロナスパケットが割り当てられたチャンネル向けのもの
か否かの判定、および、それら受信データのエラーチェ
ックを行うレシーバ機能、並びに、プリンタ本体とのイ
ンタフェイスである。
【0133】2803はコンフィギュレーションROMで、各
機器に固有の識別情報、通信条件などが格納されてい
る。このコンフィグレーションROMのデータフォーマッ
トは、IEEE1394の概要で説明したように、IEEE1212およ
びIEEE1394により定められたフォーマットに準じてい
る。なお、本実施形態のプリンタは、後述する図30に示
すような一般形式のコンフィグレーションROMを備えて
いる。
【0134】●コンフィグレーションROM 本実施形態のプリンタは、図27に示すプリンタの1394イ
ンタフェイス上のアドレス空間(以下「1394アドレス空
間」と呼ぶ)中に、図28に示すような一般形式のコンフ
ィグレーションROMを備えている。
【0135】本実施形態のプリンタの基本機能、その基
本機能に付随する詳細情報はRoot Directory(ルートデ
ィレクトリ)1002からオフセットされるサブディレクト
リであるInstance Directory(インスタンスディレクト
リ)1004に格納されている。また、プリンタがサポート
するソフトウェア(プロトコル)ユニット情報はRootDi
rectory1002から同様にオフセットされるサブディレク
トリであるUnit Directory(ユニットディレクトリ)10
06に格納されている。
【0136】デバイスを製造したベンダ情報、そのベン
ダに関する固有の情報が格納可能なサブディレクトリで
あるVendor Directory(ベンダディレクトリ)1008もRo
ot Directory1002からオフセットされる。Instance Directory
【0137】Instance Directory1004には、そのデバイ
スの基本機能に関する情報が格納される。デバイスが一
つの機能(1インスタンスのみ)をサポートする場合はI
nstance Directoryは一つであり、複数機能(複数イン
スタンス)をサポートする場合にはInstance Directory
が複数存在する。
【0138】各Instance Directoryには、機能情報がキ
ーワードという形で記述されると同時に、その機能を制
御するためのソフトウェア(プロトコル)情報が格納さ
れたUnit Directoryへのポインタ情報が格納されてい
る。その他、各機能に関する固有の詳細情報がある場
合、それが格納されたFunction Info Directory(ファ
ンクションインフォディレクトリ)へのポインタ情報も
格納されている。
【0139】本実施形態のプリンタの場合、プリンタ機
能を表す「PRINTER」というキーワードがInstance Dire
ctory1004のKeyword Leaf(キーワードリーフ)1009に
記述されている。Unit Directory
【0140】Unit Directory1006には、そのデバイスが
サポートするソフトウェアプロトコルユニット(以下、
単に「プロトコル」と呼ぶ)に関する情報が格納されて
いる。デバイスが一つのプロトコルのみをサポートする
場合はUnit Directoryは一つであり、複数プロトコルを
サポートする場合にはUnit Directoryが複数存在する。
【0141】各Unit Directoryには、プロトコルを判別
するためのIDがUnit_Spec_ID、Unit_Sw_Versionという
形で記述されると同時に、そのプロトコルのエントリポ
イントのオフセットをはじめとする、各プロトコルに関
する固有の詳細情報が格納されている。
【0142】本実施形態のプリンタの場合、少なくと
も、1394インタフェイスを介したデータ転送に使用され
るDirect Print Protocol(DPP、ダイレクトプリントプ
ロトコル)に関する情報が記述されたUnit Directoryが
存在する。
【0143】●プリンタのアドレス空間 IEEE1394の概要で説明したように1394シリアルバスのア
ドレス設定のうち、最後の28ビットはシリアルバスに接
続された他のデバイスからアクセス可能な、各機器に固
有のデータ領域として確保されている。
【0144】図27は、本実施形態のプリンタにおける28
ビットのアドレス空間を表している。コンフィギュレー
ションROMは、図27に示すように、400hから800h番地の
領域に配置される。800h番地以降の領域にはプリンタに
固有の動作に関連するレジスタが配置され、10000h番地
以降の領域にはDPP制御用のレジスタ群が配置される。
【0145】本実施形態のプリンタの全アドレス空間
は、IEEE1394のデータ転送における最小単位のトランズ
アクションであるクワドレットトランズアクションか
ら、最大512クワドレット(2048バイト)までのブロッ
クトランズアクションを取り扱うことが可能である。同
時に、コンフィギュレーションROM領域の読み出しに対
して、最大256クワドレットまでのブロックリードリク
エストにも対応可能である。
【0146】[コンピュータ]本実施形態のコンピュー
タに内蔵される1394インタフェイスブロックの構成は、
図26に示したプリンタの1394インタフェイスブロックと
同等であり、コンピュータの内部構成は、パーソナルコ
ンピュータなどの汎用コンピュータと同一であるから、
これらの詳細説明は省略する。
【0147】本実施形態のコンピュータは、図29に示す
コンピュータの1394アドレス空間中に、図30に示すよう
な一般形式のコンフィグレーションROMを備えている。
さらに、図29に示す1394アドレス空間中、xFFFFF000100
0番地から始まる1Kバイトの領域には、コンフィグレー
ションROM領域に格納されているデータと同一の複製デ
ータが配置されている。
【0148】コンフィグレーションROMに記述される情
報の基本的な種類はプリンタの場合とほぼ同じである。
ただし、Instance Directory1004のKeyword Leaf1009に
は基本機能を表す「COMPUTER」というキーワードが記述
される。また、データ転送に使用されるプロトコルとし
てDPPに関する情報が記述されたUnit Directory1006が
存在する。
【0149】コンフィギュレーションROMは、図29に示
すように、400hから800h番地の領域に配置される。ただ
し、機器の制約上、プリンタの場合とは異なり、200h番
地から800h番地の領域は、IEEE1394のデータ転送におけ
る最小単位のトランズアクションであるクワドレットリ
クエストのみがサポートされる。
【0150】一方、800h番地以降の領域は、クワドレッ
トトランズアクションから最大512クワドレット(2048
バイト)までのブロックトランズアクションを取り扱う
ことが可能である。そこで、1000hから1400h番地の領域
に、コンフィギュレーションROMと同一のデータを配置
して、上記のデータ転送における制限を補う。
【0151】これに関連して、図30に示すように、コン
フィギュレーションROMのRoot Directory1002の先頭エ
ントリには、コンフィグレーションROMと同一のデータ
が配置された領域の先頭アドレスを参照するオフセット
値(ROM image offset)を含むエントリが、その情報を識
別するために予め定められたキー値「21h」とともに存
在する。
【0152】[ディジタルカメラ]本実施形態のディジ
タルカメラに内蔵される1394インタフェイスブロックの
構成は、図26に示したプリンタの1394インタフェイスブ
ロックと同等であり、ディジタルカメラの内部構成は、
汎用のディジタルカメラと同一であるから、これらの詳
細説明は省略する。
【0153】本実施形態のディジタルカメラは、図31に
示すディジタルカメラの1394アドレス空間中に、図32に
示すような最小形式(minimal format)のコンフィギュレ
ーションROMを備えている。さらに、図31に示す1394ア
ドレス空間中、xFFFFF0001000番地から始まる1Kバイト
の領域には、一般形式(general format)のコンフィグレ
ーションROMに相当するデータが配置されている。
【0154】コンフィギュレーションROMは、図31に示
すように、400hから800h番地の領域に配置される。ただ
し、機器の制約上、コンピュータの場合と同様に、200h
番地から800h番地の領域は、IEEE1394のデータ転送にお
ける最小単位のトランズアクションであるクワドレット
リクエストのみがサポートされる。
【0155】一方、800h番地以降の領域は、クワドレッ
トトランズアクションから最大512クワドレット(2048
バイト)までのブロックトランズアクションを取り扱う
ことが可能である。そこで、1000hから1400h番地の領域
に、一般形式のコンフィギュレーションROMに相当する
データを配置して、上記のデータ転送における制限を補
う。
【0156】これに関連して、図32に示すように、最小
形式のコンフィギュレーションROMには、キー値「1h」
およびVender_IDのエントリに続いて、一般形式のコン
フィグレーションROMに相当するデータが配置された領
域の先頭アドレスを参照するオフセット値(ROM image o
ffset)を含むエントリが、その情報を識別するために予
め定められたベンダユニークなキー値「38h」とともに
存在する。
【0157】また、1000h番地からはじまるデータは、
一般形式のコンフィグレーションROMのフォーマットに
従い、そのInstance Directory1004のKeyword Leaf1009
には基本機能を表す「CAMERA」というキーワードが記述
される。また、データ転送に使用されるプロトコルとし
てDPPに関する情報が記述されたUnit Directory1006が
存在する。
【0158】なお、上記のコンピュータ、ディジタルカ
メラおよびインクジェットプリンタは、1394ネットワー
クにより相互に接続されるデバイスである。
【0159】[デバイスディスカバリ動作]上記のデバ
イスが1394ネットワークに接続された状態において、デ
バイスディスカバリを行うために、デバイス間で行われ
るコンフィグレーションROMの読み出しについて説明す
る。
【0160】●プリンタの検出 まず、コンピュータが1394ネットワークに接続されたプ
リンタを検出する動作を、図33に示すフローチャートを
参照して説明する。
【0161】本実施形態のコンピュータの電源オン(ま
たはリセット)などによって、バスリセットが起動さ
れ、バスリセットが解除された後、コンピュータのオペ
レーティングシステム(OS)は、1394ネットワークに接続
されたすべての機器のコンフィギュレーションROMを読
み出す。
【0162】コンピュータは、まずノード#1(ここでは
プリンタとする)のコンフィギュレーションROMから情
報を読み出す。オフセットを400hとし(S1)、ノード#1の
コンフィギュレーションROM領域の先頭クワドレットを
読み出し(S2)、その最上位バイトを解析することでコン
フィグレーションROMの形式を判定する(S3)。
【0163】本実施形態のプリンタの場合、コンフィグ
レーションROMは一般形式であるから、404h番地から4ク
ワドレット分のBus Info Block(バスインフォメーショ
ンブロック)1001を読み出す(S4)。次に、Bus Info Blo
ckのMAX_ROMフィールド(図28参照)を解析する(S5)。
この解析により、この場合はプリンタであるノード#1の
コンフィグレーションROM領域が256クワドレットまでの
任意のブロックサイズのトランズアクションに対応可能
であることがわかる。
【0164】次に、コンフィグレーションROMの読出単
位をコンピュータの最大能力である16クワドレット(64
バイト)に決定し(S6)、Root Directory1002(414h番
地)以降のブロックリード要求を発行する(S7)。ブロッ
クリード要求を受信したノード#1は、その要求に対して
ACKを発行した後、要求されたアドレスのブロックデー
タをリードレスポンスとして要求元ノードであるコンピ
ュータに返す。
【0165】コンピュータは、このようにして414h番地
から16クワドレットずつのブロックリード要求を繰り返
し発行し、リードレスポンスとしてコンフィグレーショ
ンROMのデータを取得し、解析する(S8)。従って、Root
Directoryをはじめとする各ディレクトリを、そのディ
レクトリ長(例えばRoot Directory Length)に基づき
読み取り、そこに含まれる各エントリをキー値に基づい
て解析する。そして、必要があれば、さらにブロックリ
ード要求の発行を繰り返して、ノード#1のベンダ情報、
機能情報およびプロトコル情報などを取得する。
【0166】ステップS7およびs8において、コンフィグ
レーションROMの読み出し、および、解析を繰り返すこ
とで、コンピュータは、ノード#1のコンフィグレーショ
ンROMのInstance Directory1004およびUnit Directory1
006に格納された情報から、ノード#1がDPPをサポートす
るプリンタであることを認識する。
【0167】●ディジタルカメラの検出 次に、コンピュータが1394ネットワークに接続されたデ
ィジタルカメラを検出する動作を、図33に示すフローチ
ャートを参照して説明する。
【0168】コンピュータは、ノード#2(ここではディ
ジタルカメラとする)のコンフィギュレーションROM領
域の先頭クワドレットを読み出し(S2)、その最上位バイ
トを解析することでコンフィグレーションROMの形式を
判定する(S3)。
【0169】上述したように、本実施形態のディジタル
カメラは最小形式のコンフィギュレーションROMを備え
ているために、図32に示すように、先頭クワドレットの
最上位バイトの値は最小形式を示す「1h」である。従っ
て、コンピュータは、最小形式であることを認識した
後、続く3バイトを解析してベンダ情報を取得する(S
9)。続いて、404h番地以降に保存されたベンダに固有の
情報(Vender Dependent information)を読み出し、解析
する(S10)。
【0170】前述したように、本実施形態のディジタル
カメラの404h番地以降には、ベンダに固有の情報とし
て、一般形式のコンフィグレーションROMに相当するデ
ータが配置された領域の先頭アドレスを示すオフセット
値を含むエントリが、その情報を識別するために予め定
められたキー値「38h」とともに存在する。
【0171】コンピュータは、キー値「38h」を検出す
ると(S11)、そのエントリの値が一般形式のコンフィグ
レーションROMに相当するデータを参照するためのオフ
セット値(この場合は1000h)であると認識する。そこ
で、オフセットを1000hとして(S12)、ステップS2以降の
処理を行う。
【0172】従って、1000h番地のクワドレットが読み
出され(S2)、1000h番地以降に一般形式のコンフィギュ
レーションROMに相当するデータが配置されていること
が判定される(S3)。そして、1004番地から4クワドレッ
ト分のBus Info Blockが読み出され(S4)、MAX_ROMフィ
ールドが解析される(S5)。この解析により、コンフィグ
レーションROMに相当するデータが格納されたノード#2
の1000h番地以降に領域が256クワドレット(1024バイ
ト)までの任意のブロックサイズのリード要求に対応可
能であることがわかる。
【0173】従って、プリンタのコンフィグレーション
ROMの読み出しと同様に、読出単位をコンピュータの最
大能力である16クワドレット(128バイト)に決定し(S
6)、Root Directory1002に相当する(1014h番地)以降
のブロックリード要求を発行する(S7)。ブロックリード
要求を受信したノード#2は、その要求に対してACKを発
行した後、要求されたアドレスのブロックデータをリー
ドレスポンスとして要求元ノードであるコンピュータに
返す。
【0174】コンピュータは、このようにして1014h番
地から16クワドレットずつのブロックリード要求を繰り
返し発行し、リードレスポンスとしてコンフィグレーシ
ョンROMに相当するデータを取得し、解析する(S8)。従
って、Root Directoryをはじめとする各ディレクトリに
相当するデータを、そのディレクトリ長(例えばRootDi
rectory Length)に基づき読み取り、そこに含まれる各
エントリをキー値に基づいて解析する。そして、必要が
あれば、さらにブロックリード要求の発行を繰り返し
て、ノード#2のベンダ情報、機能情報およびプロトコル
情報などを取得する。
【0175】ステップS7およびS8において、コンフィグ
レーションROMに相当するデータの読み出し、および、
解析を繰り返すことで、コンピュータは、ノード#2のコ
ンフィグレーションROMに相当するInstance Directory1
004およびUnit Directory1006の情報から、ノード#2がD
PPをサポートするディジタルカメラであることを認識す
る。
【0176】このように、コンピュータは、1394ネット
ワーク上のノードのデバイス情報を得るために、デバイ
スごとにコンフィギュレーションROMから情報を読み出
し、解析する。しかし、この読み出しは、デバイスによ
っては(上記の説明ではディジタルカメラ)、最小形式
のコンフィグレーションROMとしての情報しか得られな
いし、ブロックトランズアクションを利用することもで
きない。そこで、より詳細な情報を提供し、かつ、コン
フィグレーションROMの読み出しを効率化するために、
ブロックトランズアクションが可能な領域に一般形式の
コンフィグレーションROMに相当するデータ(ROMイメー
ジ)が格納されている。このROMイメージをブロックト
ランズアクションによって読み出すことにより、上記の
デバイスディスカバリを効率的に行うことができ、か
つ、詳細な情報を取得することが可能になる。
【0177】●印刷動作 コンピュータは、ユーザから1394ネットワーク上のプリ
ンタに対する印刷動作の開始を指示されると、先に検出
したプリンタがサポートするDPPに従い、プリンタのコ
ンフィギュレーションROM内のDPPに関連するUnit Direc
tory1006の情報に基づき信経路を確立する。具体的に
は、プリンタのUnit Directory1006のコネクションレジ
スタ情報に記述されたアドレスに対してコネクトコマン
ドパケットを発行する。なお、DPPの詳細な説明は省略
する。
【0178】コネクトコマンドを受信したプリンタは、
コネクト要求に対するレスポンスを返すために、コネク
トコマンドを発行したノード(ここではノード#3とす
る)のコンフィギュレーションROMの読み出しを開始す
る。この読み出し動作を、図33および図34を参照して説
明する。
【0179】プリンタは、まずノード#3のコンフィギュ
レーションROMから情報を読み出す。オフセットを400h
とし(S1)、ノード#3のコンフィギュレーションROM領域
の先頭クワドレットを読み出し(S2)、その最上位バイト
を解析することでコンフィグレーションROMの形式を判
定する(S3)。
【0180】本実施形態のコンピュータの場合、コンフ
ィグレーションROMは一般形式であるから、プリンタ
は、404h番地から4クワドレット分のBus Info Block
(バスインフォメーションブロック)1001を読み出す(S
4)。以上の処理は図34に示すステップS101に相当する。
【0181】次に、Bus Info BlockのMAX_ROMフィール
ドを解析する(S5)。本実施形態のコンピュータの場合、
200hから800h番地の領域は最小単位のトランズアクショ
ンであるクワドレットリードのみをサポートするから、
MAX_ROMフィールドにはクワドレットリードのみに対応
する旨を示す値が記述されている。
【0182】これらの情報に従い、プリンタは、コンフ
ィグレーションROMの読出単位を最小単位の1クワドレッ
ト(4バイト)に決定し(S6)、Root Directory1002(414
h番地)以降のブロックリード要求を発行し(S7)、リー
ドレスポンスとしてコンフィグレーションROMのデータ
を取得し、解析する(S8)。以上の処理は図34に示すステ
ップS102に相当する。
【0183】前述したように、本実施形態のコンピュー
タのコンフィギュレーションROMのRoot Directoryに
は、コンフィグレーションROMのデータと同一のデータ
が配置された領域の先頭アドレスを示すオフセット値を
含むエントリが、その情報を識別するために予め定めら
れたキー値「21h」とともに存在する。
【0184】プリンタは、キー値「21h」を検出すると
(S13)、そのエントリの値がコンフィグレーションROMと
同じデータを参照するためのオフセット値(この場合は
1000h)であると認識する。そこで、オフセットを1000h
として(S12)、ステップS2以降の処理を行う。
【0185】従って、1000h番地のクワドレットが読み
出され(S2)、1000h番地以降にコンフィギュレーションR
OMと同じデータが配置されていることが判定される(S
3)。そして、1004番地から4クワドレット分のBus Info
Blockが読み出され(S4)、MAX_ROMフィールドが解析され
る(S5)。以上の処理は図34に示すステップS103に相当す
る。
【0186】ステップS5の解析により、コンフィグレー
ションROMと同じデータが格納されたノード#3の1000h番
地以降に領域が256クワドレット(1024バイト)までの
任意のブロックサイズのリード要求に対応可能であるこ
とがわかる。なお、この領域の最大アクセスサイズは実
際は2048バイト(512クワドレット)であるが、ROM領域
の最大アクセスサイズは1024バイトになっている。
【0187】従って、プリンタは、読出単位をプリンタ
の最大能力である256クワドレット(1024バイト)に決
定し(S6)、Root Directory1002に相当する(1014h番
地)以降のブロックリード要求を発行する(S7)。ブロッ
クリード要求を受信したノード#3は、その要求に対して
ACKを発行した後、要求されたアドレスのブロックデー
タをリードレスポンスとして要求元ノードであるプリン
タに返す。
【0188】この場合、プリンタは、256クワドレット
(1024バイト)のブロックリード要求を一回発行するこ
とで、コンフィグレーションROMの残りの全データを読
み出し、解析することが可能である(S8)。勿論、図34に
示すように、1000h番地から始まるコンフィグレーショ
ンROMの全データを一括読み出ししてもよい。以上の処
理は図34に示すステップS104に相当する。
【0189】コンフィグレーションROMと同じデータの
読み出し、および、解析により、プリンタは、ノード#3
のコンフィグレーションROMと同じInstance Directory1
004およびUnit Directory1006の情報から、ノード#3がD
PPをサポートするコンピュータであることを認識すると
ともに、DPPのコネクト要求に対してレスポンスを返す
べきコンピュータのコネクションレジスタのアドレス情
報も得ることができる。
【0190】このように、プリンタは、1394ネットワー
ク上のノードのデバイス情報を得るために、コンフィギ
ュレーションROMから情報を読み出し、解析する。しか
し、この読み出しは、デバイスによっては(上記の説明
ではコンピュータ)、ブロックトランズアクションを利
用できない。そこで、コンフィグレーションROMの読み
出しを効率化するために、ブロックトランズアクション
が可能な領域にコンフィグレーションROMと同じデータ
(ROMイメージ)が格納されている。このROMイメージを
ブロックトランズアクションによって読み出すことによ
り、上記のデバイスディスカバリを効率的に行うことが
できる。
【0191】以上説明したように、IEEE1394に準拠する
電子機器において、IEEE1212に定められたコンフィギュ
レーションROMの格納領域がクワドレットリードトラン
ズアクションのみをサポート、または、大きなブロック
サイズのブロックリードトランスアクションをサポート
しない場合がある。このような場合、コンフィグレーシ
ョンROM領域に記憶される情報と同一のデータ、また
は、一般形式のコンフィグレーションROMに相当するデ
ータを、データの読み出し効率がより良い領域、すなわ
ち大きなブロックサイズのブロックリードトランズアク
ションをサポートする領域に、ROMイメージとして格納
することで、1394シリアルバスの効率のよいデータアク
セスにより、デバイスのコンフィギュレーションROMの
情報を効率よく読み出すことが可能になる。
【0192】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
【0193】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることは言うまでもない。
【0194】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0195】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明した(図33などの)フローチ
ャートに対応するプログラムコードが格納されることに
なる。
【0196】
【発明の効果】以上説明したように、本発明によれば、
コンフィグレーションROM情報の効率的な読み出しを可
能にすることができる。
【0197】また、コンフィグレーションROM情報の読
み出しにより充分な情報の提供を可能にすることができ
る。
【図面の簡単な説明】
【図1】1394シリアルバスを用いて構成されるネットワ
ークシステムの例を示す図、
【図2】1394インタフェイスの構成例を示す図、
【図3】リンクレイヤが提供するサービスを示す図、
【図4】トランザクションレイヤが提供するサービスを
示す図、
【図5】1394シリアルバスにおけるアドレス空間を説明
する図、
【図6】CSRコアレジスタに格納される情報のアドレス
および機能を示す図、
【図7】シリアルバスレジスタに格納される情報のアド
レスおよび機能を示す図、
【図8】最小形式のコンフィグレーションROMを示す
図、
【図9】一般形式のコンフィグレーションROMを示す
図、
【図10】ユニット空間のシリアルバス装置レジスタに
格納される情報のアドレスおよび機能を示す図、
【図11】IEEE1394規格に準拠した通信ケーブルの断面
図、
【図12】DS-Link方式を説明する図、
【図13】1394ネットワークにおけるバスリセット起動
後の状態を説明する図、
【図14】1394ネットワークにおけるバスリセットの開
始からノードIDの割り当てまでの手順を示すフローチャ
ート、
【図15】親子関係の宣言を行う処理の詳細例を示すフ
ローチャート、
【図16】各ノードにノードIDを割り当てる処理を詳細
に示すフローチャート、
【図17】各ノードにノードIDを割り当てる処理を詳細
に示すフローチャート、
【図18】セルフIDパケットの構成例を示す図、
【図19】1394ネットワークにおける調停を説明する
図、
【図20】通信サイクルの一期間にアイソクロナス転送
モードおよびアシンクロナス転送モードが混在された状
態を示す図、
【図21】アイソクロナス転送モードにより転送される
パケットのフォーマットを示す図、
【図22】通信サイクルを示す図、
【図23】アシンクロナス転送モードにより転送される
パケットのフォーマットを示す図、
【図24】各パケットフォーマットにおけるパケットフ
ィールドの詳細を説明する図、
【図25】本実施形態のインクジェットプリンタの構成
例を説明するブロック図、
【図26】1394インタフェイスブロックの基本構成を示
すブロック図、
【図27】本実施形態のプリンタの1394アドレス空間を
示す図、
【図28】本実施形態のプリンタが備えるコンフィグレ
ーションROMを示す図、
【図29】本実施形態のコンピュータの1394アドレス空
間を示す図、
【図30】本実施形態のコンピュータが備えるコンフィ
グレーションROMを示す図、
【図31】本実施形態のディジタルカメラの1394アドレ
ス空間を示す図、
【図32】本実施形態のディジタルカメラが備えるコン
フィグレーションROMを示す図、
【図33】デバイスディスカバリ動作を説明するための
フローチャート、
【図34】本実施形態のプリンタによるコンピュータの
コンフィギュレーションROMの読み出し動作を説明する
図である。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 IEEE1394規格に適合または準拠するシリ
    アルバスに接続可能な情報処理装置であって、 所定アドレス領域に記憶された、IEEE1212規格に従うコ
    ンフィギュレーションROM情報と、 前記所定アドレス領域とは異なるアドレス領域に記憶さ
    れた、前記コンフィグレーションROM情報と同一の情報
    とを有することを特徴とする情報処理装置。
  2. 【請求項2】 前記コンフィグレーションROM情報に
    は、前記コンフィグレーションROM情報と同一の情報が
    記憶されたアドレス領域を参照するための情報が含まれ
    ることを特徴とする請求項1に記載された情報処理装
    置。
  3. 【請求項3】 前記コンフィギュレーションROM情報はI
    EEE1212規格に定められる一般形式を有し、前記コンフ
    ィグレーションROM情報のルートディレクトリの先頭エ
    ントリには、前記コンフィグレーションROM情報と同一
    の情報が記憶されたアドレス領域を参照するための情報
    が含まれることを特徴とする請求項1に記載された情報
    処理装置。
  4. 【請求項4】 前記コンフィグレーションROM情報と同
    一の情報が記憶されるべきアドレス領域は、大きなブロ
    ックサイズのブロックリードトランズアクションがサポ
    ートされるアドレス領域であることを特徴とする請求項
    1から請求項3の何れかに記載された情報処理装置。
  5. 【請求項5】 IEEE1394規格に適合または準拠するシリ
    アルバスに接続可能な情報処理装置であって、 所定アドレス領域に記憶された、IEEE1212規格に従う最
    小形式のコンフィギュレーションROM情報と、 前記所定アドレス領域とは異なるアドレス領域に記憶さ
    れた、IEEE1212規格に従う一般形式のコンフィグレーシ
    ョンROM情報に相当する情報とを有することを特徴とす
    る情報処理装置。
  6. 【請求項6】 前記最小形式のコンフィグレーションRO
    M情報には、前記一般形式のコンフィグレーションROM情
    報に相当する情報が記憶されたアドレス領域を参照する
    ための情報が含まれることを特徴とする請求項5に記載
    された情報処理装置。
  7. 【請求項7】 前記一般形式のコンフィグレーションRO
    M情報に相当する情報が記憶されるべきアドレス領域
    は、大きなブロックサイズのブロックリードトランズア
    クションがサポートされるアドレス領域であることを特
    徴とする請求項5または請求項6に記載された情報処理装
    置。
  8. 【請求項8】 IEEE1394規格に適合または準拠するシリ
    アルバスに接続された複数のデバイス間における情報処
    理方法であって、 デバイスの所定アドレス領域に記憶された、IEEE1212規
    格に従うコンフィギュレーションROM情報の少なくとも
    一部を読み出し、 読み出した情報に基づき、前記所定アドレス領域とは異
    なるアドレス領域に記憶された、前記コンフィグレーシ
    ョンROM情報と同一の情報を読み出すことを特徴とする
    情報処理方法。
  9. 【請求項9】 IEEE1394規格に適合または準拠するシリ
    アルバスに接続された複数のデバイス間における情報処
    理方法であって、 デバイスの所定アドレス領域に記憶された、IEEE1212規
    格に従う最小形式のコンフィギュレーションROM情報の
    少なくとも一部を読み出し、 読み出した情報に基づき、前記所定アドレス領域とは異
    なるアドレス領域に記憶された、IEEE1212規格に従う一
    般形式のコンフィグレーションROM情報に相当する情報
    を読み出すことを特徴とする情報処理方法。
  10. 【請求項10】 IEEE1394規格に適合または準拠するシ
    リアルバスに接続された複数のデバイス間における情報
    処理のプログラムコードが記録された記録媒体であっ
    て、前記プログラムコードは少なくとも、 デバイスの所定アドレス領域に記憶された、IEEE1212規
    格に従うコンフィギュレーションROM情報の少なくとも
    一部を読み出すステップのコードと、 読み出した情報に基づき、前記所定アドレス領域とは異
    なるアドレス領域に記憶された、前記コンフィグレーシ
    ョンROM情報と同一の情報を読み出すステップのコード
    とを有することを特徴とする記録媒体。
  11. 【請求項11】 IEEE1394規格に適合または準拠するシ
    リアルバスに接続された複数のデバイス間における情報
    処理のプログラムコードが記録された記録媒体であっ
    て、前記プログラムコードは少なくとも、 デバイスの所定アドレス領域に記憶された、IEEE1212規
    格に従う最小形式のコンフィギュレーションROM情報の
    少なくとも一部を読み出すステップのコードと、 読み出した情報に基づき、前記所定アドレス領域とは異
    なるアドレス領域に記憶された、IEEE1212規格に従う一
    般形式のコンフィグレーションROM情報に相当する情報
    を読み出すステップのコードとを有することを特徴とす
    る記録媒体。
JP2000259713A 2000-08-29 2000-08-29 情報処理装置およびその方法、並びに、記録媒体 Withdrawn JP2002077211A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000259713A JP2002077211A (ja) 2000-08-29 2000-08-29 情報処理装置およびその方法、並びに、記録媒体
US09/939,806 US6963938B2 (en) 2000-08-29 2001-08-28 Information processing apparatus and method therefor
EP01307334A EP1184791A3 (en) 2000-08-29 2001-08-29 Information processing apparatus connected to a serial bus and method therefore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000259713A JP2002077211A (ja) 2000-08-29 2000-08-29 情報処理装置およびその方法、並びに、記録媒体

Publications (1)

Publication Number Publication Date
JP2002077211A true JP2002077211A (ja) 2002-03-15

Family

ID=18747844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000259713A Withdrawn JP2002077211A (ja) 2000-08-29 2000-08-29 情報処理装置およびその方法、並びに、記録媒体

Country Status (3)

Country Link
US (1) US6963938B2 (ja)
EP (1) EP1184791A3 (ja)
JP (1) JP2002077211A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519998A (ja) * 2003-12-30 2007-07-19 インテル コーポレイション I/oデバイスによるチップセット機能検出および構成設定

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2823626B1 (fr) * 2001-04-12 2003-07-04 Canon Kk Procede et dispositif de configuration d'une unite fonctionnelle ayant un caractere temporaire dans un reseau de communication
JP3763466B2 (ja) * 2001-12-11 2006-04-05 キヤノン株式会社 プリンタコマンド制御装置、方法、及びシステム、並びに該装置に接続するプリンタ、並びにプログラム及び記憶媒体
US7346714B2 (en) 2002-09-05 2008-03-18 Canon Kabushiki Kaisha Notification of completion of communication with a plurality of data storage areas
US7417973B1 (en) * 2002-12-31 2008-08-26 Apple Inc. Method, apparatus and computer program product for ensuring node participation in a network bus
US8015266B1 (en) * 2003-02-07 2011-09-06 Netapp, Inc. System and method for providing persistent node names
DE10339535A1 (de) * 2003-08-26 2005-03-24 Deutsche Thomson-Brandt Gmbh Verfahren zum Abfragen von Informationen bezüglich einer Netzwerkteilnehmerstation in einem Netzwerk verteilter Stationen sowie Netzwerkteilnehmerstation für die Durchführung des Verfahrens
US7389409B2 (en) * 2005-04-29 2008-06-17 Alcatel Lucent Electronic device configuration management systems and methods
US8135806B2 (en) * 2005-05-06 2012-03-13 Broadcom Corporation Virtual system configuration
CN103984545B (zh) * 2014-04-24 2017-05-17 北京掌阔移动传媒科技有限公司 一种移动终端广告请求方法和装置
CN108234104B (zh) * 2016-12-12 2020-11-13 中国航空工业集团公司西安航空计算技术研究所 基于ieee1394-2008协议的等时周期资源管理方法
EP4095815A4 (en) * 2020-01-23 2023-01-18 Fujitsu Frontech Limited DEVICE FOR HANDLING PAPER SHEET
US20230290393A1 (en) * 2022-01-28 2023-09-14 Stmicroelectronics S.R.L. Device with client configuration and related method

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608876A (en) * 1995-05-22 1997-03-04 International Business Machines Corporation Add-in board with enable-disable expansion ROM for PCI bus computers
US5815678A (en) * 1995-07-14 1998-09-29 Adaptec, Inc. Method and apparatus for implementing an application programming interface for a communications bus
US5968152A (en) * 1996-04-10 1999-10-19 Apple Computer, Inc. Method and apparatus for extending key space in a plug and play ROM
US5991842A (en) * 1996-08-27 1999-11-23 Canon Kabushiki Kaisha Communication system for providing digital data transfer, electronic equipment for transferring data using the communication system, and an interface control device
JP3862371B2 (ja) * 1996-08-27 2006-12-27 キヤノン株式会社 電子機器及び制御方法
DE19835668A1 (de) * 1997-08-07 1999-02-25 Matsushita Electric Ind Co Ltd Übertragungsmedienverbindungsvorrichtung, steuernde Vorrichtung, gesteuerte Vorrichtung und Speichermedium
KR19990044988A (ko) * 1997-11-25 1999-06-25 이데이 노부유끼 접속 상황 송신 장치, 접속 상황 표시 데이터 작성 장치 및 접속 상황 표시 방법
US6237049B1 (en) * 1998-01-06 2001-05-22 Sony Corporation Of Japan Method and system for defining and discovering proxy functionality on a distributed audio video network
JPH11259184A (ja) * 1998-03-11 1999-09-24 Nec Shizuoka Ltd 外部インタフェース回路
US6477589B1 (en) * 1998-03-13 2002-11-05 Canon Kabushiki Kaisha Information processing apparatus and method
US6141767A (en) * 1998-04-03 2000-10-31 Sony Corporation Method of and apparatus for verifying reliability of contents within the configuration ROM of IEEE 1394-1995 devices
US6549951B1 (en) * 1998-08-25 2003-04-15 Stmicroelectronics, Inc. Method and device for controlling communications with a serial bus
US6643714B1 (en) * 1999-03-25 2003-11-04 Microsoft Corporation Modification and use of configuration memory used during operation of a serial bus
US6502158B1 (en) * 1999-04-23 2002-12-31 Sony Corporation Method and system for address spaces
US6446155B1 (en) * 1999-06-30 2002-09-03 Logitech Europe S. A. Resource bus interface
JP2001045030A (ja) * 1999-07-29 2001-02-16 Nec Corp 接続制御装置
US6553432B1 (en) * 1999-10-26 2003-04-22 Dell Usa, L.P. Method and system for selecting IDE devices
US6691096B1 (en) * 1999-10-28 2004-02-10 Apple Computer, Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6671768B1 (en) * 1999-11-01 2003-12-30 Apple Computer, Inc. System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US6813663B1 (en) * 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US7337217B2 (en) * 2000-07-21 2008-02-26 Samsung Electronics Co., Ltd. Architecture for home network on world wide web
US6640312B1 (en) * 2000-08-01 2003-10-28 National Instruments Corporation System and method for handling device retry requests on a communication medium
US6769077B2 (en) * 2000-12-20 2004-07-27 Microsoft Corporation System and method for remotely creating a physical memory snapshot over a serial bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519998A (ja) * 2003-12-30 2007-07-19 インテル コーポレイション I/oデバイスによるチップセット機能検出および構成設定

Also Published As

Publication number Publication date
EP1184791A3 (en) 2007-03-21
EP1184791A2 (en) 2002-03-06
US6963938B2 (en) 2005-11-08
US20020026550A1 (en) 2002-02-28

Similar Documents

Publication Publication Date Title
JP4035235B2 (ja) 電子機器
EP1134937B1 (en) Information signal processing apparatus, corresponding system, method and computer readable storage medium
US6477589B1 (en) Information processing apparatus and method
US7203787B2 (en) Information processing apparatus and method that utilizes stored information about a mountable device
JP2002074350A (ja) 画像処理システム及びその制御方法、及び画像処理装置
JP2002077211A (ja) 情報処理装置およびその方法、並びに、記録媒体
JP4027189B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
JP3630971B2 (ja) データ通信方法、装置、システム、及び記憶媒体
JP4424700B2 (ja) 情報処理装置およびその制御方法
US7177959B2 (en) Information signal processing apparatus and method
JP2001275066A (ja) 画像処理装置およびその方法、並びに、記憶媒体
JP2003044179A (ja) 電力供給装置、電力受給装置、電力供給方法及び電力受給方法
JP2002111947A (ja) 画像処理装置およびその方法
JP4109983B2 (ja) 通信システム
JP2003229857A (ja) シリアルバスシステム、シリアルバスの帯域管理機器および通信機器
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
JP3647328B2 (ja) 画像処理装置及びその制御方法並びに画像処理システム
JP2003110651A (ja) データ処理方法、データ処理装置、通信プロトコル及びプログラム
JP2002204276A (ja) データ通信システム及びその電力制御方法、及び電力受給装置
JP2005044078A (ja) 通信方法、印刷装置及びホスト装置
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2009027349A (ja) ネットワーク機器
JP4095384B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2002200824A (ja) 画像形成装置及びその制御方法、及び画像形成システム
JP2001160938A (ja) 画像処理装置及び画像処理システム、及びその制御方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106