JP3927647B2 - 情報処理装置、情報処理方法及び情報処理システム - Google Patents
情報処理装置、情報処理方法及び情報処理システム Download PDFInfo
- Publication number
- JP3927647B2 JP3927647B2 JP10367997A JP10367997A JP3927647B2 JP 3927647 B2 JP3927647 B2 JP 3927647B2 JP 10367997 A JP10367997 A JP 10367997A JP 10367997 A JP10367997 A JP 10367997A JP 3927647 B2 JP3927647 B2 JP 3927647B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- node
- serial bus
- information processing
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は情報処理装置、情報処理方法及び情報処理システムに関し、特に、IEEE1394等のインタフェースで接続される情報処理装置に用いて好適なものである。
【0002】
【従来の技術】
従来、複数の機器同士をIEEE1394インターフェースで接続する場合、例えば、プリンタとホスト(パーソナルコンピュータ、デジタルカメラなど)をIEEE1394インターフェースで接続する場合、そのデータ転送方法として同期転送(アイソクロナス転送)と非同期転送(アシンク転送)の2種類が用いられている。
【0003】
前記同期転送は、時間的に同期を取ることができ、一定時間のデータ量を規定することができる利点がある。しかしながら、同期転送を行うためには、同期を取るための同期パケット(サイクルスタートパケット)を定期的に送信するサイクルマスタがバスのノード内に必要となる。
【0004】
それに対し、非同期転送は、時間的なデータ量を一定にすることができないが、サイクルマスタが不要なので、サイクルマスタを内蔵しないようにすることでプリンタ等の機器のコストを低く押さえることができる。
【0005】
そこで、デジタルカメラのようなコンシューマー向けの機器に関しても、サイクルマスタ機能を搭載しないようにしてコストダウンを図るようにすることが考えられる。
【0006】
【発明が解決しようとする課題】
サイクルマスタ機能を持たない機器同士が接続されても、そのバス内の他のノードにサイクルマスタ機能を持つノードが必要となる。しかし、バス内においてサイクルマスタ機能を持たない機器同士が接続される可能性も考えられる。このような場合、サイクルマスタが存在しないためにデータ転送自体を行うことができず、したがって、情報が得られないので印字を行うことができなくなってしまう問題があった。
【0007】
本発明は前述の問題点にかんがみ、サイクルマスタ機能を持たない機器同士を接続した場合、あるいはバス内にサイクルマスタが存在しない場合でも、データ転送を行うことができるようにすることを目的とする。
【0008】
【課題を解決するための手段】
本発明の情報処理装置は、シリアスバスに接続される情報処理装置であって、特定の要求を前記シリアルバスに送信する送信手段と、前記特定の要求に対応する応答に基づいて、同期転送を行うのに必要なサイクルマスタが前記シリアルバスにあるかどうかを判定する判定手段と、前記サイクルマスタが前記シリアルバスにあると前記判定手段により判定された場合に、機器との間で行うデータ転送モードとして同期転送を選択し、前記サイクルマスタが前記シリアルバスにないと前記判定手段により判定された場合に、機器との間で行うデータ転送モードとして非同期転送を選択する制御手段とを有することを特徴とする。
また、本発明の情報処理装置の他の特徴とするところは、シリアルバスに接続される情報処理装置であって、前記シリアルバスに、特定の要求を送信する送信手段と、前記特定の要求に対応する前記シリアルバスにおけるバスマネージャからの応答に基づいて、同期転送を行うのに必要なサイクルマスタ機能があるかどうかを判定する判定手段と、前記判定手段による判定結果に従って、同期転送及び非同期転送を含む複数の転送モードの中から、前記転送先の機器との間でデータ転送をする場合の転送モードを選択する選択手段とを有することを特徴とする。
【0009】
本発明の情報処理方法は、シリアスバスを介して接続される複数の機器間で行われる情報の転送を制御する情報処理方法であって、特定の要求を前記シリアルバスに送信する送信ステップと、前記特定の要求に対応する応答に基づいて、同期転送を行うのに必要なサイクルマスタが前記シリアルバスにあるかどうかを判定する判定ステップと、前記サイクルマスタが前記シリアルバスにあると前記判定ステップで判定された場合に、複数の機器間のデータ転送に同期転送を選択し、前記サイクルマスタが前記シリアルバスにないと前記判定ステップで判定された場合に、複数の機器間のデータ転送に非同期転送を選択する制御ステップとを有することを特徴とする。
また、本発明の情報処理方法の他の特徴とするところは、シリアルバスに接続される情報処理装置を制御する情報処理方法であって、前記シリアルバスに、特定の要求を送信する送信ステップと、前記特定の要求に対応する前記シリアルバスにおけるバスマネージャからの応答に基づいて、同期転送を行うのに必要なサイクルマスタ機能があるかどうかを判定する判定ステップと、前記判定ステップによる判定結果に従って、同期転送及び非同期転送を含む複数の転送モードの中から、前記転送先の機器との間でデータ転送をする場合の転送モードを選択する選択ステップとを有することを特徴とする。
【0010】
本発明の情報処理システムは、シリアスバスを介して接続される複数の機器間で行われる情報の転送を制御する情報処理システムであって、特定の要求を前記シリアルバスに送信する送信手段と、前記特定の要求に対応する応答に基づいて、同期転送を行うのに必要なサイクルマスタが前記シリアルバスにあるかどうかを判定する判定手段と、前記サイクルマスタが前記シリアルバスにあると前記判定手段により判定された場合に、複数の機器間のデータ転送に同期転送を選択し、前記サイクルマスタが前記シリアルバスにないと前記判定手段により判定された場合に、複数の機器間のデータ転送に非同期転送を選択する制御手段とを有することを特徴とする。
【0046】
【作用】
本発明は前記技術手段を有するので、サイクルマスタが存在する場合には同期転送が選択されてデータ転送が行われる。また、サイクルマスタが存在しない場合には非同期転送が選択されて非同期によるデータ転送が行われることにより、サイクルマスタ機能を持たない機器同士が接続されてもデータ転送を行うことを行うことができるようになる。
【0047】
【発明の実施の形態】
図1は、1394ネットワークの一例である。各ノードは、ワークステーション1(コンピュータ)を中心に、ビデオカメラ2、レーザービームプリンタ3、スキャナ4、インクジェットプリンタ4で構成され、ノード間は1394シリアルバスのケーブル6で結ばれている。この例の場合、ワークステーション1からプリンタ3(5)、スキャナ4からワークステーション1、スキャナ4からプリンタ3(5)、ビデオカメラ2からワークステーション1、ビデオカメラ2からプリンタ3(5)等のデータ入出力が考えられる。
【0048】
〈IEEE1394の技術の概要〉
家庭用デジタルVTRやDVDの登場も伴って、ビデオデータやオーディオデータなどのリアルタイムでかつ高情報量のデータ転送のサポートが必要になっている。こういったビデオデータやオーディオデータをリアルタイムで転送し、パソコン(PC)に取り込んだり、またはその他のデジタル機器に転送を行うには、必要な転送機能を備えた高速データ転送可能なインタフェースが必要になってくるものであり、そういった観点から開発されたインタフェースがIEEE1394−1995(High Performance Serial Bus)(以下、1394シリアルバスとする)である。
【0049】
図2に、1394シリアルバスを用いて構成されるネットワーク・システムの例を示す。このシステムは機器A,B,C,D,E,F,G,Hを備えており、A−B間、A−C間、B−D間、D−E間、C−F間、C−G間、及びC−H間をそれぞれ1394シリアルバスのツイスト・ペア・ケーブルで接続されている。この機器A〜Hは例としてPC、デジタルVTR、DVD、デジタルカメラ、ハードディスク、モニタ等である。
【0050】
各機器間の接続方式は、ディジーチェーン方式とノード分岐方式とを混在可能としたものであり、自由度の高い接続が可能である。
また、各機器は各自固有のIDを有し、それぞれが認識し合うことによって1394シリアルバスで接続された範囲において、1つのネットワークを構成している。
【0051】
各デジタル機器間をそれぞれ1本の1394シリアルバスケーブルで順次接続するだけで、それぞれの機器が中継の役割を行い、全体として1つのネットワークを構成するものである。また、1394シリアルバスの特徴でもある、Plug&Play機能でケーブルを機器に接続した時点で自動で機器の認識や接続状況などを認識する機能を有している。
【0052】
また、図2に示したようなシステムにおいて、ネットワークからある機器が削除されたり、または新たに追加されたときなど、自動的にバスリセットを行い、それまでのネットワーク構成をリセットしてから、新たなネットワークの再構築を行う。この機能によって、その時々のネットワークの構成を常時設定、認識することができる。
【0053】
また、データ転送速度は、100/200/400Mbpsと備えており、上位の転送速度を持つ機器が下位の転送速度をサポートし、互換をとるようになっている。
【0054】
データ転送モードとしては、コントロール信号などの非同期データ(Asynchronousデータ:以下Asyncデータ)を転送するAsynchronous転送モード、リアルタイムなビデオデータやオーディオデータ等の同期データ(Isochronousデータ:以下Isoデータ)を転送するIsochronous転送モードがある。このAsyncデータとIsoデータは各サイクル(通常1サイクル125μS)の中において、サイクル開始を示すサイクル・スタート・パケット(CSP)の転送に続き、Isoデータの転送を優先しつつサイクル内で混在して転送される。
【0055】
次に、図3に1394シリアルバスの構成要素を示す。
1394シリアルバスは全体としてレイヤ(階層)構造で構成されている。図3に示したように、最もハード的なのが1394シリアルバスのケーブルであり、そのケーブルのコネクタが接続されるコネクタポートがあり、その上にハードウェアとしてフィジカル・レイヤとリンク・レイヤがある。
ハードウェア部は実施的なインターフェイスチップの部分であり、そのうちフィジカル・レイヤは符号化やコネクタ関連の制御等を行い、リンク・レイヤはパケット転送やサイクルタイムの制御等を行う。
【0056】
ファームウェア部のトランザクション・レイヤは、転送(トランザクション)すべきデータの管理を行い、ReadやWriteといった命令を出す。マネージメント・レイヤは、接続されている各機器の接続状況やIDの管理を行い、ネットワークの構成を管理する部分である。
このハードウェアとファームウェアまでが実質上の1394シリアルバスの構成である。
【0057】
また、ソフトウェア部のアプリケーション・レイヤは使うソフトによって異なり、インタフェース上にどのようにデータをのせるか規定する部分であり、AVプロトコルなどのプロトコルによって規定されている。
以上が1394シリアルバスの構成である。
【0058】
次に、図4に1394シリアルバスにおけるアドレス空間の図を示す。
1394シリアルバスに接続された各機器(ノード)には必ず各ノード固有の、64ビットアドレスを持たせておく。そしてこのアドレスをROMに格納しておくことで、自分や相手のノードアドレスを常時認識では、相手を指定した通信も行える。
【0059】
1394シリアルバスのアドレッシングは、IEEE1212規格に準じた方式であり、アドレス設定は、最初の10bitがバスの番号の指定用に、次の6bitがノードID番号の指定用に使われる。
【0060】
それぞれの機器内で使用できる48ビットのアドレスについても20ビットと28ビットに分けられ、256Mバイト単位の構造を持って利用される。
最初の20ビットの0〜0xFFFFDの部分はメモリ空間と呼ばれる。
0xFFFFEの部分はプライベート空間と呼ばれ、機器内で自由に利用できるアドレスである。
【0061】
0xFFFFFの部分はレジスタ空間と呼ばれ、バスに接続された機器間で共通な情報が置かれ、各機器間のコミュニケーションに使われる。
レジスタ空間の最初の512バイトには、CSRアーキテクチャのコアになるレジスタ(CSRコア)がある。
【0062】
次の512バイトにはシリアルバスのレジスタがある。
その次の1024バイトにはConfiguration ROMが置かれる。残りはユニット空間で機器固有のレジスタがある。
一般的には異種バスシステムの設計の簡略化のため、ノードは初期ユニット空間の最初の2048バイトだけを使うべきであり、この結果としてCSRアーキテクチャの核(CSRコア)、シリアルバスのレジスタ、Configurration ROMと、ユニット空間の最初の2048バイトの合わせて4096バイトで構成することが望ましい。
以上が1394シリアルバスの技術の概要である。
【0063】
次に、1394シリアルバスの特徴といえる技術の部分を、より詳細に説明する。
〈1394シリアルバスの電気的仕様〉
図5に1394シリアルバス・ケーブルの断面図を示す。
1394シリアルバスで接続ケーブル内に、2組のツイストペア信号線の他に、電源ラインを設けている。これによって、電源を持たない機器や、故障により電圧低下した機器等にも電力の供給が可能になっている。
電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aは規定されている。
【0064】
〈DS−Link符号化〉
1394シリアルバスで採用されている、データ転送フォーマットのDS−Link符号化方式を説明するための図を図6に示す。
1394シリアルバスでは、DS−Link(Data/Strobe Link)符号化方式が採用されている。このDS−Link符号化方式は、高速なシリアルデータ通信に適しており、この構成は、2本の信号線を必要とする。より対線のうち1本に主となるデータを送り、他方のより対線にはストローブ信号を送る構成になっている。
【0065】
受信側では、この通信されるデータと、ストローブとの排他的論理和をとることによってクロックを再現できる。
このDS−Link符号化方式を用いるメリットとして、他のシリアルデータ転送方式に比べて転送効率が高いこと、PLL回路が不要となるのでコントローラLSIの回路規模を小さくできること、更には、転送すべきデータが無いときにアイドル状態であることを示す情報を送る必要が無いので、各機器のトランシーバ回路をスリープ状態にすることができることによって、消費電力の低減が図れる、などが挙げられる。
【0066】
〈バスリセットのシーケンス〉
1394シリアルバスでは、接続されている各機器(ノード)にはノードIDが与えられ、ネットワーク構成として認識されている。
このネットワーク構成に変化があったとき、例えばノードの挿抜や電源のON/OFFなどによるノード数の増減などによって変化が生じて、新たなネットワーク構成を認識する必要があるとき、変化を検知した各ノードはバス上にバスリセット信号を送信して、新たなネットワーク構成を認識するモードに入る。このときの変化の検知方法は、1394ポート基盤上でのバイアス電圧の変化を検知することによって行われる。
【0067】
あるノードからバスリセット信号が伝達されて、各ノードのフィジカルレイヤはこのバスリセット信号を受けると同時にリンクレイヤにバスリセットの発生を伝達し、かつ他のノードにバスリセット信号を伝達する。最終的にすべてのノードがバスリセット信号を検知した後、バスリセットが起動となる。
【0068】
バスリセットは、先に述べたようなケーブル抜挿や、ネットワーク異常等によるハード検出による起動と、プロトコルからのホスト制御などによってフィジカルレイヤに直接命令を出すことによっても起動する。
また、バスリセットが起動するとデータ転送は一時中断され、この間のデータ転送は待たされ、終了後、新しいネットワーク構成のもとで再開される。
以上がバスリセットのシーケンスである。
【0069】
〈ノードID決定のシーケンス〉
バスリセットの後、各ノードは新しいネットワーク構成を構築するために、各ノードにIDを与える動作に入る。このときの、バスリセットからノードID決定までの一般的なシーケンスを図7、図8、図9のフローチャートを用いて説明する。
【0070】
図7のフローチャートは、バスリセットの発生からノードIDが決定し、データ転送が行えるようになるまでの、一連のバスの作業を示してある。
まず、ステップS101として、ネットワーク内にバスリセットが発生することを常時監視していて、ここでノードの電源ON/OFFなどでバスリセットが発生するとステップS102に移る。
【0071】
ステップS102では、ネットワークがリセットされた状態から、新たなネットワークの接続状況を知るために、直接接続されている各ノード間において親子関係の宣言がなされる。ステップS103として、すべてのノード間で親子関係が決定すると、ステップS104として一つのルートが決定する。すべてのノード間で親子関係が決定するまで、ステップS102の親子関係の宣言を行い、またルートも決定されない。
【0072】
ステップS104でルートが決定されると、次はステップS105として、各ノードにIDを与えるノードIDの設定作業が行われる。所定のノード順序で、ノードIDの設定が行われ、すべてのノードにIDが与えられるまで繰り返し設定作業が行われ、最終的にステップS106としてすべてのノードにIDを設定し終えたら、新しいネットワーク構成がすべてのノードにおいて認識されたので、ステップS107としてノード間のデータ転送が行える状態となり、データ転送が開始される。
【0073】
このステップS107の状態になると、再びバスリセットが発生するのを監視するモードに入り、バスリセットが発生したらステップS101からステップS106までの設定作業が繰り返し行われる。
【0074】
以上が、図7のフローチャートの説明であるが、図7のフローチャートのバスリセットからルート決定までの部分と、ルート決定後からID設定終了までの手順をより詳しくフローチャート図に表したものを、図8及び図9にそれぞれ示す。
【0075】
まず、図8のフローチャートの説明を行う。
ステップS201としてバスリセットが発生すると、ネットワーク構成は一旦リセットされる。なお、ステップS201としてバスリセットが発生するのを常に監視している。
【0076】
次に、ステップS202として、リセットされたネットワークの接続状況を再認識する作業の第一歩として、各機器にリーフ(ノード)であることを示すフラグを立てておく。更に、ステップS203として各機器が自分の持つポートがいくつ他ノードと接続されているのかを調べる。
【0077】
ステップS204のポート数の結果に応じて、これから親子関係の宣言を始めていくために、未定義(親子関係が決定させてない)ポートの数を調べる。バスリセットの直後はポート数=未定義ポート数であるが、親子関係が決定されていくにしたがって、ステップS204で検知する未定義ポートの数は変化していくものである。
【0078】
まず、バスリセットの直後、はじめに親子関係の宣言を行えるのはリーフに限られている。リーフであるというのはステップS203のポート数の確認で知ることができる。リーフは、ステップS205として、自分に接続されているノードに対して、「自分は子、相手は親」と宣言し動作を終了する。
【0079】
ステップS203でポート数が複数ありブランチと認識したノードは、バスリセットの直後はステップS204で未定義ポート数〉1ということなので、ステップS206へと移り、まずブランチというフラグが立てられ、ステップS207でリーフから親子関係宣言で「親」の受付をするために待つ。
【0080】
リーフが親子関係の宣言を行い、ステップS207でそれを受けたブランチは適宜ステップS204の未定義ポート数の確認を行い、未定義ポート数が1になっていれば残っているポートに接続されているノードに対して、ステップS205の「自分が子」の宣言をすることが可能になる。
【0081】
2度目以降、ステップS204で未定義ポート数を確認しても2以上あるブランチに対しては、再度ステップS207でリーフ又は他のブランチからの「親」の受付をするために待つ。
【0082】
最終的に、いずれか1つのブランチ、又は例外的にリーフ(子宣言を行えるのにすばやく動作しなかった為)がステップS204の未定義ポート数の結果としてゼロになったら、これにてネットワーク全体の親子関係の宣言が終了したものであり、未定義ポート数がゼロ(すべて親のポートとして決定)になった唯一のノードはステップS208としてルートのフラグが立てられ、ステップS209としてルートとしての認識がなされる。
【0083】
このようにして、図8に示したバスリセットから、ネットワーク内すべてのノード間における親子関係の宣言までが終了する。
次に、図9のフローチャートについて説明する。
まず、図8までのシーケンスでリーフ、ブランチ、ルートという各ノードのフラグの情報が設定されているので、これを元にして、ステップS301でそれぞれ分類する。
【0084】
各ノードにIDを与える作業として、最初にIDの設定を行うことができるのはリーフからである。リーフ→ブランチ→ルートの順で若い番号(ノード番号=0〜)からIDの設定がなされていく。
【0085】
ステップS302としてネットワーク内に存在するリーフの数N(Nは自然数)を設定する。この後、ステップS303として各自リーフがルートに対して、IDを与えるように要求する。この要求が複数ある場合には、ルートはステップS304としてアービトレーション(1つに調停する作業)を行い、ステップS305として勝ったノード1つにID番号を与え、負けたノードには失敗の結果通知を行う。
【0086】
ステップS306としてID取得が失敗に終わったリーフは、再度ID要求を出し、同様の作業を繰り返す。IDを取得できたリーフからステップS307として、そのノードのID情報をブロードキャストで全ノードに転送する。1ノードID情報のブロードキャストが終わると、ステップS308として残りのリーフの数が1つ減らされる。ここで、ステップS309として、この残りのリーフの数が1以上ある時はステップS303のID要求の作業からを繰り返し行い、最終的にすべてのリーフがID情報をブロードキャストすると、ステップS309がN=0となり、次はブランチのID設定に移る。
ブランチのID設定もリーフの時と同様に行われる。
【0087】
まず、ステップS310としてネットワーク内に存在するブランチの数M(Mは自然数)を設定する。この後、ステップS311として各自ブランチがルートに対して、IDを与えるように要求する。これに対してルートは、ステップS312としてアービトレーションを行い、勝ったブランチから順にリーフに与え終わった次の若い番号から与えいく。
【0088】
ステップS313として、ルートは要求を出したブランチにID情報又は失敗結果を通知し、ステップS314としてID取得が失敗に終わったブランチは、再度ID要求を出し、同様の作業を繰り返す。IDを取得できたブランチからステップS315として、そのノードのID情報をブロードキャストで全ノードに転送する。1ノードID情報のブロードキャストが終わると、ステップS316として残りのブランチの数が1つ減らされる。
【0089】
ここで、ステップS317として、この残りのブランチの数が1以上ある時はステップS311のID要求の作業からを繰り返し、最終的にすべてのブランチがID情報をブロードキャストするまで行われる。すべてのブランチがノードIDを取得すると、ステップS317はM=0となり、ブランチのID取得モードも終了する。
【0090】
ここまで終了すると、最終的にID情報を取得していないノードはルートのみなので、ステップS318として与えない番号で最も若い番号を自分のID番号と設定し、ステップS319としてルートのID情報をブロードキャストする。
【0091】
以上で、図9に示したように、親子関係が決定した後から、すべてのノードのIDが設定されるまでの手順が終了する。
次に、一例として図10に示した実際のネットワークにおける動作を図12を参照しながら説明する。
【0092】
図10の説明として、(ルート)ノードBの下位にはノードAとノードCが直接接続されており、更にノードCの下位にはノードDが直接接続されており、更にノードDの下位にはノードEとノードFが直接接続された階層構造になっている。この、階層構造やルートノード、ノードIDを決定する手順を以下で説明する。
【0093】
バスリセットがされた後、まず各ノードの接続状況を認識するために、各ノードの直接接続されているポート間において、親子関係の宣言がなされる。この親子とは親側が階層構造で上位となり、子側が下位となると言うことができる。
【0094】
図10では、バスリセットの後、最初に親子関係の宣言を行ったのはノードAである。基本的にノードの1つのポートにのみ接続があるノード(リーフと呼ぶ)から親子関係の宣言を行うことができる。
【0095】
これは自分には1ポートの接続のみということをまず知ることができるので、これによってネットワークの端であることを認識し、その中で早く動作を行ったノードから親子関係が決定されていく。こうして親子関係の宣言を行った側(A−B間ではノードA)のポートが子と設定され、相手側(ノードB)のポートが親と設定される。こうして、ノードA−B間では子−親、ノードE−D間で子−親、ノードF−D間で子−親と決定される。
【0096】
更に1階層あがって、今度は複数個接続ポートを持つノード(ブランチと呼ぶ)のうち、他ノードからの親子関係の宣言を受けたものから順次、更に上位に親子関係の宣言を行っていく。図10ではまずノードDがD−E間、D−F間と親子関係が決定した後、ノードCに対する親子関係の宣言を行っており、その結果ノードD−C間で子−親と決定している。
【0097】
ノードDから親子関係の宣言を受けたノードCは、もう一つのポートに接続されているノードBに対して親子関係の宣言を行っている。これによってノードC−B間で子−親と決定している。
【0098】
このようにして、図10のような階層構造が構成され、最終的に接続されているすべてのポートにおいて親となったノードBが、ルートノードと決定された。ルートは1つのネットワーク構成中に一つしか存在しないものである。
【0099】
なお、この図10においてノードBがルートノードと決定されたが、これはノードAから親子関係宣言を受けたノードBが、他のノードに対して親子関係宣言を早いタイミングで行っていれば、ルートノードは他ノードに移っていたこともあり得る。すなわち、伝達されるタイミングによってはどのノードもルートノードとなる可能性があり、同じネットワーク構成でもルートノードは一定とは限らない。
【0100】
ルートノードが決定すると、次は各ノードIDを決定するモードに入る。ここではすべてのノードが、決定した自分のノードIDを他のすべてのノードに通知する(プロードキャスト機能)。
自己ID情報は、自分のノード番号、接続されている位置の情報、持っているポートの数、接続のあるポートの数、各ポートの親子関係の情報等を含んでいる。
【0101】
ノードID番号の割り振りの手順としては、まず1つのポートにのみ接続があるノード(リーフ)から起動することができ、この中から順にノード番号=0、1、2、、と割り当てられる。
【0102】
ノードIDを手にしたノードは、ノード番号を含む情報をブロードキャストで各ノードに送信する。これによって、そのID番号は『割り当て済み』であることが認識される。
【0103】
すべてのリーフが自己ノードIDを取得し終わると、次はブランチへ移りリーフに引き続いたノードID番号が各ノードに割り当てられる。リーフと同様に、ノードID番号が割り当てられたブランチから順次ノードID情報をブロードキャストし、最後にルートノードが自己ID情報をブロードキャストする。すなわち、常にルートは最大のノードID番号を所有するものである。
以上のようにして、階層構造全体のノードIDの割り当てが終わり、ネットワーク構成が再構築され、バスの初期化作業が完了する。
【0104】
《ノード管理のための制御情報》
ノード管理のためのCSRアーキテクチャの基本的な機能として、図4に示したCSRコアがレジスタ上に存在する。
それらのレジスタの位置と機能を図11に示すが、図中のオフセットは0xFFFFF0000000からの相対位置である。
CSRアーキテクチャでは、0xFFFFF0000200からシリアルバスに関するレジスタが配置されていて、それらのレジスタの位置と機能を図12に示す。
【0105】
また、0xFFFFF0000800から始まる場所には、シリアルバスのノード資源に関する情報が配置されていて、それらのレジスタの位置と機能を図13に示す。
【0106】
CSRアーキテクチャでは、各ノードの機能を表すためConfiguration ROMを持っているが、このROMには最小形式と一般形式があり、xFFFFF0000400から配置される。
【0107】
最小形式では、図14のようにベンダIDを表しているだけであり、このIDは24ビットで表される全世界で固有の数値である。
一般形式では、図15のような形式でノードに関する情報を持っているが、この場合のベンダIDはroot_directoryに持つことができる。
【0108】
また、bus_info_blockとroot_leafには、ベンダIDを含んだ64ビットの全世界で固有な装置番号を持っている。
この装置番号は、バスリセットなどの再構成後に継続してノードを認識するために使用する。
【0109】
《シリアルバス管理》
IEEE1394バスのプロトコルは、図3に示すようにフィジカルレイヤ、リンクレイヤ、トランザクションレイヤから構成されている。
この中でのバス管理は、CSRアーキテクチャに基づいたノードの制御とバス資源管理の為の基本的な機能を提供している。
【0110】
バス管理を行うノードはバス上で唯一存在して動作するもので、このバス管理ノードはシリアルバス上の他のノードに管理可能を提供するが、この管理機能にはサイクルマスタの制御や、性能の最適化、電源管理、伝送速度管理、構成管理などがある。
【0111】
バス管理機能は大きく分けて、バスマネージャ、アイソクロノスリソースマネージャと、ノード制御の三つの機能から構成される。
はじめにノード制御とは、CSRによってフィジカルレイヤ、リンクレイヤ、トランザクションレイヤ、アプリケーションでのノード間通信を可能にする管理機能である。
【0112】
次に、アイソクロノスリソースマネージャとは、シリアルバス上で同期型のデータ転送を行うために必要となる管理機能で、アイソクロノスデータの転送帯域幅とチャネル番号の割り付けを管理するものである。この管理を行うノードはバス上に唯一存在するもので、バスの初期化フェーズ後にアイソクロノスリソースマネージャ機能を持ったノードの中から動的に選出される。
【0113】
また、このノードはバスマネージャノードの決定を行うものでもあるが、バス上にバスマネージャのノードが存在しない構成では、電源管理やサイクルマスタの制御のようなバスマネージャの一部の機能をアイソクロノスリソースマネージャノードが行う。
【0114】
更にバスマネージャとは、アプリケーションに対するバス制御のインターフェイスを提供するサービスを行う管理機能であり、その制御インターフェイスにはシリアルバス制御要求(SB_CONTROL.request)、シリアルバス・イベント制御確認(SB_CONTROL.confirmation)、シリアルバス・イベント通知(SB_EVENT.indication)がある。
【0115】
SB_CONTROL.requestは、バスのリセット、バスの初期化、バスの状態情報などをアプリケーションからバス管理に要求する場合に利用するものであり、図27において、SB_CONTROL.reqで示される。
【0116】
SB_CONTROL.confirmationは、SB_CONTROL.requestの結果は、バスマネージャからアプリケーションに確認通知するものであり、図27において、SB_CONTROL.confで示される。
【0117】
SB_EVENT.indicationは、バスマネージャからアプリケーションに対して非同期に発生するイベントを通知する為のものであり、図27において、SB_EVENT.indで示される。
【0118】
《データ転送プロトコル》
IEEE1394でのデータ転送は、周期的に送信する必要のある同期データ(アイソクロナス・パケット)と、任意のタイミングでのデータ送受信が許容される非同期データ(アシンクロナス・パケット)とが同時に存在し、なおかつ同期転送データのリアルタイム性を保証している。
データ転送では、転送に先立ってバス使用権を要求し使用承諾件を得るために、バス・アービトレーションを行う。
【0119】
アシンクロナス転送においては、送信ノードIDと受信ノードIDが転送データと一緒にパケット・データとして送られるが、受信ノードは自分のIDを確認してパケットを受け取るとアクノリッジ信号を送信ノードに返すことで、一つのトランザクショが完了する。
【0120】
アイソクロナス転送においては、送信ノード側で伝送速度と一緒にアイソクロノス・チャネルを要求し、チャネルIDが転送データと一緒にパケットデータとして送られ、受信ノード側では自分が欲しいチャネルIDを確認してデータパケットを受け取る。
【0121】
必要となるチャネル数と伝送速度はアプリケーションレイヤで決定される。
これらのデータ転送プロトコルは、フィジカルレイヤ、リンクレイヤ、トランザクションレイヤの三つのレイヤによって定義される。
【0122】
フィジカルレイヤは、バスとの物理的・電気的インターフェイスや、ノード接続の自動認識、バス上のノード間のバス使用権(バス・アービトレーション)などを行う。
【0123】
リンクレイヤは、アドレッシング、データチェック、パケット送受信、そしてアイソクロナス転送の為のサイクル制御を行う。
トランザクションレイヤは、アシンクロナス・データに関する処理を行う。
以下に各レイヤにおける処理について説明する。
【0124】
〈フィジカルレイヤ〉
フィジカルレイヤにおける、バス・アービトレーションを説明するための図として図16にバス使用要求、図17にバス使用許可の図を示し、以下これを用いて説明する。
【0125】
アービトレーションが始まると、1つもしくは複数のノードが親ノードに向かって、それぞれバス使用権の要求を発する。図16のノードCとノードFがバス使用権の要求を発しているノードである。これを受けた親ノード(図16ではノードA)は更に親ノードに向かって、バス使用権の要求を発する(中継する)。この要求は最終的に調停を行うルートに届けられる。
【0126】
バス使用要求を受けたルートノードは、どのノードにバスを使用させるかを決める。この調停作業はルートノードのみが行えるものであり、調停によって勝ったノードにはバスの使用許可を与える。
【0127】
図17では、ノードCに使用許可が与えられ、ノードFの使用は拒否された図である。アービトレーションに負けたノードに対してはDP(data prefix)パケットを送り、拒否されたことを知らせる。拒否されたノードのバス使用要求は次回のアービトレーションまで待たされる。
以上のようにして、アービトレーションに勝ってバスの使用許可を得たノードは、以降データの転送を開始できる。
ここで、アービトレーションの一連の流れをフローチャート図18に示して、説明する。
【0128】
ノードがデータ転送を開始できる為には、バスがアイドル状態であることが必要である。先に行われていたデータ転送が終了して、現在バスが空き状態であることを認識するためには、各転送モードで個別に設定されている所定のアイドル時間ギャップ長(例.サブアクション・ギャップ)を経過する事によって、各ノードは自分の転送が開始できると判断する。
【0129】
ステップS401として、Asyncデータ、Isoデータ等それぞれ転送するデータに応じた所定のギャップ長が得られたか判断する。所定のギャップ長が得られない限り、転送を開始するために必要なバス使用権の要求はできないので、所定のギャップ長が得られるまで待つ。
【0130】
ステップS401で所定のギャップ長が得られたら、ステップS402として転送すべきデータがあるか判断し、ある場合はステップS403として転送するためにバスを確保するよう、バス使用権の要求をルートに対して発する。このときの、バス使用権の要求を表す信号の伝達は、図16、図17に示したように、ネットワーク内各機器を中継しながら、最終的にルートに届けられる。ステップS402で転送するデータがない場合は、そのまま待機する。
【0131】
次に、ステップS404として、ステップ403のバス使用要求を1つ以上ルートが受信したら、ルートはステップS405として使用要求を出したノードの数を調べる。ステップS405での選択値がノード数=1(使用権要求を出したノードは1つ)だったら、そのノードに直後のバス使用許可が与えられることとなる。
【0132】
ステップS405での選択値がノード数〉1(使用要求を出したノードは複数)だったら、ルートはステップS406として使用許可を与えるノードを1つに決定する調停作業を行う。この調停作業は公平なものであり、毎回同じノードばかりが許可を得る様なことはなく、平等に権利を与えていくような構成となっている。
【0133】
ステップS407として、ステップS406で使用要求を出した複数ノードの中からルートが調停して使用許可を得た1つのノードと、敗れたその他のノードに分ける選択を行う。ここで、調停されて使用許可を得た1つのノード、またはステップS405の選択値から使用要求ノード数=1で調停無しに使用許可を得たノードには、ステップS408として、ルートはそのノードに対して許可信号を送る。
【0134】
許可信号を得たノードは、受け取った直後に転送すべきデータ(パケット)を転送開始する。また、ステップS406の調停で敗れて、バス使用が許可されなかったノードにはステップS409としてルートから、アービトレーション失敗を示すDP(data prefix)パケットを送られ、これを受け取ったノードは再度転送を行うためのバス使用要求を出すため、ステップS401まで戻り、所定ギャップ長が得られるまで待機する。
以上がアービトレーションの流れを説明した、フローチャート図18の説明である。
【0135】
〈トランザクションレイヤ〉
トランザクションの種類には、リード・トランザクション、ライト・トランザクション、ロック・トランザクションの3種類がある。
リード・トランザクションでは、イニシエータ(要求ノード)がターゲット(応答ノード)の特定アドレスのメモリのデータを読み取る。
ライト・トランザクションでは、イニシエータがターゲットの特定アドレスのメモリにデータを書き込む。
【0136】
ロック・トランザクションでは、イニシエータからターゲットに参照データと更新データを転送し、その参照データとターゲットのアドレスのデータを組み合わせて処理を行い、ターゲットの指定されたアドレスのデータを更新する。
【0137】
図19は、トランザクションレイヤにおけるCSRアーキテクチャに基づいた、読み出し(リード)、書き込み(ライト)、ロックの各コマンドの要求・応答プロトコルについて示したもので、図に示した要求・通知・応答・確認はトランザクションレイヤでのサービス単位になっている。
【0138】
トランザクション要求(TR_DATA.request)は、応答ノードに対するパケットの転送、トランザクション通知(TR_DATA.indication)は応答ノードに要求が届いたことの通知、トランザクション応答(TR_DATA.response)はアクノリッジの送信、トランザクション確認(TR_DATA.confirmation)はアクノリッジの受信である。
【0139】
〈リンクレイヤ〉
図20は、リンクレイヤにおけるサービスを示した図で、応答ノードに対するパケットの転送を要求するリンク要求(LK_DATA.request)、応答ノードにパケット受信を通知するリンク通知(LK_DATA.indication)、応答ノードからのアクノリッジ送信のリンク応答(LK_DATA.response)、要求ノードのアクノリッジ送信のリンク確認(LK_DATA.confirmation)のサービス単位に分けられる。
【0140】
一つのパケット転送プロセスはサブアクションと呼ばれ、アシンクロナス・サブアクションとアイソクロナス・サブアクションの2つの種類がある。
各サブアクションの動作について、以下に説明する。
【0141】
《アシンクロナス・サブアクション》
アシンクロナス・サブアクションは、非同期データ転送である。図21にアシンクロナス転送における時間的な遷移状態を示す。図21の最初のサブアクション・ギャップは、バスのアイドル状態を示すものである。このアイドル時間が一定値になった時点で、転送を希望するノードはバスが使用できると判断して、バス獲得のためのアービトレーションを実行する。
【0142】
アービトレーションでバスの使用許可を得ると、次にデータの転送がパケット形式で実行される。データ転送後、受信したノードは転送されたデータに対しての受信結果のack(受信確認用返送コード)をack gapという短いギャップの後、返送して応答するか、応答パケットを送ることによって転送が完了する。ackは4ビットの情報と4ビットのチェックサムからなり、成功か、ビジー状態か、ペンディング状態であるかといった情報を含み、すぐに送信元にノードに返送される。
【0143】
次に、図22にアシンクロナス転送のパケットフォーマットの例を示す。
パケットには、データ部及び誤り訂正用のデータCRCの他にはヘッダ部があり、そのヘッダ部には図22に示したような、目的ノードID、ソースノードID、転送データ長さや各種コードなどが書き込まれ、転送が行われる。
【0144】
また、アシンクロナス転送は自己ノードから相手ノードへの1対1の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視されるので、宛先の1つのノードのみが読込むことになる。
以上がアシンクロナス転送の説明である。
【0145】
《アイソクロナス・サブアクション》
アイソクロナス・サブアクションは同期データ転送である。1394シリアルバスの最大の特徴であるともいえるこのアイソクロナス転送は、特にVIDEO映像データや音声データといったマルチメディアデータなど、リアルタイムな転送を必要とするデータの転送に適した転送モードである。
【0146】
また、アシンクロナス転送(非同期)が1対1の転送であったのに対し、このアイソクロナス転送はブロードキャスト機能によって、転送元の1つのノードから他のすべてのノードへ一様に転送される。
【0147】
図23は、アイソクロナス転送における時間的な遷移状態を示す図である。
アイソクロナス転送は、バス上一定時間毎に実行される。この時間間隔をアイソクロナスサイクルと呼ぶ。アイソクロナスサイクル時間は、125μSである。この各サイクルの開始時間を示し、各ノードの時間調整を行う役割を担っているのがサイクル・スタート・パケットである。
【0148】
サイクル・スタート・パケットを送信するのは、サイクル・マスタと呼ばれるノードであり、1つ前のサイクル内の転送終了後、所定のアイドル期間(サブアクションギャップ)を経た後、本サイクルの開始を告げるサイクル・スタート・パケットを送信する。このサイクル・スタート・パケットの送信される時間間隔が125μSとなる。
【0149】
また、図23にチャネルA、チャネルB、チャネルCと示したように、1サイクル内において複数種のパケットがチャネルIDをそれぞれ与えられることによって、区別して転送できる。これによって同時に複数ノード間でのリアルタイムな転送が可能であり、また、受信するノードでは自分が欲しいチャネルIDのデータのみを取り込む。このチャネルIDは送信先のアドレスを表すものではなく、データに対する論理的な番号を与えているに過ぎない。よって、あるパケットの送信は1つの送信元ノードから他のすべてのノードに行き渡る、ブロードキャストで転送されることになる。
【0150】
アイソクロナス転送のパケット送信に先立って、アシンクロナス転送同様アービトレーションが行われる。しかし、アシンクロナス転送のように1対1の通信ではないので、アイソクロナス転送にはack(受信確認用返信コード)は存在しない。
【0151】
また、図23に示したios gap(アイソクロナスギャップ)とは、アイソクロナス転送を行う前にバスが空き状態であると確認するために必要なアイドル期間を表している。この所定のアイドル期間を経過すると、アイソクロナス転送を行いたいノードはバスが空いていると判断し、転送前のアービトレーションを行うことができる。
【0152】
次に、図24にアイソクロナス転送のパケットフォーマットの例を示し、説明する。
各チャネルに分かれた、各種のパケットにはそれぞれデータ部及び誤り訂正用のデータCRCの他にヘッダ部があり、そのヘッダ部には図24に示したような、転送データ長やチャネルNO、その他各種コード及び誤り訂正用のヘッダCRCなどが書き込まれ、転送が行われる。
以上がアイソクロナス転送の説明である。
【0153】
それぞれのパケットフォーマットにおける、パケットフィールドの詳細について図25に示す。
〈バス・サイクル〉
実際の1394シリアルバス上の転送では、アイソクロナス転送と、アシンクロナス転送は混在できる。その時の、アイソクロナス転送とアシンクロナス転送が混在した、バス上の転送状態の時間的な遷移の様子を表した図を図26に示す。
【0154】
アイソクロナス転送はアシンクロナス転送より優先して実行される。その理由は、サイクル・スタート・パケットの後、アシンクロナス転送を起動するために必要なアイドル期間のギャップ長(サブアクションギャップ)よりも短いギャップ長(アイソクロナスギャップ)で、アイソクロナス転送を起動できるからである。したがって、アシンクロナス転送より、アイソクロナス転送は優先して実行されることとなる。
【0155】
図26に示した、一般的なバスサイクルにおいて、サイクル#mのスタート時にサイクル・スタート・パケットがサイクル・マスタから各ノードに転送される。これによって、各ノードで時刻調整を行い、所定のアイドル期間(アイソクロナスギャップ)を待ってからアイソクロナス転送を行うべきノードはアービトレーションを行い、パケット転送に入る。図26ではチャネルeとチャネルsとチャネルkが順にアイソクロナス転送されている。
【0156】
このアービトレーションからパケット転送までの動作を、与えられているチャネル分繰り返し行った後、サイクル#mにおけるアイソクロナス転送がすべて終了したら、アシンクロナス転送を行うことができるようになる。
【0157】
アイドル時間がアシンクロナス転送が可能なサブアクションギャップに達する事によって、アシンクロナス転送を行いたいノードはアービトレーションの実行に移れると判断する。
【0158】
ただし、アシンクロナス転送が行える期間は、アイソクロナス転送終了後から、次のサイクル・スタート・パケットを転送すべき時間(cycle synch)までの間にアシンクロナス転送を起動するためのサブアクションギャップが得られた場合に限っている。
【0159】
図26のサイクル#mでは3つのチャネル分のアイソクロナス転送と、その後アシンクロナス転送(含むack)が2パケット(パケット1、パケット2)転送されている。このアシンクロナスパケット2の後は、サイクルm+1をスタートすべき時間(cycle synch)にいたるので、サイクル#mでの転送はここまでで終わる。
【0160】
ただし、非同期または同期転送動作中に次のサイクル・スタート・パケットを送信すべき時間(cycle synch)に至ったとしたら、無理に中断せず、その転送が終了した後のアイドル期間を待ってから次サイクルのサイクル・スタート・パケットを送信する。すなわち、1つのサイクルが125μS以上続いたときは、その分次サイクルは基準の125μSより短縮されたとする。このようにアイソクロナス・サイクルは125μSを基準に超過、短縮し得るものである。
【0161】
しかし、アイソクロナス転送はリアルタイム転送を維持するために毎サイクル必要であれば必ず実行され、アシンクロナス転送はサイクル時間が短縮されたことによって次以降のサイクルにまわされることもある。
【0162】
図27は、IEEE1394のプロトコルアーキテクチャ図である。この図において、各レイヤ間のサービス、特にアプリケーションレイヤーと、トランザクションレイヤー、リンクレイヤーの間のサービスについて説明する。矢印は各レイヤー間のサービスを示す。
【0163】
TR_DATA.requestは、データ・トランザクションサービスを示す。アプリケーションまたはバス管理は、このサービスを用いてWRITE、READ、LOCKのデータトランザクションを開始するものであり、図27において、TR_DATA reqで示される。
【0164】
TR_DATA.confirmationは、トランザクション完了確認サービスを示す。トランザクション・データ・リクエスト完了時、トランザクションレイヤーは、このサービスを用いて、リクエスト側ノードにトランザクションの完了を通信するものであり、図27において、TR_DATA confで示される。
【0165】
TR_DATA.indicationは、トランザクション・リクエスト受信表示サービスを示す。トランザクションレイヤーは、このサービスを用いて、トランザクションリクエストを受信したことをアプリケーション・ノード・コントローラ、バス・マネージャに表示する。これは、図27において、TR_DATA.indで示される。
【0166】
TR_DATA.responseは、トランザクション・データ応答サービスを示す。トランザクションレイヤーは、このサービスを用いて、受信したパケットに応答し、トランザクションを完了させる。これは、図27において、TR_DATA.respで示される。
【0167】
LK_ISO_CONTOROL.requestは、アイソクロナス制御リクエストサービスを示す。アプリケーションレイヤーは、このサービスを使って、リンクレイヤーにアイソクロナスチャンネルのリストを通信する。これは、図27において、LK_ISO_CONT.reqで示される。
【0168】
LK_CYCLE.indicationは、サイクル同期化表示サービスを示す。リンクレイヤーは、このサービスを用いて、アプリケーションレイヤーにサイクル同期化イベントを表示する。これは、図27において、LK_CYCLE.indで示される。
【0169】
LK_ISO.requestは、アイソクロナスリクエストサービスを示す。アプリケーションレイヤーは、このサービスを用いて、リンクレイヤーに1個のアイソクロナスパケットをバスに送信するようにリクエストする。これは、図27において、LK_ISO.reqで示される。
【0170】
LK_ISO.indicationは、アイソクロナス表示サービスを示す。リンクレイヤーは、このサービスを用いて、アプリケーションレイヤーにアイソクロナスパケットを受信したことを表示する。これは、図27において、LK_ISO.indで示される。
【0171】
〈1394アイソクロナスデータ転送を用いたプリンティングシステム(ホスト側)〉
図28、図29は、例えばPCのようなホスト(転送元ノード)から、アイソクロナスデータ転送を用いて印字データをプリンタ(転送先ノード)に転送する際の、ホスト側における印字シーケンスを示したフローチャートである。ホスト側で印字データ転送処理が始まるとき、まずホスト側は、ターゲットとなるプリンタにログインしなければならない。
【0172】
1394プリンタへのログインは、まずプリンタのログインレジスタをリードトランザクションにより読み取り(ステップ2001)、ログインレジスタの値よりログイン可否を判定し(ステップ2002)、ロックトランザクションにより、プリンタのログインレジスタを変更して(ステップ2003)ログインする。ログインレジスタの値により現在ログイン不可能であれば、アプリケーションにその旨を通知し、データ転送処理を終了する。
【0173】
ログイン処理が正常に終了したら、次にリードトランザクションにより、プリンタのコンフィギュレーションROM中のプリンタ種別を読み(ステップ2004)、出力先のプリンタ種別を判定する。次に、ISOデータを転送可能かどうかをチェックする。このチェックの結果、ISOデータを転送可能であれば、ホスト側は、このプリンタ種別により、アイソクロナスリソースマネージャーに対して要求する帯域幅を判定する。
【0174】
帯域幅変更の目的は、1394ネットワーク全体のデータ転送帯域の最適化である。1394のアイソクロナス転送におけるプリントアウト処理の場合、プリンタのプリントアウト能力以上のデータ転送が可能である。またアイソクロナス転送は、転送データをプリンタがそのまま受けなければならない(パケットごとにエラー、リトライを繰り返すことができない)という性格上、データ転送能力をプリントアウト能力に応じて定めなければならない。
【0175】
例えばレーザビームプリンタとインクジェットプリンタでは、一般にプリントアウト能力に差があるため、本実施例のばあい、ホスト側がプリンタ側のレジスタを読み取り、レーザービームプリンタなら5M/s、インクジェットプリンタなら2M/sのように、アイソクロナスリソースマネージャに要求するデータ転送帯域幅を定める。
【0176】
さらに、プリンタの種別により帯域幅を決定する他に、転送データがカラーであるか、モノクロであるか、など転送データ量に影響するパラメータも参照して、プリンタのプリントアウト能力を超えない最適なデータ転送帯域を確保しようとすることにより、1394ネットワーク全体のデータ転送帯域幅を最適に使用できる。
【0177】
具体的には、カラー印刷を行う場合は大量のデータを必要とするので、カラー印刷を行う際は、モノクロ印刷を行うより大きな帯域幅が設定される。また、モノクロデータはスピードを重視するため高速に印刷し、カラーデータは品位を重視するため低速に印刷する場合には、モノクロデータを転送する際には、カラーデータを転送する際より大きな帯域幅が設定される。
【0178】
帯域幅の決定に際しては、プリンタ種別を判定するのみならず、同一機種の場合でもドライバの設定(ドラフトモード、ファインモード)等により変更することが考えられる。その場合、アイソクロナスデータ転送に使用する帯域幅を獲得するには、まず始めにアイソクロナスリソースマネージャーから、リードトランザクションにより、現在割り当て可能な帯域幅の最大値を読み取る(ステップ2010)。
【0179】
次に、前記ステップ2004〜2009において決定された要求帯域幅を、前記ステップ2009で読み取った割り当て可能帯域幅と比較する(ステップ2011)。割り当て可能であれば、ロックトランザクションにより、アイソクロナスリソースマネージャーから要求帯域幅を獲得する(ステップ2012)。もし要求帯域幅が獲得できなければ、アプリケーションにその旨を通知し、データ転送処理を終了する。
【0180】
帯域幅を獲得したら、次にアイソクロナス転送のための、チャンネル番号決定処理を行う。まず、アイソクロナスリソースマネージャーからリードトランザクションにより、現在のチャンネル番号使用状態を読み取る(ステップ2013)。次に、未使用チャンネル番号があるかどうかを調べ(ステップ2014)、もし未使用チャンネル番号があれば、ロックトランザクションにより、アイソクロナスリソースマネージャーからチャンネル番号を獲得する(ステップ2015)。もし未使用チャンネル番号がなければ、アプリケーションにその旨を通知し、データ転送処理を終了する。
【0181】
転送元ノード(この場合PC)は、アイソクロナスリソースマネージャーから帯域幅、チャンネル番号を獲得した後、チャンネル番号を転送先ノード(この場合プリンタ)のチャンネル番号レジスタに、ライトトランザクションを用いて書き込み、通知する(ステップ2016)。
【0182】
さらに、前記と同様に、プリント開始を転送先ノードのプリント開始レジスタに、ライトトランザクションを用いてプリント開始ビットを書き込み、通知して(ステップ2017)、アイソクロナスデータ転送を開始する(ステップ2018)。
【0183】
アイソクロナスデータ転送が終了したら(ステップ2019)、プリント終了を転送先ノードに通知する。この処理は転送先ノードのプリント開始レジスタに、ライトトランザクションを用いてプリント終了ビットを書き込むことによってなされる(ステップ2020)。
【0184】
ステップ2005の判定でISOデータの転送が可能でない場合、ステップ2021へ進み、BJC−1394であるかどうかをチェックする。このチェックの結果、BJC−1394であれば、ステップ2022へ進んでBJプリンタ用データの非同期転送パケットサイズを設定する。
【0185】
また、ステップ2021のチェックの結果がBJC−1394でない場合にはステップ2023へ進み、LBP−1394であるかどうかをチェックする。そして、LBP−1394であれば、ステップ2024へ進み、LBPプリンタ用データの非同期転送パケットサイズを設定する。
【0186】
本実施形態においては、前述のようにして、それぞれのプリンタに適した非同期パケットのデータサイズを、ステップ2022、ステップ2022で決めることができる。
【0187】
次に、プリント開始を通知し(ステップ2025)、その後、非同期データの転送を開始する(ステップ2026)。そして、次のステップ2027でASYNCデータの転送を終了したら、次に、ステップ2028でプリント終了を通知する。
【0188】
ステップ2005のISOデータ転送が可能であるかどうかの判定は、バス上にサイクルマスタがあるかどうかで判定される。サイクルマスタの有無は、図27のSB_CONT confによって情報を得ることができる。
【0189】
図30は第1の出力装置の構成を示す断面図であり、例えばレーザビームプリンタ(LBP)の場合を示す。
図30において、2000はLBP本体であり、外部に接続されているホストコンピュータから供給される印刷情報(文字コード等)やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。
【0190】
2001は操作のためのスイッチおよびLED表示器等が配されている操作パネル、2012はLBP本体2000全体の制御およびホストコンピュータから供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット2012は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ2002に出力する。
【0191】
レーザドライバ2002は半導体レーザ2003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ2003から発射されるレーザ光2004をオン・オフ切り換えする。レーザ光2004は回転多面鏡2005で左右方向に振らされて静電ドラム2006上を走査露光する。
【0192】
これにより、静電ドラム2006上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム2006周囲に配設された現像ユニット2007により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP2000に装着した用紙カセット2008に収納され、給紙ローラ2009および搬送ローラ2010と搬送ローラ2011とにより、装置内に取り込まれて、静電ドラム2006に供給される。また、LBP本体2000には、図示しないカードスロットを少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なる制御カード(エミュレーションカード)を接続できるように構成されている。
【0193】
図31は本実施形態のLBPの構成を説明するブロック図である。
プリンタ2000において、12はプリンタCPUで、ROM13のプログラム用ROMに記憶された制御プログラム等或いは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース16を介して接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。
【0194】
また、このROM13のプログラムROMには、制御プログラムが記憶されている。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMにはハードディスク等の外部メモリ14が無いプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
【0195】
なお、プリンタの各種情報は本実施形態の場合は1394インターフェースである入力部18を介して外部機器からアクセスすることが可能である。これら情報には、用紙カセット2008の紙残量警告などの情報が含まれる。これら情報のアクセスについては後述のプリンタ側1394シリアルバスインターフェースの構成で、シリアルバス用コンフィギュレーションROMならびにステータスレジスタの項目で説明する。
【0196】
19はCPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、ディスクコントローラ(DKC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
【0197】
また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、図示しないNVRAMを有し、操作パネル2001からのプリンタモード設定情報を記憶するようにしても良い。
【0198】
〈インクジェットプリンタの構成〉
図32は、本実施形態の第2の出力装置の構成を示す外観図であり、たとえばインクジェット記録装置の場合を示す。
図32において駆動モータ2213の正逆回転に連動して駆動力伝達ギヤ2211、2209を介して回転するリードスクリュー2205のガイド溝2204に対して係合するキャリッジHCはピン(図示しない)を有し、矢印a,b方向に往復移動される。このキャリッジHCにはインクカートリッジIJCが搭載されている。
【0199】
このプリンタ用のIJCとして装着可能なものには、カラーインクを具備したカラーインクジェットカートリッジCIJCと、ブラックインクのみを具備したモノクロインクジェットカートリッジMIJCが用意されている。2202は紙押さえ板であり、キャリッジ移動方向にわたって紙をプラテン2200に対して押圧する。2207、2208はフォトカプラでキャリッジのレバー2206のこの行きでの存在を確認して、モータ2213の回転方向切り替えを行うためのホームポジション検出手段として機能する。
【0200】
また、本プリンタには自動的に複数枚の紙を給紙可能とするオートシートフィーダが装着されている。現在印字されている、すなわちプラテン上にある紙が排紙されようとする際、オートシートフィーダは次の紙をプリンタの給紙挿入口にガイドする。プリンタは排紙後、給紙挿入口のペーパーセンサにより紙を検出すると、次の紙をプラテンにセットするべく給紙を行う。
【0201】
オートシートフィーダーのペーパートレイには紙残量センサが装着されており、シートフィーダーにセットされている紙量が所定の量よりも減少した場合には、センサーが反応する。
【0202】
2216は記録ヘッドの全面をキャップするキャップ部材2222支持する部材、2215はこのキャップ内を吸引する吸引手段でキャップ内開口2223を介して記録ヘッドの吸引回復を行う。2217はクリーニングブレードで部材2219により前後方向に移動可能となる。2218は本体支持板で上記2217、2219を支持する。2212は吸引回復の吸引を開始するためのレバーであり、キャリッジと係合するカム2220の移動に伴って移動し、駆動モーターからの駆動力がクラッチ切り替え等の公知の伝達手段で移動制御される。
【0203】
これらのキャッピング、クリーニング、吸引回復はキャリッジがホームポジション側領域に来たときにリードスクリュー2205の作用によってそれらの対応位置で所望の処理が行われる様に構成されているが周知のタイミングで所望動作を行うように構成されていればよい。
【0204】
図33は、図32に示した出力装置の制御構成を説明するためのブロック図である。
図33において2300はホストコンピュータの記録信号を入力するインターフェース部、2301はMPU、2302は前記MPU2301が実行する制御プログラムやホスト印刷情報を格納するROM、2303はDRAMで各種データ(上記記録信号やヘッドに供給される記録データ等)を保存しておく。
【0205】
2304は記録ヘッド2308に対する出力データの供給制御を行うゲートアレーでインターフェース2300、MPU2301、DRAM2303間のデータの転送制御も行う。2310は前記記録ヘッド2308を搬送するためのキャリアモータ、2309は記録用紙搬送のための搬送モータ、2305は前記記録ヘッドを駆動するヘッドドライバ、2307は前記キャリアモータ2310を駆動するモータドライバである。
【0206】
このように構成された上記記録装置において1394インターフェース2300を介して後述するホストコンピュータより入力情報が入力されると、ゲートアレー2304とMPU2301との間で入力情報がプリント用の出力情報に変換される。そしてモータドライバ2306、2307が駆動されると共にヘッドドライバ2305に送られた出力情報に従って記録ヘッドが駆動され印字が実行される。
【0207】
なお、プリンタの各種情報は1394インターフェース2300を介して外部機器からアクセスすることが可能である。これら情報には、前述のように本プリンタのHCに装着可能なヘッドの内、装着されているヘッドIJCの種類、またオートシートフィーダーの紙残量警告などの情報が含まれる。これら情報のアクセスについては後述のプリンタ側1394シリアルバスインターフェースの構成で、コンフィギュレーションROMならびにステータスレジスタの項目で後述する。
【0208】
〈プリンタ側1394シリアルバスインターフェース部の構成〉
本実施形態の第1の出力装置であるLBP、第2の出力装置であるインクジェットプリンタはIEEE1394シリアルバスを用いて機器間の接続が行われる。各装置におけるこのシリアルバスのインターフェースを行うブロック(以下1394I/Fブロック)は、LBPにおいては図31中の入力部18であり、インクジェットプリンタにおいては図33中のインターフェースブロック2300である。
【0209】
次に、1394I/Fブロックの構成について説明する。なお、LBP、インクジェットプリンタ共に本ブロックの基本構成は同様である為、本説明は両プリンタに当てはまる。またプリンタ毎の固有な部分については随時説明する。
図34は1394I/Fブロックの基本構成ブロック図である。
【0210】
図中2402は1394シリアルバスを直接ドライブするフィジカルレイヤー制御IC(PHYIC)であり、前述の〈IEEE1394の技術の概要〉におけるフィジカルレイヤの機能を実現する。主な機能としては、バスイニシャル化とアービトレーション、送信データ符号のエンコード/デコード、ケーブル通電状態の監視ならびに負荷終端用電源の供給(アクティブ接続認識用)、リンクレイヤICとのインターフェースである。
【0211】
2401はプリンタ本体とのインターフェースを行い、PHYICのデータ転送をコントロールするリンクレイヤー制御IC(LINKIC)であり、前述の〈IEEE1394の技術の概要〉におけるリンクレイヤの機能を実現する。
【0212】
本ICが備える主な機能としてはPHYICを介する送信/受信データを一時格納する送受信FIFO、送信データのパケット化機能、PHYICが受信データが本ノードアドレス、またはアイソクロナス転送データの場合は割り当てられたチャンネル向けのものであるかの判定機能、またそのデータのエラーチェックを行うレシーバー機能、そしてプリンタ本体とのインターフェースを行う機能がある。
【0213】
図中2403はコンフィギュレーションROMであり、各機器固有の識別、通信条件等が格納されている。本ROMのデータフォーマットはIEEE1394規格で定められたフォーマットに準じているが、機器固有のデータはLBP、インクジェットプリンタそれぞれに固有のものが用意されている。図35に本実施形態のLBPのコンフィギュレーションROMの規納データ2501と、本実施形態のインクジェットプリンタのコンフィギュレーションROMの規納データ2502を示す。
【0214】
〈IEEE1394の技術の概要〉で説明したように、1394シリアルバスのアドレス設定のうち、最後の28ビットはシリアルバスに接続される他のデバイスからアクセス可能な、各機器の固有データの領域として確保されている。図36はこの28ビットのアドレス空間を本実施形態のLBPの場合とインクジェットプリンタの場合で表した図である。前述のコンフィギュレーションROMは図中400番地から800番地の領域に配置されている。
【0215】
800番地以降の領域は各プリンタ本体の固有の動作に関連するレジスタが配置されている。これらレジスタは物理的にはそれぞれのプリンタの制御部分(インクジェットプリンタの場合)は図中のゲートアレー、LBPの場合は図中のCPUの中に配置される。
【0216】
両プリンタ共通のレジスタとしては1020番地から始まる4つのレジスタがある。
channelレジスタはそれぞれのプリンターホスト間でアイソクロナスデータ転送を行う際にアロケートされたチャネル番号を格納するレジスタ、P_statusレジスタはプリンタの基本動作ステータスが検知可能なレジスタ、print_loginレジスタはホストによりそれぞれのプリンタに対してログインし、本プリンタのリソースを確保するためにアクセスする際、ログインビットをセットするためのレジスタ、そしてprint_startレジスタはプリントデータの転送開始・終了に際し、ホストがビットセットするレジスタである。
【0217】
本実施形態のインクジェットプリンタ、LBPの場合、アドレス1000番地以降にプリンタの動作状態がモニタ可能であるステータスレジスタ群、または制御可能であるコントロールレジスタ群が配置されている。図中にはこれらレジスタ群の一部を表示している。
【0218】
本実施形態のインクジェットプリンタの場合、例えばアドレス1002番地のhead_IDレジスタではプリンタのヘッドとして装着されている記録ヘッドの種類に関する情報が格納されている(本例ではカラーヘッドCIJCの場合は1、モノクロヘッドの場合は0となる)。また、1003番地には現在のプリンタ動作ステータスが表示されるが、本レジスタのビット0(P_low)はオートシートフィーダーにセットされている紙量の残量検出センサの値が表示される。オートシートフィーダの紙残量があらかじめ設定された量より低くなった場合はこの値が1にセットされる。
【0219】
本実施形態のLBPの場合、例えばアドレス1010番地には現在の用紙カセット1228のステータスが表示されるが、本レジスタのビット0(Tray_low)は用紙カセットにセットされている紙量の残量検出センサの値が表示される。この紙残量があらかじめ設定された量より低くなった場合はこの値が1にセットされる。
【0220】
以降、プリンタの印字処理についてフローチャートに従って詳細に説明する。図37は印字処理を示したフローチャートで、ステップS4001で初期化を行う。初期化は印字に必要なフラグレジスタ、1394インターフェースの初期化、プリンタの初期化処理を行う。
【0221】
次に、ステップS4002へ進み、印字の開始を示すフラグレジスタprint.startがオンであるかどうかをチェックする。print.startフラグレジスタはホストPCから送られる非同期コマンドパケットでオン、オフされ印字イメージデータを受信できる状態であるかどうかを示す。
【0222】
print.startがオンであればステップS4003へ進み、ISOデータであるかどうかを判定する。この判定の結果、ISOデータであればステップS4004は進み、ISOデータ処理を行う。ISOデータ処理(ISOパケット処理)は、ホストPCから送られてくるイメージデータをアイソクロナスパケットデータとして1394インターフェースを介して受け取る処理で、図41で詳細に説明する。
【0223】
一方、ステップS4003の判定の結果がISOデータでない場合には、ステップS4005へ進み、ASYNCデータ処理を行う。ASYNCデータ処理は、ホストPCから送られてくるイメージデータをアシクロナスパケットデータとして1394インターフェースから受け取る処理であり、図43で詳細に説明する。
【0224】
ステップS4002でprint.startがオンでなければステップS4006へ進み、非同期パケット処理(ASYNCパケット処理)を行う。非同期パケット処理は、ホストPCから送られるコマンドのためのパケットデータでプリンタ内の情報設定や1394インタフェースの設定を行ったり、印字の開始、終了を指示する処理であり、詳細は図38で説明する。
【0225】
図38は、ASYNCパケット処理を示したフローチャートで、ホストPCからの情報の設定、印字の開始終了の指示を行う書き込み(writeトランザクション)処理、プリンタの設定情報をホストが読み込む(readトランザクション)処理、ホストPCからのデータの交換を行うlockトタンザクションを行う。まずステップS4011でTR_DATA.indがセットされたかどうかをチェックする。
【0226】
TR_DATA.indはトランザクションレイアでトランザクションレイアに非同期パケット受け取られたことを示している。ステップS4011で非同期パケットが無ければ、ステップS4019へ進み、戻りとなる。この場合非同期パケットが無かったためになにも行わなかったことを示している。ステップS4011で非同期パケットがあればステップS4012へ進み、非同期パケットをトランザクションレイアから受け取る。パケット一般形式は図24で示される。
【0227】
次に、ステップS4013へ進み、パケットがwriteトランザクションであるかどうかをチェックする。パケットがどのトランザクションであるかはパケット内のtcodeにセットされる。図24、図25に示す。writeトランザクションであるかどうかは、このtcodeにセットされた値で判定され、writeトランザクションの指示であればステップS4014へ進み、writeトランザクション処理を行う。writeトランザクション処理はプリンタのユニット空間に情報を書き込む処理で、図39で詳細に説明する。
【0228】
次に、戻りとなる。ステップS4013でwriteトランザクションでなければステップS4015へ進み、readトランザクションかどうかをチェックする。このチェックも非同期パケット内のtcodeの値で行われる。readトランザクションであればステップS4016へ進み、readトランザクションの処理を行う。
【0229】
readトランザクション処理は、プリンタのコンフィグレーションROM、ユニット空間に設定された値をアドレスとして指定して、ホストPCが読み込むための処理で、ホストPCから指定されたアドレスのデータを応答パケットとしてホストへ返送する。図40でreadトランザクションについて説明する。次に、戻りとなる。
【0230】
一方、ステップS4015でreadトランザクションでなければ、ステップS4017へ進み、lockトランザクションかどうかをチェックする。このチェックも非同期パケット内のtcodeの値で行われる。また、lockトランザクションであればステップS4018へ進み、lockトランザクションの処理を行う。
【0231】
lockトランザクションは、ホストPCから書き込むデータと元のデータとを受け取り、元データの値が正しければ書き込みデータとの交換、設定を行う処理である。次に、戻りとなる。
【0232】
図39はwriteトランザクション処理を示したフローチャートでプリンタのユニット空間への書き込み処理を表す。ステップS4021で非同期パケットのdestination offsetがprint.loginを示しているかどうかをチェックする。
【0233】
非同期パケットは図22に示されdestination offsetにはアドレスがセットされる。このアドレスがプリンタのユニット空間の特定のアドレスを示しており、このアドレスによりホストPCからの指定内容を知ることができる。print.loginはホストPCがプリンタに対して印字を行う際にまず初めの処理として行われあるホストPCが特定のプリンタを使用するための宣言となる。
【0234】
正しく宣言されたプリンタは以降宣言したホストのコマンドに対してのみ応答する。これはプリンタが複数のホストから同時に指示を受けないようにするためである。ステップS4021でdestination offsetがprint.loginを示していればステップS4022へ進み、すでにprint.loginがオンであるかどうかをチェックする。すでにloginされている場合このパケットは無効であるためステップS4023へ進み、invaildを設定する。
【0235】
次に、ステップS40214へ進み、invaildの認識パケットを送信し、戻りとなる。ステップS4022でprint.loginがオンでなければ、ステップS4024へ進み、login_IDをセットする。login_IDは非同期パケット図22のdestination_IDで示されるホストのIDノード番号である。以降の非同期パケット処理ではlogin_IDと等しいIDのホストPCのパケットのみを処理する。
【0236】
次に、ステップS4025へ進み、print.loginをオンとする。正しくloginできたのでステップS4026へ進み、vaildを設定する。次に、ステップS40214へ進み、vaildの認識パケットを送信し、戻りとなる。ステップS4021でdestination offsetがprint.loginでない場合、ステップS4027へ進み、print.loginがオンであるかどうかをチェックする。print.loginがオンでない場合loginしていないのにlogin以外のパケットが送られてきたことになるので、ステップS4029へ進み、invaildを設定する。
【0237】
次に、ステップS40214へ進み、invaildの認識パケットを送信し、戻りとなる。ステップS4027でprint.loginがオンならばステップS4028へ進み、パケット図22のsource_IDとlogin_IDが等しいかをチェックする。等しくない場合loginしたホスト以外からのパケットであるため無効となりステップS4029へ進み、invaildを設定する。
【0238】
次に、ステップS40214へ進み、invaildの認識パケットを送信し、戻りとなる。ステップS4028でsource_IDとlogin_IDが等しい場合、ステップS40210へ進み、destination offsetがchannelを示しているかどうかをチェックする。channelはアイソクロナスパケットの転送で使用されるchannel番号を示している。
【0239】
channelであればステップS40211へ進み、channel NOをセットする。次に、有効なパケットだったのでステップS40213へ進み、vaildを設定する。
【0240】
次に、ステップS40214へ進み、vaildの認識パケットを送信し、戻りとなる。ステップS40210でchannelの指定でない場合、ステップS40212へ進み、destination offsetがprint.startを示しているかどうかをチェックする。print.startであればステップS40212へ進み、print.startをセットする。ステップS40213へ進み、vaildを設定する。次に、ステップS40214へ進み、vaildの認識パケットを送信し、戻りとなる。
【0241】
図40はreadトランザクション処理を示したフローチャートでまず、ステップS4031でdestination offsetで示されるアドレスからdata_length図22で示される大きさのデータをdata_fieldで示される領域にセットしたパケットを作成する。つぎに作成したパケットを指示されたホストに送信する。
【0242】
以上図38から図40で非同期パケット(ASYNCパケット)に対する処理を説明した。これらのパケットによりイメージデータを受け取る間での各種設定処理が実行される。
【0243】
図41は同期パケット(ISOパケット)処理の詳細を示したフローチャートでホストPCからイメージのデータをアイソクロナスパケットとして受け取り印字の動作を行う。ISOパケットの処理はprint.startがセットされた後行われ、まずステップS4041でprint.readyフラグをセットする。print.readyフラグはアイソクロナスパケットの受け取り準備が完了したことを示し、印字が行えることを示している。
【0244】
次に、ステップS4042へ進み、LK_DATA.indがセットされたかどうかをチェックする。LK_DATA.indは図27で示されたリンクレイアがアイソクロナスパケットを受け取ったかどうかを示している。アイソクロナスパケットが受け取られるとLK_DATA.indがセットされる。ステップS4042でLK_DATA.indがセットされていなければ、ステップS4043へ進み、非同期パケットを受けているかどうかをチェックする。
【0245】
このチェックはTR_DATA.indで行われ、同期パケット処理中の非同期パケットの受け取りは行わないため、TR_DATA.indがオンであればステップS4044へ進み、invaildを設定する。次に、ステップS4045へ進み、invaildの認識パケットを送信する。次に、ステップS4046へ進み、印字データの作成処理を行う。
【0246】
印字データの作成処理はインクエジェットプリンタであれば1ラインに印字するイメージデータをヘッドの形式に合わせて展開する。LBPのようなページプリンタでは1ページ分の印字データをページメモリに展開する。次に、ステップS4047へ進み、packet.lastがオンかどうかをチェックする。packet.lastホストとPCから送られてくるISOパケットの最終パケットであるかどうかを示したフラグで、packet.lastがオンでなければステップS4042へ戻り繰り返しとなる。
【0247】
ステップS4048でpacket.lastがオンならばステップS4048へ進み、print.readyフラグをリセットし戻りとなる。ステップS4042でLK_DATA.indがセットされていなければステップS40410へ進み、ISOパケットを取得する。
【0248】
アイソクロナスパケットは図24に示される。ステップS40410で受け取ったISOパケットのイメージデータ部分data_filed図24を一時的蓄えるバッファにセットする。data_filedに格納されているデータが印字のイメジデータになる。次に、ステップS40412へ進み、最終のISOパケットであるかどうかをチェックする。この判定はアイソクロナスパケット図24のsyにセットされた値で行われ、判定することができる。
【0249】
ホストPCは最終のISOパケットには他のパケットとは異なる値をsyに設定する。ステップS40412で最終パケットでなければステップS4042へ戻り、繰り返しとなる。ステップS40412で最終パケットであればステップS40413へ進み、packe.lastをオンとしステップS4042へ戻り、繰り返しとなる。
【0250】
図42に印字データの作成処理のフローチャートを示す。まずステップS4051でLK_DATA.indがオンかどうかをチェックする。オンであればISOパケットがあるので印字データ作成処理を中断して戻りとなる。ステップS4051でLK_DATA.indがオンでなければ、ステップS4053へ進み、TR_DATA.indがオンかどうかをチェックする。オンであればASYNCパケットがあるので印字データ作成処理を中断して戻りとなる。
【0251】
ステップS4053でTR_DATA.indがオンでなければステップS4054へ進み、バッファ内にイメージデータがあるかどうかをチェックする。データがなければ戻りとなる。ステップS4054でデータがあれば、ステップS4055へ進み、バッファからデータを取り出す。バッファから取り出されたデータはイメージのデータとラインフィードなどの各種データから厚生される。ステップS4056でコマンドかどうかを判定し、コマンドであればステップS4057へ進み、各種コマンドの処理を実行する。
【0252】
次に、ステップS4051へ戻り繰り返しとなる。ステップS4056でコマンド以外の場合ステップS4058へ進み、イメージデータの処理を行う。イメージデータの処理で印字できるデータへの加工が行われる。次に、ステップS4051へ進み、繰り返しとなる。
【0253】
図43は非同期データ処理(ASYNCデータ)処理の詳細を示したフローチャートであり、ホストPCからイメージのデータをアシンクロナスパケットとして受け取り印字の動作を行う。
【0254】
ASYNCデータの処理は、print.startがセットされた後は、まず、ステップS4061でprint.readyフラグをセットする。前記print.readyフラグは、アシンクロナスデータの受け取り準備が完了したことを示し、印字が行えることを示している。
【0255】
次に、ステップS4062へ進み、TR_DATA.indがセットされたかどうかをチェックする。TR_DATA.indは、図27で示されたトランザクションレイヤがアシンクロナスパケットを受け取ったかどうかを示している。アシンクロナスパケットを受け取られると、TR_DATA.indがセットされる。
【0256】
ステップS4062でTR_DATA.indがセットされていなければ、ステップS4063へ進み、印字データの作成処理を行う。印字データの作成処理は、インクジェットプリンタであれば、1ラインに印字するイメージデータをヘッドの形式に合わせて展開する。また、LBPのようなページプリンタであれば、1ページ分の印字データをページメモリに展開する。
【0257】
次に、ステップS4064へ進み、packet.lastがオンかどうかをチェックする。packet.lastは、ホストPCから送られてくるASYNCパケットの最終パケットであるかどうかを示したフラグで、packet.lastがオンでなければ、ステップS4062に戻り繰り返しとなる。
【0258】
ステップS4064のチェックでpacket.lastがオンならば、ステップS4065に進み、print.readyフラグをリセットして戻りとなる。
【0259】
また、ステップS4062でTR_DATA.indがセットされていなければ、ステップS4066へ進み、ASYNCパケットを取得する。アシンクロナスパケットは、図22に示される。
【0260】
次に、ステップS4067へ進み、validの認識パケットを送信する。ステップS4068で受け取ったASYNCパケットのイメージデータ部分data_filed(図22)を一時的に蓄えるバッファにセットする。data_filedに格納されているデータ印字のイメージデータになる。
【0261】
次に、ステップS4069へ進み、最終のASYNCパケットであるかどうかをチェックする。ステップS4069のチェックの結果、最終パケットでなければ、ステップS4062へ戻り、繰り返しとなる。また、ステップS4069のチェックの結果が最終パケットであればステップS4070へ進み、packet.lastをオンとしてステップS4062へ戻り、繰り返しとなる。
【0262】
以上、図41、図42及び図43の処理によりホストPCから送られてくるISOパケット、ASYNCパケットを処理しイメージデータと各種コマンドの処理を行って印字を実行する。
【0263】
(本発明の他の実施形態)
本発明は複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても1つの機器からなる装置に適用しても良い。
【0264】
また、前述した実施形態の機能を実現するように各種のデバイスを動作させるように、前記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0265】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0266】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等の共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0267】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【0268】
本発明は、サイクルマスタの判定方法には限定されるものではない。また、本発明は1394と呼ばれるインターフェース以外のインターフェース、例えば、USBと呼ばれるインターフェースでも適用できる。また、同期転送を行う場合に、同期転送のためのパケットを一定時間間隔で転送するインターフェースであれば、全て本発明を適用することができる。
【0269】
【発明の効果】
本発明は前述したように、本発明によれば、シリアルバス上にサイクルマスタとなるノードが存在する場合には同期転送でデータ転送を行い、また、サイクルマスタとなるノードが存在しない場合には非同期転送でデータ転送を行うようにすることができる。これにより、サイクルマスタを内蔵しない機器同士が接続されてもデータ転送を行うことができるので、サイクルマスタを内蔵しない機器同士が接続されてしまう場合に生じる不都合を考慮することなく、サイクルマスタ機能を省略することができる。したがって、例えば、プリンタにサイクルマスタ機能を内蔵しないようにすることで、プリンタのコストを低く押さえることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態を示し、機器接続の構成を示した図である。
【図2】本発明の実施形態を示し、ネットワークの構成を示した図である。
【図3】本発明の実施形態を示し、1394シリアルバスの構成要素を示した図である。
【図4】本発明の実施形態を示し、1394シリアルバスのアドレス空間を示した図である。
【図5】本発明の実施形態を示し、1394シリアルバス・ケーブルの断面を示した図である。
【図6】本発明の実施形態を示し、DS−L ink符号か方式を示した図である。
【図7】本発明の実施形態を示し、バスリセットからノードID決定までのシーケンスを示した図である。
【図8】本発明の実施形態を示し、バスリセットからノードID決定までのシーケンスを示した図である。
【図9】本発明の実施形態を示し、バスリセットからノードID決定までのシーケンスを示した図である。
【図10】本発明の実施形態を示し、ネットワークの動作を示した図である。
【図11】本発明の実施形態を示し、CSRアーキテクチャの機能を示した図である。
【図12】本発明の実施形態を示し、シリアルバスに関するレジスタを示した図である。
【図13】本発明の実施形態を示し、シリアルバスのノード資源に関するレジスタを示した図である。
【図14】本発明の実施形態を示し、シリアルバスのConfiguration Romの最小形式を示した図である。
【図15】本発明の実施形態を示し、シリアルバスのConfiguration Romの一般形式を示した図である。
【図16】本発明の実施形態を示し、シリアルバスのバス使用要求を示した図である。
【図17】本発明の実施形態を示し、シリアルバスのバス使用許可を示した図である。
【図18】本発明の実施形態を示し、シリアルバスのアービトレーションの流れを示したフローチャートである。
【図19】本発明の実施形態を示し、シリアルバスのトランザクションレイアのサービスを示した図である。
【図20】本発明の実施形態を示し、シリアルバスのリンクレイアのサービスを示した図である。
【図21】本発明の実施形態を示し、アシンクロナス転送の遷移状態を示した図である。
【図22】本発明の実施形態を示し、アシンクロナス転送のパケットフォーマットを示した図である。
【図23】本発明の実施形態を示し、アイソクロナス転送の遷移状態を示した図である。
【図24】本発明の実施形態を示し、アイソクロナス転送のパケットフォーマットを示した図である。
【図25】本発明の実施形態を示し、アイソクロナス転送のパケットフォーマットのフィールドの詳細を示した図である。
【図26】本発明の実施形態を示し、アシンクロナス転送、アイソクロナス転送が混在した場合の遷移状態を示した図である。
【図27】本発明の実施形態を示し、IEEE1394のプロトコルアーキテクチャを示した図である。
【図28】本発明の実施形態を示し、ホスト側での印字シーケンスを示すフローチャートである。
【図29】本発明の実施形態を示し、ホスト側での印字シーケンスを示すフローチャートである。
【図30】本発明の実施形態を示し、出力装置LBPの構成を示した図である。
【図31】本発明の実施形態を示し、出力装置LBPの構成を示したブロック図である。
【図32】本発明の実施形態を示し、インクジェット出力装置の構成を示した図である。
【図33】本発明の実施形態を示し、インクジェット出力装置の構成を示したブロック図である。
【図34】本発明の実施形態を示し、1394I/Fの基 本構成を示したブロック図である。
【図35】本発明の実施形態を示し、Configuration Rom格納データの構成を示した図である。
【図36】本発明の実施形態を示し、Configuration Rom格納データの構成を示した図である。
【図37】本発明の実施形態を示し、プリンタ側での印字処理を示したフローチャートである。
【図38】本発明の実施形態を示し、ASYNCパケット処理を示したフローチャートである。
【図39】本発明の実施形態を示し、Writeトランザクション処理を示したフローチャートである。
【図40】本発明の実施形態を示し、Readトランザクション処理を示したフローチャートである。
【図41】本発明の実施形態を示し、ISOパケット処理を示したフローチャートである。
【図42】本発明の実施形態を示し、印字データ作成処理を示したフローチャートである。
【図43】本発明の実施形態を示し、ASYNCデータ処理を示したフローチャートである。
【符号の説明】
1 コンピュータ
2 ビデオカメラ
3 レーザビームプリンタ
4 スキャナ
5 インクジェットプリンタ
6 ケーブル
Claims (14)
- シリアスバスに接続される情報処理装置であって、
特定の要求を前記シリアルバスに送信する送信手段と、
前記特定の要求に対応する応答に基づいて、同期転送を行うのに必要なサイクルマスタが前記シリアルバスにあるかどうかを判定する判定手段と、
前記サイクルマスタが前記シリアルバスにあると前記判定手段により判定された場合に、機器との間で行うデータ転送モードとして同期転送を選択し、前記サイクルマスタが前記シリアルバスにないと前記判定手段により判定された場合に、機器との間で行うデータ転送モードとして非同期転送を選択する制御手段とを有することを特徴とする情報処理装置。 - 前記機器の種別を前記機器から取得する取得手段と、
前記取得手段により取得される前記機器の種別に従って、同期転送でデータ転送が行われる場合の帯域幅を設定する第1の設定手段とを有することを特徴とする請求項1に記載の情報処理装置。 - 前記取得手段により取得される前記機器の種別に従って、非同期転送でデータ転送が行われる場合のパケットサイズを設定する第2の設定手段を有することを特徴とする請求項2に記載の情報処理装置。
- 前記サイクルマスタは、同期転送を行うために必要な同期パケットを定期的に送るノードであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- シリアルバスに接続される情報処理装置であって、
前記シリアルバスに、特定の要求を送信する送信手段と、
前記特定の要求に対応する前記シリアルバスにおけるバスマネージャからの応答に基づいて、同期転送を行うのに必要なサイクルマスタ機能があるかどうかを判定する判定手段と、
前記判定手段による判定結果に従って、同期転送及び非同期転送を含む複数の転送モードの中から、前記転送先の機器との間でデータ転送をする場合の転送モードを選択する選択手段とを有することを特徴とする情報処理装置。 - シリアスバスを介して接続される複数の機器間で行われる情報の転送を制御する情報処理方法であって、
特定の要求を前記シリアルバスに送信する送信ステップと、
前記特定の要求に対応する応答に基づいて、同期転送を行うのに必要なサイクルマスタが前記シリアルバスにあるかどうかを判定する判定ステップと、
前記サイクルマスタが前記シリアルバスにあると前記判定ステップで判定された場合に、複数の機器間のデータ転送に同期転送を選択し、前記サイクルマスタが前記シリアルバスにないと前記判定ステップで判定された場合に、複数の機器間のデータ転送に非同期転送を選択する制御ステップとを有することを特徴とする情報処理方法。 - データ転送の転送先の機器の種別に従って、同期転送でデータ転送が行われる場合の帯域幅を設定する第1の設定ステップを有することを特徴とする請求項6に記載の情報処理方法。
- データ転送の転送先の機器の種別に従って、非同期転送でデータ転送が行われる場合のパケットサイズを設定する第2の設定ステップを有することを特徴とする請求項7に記載の情報処理方法。
- 前記サイクルマスタは、同期転送を行うために必要な同期パケットを定期的に送るノードであることを特徴とする請求項6乃至8のいずれか1項に記載の情報処理方法。
- シリアルバスに接続される情報処理装置を制御する情報処理方法であって、
前記シリアルバスに、特定の要求を送信する送信ステップと、
前記特定の要求に対応する前記シリアルバスにおけるバスマネージャからの応答に基づいて、同期転送を行うのに必要なサイクルマスタ機能があるかどうかを判定する判定ステップと、
前記判定ステップによる判定結果に従って、同期転送及び非同期転送を含む複数の転送モードの中から、前記転送先の機器との間でデータ転送をする場合の転送モードを選択する選択ステップとを有することを特徴とする情報処理方法。 - シリアスバスを介して接続される複数の機器間で行われる情報の転送を制御する情報処理システムであって、
特定の要求を前記シリアルバスに送信する送信手段と、
前記特定の要求に対応する応答に基づいて、同期転送を行うのに必要なサイクルマスタが前記シリアルバスにあるかどうかを判定する判定手段と、
前記サイクルマスタが前記シリアルバスにあると前記判定手段により判定された場合に、複数の機器間のデータ転送に同期転送を選択し、前記サイクルマスタが前記シリアルバスにないと前記判定手段により判定された場合に、複数の機器間のデータ転送に非同期転送を選択する制御手段とを有することを特徴とする情報処理システム。 - データ転送の転送先となる機器の種別を当該機器から取得する取得手段と、
前記取得手段により取得される前記機器の種別に従って、同期転送でデータ転送が行われる場合の帯域幅を設定する第1の設定手段とを有することを特徴とする請求項11に記載の情報処理システム。 - 前記取得手段により取得される前記機器の種別に従って、非同期転送でデータ転送が行われる場合のパケットサイズを設定する第2の設定手段を有することを特徴とする請求項12に記載の情報処理システム。
- 前記サイクルマスタは、同期転送を行うために必要な同期パケットを定期的に送るノードであることを特徴とする請求項11乃至13のいずれか1項に記載の情報処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10367997A JP3927647B2 (ja) | 1997-04-21 | 1997-04-21 | 情報処理装置、情報処理方法及び情報処理システム |
US09/062,503 US6771668B2 (en) | 1997-04-21 | 1998-04-20 | Information processing apparatus and method and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10367997A JP3927647B2 (ja) | 1997-04-21 | 1997-04-21 | 情報処理装置、情報処理方法及び情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10293662A JPH10293662A (ja) | 1998-11-04 |
JP3927647B2 true JP3927647B2 (ja) | 2007-06-13 |
Family
ID=14360483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10367997A Expired - Fee Related JP3927647B2 (ja) | 1997-04-21 | 1997-04-21 | 情報処理装置、情報処理方法及び情報処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6771668B2 (ja) |
JP (1) | JP3927647B2 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000215598A (ja) * | 1999-01-27 | 2000-08-04 | Sony Corp | デジタル信号伝送方法、デジタル信号伝送システム、デジタル信号伝送装置及び記録媒体 |
WO2001026296A1 (fr) * | 1999-10-07 | 2001-04-12 | Sony Corporation | Dispositif, procede de commande et support |
EP1113626B1 (en) * | 1999-12-30 | 2009-04-22 | Sony Deutschland GmbH | Interface link layer device to build a distributed network |
JP2001237860A (ja) * | 2000-02-21 | 2001-08-31 | Sony Corp | 通信制御方法及び通信制御装置 |
EP1175057B1 (fr) * | 2000-07-19 | 2006-06-28 | Bull S.A. | Procédé de déport d'éxécution de certaines opérations d'un système central sur un système satellite et le système de communication correspondant |
US20020063621A1 (en) * | 2000-09-01 | 2002-05-30 | Next Planet, Inc. | Method and apparatus for device communications |
US6771651B1 (en) * | 2000-09-29 | 2004-08-03 | Nortel Networks Limited | Providing access to a high-capacity packet network |
JP4484353B2 (ja) * | 2000-10-31 | 2010-06-16 | キヤノン株式会社 | 通信制御装置及びその制御方法及び通信システム |
JP4683587B2 (ja) | 2000-10-31 | 2011-05-18 | キヤノン株式会社 | 通信制御装置及び方法 |
US7028132B2 (en) * | 2001-09-29 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Distributed peer-to-peer communication for interconnect busses of a computer system |
US6871248B2 (en) * | 2001-09-29 | 2005-03-22 | Hewlett-Packard Development Company, L.P. | Isochronous transactions for interconnect busses of a computer system |
EP1376960A1 (en) * | 2002-06-29 | 2004-01-02 | Deutsche Thomson-Brandt Gmbh | Data link layer device with two transmission modes for a serial communication bus |
US20040081089A1 (en) * | 2002-09-26 | 2004-04-29 | Sharp Laboratories Of America, Inc. | Transmitting data on scheduled channels in a centralized network |
US7653012B2 (en) * | 2002-09-26 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Relay transmission of data in a centralized network |
JP4001280B2 (ja) | 2002-10-22 | 2007-10-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶装置、記憶装置を制御するプログラム、記憶装置の制御方法、及び記録媒体 |
JP2005047264A (ja) * | 2003-07-14 | 2005-02-24 | Ricoh Co Ltd | 画像形成装置、画像形成方法、及び画像形成システム |
US7995606B1 (en) * | 2003-12-03 | 2011-08-09 | Apple Inc. | Fly-by and ack-accelerated arbitration for broadcast packets |
JP3835459B2 (ja) * | 2004-03-09 | 2006-10-18 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
KR100640404B1 (ko) * | 2004-09-16 | 2006-10-30 | 삼성전자주식회사 | Ieee 1394를 이용한 안정적인 홈네트워크 시스템과 그노드 구성 방법 |
JP4085394B2 (ja) * | 2004-09-30 | 2008-05-14 | ソニー株式会社 | 通信端末装置及び通信方法 |
DE102005034598A1 (de) * | 2005-07-25 | 2007-02-01 | Robert Bosch Gmbh | Verfahren zum Betreiben mehrerer an einen seriellen Bus angeschlossener Teilnehmer |
US8364861B2 (en) * | 2006-03-28 | 2013-01-29 | Mosaid Technologies Incorporated | Asynchronous ID generation |
US7792137B2 (en) * | 2006-07-05 | 2010-09-07 | Abidanet, Llc | Self-organized and self-managed ad hoc communications network |
JP5103198B2 (ja) * | 2008-01-18 | 2012-12-19 | 株式会社日立製作所 | 情報記録再生装置 |
JP4974950B2 (ja) * | 2008-04-16 | 2012-07-11 | キヤノン株式会社 | 通信システム、情報処理装置、撮像装置、プログラム |
US8332557B2 (en) * | 2008-12-12 | 2012-12-11 | Qualcomm, Incorporated | System, apparatus, and method for broadcasting USB data streams |
JP5484037B2 (ja) * | 2009-12-24 | 2014-05-07 | スパンション エルエルシー | データ送信方法、データ送信装置及びネットワークシステム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687316A (en) * | 1994-07-29 | 1997-11-11 | International Business Machines Corporation | Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data |
JP3561969B2 (ja) * | 1994-08-30 | 2004-09-08 | ソニー株式会社 | 編集方法及び編集制御機器 |
JP3648820B2 (ja) * | 1995-12-07 | 2005-05-18 | ソニー株式会社 | 通信制御方法及び電子機器 |
US5991520A (en) * | 1996-02-02 | 1999-11-23 | Sony Corporation | Application programming interface for managing and automating data transfer operations between applications over a bus structure |
US5940600A (en) * | 1996-04-01 | 1999-08-17 | Apple Computer, Inc. | Isochronous channel having a linked list of buffers |
JPH1040211A (ja) * | 1996-04-30 | 1998-02-13 | Texas Instr Inc <Ti> | パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路 |
US5953511A (en) * | 1997-04-08 | 1999-09-14 | National Instruments Corporation | PCI bus to IEEE 1394 bus translator |
US5937175A (en) * | 1997-04-08 | 1999-08-10 | National Instruments Corporation | PCI bus to IEEE 1394 bus translator employing pipe-lined read prefetching |
-
1997
- 1997-04-21 JP JP10367997A patent/JP3927647B2/ja not_active Expired - Fee Related
-
1998
- 1998-04-20 US US09/062,503 patent/US6771668B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6771668B2 (en) | 2004-08-03 |
JPH10293662A (ja) | 1998-11-04 |
US20030202539A1 (en) | 2003-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3927647B2 (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
US6249835B1 (en) | System for converting print instruction into image data or print data based on whether a rasterization level is of a first level or a second level | |
JPH10229427A (ja) | 情報処理装置及び方法 | |
JP4018187B2 (ja) | 画像形成装置、画像形成システム、及び、画像形成方法 | |
JP2002077211A (ja) | 情報処理装置およびその方法、並びに、記録媒体 | |
JPH10228365A (ja) | 印刷装置、印刷システム、及び、印刷方法 | |
JP4072215B2 (ja) | 画像処理装置及びその制御方法、画像処理システム | |
JP2000158768A (ja) | 印刷装置、印刷システム、印刷制御方法及び記憶媒体 | |
JP3682512B2 (ja) | 画像取り込み装置及びその制御方法、印刷システム、印刷方法、及び、印刷装置及びその制御方法 | |
US7346714B2 (en) | Notification of completion of communication with a plurality of data storage areas | |
JP3647328B2 (ja) | 画像処理装置及びその制御方法並びに画像処理システム | |
JPH10228364A (ja) | データ転送装置及びその制御方法及び印刷システム | |
JP2001105689A (ja) | 印刷システム及び印刷装置及びその制御方法 | |
JP2001075756A (ja) | 情報処理装置及び情報処理システム及びそれらの方法 | |
JP2001067193A (ja) | 印刷システム及び印刷装置及びその制御方法 | |
JP3869941B2 (ja) | 印刷システム、印刷装置、および印刷方法 | |
JP3774542B2 (ja) | データ処理方法、データ処理装置、プリンタ及び記憶媒体 | |
JP3943722B2 (ja) | データ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体 | |
JPH10307691A (ja) | データ通信方法と装置及び印刷装置と前記装置を含む印刷システム | |
JP3495879B2 (ja) | データ処理方法、データ処理装置、及びコンピュータ読み取り可能な記録媒体 | |
JPH10228355A (ja) | データ転送装置及びその制御方法及び印刷システム | |
JP3495878B2 (ja) | データ処理方法、データ処理装置及びプリンタ | |
JPH11110160A (ja) | 印刷制御装置及び印刷制御方法 | |
JP2003333045A (ja) | パワーマネージメント | |
JPH11282641A (ja) | 電子機器とその制御方法及びマルチファンクションシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040420 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061030 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070305 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100309 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110309 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120309 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |