JP2006134222A - 情報処理装置及び方法 - Google Patents

情報処理装置及び方法 Download PDF

Info

Publication number
JP2006134222A
JP2006134222A JP2004324956A JP2004324956A JP2006134222A JP 2006134222 A JP2006134222 A JP 2006134222A JP 2004324956 A JP2004324956 A JP 2004324956A JP 2004324956 A JP2004324956 A JP 2004324956A JP 2006134222 A JP2006134222 A JP 2006134222A
Authority
JP
Japan
Prior art keywords
node
bus
communication
data
information
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
JP2004324956A
Other languages
English (en)
Inventor
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 JP2004324956A priority Critical patent/JP2006134222A/ja
Publication of JP2006134222A publication Critical patent/JP2006134222A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 信頼性の高い転送スピードでのデータ転送スピードを選択することを特徴としたIEEE1394データ転送方法を提供する。
【解決手段】 IEEE1394バスにおいてある転送スピードの通信時に転送エラーが発生することにより所定のトランズアクションが正常に完了しない場合、受信側が信頼性の高い転送スピードで通信を行う為に自デバイスが発行するセルフIDパケット中のスピード情報を変更しバスの初期化を行う。
【選択図】 図28

Description

本発明は、IEEE1394等のインタフェースで接続される情報処理装置及び方法に関するものである。
1394ネットワークは、100/200/400Mbpsのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
1394インタフェースを装着するデバイスにおいてデバイス間通信を行う場合、バスの初期化処理において個々のデバイスが所定の手段を使って自デバイスのスピード性能を公開する(例えば、特許文献1)。バスの初期化シーケンスにおいて、これら情報をもとにデバイス間の転送スピードの決定を行い、接続されるデバイス双方が送受できる最高転送スピードが選択される。
特開平10−229427号公報
しかしながらデバイス間の相性、接続に使用するケーブル、ノイズの影響等により様々な接続環境下でデバイス間通信が行われ、高速データ転送を阻む劣悪な接続環境で動作が行われることもある。そういった場合、環境がバスの初期化時に決定されたデバイス間転送スピードでの通信に影響を及ぼし、データ転送エラーの多発などにより正常なデータ転送が行われない場合がある。
本発明は、上述の問題点に着目して成されたものであって、信頼性の高い転送スピードでのデータ転送スピードを選択することを特徴としたIEEE1394データ転送を実現できる情報処理装置及び方法の提供を目的とする。
本発明は、上記課題を解決するために以下(1)の構成を備える。
(1)IEEE1394に準拠した通信制御バスに接続された通信を行うデバイス間における2ノード間における通信において、IEEE1394トランズアクションエラーが所定の頻度を超えて発生する場合、トランズアクションの受信側が信頼性の高い転送スピードで通信を行う為に自デバイスが発行するセルフIDパケット中のスピード情報を変更し、バスの初期化を行うことを特徴とする情報処理装置。
すなわち本発明の情報信号処理装置及び同システムは、IEEE1394バスにおいてある転送スピードの通信時に転送エラーが発生することにより所定のトランズアクションが正常に完了しない場合、受信側が信頼性の高い転送スピードで通信を行う為に自デバイスが発行するセルフIDパケット中のスピード情報を変更しバスの初期化を行うことにより、信頼性の高い転送スピードでのデータ転送スピードを選択することを特徴としたIEEE1394データ転送方法を提供する。
本発明によれば、IEEE1394で接続されたデバイス通信において、機器間の相性、接続に使用するケーブル、ノイズの影響等により決定されたデバイス間転送スピードでの通信に影響を及ぼしデータ転送エラーの多発などにより正常なデータ転送が行われない場合があるようなケースでは、トランズアクションの受信側デバイスがより信頼性の高いスピードにて通信を行う為にセルフIDパケットのスピード情報を調整し、バスリセットを発行することにより、より信頼性の高い転送スピードでのデータ転送モードに切り替えることが可能となり通信安定性が期待され、トランズアクションエラー状態が発生する頻度が低減される。
以下に本発明を実施するための最良の形態を、実施例に基づいて説明する。
図1は、本発明を最もよくあらわす図であり、IEEE1394で接続されたホストコンピュータ(以下ホスト)1aとプリンタ1bを表している。コンピュータ1aとプリンタ1bの通信はIEEE1394インタフェース上で接続されている。両デバイス共に400Mbpsの転送レートに対応したデバイスである。
〈IEEE1394の技術の概要〉
以下、本実施例のデジタルインタフェースに適用されるIEEE1394−1995規格の技術について簡単に説明する。尚、IEEE1394−1995規格(以下、IEEE1394規格)についての詳細は、1996年8月30日にIEEE(The Institute of Electrical and Electronics Engineers,Inc.)から出版された「IEEE Standard for a High Performance Serial Bus」に記述されている。
(1)概要
図2にIEEE1394規格に準拠したデジタルインタフェース(以下、1394インタフェース)を具備するノードにより構成される通信システム(以下、1394ネットワーク)の一例を示す。1394ネットワークは、シリアルデータの通信可能なバス型ネットワークを構成するものである。
図2において、各ノードA〜Fは、IEEE1394規格に準拠した通信ケーブルを介して接続されている。これらのノードA〜Fは、例えば、PC(Personal Computer)、デジタルVTR(Video Tape Recorder)、DVD(Digital Video Disc)プレーヤ、デジタルカメラ、ハードディスク、モニタ等の電子機器である。
1394ネットワークの接続方式は、ディジーチェーン方式とノード分岐方式とに対応しており、自由度の高い接続を可能としている。
又、1394ネットワークでは、例えば、既存の機器を削除したり、新たな機器を追加したり、既存の機器の電源をON/OFFしたりした場合に、自動的にバスリセットを行う。このバスリセットを行うことにより、1394ネットワークは、新たな接続構成の認識と各機器に対するID情報の割り当てとを自動的に行うことができる。この機能によって、1394ネットワークは、ネットワークの接続構成を常時認識することができる。
又、1394ネットワークは、他の機器から転送されたデータを中継する機能を有している。この機能により、全ての機器がバスの動作状況を把握することができる。
又、1394ネットワークは、Plug&Playと呼ばれる機能を有している。この機能により、全ての機器の電源をOFFにすることなく、接続するだけで自動に接続機器を認識することができる。
又、1394ネットワークは、100/200/400Mbpsのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
更に、1394ネットワークは、2つの異なるデータ転送方式(即ち、Asynchronous転送モードとIsochronous転送モード)に対応している。
Asynchronous転送モードは、必要に応じて非同期に転送することが要求されるデータ(即ち、コントロール信号やファイルデータ等)を転送する際に有効である。又、Isochronous転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ(即ち、ビデオデータやオーディオデータ等)を転送する際に有効である。
Asynchronous転送モードとIsochronous転送モードとは、各通信サイクル(通常1サイクルは、125μS)内において、混在させることが可能である。各転送モードは、サイクルの開始を示すサイクル・スタート・パケット(以下、CSP)の転送後に実行される。
尚、各通信サイクル期間において、Isochronous転送モードは、Asynchronous転送モードよりも優先順位が高く設定されている。又、Isochronous転送モードの転送帯域は、各通信サイクル内で保証されている。
(2)アーキテクチャ
次に、図3を用いて1394インタフェースの構成要素を説明する。
1394インタフェースは、機能的に複数のレイヤ(階層)から構成されている。図3において、1394インタフェースは、IEEE1394規格に準拠した通信ケーブル(1394シリアルバスケーブル)301を介して他のノードの1394インタフェースと接続される。又、1394インタフェースは、1つ以上の通信ポート(1394通信ポート)302を有し、通信ポート302は、ハードウェア部に含まれるフィジカルレイヤ303と接続される。
図3において、ハードウェア部は、フィジカルレイヤ303とリンクレイヤ304とから構成されている。フィジカルレイヤ303は、他のノードとの物理的、電気的なインタフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化/復号化、バス使用権の調停等を行う。又、リンクレイヤ304は、通信パケットの生成と送受信、サイクルタイマの制御等を行う。
又、図3において、ファームウェア部は、トランザクションレイヤ305とシリアルバスマネージメント306とを含んでいる。トランザクションレイヤ305は、Asynchronous転送モードを管理し、各種のトランザクション(リード、ライト、ロック)を提供する。シリアルバスマネージメント306は、後述するCSRアーキテクチャに基づいて、自ノードの制御、自ノードの接続状態の管理、自ノードのID情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。
以上、ハードウェア部とファームウェア部とが実質的に1394インタフェースを構成するものであり、それらの基本構成は、IEEE1394規格により規定されている。
又、ソフトウェア部に含まれるアプリケーションレイヤ307は、使用するアプリケーションソフトによって異なり、ネットワーク上でどのようにデータを通信するのかを制御する。例えば、デジタルVTRの動画像データの場合は、AV/Cプロトコルなどの通信プロトコルによって規定されている。
(2−1)リンクレイヤ304
図4は、リンクレイヤ304の提供可能なサービスを示す図である。図4において、リンクレイヤ304は、次の4つのサービスを提供する。即ち、(イ)応答ノードに対して所定のパケットの転送を要求するリンク要求(LK_DATA.request)、(ロ)応答ノードに所定のパケットの受信を通知するリンク通知(LK_DATA.indication)、(ハ)応答ノードからのアクノリッジを受信したことを示すリンク応答(LK_DATA.response)、(ニ)要求ノードからのアクノリッジを確認するリンク確認(LK_DATA.confirmation)である。尚、リンク応答(LK_DATA.response)は、ブロードキャスト通信、Isochronousパケットの転送の場合には存在しない。
又、リンクレイヤ304は、上述のサービスに基づいて、上述の2種類の転送方式、即ち、Asynchronous転送モード、Isochronous転送モードを実現する。
(2−2)トランザクションレイヤ305
図5は、トランザクションレイヤ305の提供可能なサービスを示す図である。図5において、トランザクションレイヤ305は、次の4つのサービスを提供する。即ち、(イ)応答ノードに対して所定のトランザクションを要求するトランザクション要求(TR_DATA.request)、(ロ)応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知(TR_DATA.indication)、(ハ)応答ノードからの状態情報(ライト、ロックの場合は、データを含む)を受信したことを示すトランザクション応答(TR_DATA.response)、(ニ)要求ノードからの状態情報を確認するトランザクション確認(TR_DATA.confirmation)である。
又、トランザクションレイヤ305は、上述のサービスに基づいてAsynchronous転送を管理し、次の3種類のトランザクション、即ち、1)リード・トランザクション、2)ライト・トランザクション、3)ロック・トランザクションを実現する。
1)リード・トランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。
2)ライト・トランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。
3)ロック・トランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
(2−3)シリアルバスマネージメント306
シリアルバスマネージメント306は、具体的に、次の3つの機能を提供することができる。3つの機能とは、即ち、1)ノード制御、2)アイソクロナス・リソース・マネージャ(以下、IRM)、3)バスマネージャである。
1)ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行されるAsynchronous転送を管理する機能を提供する。
2)IRMは、他のノードとの間で実行されるIsochronous転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。
IRMは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者(IRMの機能を有するノード)の中から動的に選出される。又、IRMは、後述のバスマネージャの提供可能な機能(接続構成の管理、電源管理、速度情報の管理等)の一部を提供してもよい。
3)バスマネージャは、IRMの機能を有し、IRMよりも高度なバス管理機能を提供する。具体的には、より高度な電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理)、より高度な速度情報の管理(各ノード間の最大転送速度の管理)、より高度な接続構成の管理(トポロジーマップの作成)、これらの管理情報に基づくバスの最適化等を行い、更にこれらの情報を他のノードに提供する機能を有する。
又、バスマネージャは、シリアルバスネットワークを制御するためのサービスをアプリケーションに対して提供できる。ここで、サービスには、シリアルバス制御要求(SB_CONTROL.request)、シリアルバス・イベント制御確認(SB_CONTROL.confirmation)、シリアルバス・イベント通知(SB_CONTROL.indication)等がある。
SB_CONTROL.requestは、アプリケーションがバスリセットを要求するサービスである。SB_CONTROL.confirmationは、SB_CONTROL.requestをアプリケーションに対して確認するサービスである。SB_CONTROL.indicationは、非同期に発生するイベントをアプリケーションに対して通知するサービスである。
(3)アドレス指定
図6は、1394インタフェースにおけるアドレス空間を説明する図である。尚、1394インタフェースは、ISO/IEC13213:1994に準じたCSR(Command and Status Register)アーキテクチャに従い、64ビット幅のアドレス空間を規定している。
図6において、最初の10ビットのフィールド601は、所定のバスを指定するID番号に使用され、次の6ビットのフィールド602は、所定の機器(ノード)を指定するID番号に使用される。この上位16ビットを「ノードID」と呼び、各ノードはこのノードIDにより他のノードを識別する。又、各ノードは、このノードIDを用いて相手を識別した通信を行うことができる。
残りの48ビットからなるフィールドは、各ノードの具備するアドレス空間(256Mバイト構造)を指定する。その内の20ビットのフィールド603は、アドレス空間を構成する複数の領域を指定する。
フィールド603において、「0〜0xFFFFD」の部分は、メモリ空間と呼ばれる。「0xFFFFE」の部分は、プライベート空間と呼ばれ、各ノードで自由に利用できるアドレスである。又、「0xFFFFE」の部分は、レジスタ空間と呼ばれ、バスに接続されたノード間において共通の情報を格納する。各ノードは、レジスタ空間の情報を用いることにより、各ノード間の通信を管理することができる。
最後の28ビットのフィールド604は、各ノードにおいて共通或いは固有となる情報が格納されるアドレスを指定する。
例えば、レジスタ空間において、最初の512バイトは、CSRアーキテクチャのコア(CSRコア)レジスタ用に使用される。CSRコアレジスタに格納される情報のアドレス及び機能を図7に示す。図中のオフセットは、「0xFFFFF0000000」からの相対位置である。
次の512バイトは、シリアルバス用のレジスタとして使用される。シリアルバス・レジスタに格納される情報のアドレス及び機能を図8に示す。図中のオフセットは、「0xFFFFF0000200」からの相対位置である。
その次の1024バイトは、Configuration ROM用に使用される。
Configuration ROMには最小形式と一般形式とがあり、「0xFFFFF0000400」から配置される。最小形式のConfiguration ROMを図9に示す。図9において、ベンダIDは、IEEEにより各ベンダに対して固有に割り当てられた24ビットの数値である。
又、一般形式のConfiguration ROMを図10に示す。図10において、上述のベンダIDは、Root Directory1002に格納されている。Bus Info Block1001とRoot Leaf(Root&unit leaves)1005とには、各ノードを識別する固有のID情報としてノードユニークIDを保持することが可能である。
ここで、ノードユニークIDは、メーカ、機種に関わらず、1つのノードを特定することのできる固有のIDを定めるようになっている。ノードユニークIDは64ビットにより構成され、上位24ビットは上述のベンダIDを示し、下位48ビットは各ノードを製造するメーカにおいて自由に設定可能な情報(例えば、ノードの製造番号等)を示す。尚、このノードユニークIDは、例えばバスリセットの前後で継続して特定のノードを認識する場合に使用される。
又、図10において、Root Directory1002には、ノードの基本的な機能に関する情報を保持することが可能である。詳細な機能情報は、Root Directory1002からオフセットされるサブディレクトリ(Unit Directories1004)に格納される。Unit Directories1004には、例えば、ノードのサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、所定の通信手順を定義するコマンドセット等に関する情報が保持される。
又、図10において、Node Dependent Info Directory1003には、デバイス固有の情報を保持することが可能である。Node Dependent Info Directory1003は、Root Directory1002によりオフセットされる。
更に、図10において、Vendor Dependent Information1006には、ノードを製造、或いは販売するベンダ固有の情報を保持することができる。
残りの領域は、ユニット空間と呼ばれ、各ノード固有の情報、例えば、各機器の識別情報(会社名、機種名等)や使用条件等が格納されたアドレスを指定する。ユニット空間のシリアルバス装置レジスタに格納される情報のアドレス及び機能を図11に示す。図中のオフセットは、「0xFFFFF0000800」からの相対位置である。
尚、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、レジスタ空間の最初の2048バイトのみを使うべきである。つまり、CSRコアレジスタ、シリアルバス・レジスタ、Configuration ROM、ユニット空間の最初の2048バイトの合わせて4096バイトで構成することが望ましい。
(4)通信ケーブルの構成
図12にIEEE1394規格に準拠した通信ケーブルの断面図を示す。
通信ケーブルは、2組のツイストペア信号線と電源ラインとにより構成されている。電源ラインを設けることによって、1394インタフェースは、主電源のOFFとなった機器、故障により電力低下した機器等にも電力を供給することができる。尚、電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aと規定されている。
2組のツイストペア信号線には、DS−Link(Data/Strobe Link)符号化方式にて符号化された情報信号が伝送される。図13は、DS−Link符号化方式を説明する図である。
このDS−Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、2組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによって、クロックを再現することができる。
尚、DS−Link符号化方式を用いることにより、1394インタフェースには、例えば次のような利点がある。
1)他の符号化方式に比べて転送効率が高い。
2)PLL回路が不要となり、コントローラLSIの回路規模を小さくできる。
3)アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減が図れる。
(5)バスリセット
各ノードの1394インタフェースは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる。この場合、1394ネットワークは以下に示す手順によりバスリセットと呼ばれる処理を行う。尚、接続構成に変化は、各ノードの具備する通信ポートかかるバイアス電圧の変化により検知することができる。
ネットワークの接続構成の変化(例えば、ノードの挿抜、ノードの電源のON/OFFなどによるノード数の増減)を検出したノード、又は新たな接続構成を認識する必要のあるノードは、1394インタフェースを介して、バス上にバスリセット信号を送信する。
バスリセット信号を受信したノードの1394インタフェースは、バスリセットの発生を自身のリンクレイヤ304に伝達すると共に、そのバスリセット信号を他のノードに転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成及び各機器に割り当てられたノードIDをクリアにする。最終的に全てのノードがバスリセット信号を検知した後、各ノードは、バスリセットに伴う初期化処理(即ち、新たな接続構成の認識と新たなノードIDの割り当て)を自動的に行う。
尚、バスリセットは、先に述べたような接続構成の変化による起動の他に、ホスト側の制御によって、アプリケーションレイヤ307がフィジカルレイヤ303に対して直接命令を出すことによって起動させることも可能である。
又、バスリセットが起動するとデータ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークのもとで再開される。
(6)バスリセット起動後のシーケンス
バスリセットの起動後、各ノードの1394インタフェースは、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行する。以下、バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを図14〜16を用いて説明する。
図14は、図2の1394ネットワークにおけるバスリセット起動後の状態を説明する図である。
図14において、ノードAは1つの通信ポート、ノードBは2つの通信ポート、ノードCは2つの通信ポート、ノードDは3つの通信ポート、ノードEは1つの通信ポート、ノードFは1つの通信ポートを具備している。各ノードの通信ポートには、各ポートを識別するためにポート番号を付されている。
以下、図14におけるバスリセットの開始からノードIDの割り当てまでを図15のフローチャートを用いて説明する。
図15において、1394ネットワークを構成する各ノードA〜Fは、バスリセットが発生したか否かを常時監視している(ステップS1501)。接続構成の変化を検出したノードからバスリセット信号が出力されると、各ノードは以下の処理を実行する。
バスリセットの発生後、各ノードA〜Fは、夫々の具備する通信ポート間において親子関係の宣言を行う(ステップS1502)。
各ノードA〜Fは、全てのノード間の親子関係が決定されるまで、ステップS1502の処理を繰り返し行う(ステップS1503)。
全てのノード間の親子関係が決定した後、1394ネットワークは、ネットワークの調停を行うノード、即ちルートを決定する。(ステップS1504)。
ルートを決定した後、各ノードの1394インタフェース夫々は、自己のノードIDを自動的に設定する作業を実行する(ステップS1505)。
全てのノードA〜Fに対してノードIDの設定がなされるまで、各ノードは所定の手順に基づきステップS1505の処理を実行する(ステップS1506)。
最終的に全てのノードA〜Fに対してノードIDが設定された後、各ノードは、Isochronous転送或いはAsynchronous転送を実行する(ステップS1507)。
ステップS1507の処理を実行すると共に、各ノードの1394インタフェースは、再びバスリセットの発生を監視する。バスリセットが発生した場合には、ステップS1501以降の処理を再び実行する。
以上の手順により、各ノードの1394インタフェースは、バスリセットが起動する毎に、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行することができる。
(7)親子関係の決定
次に、図16を用いて、図15に示したステップS1502の処理(即ち、各ノード間の親子関係を認識する処理)について詳細に説明する。
図16において、バスリセットの発生後、1394ネットワーク上の各ノードA〜Fは、自分の具備する通信ポートの接続状態(接続又は未接続)を確認する(ステップS1601)。
通信ポートの接続状態の確認後、各ノードA〜Fは、他のノードと接続されている通信ポート(以下、接続ポート)の数をカウントする(ステップS1602)。
ステップS1602の処理の結果、接続ポートの数が1つである場合、そのノードは、自分が「リーフ」であると認識する(ステップS1603)。ここで、リーフとは、1つのノードとのみ接続されているノードのことである。
リーフとなるノードは、その接続ポートに接続されているノードに対して、「自分は子(Child)」であることを宣言する(ステップS1604)。このとき、リーフは、その接続ポートが「親ポート(親ノードと接続された通信ポート)」であると認識する。
ここで、親子関係の宣言は、まず、ネットワークの末端であるリーフとブランチとの間にて行われ、続いて、ブランチとブランチとの間で順次に行われる。各ノード間の親子関係は、早く宣言の行える通信ポートから順に決定される。又、各ノード間において、子であることを宣言した通信ポートは「親ポート」であると認識され、その宣言を受けた通信ポートは「子ポート(子ノードと接続された通信ポート)」であると認識される。例えば、図14において、ノードA、E、Fは、自分がリーフであると認識した後、親子関係の宣言を行う。これにより、ノードA−B間では子−親、ノードE−D間では子−親、ノードF−D間では子−親と決定される。
又、ステップS1602の処理の結果、接続ポートの数が2つ以上の場合、そのノードは、自分を「ブランチ」であると認識する(ステップS1605)。ここで、ブランチとは、2つ以上のノードと接続されているノードのことである。
ブランチとなるノードは、各接続ポートのノードから親子関係の宣言を受け付ける(ステップS1606)。宣言を受け付けた接続ポートは、「子ポート」として認識される。
1つの接続ポートを「子ポート」と認識した後、ブランチは、まだ親子関係の決定されていない接続ポート(即ち、未定義ポート)が2つ以上あるか否かを検出する(ステップS1607)。その結果、未定義ポートが2つ以上ある場合、ブランチは、再びステップS1606の動作を行う。
ステップS1607の結果、未定義ポートが1つだけ存在する場合、ブランチは、その未定義ポートが「親ポート」であると認識し、そのポートに接続されているノードに対して「自分は子」であることを宣言する(ステップS1608、S1609)。
ここで、ブランチは、残りの未定義ポートが1つになるまで自分自身が子であると他のノードに対して宣言することができない。例えば、図14において、ノードB、C、Dは、自分がブランチであると認識すると共に、リーフ或いは他のブランチからの宣言を受け付ける。ノードDは、D−E間、D−F間の親子関係が決定した後、ノードCに対して親子関係の宣言を行っている。又、ノードDからの宣言を受けたノードCは、ノードBに対して親子関係の宣言を行っている。
又、ステップS1608の処理の結果、未定義ポートが存在しない場合(つまり、ブランチの具備する全ての接続ポートが親ポートとなった場合)、そのブランチは、自分自身がルートであることを認識する(ステップS1610)。
例えば、図14において、接続ポートの全てが親ポートとなったノードBは、1394ネットワーク上の通信を調停するルートとして他のノードに認識される。ここで、ノードBがルートと決定されたが、ノードBの親子関係を宣言するタイミングが、ノードCの宣言するタイミングに比べて早い場合には、他のノードがルートになる可能性もある。即ち、宣言するタイミングによっては、どのノードもルートとなる可能性がある。従って、同じネットワーク構成であっても同じノードがルートになるとは限らない。
このように全ての接続ポートの親子関係が宣言されることによって、各ノードは、1394ネットワークの接続構成を階層構造(ツリー構造)として認識することができる(ステップS1611)。尚、上述の親ノードは階層構造における上位であり、子ノードは階層構造における下位となる。
(8)ノードIDの割り当て
図17は、図15に示したステップS1505の処理(即ち、自動的に各ノードのノードIDを割り当てる処理)を詳細に説明するフローチャートである。ここで、ノードIDは、バス番号とノード番号とから構成されるが、本実施例では、各ノードを同一バス上に接続するものとし、各ノードには同一のバス番号が割り当てられるものとする。
図17において、ルートは、ノードIDが未設定のノードが接続されている子ポートの内、最小番号を有する通信ポートに対してノードIDの設定許可を与える(ステップS1701)。
尚、図17において、ルートは、最小番号の子ポートに接続されている全ノードのノードIDを設定した後、その子ポートを設定済とし、次に最小となる子ポートに対して同様の制御を行う。最終的に子ポートに接続された全てのノードのID設定が終了した後、ルート自身のノードIDを設定する。尚、ノードIDに含まれるノード番号は、基本的にリーフ、ブランチの順に0、1、2…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
ステップS1701において、設定許可を得たノードは、自分の子ポートの内、ノードIDが未設定となるノードを含む子ポートがあるか否かを判断する(ステップS1702)。
ステップS1702において、未設定ノードを含む子ポートが検出された場合、上述の設定許可を得たノードは、その子ポートに直接接続されたノードに対してその設定許可を与えるように制御する(ステップS1703)。
ステップS1703の処理後、上述の設定許可を得たノードは、自分の子ポートの内、ノードIDが未設定であるノードを含む子ポートがあるか否かを判断する(ステップS1704)。ここで、ステップS1704の処理後、未設定ノードを含む子ポートの存在が検出された場合、そのノードは、再びステップS1703の処理を実行する。
又、ステップS1702或いはS1704において、未設定ノードを含む子ポートが検出されなかった場合、設定許可を得たノードは、自分自身のノードIDを設定する(ステップS1705)。
自分のノードIDを設定したノードは、自己のノード番号、通信ポートの接続状態に関する情報等を含んだセルフIDパケットをブロードキャストする(ステップS1706)。尚、ブロードキャストとは、あるノードの通信パケットを、1394ネットワークを構成する不特定多数のノードに対して転送することである。
ここで、各ノードは、このセルフIDパケットを受信することにより、各ノードに割り当てられたノート番号を認識することができ、自分に割り当てられるノード番号を知ることができる。例えば、図14において、ルートであるノードBは、最小ポート番号「#1」の通信ポートに接続されたノードAに対してノードID設定の許可を与える。ノードAは、自己のノード番号「No.0」と割り当て、自分自身に対してバス番号とノード番号とからなるノードIDを設定する。又、ノードAは、そのノード番号を含むセルフIDパケットをブロードキャストする。
図18にセルフIDパケットの構成例を示す。図18において、1801はセルフIDパケットを送出したノードのノード番号を格納するフィールド、1802は対応可能な転送速度に関する情報を格納するフィールド、1803はバス管理機能(バスマネージャの能力の有無等)の有無を示すフィールド、1804は電力の消費及び供給の特性に関する情報を格納するフィールドである。
又、図18において、1805はポート番号「#0」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールド、1806はポート番号「#1」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールド、1807はポート番号「#2」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。
尚、セルフIDパケットを送出するノードにバスマネージャとなり得る能力がある場合には、フィールド1803に示すコンテンダビットを「1」とし、なり得る能力がなければ、コンテンダビットを0とする。
ここで、バスマネージャとは、上述のセルフIDパケットに含まれる各種の情報に基づいて、バスの電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理する)、速度情報の管理(各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理する)、トポロジーマップ情報の管理(通信ポートの親子関係情報からネットワークの接続構成を管理する)、トポロジーマップ情報に基づくバスの最適化等を行い、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャとなるノードは1394ネットワーク全体のバス管理を行うことができる。
ステップS1706の処理後、ノードIDの設定を行ったノードは、親ノードがあるか否かを判断する(ステップS1707)。親ノードがある場合、その親ノードが、ステップS1702以下の処理を再び実行する。そして、まだノードIDの設定されていないノードに対して許可を与える。
又、親ノードが存在しない場合、そのノードは、ルート自身であると判断される。ルートは、全ての子ポートに接続されたノードに対してノードIDが設定されたか否かを判別する(ステップS1708)。
ステップS1708において、全てのノードに対するID設定処理が終了しなかった場合、ルートは、そのノードを含む子ポートの内、最小番号となる子ポートに対してID設定の許可を与える(ステップS1701)。その後、ステップS1702以下の処理を実行する。
又、全てのノードに対するID設定処理が終了した場合、ルートは、自分自身のノードIDの設定を実行する(ステップS1709)。ノードIDの設定後、ルートは、セルフIDパケットをブロードキャストする(ステップS1710)。
以上の処理によって、1394ネットワークは、各ノードに対して自動的にノードIDを割り当てることができる。
ここで、ノードIDの設定処理後、複数のノードがバスマネージャの能力を具備する場合、ノード番号の最も大きいノードがバスマネージャとなる。つまり、ネットワーク内で最大となるノード番号を持つルートがバスマネージャになり得る機能を有している場合には、ルートがバスマネージャとなる。
しかしながら、ルートにその機能が備わっていない場合には、ルートの次に大きいノード番号を具備するノードがバスマネージャとなる。又、どのノードがバスマネージャになったかについては、各ノードがブロードキャストするセルフIDパケット内のコンテンダビット1803をチェックすることにより把握することができる。
(9)アービトレーション
図19は、図1の1394ネットワークにおけるアービトレーションを説明する図である。
1394ネットワークでは、データ転送に先立って、必ずバス使用権のアービトレーション(調停)を行う。1394ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することによって、ネットワーク内の全てのノードに同じ通信パケットを転送することのできる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これによって、ある時間において一つのノードのみが転送を行うことができる。
図19(a)は、ノードBとノードFとが、バス使用権の要求を発している場合について説明する図である。
アービトレーションが始まるとノードB、Fは、夫々親ノードに向かって、バス使用権の要求を発する。ノードBの要求を受けた親ノード(即ち、ノードC)は、自分の親ノード(即ち、ノードD)に向かって、そのバス使用権を中継する。この要求は、最終的に調停を行うルート(ノードD)に届けられる。
バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行えるものであり、調停によって勝ったノードにはバスの使用許可が与えられる。
図19(b)は、ノードFの要求が許可され、ノードBの要求が拒否されたことを示す図である。
アービトレーションに負けたノードに対してルートは、DP(Data prefix)パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアービトレーションまでバス使用要求を待機する。
以上のようにアービトレーションを制御することによって、1394ネットワークは、バスの使用権を管理することができる。
(10)通信サイクル
Isochronous転送モードとAsynchronous転送モードとは、各通信サイクル期間内において時分割に混在させることができる。ここで、通信サイクルの期間は、通常、125μSである。
図20は、1通信サイクルにおいてIsochronous転送モードとAsynchronous転送モードとを混在させた場合を説明する図である。
Isochronous転送モードは、Asynchronous転送モードより優先して実行される。その理由は、サイクル・スタート・パケットの後、Asynchronous転送を起動するために必要なアイドル期間(subaction gap)が、Isochronous転送を起動するため必要なアイドル期間(Isochronous gap)よりも長くなるように設定されているためである。これにより、Isochronous転送は、Asynchronous転送に優先して実行される。
図20において、各通信サイクルのスタート時には、サイクル・スタート・パケット(以下、CSP)が所定のノードから転送される。各ノードは、このCSPを用いて時刻調整を行うことによって、他のノードと同じ時間を計時することができる。
(11)Isochronous転送モード
Isochronous転送モードは、同期型の転送方式である。Isochronousモード転送は、通信サイクルの開始後、所定の期間において実行可能である。又、Isochronous転送モードは、リアルタイム転送を維持するために、各サイクル毎に必ず実行される。
Isochronous転送モードは、特に動画像データや音声データ等のリアルタイムな転送を必要とするデータの転送に適した転送モードである。Isochronous転送モードは、Asynchronous転送モードのように1対1の通信ではなく、ブロードキャスト通信である。つまり、あるノードから送出されたパケットは、ネットワーク上の全てのノードに対して一様に転送される。尚、Isochronous転送には、ack(受信確認用返信コード)は存在しない。
図20において、チャネルe(ch e)、チャネルs(ch s)、チャネルk(ch k)は、各ノードがIsochronous転送を行う期間を示す。1394インタフェースでは、複数の異なるIsochronous転送を区別するために、夫々異なるチャネル番号を与えている。これにより、複数ノード間でのIsochronous転送が可能となる。ここで、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。
又、図20に示したIsochronous gapとは、バスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、Isochronous転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
次に、図21にIsochronous転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、Isochronous転送モードに基づいて転送される通信パケットを、Isochronousパケットと称する。
図21において、Isochronousパケットはヘッダ部2101、ヘッダCRC2102、データ部2103、データCRC2104から構成される。
ヘッダ部2101には、データ部2103のデータ長を格納するフィールド2105、Isochronousパケットのフォーマット情報を格納するフィールド2106、Isochronousパケットのチャネル番号を格納するフィールド2107、パケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)を格納するフィールド2108、同期化コードを格納するフィールド2109がある。
(12)Asynchronous転送モード
Asynchronous転送モードは、非同期型の転送方式である。Asynchronous転送は、Isochronous転送期間の終了後、次の通信サイクルが開始されるまでの間(即ち、次の通信サイクルのCSPが転送されるまでの間)、実行可能である。
図20において、最初のサブアクション・ギャップ(subaction gap)は、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、Asynchronous転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
アービトレーションによりバスの使用権を得たノードは、図22に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ack(受信確認用返送コード)或いは応答パケットをack gap後に返送する。
図22は、Asynchronous転送モードに基づく通信パケットのフォーマットを示す図である。以下、Asynchronous転送モードに基づいて転送される通信パケットを、Asynchronousパケットと称する。
図22において、Asynchronousパケットは、ヘッダ部2201、ヘッダCRC2202、データ部2203、データCRC2204から構成される。
ヘッダ部2201において、フィールド2205には宛先となるノードのノードID、フィールド2206にはソースとなるノードのノードID、フィールド2207には一連のトランザクションを示すためのラベル、フィールド2208には再送ステータスを示すコード、フィールド2209にはパケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)、フィールド2210には優先順位、フィールド2211には宛先のメモリ・アドレス、フィールド2212にはデータ部のデータ長、フィールド2213には拡張されたトランザクションコードが格納される。
又、Asynchronous転送は、自己ノードから相手ノードへの1対1の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
尚、Asynchronous転送中に次のCSPを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のCSPを送信する。これにより、1つの通信サイクルが125μS以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、1394ネットワークは、ほぼ一定の通信サイクルを保持することができる。
(13)デバイスマップ
デバイスマップを作成するためにアプリケーションが1394ネットワークのトポロジーを知る手段として、IEEE1394規格上は以下の手段がある。
1.バスマネージャのトポロジーマップレジスターをリードする。
2.バスリセット時にセルフIDパケットから推定する。
しかし上記1、2の手段では、各ノードの親子関係によるケーブル接続順のトポロジーは判明するものの、物理的な位置関係のトポロジーを知ることは出来ない(実装されていないポートまで見えてしまう、といった問題もある)。
また、デバイスマップを作成するための情報を、コンフィギュレーションROM以外のデータベースとして持つ、といった手段もあるが、その場合、各種情報を得る手段はデータベースアクセスのためのプロトコルに依存してしまう。
ところで、コンフィギュレーションROM自体やコンフィギュレーションROMを読む機能は、IEEE1394規格を遵守したデバイスが必ず持つものである。そこで、デバイスの位置、機能等の情報を各ノードのコンフィギュレーションROMに格納し、それらをアプリケーションから読む機能を与えることにより、データベースアクセス、データ転送等の特定のプロトコルに依存することなく、各ノードのアプリケーションがいわゆるデバイスマップ表示機能を実装することができる。
コンフィグレーションROMにはノード固有の情報として物理的な位置、機能などが格納可能であり、デバイスマップ表示機能の実現に使用することが可能である。
この場合、アプリケーションが物理的な位置関係による1394ネットワークトポロジーを知る手段としては、バスリセット時やユーザーからの要求時に、各ノードのコンフィギュレーションROMを読み取ることにより、1394ネットワークのトポロジーを知る、という方法が可能となる。更に、コンフィギュレーションROM内にノードの物理的位置のみならず、機能などの各種ノード情報も記述することによって、コンフィギュレーションROMを読むことで、ノードの物理的位置と同時に各ノードの機能情報等も得ることができる。アプリケーションが各ノードのコンフィギュレーションROM情報を取得する際には、指定ノードの任意のコンフィギュレーションROM情報を取得するAPIを用いる。
このような手段を用いることにより、IEEE1394ネットワーク上のデバイスのアプリケーションは、物理的なトポロジーマップ、各ノードの機能マップなど、用途に応じて様々なデバイスマップを作成することができ、ユーザーが必要な機能をもつデバイスを選択する、といったことも可能となる。
<本実施例の説明>
本実施例の構成、並びに接続デバイスについて説明する。
まず、IEEE1394バスに接続されるホスト、プリンタ各ノードの共通部分として1394シリアルバスインターフェース部の構成を説明する。
図23は1394I/Fブロックの基本構成ブロック図である。
図中2302は1394シリアルバスを直接ドライブするフィジカルレイヤ制御IC(PHYIC)であり、前述の〈IEEE1394の技術の概要〉におけるフィジカルレイヤの機能を実現する。主な機能としては、バスイニシャル化とアービトレーション、送信データ符号のエンコード/デコード、ケーブル通電状態の監視ならびに負荷終端用電源の供給(アクティブ接続認識用)、リンクレイヤICとのインタフェースである。
2301はデバイス本体とのインタフェースを行い、PHYICのデータ転送をコントロールするリンクレイヤ制御IC(LINKIC)であり、前述の〈IEEE1394の技術の概要〉におけるリンクレイヤの機能を実現する。本ICが備える主な機能としてはPHYICを介する送信/受信データを一時格納する送受信FIFO、送信データのパケット化機能、PHYICの受信データが本ノードアドレス、またはIsochronous転送データの場合は割り当てられたチャンネル向けのものであるかの判定機能、またそのデータのエラーチェックを行うレシーバー機能、そしてデバイス本体とのインタフェースを行う機能がある。
図中2304はリンクレイヤIC、PHYICをはじめとする1394インタフェース部をコントロールするCPUであり、2305は同インタフェース部のコントロール用プログラムが格納されているROMである。
2306はRAMであり、送受信データを蓄えるデータバッファをはじめ、制御用ワークエリア、1394アドレスにマッピングされた各種レジスタのデータ領域に使用されている。
図中2303はコンフィギュレーションROMであり、各機器固有の識別、通信条件等が格納されている。本ROMのデータフォーマットは〈IEEE1394の技術の概要〉で説明したようにIEEE1212並びにIEEE1394規格で定められたフォーマットに準じている。
各ノードは図24に示す様な一般形式のコンフィグレーションROMを装備しており、各デバイスのソフトウェアユニット情報はユニットディレクトリに、ノード固有の情報はノードディペンデントインフォディレクトリに保存されている。
本実施例のプリンタでの場合、通信プロトコルとしてSBP−3をサポートするためにユニットディレクトリにSBP−3を識別するIDが装備されている。
〈IEEE1394の技術の概要〉で説明したように1394シリアルバスのアドレス設定のうち、最後の28ビットはシリアルバスに接続される他のデバイスからアクセス可能な、各機器の固有データの領域として確保されている。図25はこの28ビットのアドレス空間を表した図である。
図中0000番地から0200番地の領域にはCSRコアレジスタ群が配置されている。
これらレジスタはCSRアーキテクチャで定められたノード管理の為の基本的な機能として存在し、図26で示されている。
0200番地から0400番地の領域は、CSRアーキテクチャにより、シリアルバスに関するレジスタが格納される領域として定義されている。図26中、IEEE1394の技術の概要〉で説明したように0200〜0230番地のレジスタが定義されておりデータ転送の同期、電源供給、バスリソース管理等に使用されるレジスタが配置されている。この部分は図8と同じ物である。
前述のコンフィギュレーションROMは400番地から800番地の領域に配置されている。
0800番地から1000番地までの領域には、現在の1394バスのトポロジー情報、またノード間の転送スピードに関する情報が格納されている。
1000番地以降の領域はユニット空間と呼ばれ、各デバイス固有の動作に関連するレジスタが配置されている。この領域には各デバイスがサポートする上位プロトコルで規定されたレジスタ群とデータ転送用メモリマップドバッファ領域、また各機器固有のレジスタが配置される。
上記の1394インタフェース部を装備する図1で示したホスト1aとプリンタ1bの動きを以下に説明する。
本実施例のホストは所定の通信プロトコルを用いてプリンタ装置との間で通信を行うシステムである。上記1bのプリンタはホスト1aからプリンタ1bへ送られたプリンタコントロール、並びにプリントデータを受信し処理する機能、プリンタ1bへのコントロールに対応して現在のプリンタステータスデータをホスト1aに送信する機能を備える。
プリンタ1bの上記機能の制御はホスト1a−プリンタ1b間で樹立されるデータ転送チャネル経由でプリンタ制御コマンドをホスト1aからプリンタ1bへ転送することによって実現される。
ホスト1a・プリンタ1b双方にはこのデータ転送チャネル用の通信セッション樹立、切断といったマネージメントを行うコネクション・マネージメント機能を装備している。本実施例で使用されるホストPC・プリンタ間の通信プロトコルはIEEE1394のリード・ライトトランズアクションを使って行なわれる。そしてこれらトランズアクションは2つのデバイスが1394バスに接続された時に発行されたバスリセット、並びにバスリセット後の初期化動作時に決定されたデータ通信速度で行なわれる。この手順は<IEEE1394の技術の概要>で説明されているとおりである。
具体的にはバスの初期化動作においてノードIDを割り当てられたPCとプリンタ両ノードは自ノードのデータ転送スピード性能情報を含んだセルフIDパケットをブロードキャストする。双方のノードはこのブロードキャストされたセルフIDパケットを受信することにより、ノードID、データ転送スピード情報を含め、相手ノードに関する情報を認識する。本実施例の場合、PC、プリンタ双方ともに、最高データ転送スピードが400Mbpsであり、それぞれのセルフIDパケット中のSpフィールドにはそれを示す値、二進数で10bがセットされている。この様子を図27に示す。
これにより、PC、プリンタ双方相手デバイスが400Mbpsデータ転送が可能であることを認識し、デバイス間は400Mbpsでのデータ通信が行なわれる。
接続に使用されるケーブルの品質、接続環境、またはデバイス間の諸条件により通信環境が劣悪になり、所定の転送スピードにてトランズアクションが正常に行なわれない場合がある。具体的には1394ライト・トランズアクションが正常に相手デバイスに到達しない、またトランズアクションに対する応答パケットが発行元に到達しない、といったことが起こりうる。
これらのエラー状態はIEEE1394のトランズアクションの定義に基づいて検出することが可能でありトランズアクションの再発行、すなわちリトライが行なわれる。
このようなエラー状態とそれに伴うリトライが発生する頻度が高い場合、全体的なデータ転送効率が低下する。またエラー状態が解消されない場合はデバイス間の通信が正常に行なわれなくなってしまうケースも考えられる。
本発明の特徴的な部分について説明する。
本実施例のプリンタにおける1394インタフェース制御部にはレシーバーが検出した上記エラー状態を記録し、その頻度を計測する手段を備えている。
本実施例において、上記計測手段において予め定められた値以上の頻度でトランズアクションエラー状態が検出されたとする。
プリンタはエラーの異常頻発を検出すると、自デバイスであるプリンタと接続先デバイスであるホストPC間の現在のデータ転送スピード情報を求める。具体的にはバスリセット後のバス初期化処理の際にブロードキャストされた両デバイスのセルフIDパケットを元に、決定されたスピードでデータ転送が行なわれているはずである。本例の場合、両デバイス共に最高で400Mbpsの転送スピードをサポートしているという情報を含んだセルフIDパケットをブロードキャストしているので、データ転送は400Mbpsで行なわれる。
プリンタは現在の転送スピード情報を元に、それより一段低い転送スピード、この場合は200Mbps、二進数で01bを自デバイスのセルフIDパケット中のSpフィールドに、がセットする。この様子を図28に示す。
プリンタはバスリセットを発行し、バスの初期化が開始される。
デバイスの初期化のシーケンスとしてノードID決定後、セルフIDパケットのブロードキャストが行なわれる。前述のように転送可能スピード最大200MbpsとしたプリンタのセルフIDパケットがブロードキャストされ、PCはプリンタと通信する場合には相手デバイスが200Mbps以下のデータ転送が可能であることを認識する。ホストPCとプリンタ間のデータ転送はバスリセット前と違い、より低速な200Mbpsで行なわれる。
転送スピードをより低速にすることにより、通信安定性が期待され、トランズアクションエラー状態が発生する頻度が低減される。
本発明のホスト・プリンタ通信システムの構成を示した図 1394シリアルバスのネットワークの構成を示した図 本発明の1394シリアルバスの構成要素を示した図 本発明の1394シリアルバスのリンクレイヤ提供可能なサービスを示す図 本発明の1394シリアルバスのトランズアクション・レイヤ提供可能なサービスを示す図 1394インタフェースにおけるアドレス空間を説明する図 1394インタフェースにおけるCSRコアレジスタに格納される情報のアドレス及び機能を示す図 1394インタフェースにおけるシリアルバス・レジスタに格納される情報のアドレス及び機能を示す図 1394インタフェースにおける最小形式のConfiguration ROMを示す図 1394インタフェースにおける一般形式のConfiguration ROMを示す図 1394インタフェースにおけるシリアルバス装置レジスタに格納される情報のアドレス及び機能を示す図 IEEE1394規格に準拠した通信ケーブルの断面図 DS−Link符号化方式を説明する図 1394ネットワークにおけるバスリセット起動後の状態を説明する図 バスリセットの開始からノードIDの割り当てまでを説明するフローチャート 各ノード間の親子関係を認識する処理について説明するフローチャート 図15に示したステップS1505の処理(即ち、自動的に各ノードのノードIDを割り当てる処理)を詳細に説明するフローチャート 1394インタフェースにおけるセルフIDパケットの構成を示した図 1394ネットワークにおけるアービトレーションを説明する図 1通信サイクルにおいてIsochronous転送モードとAsynchronous転送モードとを混在させた場合を説明する図 Isochronous転送モードに基づいて転送される通信パケットのフォーマットを示した図 本発明のAsynchronous転送のパケットフォーマットを示した図 本実施例におけるプリンタ・ホストのIEEEインタフェース部のブロック図 本実施例におけるプリンタのコンフィグレーションROMを示す図 本実施例におけるプリンタの1394アドレス空間を示す図 本実施例におけるプリンタのコアCSRレジスタを示す図 本実施例におけるプリンタ・ホスト間でブロードキャストされるセルフIDパケットを示した図 本実施例におけるプリンタが発行するバスリセット後にブロードキャストされるプリンタのセルフIDパケットを示した図
符号の説明
1a ホストコンピュータ
1b プリンタ
301 1394シリアルバスケーブル
302 1394通信ポート
303 フィジカルレイヤ
304 リンクレイヤ
305 トランザクションレイヤ
306 シリアルバスマネージメント
307 アプリケーションレイヤ

Claims (2)

  1. IEEE1394に準拠した通信制御バスに接続された通信を行うデバイス間における2ノード間における通信において、IEEE1394トランズアクションエラーが所定の頻度を超えて発生する場合、トランズアクションの受信側が信頼性の高い転送スピードで通信を行う為に自デバイスが発行するセルフIDパケット中のスピード情報を変更し、バスの初期化を行うことを特徴とする情報処理装置。
  2. IEEE1394に準拠した通信制御バスに接続された通信を行うデバイス間における2ノード間における通信において、IEEE1394トランズアクションエラーが所定の頻度を超えて発生する場合、トランズアクションの受信側が信頼性の高い転送スピードで通信を行う為に自デバイスが発行するセルフIDパケット中のスピード情報を変更し、バスの初期化を行うことを特徴とする情報処理方法。
JP2004324956A 2004-11-09 2004-11-09 情報処理装置及び方法 Withdrawn JP2006134222A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004324956A JP2006134222A (ja) 2004-11-09 2004-11-09 情報処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004324956A JP2006134222A (ja) 2004-11-09 2004-11-09 情報処理装置及び方法

Publications (1)

Publication Number Publication Date
JP2006134222A true JP2006134222A (ja) 2006-05-25

Family

ID=36727691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004324956A Withdrawn JP2006134222A (ja) 2004-11-09 2004-11-09 情報処理装置及び方法

Country Status (1)

Country Link
JP (1) JP2006134222A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017156624A (ja) * 2016-03-03 2017-09-07 キヤノン株式会社 印刷装置及びその制御方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017156624A (ja) * 2016-03-03 2017-09-07 キヤノン株式会社 印刷装置及びその制御方法、並びにプログラム

Similar Documents

Publication Publication Date Title
JP4035235B2 (ja) 電子機器
JP4536981B2 (ja) 情報信号処理装置及び情報信号処理方法
JP2003044184A (ja) データ処理装置及び電力制御方法
JP4027189B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
US6823408B2 (en) Electronic equipment, and method for controlling state of physical layer circuit therefor
JP2003174486A (ja) 情報通信装置、情報通信方法および情報通信処理プログラム
JP2002077211A (ja) 情報処理装置およびその方法、並びに、記録媒体
JP2001160939A (ja) 画像処理装置及び画像処理システム、及びその制御方法
US7177959B2 (en) Information signal processing apparatus and method
JP2003044179A (ja) 電力供給装置、電力受給装置、電力供給方法及び電力受給方法
JP2004064665A (ja) データ転送装置及び送信装置及び受信装置及びそれらの制御方法
JP2006134222A (ja) 情報処理装置及び方法
JP2003229857A (ja) シリアルバスシステム、シリアルバスの帯域管理機器および通信機器
US7167940B2 (en) Data processing method, data processing apparatus, communications device, communications method, communications protocol and program
JP4095384B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2004102443A (ja) 情報処理システム、情報処理方法、プログラム及び記憶媒体
JP4109983B2 (ja) 通信システム
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
JP2009027349A (ja) ネットワーク機器
JP2005044078A (ja) 通信方法、印刷装置及びホスト装置
JP2001144783A (ja) シリアルバスブリッジ、端末装置、情報通信システム、情報通信方法並びに記憶媒体
JP2002204276A (ja) データ通信システム及びその電力制御方法、及び電力受給装置
JPH10283136A (ja) データ処理方法、データ処理装置、プリンタ及び記憶媒体
JP2004223965A (ja) 印刷装置
JP2001160938A (ja) 画像処理装置及び画像処理システム、及びその制御方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205