JP3922326B2 - 非同期データ通信方法 - Google Patents
非同期データ通信方法 Download PDFInfo
- Publication number
- JP3922326B2 JP3922326B2 JP18378398A JP18378398A JP3922326B2 JP 3922326 B2 JP3922326 B2 JP 3922326B2 JP 18378398 A JP18378398 A JP 18378398A JP 18378398 A JP18378398 A JP 18378398A JP 3922326 B2 JP3922326 B2 JP 3922326B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- handshake
- transmission data
- register
- 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
Landscapes
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
本発明は複数台の電子機器を連係するインターフェースバスにおける非同期方式のデータ通信方法に係り、特にIEEE1394バスのアシンクロナス転送に用いて好適なデータ通信方法に関する。
【0002】
【従来の技術】
複数台の電子機器どうしを互いに通信可能に接続するインターフェースとして、例えば、IEEE1394バスが知られている。このIEEE1394バスは活線抜去が可能で最大で63台の機器を主従関係なくデイジー・チェイン(縦列)又はツリー状に自由に接続・ノード分岐することができる。
【0003】
IEEE1394バスは、図10に示すようにアイソクロノス(Isochronous)転送モード(同期転送方式)と、アシンクロナス(Asynchronous)転送モード(非同期転送方式)との2つの転送モードを有しており、公称サイクル周期(=125μs)のうち、最大80%を上限としてアイソクロノス転送(Iso.転送)に割り当てることができ、残りをアシンクロナス転送(Async.転送)に利用することができる。
【0004】
アイソクロノス転送(Iso.転送)はアシンクロナス転送(Async.転送)よりも優先して行われ、125μs毎に発生するアイソクロノスサイクル毎に、予め最大データ量を決めて確保したアイソクロノスチャンネルに、確保したデータ量以内でデータを流すIso.転送が完了した後に、非同期によるAsync.転送が行われる。また、Iso.転送を使用しないという選択も可能であり、この場合、1サイクル全てを非同期のAsync.転送に用いることができる。IEEE1394の転送速度は、現在の規格では100Mbps 〜400Mbps であるが、将来的には更なる高速化も検討されている。
【0005】
【発明が解決しようとする課題】
しかしながら、上記IEEE1394では、バスに接続された各電子機器(ノード)からは、最短でも125μsに1度しか非同期転送パケットを出力できないため、データ量の小さなアシンクロナスパケットが多くなると、データ転送効率が悪くなるという欠点がある。
【0006】
かかる課題について、図11のように電子カメラとデジタルプリンタをIEEE1394バスを利用して接続した場合を例に具体的に説明する。ホスト側に相当するカメラ10は、プリント指示などの各種コマンド情報と、必要に応じてコマンドの詳細情報を示すパラメータ、及びプリントすべき実際の画像データ等をターゲット側のプリンタ12に転送する。一方、プリンタ12はカメラ10から送られてくるコマンドに対してその指示内容を履行できるか否かを示すステータス(Status)情報や自身の機器の状態等を示すパラメータ等をカメラ10側に返すことになる。
【0007】
図12は、カメラ−プリンタ間でやり取りされる通信の流れを示す概念図であり、図13は図12に対応するタイムチャートである。これらの図に示すように、カメラ10からコマンドパケット(図中「Command 」と記す。) が出され、これを受けたプリンタ12は認識(図中「Ack.」と記す。)を返答する。認識はコード化されており、完了(Good)、保留、ビジー、エラーなどが表現できる。一方、プリンタ12側は、受入したコマンドに応じたデータパケットを送出し、カメラ10側がこれを受けて認識(Ack.)を返信する。このようなデータパケットの送り出しと、これに対する認識(Ack.)の返信とが1サイクル(125μs)内に行われ、パケット単位のデータ転送がサイクル周期毎に繰り返される。このとき、プリンタ12は、ステータス情報のパケットと、ステータスに関連するパラメータ等のデータパケットとを別々のパケットとして送出している。
【0008】
一方、カメラ10は125μs毎にプリンタ12から送られてきたデータやステータスを、図13に示すように、メモリ13上のデータレジスタ14、及びステータスレジスタ15にそれぞれ格納し、プリンタ12はカメラ10から送られてきたコマンドやデータをメモリ16のコマンドレジスタ17、及びデータレジスタ18にそれぞれ格納する。
【0009】
仮に、IEEE1394バスでIso.転送を使わずに125μsの全てをAsync.転送に使うことにした場合、200Mbps 回線では1回のパケットで約1000バイトのデータを転送できる。1パケットでこれほどのデータ量を送ることができるにもかかわらず、実際にはステータスやコマンドなどのデータ量は1バイトから多くても256バイト程度であり、かかる小さなパケットを125μs毎に転送しなければならず、データ転送効率を悪化させる原因となっていた。
【0010】
本発明はこのような事情に鑑みてなされたもので、バケット単位でデータの転送を行う非同期方式のデータ通信において、バケット数を削減しながら必要な情報は不足なく送信して、効率的なデータ転送を可能にするデータ通信方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明は前記目的を達成する為に、電子機器間でパケット単位でデータの受け渡しを行う非同期方式のデータ通信方法において、送信すべき複数の通信データを連結して1つのパケットを形成し、2種類以上の通信データを1パケットとして転送するようにしたことを特徴としている。
【0012】
本発明によれば、通信データを連結し、複数の情報内容を1つのパケットとして送るようにしたので、従来、情報の内容毎に個別に1つのパケットで転送したいた方法に比べて、パケット数を削減することができる。従って、本発明を所定のサイクル周期毎にパケットの送出が行われるインターフェースに適用することにより、データの転送効率を一層高めることができる。
【0013】
例えば、通信によるステータス情報と、戻りデータと、を連結し、これらを1パケットで転送する態様が考えられる。また、受信側の電子機器に対して指示を与えるコマンド情報と、該コマンド情報に関連するパラメータデータと、を連結して1パケットを形成してもよいし、通信のハンドシェーク情報と、送信データとを連結して1つのパケットを形成してもよい。
【0014】
特に、本発明に係る非同期データ通信方法をIEEE1394インターフェースに適用すれば、IEEE1394バスにおけるアシンクロナス通信のデータ転送効率を向上させることができる。
【0015】
【発明の実施の形態】
以下添付図面に従って本発明に係る非同期データ通信方法の好ましい実施の形態について詳説する。
先ず、本発明に係る非同期データ通信方法の概念を従来の方法との比較において述べる。図1には、本発明に係る非同期データ通信方法をIEEE1394バスに適用した例が示され、IEEE1394バスを利用した電子カメラとデジタルプリンタから成るシステムにおける両者間のデータの受け渡し例が模式的に表されている。また、図2には図1に対応するタイムチャートが示されている。図1及び図2は、既述した従来の通信方法における図12及び図13にそれぞれ対応するものであり、両者を比較すると明らかなように、本実施の形態においては、ステータスとその関連データの転送形態が従来のものと相違する。
【0016】
図1及び図2に示したように、ホスト側に相当するカメラ10からコマンドパケットが出され、これを受けたプリンタ12は認識(Ack.)を返答する。次いで、プリンタ12は、カメラ10から受入したコマンドが求める情報に係るデータパケットを送出し、カメラ10側がこれを受けて認識(Ack.)を返信する。このようなデータパケットの送り出しと、これに対する認識(Ack.)の返信とが125μs毎に繰り返される。ここまでは図12及び図13で説明した従来の方法と同様である。
【0017】
しかしながら、本実施の形態に係るデータ通信方法は、ステータスと、このステータスに関連するパラメータデータ(例えば、エラーというステータスに対して、具体的にどういうエラーなのかを示す情報)とを連結し、これらを1つのパケットとして送出する点で、両者を別々のパケットで分けて送り出す従来の方法と異なる。
【0018】
ステータスのデータ量は数バイト程度と小さく、またステータス関連データも多くて256バイト程度であり、両者を連結しても1パケットで許容されるデータ量(1000バイト)以内である。したがって、これら2つの情報を組み合わせて1パケットで同時に送ることで従来の方法(図12、図13)に比べてパケット数を削減している。
【0019】
また、ステータスとその関連データとが連結されたパケットを受信するカメラ10は、図3に示すように、メモリ20上にステータスレジスタ22とデータレジスタ24とを有しており、1パケットで受入するステータスと、その関連データとを同時にそれぞれステータスレジスタ22及びデータレジスタ24に格納する。
【0020】
一方、プリンタ12は、メモリ30上にコマンドレジスタ32とデータレジスタ34とを有しており、カメラ10から受入したコマンド及びデータをそれぞれコマンドレジスタ32及びデータレジスタ24に格納する。なお、図には示されていないが、コマンドと、その詳細なパラメータとを連結して1パケットで送るという態様も可能であり、この場合には1パケットで受入するコマンドとそのパラメータとを、それぞれコマンドレジスタ32及びデータレジスタ34に同時に格納するように構成する。
【0021】
次に、図4を参照しながら、より具体的な例で説明する。
図4には、IEEE1394バスを利用した電子カメラとデジタルプリンタの間にSCSIコマンドを流す場合の通信シーケンスが示されている。バスリセットが完了した後、先ず、カメラ10からプリンタ12に対して、プリンタ12の準備の可否を問う準備確認要求コマンドを発行する。プリンタ12は受入したコマンドに呼応して認識(Ack.)を返す。例えば、準備が整っていれば「Good」を示す認識(Ack.)を返答する。
【0022】
次いで、次のサイクル周期(=125μs)でカメラ10からプリンタ12に対して、現在のプリンタ12の設定状況を読み込むことを要求するモードセンスコマンドを発行し、プリンタ12はこれに認識(Ack.)を返す。モードセンスコマンドを受入したプリンタ12は、次のサイクル周期でステータスと、モードセンス情報(戻りデータに相当)とを連結し、これらを1パケットとして送出する。なお、モードセンス情報には、現在設定されている画素数(前回の使用時に設定したもの)、用紙サイズ、印字開始の起点位置などの情報が含まれる。
【0023】
かかるパケットを受信したカメラ10は認識(Ack.)を返信した後、モードセンス情報のうち必要な情報のみを書き換えて、次のサイクル周期でモードセレクトコマンドとともに、そのモード選択データを1パケットでプリンタ12側に送信する。プリンタ12はこのパケットに対して認識(Ack.)を返し、カメラ10から受入したモードセレクトコマンドとその選択データに基づいて画素数、用紙サイズ等の設定を変更する。
【0024】
こうして、両者の環境が整えられた後、カメラ10側からプリントの実行を指示するプリントコマンドと、このコマンドに付随する関連パラメータ(例えば、プリント枚数や、データ数)とが1パケットでプリンタ側に送り出される。このパケットを受信したプリンタ12は認識(Ack.)を返す。
プリントコマンドを受信したプリンタ12は、プリントデータの受入待機状態となり、カメラ10側から出されるプリントデータ(画像データ)の受信を待つ。
【0025】
プリントデータはNブロックに区分けされ、各ブロック毎に順次プリンタ側に送り出される。プリンタは受入する1パケット毎に認識(Ack.)を返しながら、プリントデータをメモリ30上に格納していく。
全てのプリントデータの転送が完了したら、プリンタ12はプリント処理を実行する。そして、プリントを完了した時点でプリントの完了を示すステータスを発行する。カメラ10はこのプリント完了通知を受信したら認識(Ack.)を返す。
【0026】
上述した通信シーケンスにおいて従来の方法との主な相違点を改めて指摘すると、第1に、カメラ10から発行されたモードセンスコマンドに対するプリンタ12の応答に関して、ステータスとモードセンス情報とを連結して1つのパケットとして送り出している。第2に、カメラ10は、モードセレクトコマンドと、これに関連する選択情報とを連結して1つのパケットとしてプリンタ12側に送り出している。そして、第3に、カメラ10はプリントコマンドとこれに関連するパラメータとを連結して1つのパケットとしてプリンタ側に送り出している。
【0027】
このように、従来別々のパケットとして送られていたステータスとこれに付随するパラメータ、或いは、コマンドとこれに付随するパラメータを1つのパケットとして一緒に送信するようにしたので、従来の方法に比べてパケット数を削減することができる。したがって、一定のサイクル周期(=125μs)毎にのみパケットを出すことができるという規則を有するIEEE1394バスにおいて、転送効率を高めることができる。
【0028】
なお、コマンドとデータの組み合わせ形態は上述以外にも、ルックアップテーブル(LUT)のダウンロードコマンドと、これに対応するパラメータ(データ)という組み合わせ等も可能である。
また、上述の例では、ステータスとパラメータ、又はコマンドとパラメータのように2つのデータ項目を連結して1つのパケットとして送る場合を説明したが、連結するデータ項目は2つに限らず、3つ以上の複数項目を連結してもよい。
【0029】
次に、本発明の第2の実施の形態について説明する。
図5には、本発明の第2の実施の形態に係るデータ通信方法の概念図が示されている。送信側のバッファ38には、送信すべきデータ(送信データ)がnバイト毎に分割された状態で格納されている。この送信データを所定のパケットフォーマットに従って送り出す際に、2種類のパケットフォーマットが用意されている。
【0030】
第1のフォーマットは、符合41に示したように、パケットヘッダ44、ハンドシェークに必要な情報(ハンドシェーク情報)45、nバイト分の送信データ46、及びCRC(サイクリック・リダンダンシ・チェック)コード47等の伝送誤り制御コードから構成される。ハンドシェーク情報とは、この例では、送信データを送る際の最初のパケットと最後のパケットを示すフラグを意味する。
【0031】
また、第2のフォーマットは、符合52に示したように、パケットヘッダ54、nバイト分の送信データ56、及びCRCコード57等から構成される。
詳細な通信シーケンスについては後述するが、送信データを送るために複数トランザクション必要な場合に、最初のパケットと最後のパケットを第1のフォーマットに従って転送し、その他のパケットについては第2のフォーマットに従って転送する(図7参照)。
【0032】
一方、受信側のメモリ60にはハンドシェークレジスタ62とnバイト分のデータレジスタ64が設けられ、受入したハンドシェーク情報やデータは、これらレジスタ(62、64)に格納される。そして、データレジスタ64に格納されたデータはバッファ68に転送されるようになっている。
続いて、上記の如く構成された本発明の実施の形態に係るIEEE1394インターフェースのデータ通信シーケンスについて説明する。
【0033】
図6は、送信側の処理の流れを示すフローチャートである。送信処理が開始されると、先ず、ポインタ(pointer)をバッファ38における送信データの先頭番地に設定するとともに、ハンドシェークフラグ(HNDSHK)を1st pkt(最初のパケットであることを示すフラグ)に設定する(ステップS110)。
次いで、ポインタにパケット分割サイズnを加えた値と、バッファ38に於ける送信データの最終番地とを比較して、その大小関係を判別する(ステップS112)。ポインタが送信データの最終番地よりも小さいと判定した場合(No判定の場合)は、バッファ38内の全ての送信データを1トランザクションで転送しきれないことを意味しており、送信データを複数のパケットに分けて転送することになる。かかる場合、次のステップS114において、ハンドシェークフラグが1st pktに設定されているか否かを判別し、最初のパケットであるか、2番目以降のパケットであるかを判断する(ステップS114)。
【0034】
ここで最初のパケットであると判定した場合(Yes判定の場合)には、図5で説明した第1のフォーマット(符合41)に従ってパケットを以下に示す情報で埋める。即ち、書込アドレスとしてハンドシェークレジスタ62のアドレスを記述するとともに、データ領域にはハンドシェークフラグ(HNDSHK)及びポインタ(この場合、送信データ先頭番地)からnバイト分の送信データを記述する(ステップS116)。
【0035】
そして、設定されたパケットのライトトランザクションを発行する(ステップS120)。これにより、第1のフォーマットによる最初のパケットが送信される。その後、ポインタにパケット分割サイズnを加えた値を新たにポインタとして設定し(ステップS122)、処理はステップS112に戻る。
続いて、ステップS122で更新されたポインタに対して、パケット分割サイズnを加えた値と、送信データの最終番地とを比較する(ステップS112)。このとき、ポインタが送信データの最終番地よりも小さければ、次のステップS114において、ハンドシェークフラグが1st pktに設定されているか否かを判断する。ハンドシェークフラグは既述のとおりステップS110において、最初のパケット(第1のフォーマットのパケット)を形成する時に限りHNDSHK=1st pktに設定されており、ステップS116及びステップS120を経て、既に最初のパケットを転送した後(2番目以降のパケット)においては、ハンドシェークフラグはHNDSHK=1st pktに設定されない。従って、2番目以降のパケットを転送する時に、当該ステップS114に達した場合には、ここでの判定はNoとなる。
【0036】
ステップS114において、2番目以降のパケットであると判定した場合には、処理はステップS118に進み、図5で説明した第2のフォーマット(符合52)に従ってパケットを以下に示す情報で埋める。即ち、書込アドレスとしてデータレジスタ64のアドレスを記述するとともに、データ領域にポインタからnバイトの送信データ(次のnバイト区分の送信データ)を記述してパケットを形成する(ステップS118)。そして、このパケットのライトトランザクションを発行する(ステップS120)。こうして、第2のフォーマットによるパケットが送信され、処理はステップS122を経て、ステップS112に戻る。ステップS112においてポインタが送信データの最終番地よりも小さいと判定している間は、上述のステップS112〜S122の処理が繰り返される。
【0037】
他方、ステップS112において、ポインタが送信データの最終番地よりも大きいと判定した場合(Yes判定の場合)には、次に、ハンドシェークフラグが1st pktに設定されているか否かを判別する(ステップS124)。最初のパケットを転送する時にこのステップS124に達した場合に限り、ここでの判定がYesとなり、2番目以降のパケット転送時に当該ステップS124に達した場合には、ここでの判定はNoとなる。
【0038】
ステップS124でNo判定の場合は、ハンドシェークフラグをHNDSHK=Last pktに設定し(ステップS126)、第1のフォーマットに従ってパケットを以下の情報で埋める。即ち、書込アドレスとしてハンドシェークレジスタ62のアドレスを記述するとともに、データ領域にはハンドシェークフラグ(HNDSHK)及びポインタからnバイト分の送信データを記述したパケットを形成する(ステップS130)。
【0039】
そして、設定されたパケットのライトトランザクションを発行する(ステップS132)。これにより、第1のフォーマットによる最後のパケットが送信され、送信処理が完了する。
他方、ステップS124においてYes判定の場合は、データを送るのに1トランザクションで完了する場合を意味しており、かかる場合にはハンドシェークフラグをHNDSHK=1st pkt +Last pktに設定して(ステップS128)、ステップS130に進む。そして、第1のフォーマットに従って書込アドレスとしてハンドシェークレジスタ62のアドレスを記述し、データ欄にはポインタからnバイト分の送信データ(この場合、送信データ先頭番地からnバイト分)を記述したパケットを形成し(ステップS130)、第1フォーマットによるパケット転送を行う(ステップS132)。
【0040】
図7及び図8には、上述した送信処理のタイムチャートが示され、図7はデータを送るのに複数のトランザクションが必要な場合の例、図8はデータを送るのに1トランザクションで済む場合の例である。これらの図に示したように、複数トランザックション必要な場合には、最初のパケットと最後のパケットについて第1のフォーマットによってハンドシェークデータと送信データとを連結したパケットを形成し、これを1パケットとして転送する。また、データを送るのに1トランザクションで完了する場合についても、ハンドシェークデータと送信データを連結したパケットを形成し、これを1パケットとして転送する。
【0041】
図9は、受信側の処理の流れを示すフローチャートである。同図に示した受信割込処理は、IEEE1394バスのトランザクション受信割り込みによって起動し、先ず、ハンドシェークレジスタ62への書き込みであるか否かを判断する(ステップS160)。ハンドシェークレジスタ62への書き込みが行われた場合には、ハンドシェークレジスタ62に最初のパケットであることを示すフラグ(1st pkt )が書き込まれたか否かを判断する(ステップS162)。
【0042】
ここで最初のパケットであると判定した時には、ポインタをバッファ68の先頭番地に設定し(ステップS164)、ハンドシェークデータと連結して送られてきたnバイト分のデータの中身(データレジスタ64に一時格納したデータ)をポインタの示すアドレス(この場合、バッファ68の先頭番地)に転送する(ステップS166)。
【0043】
その後、ハンドシェークレジスタ62に最後のパケットであることを示すフラグ(Last pkt)が書き込まれているか否かを確認する(ステップS168)。送信側から図8に示したような1トランザクション完了型のパケットが送出された場合には、ハンドシェークデータとして最初のパケットであると同時に最後のパケットであることを示すフラグ(HNDSHK=1st pkt +Last pkt)が含まれているので、かかる場合はステップS168の判断がYesとなって、データ受信は完了する。
【0044】
他方、送信側から図7に示したような複数トランザクション型の最初のパケットが送出された場合には、ステップS168の判断はNoとなって処理は割込み待ちに移行する。
次に、2番目以降のパケットの受信割り込みが開始されると、再びステップS160でハンドシェークレジスタ62への書き込みの有無を判別する。複数トランザクション型の転送において、第2フォーマットによるパケット転送の場合は、ハンドシェークレジスタ62への書き込みがないので、かかる場合ステップS160の判定はNoとなり、処理はステップS172へ進む。ステップS172では、データレジスタ64への書き込みの有無を判別し、データレジスタ64への書き込みが無ければ、所定の取り決めに従ってデータ受信以外の他の処理を実行する(ステップS174)。
【0045】
一方、ステップS172においてデータレジスタ64への書き込みが有る場合は、現在設定されているポインタ(第2番目のパケットの場合にはバッファ68の先頭番地)にパケット分割サイズnを加え、その値を新たなポインタとして設定するとともに(ステップS176)、データレジスタ64に一時格納したnバイト分のデータの中身をポインタの示すアドレスに転送する(ステップS180)。その後、割り込み待機となる。
【0046】
図7に示した第2のフォーマットによるパケットを転送する期間中、上述のステップS160、S172〜S180の処理が繰り返される。
やがて、最後のパケット(第1のフォーマットによるパケット)の処理になると、ハンドシェークレジスタ62への書き込みが行われるので、ステップS160の判別においてYes判定となり、処理はステップS162へ進む。複数トランザクション型における最後のパケットの場合、ハンドシェークレジスタ62には最後のパケットであることを示すフラグ(HNDSHK=Last pkt)が書き込まれているので、ステップS162の判別においては、No判定となり、処理はステップS182へ移行する。
【0047】
即ち、最後のパケットであることを示すフラグの確認を行った後(ステップS182)、現在設定されているポインタにパケット分割サイズnを加えた値を新たなポインタとして設定する(ステップS184)。次いで、ハンドシェークデータと連結して送られたnバイト分のデータの中身(データレジスタ64に一時格納したデータ)をポインタの示すアドレスに転送し(ステップS186)、データ受信は完了する。
【0048】
本実施の形態によれば、送信データとハンドシェークのためのデータとを1つのパケットとして送るようにしたので、これらのデータを別々のパケットとして送る従来の方法にくらべて、通信効率を向上させることができる。
上記実施の形態では、IEEE1394アシンクロナス通信方式を例に説明したが、本発明は他の形式の非同期データ通信にも適用することができる。
【0049】
【発明の効果】
以上説明したように本発明に係る非同期データ通信方法によれば、送信すべきデータを連結し、複数の情報内容を1つのパケットとして送るようにしたので、通信データ毎に1つのパケットで転送していた従来の方法に比べて、パケット数を削減することができ、データの転送効率を高めることができる。
【0050】
特に、本発明をIEEE1394インターフェースへ適用すれば、IEEE1394バスにおけるアシンクロナス転送のデータ転送効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るIEEE1394バスのアシンクロナス転送におけるデータの受け渡し例を示す概念図
【図2】図1に示したデータ転送に対応するタイムチャート
【図3】図1に示したカメラ及びプリンタのメモリマップを示す概念図
【図4】IEEE1394バスを利用した電子カメラとデジタルプリンタの間にSCSIコマンドを流す場合の通信シーケンスを示す説明図
【図5】本発明の第2の実施の形態に係るデータ通信方法を説明する為の概念図
【図6】本発明の第2の実施の形態における送信処理の流れを示すフローチャート
【図7】データを送るのに複数のトランザクションが必要な場合のタイムチャート
【図8】データを送るのに1トランザクションで完了する場合のタイムチャート
【図9】本発明の第2の実施の形態における受信割込処理の流れを示すフローチャート
【図10】IEEE1394バスのデータ転送方式を示す説明図
【図11】電子カメラとデジタルプリンタをIEEE1394バスを利用して接続したシステムを示すブロック図
【図12】従来のIEEE1394バスのアシンクロナス転送におけるデータの受け渡し例を示す概念図
【図13】図12に示したデータ転送に対応するタイムチャート
【図14】従来のシステムにおけるカメラ及びプリンタのメモリマップを示す概念図
【符号の説明】
10…カメラ
12…プリンタ
22…ステータスレジスタ
24…データレジスタ
32…コマンドレジスタ
34、64…データレジスタ
45…ハンドシェーク情報
46、56…送信データ
38、68…バッファ
62…ハンドシェークレジスタ
Claims (4)
- 電子機器間でパケット単位でデータの受け渡しを行う非同期方式のデータ通信方法において、
送信側において、
送信データを1つのパケットとして転送する場合には、通信のハンドシェーク情報と、該送信データとを連結して1つのパケットを形成し、該ハンドシェーク情報及び送信データを1パケットとして転送し、
送信データを複数のパケットに分けて転送する場合には、該送信データを所定のパケット分割サイズごとに分割し、
前記送信データを分割した最初の送信データを、最初のパケットであることを示すハンドシェーク情報と連結して最初のパケットを形成し、
前記最初のパケットを1パケットとして転送し、
前記送信データを分割した2番目以降の送信データを個別に含むパケットを形成し、
各パケットを1パケットとして転送し、
前記送信データを分割した最後の送信データを、最後のパケットであることを示すハンドシェーク情報と連結して最後のパケットを形成し、
前記最後のパケットを1パケットとして転送し、
受信側において、
前記送信側から転送されたパケットを受信し、
前記受信したパケット中のハンドシェーク情報をハンドシェークレジスタに書き込むとともに、前記受信したパケット中の送信データをデータレジスタに書き込み、
前記ハンドシェークレジスタに書き込みがあった場合に、前記ハンドシェークレジスタに書き込まれたハンドシェーク情報に基づいて、前記受信したパケットが最初のパケットであるかどうか判定し、
前記受信したパケットが最初のパケットであると判定した時には、該最初のパケット中の送信データをデータレジスタからバッファに転送するとともに、その後に受信したパケット中の送信データをバッファに順次転送し、
前記ハンドシェークレジスタに書き込みがあった場合に、前記ハンドシェークレジスタに書き込まれたハンドシェーク情報に基づいて、前記受信したパケットが最後のパケットであると判定した時には、該ハンドシェーク情報と連結して送られてきた送信データのバッファへの転送を終了することを特徴とする非同期データ通信方法。 - 通信によるステータス情報と、戻りデータと、を連結して1つのパケットを形成し、ステータス情報及び戻りデータを1パケットで転送することを特徴とする請求項1記載の非同期データ通信方法。
- 受信側の機器に対して指示を与えるコマンド情報と、該コマンド情報に関連するパラメータデータと、を連結して1つのパケットを形成し、コマンド情報及びパラメータデータを1パケットで転送することを特徴とする請求項1記載の非同期データ通信方法。
- IEEE1394バスにおけるアシンクロナス転送に適用されることを特徴とする請求項1から3の何れかに記載の非同期データ通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18378398A JP3922326B2 (ja) | 1998-06-30 | 1998-06-30 | 非同期データ通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18378398A JP3922326B2 (ja) | 1998-06-30 | 1998-06-30 | 非同期データ通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000022743A JP2000022743A (ja) | 2000-01-21 |
JP3922326B2 true JP3922326B2 (ja) | 2007-05-30 |
Family
ID=16141870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18378398A Expired - Fee Related JP3922326B2 (ja) | 1998-06-30 | 1998-06-30 | 非同期データ通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3922326B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5320817B2 (ja) * | 2008-05-23 | 2013-10-23 | 富士通セミコンダクター株式会社 | データ送信方法及び送信装置 |
JPWO2011048741A1 (ja) * | 2009-10-20 | 2013-03-07 | 日本電気株式会社 | マルチバンドコンプレッサ |
JP5673172B2 (ja) * | 2011-02-09 | 2015-02-18 | ソニー株式会社 | 電子機器、電子機器における立体画像情報送信方法、および電子機器における立体画像情報受信方法 |
-
1998
- 1998-06-30 JP JP18378398A patent/JP3922326B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000022743A (ja) | 2000-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0950958B1 (en) | Peripheral device and control method for the same | |
EP1198105A2 (en) | High speed transmission line interface | |
US6717694B1 (en) | Data transmission apparatus, system and method, and recording medium | |
EP1049019B1 (en) | Data transfer controller and electronic device | |
US6388989B1 (en) | Method and apparatus for preventing memory overrun in a data transmission system | |
EP1033657B1 (en) | Packet communication apparatus provided with manager means for managing packet labels | |
JP3922326B2 (ja) | 非同期データ通信方法 | |
US6496487B2 (en) | Efficient full duplex simultaneous message transfer | |
KR20030019093A (ko) | 패킷 제어 시스템 및 통신 방법 | |
US4954965A (en) | Enhanced frame utilization for CSMA/CD communication protocol | |
EP0336547A2 (en) | Computer network and method for operating it | |
US20050041606A1 (en) | Data communication apparatus, data communication method, data communication program and recording medium in which data communication program was recorded | |
CA1278363C (en) | High speed trunk interface with concurrent protocol handlers | |
US6834316B1 (en) | Data transfer controller and electronic device | |
EP1005199B1 (en) | Method of data transmission, system for data transmission, control device for data transmission, and program recording medium | |
EP2005665B1 (en) | Method and device for data packet assembly | |
EP1525722B1 (en) | Packet signal processing architecture | |
JP4655868B2 (ja) | 第1データ受信送信装置および受信装置並びに第2データ受信送信装置、データ受信送信システムおよびデータ受信送信方法 | |
JPH1117710A (ja) | シリアルインタフェース回路 | |
EP1463263B1 (en) | Data communication frame generating method | |
EP0569512A4 (en) | Packet transmission system and method utilizing both a data bus and dedicated control lines | |
JP3388806B2 (ja) | シリアルインタフェイス制御を用いるプリンタ装置 | |
EP3591535B1 (en) | Addressing mechanism | |
US20220374376A1 (en) | Memory mapping of legacy i/f protocols over tdd | |
JP4163266B2 (ja) | プリンタおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060822 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20061128 |
|
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: 20070131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070213 |
|
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: 20100302 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110302 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |