JP3630971B2 - Data communication method, apparatus, system, and storage medium - Google Patents

Data communication method, apparatus, system, and storage medium Download PDF

Info

Publication number
JP3630971B2
JP3630971B2 JP03341498A JP3341498A JP3630971B2 JP 3630971 B2 JP3630971 B2 JP 3630971B2 JP 03341498 A JP03341498 A JP 03341498A JP 3341498 A JP3341498 A JP 3341498A JP 3630971 B2 JP3630971 B2 JP 3630971B2
Authority
JP
Japan
Prior art keywords
serial bus
data communication
data
protocol
address space
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
Application number
JP03341498A
Other languages
Japanese (ja)
Other versions
JPH10290247A (en
Inventor
二郎 立山
耕司 福長
清 片野
真琴 小林
敦 中村
尚久 鈴木
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 JP03341498A priority Critical patent/JP3630971B2/en
Publication of JPH10290247A publication Critical patent/JPH10290247A/en
Application granted granted Critical
Publication of JP3630971B2 publication Critical patent/JP3630971B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、データ通信方法、データ通信装置、データ通信システム、及びそれらを実施するための処理ステップをコンピュータが読出可能に格納した記憶媒体に関し、特に、ホストデバイスとターゲットデバイス間でデータ通信を行う際の通信プロトコルが、そのターゲットデバイスによって限定されることがないデータ通信方法、データ通信装置、データ通信システム、及び記憶媒体に関するものである。
【0002】
【従来の技術】
従来より、汎用インターフェースを介してプリンタにデータを送出するシステムとして、様々な種類のシステムが知られている。
例えば、SCSI(Small Computer System Interface )、セントロニクス等、一般に広く用いられるようになったデファクトスタンダードのインターフェースを用いて、コンピュータからプリンタにデータを出力する技術が知られている。
【0003】
【発明が解決しようとする課題】
しかしながら、これらのインターフェースを用いて、あるプリンタにプリントデータを転送するためのプリンタプロトコルは、そのプリンタのメーカ固有のものに限られ、拡張性に欠ける、という問題が生じている。
特に、様々な種類の機器を接続するインターフェース、例えば、IEEE1394のようなシリアルインターフェースを用いてプリントデータを転送する場合には、かかる拡張性に欠けるという問題点は解決すべき大きな課題である。
また、かかるプリントデータの転送の際に用いるプロトコルをいかに、すみやかに設定するかということは、大きな課題である。
【0004】
そこで、本発明は、上記の欠点を除去するために成されたもので、ホストデバイスとターゲットデバイス間でデータ通信を行う際の通信プロトコルが、そのターゲットデバイスによって限定されることがないデータ通信方法、データ通信装置、データ通信システム、及び記憶媒体を提供することを目的とする。
また、本発明は、IEEE1394規格のようなシリアルインターフェースを用いた好適なデータ通信方法、データ通信装置、データ通信システム、及び記憶媒体を提供することを目的とする。
また、本発明は、ホストコンピュータを介することなく、ホストデバイスからターゲットデバイスへ直接、画像データを転送するのに好適なデータ通信方法、データ通信装置、データ通信システム、及び記憶媒体を提供することを目的とする。
【0005】
【課題を解決するための手段】
斯かる目的下において、第1の発明は、第1及び第2のデバイスと、該デバイス毎に所定のアドレス空間を定義するシリアルバスとを含むデータ通信システムであって、上記第1のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、対応可能な複数のデータトランスポートプロトコルを各々独立して示す情報を格納する第1のプロトコルケーパビリティ記憶手段を含み、上記第2のデバイスは、上記第1のプロトコルケーパビリティ記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する第2の確認手段と、上記第1のプロトコルケーパビリティ記憶手段の内容に基づいてデータトランスポートプロトコルを決定する第2の決定手段とを含み、上記第2の確認手段は、上記第2の決定手段での決定に先立って複数の対応可能なデータトランスポートプロトコルを確認することを特徴とする。
【0019】
第2の発明は、上記第1の発明において、上記第1のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、リソースの専有状態を示す情報を格納するロック記憶手段を更に含むことを特徴とする。
【0020】
第3の発明は、上記第1の発明において、上記第1のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、リソースの専有状態を示す情報を格納するロック記憶手段を更に含み、上記第2のデバイスは、上記ロック記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定するリード又はロックトランズアクションによって確認するロック内容確認手段と、上記ロック内容確認手段の確認結果によって上記第1のデバイスが専有されているかを判定する判定手段とを更に含むことを特徴とする。
【0021】
第4の発明は、上記第1の発明において、上記データトランスポートプロトコルは、プリンタプロトコルを含むことを特徴とする。
【0022】
第5の発明は、上記第4の発明において、上記プリンタプロトコルは、プリントすべきデータを転送するためのプロトコルを含むことを特徴とする。
【0023】
第6の発明は、上記第1の発明において、上記第2のデバイスは、画像データを出力するデバイスを含むことを特徴とする。
【0024】
第7の発明は、上記第6の発明において、上記第2のデバイスは、コンピュータ、ディジタルカメラ、スキャナ、DVD、Set−top−Box、ディジタルテレビ、コンファレンスカメラ、ディジタルビデオ、及びこれらを含む複合機の少なくとも何れかを含むデバイスであることを特徴とする。
【0025】
第8の発明は、上記第1の発明において、上記第1のデバイスは、上記第2の決定手段で決定されたデータトランスポートプロトコルを格納するプロトコル記憶手段を更に含むことを特徴とする。
【0026】
第9の発明は、上記第1の発明において、上記シリアルバスは、IEEE1394規格に適合又は準拠するバスを含むことを特徴とする。
【0027】
第10の発明は、上記第1の発明において、上記シリアルバスは、DS−link方式によってデータを変調し転送するバスを含むことを特徴とする。
【0028】
第11の発明は、上記第1の発明において、上記第2の確認手段は、上記第1のプロトコルケーパビリティ記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定するリードトランズアクションによって確認することを特徴とする。
【0029】
第12の発明は、上記第11の発明において、上記リードトランズアクションは、上記シリアルバスのトランスポートプロトコル層よりも下位の層にて実行されることを特徴とする。
【0030】
第13の発明は、上記第1の発明において、上記第1のデバイスは、画像データが入力されるデバイスを含むことを特徴とする。
【0031】
第14の発明は、上記第13の発明において、上記第1のデバイスは、モニタ、コンピュータ、外部記憶装置、Set−top−Box、プリンタ及びこれらを含む複合機の少なくとも何れかを含むデバイスであることを特徴とする。
【0032】
第15の発明は、上記第1の発明において、上記第2のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、対応可能な複数のデータトランスポートプロトコルを各々独立して示す情報を格納する第2のプロトコルケーパビリティ記憶手段を更に含むことを特徴とする。
【0033】
第16の発明は、上記第1の発明において、上記第1のデバイスは、上記プロトコルケーパビリティ記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する第1の確認手段と、上記プロトコルケーパビリティ記憶手段の内容に基づいてデータトランスポートプロトコルを決定する第1の決定手段とを更に含み、上記第1の確認手段は、上記第1の決定手段での決定に先立って複数の対応可能なデータトランスポートプロトコルを確認することを特徴とする。
【0034】
第17の発明は、複数のデバイスと、該デバイス毎に所定のアドレス空間を定義するシリアルバスとを含むデータ通信システムを構成するための、上記複数のデバイスの少なくとも1つのデバイスであるデータ通信装置であって、上記シリアルバスにより定義されたアドレス空間上に記憶された対応可能な複数のデータトランスポートプロトコルを各々独立して示す情報を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認手段と、上記確認手段での確認結果に基づいてデータトランスポートプロトコルを決定する決定手段とを含み、上記確認手段は、上記決定手段での決定に先立って複数の対応可能なデータトランスポートプロトコルを確認することを特徴とする。
【0035】
第18の発明は、請求項4〜16の何れか1項に記載のデータ通信システムを構成するための第1のデバイスであることを特徴とする。
【0036】
第19の発明は、請求項4〜16の何れか1項に記載のデータ通信システムを構成するための第2のデバイスであることを特徴とする。
【0037】
第20の発明は、第1のデバイスと第2のデバイス間のでデータ通信を、該デバイス毎に所定のアドレス空間を定義するシリアルバスを介して行うデータ通信方法であって、対応可能なデータトランスポートプロトコルを示す情報が格納される、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタの記憶内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とする。
【0038】
第21の発明は、各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信方法であって、対応可能なデータトランスポートプロトコルを示す情報を、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタから読み出すステップを含むことを特徴とする。
【0039】
第22の発明は、各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信方法であって、上記シリアルバスに接続された他のデバイスのプロトコルケーパビリティレジスタに格納された内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とする。
【0040】
第23の発明は、第1のデバイスと、第2のデバイスと、該デバイス毎に所定のアドレス空間を定義するシリアルバスとを含むシステムでのデータ通信を実施するための処理ステップを、コンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、該処理ステップは、対応可能なデータトランスポートプロトコルを示す情報が格納される、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタの記憶内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とする。
【0041】
第24の発明は、各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信を実施するための処理ステップを、コンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、該処理ステップは、対応可能なデータトランスポートプロトコルを示す情報を、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタから読み出すステップを含むことを特徴とする。
【0042】
第25の発明は、各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信を実施するための処理ステップを、コンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、該処理ステップは、上記シリアルバスに接続された他のデバイスのプロトコルケーパビリティレジスタに格納された内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とする。
【0043】
第26の発明は、シリアルバスを用いてデータ通信を行うための処理ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、上記処理ステップは、請求項20〜22の何れか1項に記載のデータ通信方法の処理ステップを含むことを特徴とする。
【0048】
【発明の実施の形態】
【0049】
以下、本発明の実施の形態について図面を用いて説明する。
【0050】
以下に説明する第1及び第2の実施の形態では、各機器間を接続するディジタルインターフェースとして、例えば、IEEE1394−1995(High Performance Serial Bus 、以下、単に「1394シリアルバス」と言う)を用いているため、まず、1394シリアルバスについて、その概要を説明する。
【0051】
[1394シリアルバスの概要]
【0052】
民生用デジタルビデオカムレコーダ(VCR)やディジタルビデオディスク(DVD)プレーヤの登場に伴なって、ビデオデータやオーディオデータ(以下、これらをまとめて「AVデータ」と言う)等のリアルタイムで、かつ高情報量の多いデータを転送する必要が生じている。AVデータをリアルタイムでパソコン(PC)やその他のデジタル機器に転送し取り込ませるには、高速データ転送が可能なインタフェースが必要になる。そういった観点から開発されたインタフェースが、この1394シリアルバスである。
【0053】
図1に1394シリアルバスを用いて構成されるネットワーク・システムの例を示す。
【0054】
このシステムは、機器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の一例としては、パソコン等のホストコンピュータ装置、及び、コンピュータ周辺機器である。
コンピュータ周辺機器としては、デジタルVCR、DVDプレーヤ、デジタルスチルカメラ、ハードディスクや光ディスク等のメディアを用いる記憶装置、CRTやLCDのモニタ、チューナ、イメージスキャナ、フィルムスキャナ、プリンタ、MODEM、ターミナルアダプタ(TA)等、コンピュータ周辺機器の全てが対象になる。
【0055】
各機器間の接続は、ディジーチェーン方式とノード分岐方式との混在が可能であり、自由度の高い接続を行うことができる。
また、各機器は、各々IDを有し、互いにIDを認識し合うことによって、1394シリアルバスで接続された範囲において、1つのネットワークを構成している。
例えば、機器間を各々1本の1394シリアルバス用ケーブルでディジーチェーン接続するだけで、各々の機器が中継の役割を担うので、全体として1つのネットワークを構成することができる。
【0056】
また、1394シリアルバスは、Plug and Play 機能に対応し、ケーブルを機器に接続するだけで自動的に機器を認識し、接続状況を認識する機能を有している。
【0057】
また、上記図1に示すシステムにおいて、ネットワークからある機器が外されたり、又は、新たに加えられたとき等、自動的にバスをリセット(それまでのナットワークの構成情報をリセット)して、新たなネットワークを再構築する。この機能によって、その時々のネットワークの構成を常時設定、認識することができる。
【0058】
また、1394シリアルバスのデータ転送速度は、100/200/400Mbpsが定義されており、上位の転送速度を持つ機器が下位の転送速度をサポートすることで、互換性が保たれている。
【0059】
データ転送モードとしては、コントロール信号等の非同期データを転送するAsynchronous転送モード(ATM)と、リアルタイムなAVデータの同期データを転送するIsochronous 転送モードがある。
この非同期データと同期データは、各サイクル(通常125μS /サイクル)の中で、サイクル開始を示すサイクル・スタート・パケット(CSP)の転送に続き、同期データの転送を優先しつつ、サイクル内で混在して転送される。
【0060】
図2は、1394シリアルバスの構成要素を示す図である。
【0061】
1394シリアルバスは、レイヤ構造で構成されている。上記図2に示すように、1394シリアルバス用のケーブル813の先端のコネクタが接続されるコネクタポート810がある。コネクタポート810の上位には、ハードウェア部800で構成されるフィジカル・レイヤ811とリンク・レイヤ812がある。
【0062】
ハードウェア部800は、インターフェース用チップで構成され、そのうちのフィジカル・レイヤ811は、符号化やコネクション関連の制御等を行い、リンク・レイヤ812は、パケット転送やサイクルタイムの制御等を行なう。
【0063】
ファームウェア部801のトランザクション・レイヤ814は、転送(トランザクション)すべきデータの管理を行ない、Read、Write、Lockの命令を出す。ファームウェア部801のマネージメント・レイヤ815は、1394シリアルバスに接続されている各機器の接続状況やIDの管理を行ない、ネットワークの構成を管理する。
【0064】
上述のハードウェアとファームウェアまでが、1394シリアルバスの実質的な構成である。
【0065】
また、ソフトウェア部802のアプリケーション・レイヤ816は、利用されるソフトによって異なり、インタフェース上でどのようにしてデータを転送するかは、プリンタやAV/Cプロトコル等のプロトコルによって定義されている。
【0066】
図3は、1394シリアルバスにおけるアドレス空間の図を示す図である。
【0067】
1394シリアルバスに接続された各機器(ノード)には、必ずノードに固有の64ビットアドレスを持たせる。そして、このアドレスは、機器のメモリに格納されていて、自分や相手のノードアドレスを常時認識することで、通信相手を指定したデータ通信を行うことができる。
【0068】
1394シリアルバスのアドレッシングは、IEEE1212規格に準じた方式であり、アドレス設定は、最初の10ビットがバスの番号の指定用に、次の6ビットがノードIDの指定用に使われる。残りの48ビットが機器に与えられたアドレス幅になり、それぞれ固有のアドレス空間として使用できる。最後の28ビットは、機器に固有のデータの領域であり、各機器の識別や使用条件の指定情報等が格納される。
【0069】
以上が、1394シリアルバスの概要である。
つぎに、1394シリアルバスの特徴をより詳細に説明する。
【0070】
[1394シリアルバスの電気的仕様]
【0071】
図4は、1394シリアルバス用のケーブルの断面を示す図である。
1394シリアルバス用ケーブルには、2組のツイストペア信号線の他に、電源ラインが設けられている。これによって、電源を持たない機器や、故障等により電圧が低下した機器等にも電力の供給が可能になる。
電源線により供給される直流電力の電圧は、8〜40V、その電流は、最大電流1.5Aに規定されている。
【0072】
尚、DVケーブルと呼ばれる規格では、電源ラインを省いた四線で構成される。
【0073】
[DS−Link方式]
【0074】
図5は、1394シリアルバスで採用されている、データ転送方式のDS−Link(Data/Strobe Link)方式を説明するための図である。
DS−Link方式は、高速なシリアルデータ通信に適し、2組の信号線を必要とする。つまり、2組の対線のうち1組でデータ信号を送り、もう1組でストローブ信号を送る構成になっている。受信側では、このデータ信号と、ストローブ信号との排他的論理和をとることによってクロックを生成することができるという特徴がある。
このため、DS−Link方式を用いるデータ信号中にクロック信号を混入させる必要がないので、他のシリアルデータ転送方式に比べ転送効率が高い、クロック信号を生成できるので位相ロックドループ(PLL)回路が不要になり、その分コントローラLSIの回路規模を小さくすることができる、さらに、転送すべきデータが無いときにアイドル状態であることを示す情報を送る必要が無いので、各機器のトランシーバ回路をスリープ状態にすることができ、消費電力の低減が図れる。
【0075】
[バスリセットのシーケンス]
【0076】
1394シリアルバスに接続されている各機器(ノード)には、ノードIDが与えられ、ネットワークを構成するノードとして認識される。
例えば、ネットワーク機器の接続分離や、電源のON/OFF等によるノード数の増減、つまりネットワーク構成に変化があり、新たなネットワーク構成を認識する必要があるとき、その変化を検知した各ノードはバス上にバスリセット信号を送信して、新たなネットワーク構成を認識するモードに入る。
このネットワーク構成の変化の検知は、コネクタポート810において、バイアス電圧の変化を検知することによって行われる。
あるノードからバスリセット信号が送信されると、各ノードのフィジカルレイヤ811は、このバスリセット信号を受けると同時にリンクレイヤ812にバスリセットの発生を伝達し、かつ他のノードにバスリセット信号を伝達する。最終的に全てのノードがバスリセット信号を受信した後、バスリセットのシーケンスが起動される。
【0077】
尚、バスリセットのシーケンスは、ケーブルが抜き挿しされた場合や、ネットワークの異常等をハードウェアが検出した場合に起動されると共に、プロトコルによるホスト制御等、フィジカルレイヤ811に直接命令を与えることによっても起動される。また、バスリセットのシーケンスが起動されると、データ転送は、一時中断され、バスリセットの間は待たされ、バスリセット終了後、新しいネットワーク構成のもとで再開される。
【0078】
[ノードID決定のシーケンス]
【0079】
バスリセットの後、各ノードは新しいネットワーク構成を構築するために、各ノードにIDを与える動作に入る。このときの、バスリセットからノードID決定までの一般的なシーケンスを、図6〜図8に示すフローチャートを用いて説明する。
【0080】
上記図6は、バスリセット信号の発生から、ノードIDが決定し、データ転送が行えるようになるまでの一連のシーケンスを示すフローチャートである。
【0081】
各ノードは、ステップS101でバスリセット信号を常時監視し、バスリセット信号が発生すると、ステップS102に移り、ネットワーク構成がリセットされた状態において新たなネットワーク構成を得るために、互いに直結されている各ノード間で親子関係が宣言される。
そして、ステップS103の判定により、全てのノード間で親子関係が決ったと判定されるまで、ステップS102が繰り返される。
親子関係が決定すると、ステップS104へ進み、ルートが決定する。
【0082】
ステップS105で、各ノードにIDを与えるノードIDの設定作業が行われる。ルートから所定のノード順にノードIDの設定が行われ、ステップS106の判定により、全てのノードにIDが与えられたと判定されるで、ステップS105が繰り返される。
ノードIDの設定が終了すると、新しいネットワーク構成が全てのノードにおいて認識されたことになるので、ノード間のデータ転送が行える状態となり、ステップS107でデータ転送が開始されると共に、シーケンスはステップS101へと戻り、再びバスリセット信号の発生が監視される。
【0083】
上記図7は、バスリセット信号の監視(ステップS101)からルート決定(ステップS104)までの詳細を示すフローチャートであり、上記図8は、ID設定(ステップS105、S106)の詳細を示すフローチャートである。
【0084】
上記図7において、ステップS201でバスリセット信号の発生が監視され、バスリセット信号が発生すると、ネットワーク構成は一旦リセットされる。
【0085】
ステップS202で、リセットされたネットワーク構成を再認識する作業の第一段階として、各機器は、フラグFLをリーフ(ノード)であることを示すデータでリセットする。そして、ステップS203で各機器は、ポート数、つまり自分に接続されている他ノードの数を調べ、ステップS204で、ステップS203の結果に応じて、これから親子関係の宣言を始めるために、未定義(親子関係が決定されていない)ポートの数を調べる。
ここで、未定義ポート数は、バスリセットの直後はポート数に等しいが、親子関係が決定されていくに従って、ステップS204で検知される未定義ポート数は減少する。
【0086】
バスリセットの直後、親子関係の宣言を行えるのは、実際のリーフに限られている。リーフであるか否かは、ステップS203のポート数の確認結果から知ることができ、つまりポート数が「1」であればリーフである。リーフは、ステップS205で、接続相手のノードに対して親子関係の宣言「自分は子、相手は親」を行い、動作を終了する。
【0087】
一方、ステップS203でポート数が「2」以上であったノード、つまりブランチは、バスリセットの直後は「未定義ポート数>1」であるから、ステップS206へ進み、フラグFLにブランチを示すデータをセットし、ステップS207で、他ノードから親子関係が宣言されるのを待つ。
【0088】
他ノードから親子関係が宣言され、それを受けたブランチは、ステップS204に戻って未定義ポート数を確認するが、もし未定義ポート数が「1」になっていれば、残ポートに接続されてた他ノードに対して、ステップS205で「自分は子、相手は親」の親子関係を宣言することができる。また、未だ未定義ポート数が「2」以上あるブランチは、再度ステップS207で、再び他ノードから「親子関係」が宣言されるのを待つことになる。
【0089】
何れか1つのブランチ(又は例外的に、子宣言を行えるのにもかかわらず、すばやく動作しなかったリーフ)の未定義ポート数が「0」になると、ネットワーク全体の親子関係の宣言が終了したことになり、未定義ポート数が「0」になった唯一のノード、つまり全てノードの親に決まったノードは、ステップS208で、フラグFLにルートを示すデータをセットし、ステップS209で、ルートとして認識される。
【0090】
このようにして、バスリセットから、ネットワーク内のノード間における親子関係の宣言までの手順が終了する。
【0091】
つぎに、各ノードにIDを与える手順を説明するが、最初にIDの設定を行うことができるのは、リーフである。そして、リーフ→ブランチ→ルートの順に若い番号(ノード番号:0)からIDを設定する。
【0092】
上記図8において、ステップS301で、フラグFLに設定されたデータを基に、ノードの種類、つまりリーフ、ブランチ、及びルートに応じた処理に分岐する。
【0093】
まず、リーフの場合は、ステップS302で、ネットワーク内に存在するリーフの数(自然数)を変数Nに設定した後、ステップS303で、リーフがルートに対してノード番号を要求する。この要求が複数ある場合、ルートは、ステップS304でアービトレーションを行い、ステップS305で、ある1つのノードにノード番号を与え、他のノードには、ノード番号の取得失敗を示す結果を通知する。
【0094】
ステップS306の判断により、ノード番号を取得できなかったリーフは、再びステップS303でノード番号の要求を繰り返す。
【0095】
一方、ノード番号を取得できたリーフは、ステップS307で、取得したノード番号を含むID情報をブロードキャストすることで、全ノードに通知する。ID情報のブロードキャストが終わると、ステップS308で、リーフの数を表す変数Nがデクリメントされる。そして、ステップS309の判定により、変数Nが「0」になるまで、ステップS303からステップS308の手順が繰り返され、全てのリーフのID情報がブロードキャストされた後、ステップS310へ進み、ブランチのID設定に移る。
【0096】
ブランチのID設定もリーフと略同様に行われる。
【0097】
先ず、ステップS310で、ネットワーク内に存在するブランチの数(自然数)を変数Mに設定した後、ステップS311で、ブランチがルートに対してノード番号を要求する。この要求に対してルートは、ステップS312でアービトレーションを行い、ステップS313で、ある1つのブランチにリーフに続く若い番号を与え、ノード番号を取得できなかったブランチには、取得失敗を示す結果を通知する。
【0098】
ステップS314の判定により、ノード番号の取得に失敗したことを知ったブランチは、再びステップS311でノード番号の要求を繰り返す。
【0099】
一方、ノード番号を取得できたブランチは、ステップS315で、取得したノード番号を含むID情報をブロードキャストすることで、全ノードに通知する。
【0100】
ID情報のブロードキャストが終わると、ステップS316で、ブランチ数を示す変数Mがでデクリメントされる。
そして、ステップS317の判定により、変数Mが「0」になるまで、ステップS311からステップS316の手順が繰り返され、全てのブランチのID情報がブロードキャストされた後、ステップS318へ進み、ルートのID設定に移る。
【0101】
ここまで終了すると、最終的にID情報を取得していないノードはルートのみなので、ステップS318では、他のノードに与えていない最も若い番号を自分のノード番号に設定し、ステップS319で、ルートのID情報をブロードキャストする。
【0102】
以上で、全てのノードのIDが設定されるまでの手順が終了する。
【0103】
つぎに、図9に示すネットワーク例を用いて、ノードID決定のシーケンスの具体的な手順を説明する。
【0104】
上記図9に示すネットワークは、ルートであるノードBの下位にはノードAとノードCが直結され、ノードCの下位にはノードDが直結され、ノードDの下位にはノードEとノードFが直結された階層構造を有する。この、階層構造やルートノード、ノードIDを決定する手順は、以下のようになる。
【0105】
バスリセットが発生した後各ノードの接続状況を認識するために、各ノードの直接接続されているポート間において親子関係の宣言がなされる。
ここでいう親子とは、階層構造の上位が「親」、下位が「子」という意味である。
上記図9では、バスリセットの後最初に親子関係を宣言したのは、ノードAである。上述したように、1つのポートだけが接続されたノード(リーフ)から親子関係の宣言を開始することができる。これは、ポート数が「1」であれば、ネットワークの末端、つまりリーフであることが認識され、それらリーフ中で最も早く動作を行なったノードから親子関係が決定されていくことになる。こうして親子関係の宣言を行なったノードのポートが、互いに接続された2つのノードの「子」と設定され、相手ノードのノードが「親」と設定される。こうして、ノードA−B間、ノードE−D間、ノードF−D間で「子−親」と設定される。
【0106】
さらに、階層が1つ上がって、複数のポートを持つノード、つまりブランチのうち、他ノードから親子関係の宣言を受けたノードから順次、上位のノードに対して親子関係を宣言する。
上記図9では、先ず、ノードD−E間、D−F間の親子関係が決定された後、ノードDがノードCに対して親子関係を宣言し、その結果、ノードD−C間で「子−親」の関係が設定される。
ノードDからの親子関係の宣言を受けたノードCは、もう一つのポートに接続されているノードBに対して親子関係を宣言し、これによってノードC−B間で「子−親」の関係が設定される。
【0107】
このようにして、上記図9に示すような階層構造が構成され、最終的に接続されているすべてのポートにおいて親となったノードBが、ルートと決定される。尚、ルートは1つのネットワーク構成中に一つしか存在しない。また、ノードAから親子関係を宣言されたノードBが速やかに他のノードに対して親子関係を宣言した場合は、例えば、ノードC等の他のノードがルートになる可能性もあり得る。すなわち、親子関係の宣言が伝達されるタイミングによっては、どのノードもルートとなる可能性があり、ネットワーク構成が同一であっても、特定のノードがルートになるとは限らない。
【0108】
ルートが決定されると、各ノードIDの決定モードに入る。全てのノードは、決定した自分のID情報を、他の全てのノードに通知するブロードキャスト機能を持っている。
尚、ID情報は、ノード番号、接続されている位置の情報、持っているポートの数、接続のあるポートの数、各ポートの親子関係の情報等を含むID情報として、ブロードキャストされる。
【0109】
ノード番号の割当としては、上述したようにリーフから開始され、順に、ノード番号=0、1、2、・・・が割り当てられる。そして、ID情報のブロードキャストによって、そのノード番号は、割り当て済みであることが認識される。
全てのリーフがノード番号を取得し終ると、次はブランチへ移り、リーフに続くノード番号が割り当てられる。リーフと同様に、ノード番号が割り当てられたブランチから順にID情報がブロードキャストされ、最後にルートが自己のID情報をブロードキャストする。したがって、ルートは常に最大のノード番号を所有することになる。
【0110】
以上のようにして、階層構造全体のID設定が終わり、ネットワーク構成が再構築され、バスの初期化作業が完了する。
【0111】
[バスアービトレーション]
【0112】
1394シリアルバスは、データ転送に先立って必ずバス使用権のアービトレーションを行なう。1394シリアルバスに接続された各機器は、ネットワーク上を転送される信号を各々中継することによって、ネットワーク内すべての機器に同信号を伝える論理的なバス型ネットワークを構成するので、パケットの衝突を防ぐ意味でバスアービトレーションが必要である。これによって、ある時間には、1つのノードだけが転送を行なうことができる。
【0113】
図10(a)及び(b)は、アービトレーションを説明するための図であり、上記図10(a)は、バスの使用権を要求する動作を示し、上記図10(b)は、バスの使用を許可する動作を示している。
【0114】
バスアービトレーションが始まると、1つ若しくは複数のノードが親ノードに向かって、それぞれバスの使用権を要求する。上記図10(a)においては、ノードCとノードFがバス使用権を要求している。
この要求を受けた親ノード(上記図10(a)ではノードA)は、更に親ノードに向かって、バスの使用権を要求することで、ノードFによるバスの使用権の要求を中継する。この要求は最終的に調停を行なうルートに届けられる。
【0115】
バスの使用権の要求を受けたルートは、どのノードにバスの使用権を与えるかを決める。この調停作業はルートのみが行なえるものであり、調停に勝ったノードには、バスの使用許可が与えられる。上記図10(b)では、ノードCにバスの使用許可が与えられ、ノードFのバスの使用権の要求は拒否された状態を示している。
【0116】
ルートは、バスアービトレーションに負けたノードに対してはDP(data prefix )パケットを送り、そのバスの使用権の要求が拒否されたことを知らせる。バスアービトレーションに負けたノードのバスの使用権の要求は、次回のバスアービトレーションまで待たされることになる。
【0117】
以上のようにして、バスアービトレーションに勝ってバスの使用許可を得たノードは、以降、データの転送を開始することができる。
【0118】
ここで、バスアービトレーションの一連の流れのフローチャートを、図11に示して説明する。
【0119】
ノードがデータ転送を開始できる為には、バスがアイドル状態であることが必要である。先に行われていたデータ転送が終了して、現在、バスがアイドル状態にあることを認識するためには、各転送モードで個別に設定されている所定のアイドル時間のギャップ長(例えば、サブアクション・ギャップ)の経過を検出することによって、各ノードは、バスがアイドル状態になったと判断する。
【0120】
各ノードは、ステップS401で、転送する非同期データ又は同期データに応じた所定のギャップ長が得られたか判断する。所定のギャップ長が得られない限り、ノードは、転送を開始するために必要なバスの使用権を要求することはできないので、所定のギャップ長が得られるまで待つ。
【0121】
各ノードは、ステップS401で所定のギャップ長が得られたら、ステップS402で転送すべきデータがあるか判断し、ある場合はステップS403でバスの使用権を要求する信号をルートに対して発信する。このバスの使用権の要求を示す信号は、上記図10(a)に示したように、ネットワーク内の各機器に中継されながら、最終的にルートに届けられる。ステップS402で転送するデータがないと判断した場合は、ステップS401に戻る。
【0122】
ルートは、ステップS404でバスの使用権を要求する信号を1つ以上受信したら、ステップS405で使用権を要求したノードの数を調べる。
ステップS405の判定により、使用権を要求したノードが1つだったら、そのノードに、直後のバス使用許可が与えられることとなる。
また、使用権を要求したノードが複数だったら、ステップS406で、直後のバスの使用許可を与えるノードを1つに絞る調停作業が行われる。この調停作業は、毎回同じノードばかりにバスの使用許可を与える様なことはなく、平等にバスの使用権を与えるようになっている(フェア・アービトレーション)。
【0123】
ルートの処理は、ステップS407で、ステップS406の調停に勝った1つのノードと、敗れたその他のノードとに応じて分岐する。調停に勝った1つのノード、又は、バスの使用権を要求したノードが1つの場合は、ステップS408で、そのノードに対してバスの使用許可を示す許可信号が送られる。
【0124】
この許可信号を受信したノードは、ステップS410で直後に転送すべきデータ(パケット)の転送を開始する。また、調停に敗れたノードには、ステップS409で、バスの使用権の要求が拒否されたことを示すDP(data prefix )パケットが送られる。DPパケットを受け取ったノードの処理は、再度、バスの使用権を要求するために、ステップS401まで戻る。ステップS410におけるデータの転送が完了したノードの処理も、ステップS401まで戻る。
【0125】
[Asynchronous転送]
【0126】
図12にアシンクロナス転送における時間的な遷移状態を示す。
上記図12に示す最初のサブアクション・ギャップは、バスのアイドル状態を示すものである。このアイドル時間が所定値になった時点で、データ転送を希望するノードがバスの使用権を要求できると判断して、バスアービトレーションが実行される。
バスアービトレーションによりバスの使用が許可されると、次に、データ転送がパケットされ、このデータを受信したノードは、ack gapという短いギャップの後、受信確認用の返送コードを返して応答するか、応答パケットを送ることによってデータ転送が完了する。ackは、4ビットの情報と4ビットのチェックサムからなり、成功、ビジー状態、又は、ペンディング状態を示す情報を含み、すぐにデータ送信元のノードに返される。
【0127】
図13は、アシンクロナス転送用のパケットフォーマットを示す図である。
パケットには、データ部及び誤り訂正用のデータCRCの他にヘッダ部があり、そのヘッダ部には、目的ノードID、ソースノードID、転送データ長さや各種コードなどが書き込まれている。
また、アシンクロナス転送は自己ノードから相手ノードへの1対1の通信である。転送元ノードから送り出されたパケットは、ネットワーク中の各ノードに行き渡るが、各ノードは自分宛てのパケット以外は無視するので、宛先に指定されたノードのみがそのパケットを受け取ることになる。
【0128】
[Isochronous 転送]
【0129】
1394シリアルバスの最大の特徴であるともいえるこのアイソクロナス転送は、特に、AVデータ等のリアルタイム転送を必要とするマルチメディアデータの転送に適している。
また、アシンクロナス転送が1対1の転送であるのに対し、このアイソクロナス転送はブロードキャスト機能によって、1つの転送元ノードから他のすべてのノードへ一様にデータを転送することができる。
【0130】
図14は、アイソクロナス転送における時間的な遷移状態を示す図である。
【0131】
アイソクロナス転送は、バス上で一定時間毎に実行され、この時間間隔をアイソクロナスサイクルと呼ぶ。アイソクロナスサイクル時間は125μS である。この同期各サイクルの開始を示し、各ノードの動作を同期させる役割を担っているのがサイクル・スタート・パケット(CSP)である。CSPを送信するのは、サイクル・マスタと呼ばれるノードであり、1つ前のサイクル内の転送が終了し、所定のアイドル期間(サブアクションギャップ)を経た後、本サイクルの開始を告げるCSPを送信する。つまり、CSPの送信される時間間隔が125μS になる。
【0132】
また、上記図14にチャネルA、チャネルB、及びチャネルCと示すように、1つの同期サイクル内において複数種のパケットにチャネルIDを各々与えることによって、それらのパケットを区別して転送することができる。これによって、複数ノード間で、略同時に、リアルタイム転送が可能であり、また受信ノードは、自分が望むチャネルIDのデータのみを受信すればよい。このチャネルIDは、受信ノードのアドレス等を表すものではなく、データに対する論理的な番号に過ぎない。よって、送信されたパケットは、1つの送信元ノードから他のすべてのノードに行き渡る、つまりブロードキャストされることになる。
【0133】
アイソクロナス転送のパケット送信に先立って、アシンクロナス転送と同様に、バスアービトレーションが行われる。しかし、アシンクロナス転送のように1対1の通信ではないので、アイソクロナス転送には、受信確認用の返送コードのackは存在しない。
【0134】
また、上記図14に示したiso gapアイソクロナスギャップ)は、アイソクロナス転送を行なう前にバスがアイドル状態であることを認識するために必要なアイドル期間を表している。この所定のアイドル期間を経過すると、アイソクロナス転送を行ないたいノードに対するバスのアービトレーションが行われる。
【0135】
図15は、アイソクロナス転送用のパケットフォーマットを示す図である。
各チャネルに分けられた各種のパケットには、各々データ部及び誤り訂正用のデータCRCの他にヘッダ部があり、そのヘッダ部には、上記図15に示すような、転送データ長やチャネルNo.、その他各種コード及び誤り訂正用のヘッダCRC等が書き込まれている。
【0136】
[バス・サイクル]
【0137】
実際に、1394シリアルバスにおいては、アイソクロナス転送とアシンクロナス転送が混在でき、その時のバス上の転送状態の時間的な遷移の様子を表すのが図16である。
【0138】
ここで、アイソクロナス転送はアシンクロナス転送より優先して実行される。その理由は、CSPの後、アシンクロナス転送を起動するために必要なアイドル期間のギャップ長(サブアクションギャップ)よりも短いギャップ長(アイソクロナスギャップ)で、アイソクロナス転送を起動できるからである。したがって、アシンクロナス転送より、アイソクロナス転送は優先して実行されることとなる。
【0139】
上記図16に示す一般的なバスサイクルにおいて、サイクル#mのスタート時にCSPがサイクル・マスタから各ノードに転送される。CSPによって、各ノードの動作が同期され、所定のアイドル期間(アイソクロナスギャップ)を待ってからアイソクロナス転送を行おうとするノードはバスアービトレーションに参加し、パケット転送に入る。上記図16では、チャネルe、チャネルs、及びチャネルkが順にアイソクロナス転送されている。
このバスアービトレーションからパケット転送までの動作を、与えられているチャネル分繰り返し行なった後、サイクル#mにおけるアイソクロナス転送がすべて終了すると、アシンクロナス転送を行うことができるようになる。
【0140】
つまり、アイドル時間が、アシンクロナス転送が可能なサブアクションギャップに達することによって、アシンクロナス転送を行いたいノードはバスアービトレーションに参加する。
【0141】
ただし、アシンクロナス転送が行えるのは、アイソクロナス転送終了後から、次のCSPを転送すべき時間(cycle synch )までの間に、アシンクロナス転送を起動するためのサブアクションギャップが得られた場合に限られる。
【0142】
上記図16に示すサイクル#mでは、3つのチャネル分のアイソクロナス転送の後、アシンクロナス転送により、ackを含む2パケット(パケット1、パケット2)が転送されている。このアシンクロナスパケット2の後、サイクルm+1をスタートすべき時間(cycle synch )にいたるので、サイクル#mにおける転送はこれで終わる。
【0143】
ただし、非同期又は同期転送中に次のCSPを送信すべき時間(cycle synch )に至ったら、転送を無理に中断せず、その転送が終了した後にアイドル期間を経て次サイクルのCSPを送信する。すなわち、1つのサイクルが125μS 以上続いたときは、その延長分、次サイクルは基準の125μS より短縮される。このようにアイソクロナス・サイクルは125μS を基準に超過、短縮し得るものである。
【0144】
しかし、アイソクロナス転送はリアルタイム転送を維持するために、必要であれば、毎サイクル実行され、アシンクロナス転送はサイクル時間が短縮されたことによって次以降のサイクルに延期されることもある。
サイクル・マスタは、こういった遅延情報も管理される。
【0145】
(第1の実施の形態)
【0146】
図17は、1394シリアルバスのインターフェースをLANでよく用いられるOSIモデルの各層と対比させた図である。
OSIモデルの物理層1とデータリンク層2が、1394シリアルバスのインターフェースの下位層4であるフィジカル層811及びリンク層812に該当する。下位層4の上に存在する1394シリアルバスのインターフェースにおけるトランスポートプロトコル層5とプレゼンテーション層6は、OSIモデルのネットワーク層、トランスポート層、セッション層、及びプレゼンテーション層を含む上位層3に該当する。また、本発明の特徴であるLOGINプロトコル7は、1394シリアルバスのインターフェースの下位層4とトランスポートプロトコル層5との間で動作するものである。
【0147】
上記図17に示す例1(Example 1 )では、プリンタ等の周辺機器用のシリアルバスプロトコル(SBP−2)8に準拠したデバイスにLOGINプロトコル7を持たせることによって、相手のデバイスに対してSBP−2に準拠したプロトコルを使って、データのやり取りを行いたいことを通知させることができる。また、上記図17に示す例2(Example 2 )では、1394シリアルバスのインターフェース上で特化されたデバイスプロトコル9についても、LOGINプロトコル7を持たせることで、デバイスが互いに、互いのプロトコルをサポートしているかを判別させることができる。
【0148】
図18は、LOGINプロトコルの基本動作を示す図で、プリンタデバイスは、ホストデバイスからの印字タスク10を実行する際に、先ず、プリンタに用意されているプリンタプロトコルA、B、及びCのうち、どれを選択して印字データをやり取りするかをLOGINプロトコル7による通信に基づき決定し、その後は、決定したプリンタプロトコルに従って印字データのやり取りを行う。
すなわち、いくつかのプリンタプロトコルをサポートしているプリンタデバイスは、ホストデバイスと接続する際に、先ず、ホストデバイスに用意されているのトランスポートプロトコル5をLOGINプロトコル7によって判別し、ホストデバイスのトランスポートプロトコル5に合ったプリンタプロトコルを選択し、選んだプリンタプロトコルに従って印字データやコマンドのやり取りを行うことで、印字タスク10の処理を行う。
【0149】
図19は、1394シリアルバスにおける接続形態を示す図で、複数のプリンタプロトコルに対応したプリンタ11に対してLOGINプロトコル7を実装したデバイス(PC12、スキャナ13、VCR14等)が接続された状態を示している。
プリンタ11は、LOGINプロトコル7により判別した、接続を要求する相手デバイスのトランスポートプロトコル5に応じてプリンタプロトコルを切り替えることにより、各デバイスからの印字タスクを問題なく処理することが可能となる。
【0150】
図20は、ログイン動作の流れを示す図である。
第1ステップにおいて、
・ホストデバイスは、ターゲットデバイス(この場合マルチプロトコルプリンタ)をロックする。
・ターゲットデバイスは、ホストデバイスのケーパビリティ(トランスポートプロトコル等を含む)を調べ、かかるケーパビリティは、後述するレジスタ503に格納される。
・ターゲットデバイスは、ホストデバイスのケーパビリティ(トランスポートプロトコル等を含む)をセットする。
第2ステップにおいて、
・第1ステップで決定されたプロトコルで、プリントデータを通信する。
第3ステップにおいて、
・ホストデバイスは、ターゲットデバイスとのコネクションを切断する。
【0151】
図21は、LOGINプロトコルのためにターゲットデバイスであるプリンタが備える1394シリアルバスのCSRを示し、ロックレジスタ501、プロトコルレジスタ502、及びケーパビリティレジスタ503を示す。
【0152】
尚、上記図21のケーパビリティレジスタ503には、各々のデバイスが対応可能なプロトコルを示す情報が格納され、各ビットの各々が独立に対応可能なデータトランスポートプロトコルを示している。また、プロトコルレジスタ502には、実際に通信に使用するプロトコルが書き込まれる。
【0153】
これらのレジスタは1394シリアルバスのアドレス空間における初期ユニット空間の定められたアドレスに配置される。
つまり、上記図3に示したように、機器に与えられたアドレス幅48ビットのうち、最初の20ビットにおける0xFFFFF がレジスタ空間と呼ばれ、その最初の512バイトにCSRアーキテクチャのコアになるレジスタ(CSRコア)が配置されている。
【0154】
尚、このレジスタ空間には、バスに接続された機器間で共通な情報が置かれる。また、0 〜0xFFFFD はメモリ空間、0xFFFFE はプライベート空間と、各々呼ばれ、プライベート空間は、機器内で自由に利用できるアドレスであり、各機器間のコミュニケーションに使われる。
【0155】
ロックレジスタ501は、リソースのロック状態(専有状態)を示し、値「0」はログイン可能な状態をあらわし、「0」以外はロック状態ですでにログインされていることをあらわす。
ケーパビリティレジスタ503は、複数ビットを有し、そのビット毎に設定可能なデータトランスポートプロトコルを各々独立に示す。すなわち、値「1」はビットに対応するプロトコルは設定可能であることを表し、「0」に対応するプロトコルは設定不可能であることを表す。
プロトコルレジスタ502は、現在設定されているプロトコルを示し、設定されたプロトコルに対応するケーパビリティレジスタ503のビットに相当するビットの値が「1」になる。
【0156】
図22は、ホストデバイスにおけるログイン処理を示すフローチャートである。
【0157】
ログインを開始するためには、先ず、ログインしようとするターゲットデバイス、例えば、プリンタのロックレジスタ501、プロトコルレジスタ502、及びケーパビリティレジスタ503のデータをリードトランザクション、すなわち上記シリアルバスにより定義されたアドレス空間を指定して読み出すことにより確認する。
ここで、ケーパビリティレジスタ503のビット毎のデータから、ホストデバイスが通信に用いようとしているプロトコルをターゲットデバイスがサポートしているかどうか確認する(ステップS601)。もし、ホストデバイスのプロトコルがターゲットデバイスのサポート外ならば、次のステップS602でログインを中止する。
すなわち、本実施の形態では、ホストデバイスがプリンタのケーパビリティレジスタの複数ビットを調べることによって、簡単に、プリンタをサポートしている複数のプロトコルを同時に判定することができる。したがって、高速にプロトコルを決定することができる。具体的には、ホストデバイスは、プリンタが対応可能なプロトコルを順次問い合わせる方法に比べて、簡単に、しかも高速に対応可能なプロトコルを認識することができる。
【0158】
また、ロックレジスタ501のデータが「0」以外であれば、他のデバイスがログイン中であるとみなしログインを中止する。ログインレジスタ501のデータが「0」であれば、現在ログイン可能とみなす(ステップS602)。かかるロックレジスタ501の内容については、上述したのと同様に、リード又はロックトランザクションによって内容を読み出すことで確認できる。
【0159】
ログイン可能の場合、リソースロック処理に移り、プリンタのロックレジスタ501にロックトランザクションを用いて「1」を書き込み、ログインを設定する(ステップS603)。この状態でターゲットデバイスはロックされたことになり、他のデバイスからの制御は不可能、また、レジスタの変更も不可能となる。
【0160】
上述のように、ターゲットデバイスのリソースがロックされた状態で、次にプロトコルの設定を行なう。このため、上述したように、複数のデータトランスポートの各々について、確認されている。
ターゲットデバイスである本実施の形態におけるプリンタは、複数のプリンタプロトコルをサポートするため、プリントデータを受け取る前に、ホストデバイスが使用できるプロトコルを知らねばならない。本実施の形態においては、ホストデバイスのライトトランザクションにより、プリンタのプロトコルレジスタ502の相当するビットを設定することで、これから使用するプロトコルをプリンタに通知する(ステップS604)。
【0161】
この時点で、ホストデバイスが通信に用いるプロトコルがターゲットデバイスに通知され、かつターゲットデバイスがロック状態なので、現在、ターゲットでバスにログインしているホストデバイスがデータ、この場合はプリントデータの送信を行なう(ステップS605)。
【0162】
データの送信が終了したら、ホストデバイスは、ターゲットデバイスのロックレジスタ501、及びケーパビリティレジスタ503をクリアすることにより、プリンタからログアウトする(ステップS606)。
【0163】
図23は、ターゲットデバイスであるプリンタのログイン処理を示す図である。
【0164】
プリンタは、通常、ホストデバイスからログインされるのを待つ状態にあるホストデバイスからのプリントリクエストは、プリンタのロックレジスタ501、プロトコルレジスタ502、及びケーパビリティレジスタ503の読み取りにより開始されるので、上記レジスタは、常に他のデバイスから読み出し可能の状態にしておく必要がある。今、プリントアウトを実行しようとするホストデバイスにより、プリンタがロックされたとする(ステップS701)。
【0165】
プリンタは、次にホストデバイスから使用プロトコルが通知されるのを待つ(ステップS702)。プリンタがロック状態になってから使用プロトコルの通知を待つのは、ログインの途中で、他のデバイスからのリクエストにより、プロトコルレジスタ502を書き換えられないようにするためである。
【0166】
使用プロトコルの通知があったら(ステップS703)、プリンタは、通知された使用プロトコルに自分のプロトコルをスイッチして(ステップS704、S706、S708)、ホストデバイスのプロトコルに合わせて通信を行なう(ステップS705、S707、S709)。
【0167】
通信が終了したら、プリンタは、ロックレジスタ501及びケーパビリティレジスタ503がクリアされたのを確認し(ステップS710)、ログインを待つ状態(ステップS701)に戻る。
【0168】
(第2の実施の形態)
【0169】
図24は、第2の実施の形態における動作を示した図であり、上記図18に示した第1の実施の形態と比較すると、LOGINプロトコル7を実装していないプロトコルDを持つデバイスについても対応している点が特徴である。
すなわち、LOGINプロトコル7を持つデバイスだけでなく、既存のプロトコルD(例えばAV/Cプロトコル)にのみ対応しているデバイスに対しても印字動作を保証する為に、プリンタ側に、LOGINプロトコル7を持たないデバイスに対応するプリンタプロトコルを追加したものである。
【0170】
この動作について説明すると、接続の初めに行われるプリントリクエストによってホストデバイスがLOGINプロトコル7に対応していないことをプリンタが認識した場合、プリンタは、プロトコルDを使ってホストデバイスとの通信を試み、通信が成立した場合は、そのプロトコルDに従って印字タスク10を実行する。
【0171】
図25は、第2の実施の形態と、OSIモデルとを対比させた図であり、例3(Example 3 )では、LOGINプロトコル7が実装されていない現行のAV/Cプロトコルに準拠したAVデバイス15をモデルとしている。例4(Example 4 )では、LOGINプロトコル7が実装されていないスキャナ用の非標準プロトコルが実装されているスキャナ16をモデルとしている。
すなわち、LOGINプロトコル7を実装していないプロトコルを持つデバイスについても、そのデバイスが持つプロトコルにプリンタが対応することができれば、そのプリンタを利用することができるデバイスの種類を広げることができる。
【0172】
尚、上述した各実施の形態においては、IEEE1934シリアルバスを用いてネットワークを構成するものとしたが、本発明はこれに限定されるものではなく、例えば、Universal Serial Bus(USB)と呼ばれるシリアルインターフェース等、任意のシリアルインターフェースを用いて構成されるネットワークにも適用することができる。
【0173】
また、上述した各実施の形態におけるホストデバイスとしては、例えば、コンピュータ、ディジタルカメラ、スキャナ、DVD、Set−top−Box、ディジタルテレビ、コンファレンスカメラ、ディジタルビデオ、及びこれらを含む複合機等を用いることができる。一方、ターゲットデバイスとしては、モニタ、コンピュータ、外部記憶装置、Set−top−Box、プリンタ及びこれらを含む複合機等を用いることができる。
【0174】
また、本発明は、図19に示すような、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置内のデータ処理方法に適用してもよい。
【0175】
また、本発明の目的は、上述した各実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することとなる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0176】
【発明の効果】
以上説明したように本発明によれば、ホストデバイスとターゲットデバイス間でデータ通信を行う際の通信プロトコルが、そのターゲットデバイスによって限定されることがない、拡張性の高いデータ通信装置及びシステムを提供することができる。特に、複数種類のデバイス(プリンタ等)のプロトコルに対応可能であるので、拡張性が極めて高い。また、IEEE1394規格のようなシリアルインターフェースを用いたデータ通信装置やシステムにて、このような効果を得ることができる。さらに、ホストコンピュータを介することなく、ホストデバイスからターゲットデバイスへ直接データ(画像データ等)を転送することができる。
【0177】
また、本発明によれば、予めデバイス側で対応可能なデータトランスポートプロトコルを複数通り確認し、その後、何れのデータトランスポートを用いるかを決定するようにしたため、高速に対応可能なプロトコルを決定することができる。
【図面の簡単な説明】
【図1】IEEE1394シリアルインターフェースを用いて構成されるネットワークシステムの一例を示すブロック図である。
【図2】IEEE1394シリアルインターフェースの構成を説明するための図である。
【図3】IEEE1394シリアルインターフェースにおけるアドレス空間を説明するための図である。
【図4】IEEE1394シリアルインターフェース用のケーブルの断面を説明するための図である。
【図5】DS−Link方式を説明するための図である。
【図6】IEEE1394シリアルインターフェースにおけるネットワーク構築手順を説明するためのフローチャートである。
【図7】ルートの決定方法を説明するためのフローチャートである。
【図8】親子関係決定からすべてのノードIDの設定までの手順を説明するためのフローチャートである。
【図9】ネットワークの一例を説明するための図である。
【図10】バスアービトレーションを説明するための図である。
【図11】アービトレーションの手順を説明するためのフローチャートである。
【図12】アシンクロナス転送における時間的な遷移状態を説明するための図である。
【図13】アシンクロナス転送用のパケットフォーマットを説明するための図である。
【図14】アイソクロナス転送における時間的な遷移状態を説明するための図である。
【図15】アイソクロナス転送用のパケットフォーマットを説明するための図である。
【図16】アシンクロナス転送とアイソクロナス転送が混在する場合のバス上の転送状態の時間的な遷移の様子を説明するための図である。
【図17】IEEE1394シリアルインターフェースとOSIモデルの対比を説明するための図である。
【図18】LOGINプロトコルの基本動作を説明するための図である。
【図19】第1の実施の形態において、IEEE1394シリアルインターフェースにおける接続形態を説明するための図である。
【図20】ログイン動作の流れを説明するための図である。
【図21】LOGINプロトコルのためにプリンタが備えるCSRを説明するための図である。
【図22】ホストデバイスにおけるLOGIN処理を説明するためのフローチャートである。
【図23】ターゲットデバイスにおけるLOGIN処理を説明するためのフローチャートである。
【図24】第2の実施の形態における動作を説明するための図である。
【図25】OSIモデルとの対比を説明するための図である。
【符号の説明】
1 OSIモデルの物理層
2 データリンク層
3 上位層
4 上位層
5 トランスポートプロトコル層
6 プレゼンテーション層
7 LOGINプロトコル
8 シリアルバスプロトコル(SBP−2)
9 デバイスプロトコル
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data communication method, a data communication apparatus, a data communication system, and a storage medium in which processing steps for implementing them are readable by a computer, and in particular, performs data communication between a host device and a target device. The present invention relates to a data communication method, a data communication apparatus, a data communication system, and a storage medium that are not limited by the target device.
[0002]
[Prior art]
Conventionally, various types of systems are known as systems for sending data to a printer via a general-purpose interface.
For example, a technique for outputting data from a computer to a printer using a de facto standard interface that has become widely used, such as SCSI (Small Computer System Interface) and Centronics, is known.
[0003]
[Problems to be solved by the invention]
However, a printer protocol for transferring print data to a printer using these interfaces is limited to a printer manufacturer's specific one, and there is a problem that it lacks expandability.
In particular, when print data is transferred using an interface for connecting various types of devices, for example, a serial interface such as IEEE1394, the problem of lack of expandability is a major problem to be solved.
Also, how to quickly set the protocol used when transferring such print data is a big problem.
[0004]
Therefore, the present invention has been made to eliminate the above-mentioned drawbacks, and a data communication method in which a communication protocol for performing data communication between a host device and a target device is not limited by the target device. An object of the present invention is to provide a data communication device, a data communication system, and a storage medium.
Another object of the present invention is to provide a suitable data communication method, data communication apparatus, data communication system, and storage medium using a serial interface such as the IEEE 1394 standard.
In addition, the present invention provides a data communication method, a data communication apparatus, a data communication system, and a storage medium suitable for transferring image data directly from a host device to a target device without using a host computer. Objective.
[0005]
[Means for Solving the Problems]
Under such an object, the first invention is a data communication system including first and second devices and a serial bus defining a predetermined address space for each of the devices, wherein the first device includes: A first protocol capability storage means for storing information indicating each of a plurality of compatible data transport protocols existing on an address space defined by the serial bus, The second confirmation means for confirming the contents of the first protocol capability storage means by designating and reading the address space defined by the serial bus, and the contents of the first protocol capability storage means And a second determination means for determining a data transport protocol based on the second confirmation means, , Characterized in that prior to the determination in the second determination means confirms plurality of compatible data transport protocol.
[0019]
According to a second invention, in the first invention, the first device further includes lock storage means that exists in an address space defined by the serial bus and stores information indicating a resource exclusive state. It is characterized by that.
[0020]
According to a third invention, in the first invention, the first device further includes lock storage means for storing information indicating an exclusive state of a resource that exists in an address space defined by the serial bus. The second device includes a lock content confirmation unit that confirms the content of the lock storage unit by a read or lock transaction that specifies an address space defined by the serial bus, and a confirmation result of the lock content confirmation unit. And determining means for determining whether the first device is occupied.
[0021]
In a fourth aspect based on the first aspect, the data transport protocol includes a printer protocol.
[0022]
In a fifth aspect based on the fourth aspect, the printer protocol includes a protocol for transferring data to be printed.
[0023]
In a sixth aspect based on the first aspect, the second device includes a device that outputs image data.
[0024]
In a seventh aspect based on the sixth aspect, the second device is a computer, a digital camera, a scanner, a DVD, a set-top-box, a digital television, a conference camera, a digital video, and a multifunction device including these. It is a device including at least one of the above.
[0025]
In an eighth aspect based on the first aspect, the first device further includes protocol storage means for storing the data transport protocol determined by the second determination means.
[0026]
In a ninth aspect based on the first aspect, the serial bus includes a bus conforming to or conforming to the IEEE 1394 standard.
[0027]
In a tenth aspect based on the first aspect, the serial bus includes a bus for modulating and transferring data by a DS-link system.
[0028]
In an eleventh aspect based on the first aspect, the second confirmation means confirms the contents of the first protocol capability storage means by a read transaction designating an address space defined by the serial bus. It is characterized by doing.
[0029]
In a twelfth aspect based on the eleventh aspect, the read transaction is executed in a layer lower than the transport protocol layer of the serial bus.
[0030]
In a thirteenth aspect based on the first aspect, the first device includes a device to which image data is input.
[0031]
In a fourteenth aspect based on the thirteenth aspect, the first device is a device including at least one of a monitor, a computer, an external storage device, a set-top-box, a printer, and a multifunction peripheral including these. It is characterized by that.
[0032]
In a fifteenth aspect based on the first aspect, the second device is present in an address space defined by the serial bus, and independently indicates a plurality of compatible data transport protocols. And a second protocol capability storage means for storing.
[0033]
In a sixteenth aspect based on the first aspect, the first device confirms the contents of the protocol capability storage means by designating and reading the address space defined by the serial bus. And a first determining means for determining a data transport protocol based on the contents of the protocol capability storage means, wherein the first checking means is used for the determination by the first determining means. It is characterized by confirming a plurality of compatible data transport protocols in advance.
[0034]
According to a seventeenth aspect of the present invention, there is provided a data communication apparatus which is at least one of the plurality of devices for configuring a data communication system including a plurality of devices and a serial bus defining a predetermined address space for each device. The information independently indicating a plurality of compatible data transport protocols stored in the address space defined by the serial bus is read by designating the address space defined by the serial bus. Confirmation means and a determination means for determining a data transport protocol based on the confirmation result of the confirmation means, and the confirmation means is capable of handling a plurality of prior to the determination by the determination means. It is characterized by confirming the data transport protocol.
[0035]
The eighteenth invention is a first device for configuring the data communication system according to any one of claims 4 to 16.
[0036]
The nineteenth invention is a second device for configuring the data communication system according to any one of claims 4 to 16.
[0037]
A twentieth aspect of the invention is a data communication method for performing data communication between a first device and a second device via a serial bus that defines a predetermined address space for each device. Confirms the contents stored in the protocol capability register in the address space defined by the serial bus, in which information indicating the port protocol is stored, by designating and reading the address space defined by the serial bus A confirmation step and a determination step for determining a data transport protocol based on a confirmation result in the confirmation step, wherein the confirmation step includes a plurality of compatible data transport protocols prior to the determination by the determination step. Including the step of confirming.
[0038]
A twenty-first aspect of the present invention is a data communication method for devices connected to a serial bus that defines a predetermined address space for each device, and information indicating a compatible data transport protocol is defined by the serial bus. And a step of reading from a protocol capability register existing in the address space.
[0039]
A twenty-second invention is a data communication method for a device connected to a serial bus that defines a predetermined address space for each device, and is stored in a protocol capability register of another device connected to the serial bus. A confirmation step for confirming the content by designating and reading the address space defined by the serial bus, and a determination step for determining a data transport protocol based on the confirmation result in the confirmation step, The confirmation step includes a step of confirming a plurality of compatible data transport protocols prior to the determination by the determination step.
[0040]
According to a twenty-third aspect of the invention, there is provided a computer with processing steps for performing data communication in a system including a first device, a second device, and a serial bus that defines a predetermined address space for each device. A computer-readable storage medium storing a program for execution, wherein the processing step is present in an address space defined by the serial bus in which information indicating a compatible data transport protocol is stored A confirmation step for confirming the stored contents of the protocol capability register by designating and reading the address space defined by the serial bus, and a determination for determining a data transport protocol based on the confirmation result in the confirmation step And the confirmation step includes the steps Prior to the determination by the determination step, characterized in that it comprises a step of confirming the plurality of compatible data transport protocol.
[0041]
In a twenty-fourth aspect of the invention, a computer-readable program storing a program for causing a computer to execute processing steps for performing data communication of a device connected to a serial bus that defines a predetermined address space for each device. In the storage medium, the processing step includes a step of reading information indicating a compatible data transport protocol from a protocol capability register existing in an address space defined by the serial bus. .
[0042]
In a twenty-fifth aspect of the invention, a computer-readable program storing a program for causing a computer to execute processing steps for performing data communication of a device connected to a serial bus that defines a predetermined address space for each device. The processing step is a storage medium that is confirmed by reading the contents stored in the protocol capability register of another device connected to the serial bus by designating an address space defined by the serial bus And a determination step for determining a data transport protocol based on a confirmation result in the confirmation step, wherein the confirmation step includes a plurality of compatible data transports prior to the determination by the determination step. Includes steps to verify the protocol And wherein the door.
[0043]
A twenty-sixth aspect of the present invention is a computer-readable storage medium storing a program for causing a computer to execute a processing step for performing data communication using a serial bus, and the processing step includes: Including a processing step of the data communication method according to any one of the above.
[0048]
DETAILED DESCRIPTION OF THE INVENTION
[0049]
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0050]
In the first and second embodiments described below, for example, IEEE 1394-1995 (High Performance Serial Bus, hereinafter simply referred to as “1394 serial bus”) is used as a digital interface for connecting each device. First, the outline of the 1394 serial bus will be described.
[0051]
[Outline of 1394 Serial Bus]
[0052]
With the advent of consumer digital video cam recorders (VCRs) and digital video disc (DVD) players, video data and audio data (hereinafter collectively referred to as “AV data”), etc. in real time and high There is a need to transfer data with a large amount of information. In order to transfer AV data to a personal computer (PC) or other digital device in real time, an interface capable of high-speed data transfer is required. An interface developed from such a viewpoint is the 1394 serial bus.
[0053]
FIG. 1 shows an example of a network system configured using a 1394 serial bus.
[0054]
This system is equipped with devices A, B, C, D, E, F, G, and H. Between A-B, A-C, B-D, D-E, C-F , C-G, and C-H are each connected by a twisted pair cable for a 1394 serial bus. Examples of these devices A to H are a host computer device such as a personal computer and computer peripheral devices.
Computer peripherals include digital VCRs, DVD players, digital still cameras, storage devices that use media such as hard disks and optical disks, CRT and LCD monitors, tuners, image scanners, film scanners, printers, MODEMs, and terminal adapters (TA) Etc., all of the computer peripherals are targeted.
[0055]
Connection between devices can be a mixture of the daisy chain method and the node branch method, and a connection with a high degree of freedom can be performed.
In addition, each device has an ID, and recognizes the ID to each other, thereby constituting one network in a range connected by the 1394 serial bus.
For example, each device plays a role of relay only by daisy-chaining each device with one 1394 serial bus cable, so that one network can be configured as a whole.
[0056]
Further, the 1394 serial bus is compatible with the Plug and Play function, and has a function of automatically recognizing a device and recognizing a connection state only by connecting a cable to the device.
[0057]
Also, in the system shown in FIG. 1, when a device is removed from the network or newly added, the bus is automatically reset (the previous nutwork configuration information is reset), Rebuild a new network. This function makes it possible to always set and recognize the network configuration at that time.
[0058]
The data transfer rate of the 1394 serial bus is defined as 100/200/400 Mbps, and compatibility is maintained by a device having a higher transfer rate supporting a lower transfer rate.
[0059]
As the data transfer mode, there are an asynchronous transfer mode (ATM) for transferring asynchronous data such as a control signal and an isochronous transfer mode for transferring synchronous data of real-time AV data.
Asynchronous data and synchronous data are mixed in a cycle while giving priority to the transfer of synchronous data following the transfer of a cycle start packet (CSP) indicating the cycle start in each cycle (usually 125 μS / cycle). Then transferred.
[0060]
FIG. 2 is a diagram showing components of the 1394 serial bus.
[0061]
The 1394 serial bus has a layer structure. As shown in FIG. 2, there is a connector port 810 to which the connector at the tip of the cable 1394 for 1394 serial bus is connected. Above the connector port 810, there are a physical layer 811 and a link layer 812 configured by the hardware unit 800.
[0062]
The hardware unit 800 includes an interface chip, of which the physical layer 811 performs encoding and connection-related control, and the link layer 812 performs packet transfer, cycle time control, and the like.
[0063]
The transaction layer 814 of the firmware unit 801 manages data to be transferred (transaction), and issues Read, Write, and Lock instructions. The management layer 815 of the firmware unit 801 manages the connection status and ID of each device connected to the 1394 serial bus, and manages the network configuration.
[0064]
The hardware and firmware described above are the substantial configuration of the 1394 serial bus.
[0065]
The application layer 816 of the software unit 802 differs depending on the software used, and how data is transferred on the interface is defined by a protocol such as a printer or AV / C protocol.
[0066]
FIG. 3 is a diagram showing an address space in the 1394 serial bus.
[0067]
Each device (node) connected to the 1394 serial bus must have a unique 64-bit address. This address is stored in the memory of the device, and by always recognizing the node address of itself or the other party, data communication specifying the other party can be performed.
[0068]
The addressing of the 1394 serial bus is based on the IEEE1212 standard, and the address setting is such that the first 10 bits are used for specifying the bus number and the next 6 bits are used for specifying the node ID. The remaining 48 bits are the address width given to the device and can be used as a unique address space. The last 28 bits are a data area specific to the device, and store identification information of each device, use condition designation information, and the like.
[0069]
The above is the outline of the 1394 serial bus.
Next, features of the 1394 serial bus will be described in more detail.
[0070]
[Electric specifications of 1394 serial bus]
[0071]
FIG. 4 is a diagram showing a cross section of a cable for a 1394 serial bus.
The 1394 serial bus cable is provided with a power supply line in addition to the two pairs of twisted pair signal lines. As a result, it is possible to supply power to devices that do not have a power supply or devices whose voltage has dropped due to a failure or the like.
The voltage of the DC power supplied from the power line is defined as 8 to 40V, and the current is defined as the maximum current 1.5A.
[0072]
In the standard called DV cable, it is composed of four wires without the power line.
[0073]
[DS-Link method]
[0074]
FIG. 5 is a diagram for explaining a data transfer type DS-Link (Data / Strobe Link) method employed in the 1394 serial bus.
The DS-Link system is suitable for high-speed serial data communication and requires two sets of signal lines. In other words, one of the two pairs is sent with a data signal and the other with a strobe signal. The receiving side is characterized in that a clock can be generated by taking an exclusive OR of the data signal and the strobe signal.
For this reason, since it is not necessary to mix a clock signal in a data signal using the DS-Link method, a clock signal can be generated with higher transfer efficiency than other serial data transfer methods, so that a phase locked loop (PLL) circuit is provided. The circuit scale of the controller LSI can be reduced correspondingly, and it is not necessary to send information indicating that it is in an idle state when there is no data to be transferred. The power consumption can be reduced.
[0075]
[Bus reset sequence]
[0076]
Each device (node) connected to the 1394 serial bus is given a node ID and recognized as a node constituting the network.
For example, when the number of nodes increases / decreases due to connection / separation of network devices, power ON / OFF, etc., that is, when there is a change in the network configuration and it is necessary to recognize a new network configuration, A bus reset signal is transmitted above to enter a mode for recognizing a new network configuration.
This change in the network configuration is detected by detecting a change in bias voltage at the connector port 810.
When a bus reset signal is transmitted from a certain node, the physical layer 811 of each node receives the bus reset signal and simultaneously transmits the occurrence of the bus reset to the link layer 812 and transmits the bus reset signal to the other nodes. To do. After all nodes have finally received the bus reset signal, the bus reset sequence is activated.
[0077]
The bus reset sequence is activated when a cable is inserted or removed, or when a hardware abnormality is detected by the network, and by giving a direct command to the physical layer 811 such as host control by protocol. Is also activated. When the bus reset sequence is activated, the data transfer is temporarily suspended, waited during the bus reset, and resumed under the new network configuration after the bus reset is completed.
[0078]
[Node ID determination sequence]
[0079]
After the bus reset, each node enters an operation of giving an ID to each node in order to construct a new network configuration. A general sequence from bus reset to node ID determination at this time will be described using the flowcharts shown in FIGS.
[0080]
FIG. 6 is a flowchart showing a series of sequences from the generation of the bus reset signal until the node ID is determined and data transfer can be performed.
[0081]
Each node constantly monitors the bus reset signal in step S101, and when the bus reset signal is generated, the node moves to step S102, and in order to obtain a new network configuration in a state where the network configuration is reset, the nodes are directly connected to each other. A parent-child relationship is declared between nodes.
And step S102 is repeated until it determines with the determination of step S103 having determined the parent-child relationship between all the nodes.
When the parent-child relationship is determined, the process proceeds to step S104, and the route is determined.
[0082]
In step S105, a node ID setting operation for giving an ID to each node is performed. Node IDs are set in order of a predetermined node from the root, and it is determined in step S106 that IDs have been given to all nodes, and step S105 is repeated.
When the node ID setting is completed, the new network configuration has been recognized in all nodes, so that data transfer between the nodes can be performed, data transfer is started in step S107, and the sequence proceeds to step S101. The generation of the bus reset signal is monitored again.
[0083]
FIG. 7 is a flowchart showing details from monitoring of the bus reset signal (step S101) to route determination (step S104), and FIG. 8 is a flowchart showing details of ID setting (steps S105 and S106). .
[0084]
In FIG. 7, the generation of the bus reset signal is monitored in step S201. When the bus reset signal is generated, the network configuration is once reset.
[0085]
In step S202, as a first step of re-recognizing the reset network configuration, each device resets the flag FL with data indicating that it is a leaf (node). Then, in step S203, each device checks the number of ports, that is, the number of other nodes connected to itself, and in step S204, depending on the result of step S203, in order to start the declaration of the parent-child relationship, Check the number of ports (parent-child relationship has not been determined).
Here, the number of undefined ports is equal to the number of ports immediately after the bus reset, but as the parent-child relationship is determined, the number of undefined ports detected in step S204 decreases.
[0086]
Immediately after a bus reset, the parent-child relationship can only be declared on the actual leaf. Whether or not it is a leaf can be known from the confirmation result of the number of ports in step S203, that is, if the number of ports is “1”, it is a leaf. In step S205, the leaf declares a parent-child relationship to the node of the connection partner, “I am a child and the partner is a parent”, and the operation ends.
[0087]
On the other hand, since the node whose port number is “2” or more in step S203, that is, the branch, is “undefined port number> 1” immediately after the bus reset, the process proceeds to step S206, and data indicating the branch in the flag FL In step S207, the process waits for a parent-child relationship to be declared from another node.
[0088]
A parent-child relationship is declared from another node, and the branch receiving it returns to step S204 to check the number of undefined ports. If the number of undefined ports is “1”, the branch is connected to the remaining ports. In step S205, a parent-child relationship of “I am a child and the other party is a parent” can be declared to the other nodes. Further, the branch having the number of undefined ports of “2” or more still waits for the “parent-child relationship” to be declared again from another node in step S207.
[0089]
When the number of undefined ports in any one branch (or a leaf that has been able to declare a child but did not operate quickly) becomes "0", the declaration of the parent-child relationship of the entire network is completed. In other words, the only node whose number of undefined ports has become “0”, that is, the node that is determined to be the parent of all nodes, sets data indicating the route in the flag FL in step S208, and in step S209, the route Recognized as
[0090]
In this way, the procedure from the bus reset to the declaration of the parent-child relationship between the nodes in the network is completed.
[0091]
Next, a procedure for giving an ID to each node will be described. It is a leaf that can first set an ID. Then, IDs are set from a young number (node number: 0) in the order of leaf → branch → root.
[0092]
In FIG. 8, at step S301, based on the data set in the flag FL, the process branches to a process corresponding to the node type, that is, leaf, branch, and route.
[0093]
First, in the case of a leaf, after the number of leaves (natural number) existing in the network is set to the variable N in step S302, the leaf requests a node number from the root in step S303. If there are a plurality of requests, the route performs arbitration in step S304, gives a node number to one node in step S305, and notifies the other nodes of the result indicating failure in obtaining the node number.
[0094]
The leaf whose node number could not be acquired by the determination in step S306 repeats the request for the node number again in step S303.
[0095]
On the other hand, in step S307, the leaf that has acquired the node number broadcasts ID information including the acquired node number to notify all nodes. When the broadcast of the ID information ends, the variable N representing the number of leaves is decremented in step S308. The procedure from step S303 to step S308 is repeated until the variable N becomes “0” as a result of the determination in step S309, and after the ID information of all the leaves is broadcast, the process proceeds to step S310 to set the branch ID. Move on.
[0096]
The branch ID setting is performed in substantially the same manner as the leaf.
[0097]
First, in step S310, the number of branches (natural number) existing in the network is set to a variable M, and in step S311, the branch requests a node number from the root. In response to this request, the route performs arbitration in step S312, and in step S313, assigns a young number following the leaf to a certain branch, and notifies the branch indicating failure of acquisition to the branch that could not acquire the node number. To do.
[0098]
As a result of the determination in step S314, the branch that knows that the acquisition of the node number has failed repeats the request for the node number in step S311 again.
[0099]
On the other hand, the branch that has obtained the node number notifies all nodes by broadcasting ID information including the obtained node number in step S315.
[0100]
When the broadcast of the ID information is completed, the variable M indicating the number of branches is decremented by step S316.
Then, the procedure from step S311 to step S316 is repeated until the variable M becomes “0” by the determination in step S317, and after the ID information of all branches is broadcast, the process proceeds to step S318 to set the route ID. Move on.
[0101]
When the process is completed up to this point, since the only node that has not finally obtained ID information is the root, in step S318, the youngest number not given to other nodes is set as its own node number. In step S319, the route Broadcast ID information.
[0102]
This completes the procedure until all node IDs are set.
[0103]
Next, a specific procedure of the node ID determination sequence will be described using the network example shown in FIG.
[0104]
In the network shown in FIG. 9, node A and node C are directly connected below node B, which is the root, node D is directly connected below node C, and node E and node F are connected below node D. It has a directly connected hierarchical structure. The procedure for determining the hierarchical structure, root node, and node ID is as follows.
[0105]
In order to recognize the connection status of each node after the bus reset occurs, a parent-child relationship is declared between the directly connected ports of each node.
The parent and child here means that the upper level of the hierarchical structure is “parent” and the lower level is “child”.
In FIG. 9 above, it is the node A that first declared the parent-child relationship after the bus reset. As described above, the declaration of the parent-child relationship can be started from a node (leaf) to which only one port is connected. If the number of ports is “1”, it is recognized that it is the end of the network, that is, a leaf, and the parent-child relationship is determined from the node that has performed the earliest operation in those leaves. Thus, the port of the node that declared the parent-child relationship is set as “child” of the two nodes connected to each other, and the node of the counterpart node is set as “parent”. Thus, “child-parent” is set between the nodes A and B, between the nodes E and D, and between the nodes FD.
[0106]
Further, the hierarchy is advanced by one, and the parent-child relationship is declared to the higher-order node sequentially from the node having a plurality of ports, that is, the node receiving the declaration of the parent-child relationship from another node.
In FIG. 9, first, after the parent-child relationship between the nodes DE and DF is determined, the node D declares the parent-child relationship to the node C, and as a result, “ A “child-parent” relationship is set.
The node C that has received the declaration of the parent-child relationship from the node D declares the parent-child relationship to the node B connected to the other port, and thereby the “child-parent” relationship between the nodes C-B. Is set.
[0107]
In this way, the hierarchical structure as shown in FIG. 9 is configured, and the node B that becomes the parent in all the finally connected ports is determined as the root. There is only one route in one network configuration. Further, when the node B, which has been declared the parent-child relationship from the node A, promptly declares the parent-child relationship to other nodes, for example, another node such as the node C may become the root. That is, depending on the timing at which the declaration of the parent-child relationship is transmitted, any node may be the root, and even if the network configuration is the same, a specific node is not necessarily the root.
[0108]
When the route is determined, a determination mode for each node ID is entered. All nodes have a broadcast function for notifying all other nodes of their determined ID information.
The ID information is broadcast as ID information including node number, connected position information, number of ports held, number of connected ports, parent-child relationship information of each port, and the like.
[0109]
As described above, the node numbers are allocated from the leaf as described above, and node numbers = 0, 1, 2,. Then, it is recognized that the node number has been assigned by broadcasting the ID information.
When all the leaves have obtained the node number, the next step is to branch and the node number following the leaf is assigned. Similar to the leaf, ID information is broadcast in order from the branch to which the node number is assigned, and finally the route broadcasts its own ID information. Therefore, the root will always have the highest node number.
[0110]
As described above, the ID setting for the entire hierarchical structure is completed, the network configuration is reconstructed, and the bus initialization operation is completed.
[0111]
[Bus arbitration]
[0112]
Prior to data transfer, the 1394 serial bus always arbitrates for the right to use the bus. Each device connected to the 1394 serial bus configures a logical bus network that relays the signals transferred over the network to transmit all signals to all devices in the network. Bus arbitration is necessary to prevent it. This allows only one node to perform the transfer at a certain time.
[0113]
FIGS. 10A and 10B are diagrams for explaining arbitration. FIG. 10A shows an operation for requesting the right to use the bus, and FIG. 10B shows the bus. Indicates an operation that permits use.
[0114]
When the bus arbitration starts, one or more nodes request the right to use the bus toward the parent node. In FIG. 10A, the nodes C and F request the right to use the bus.
Upon receiving this request, the parent node (node A in FIG. 10A) further requests the right to use the bus toward the parent node, thereby relaying the request for the right to use the bus by node F. This request is finally delivered to the mediation route.
[0115]
The route that has received the request for the right to use the bus determines which node is given the right to use the bus. This arbitration work can be performed only by the route, and the bus use permission is given to the node that has won the arbitration. FIG. 10B shows a state where the bus use permission is given to the node C and the request for the right to use the bus of the node F is denied.
[0116]
The route sends a DP (data prefix) packet to the node losing the bus arbitration to inform that the request for the right to use the bus has been rejected. The request for the right to use the bus of the node that lost the bus arbitration is kept waiting until the next bus arbitration.
[0117]
As described above, the node that has obtained the bus use permission after winning the bus arbitration can start data transfer thereafter.
[0118]
Here, a flowchart of a series of bus arbitration flows will be described with reference to FIG.
[0119]
In order for a node to begin data transfer, the bus needs to be idle. In order to recognize that the previous data transfer has been completed and the bus is currently in an idle state, a gap length of a predetermined idle time set individually in each transfer mode (for example, sub By detecting the progress of the action gap), each node determines that the bus has become idle.
[0120]
In step S401, each node determines whether a predetermined gap length corresponding to the asynchronous data or synchronous data to be transferred has been obtained. Unless the predetermined gap length is obtained, the node cannot request the right to use the bus necessary for starting the transfer, and waits until the predetermined gap length is obtained.
[0121]
When a predetermined gap length is obtained in step S401, each node determines whether there is data to be transferred in step S402, and if there is, sends a signal requesting the right to use the bus to the route in step S403. . The signal indicating the request for the right to use the bus is finally delivered to the route while being relayed to each device in the network, as shown in FIG. If it is determined in step S402 that there is no data to be transferred, the process returns to step S401.
[0122]
When the route receives one or more signals requesting the right to use the bus in step S404, the route checks the number of nodes that have requested the right to use in step S405.
If it is determined in step S405 that one node has requested the right to use, the right to use the bus immediately after that is given to that node.
If there are a plurality of nodes that have requested the right to use, an arbitration operation is performed in step S406 to narrow down the number of nodes that are permitted to use the bus immediately after. This arbitration work does not give permission to use the bus only to the same node every time, but gives the right to use the bus equally (fair arbitration).
[0123]
In step S407, the route processing branches according to one node that has won the arbitration in step S406 and the other nodes that have lost. If there is one node that has won the arbitration or one node that has requested the right to use the bus, a permission signal indicating permission to use the bus is sent to that node in step S408.
[0124]
The node that has received the permission signal starts transferring data (packets) to be transferred immediately after in step S410. Further, in step S409, a DP (data prefix) packet indicating that the request for the right to use the bus has been rejected is sent to the node that has lost the arbitration. The processing of the node that has received the DP packet returns to step S401 to request the right to use the bus again. The processing of the node that has completed the data transfer in step S410 also returns to step S401.
[0125]
[Asynchronous transfer]
[0126]
FIG. 12 shows a temporal transition state in asynchronous transfer.
The first subaction gap shown in FIG. 12 indicates the idle state of the bus. When this idle time reaches a predetermined value, it is determined that a node desiring data transfer can request the right to use the bus, and bus arbitration is executed.
If the bus arbitration permits the use of the bus, the data transfer is then packeted, and the node receiving this data responds with a return code for acknowledgment after a short gap of ack gap, or Data transfer is completed by sending a response packet. The ack includes 4-bit information and a 4-bit checksum, includes information indicating success, busy state, or pending state, and is immediately returned to the data transmission source node.
[0127]
FIG. 13 is a diagram showing a packet format for asynchronous transfer.
The packet has a header portion in addition to the data portion and the error correction data CRC, and the target node ID, source node ID, transfer data length, various codes, and the like are written in the header portion.
Asynchronous transfer is one-to-one communication from the self node to the partner node. The packet sent out from the transfer source node is distributed to each node in the network, but each node ignores packets other than those addressed to itself, so that only the node designated as the destination receives the packet.
[0128]
[Isochronous transfer]
[0129]
This isochronous transfer, which can be said to be the greatest feature of the 1394 serial bus, is particularly suitable for transferring multimedia data that requires real-time transfer such as AV data.
Asynchronous transfer is a one-to-one transfer, but this isochronous transfer can uniformly transfer data from one transfer source node to all other nodes by a broadcast function.
[0130]
FIG. 14 is a diagram illustrating a temporal transition state in isochronous transfer.
[0131]
Isochronous transfer is executed at regular intervals on the bus, and this time interval is called an isochronous cycle. The isochronous cycle time is 125 μS. The cycle start packet (CSP) plays a role of indicating the start of each synchronization cycle and synchronizing the operation of each node. The node that transmits the CSP is a node called a cycle master. After the transfer in the previous cycle is completed and a predetermined idle period (subaction gap) is passed, the CSP that notifies the start of this cycle is transmitted. To do. In other words, the time interval for transmitting CSP is 125 μS.
[0132]
Further, as indicated by channel A, channel B, and channel C in FIG. 14 described above, by assigning channel IDs to a plurality of types of packets within one synchronization cycle, the packets can be distinguished and transferred. . As a result, real-time transfer is possible between a plurality of nodes substantially simultaneously, and the receiving node only has to receive data of the channel ID that it desires. This channel ID does not represent the address of the receiving node or the like, but is merely a logical number for data. Thus, the transmitted packet is distributed from one source node to all other nodes, that is, broadcast.
[0133]
Prior to isochronous transfer packet transmission, bus arbitration is performed in the same manner as asynchronous transfer. However, since it is not one-to-one communication as in asynchronous transfer, there is no return code ack for reception confirmation in isochronous transfer.
[0134]
Further, the iso gap isochronous gap (shown in FIG. 14) represents an idle period necessary for recognizing that the bus is in an idle state before performing an isochronous transfer. When this predetermined idle period elapses, bus arbitration is performed for a node that wishes to perform isochronous transfer.
[0135]
FIG. 15 is a diagram showing a packet format for isochronous transfer.
Each packet divided into each channel has a header part in addition to the data part and error correction data CRC, and the header part has a transfer data length and a channel number as shown in FIG. . In addition, various other codes, error correction header CRC, and the like are written.
[0136]
[Bus cycle]
[0137]
Actually, in the 1394 serial bus, isochronous transfer and asynchronous transfer can be mixed, and FIG. 16 shows a state of temporal transition of the transfer state on the bus at that time.
[0138]
Here, isochronous transfer is executed with priority over asynchronous transfer. The reason is that, after CSP, isochronous transfer can be started with a gap length (isochronous gap) shorter than the gap length (subaction gap) of the idle period necessary for starting asynchronous transfer. Therefore, isochronous transfer is executed with priority over asynchronous transfer.
[0139]
In the general bus cycle shown in FIG. 16, the CSP is transferred from the cycle master to each node at the start of cycle #m. The operation of each node is synchronized by the CSP, and a node which performs isochronous transfer after waiting for a predetermined idle period (isochronous gap) participates in bus arbitration and enters packet transfer. In FIG. 16, the channel e, the channel s, and the channel k are transferred isochronously in order.
After the operations from the bus arbitration to the packet transfer are repeated for the given channel, the isochronous transfer can be performed when all the isochronous transfers in the cycle #m are completed.
[0140]
In other words, when the idle time reaches the subaction gap where asynchronous transfer is possible, a node that wishes to perform asynchronous transfer participates in bus arbitration.
[0141]
However, asynchronous transfer can be performed only when a sub-action gap for starting asynchronous transfer is obtained between the end of isochronous transfer and the time to transfer the next CSP (cycle sync). .
[0142]
In cycle #m shown in FIG. 16, two packets (packet 1 and packet 2) including ack are transferred by asynchronous transfer after isochronous transfer for three channels. After this asynchronous packet 2, since it is time (cycle sync) to start cycle m + 1, the transfer in cycle #m ends here.
[0143]
However, when the time to transmit the next CSP during asynchronous or synchronous transfer (cycle sync) is reached, the transfer is not forcibly interrupted, and the CSP of the next cycle is transmitted through an idle period after the transfer is completed. That is, when one cycle continues for 125 μS or more, the next cycle is shortened from the reference 125 μS by the extension. Thus, the isochronous cycle can be exceeded and shortened on the basis of 125 μS.
[0144]
However, isochronous transfer is executed every cycle if necessary to maintain real-time transfer, and asynchronous transfer may be postponed to the next and subsequent cycles because the cycle time is shortened.
The cycle master also manages such delay information.
[0145]
(First embodiment)
[0146]
FIG. 17 is a diagram in which the interface of the 1394 serial bus is compared with each layer of the OSI model often used in the LAN.
The physical layer 1 and the data link layer 2 of the OSI model correspond to the physical layer 811 and the link layer 812 which are the lower layers 4 of the 1394 serial bus interface. The transport protocol layer 5 and the presentation layer 6 in the 1394 serial bus interface existing on the lower layer 4 correspond to the upper layer 3 including the network layer, the transport layer, the session layer, and the presentation layer of the OSI model. The LOGIN protocol 7, which is a feature of the present invention, operates between the lower layer 4 and the transport protocol layer 5 of the 1394 serial bus interface.
[0147]
In Example 1 (Example 1) shown in FIG. 17 described above, a device compliant with the serial bus protocol (SBP-2) 8 for peripheral devices such as a printer is provided with the LOGIN protocol 7, thereby allowing the other device to have SBP. -2 can be used to notify that data exchange is desired. In Example 2 (Example 2) shown in FIG. 17, the device protocol 9 specialized on the 1394 serial bus interface also supports the mutual protocol by providing the LOGIN protocol 7. Can be determined.
[0148]
FIG. 18 is a diagram showing the basic operation of the LOGIN protocol. When the printer device executes the print task 10 from the host device, first, among the printer protocols A, B, and C prepared in the printer, Which one is selected to be exchanged is determined based on communication by the LOGIN protocol 7, and thereafter, the print data is exchanged according to the decided printer protocol.
That is, when a printer device that supports several printer protocols is connected to a host device, first, the transport protocol 5 prepared in the host device is determined by the LOGIN protocol 7, and the host device's transport device is determined. By selecting a printer protocol suitable for the port protocol 5 and exchanging print data and commands according to the selected printer protocol, the print task 10 is processed.
[0149]
FIG. 19 is a diagram showing a connection form in the 1394 serial bus, and shows a state in which a device (PC 12, scanner 13, VCR 14, etc.) that implements the LOGIN protocol 7 is connected to the printer 11 that supports a plurality of printer protocols. ing.
The printer 11 can process the print task from each device without any problems by switching the printer protocol according to the transport protocol 5 of the partner device that requests connection, as determined by the LOGIN protocol 7.
[0150]
FIG. 20 is a diagram illustrating the flow of the login operation.
In the first step,
The host device locks the target device (in this case a multi-protocol printer).
The target device checks the capabilities of the host device (including the transport protocol), and the capabilities are stored in a register 503 described later.
The target device sets the capabilities of the host device (including transport protocol etc.).
In the second step,
Communicate print data using the protocol determined in the first step.
In the third step,
-The host device disconnects the connection with the target device.
[0151]
FIG. 21 shows the CSR of the 1394 serial bus provided in the printer that is the target device for the LOGIN protocol, and shows the lock register 501, the protocol register 502, and the capability register 503.
[0152]
Note that the capability register 503 in FIG. 21 stores information indicating a protocol that can be supported by each device, and indicates a data transport protocol in which each bit can be independently supported. In the protocol register 502, a protocol actually used for communication is written.
[0153]
These registers are arranged at predetermined addresses in the initial unit space in the address space of the 1394 serial bus.
In other words, as shown in FIG. 3 above, 0xFFFFF in the first 20 bits out of the 48-bit address width given to the device is called a register space, and the first 512 bytes of the register that becomes the core of the CSR architecture ( CSR core) is arranged.
[0154]
Information common to devices connected to the bus is placed in this register space. Also, 0 to 0xFFFFD is called a memory space, and 0xFFFFE is called a private space, and the private space is an address that can be freely used in the device, and is used for communication between the devices.
[0155]
The lock register 501 indicates the lock state (proprietary state) of the resource. A value “0” indicates a log-in enabled state, and a value other than “0” indicates that the log-in is already performed in the lock state.
The capability register 503 has a plurality of bits and independently indicates a data transport protocol that can be set for each bit. That is, the value “1” indicates that the protocol corresponding to the bit can be set, and the protocol corresponding to “0” cannot be set.
The protocol register 502 indicates the currently set protocol, and the value of the bit corresponding to the bit of the capability register 503 corresponding to the set protocol is “1”.
[0156]
FIG. 22 is a flowchart showing login processing in the host device.
[0157]
In order to start the login, first, the data of the target device to be logged in, for example, the printer lock register 501, the protocol register 502, and the capability register 503 are read transactions, that is, an address space defined by the serial bus. Confirm by specifying and reading.
Here, it is confirmed from the data for each bit of the capability register 503 whether or not the target device supports the protocol that the host device intends to use for communication (step S601). If the host device protocol is not supported by the target device, the login is stopped in the next step S602.
In other words, in this embodiment, the host device can easily determine a plurality of protocols supporting the printer at the same time by examining a plurality of bits in the capability register of the printer. Therefore, the protocol can be determined at high speed. Specifically, the host device can easily recognize a protocol that can be supported at a higher speed than a method that sequentially inquires a protocol that the printer can support.
[0158]
If the data in the lock register 501 is other than “0”, it is considered that another device is logging in and the login is stopped. If the data in the login register 501 is “0”, it is considered that login is currently possible (step S602). The contents of the lock register 501 can be confirmed by reading the contents by a read or lock transaction, as described above.
[0159]
If login is possible, the process proceeds to resource lock processing, and “1” is written in the lock register 501 of the printer using a lock transaction, and login is set (step S603). In this state, the target device is locked, and control from other devices is impossible, and the register cannot be changed.
[0160]
As described above, the protocol is set next in a state where the resource of the target device is locked. For this reason, as described above, each of the plurality of data transports has been confirmed.
Since the printer in the present embodiment, which is the target device, supports a plurality of printer protocols, the host device must know the protocols that can be used before receiving print data. In the present embodiment, the host device write transaction sets a corresponding bit in the printer protocol register 502 to notify the printer of the protocol to be used (step S604).
[0161]
At this point, the protocol used for communication by the host device is notified to the target device, and the target device is in a locked state, so the host device currently logged in to the bus at the target transmits data, in this case, print data. (Step S605).
[0162]
When the data transmission is completed, the host device logs out from the printer by clearing the lock register 501 and the capability register 503 of the target device (step S606).
[0163]
FIG. 23 is a diagram illustrating login processing of a printer that is a target device.
[0164]
Since the printer normally waits for login from the host device, a print request from the host device is started by reading the lock register 501, the protocol register 502, and the capability register 503 of the printer. Must always be readable from other devices. Assume that the printer is locked by the host device that is about to execute printout (step S701).
[0165]
Next, the printer waits for a notification of a use protocol from the host device (step S702). The reason for waiting for notification of the protocol used after the printer is locked is to prevent the protocol register 502 from being rewritten by a request from another device during login.
[0166]
When the usage protocol is notified (step S703), the printer switches its protocol to the notified usage protocol (steps S704, S706, S708), and performs communication according to the protocol of the host device (step S705). , S707, S709).
[0167]
When the communication is completed, the printer confirms that the lock register 501 and the capability register 503 are cleared (step S710), and returns to a state of waiting for login (step S701).
[0168]
(Second Embodiment)
[0169]
FIG. 24 is a diagram showing the operation in the second embodiment. Compared with the first embodiment shown in FIG. 18, the device having the protocol D that does not implement the LOGIN protocol 7 is also shown in FIG. The corresponding point is a feature.
That is, in order to guarantee a printing operation not only for a device having the LOGIN protocol 7 but also for a device that supports only the existing protocol D (for example, AV / C protocol), the LOGIN protocol 7 is set on the printer side. A printer protocol corresponding to a device that does not have is added.
[0170]
To explain this operation, if the printer recognizes that the host device does not support the LOGIN protocol 7 by a print request made at the beginning of the connection, the printer attempts to communicate with the host device using the protocol D, When communication is established, the print task 10 is executed according to the protocol D.
[0171]
FIG. 25 is a diagram in which the second embodiment is compared with the OSI model. In Example 3 (Example 3), an AV device compliant with the current AV / C protocol in which the LOGIN protocol 7 is not implemented. 15 is a model. In Example 4 (Example 4), a scanner 16 that is mounted with a non-standard protocol for a scanner that is not mounted with the LOGIN protocol 7 is used as a model.
That is, even for a device having a protocol that does not implement the LOGIN protocol 7, if the printer can cope with the protocol that the device has, the types of devices that can use the printer can be expanded.
[0172]
In each of the above-described embodiments, the network is configured using the IEEE 1934 serial bus. However, the present invention is not limited to this, and for example, a serial interface called Universal Serial Bus (USB). The present invention can also be applied to a network configured using an arbitrary serial interface.
[0173]
In addition, as the host device in each of the above-described embodiments, for example, a computer, a digital camera, a scanner, a DVD, a set-top-box, a digital television, a conference camera, a digital video, and a multifunction device including these are used. Can do. On the other hand, as a target device, a monitor, a computer, an external storage device, a set-top-box, a printer, a multifunction peripheral including these, and the like can be used.
[0174]
Further, the present invention may be applied to a system composed of a plurality of devices as shown in FIG. 19, or may be applied to a data processing method in an apparatus composed of one device.
[0175]
Another object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the host and terminal of each of the above-described embodiments to a system or apparatus, and the computer (or CPU) of the system or apparatus. Needless to say, this can also be achieved by reading and executing the program code stored in the storage medium.
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the OS running on the computer based on the instruction of the program code is actually It goes without saying that a case where the function of the embodiment is realized by performing part or all of the processing and the processing is included.
Further, after the program code read from the storage medium is written to the memory provided in the extension function board inserted in the computer or the function extension unit connected to the computer, the function extension is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0176]
【The invention's effect】
As described above, according to the present invention, there is provided a highly scalable data communication apparatus and system in which a communication protocol for performing data communication between a host device and a target device is not limited by the target device. can do. In particular, since it is compatible with protocols of a plurality of types of devices (printers, etc.), the expandability is extremely high. Further, such an effect can be obtained in a data communication apparatus or system using a serial interface such as the IEEE 1394 standard. Furthermore, data (image data or the like) can be directly transferred from the host device to the target device without going through the host computer.
[0177]
In addition, according to the present invention, a plurality of data transport protocols that can be supported on the device side are confirmed in advance, and then it is determined which data transport is to be used. can do.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of a network system configured using an IEEE 1394 serial interface.
FIG. 2 is a diagram for explaining the configuration of an IEEE 1394 serial interface.
FIG. 3 is a diagram for explaining an address space in an IEEE 1394 serial interface.
FIG. 4 is a view for explaining a cross section of a cable for an IEEE 1394 serial interface.
FIG. 5 is a diagram for explaining a DS-Link system.
FIG. 6 is a flowchart for explaining a network construction procedure in the IEEE 1394 serial interface.
FIG. 7 is a flowchart for explaining a route determination method;
FIG. 8 is a flowchart for explaining a procedure from determination of a parent-child relationship to setting of all node IDs.
FIG. 9 is a diagram for explaining an example of a network.
FIG. 10 is a diagram for explaining bus arbitration;
FIG. 11 is a flowchart for explaining an arbitration procedure;
FIG. 12 is a diagram for explaining a temporal transition state in asynchronous transfer.
FIG. 13 is a diagram for explaining a packet format for asynchronous transfer.
FIG. 14 is a diagram for explaining a temporal transition state in isochronous transfer.
FIG. 15 is a diagram for explaining a packet format for isochronous transfer;
FIG. 16 is a diagram for explaining a temporal transition state of a transfer state on a bus when asynchronous transfer and isochronous transfer coexist.
FIG. 17 is a diagram for explaining a comparison between an IEEE 1394 serial interface and an OSI model.
FIG. 18 is a diagram for explaining a basic operation of the LOGIN protocol.
FIG. 19 is a diagram for explaining a connection form in the IEEE 1394 serial interface in the first embodiment;
FIG. 20 is a diagram for explaining the flow of a login operation.
FIG. 21 is a diagram for explaining a CSR included in a printer for the LOGIN protocol.
FIG. 22 is a flowchart for explaining LOGIN processing in the host device;
FIG. 23 is a flowchart for explaining LOGIN processing in the target device;
FIG. 24 is a diagram for explaining an operation in the second embodiment;
FIG. 25 is a diagram for explaining a comparison with an OSI model.
[Explanation of symbols]
1 Physical layer of OSI model
2 Data link layer
3 upper layers
4 Upper layers
5 Transport protocol layer
6 Presentation layer
7 LOGIN protocol
8 Serial bus protocol (SBP-2)
9 Device protocol

Claims (26)

第1及び第2のデバイスと、該デバイス毎に所定のアドレス空間を定義するシリアルバスとを含むデータ通信システムであって、
上記第1のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、対応可能な複数のデータトランスポートプロトコルを各々独立して示す情報を格納する第1のプロトコルケーパビリティ記憶手段を含み、
上記第2のデバイスは、上記第1のプロトコルケーパビリティ記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する第2の確認手段と、上記第1のプロトコルケーパビリティ記憶手段の内容に基づいてデータトランスポートプロトコルを決定する第2の決定手段とを含み、
上記第2の確認手段は、上記第2の決定手段での決定に先立って複数の対応可能なデータトランスポートプロトコルを確認することを特徴とするデータ通信システム。
A data communication system including first and second devices and a serial bus defining a predetermined address space for each device,
The first device includes a first protocol capability storage unit that stores information indicating each of a plurality of compatible data transport protocols that exist in an address space defined by the serial bus. ,
The second device includes second confirmation means for confirming the contents of the first protocol capability storage means by designating and reading the address space defined by the serial bus, and the first protocol capability. Second determining means for determining a data transport protocol based on the contents of the ability storage means,
The data communication system, wherein the second confirmation means confirms a plurality of compatible data transport protocols prior to determination by the second determination means.
上記第1のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、リソースの専有状態を示す情報を格納するロック記憶手段を更に含むことを特徴とする請求項1記載のデータ通信システム。2. The data communication system according to claim 1, wherein the first device further includes lock storage means for storing information indicating an exclusive state of a resource that exists in an address space defined by the serial bus. . 上記第1のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、リソースの専有状態を示す情報を格納するロック記憶手段を更に含み、
上記第2のデバイスは、上記ロック記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定するリード又はロックトランズアクションによって確認するロック内容確認手段と、上記ロック内容確認手段の確認結果によって上記第1のデバイスが専有されているかを判定する判定手段とを更に含むことを特徴とする請求項1記載のデータ通信システム。
The first device further includes lock storage means for storing information indicating an exclusive state of a resource that exists on an address space defined by the serial bus,
The second device includes a lock content confirmation unit that confirms the content of the lock storage unit by a read or lock transaction that specifies an address space defined by the serial bus, and a confirmation result of the lock content confirmation unit. 2. The data communication system according to claim 1, further comprising determination means for determining whether or not the first device is occupied.
上記データトランスポートプロトコルは、プリンタプロトコルを含むことを特徴とする請求項1記載のデータ通信システム。The data communication system according to claim 1, wherein the data transport protocol includes a printer protocol. 上記プリンタプロトコルは、プリントすべきデータを転送するためのプロトコルを含むことを特徴とする請求項4記載のデータ通信システム。5. The data communication system according to claim 4, wherein the printer protocol includes a protocol for transferring data to be printed. 上記第2のデバイスは、画像データを出力するデバイスを含むことを特徴とする請求項1記載のデータ通信システム。The data communication system according to claim 1, wherein the second device includes a device that outputs image data. 上記第2のデバイスは、コンピュータ、ディジタルカメラ、スキャナ、DVD、Set−top−Box、ディジタルテレビ、コンファレンスカメラ、ディジタルビデオ、及びこれらを含む複合機の少なくとも何れかを含むデバイスであることを特徴とする請求項6記載のデータ通信システム。The second device is a device including at least one of a computer, a digital camera, a scanner, a DVD, a set-top-box, a digital television, a conference camera, a digital video, and a multifunction machine including these. The data communication system according to claim 6. 上記第1のデバイスは、上記第2の決定手段で決定されたデータトランスポートプロトコルを格納するプロトコル記憶手段を更に含むことを特徴とする請求項1記載のデータ通信システム。2. The data communication system according to claim 1, wherein the first device further includes protocol storage means for storing the data transport protocol determined by the second determination means. 上記シリアルバスは、IEEE1394規格に適合又は準拠するバスを含むことを特徴とする請求項1記載のデータ通信システム。The data communication system according to claim 1, wherein the serial bus includes a bus that conforms to or conforms to the IEEE 1394 standard. 上記シリアルバスは、DS−link方式によってデータを変調し転送するバスを含むことを特徴とする請求項1記載のデータ通信システム。2. The data communication system according to claim 1, wherein the serial bus includes a bus for modulating and transferring data by a DS-link system. 上記第2の確認手段は、上記第1のプロトコルケーパビリティ記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定するリードトランズアクションによって確認することを特徴とする請求項1記載のデータ通信システム。2. The data communication according to claim 1, wherein the second confirmation means confirms the contents of the first protocol capability storage means by a read transaction designating an address space defined by the serial bus. system. 上記リードトランズアクションは、上記シリアルバスのトランスポートプロトコル層よりも下位の層にて実行されることを特徴とする請求項11記載のデータ通信システム。12. The data communication system according to claim 11, wherein the read transaction is executed in a layer lower than a transport protocol layer of the serial bus. 上記第1のデバイスは、画像データが入力されるデバイスを含むことを特徴とする請求項1記載のデータ通信システム。The data communication system according to claim 1, wherein the first device includes a device to which image data is input. 上記第1のデバイスは、モニタ、コンピュータ、外部記憶装置、Set−top−Box、プリンタ及びこれらを含む複合機の少なくとも何れかを含むデバイスであることを特徴とする請求項13記載のデータ通信システム。14. The data communication system according to claim 13, wherein the first device is a device including at least one of a monitor, a computer, an external storage device, a set-top-box, a printer, and a multifunction peripheral including these. . 上記第2のデバイスは、上記シリアルバスにより定義されたアドレス空間上に存在し、対応可能な複数のデータトランスポートプロトコルを各々独立して示す情報を格納する第2のプロトコルケーパビリティ記憶手段を更に含むことを特徴とする請求項1記載のデータ通信システム。The second device further includes second protocol capability storage means for storing information indicating each of a plurality of compatible data transport protocols that exist in an address space defined by the serial bus The data communication system according to claim 1, further comprising: 上記第1のデバイスは、上記プロトコルケーパビリティ記憶手段の内容を上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する第1の確認手段と、上記プロトコルケーパビリティ記憶手段の内容に基づいてデータトランスポートプロトコルを決定する第1の決定手段とを更に含み、
上記第1の確認手段は、上記第1の決定手段での決定に先立って複数の対応可能なデータトランスポートプロトコルを確認することを特徴とする請求項1記載のデータ通信システム。
The first device includes a first confirmation unit configured to confirm the contents of the protocol capability storage unit by designating and reading the address space defined by the serial bus, and the contents of the protocol capability storage unit. First determining means for determining a data transport protocol based thereon,
2. The data communication system according to claim 1, wherein said first confirmation means confirms a plurality of compatible data transport protocols prior to determination by said first determination means.
複数のデバイスと、該デバイス毎に所定のアドレス空間を定義するシリアルバスとを含むデータ通信システムを構成するための、上記複数のデバイスの少なくとも1つのデバイスであるデータ通信装置であって、
上記シリアルバスにより定義されたアドレス空間上に記憶された対応可能な複数のデータトランスポートプロトコルを各々独立して示す情報を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認手段と、
上記確認手段での確認結果に基づいてデータトランスポートプロトコルを決定する決定手段とを含み、
上記確認手段は、上記決定手段での決定に先立って複数の対応可能なデータトランスポートプロトコルを確認することを特徴とするデータ通信装置。
A data communication apparatus that is at least one of the plurality of devices for configuring a data communication system including a plurality of devices and a serial bus that defines a predetermined address space for each device,
Confirm by independently reading information indicating a plurality of compatible data transport protocols stored in the address space defined by the serial bus by designating the address space defined by the serial bus Confirmation means;
Determining means for determining a data transport protocol based on the confirmation result in the confirmation means,
The data communication apparatus characterized in that the confirmation means confirms a plurality of compatible data transport protocols prior to determination by the determination means.
請求項4〜16の何れか1項に記載のデータ通信システムを構成するための第1のデバイスであることを特徴とするデータ通信装置。A data communication apparatus, which is a first device for configuring the data communication system according to any one of claims 4 to 16. 請求項4〜16の何れか1項に記載のデータ通信システムを構成するための第2のデバイスであることを特徴とするデータ通信装置。A data communication apparatus, which is a second device for configuring the data communication system according to any one of claims 4 to 16. 第1のデバイスと第2のデバイス間のでデータ通信を、該デバイス毎に所定のアドレス空間を定義するシリアルバスを介して行うデータ通信方法であって、
対応可能なデータトランスポートプロトコルを示す情報が格納される、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタの記憶内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、
上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、
上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とするデータ通信方法。
A data communication method for performing data communication between a first device and a second device via a serial bus that defines a predetermined address space for each device,
Specify the address space defined by the serial bus for the stored contents of the protocol capability register that exists on the address space defined by the serial bus, where information indicating the data transport protocol that can be supported is stored. A confirmation step to confirm by reading,
Determining a data transport protocol based on the confirmation result in the confirmation step,
The data confirmation method according to claim 1, wherein the confirmation step includes a step of confirming a plurality of compatible data transport protocols prior to the determination by the determination step.
各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信方法であって、
対応可能なデータトランスポートプロトコルを示す情報を、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタから読み出すステップを含むことを特徴とするデータ通信方法。
A data communication method for devices connected to a serial bus that defines a predetermined address space for each device,
A data communication method comprising a step of reading information indicating a compatible data transport protocol from a protocol capability register existing in an address space defined by the serial bus.
各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信方法であって、
上記シリアルバスに接続された他のデバイスのプロトコルケーパビリティレジスタに格納された内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、
上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、
上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とするデータ通信方法。
A data communication method for devices connected to a serial bus that defines a predetermined address space for each device,
A confirmation step for confirming the content stored in the protocol capability register of another device connected to the serial bus by designating and reading the address space defined by the serial bus;
Determining a data transport protocol based on the confirmation result in the confirmation step,
The data confirmation method according to claim 1, wherein the confirmation step includes a step of confirming a plurality of compatible data transport protocols prior to the determination by the determination step.
第1のデバイスと、第2のデバイスと、該デバイス毎に所定のアドレス空間を定義するシリアルバスとを含むシステムでのデータ通信を実施するための処理ステップを、コンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
該処理ステップは、
対応可能なデータトランスポートプロトコルを示す情報が格納される、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタの記憶内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、
上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、
上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とする記憶媒体。
A program for causing a computer to execute processing steps for performing data communication in a system including a first device, a second device, and a serial bus that defines a predetermined address space for each device. A stored computer-readable storage medium,
The processing steps are:
Specify the address space defined by the serial bus for the stored contents of the protocol capability register that exists on the address space defined by the serial bus, where information indicating the data transport protocol that can be supported is stored. A confirmation step to confirm by reading,
Determining a data transport protocol based on the confirmation result in the confirmation step,
The storage step includes a step of confirming a plurality of compatible data transport protocols prior to determination by the determination step.
各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信を実施するための処理ステップを、コンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
該処理ステップは、
対応可能なデータトランスポートプロトコルを示す情報を、上記シリアルバスにより定義されたアドレス空間上に存在するプロトコルケーパビリティレジスタから読み出すステップを含むことを特徴とする記憶媒体。
A computer-readable storage medium storing a program for causing a computer to execute processing steps for performing data communication of devices connected to a serial bus that defines a predetermined address space for each device,
The processing steps are:
A storage medium comprising a step of reading information indicating a data transport protocol that can be supported from a protocol capability register existing in an address space defined by the serial bus.
各デバイス毎に所定のアドレス空間を定義するシリアルバスに接続されたデバイスのデータ通信を実施するための処理ステップを、コンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
該処理ステップは、
上記シリアルバスに接続された他のデバイスのプロトコルケーパビリティレジスタに格納された内容を、上記シリアルバスにより定義されたアドレス空間を指定して読み出すことによって確認する確認ステップと、
上記確認ステップでの確認結果に基づいてデータトランスポートプロトコルを決定する決定ステップとを含み、
上記確認ステップは、上記決定ステップによる決定に先立って、複数の対応可能なデータトランスポートプロトコルを確認するステップを含むことを特徴とする記憶媒体。
A computer-readable storage medium storing a program for causing a computer to execute processing steps for performing data communication of devices connected to a serial bus that defines a predetermined address space for each device,
The processing steps are:
A confirmation step for confirming the content stored in the protocol capability register of another device connected to the serial bus by designating and reading the address space defined by the serial bus;
Determining a data transport protocol based on the confirmation result in the confirmation step,
The storage step includes a step of confirming a plurality of compatible data transport protocols prior to determination by the determination step.
シリアルバスを用いてデータ通信を行うための処理ステップを、コンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
上記処理ステップは、請求項20〜22の何れか1項に記載のデータ通信方法の処理ステップを含むことを特徴とする記憶媒体。
A computer-readable storage medium storing a program for causing a computer to execute processing steps for performing data communication using a serial bus,
23. A storage medium comprising the processing steps of the data communication method according to any one of claims 20 to 22.
JP03341498A 1997-02-14 1998-02-16 Data communication method, apparatus, system, and storage medium Expired - Fee Related JP3630971B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03341498A JP3630971B2 (en) 1997-02-14 1998-02-16 Data communication method, apparatus, system, and storage medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3098297 1997-02-14
JP9-30982 1997-02-14
JP03341498A JP3630971B2 (en) 1997-02-14 1998-02-16 Data communication method, apparatus, system, and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004130400A Division JP3897773B2 (en) 1997-02-14 2004-04-26 Communication method and communication apparatus

Publications (2)

Publication Number Publication Date
JPH10290247A JPH10290247A (en) 1998-10-27
JP3630971B2 true JP3630971B2 (en) 2005-03-23

Family

ID=26369438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03341498A Expired - Fee Related JP3630971B2 (en) 1997-02-14 1998-02-16 Data communication method, apparatus, system, and storage medium

Country Status (1)

Country Link
JP (1) JP3630971B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3671738B2 (en) 1999-05-12 2005-07-13 松下電器産業株式会社 Transmission management method
JP3472498B2 (en) 1999-01-27 2003-12-02 シャープ株式会社 Data transfer device, data transfer method, and medium recording data transfer program
JP4481401B2 (en) * 1999-10-08 2010-06-16 富士通マイクロエレクトロニクス株式会社 Network control method and apparatus
JP2003198568A (en) 2001-10-16 2003-07-11 Sony Corp Transmitting/receiving apparatus, transmitting/receiving method and transmitting/receiving system
US20040049575A1 (en) 2001-10-30 2004-03-11 Tatsuya Ikeda Electronic device monitoring method, electronic device, computer, and program thereof
CN1758718B (en) * 2002-08-05 2010-09-08 佳能株式会社 Digital camera and printer
JP4092692B2 (en) 2003-06-06 2008-05-28 ソニー株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
WO2006022171A1 (en) * 2004-08-25 2006-03-02 Canon Kabushiki Kaisha Print system, image supply device, print device, and control method thereof
JP4356997B2 (en) 2005-03-15 2009-11-04 キヤノン株式会社 Communication apparatus and communication method thereof
JP4548171B2 (en) 2005-03-24 2010-09-22 ソニー株式会社 Piezoelectric resonance element and manufacturing method thereof
JP4706702B2 (en) * 2007-12-28 2011-06-22 ソニー株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP4482049B2 (en) * 2008-08-11 2010-06-16 富士通マイクロエレクトロニクス株式会社 Network control method and apparatus

Also Published As

Publication number Publication date
JPH10290247A (en) 1998-10-27

Similar Documents

Publication Publication Date Title
US6874082B2 (en) Data communication on a serial bus using a selected protocol based on an obtained device identifier
JP3884862B2 (en) Data transfer device, data transfer device control method, and storage medium
JP2001306428A (en) Network apparatus, network system, communication method, and recording medium
US7203787B2 (en) Information processing apparatus and method that utilizes stored information about a mountable device
JP3293779B2 (en) Signal processing device and control method thereof
JP2000358033A (en) Data communication system and data communication method
JP3630971B2 (en) Data communication method, apparatus, system, and storage medium
JP2001275066A (en) Image processor, and its method and storage medium
JP4463952B2 (en) Image processing system, digital camera, printing apparatus, control method thereof, and recording medium
JP3897773B2 (en) Communication method and communication apparatus
JP3774542B2 (en) Data processing method, data processing apparatus, printer, and storage medium
JP3495879B2 (en) Data processing method, data processing device, and computer-readable recording medium
JP2001075756A (en) Device and system for information processing and method thereof
JP3495878B2 (en) Data processing method, data processing device and printer
JP4058156B2 (en) Data processing method, data processing apparatus, printer, and storage medium
JP3943722B2 (en) Data transfer apparatus, data transfer system and method, image processing apparatus, and recording medium
JP3647328B2 (en) Image processing apparatus, control method therefor, and image processing system
JP2000196873A (en) Information processor, information processing system, method for them, and storage medium
JPH10228364A (en) Data transfer device, its controlling method and printing system
JP4463953B2 (en) Image processing system, digital camera and control method thereof
JPH11282641A (en) Electronic instrument, its controlling method and multi-function system
JPH11177589A (en) Data transfer device, data processing method therefor and computer readable storage medium stored with program
AU762552B2 (en) Data communication apparatus and method
JPH11284649A (en) Network system, and network management device and method
JPH11196099A (en) Method and system for data communication

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040802

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: 20041130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041215

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: 20081224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees