JP4428750B2 - データ通信システム - Google Patents
データ通信システム Download PDFInfo
- Publication number
- JP4428750B2 JP4428750B2 JP06705199A JP6705199A JP4428750B2 JP 4428750 B2 JP4428750 B2 JP 4428750B2 JP 06705199 A JP06705199 A JP 06705199A JP 6705199 A JP6705199 A JP 6705199A JP 4428750 B2 JP4428750 B2 JP 4428750B2
- Authority
- JP
- Japan
- Prior art keywords
- destination
- source
- data
- node
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、被送信データをディスティネーションに送信するソースと、当該ソースと当該ディスティネーションとの間の通信を管理するコントローラとを有するデータ通信システムに関する。
【0002】
【従来の技術】
従来、パーソナルコンピュータ(以下、PC)の周辺機器の中で、最も利用頻度が高かったのはハードディスクやプリンタであった。これらの周辺機器は、専用の入出力インタフェース或いはSCSI(small computer system interface)インタフェース等の汎用性のあるデジタルインタフェースによってPCと接続されていた。
【0003】
一方、近年、デジタルカメラ、デジタルビデオカメラ等のAV(Audio/Visual)機器もPCの周辺装置の1つとして注目を浴びている。これらのAV(Audio/Visual)機器も専用インタフェースを介してPCと接続されていた。
【0004】
従来の専用インタフェースやSCSIインタフェースでは、特に、AV機器の有する静止画像や動画像のような大容量のデータを扱う場合において、データ転送レートが低い、パラレル通信のため通信ケーブルが太い、接続できる周辺機器の数と種類が少ない、接続方式に制限がある、リアルタイムなデータ転送が行えない等の多くの問題があった。
【0005】
このような問題点を解決する次世代の高速、高性能デジタルインタフェースの一つとして、IEEE(The Institute of Electrical and Electronics Engineers,Inc.)1394−1995規格が知られている。
【0006】
IEEE1394−1995規格に準拠したデジタルインタフェース(以下、1394インタフェース)には、次のような特徴がある。
(1)データ転送速度が高速である。
(2)リアルタイムなデータ転送方式(即ち、Isochronous転送方式)とAsynchronous転送方式をサポートしている。
(3)自由度の高い接続構成(トポロジ)を構築できる。
(4)プラグ・アンド・プレイ機能と活線挿抜機能をサポートしている。
【0007】
【発明が解決しようとする課題】
しかしながら、IEEE1394−1995規格では、コネクタの物理的、電気的な構成、最も基本的な2つのデータ転送方式等については定義しているが、どのような種類のデータを、どのようなデータ・フォーマットで、どのような通信プロトコルに基づいて送受信するのかについては定義していなかった。
【0008】
又、IEEE1394−1995規格のIsochronous転送方式では、送出パケットに対する応答が規定されていないため、各Isochronousパケットが確実に受信されたかは保証されない。したがって、連続性のある複数のデータを確実に転送したい場合、或いは1つのファイルデータを複数のデータに分割して確実に転送したい場合、Isochronous転送方式を使用することはできなかった。
【0009】
又、IEEE1394−1995規格のIsochronous転送方式では、転送帯域に空きがある場合でも、通信の総数が64個に制限される。このため、少ない転送帯域で数多くの通信を行いたい場合、Isochronous転送方式を使用することはできなかった。
【0010】
又、IEEE1394−1995規格では、ノードの電源のON/OFF、ノードの接続/切り離し等に応じてバスリセットが生じた場合、データの転送を中断しなければならない。ところが、IEEE1394−1995規格では、バスリセットや伝送時のエラーによってデータ転送が中断した場合、どのような内容のデータを失ったのかについては知ることができなかった。更に、一度中断した転送を復帰するためには、非常に煩雑な通信手順を踏む必要があった。
【0011】
ここで、バスリセットとは、新たなトポロジの認識と各ノードに割り当てられるアドレス(ノードID)の設定とを自動的に行う機能である。この機能により、IEEE1394−1995規格では、プラグ・アンド・プレイ機能と活線挿抜機能とを提供することができる。
【0012】
又、IEEE1394−1995規格に準拠した通信システムにおいて、リアルタイム性は必要とされないが信頼性が要求される比較的データ量の多いオブジェクトデータ(例えば、静止画像データ、グラフィックスデータ、テキストデータ、ファイルデータ、プログラムデータ等)を、1以上のセグメントに分割し、各セグメント内のデータを連続的に転送するための通信プロトコルは具体的に提案されていなかった。
【0013】
又、このような通信システムでは、通常、バスリセットが発生した場合、セグメントの伝送を中断し、バスリセット動作の完了後にオブジェクトデータの転送を最初からやり直さなければならなかった。特に、ディスティネーションのバッファ容量が大きく、しかもセグメントの終わりの方でバスリセットが生じた場合は、再送のための時間が多くかかり、同じデータを無駄に再送してしまうという問題があった。
【0014】
また、このような再送データの無駄を減らすには、ディスティネーションのバッファサイズを小さく設定することで、まるまる廃棄するセグメントと再送データの量とを減らすことができるが、そのようにすると、セグメント単位にデータ通信を指示するコマンドと、それに対するレスポンスの通信が増え、その結果、バスのトラフィックが増加して効率も悪くなるという問題もあった。
【0015】
本発明は、このような問題を解決するためになされたものであり、中断されたセグメントの伝送を再開する際の再送データの無駄をなくすことができるとともに、バスのトラフィックの増加を抑制できるようにすることを目的とする。
【0016】
【課題を解決するための手段】
本発明に係るデータ通信システムは、被送信データをディスティネーションに送信するソースと、前記ソースと前記ディスティネーションとの間の通信を管理するコントローラとを有し、前記ソースは、前記被送信データを複数のセグメントに分割する機能と、前記セグメントを1つ以上の通信パケットにより前記ディスティネーションに送信する機能と、前記ソース、前記ディスティネーション及び前記コントローラの通信アドレスを再設定するための処理が生じた場合において、前記セグメントの送信を中断する機能とを有し、前記コントローラは、前記ソース、前記ディスティネーション及び前記コントローラの通信アドレスを再設定するための処理が生じた後において、前記ディスティネーションが有する受信バッファの一部を指定するためのオフセットアドレスを前記ディスティネーションに問い合わせる機能と、前記ソースに対して前記オフセットアドレスを通知する機能とを有し、前記ソースはさらに、前記オフセットアドレスに対応するデータから前記セグメントの送信を再開する機能を有することを特徴とする。
【0021】
【発明の実施の形態】
以下、本発明のデータ通信システム、データ通信方法、データ通信装置及び記憶媒体の一実施の形態を図面を参照して説明する。
図1は、本実施例の通信システムの構成について説明する図である。図1において、各機器は、IEEE1394−1995規格(以下、1394規格)に準拠したデジタルインタフェース105を具備している。
【0022】
図1の通信システムは、TV101、デジタルビデオテープレコーダ(以下、DVTR)102、プリンタ103、デジタルカムコーダ(以下、DVCR)104により構成されている。
【0023】
図1において、TV101、DVTR102、DVCR104は、制御部106、信号処理部107を具備し、プリンタ103は制御部106、画像処理部109を具備している。各機器は、1394規格に準拠した通信ケーブルを介して接続されている。
【0024】
ここで、通信ケーブルには、4ピンケーブルと6ピンケーブルの2種類がある。4ピンケーブルは、データの転送や調停信号の通信に用いられる2組のシールド付きのより対線により構成されている。6ピンケーブルは、2組のより対線と電源供給用のペア線からなる。2組のより対線を用いて伝送されるデータは、DS−Link方式により符号化されたデータである。
【0025】
次に、図2を用いて本実施例のデジタルインタフェース105の構成について詳細に説明する。
デジタルインタフェース105は、機能的に複数のレイヤ(階層)から構成されている。図2において、デジタルインタフェース105は、IEEE1394−1995規格に準拠した通信ケーブル201を介して他の機器のデジタルインタフェース105と接続される。又、デジタルインタフェース105は、1つ以上の通信ポート202を有し、各通信ポート202はハードウェア部に含まれるフィジカル・レイヤ203と接続される。
【0026】
図2において、ハードウェア部は、フィジカル・レイヤ203とリンク・レイヤ204とから構成されている。フィジカル・レイヤ203は、他のノードとの物理的、電気的なインタフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化/復号化、バス使用権の調停等を行う。又、リンク・レイヤ204は、通信パケットの生成、各種の通信パケットの送受信、サイクルタイマの制御等を行なう。又、リンク・レイヤ204は、後述する通信プロトコルにおいて規定するパケットの生成及び送受信の機能を提供する。
【0027】
又、図2において、ファームウェア部は、トランザクション・レイヤ205とシリアル・バス・マネージメント206とを含んでいる。トランザクション・レイヤ205は、Asynchronous転送方式を管理し、各種のトランザクション(リード、ライト、ロック)を提供する。
【0028】
又、トランザクション・レイヤ205は、後述する通信プロトコルにおいて規定するトランザクションを管理する機能を提供する。シリアル・バス・マネージメント206は、IEEE1212CSR規格に基づいて、自ノードの制御、自ノードの接続状態の管理、自ノードのID情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。又、シリアル・バス・マネージメント206は、後述する通信プロトコルに関する各種の処理動作を制御する機能を提供する。
【0029】
図2に示すハードウェア部及びファームウェア部が実質的に1394インタフェースを構成するものであり、それらの基本構成は、IEEE1394−1995規格により規定されている。
【0030】
又、ソフトウェア部に含まれるアプリケーション・レイヤ207は、使用するアプリケーションソフトによって異なり、どのようなオブジェクトデータをどのように転送するかを制御する。
【0031】
後述する本実施例の通信プロトコルは、デジタルインタフェース105を構成するハードウェア部及びファームウェア部の機能を拡張するものであり、ソフトウェア部に対して新規な転送手順を提供するものである。
【0032】
上述のデジタルインタフェース105では、電源投入時、新たな機器の接続や切り離し等の接続構成の変化に応じてバスリセットを自動的に行う。ここで、バスリセットとは、通信システムを構成する各機器(以下、ノード)が、今までの認識していた通信システムの接続構成と各機器の通信アドレス(以下、ノードID)とを初期化し、新たな接続構成の再認識と通信アドレスの再設定とを行うため処理である。
【0033】
以下、バスリセットの処理手順を簡単に説明する。この手順は、通信システムにおける階層的な接続構成の認識と各ノードに対する物理的な通信アドレスの付与からなる。
【0034】
接続構成の認識は、バスリセットの開始後、各ノードが親子関係を宣言し合うことによって実行される。各ノードは、各ノード間の親子関係を決定することにより、通信システムをツリー構造(階層構造)として認識する。尚、各ノード間の親子関係は、通信システムの接続状態や各ノードの機能に依存するため、バスリセット毎に同じ関係になることはない。
【0035】
例えば、図1の通信システムにおいて、デジタルインタフェース105では、まず、プリンタ103(以下、ノードD)とDVTR102(以下、ノードC)との間で親子関係を設定する。次に、DVCR104(以下、ノードB)とTV101(以下、ノードA)との間、及びノードCとノードAとの間で親子関係を設定する。
【0036】
最終的に全てのノードの親(或いは上位)と認識された機器がルート・ノードとなり、この通信システムのバス使用権の調停を管理する。図1の通信システムでは、ノードAがルート・ノードとなる。
【0037】
ルート・ノードの決定後、通信システムを構成する各ノードは、ノードIDの設定を自動的に開始する。ノードIDの設定は、基本的に親ノードがポート番号の若い通信ポートに接続された子ノードに対して物理アドレスの設定を許可し、更にその子ノードが自分の子ノードに対して順番に設定の許可を与えることによって実行される。自己のノードIDを設定したノードは、セルフIDパケットを送出し、自己に付与されたノードIDを他のノードに対して通知する。最終的に全ての子ノードのID設定が終了した後、親ノードは自己のノードIDを設定する。
【0038】
以上の処理を繰り返し実行することによって、ルート・ノードのノードIDが一番最後に設定される。尚、各ノードに割り当てられるノードIDは、各機器の親子関係に依存するため、バスリセット毎に同じノードIDが設定されることはない。
【0039】
次に、図1を用いてノードIDの自動設定処理を説明する。尚、以下の説明では、接続構成の認識後、ノードAがルート・ノードとなった場合について説明する。
【0040】
図1において、ルート・ノードであるノードAはまず、「ポート1」の通信ポートに接続されているノード、即ちノードBに対してノードIDの設定を許可する。
【0041】
ノードBは、自己のノードIDを「#0」に設定し、その結果をセルフIDパケットとして通信システムを構成する全てのノードに対してブロードキャストする。ここで、ブロードキャストとは、所定の情報を不特定多数のノードを宛先として送出することである。
【0042】
この結果、全てのノードは、「ノードID「#0」は割当済である」と認識し、次にノードIDの設定を許可されたノードは「#1」を設定する。
ノードBの設定後、ノードAは、「ポート2」の通信ポートに接続されているノード、即ちノードCに対してノードIDの設定を許可する。
【0043】
ノードCは更に、子ノードの接続されている通信ポートの内、最も若いポート番号の通信ポートから順に設定の許可を与える。つまり、ノードDに対して許可を与え、その許可を受けたノードDがノードID「#1」を設定した後、セルフIDパケットをブロードキャストする。
【0044】
ノードDの設定後、ノードCが自己のノードIDを「#3」に設定し、最後にルート・ノードであるノードAが自己のノードIDを「#4」に設定して接続構成の認識を終了する。
【0045】
このようなバスリセット処理により、各ノードのデジタルインタフェース105は、通信システムの接続構成の認識と各ノードの通信アドレスの設定とを自動的に行うことができる。そして各ノードは、この上述のノードIDを用いることにより各ノード間の通信を行なうことができる。
【0046】
次に、デジタルインタフェース105の具備するデータ転送方式について、図3を用いて説明する。
図3の通信システムは、データ転送方式としてIsochronous 転送モードとAsynchronous転送モードとを具備している。Isochronous 転送モードは、1通信サイクル期間(125 μs )毎に一定量のパケットの送受信を保証するため、ビデオデータや音声データのリアルタイムな転送に有効である。
【0047】
また、Asynchronous転送モードは、制御コマンドやファイルデータ等を必要に応じて非同期に送受信する転送モードであり、Isochronous 転送モードに比べて優先順位が低く設定されている。
【0048】
図3において、各通信サイクルの始めには、サイクル・スタート・パケット301と呼ばれる各ノードの計時するサイクル時間を調整するための通信パケットが送出される。
【0049】
サイクル・スタート・パケット301の転送後、所定の期間がIsochronous 転送モードに設定されている。Isochronous 転送モードでは、Isochronous 転送モードに基づいて転送されるデータの夫々に対してチャネル番号を付すことにより、複数のIsochronous 転送を実行することができる。
【0050】
例えば、図3において、DVCR104からIsochronous 転送されるデータ302にチャネル番号「ch0」、DVTR102からIsochronous 転送されるデータ303にチャネル番号「ch1」、TV101からIsochronous 転送されるデータ304にチャネル番号「ch2」が割り当てられている場合、各データは、1通信サイクル期間内において時分割にIsochronous 転送される。
【0051】
各Isochronous 転送が終了した後、次のサイクル・スタート・パケット301の転送される期間までがAsynchronous転送に使用される。例えば、図3では、Asynchronous転送に基づくデータ305がDVCR104からプリンタ103に転送される。
【0052】
図4は、Asynchronous転送モードを用いた本実施の形態の通信プロトコルの基本構成について説明するシーケンスチャートである。図4において、オブジェクトデータ、例えば静止画像を順次Asynchronous転送するノード、即ちソース402をDVCR104とする。また、ソース402からAsynchronous転送されたオブジェクトデータを受信するノード、即ちディスティネーション403をプリンタ103とする。更に、ソース402とディスティネーション403との間の通信を管理するノード、即ちコントローラ401をTV101とする。
【0053】
本実施の形態の通信プロトコルは、3つのフェーズからなっている。第1のフェーズ404は、コネクションフェーズで、コントローラ401は、ディスティネーション403の受信バッファサイズ、後述するディスティネーションオフセット、受信可能か否かを問い合わせ、ディスティネーション403を受信待機状態にセットする。また、コントローラ401は、ソース402からAsynchronous転送されるオブジェクトデータを選択して、ソース402を転送待機状態にセットする。
【0054】
第2のフェーズ405は、伝送フェーズで、コントローラ401は、ソース402とディスティネーション403とを制御し、オブジェクトデータを1つ以上のパケットにより順次Asynchronous転送する。
【0055】
第3のフェーズ406は、コネクションリリースフェーズで、コントローラ401は、ディスティネーション403の受信バッファを自己の管理下から解放し、同様にソース402の送信バッファを自己の管理下から解放する。
【0056】
図5は、ソース402からAsynchronous転送されるオブジェクトデータとディスティネーション403の受信バッファとの関係を説明する図である。
ソース402からAsynchronous転送されるオブジェクトデータ501は、コントローラ401から通知されたディスティネーション403の受信バッファサイズに等しい1つ以上のセグメント502に分割される。
【0057】
それぞれのセグメント502に含まれるデータは、1つ以上のAsynchronous転送モードに基づく通信パケット503(以下、Asynchronousパケット503)にパケッタイズされ、ソース402からディスティネーション403に順次転送される。
【0058】
ディスティネーション403は、ソース402からのAsynchronousパケット503を順次受信し、一時的に受信バッファ504に書き込む。1セグメント分のオブジェクトデータの転送が終了した後、ディスティネーション403は、受信バッファ504に格納された1セグメント分のデータを内部メモリ505に順次書き込む。
【0059】
次に、図6は用いて、ディスティネーション403を含む全てのノードの有する受信バッファ504について詳細に説明する。受信バッファ504は、IEEE1212CSR(Control and Status RegisterArchitecture)規格(又は、ISO/IEC13213:1994規格)に準拠した64ビットのアドレス空間により管理されている。IEEE1212CSR規格とは、シリアルバス向けの制御、管理、アドレス割り振りを規定した規格である。
【0060】
図6(a)は、64ビットのアドレスにより表される論理的なメモリ空間である。又、図6(b)は、図6(a)に示すアドレス空間の一部であり、例えば、上位16ビットがFFFF16となるアドレス空間である。受信バッファ504は、図6(b)に示すアドレス空間の一部を使用し、アドレスの下位48ビットを示すデスティネーション・オフセットにより指定される。このデスティネーション・オフセットは、各Asynchronousパケットのヘッダ部により指定される。
【0061】
図6(b)において、例えば、00000000000016〜0000000003FF16は予約された領域であり、実際にオブジェクトデータ501の書き込まれる領域は、アドレスの下位48ビットがFFFFF000040016以降となる領域である。
【0062】
(第1の実施の形態)
以下、本実施の形態の通信プロトコルを図面に基づいて詳細に説明する。
本発明のデータ伝送フェーズ405の流れを図8に示す。コネクションフェーズ404とコネクションリリースフェーズ406は図4と同様である。
【0063】
本実施の形態において、ソース402は、図5に示すように、1つのオブジェクトデータ(例えば、画像データ、音声データ、グラフィックスデータ、テキストデータ等)501を1つ以上のセグメント502に分割した後、各セグメント502を1つ以上のAsynchronousパケット503にてAsynchronous転送する。また、ディスティネーション403は、ソース402からAsynchronous転送された1つ以上のAsynchronousパケット503を受信バッファ504に書込み、1セグメント502毎に内部メモリ505に格納する。
【0064】
更にコントローラ401は、ディスティネーション403のバッファサイズの問合せ、ソース402から転送されるオブジェクトデータの選択、ソース402にて生成されるセグメントのサイズの指定等、ソース402とディスティネーション403との間の通信を管理する。
【0065】
また、本実施の形態の通信プロトコルは、図4に示すように、3つのフェーズ、即ち、コネクションフェーズ、伝送フェーズ、コネクションリリースフェーズから構成されている。
【0066】
ここで、本実施の形態におけるコネクションフェーズとコネクションリリースフェーズとは、図4に示す第1のフェーズ404、第3のフェーズ406と同様に実行することができる。従って、本実施の形態では、伝送フェーズについて詳細に説明する。
【0067】
図8は、本実施の形態の伝送フェーズについて詳細に説明するシーケンスチャートである。
図8において、コントローラ401は、ディスティネーション403に対して、いくつかの通信パケットでAsynchronous転送される1セグメントのデータを受信するように指示する(1204)。また、コントローラ401は、ソース402に対して、オブジェクトデータを1つ以上のセグメントに分割し、各セグメントをいくつかの通信パケットでAsynchronous転送するように指示する(1205)。
【0068】
ここで、コントローラ401からソース402に転送されるコマンドの構成を図8を用いて説明する。このコマンドは、例えば、ソース402に1セグメントの転送の開始を指示するコマンド(以下、転送開始コマンド)であり、Asynchronous転送モードにより転送される。
【0069】
図7において、最初のフィールド801には、転送の開始等を指示するコマンドデータが格納される。フィールド802には、送信するセグメントの順番を示すセグメントナンバーが格納される。フィールド803には、ディスティネーション403のノードIDが格納される。
【0070】
フィールド804には、ディスティネーション403の具備する受信バッファ504の先頭アドレスが格納される。フィールド805には、ディスティネーション403の具備する受信バッファのサイズ、つまり1セグメントのサイズ情報が格納される。フィールド806には、ディスティネーション403の受信可能な通信パケットの最大サイズ情報が格納される。フィールド807には、各種のステータス情報等が格納される。
【0071】
また、図7において、フィールド807の所定の領域には、再送識別ビットを格納する領域808が設定されている。ソース402は、この領域808を読み出すことによって、通常の転送処理を行うか、再送処理を行うかを判断する。例えば、コントローラ401が、ソース402に対して通常のセグメントの転送を指示する場合、この領域808には“0”が格納される。
【0072】
第1の実施の形態において、転送開始コマンドを受信したソース402は、フィールド804に格納された受信バッファ504の先頭アドレスの値を所定の内部レジスタに格納するように構成されている。ここで、内部レジスタは、各機器の具備するデジタルインタフェース105或いは各機器の動作を制御する制御部106(図1参照)に含まれている。
【0073】
図8において、コントローラ401からの指示後、ソース402は、1セグメント502を1つ以上のAsynchronousパケット503にパケッタイズし、各Asynchronousパケット503をディスティネーション403へ順次転送する(1206)。
【0074】
ここで、各Asynchronousパケット503には、ディスティネーション403の具備する受信バッファ504の所定の領域を指定するアドレス(ディスティネーションオフセットアドレス)が格納されている。例えば、あるセグメントの最初のAsynchronousパケット503には、コントローラ401により通知された受信バッファ504の先頭アドレスが格納されている。また、それ以降のAsynchronousパケットには、その受信バッファ504の所定の領域を順次指定するオフセットアドレスが格納される。
【0075】
あるセグメント502の転送中にバスリセット707が生じた場合、そのソース402はそのセグメントの転送を一時中断する。ディスティネーション403は、そのセグメントの受信を中断すると共に、バスリセットが発生する前に正常に受信された最後のAsynchronousパケットに含まれるオフセットアドレスを上述の内部レジスタに格納する。また、ディスティネーション403は、受信バッファ504に格納されたデータ(即ち、途中まで転送されたセグメント)を廃棄せず、そのまま保持する。
【0076】
バスリセットに伴う処理が終了した後、コントローラ401は、ソース402とディスティネーション403のノードIDが変化したか否かを調べる。そのコントローラ401は、ディスティネーション403に対して、正常に受信した最後のパケットのオフセットアドレスを問い合わせるとともに、受信動作の再開を指示する(1208)。これに対して、ディスティネーション403は、内部レジスタに格納しておいたオフセットアドレスをコントローラ401に知らせる(1209)。
【0077】
コントローラ401は、ディスティネーション403から知らされたオフセットアドレスをソース402に知らせるとともに、送信の再開を指示する(1210)。このときコントローラ401から送られるコマンドのステータスフィールド807内の再送識別ビット808は、セグメント伝送の再開を指示する“1”になっている。また、このコマンドフィールド804には、ディスティネーション403から知らされたバッファのオフセットアドレスが格納されている。
【0078】
ソース402は、セグメントの中から再送を開始するデータを選択する。これは、最初の送信コマンドを受け付けたときに内部レジスタに格納しておいたディスティネーション403の受信バッファの先頭アドレスと、再送コマンドのフィールド804内の値との差をとることで識別できる。
【0079】
例えば、図7の通信パケットの構成説明図に示すように、最初の送信コマンドを受け付けたときに内部レジスタに格納しておいたディスティネーション403の受信バッファの先頭アドレスの下位16bit が0E00h 、再送コマンドのフィールド804内のオフセットアドレスの下位16bit が0E04h であった場合は、ソース402は、バスリセットで伝送を中断したセグメントデータの5Byte目のデータ901から送信を再開する(1215)。
【0080】
そして、このセグメントの伝送が終了した後、通常通りソース402はコントローラ401から指示されたセグメントの送信完了をコントローラ401に報告する(1211)。また、ディスティネーション403は、そのセグメントの受信完了をコントローラ401に報告する(1212)。
【0081】
上述したセグメントの伝送が終了した後、コントローラ401は、次のセグメントの受信をディスティネーション403に指示するとともに(1213)、次のセグメントの送信をソース402に指示する(1214)。このとき、コマンドのフィールド804はディスティネーション403の持つバッファの先頭アドレスになっており、ステータスフィールド807内にある再送識別ビット808の値は、通常のセグメント伝送であることを示す“0”になっている。以上の処理を各セグメント毎に繰り返し行うことによって、1オブジェクトデータを効率よく、確実に転送することができる。
【0082】
このように、本実施形態のデータ通信システムは、バスリセットが発生した場合にも各セグメントの伝送をまるまる最初からやり直す必要がなく、再送データの無駄をなくすことができる。また、ディスティネーションのバッファサイズを小さくしなくても良いので、各セグメント以外の通信が多くなってしまうこともなく、バスのトラフィックの増加を抑制して伝送効率をあげることができる。
【0083】
なお、前記ソース402は、前述の内部レジスタに格納されたディスティネーション403の具備する受信バッファ504の先頭アドレスの値と、ディスティネーション403から通知されたオフセットアドレスの値とを比較し、その差をとることにより転送を開始すべきデータを識別している。
【0084】
例えば、図9に示すように、内部レジスタに格納されている受信バッファ504の先頭アドレスの下位16bit が「0E00h 」、前述のオフセットアドレスの下位16bit が「0E04h 」であった場合、ソース402は、バスリセットにより転送の中断されたセグメントの内、5Byte目のデータ901からAsynchronous転送を再開する。
【0085】
この1セグメントデータのAsynchronous転送が完了した後、ソースは、転送の完了をコントローラ401に報告する。また、ディスティネーション403も同様に、1セグメントデータの受信が完了したことをコントローラ401に報告する。
【0086】
(本発明の他の実施形態)
本発明は複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても1つの機器(例えば、複写機、ファクシミリ装置)からなる装置に適用しても良い。
【0087】
また、上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0088】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0089】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等の共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0090】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【0091】
【発明の効果】
本発明によれば、中断されたセグメントの伝送を再開する際の再送データの無駄をなくすことができるとともに、バスのトラフィックの増加を抑制することができる。
【図面の簡単な説明】
【図1】本実施の形態の通信システムの構成を示すブロック図である。
【図2】本実施の形態の1394インタフェースの構成を示す図である。
【図3】1394インタフェースの有する転送方式を説明する図である。
【図4】本実施の形態の通信プロトコルの基本手順を説明するシーケンスチャートである。
【図5】オブジェクトデータの転送モデルを説明する図である。
【図6】各ノードの有するアドレス空間を説明する図である。
【図7】コントローラからソースに転送される通信パケットの構成を示す図である。
【図8】本実施の形態の通信プロトコルを説明するシーケンスチャートである。
【図9】ソースの具備する内部アドレスを説明する図である。
【符号の説明】
101 TV
102 DVTR
103 プリンタ
104 DVCR
105 デジタルインタフェース
106 制御部
107 信号処理部
401 コントローラ
402 ソース
403 ディスティネーション
Claims (5)
- 被送信データをディスティネーションに送信するソースと、
前記ソースと前記ディスティネーションとの間の通信を管理するコントローラとを有し、
前記ソースは、
前記被送信データを複数のセグメントに分割する機能と、
前記セグメントを1つ以上の通信パケットにより前記ディスティネーションに送信する機能と、
前記ソース、前記ディスティネーション及び前記コントローラの通信アドレスを再設定するための処理が生じた場合において、前記セグメントの送信を中断する機能とを有し、
前記コントローラは、
前記ソース、前記ディスティネーション及び前記コントローラの通信アドレスを再設定するための処理が生じた後において、前記ディスティネーションが有する受信バッファの一部を指定するためのオフセットアドレスを前記ディスティネーションに問い合わせる機能と、
前記ソースに対して前記オフセットアドレスを通知する機能とを有し、
前記ソースはさらに、
前記オフセットアドレスに対応するデータから前記セグメントの送信を再開する機能を有することを特徴とするデータ通信システム。 - 前記ソース、前記ディスティネーション及び前記コントローラの通信アドレスを再設定するための処理は、IEEE1394−1995規格で規定されたバスリセットであり、
前記通信パケットは、IEEE1394−1995規格で規定されたアシンクロナス(Asynchronous)パケットであることを特徴とする請求項1に記載のデータ通信システム。 - 前記セグメントのサイズは、前記ディスティネーションが有する受信バッファのサイズに従って決定されることを特徴とする請求項1又は2に記載のデータ通信システム。
- 前記ソースはさらに、
前記セグメントの送信が完了した場合において、前記セグメントの送信が完了したことを前記コントローラに通知する機能を有することを特徴とする請求項1乃至3のいずれか1項に記載のデータ通信システム。 - 前記コントローラはさらに、
前記ソースが前記セグメントの送信が完了したことを前記コントローラに通知した後において、次のセグメントの送信を前記ソースに指示する機能を有することを特徴とする請求項4に記載のデータ通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06705199A JP4428750B2 (ja) | 1998-03-12 | 1999-03-12 | データ通信システム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-61708 | 1998-03-12 | ||
JP6170898 | 1998-03-12 | ||
JP06705199A JP4428750B2 (ja) | 1998-03-12 | 1999-03-12 | データ通信システム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000032005A JP2000032005A (ja) | 2000-01-28 |
JP2000032005A5 JP2000032005A5 (ja) | 2006-05-18 |
JP4428750B2 true JP4428750B2 (ja) | 2010-03-10 |
Family
ID=26402771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06705199A Expired - Fee Related JP4428750B2 (ja) | 1998-03-12 | 1999-03-12 | データ通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4428750B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3539287B2 (ja) | 1999-07-15 | 2004-07-07 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3598923B2 (ja) | 1999-12-20 | 2004-12-08 | セイコーエプソン株式会社 | データ転送制御装置、情報記憶媒体及び電子機器 |
JP4005348B2 (ja) | 2001-12-12 | 2007-11-07 | 富士通テン株式会社 | 無線端末 |
JP2008009803A (ja) * | 2006-06-30 | 2008-01-17 | Sony Corp | 情報記憶装置、および、情報転送方法、情報転送システム、プログラム、並びに、記録媒体 |
JP2011008824A (ja) * | 2010-09-29 | 2011-01-13 | Sony Corp | 情報記憶装置、情報転送方法、情報転送システム、情報処理装置、並びに、プログラム |
-
1999
- 1999-03-12 JP JP06705199A patent/JP4428750B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000032005A (ja) | 2000-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590133B2 (en) | Data communication system, data communication method, and data communication apparatus | |
US6412076B1 (en) | Signal processing apparatus and image sensing apparatus | |
US6895003B1 (en) | Communication system, apparatus, and method in which data transmission is interrupted for a bus reset | |
EP0939529B1 (en) | Destination node, data communication system, method of controlling a destination node and method of operating a data communication system | |
US7711877B2 (en) | Image sensing device | |
JP4181688B2 (ja) | データ通信システム及びデータ通信装置 | |
US7002964B1 (en) | Communication system, method for a communication system and controller for a communication system | |
KR100311707B1 (ko) | 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스 | |
JP4428750B2 (ja) | データ通信システム | |
JP4026979B2 (ja) | データ通信システム | |
EP1351459B1 (en) | Data transfer control device and electronic equipment | |
US20060017811A1 (en) | Communication system, electronic apparatus, control apparatus, and computer-readable storage medium | |
US7346714B2 (en) | Notification of completion of communication with a plurality of data storage areas | |
US6956864B1 (en) | Data transfer method, data transfer system, data transfer controller, and program recording medium | |
JP3774540B2 (ja) | データ転送方法及び画像処理システムと装置 | |
JP4046846B2 (ja) | データ通信システム及びデータ通信装置 | |
JP3814407B2 (ja) | データ通信システム、データ通信装置及びデータ通信方法 | |
JP3943722B2 (ja) | データ転送装置、データ転送システムおよびその方法、画像処理装置、並びに、記録媒体 | |
JP3943698B2 (ja) | データ通信システム及びデータ通信装置 | |
JP4143205B2 (ja) | データ通信システム | |
JP4065466B2 (ja) | データ通信システム | |
JPH11261608A (ja) | データ通信システム、データ通信装置、データ通信方法及び記憶媒体 | |
EP1228436A1 (en) | Device for storing audio/video data and non audio/video data | |
JPH11252137A (ja) | データ通信システム及びデータ通信装置ならびにデータ通信方法 | |
JP2003037596A (ja) | 通信装置及び通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060313 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060313 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070903 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071126 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080116 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
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: 20131225 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |