JP3977051B2 - 通信装置及び制御方法 - Google Patents

通信装置及び制御方法 Download PDF

Info

Publication number
JP3977051B2
JP3977051B2 JP2001330947A JP2001330947A JP3977051B2 JP 3977051 B2 JP3977051 B2 JP 3977051B2 JP 2001330947 A JP2001330947 A JP 2001330947A JP 2001330947 A JP2001330947 A JP 2001330947A JP 3977051 B2 JP3977051 B2 JP 3977051B2
Authority
JP
Japan
Prior art keywords
connection
field
data transmission
consumer
data
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
JP2001330947A
Other languages
English (en)
Other versions
JP2003134122A5 (ja
JP2003134122A (ja
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 JP2001330947A priority Critical patent/JP3977051B2/ja
Publication of JP2003134122A publication Critical patent/JP2003134122A/ja
Publication of JP2003134122A5 publication Critical patent/JP2003134122A5/ja
Application granted granted Critical
Publication of JP3977051B2 publication Critical patent/JP3977051B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、Asynchronous Write トランザクションを用いたデータ伝送を行う通信装置及びこのような通信装置を制御する制御方法に関する。
【0002】
【従来の技術】
デジタルカメラやデジタルビデオカメラといった記録再生装置は、パーソナルコンピュータ(以下PCとする)への入力手段として活用されている。デジタルカメラやデジタルビデオカメラで撮影した静止画や動画などの情報をPCへ取り込み、ハードディスクに記録したり、またはPCで編集した後にプリンタでカラープリントするといった分野の技術が進んでおり、ユーザーも増えている。
【0003】
このように、ビデオデータやオーディオデータなどのリアルタイムでかつ大容量のデータ伝送をサポートする必要があり、高速データ伝送可能なインタフェースが必要であるという観点から開発されたインタフェースがIEEE1394−1995で規格化された高速シリアルバス(以下1394シリアルバス)である。
【0004】
1394シリアルバスの伝送では、リアルタイム性を要する動画像データや音声データを伝送するための同期伝送モード(Isochronous伝送、以下Isoch伝送と呼ぶ)と、機器制御や機器の状態を問い合わせるための各種コマンドデータを伝送するための非同期伝送モード(Asynchronous伝送、以下Async伝送と呼ぶ)が混在して存在する
【0005】
図7にAsync伝送のパケットフォーマットを示す。1394シリアルバスにおけるパケットは4byte(32bits、以下クアッドレットと称する)を単位とするデータパケットである。
【0006】
Asyncパケットにおいて、最初の16bitsはdestination_IDフィールドであり、受信先のノードIDを示す。次の6bitsのフィールドは、トランザクション・ラベル(tl)フィールドであり、各伝送(トランザクション)固有のタグである。次の2bitsのフィールドは、リトライ(rt)コードであり、パケットがリトライを試みるかどうかを指定する。
【0007】
次の4bitsのフィールドは、トランザクションコード(tcode)である。tcodeは、パケットのフォーマットや、実行しなければならない伝送のタイプを指定する。例えば、この値が0001(2進数)である場合、Asynchronous Write トランザクション用のパケットであることを示す。
【0008】
次の4bitsのフィールドは、プライオリティ(pri)フィールドであり、優先順位を指定する。次の16bitsはsource_IDフィールドであり、送信元のノードIDを示す。次の48bitsはdestination_offsetフィールドであり、パケット受信先ノードの目的アドレスの下位48bitsがこのフィールドによって指定される。
【0009】
次の16bitsはdata_lengthフィールドであり、後述するデータフィールドの長さを、バイト単位で示している。次の16bitsはextended_tcodeフィールドである。次の32bitsはheader_CRCフィールドであり、上述したdestination_IDフィールドからextended_tcodeフィールドまでを、パケットヘッダと称し、ヘッダパケットのエラー検出に用いられる。
【0010】
次のフィールドは可変長のデータフィールドであり、このデータフィールドをパケットのペイロードと称する。このフィールドにセットするペイロードのサイズがクアッドレットの倍数でない場合、クアッドレットに満たないビットには0が詰められる。
【0011】
次の32bitsのフィールドはdata_CRCフィールドであり、上記のheader_CRCフィールドと同様に、データフィールドのエラー検出に用いられる。
【0012】
現在、デジタルVTR、デジタルTV、セットトップボックス、MDなどのAV機器や、PC等を1394シリアルバスを用いて相互に接続し、それらの機器間で静止画データ、番組情報等を送受信するための通信規格が提案されている(以下、Asynchronous Connectionsと記す)。
【0013】
図4に示すように、このシステムはデータの送信側であるproducerノード(以下producer)402、受信側であるconsumerノード(以下consumer)403、producerとconsumerのコネクションを管理するcontrollerノード(以下Controller)401によって構成される。
【0014】
このController401からの制御によって、producerノード402からconsumerノード403に向けてAsync伝送が行なわれる。
【0015】
Controllerとproducer,consumerとの通信にはAsynchronous Writeトランザクションが用いられる。この通信には前記図7に示したパケットが用いられ、ペイロードには例えば図8に示すフォーマットのデータがセットされる。図8に示すデータのフォーマットは、AV機器の制御コマンドに使用されており、FCP(Function Control Protocol)フレームと呼ばれる.AV機器には各機種毎にCTS(Command Transaction Set)と呼ばれるコマンドセットが用意されており、FCPフレームに該当データをセットして、Asynchronous Write トランザクションを用いてコマンドの送信及び、そのコマンドに対するレスポンスを送信する。コマンド送信用のFCPフレームはコマンドフレーム、レスポンス送信用のFCPフレームはレスポンスフレームと呼ばれる。コマンドフレーム、レスポンスフレームの送信先オフセットアドレスは固定アドレスが割り当てられており、コマンドフレームのオフセットアドレスはFFFF F000 0B00 (16進)、レスポンスフレームのオフセットアドレスはFFFF F0000D00(16進)であり、図5のdestination_offsetフィールドにそれぞれの値がセットされる.コマンドフレームが書き込まれるアドレス領域はコマンドレジスタ、レスポンスフレームが書き込まれるアドレス領域はレスポンスレジスタと呼ばれる。
【0016】
以上の各レジスタにAsynchronous Write トランザクションを用いて各データを書き込むことでコマンドの送受信を行い、Async Connectionを行いAsync伝送を実行する。
【0017】
【発明が解決しようとする課題】
IEEE1394で規定されたシリアルバスでの伝送では、図21で示されるように、複数個のノードがツリー状のリンクを構成することがある。
【0018】
このとき例えば、ノード2からノード3へAsync伝送が行なわれる場合、これらの機器の使用者は、この伝送の状態をはじめとして、このネットワーク全体の機器の状態を把握することは極めて困難である。
【0019】
そこで、本発明は、Asynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが設定されたか否か、Asynchronous Write トランザクションを用いたデータ伝送が行われているか否か、Asynchronous Write トランザクションを用いたデータ伝送が中断されたか否かAsynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが解除されたか否かのうち、少なくとも Asynchronous Write トランザクションを用いたデータ伝送が中断されたか否かを使用者に通知できるようにし、操作性をより向上させることを目的とする。
【0020】
【課題を解決するための手段】
本発明に係る通信装置の一つは、例えば、Asynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが送信側装置と受信側装置との間に設定される前に、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたか否かを識別し、前記コネクションが前記送信側装置と前記受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別する識別手段を有し、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことが識別された場合前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことを示す表示を行い、前記データ伝送が中断されたことが識別された場合に、前記データ伝送が中断されたことを示す表示を行うことを特徴とする
発明に係る他の通信装置は、例えば、Asynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが送信側装置と受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別する識別手段を有し、前記データ伝送が中断されたことが識別された場合前記データ伝送が中断されたことを示す表示を行うことを特徴とする
発明に係る制御方法の一つは、例えば、 Asynchronous Write トランザクションを用いたデータ伝送を行う通信装置を制御する制御方法であって、前記データ伝送に必要なコネクションが送信側装置と受信側装置との間に設定される前に、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたか否かを識別するステップと前記コネクションが前記送信側装置と前記受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別するステップと、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことが識別された場合前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことを示す表示を行うステップと、前記データ伝送が中断されたことが識別された場合に、前記データ伝送が中断されたことを示す表示を行うステップとを有することを特徴とする
発明に係る他の制御方法は、例えば、 Asynchronous Write トランザクションを用いたデータ伝送を行う通信装置を制御する制御方法であって、前記データ伝送に必要なコネクションが送信側装置と受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別するステップと、前記データ伝送が中断されたことが識別された場合に、前記データ伝送が中断されたことを示す表示を行うステップとを有することを特徴とする
【0033】
【発明の実施の形態】
本発明の第一の実施例を図1に示す。図1は、Async Connection におけるデータ伝送の送信側装置101に含まれるProducer103と受信側装置106であるConsumer107との間でコネクションが張られたことを表示する装置104をController102に設けた構成を表すものである。
【0034】
まずはじめに、Producer103、Consumer107の間でコネクションを張るためのController102の制御を説明する。
【0035】
producer,consumerはデータ送受信のためのAsynchronous Plug をそれぞれ所有する。このPlugは図5のようになっており、ひとつのiAPR(input Asynchronous Port Register)501と複数のoAPR(output Asynchronous Port Register)502〜505で構成され、IEEE1394のアドレススペースに割り当てられる。producerの機能のみを有するノードは図6(a)のようにoAPRだけを、consumer機能のみを有するノードは図6(b)のようにiAPRとデータ受信用のsegment buffer507を、producer,consumerの両方の機能を有するノードは図6(c)のようにiAPR,oAPR,segment buffer507を有する。producerノードは1つのコネクションで、複数のconsumerに対してデータを送信することが出来る場合はその能力に応じて図6(a)のように複数のoAPRを有し、1つのconsumerにしかデータを送信できなければ図6(c)のように1つだけoAPRを有する。
【0036】
producerはconsumerの持つsegment buffer にwriteトランザクションで例えば画像データなどを書き込む。書き込まれるデータをフレームと呼び、フレームのサイズがsegment buffer のサイズより大きい場合は、複数回のセッションに分けて書き込みを行う。1回のセッションで書き込まれるデータをセグメントと呼ぶ。
【0037】
Controllerは、producerに対して、consumerのノードID、コネクションに使用するconsumerのプラグアドレス、プラグ番号等の情報を送信する。またconsumerに対しては、producerのノードID、コネクションに使用するproducerのプラグアドレス、プラグの番号等の情報を送信する。情報を受信したproducer,consumerは、受信したデータを元に通信を開始してproducerからconsumerにデータが送信される。
【0038】
従来例で述べられたように、Controllerとproducer,consumerとの通信にはAsynchronous Write トランザクションが用いられる。この通信には前記図7に示したIEEE1394パケットが用いられ、ペイロードには例えば図8に示すフォーマットのコマンドフレームレスポンスフレームに該当するFCPフレームデータがセットされる。
【0039】
図8(a)はコマンドフレーム、図8(b)はレスポンスフレームのフォーマットである。図8(a)のctypeフィールドはコマンドの種類を示す物であり、表1に示すコマンドタイプを指定する。Subunit_type,subunit ID フィールドは、指定したノード内のどのユニットに対してのコマンドなのかを示すフィールドである。例えば、subunit_typeでVTRを、subunit ID でVTRサブユニットの0番目のユニットを指定する。opcode,operandフィールドは実際のコマンドを内容を指定するフィールドである。
【0040】
【表1】
Figure 0003977051
【0041】
図8(b)のresponseフィールドはレスポンスの種類を示す物であり、表2に示すレスポンスタイプを指定する。Subunit_type,subunit ID フィールドは、ノード内のどのユニットからのレスポンスなのかを示すフィールドである。opcode,operandフィールドはレスポンスデータを指定するフィールドである。
【0042】
【表2】
Figure 0003977051
【0043】
前記Controllerとproducer,consumerとの通信でのopcode,operandフィールドは図9に示すフォーマットのデータである。Controllerからproducer,consumerに送信されるコマンドフレーム、producer,consumerからControllerに送信されるレスポンスフレーム共に同じフォーマットである。
【0044】
opcodeはコマンドの種類を示すもので、Asynchronous Connectionsのコマンドであることを示すコードがセットされる。
【0045】
subfunctionフィールドは、このコマンドによってProduce,consurnerが行う動作を指定する。プラグリソースの確保、コネクションの設定/解除等を指定するフィールドである。
【0046】
statusフィールドはコマンド実行結果の状態を表すフィールドで、レスポンスフレームでデータがセットされてControllerに状態が通知される。
【0047】
plug id フィールドはコネクションに使用するプラグの番号を指定する。表3にplug id フィールドにセットするコードの例を示す。
【0048】
【表3】
Figure 0003977051
【0049】
plug offset フィールドは42bitのフィールドで、プラグの先頭アドレスがセットされる。図5のiAPRに相当するアドレスである。
【0050】
port id フィールドは、プラグ内のどのポートが選択されているかを示すフィールドである。表4にport id フィールドにセットするコードの例を示す。
【0051】
【表4】
Figure 0003977051
【0052】
Consumer portは図5のiAPRに、producer prot[1]〜producer port[14]はoAPR[1]〜oAPR[14]に対応する。コネクションに使用されるポートレジスタのオフセットアドレスは、以下の式によって計算される。
【0053】
(オフセットアドレス)=(plug offset)<<6|(port id)<<2
port bits フィールドは選択されているポートの能力を示す。表5にport bits フィールドにセットするコードの例を示す。
【0054】
【表5】
Figure 0003977051
【0055】
connected node id フィールドは、コネクションを設定する相手のノード(producerの場合は接続されるconsumerをconsumerの場合は接続されるproducer。以下、接続ノードと記す)を示す。consumerに対しては、producerのノードIDを、producerに対してはconsumerのノードIDをControllerがセットしてコマンドフレームで通知する。
【0056】
connected plug offset フィールドは、接続ノードが持つプラグのアドレスを示すフィールドである。
【0057】
connected port ID フィールドはコネクションに使用する接続ノードのポート番号を示す。接続ノードのポートレジスタのオフセットアドレスは、以下の式によって計算される。
【0058】
(オフセットアドレス)=(connected plug offset)<<6|(connected port id)<<2
connected port bits フィールドは接続ノードのポートの能力を示す。
【0059】
connected plug id はコネクションに使用される接続ノードのプラグ番号を示す。
【0060】
ex(exclusive)ビットは、コネクションに使用するポートを他のControllerがアクセスできるかどうかを指定するためのビットである。コマンドフレームでこのビットを1にセットした場合、producer,consumerはそのポートヘアクセスするコマンドフレームを受信するとコマンド送信元のノードIDを調べて、コネクションを設定したControllerのノードIDと異なる場合はそのコマンドに対してRejectedのレスポンスフレームを送信する。
【0061】
connection count フィールドは consumerのポートがいくつのproducerポートに接続されているかを示す。
【0062】
write interval はproducerがconsumerのセグメントバッファーにwriteトランザクションを行う時の、トランザクションの最小間隔を示す。
【0063】
retry count フィールドはシリアルバストランザクションに失敗したときに必要となるretry count値を示す。これは、 consumerからのレスポンスフレームでセットされる。
【0064】
図10を用いてcontrollerがproducer,consumerの持つ0番目のAsynchronous Plug間にコネクションを設定する手順を説明する。consumer,producerともにPlugのオフセットアドレスは、FFFF F0001800であり、 consumerが持つsegment buffer に対して先頭アドレスからの順次書き込みにしか対応しておらず、マルチキャストコネクションがサポートされていないものとする。またproducerはconsumerのsegment buffer が固定サイズで変化しないものにしか対応していないとする。ここではそれぞれのノードIDが、controller=0,producer=1,consumer=2になっているとする。
【0065】
図10中の実線で示してある矢印1a,2a,3aはコマンドフレームの流れを、波線で示している矢印1b,2b,3bはレスポンスフレームの流れを示す。コマンドフレームのctypeフィールドにはControlを、subunit_type,subunit_IDフィールドにはターゲットであるconsumer,producerノード内の適切なサブユニットを指定するデータをセットする。レスポンスフレームのresponseフィールドにはコマンドを受け付けたかどうかがセットされるが、ここでは受け付けられたものとしてAcceptedがセットされる場合について説明を行う。レスポンスフレームのsubunit_type,subunit_IDフィールドにはコマンドフレームのsubunit_type,subunit_IDフィールドと同一のデータがセットされる。このFCPフレームは図7のパケットのdata field にセットされ、destination ID,source ID,destination offset等のパケットヘッダがセットされた後に、controllerとconsumerおよびproducer間でwriteトランザクションを用いて送信される。
【0066】
まず、controllerがconsumerに対して、ALLOCATEコマンドを送信する。このときのコマンドフレーム内のopecode,operandフィールドの例を図11(1a)に示す。
【0067】
opecodeフィールドにはAsynchronous Connection のコマンドであることを示すコード26(16進)がセットされる。
【0068】
subfunctionフィールドにはリソースの確保を指示するためのALLOCATEコマンドのコード01(16進)がセットされる。
【0069】
plug id フィールドには、0番目のAsynchronous Plugを確保することを示すコードA0(16進)がセットされる。
【0070】
port id フィールドにはiAPRを示すポート番号0がセットされる。
【0071】
ex(exclusive)フィールドには、他のControllerからのアクセスも許可する事を示すコード0がセットされる。
【0072】
そのほかのフィールドには、ダミーデータとして全てのビットに1がセットされる。
【0073】
前記データのコマンドフレームがAsynchronousパケットのdata field にセットされ、controllerからconsumerのコマンドレジスタにwriteトランザクションで書き込まれることによってALLOCATEコマンドの発行が行われる。
【0074】
前記FCPコマンドフレームを受信したconsumerはcontrollerに対して、このコマンドを受け付けたことを通知するAcceptedのレスポンスフレームを送信する。このときのレスポンスフレーム内のopecode,operandフィールドの例を図11(1b)に示す。
【0075】
opecodeフィールドにはAsynchronous Connectionコマンドに対するレスポンスであることを示すコード26(16進)がセットされる。
【0076】
subfunctionフィールドにはALLOCATEコマンドのレスポンスであることを示すコ一ド01(16進)がセットされる。
【0077】
statusフィールドには、リソースの確保ができた状態であることを示すFIXEDのコ−ド(02(16進))がセットされる。
【0078】
plug id フィールドには、0番目のAsynchronous Plugが確保されたことを示すコードA0(16進)がセットされる。
【0079】
plug offset フィールドには、consumerが持つ0番目のplugのオフセットアドレスを示すコードがセットされる。
【0080】
port id フィールドにはiAPRを示すポート番号0がセットされる。
【0081】
plug offset フィールドとport id フィールドのデータから、実際に使用するportのオフセットアドレスが以下の式によって計算される。
【0082】
(オフセットアドレス)=(plug offset)<<6|(port id)<<2= FFFF F0001800(16進) port bits フィールドには、consumerが持つsegment buffer に対して先頭アドレスからの順次書き込みにしか対応しておらず、マルチキャストコネクションがサポートされていない事を示すコード00(2進)がセットされる。
【0083】
connection count フィールドには、まだproducer port に接続されていない事を示すコード00(16進)がセットされる。
【0084】
write interval,retry count フィールドは、表5のct bit が0の場合使用されないことになっており、共にダミーデータのF(16進)がセットされる。
【0085】
そのほかのフィールドには、コマンドフレームと同一の値がセットされる。
【0086】
上記データのFCPレスポンスフレームがAsynchronousパケットのdata field にセットされ、consumerからcontrollerのレスポンスレジスタにwriteトランザクションで書き込まれることによってALLOCATEコマンドに対するレスポンスの発行が行われる。
【0087】
consumerからALLOCATEコマンドに対するAcceptedレスポンスを受け取ると、controllerはproducerに対して、ALLOCATE_ATTACHコマンドを送信する。このときのコマンドフレーム内のopecode,operandフィールドの例を図12(2a)に示す。
【0088】
opecodeフィールドにはAsynchronous Connectionのコマンドであることを示すコード26(16進)がセットされる。
【0089】
subfunctionフィールドにはリソースの確保とconsumerへの接続を指示するためのALLOCATE_ATTACHコマンドのコード03(16進)がセットされる。
【0090】
plug id フィールドには、0番目のAsynchronous Plug を確保することを示すコードA0(16進)がセットされる。
【0091】
port id フィールドにはoAPR[1]を示すポート番号1がセットされる。
【0092】
connected node id フィールドには、consumerのnode id である0002(16進)がセットされる。
【0093】
connected plug offset フィールドには、 consumerから通知されたconsumerが持つ0番目のplugのオフセットアドレスを示すコードがセットされる。
【0094】
connected port id フィールドには、iAPRを示すポート番号0がセットされる。
【0095】
connected port bits フィールドには、 consumerから通知された受信能力を示すコード00(2進)がセットされる。
【0096】
connected plug id フィールドには、 consumerの0番目のAsynchronous Plug
と接続することを示すコードA0(16進)がセットされる。
【0097】
ex(exclusive)フィールドには、他のControllerからのアクセスも許可する事を示すコード0がセットされる。
【0098】
そのほかのフィールドには、ダミーデータとして全てのビットに1がセットされる。
【0099】
前記データのコマンドフレームがAsynchronousパケットのdata field にセットされ、controllerからproducerのコマンドレジスタにwriteトランザクションで書き込まれることによってALLOCATE_ATTACHコマンドの発行が行われる。
【0100】
前記FCPコマンドフレームを受信したproducerはcontrollerに対して、このコマンドを受け付けたことを通知するAcceptedのレスポンスフレームを送信する。このときのレスポンスフレーム内のopecode,operandフィールドの例を図12(2b)に示す。
【0101】
opecodeフィールドにはAsynchronous Connection コマンドに対するレスポンスであることを示すコード26(16進)がセットされる。
【0102】
subfunctionフィールドにはALLOCATE_ATTACHコマンドのレスポンスであることを示すコード03(16進)がセットされる。
【0103】
statusフィールドには、指定されたポートが使用可能状態であることを示すACTIVEのコード03(16進)がセットされる。
【0104】
plug id フィールドには、0番目のAsynchronous Plugが確保されたことを示すコードA0(16進)がセットされる。
【0105】
plug offset フィールドには、producerが持つ0番目のplugのオフセットアドレスを示すコードがセットされる。
【0106】
port id フィールドにはoAPR[1]を示すポート番号1がセットされる。
【0107】
plug offset フィールドとport id フィールドのデータから、実際に使用するportのオフセットアドレスが以下の式によって計算される。
【0108】
(オフセットアドレス)=(plug offset)<<6|(port id)<<2= FFFF F0001804(16進) port bits フィールドには、指定されたproducerのportは固定サイズのsegmentbufferに対するデータ転送にしか対応していないことを示すコード00(2進)がセットされる。
【0109】
そのほかのフィールドには、コマンドフレームと同一の値がセットされる。
【0110】
上記データのFCPレスポンスフレームがAsynchronousパケットのdata field にセットされ、producerからcontrollerのレスポンスレジスタにwriteトランザクションで書き込まれることによってALLOCATE_ATTACHコマンドに対するレスポンスの発行が行われる。
【0111】
producerからALLOCATE_ATTACHコマンドに対するAcceptedレスポンスを受け取ると、controllerはconsumerに対して、ATTACHコマンドを送信する。このときのコマンドフレーム内のopecode,operandフィールドの例を図11(3a)に示す。
【0112】
opecodeフィールドにはAsynchronous Connectionのコマンドであることを示すコード26(16進)がセットされる。
【0113】
subfunctionフィールドにはproducerへの接続を指示するためのATTACHコマンドのコード02(16進)がセットされる。
【0114】
plug id フィールドには、ALLOCATEコマンドの発行時と同じ0番目のAsynchronous Plugを示すコードA0(16進)がセットされる。
【0115】
plug offset フィールドには、ALLOCATEコマンドのレスポンスで通知された、consumerのplug offset を示すコードがセットされる。
【0116】
port id フィールドにはALLOCATEコマンドの発行時と同じiAPRを示すポート番号0がセットされる。
【0117】
port bits フィールドには、ALLOCATEコマンドのレスポンスで通知された、consumerの送信能力を示すコード00(2進)がセットされる。
【0118】
connected node id フィールドには、producerのnode id である0001(16進)がセットされる。
【0119】
connected plug offset フィールドには、producerから通知されたproducerが持つ0番目のplugのオフセットアドレスを示すコードがセットされる。
【0120】
connected port id フィールドには、oAPR[1]を示すポート番号1がセットされる。
【0121】
connected port bits フィールドには、producerから通知された送信能力を示すコード00(2進)がセットされる。
【0122】
connected plug id フィールドには、producerの0番目のAsynchronous Plug と接続することを示すコードA0(16進)がセットされる。
【0123】
ex(exclusive)フィールドには、他のControllerからのアクセスも許可する事を示すコード0がセットされる。
【0124】
そのほかのフィールドには、ダミーデータとして全てのビットに1がセットされる。
【0125】
前記データのコマンドフレームがAsynchronousパケットのdata field にセットされ、controllerからconsumerのコマンドレジスタにwriteトランザクションで書き込まれることによってATTACHコマンドの発行が行われる。
【0126】
前記FCPコマンドフレームを受信したconsumerはcontrollerに対して、このコマンドを受け付けたことを通知するAcceptedのレスポンスフレームを送信する。このときのレスポンスフレーム内のopecode,operandフィールドの例を図13(3b)に示す。
【0127】
opecodeフィールドにはAsynchronous Connectionコマンドに対するレスポンスであることを示すコード26(16進)がセットされる。
【0128】
subfunctionフィールドにはATTACHコマンドのレスポンスであることを示すコード02(16進)がセットされる。
【0129】
statusフィールドには、指定されたポートが使用可能状態であることを示すACTIVEのコード03(16進)がセットされる。
【0130】
plug id,plug offset,port id,port bits フィールドは、ATTACHコマンドフレーム内の各フィールド値が、ALLOCATEレスポンスでcontrollerに通知した値と一致していることを確認して、コマンドフレームの各フィールド値と同じ値がセットされる。
【0131】
connection count フィールドは、1箇所だけコネクションが張られていることを示すコード(01(16進))がセットされる。
【0132】
そのほかのフィールドには、コマンドフレームと同一の値がセットされる。
【0133】
上記データのFCPレスポンスフレームがAsynchronousパケットのdata field にセットされ、consumerからcontrollerのレスポンスレジスタにwriteトランザクションで書き込まれることによってATTACHコマンドに対するレスポンスの発行が行われる。
【0134】
以上図11、図12、図13に示すコマンドフレーム、レスポンスフレームをcontrollerとconsumer,producer間で送信する事によって、consumer,producerそれぞれに接続ノードのnode id,plug id,plug offset,port id が通知され、consumerとproducerの間にコネクションが設定される。
【0135】
次に、ProducerとConsumerとのコネクションが設定されたことを表示する装置を説明する。
【0137】
1対1のAsync伝送の場合、Controllerを持つ機器の種類によって(a)〜(c)のような構成が考えられる。ここでは、(a)を実現する一例としてデジタルビデオカメラがControllerとProducer、ビデオプリンタをConsumerとした場合の実施例を説明する。
【0138】
デジタルビデオカメラからビデオプリンタヘ静止画像データをAsync伝送で送り、ビデオプリンタから静止画像をプリントアウトするとき、ProducerであるデジタルビデオカメラとConsumerであるプリンタとの間でAsync Connection が張られる。それを制御するControllerがディジタルビデオカメラの中に存在する場合、図2(a)に示されるように、Controllerである画像データ再生・送信制御回路204とProducerである画像データ再生回路203との間は、同一機器内であるので、1394シリアルバスを設ける必要はなく、Asynchronous Write トランザクションと同等の制御信号を205、206を介して伝送すればよい。
【0139】
ここでは前述のようにProducerとConsumerとのコネクションを張るためにControllerとProducer、Consumerがそれぞれ通信するALLOCATE(la、lb)、ALLOCATE_ATTACH (2a、2b)、ATTACH(3a、3b)の各信号のうち、3bの信号でopecode、operand[0]、operand[1]などからコネクションの完成を認識し、Connected node idから受信側の機器210を識別して表示回路207にそれらの情報を伝送し、表示回路207において図3(a)に示されるように、コネクションが張られた機器をLEDを点灯させることで表示する。ここでは、IEEE1394プロトコルのsource_ID、destination_IDの信号から、コネクションの張られた機器を識別してもよい。
【0140】
複数のプリンタとコネクションを張る場合も、ATTACH信号の後に他のノードに向けて順次Controllerから発行されるADD_OVERLAYコマンドによってコネクションの張られたノードを識別し、図3(b)のように識別されたノードを表示する。
【0141】
また、ビデオプリンタ側220にControllerであるデジタルビデオカメラを制御するコマンドを出力する画像データ受信・出力制御回路223をもつ場合、図2(b)のような構成が考えられるが、この場合も(a)の場合と同様の制御であり、表示回路226において図3(d)のように表示される。
【0142】
また、このようにController223がビデオプリンタ側に存在する場合、Consumer222のレジスタを参照することによってコネクションの状態を表示することも可能である。
【0143】
以上のように、Async Connection を張るためのAsync Write トンザクションの信号などからコネクションが張られたノードを識別し、表示することによって、Async伝送されるデータの送信側、受信側を使用者に明確にすることができ、機器の操作性をより向上させることが可能となる。
【0144】
次に、本発明の第二の実施例を説明する。 Async Connection におけるデータ伝送の送信側であるProducerから受信側であるConsumerヘデータが伝送されていることを表示する装置をControllerに設けた構成を表す図は、第一の実施例と同様に図1で表される。
【0145】
まず、コネクションが設定された後のproducer,consumer間でのデータ転送手順について説明する。
【0146】
コネクションが設定された後は、consumerとproducerの間でiAPR,oAPRを使用してハンドシェイクが行われ、producerがconsumerのsegment buffer にwriteトランザクションでデータを書き込むことによってproducerの持つフレームデータがconsumerに転送される。
【0147】
consumerはproducerが持つoAPRにLockトランザクションを用いてconsumerが持つsegment buffer のサイズを通知し、データ転送の開始を指示する。転送開始を指示されたproducerは、producerが保持するフレームデータをconsumerが持つsegment buffer にwriteトランザクションで書き込んでいく。フレームデータのサイズがsegment buffer のサイズよりも大きい場合、フレームデータはsegment buffer のサイズのセグメントに分割されて転送される。フレームデータの最終データまたはセグメントの最終データを転送すると、producerはconsumerの持つiAPRにLockトランザクションを用いて、転送したデータのサイズと次のセグメントデータが存在するかフレームの転送が終了したかを通知する。producerからの通知を受けたconsumerはsegment buffer に書き込まれたデータの処理を開始し、処理が終了するとproducerのoAPRに最初と同様、segment buffer のサイズを通知して、次のセグメントデータの送信開始を指示する。これをフレームデータの転送が終了するまで繰り返す。
【0148】
図18は、consumerが持つiAPRのフォーマットである。producerノードは、セグメントデータの送信後、送信終了を通知するためにLockトランザクションを用いてこのレジスタを更新する。
【0149】
r(reserved)フィールドは、将来の拡張用のフィールドである.
hb(heartbeat)フィールドは、規定時間以上データ通信が行われない場合にタイムアウトを起こさないためにハンドシェイクを行うためのフィールドである。
【0150】
modeフィールドは、送信したデータの状態やコネクションの状態を通知するためのフィールドである。表6にこのフィールドのデータ例を示す。
【0151】
【表6】
Figure 0003977051
【0152】
sc(segment count)フィールドは、データ転送を正しく行うためのチェック用フィールドである。
【0153】
countフィールドは、送信したセグメントデータのバイトサイズを通知するためのフィールドである。
【0154】
図19はproducerが持つoAPRのフォーマットである。consumerノードは、データ受信用のsegment buffer の準備が出来るとLockトランザクションを用いてこのレジスタを更新して、セグメントデータの送信要求を行う。
【0155】
r(reserved)フィールドは、将来の拡張用のフィールドである。hb(heartbeat)フィールドは、規定時間以上データ通信が行われない場合にタイムアウトを起こさないためにハンドシェイクを行うためのフィールドである。
【0156】
modeフィールドは、送信要求やコネクションの状態を通知するためのフィールドである。表7にこのフィールドのデータ例を示す。
【0157】
【表7】
Figure 0003977051
【0158】
sc(segment count)フィールドは、データ転送が正確に行われたかどうかをチェックするためのフィールドである。
【0159】
countHiフィールドは、segment buffer のバイトサイズを通知するためのフィールドである。この18ビットのフィールド値の下位に6ビットの0を付加した24ビットの値が実際のsegment buffer のサイズである。
【0160】
runフィールドはproducerからのconsumerに対するアクセスを制御するためのフィールドである.この値が0の場合、producerはconsumerの持つiAPRへのLockトランザクション及び、segment buffer へのWriteトランザクションを行うことは出来ない。
【0161】
maxLoadフィールドは、consumerが1回のWriteトランザクションで受信できる最大のペイロードサイズを示すフィールドである。そのバイトサイズは、以下の式によって求められる。
【0162】
payloadSize=2^(maxLoad+1)
図10のシーケンスによって、producerとconsumerの間にコネクションが設定された後のデータ転送の流れを図20に示す。この例ではconsumerは32kbのsegment bufferを持ち、受信できる最大のペイロードサイズは1kbとし、producerから50kbのフレームデータを転送する場合について説明する。iAPRもoAPRも初期値は全てのビットが0になっている。
【0163】
まずconsumerがproducerのoAPRをLockトランザクションを用いて更新する。
【0164】
このときのmodeをSENDにセットすることによって、producerに対しての転送開始要求となる。図20ではcountHiはconsumerのセグメントバッファが32kbのサイズを持つことを示し、maxLoadは最大ペイロードサイズが1kbであることを示している。runが1に更新され、producerはconsumerに対してトランザクションを行うことが許可される。
【0165】
oAPRを更新されたproducerは、consumerのsegment buffer に対してwriteトランザクションでセグメントデータの送信を開始する。producerの保有する50kbのフレームデータを、writeトランザクションでconsumerのsegment buffer の先頭アドレスから順番に1kbずつ書き込みを行っていく。 writeパケットを送信する毎にwriteのオフセットアドレスは1kbずつインクリメントされ、32kbのセグメントデータを送信するとconsumerのiAPRを更新してセグメントデータの送信が終了したことを通知する。このときのmodeをMOREにセットすることによって、このセグメントデータに統いて次のセグメントデータが送信されることを通知する。scはconsumerから更新されたoAPRのscの値と同一の値がセットされる。 countには32kbのデータを送信したことを通知するデータがセットされる。
【0166】
iAPRの更新が行われるとconsumerは前回更新したoAPRのscの値と更新されたiAPRのscの値を比較し、同一の値である場合正しくデータが送信されたとみなしてセグメントデータの処理を開始する。セグメントデータの処理が終わり、segment bufferが使用可能な状態になったら再びconsumerはproducerのoAPRを更新する。このときscの値を前回とは反転させることによって、新しいセグメントの送信要求となる。その他のフィールドは最初の場合と同様である。
【0167】
oAPRを更新されたproducerは、consumerのsegment buffer に対してwriteトランザクションで次のセグメントデータの送信を開始する。送信済みの32kb以降のデータから開始して、writeトランザクションでconsumerのsegment buffer の先頭アドレスから順番に1kbずつ書き込みを行っていく。writeパケットを送信する毎にwriteのオフセットアドレスは1kbずつインクリメントされ、18kb(50kb−32kb)のセグメントデータを送信するとconsumerのiAPRを更新してセグメントデータの送信が終了したことを通知する。このときのmodeをLASTにセットすることによって、このフレームの全データの送信が終了したことを通知する。scはconsumerから更新されたoAPRのscの値と同一の値がセットされる。 countには18kbのデータを送信したことを通知するデータがセットされる。
【0168】
iAPRを更新されたconsumerは前回と同様、scの値を調べた後にセグメントデータの処理を行い、処理が終了するとproducerのoAPRを更新する。
【0169】
以上のシーケンスでproducerからconsumerにフレームデータが転送される。
producerが他にも転送するデータを持っていれば同様の手順で転送を繰り返す。
【0170】
次に、ProducerからconsumerへAsyncデータが伝送されていることを表示する装置を説明する。
【0171】
対1のAsync伝送の場合、Controllerを持つ機器の種類によって図1(a)〜(c)のような構成が考えられる。ここでは、図1(a)を実現する一例としてデジタルビデオカメラがControllerとProducer、ビデオプリンタをConsumerとした場合の実施例を説明する。
【0172】
デジタルビデオカメラからビデオプリンタヘ静止画像データをAsync伝送で送り、ビデオプリンタから静止画像をプリントアウトするとき、ProducerであるデジタルビデオカメラとConsumerであるプリンタとの間でAsync Connection が張られ、静止画像データがデジタルビデオカメラからビデオプリンタに非同期モードで伝送される。それを制御するControllerがデジタルビデオカメラの中に存在する場合、図2(a)に示されるように、Controllerである画像データ再生・送信制御回路204とProducerである画像デ一夕再生回路203との間は、同一機器内であるので、1394シリアルバスを設ける必要はなく、Asynchronous Write トランザクションと同等の制御信号を205、206を介して伝送すればよい。
【0173】
ここでは前述のようにProducerからConsumerへ静止画像データを伝送するときにProducerのoAPRのmode1901に書き込まれる「SEND」1903、またはrun1902に書き込まれる送信可能状態を示す「1」などのConsumerからのLockトランザクションの信号から、静止画像データが伝送状態にあることを識別して、画像データ再生・送信制御回路204にデータ伝送状態である信号を送り、画像データ再生・送信制御回路204は表示回路207にそれらの情報を伝送し、表示回路207において図3(c)に示されるように、伝送状態を示す矢印301を表すLEDを点灯させることで表示する。ここでは、ProducerがConsumerのiAPRにLockトランザクションで書き込む信号のmode1801の「MORE」1802などを識別してもよい。
【0174】
ここでは、伝送状態を表示する以外にも、例えば伝送途中で伝送を中断して完全に静止画像データを伝送しなかった場合には、iAPRのmode1801の「LOST」1803やoAPRのmode1901の「TOSS」1904を識別して、図3(f)のように表示してもよい。
【0175】
複数のプリンタヘ静止画像データを伝送する場合も同様に、IEEE1394プロトコルのノードIDなどから受信側を識別して、図3(b)のように伝送状態を表示する。
【0176】
また、ビデオプリンタ側220にControllerであるデジタルビデオカメラを制御するコマンドを出力する画像データ受信・出力制御回路223をもつ場合、図2(b)ような構成が考えられるが、この場合も(a)の場合と同様の制御であり、図3(e)のように表示される。
【0177】
図1(c)の構成の場合、図2(c)のように制御装置238が別にIEEE1394シリアルバスで接続されているので、Producer229からConsumer2366へ送られる静止画像データを識別することはできない。この場合は、Producerであるディジタルビデオ力メラ側から、別のFCPプロトコルのコマンドをController240に向けて送信するアプリケーションを作成して通知することで表示すればよい。
【0178】
以上のように、Async伝送を実行するためのAsync Lockトランザクションの信号からProducerからConsumerへのデータの伝送状態を識別し、表示することによって、Async伝送の状態にあることを使用者に明確にすることができ、機器の操作性をより向上させることが可能となる。
【0179】
次に本発明の第三の実施例を説明する。Async Connection におけるデータ伝送の送信側であるProducerと受信側であるConsumerとの間でコネクションが解除されたことを表示する装置をControllerに設けた構成を表す図は、第一、第二の実施例と同様に図1で表される。
【0180】
まず、Producer、Consumerの間でコネクションを解除するためのControllerの制御を説明する。
【0181】
フレームの転送が終了すると、必要に応じてcontrollerはproducerとconsumerの間に設定されたコネクションを解除する。図14にコネクションを解除する場合のコマンドフレーム、レスポンスフレームの流れを示す。図14中の実線で示してある矢印1a,2a,3aはコマンドフレームの流れを、波線で示している矢印1b,2b,3bはレスポンスフレームの流れを示す。
【0182】
まずcontrollerはconsumerに対して、DETACHコマンドを送信する。このときのコマンドフレーム内のopcode,operandフィールドの例を図15(1a)に示す。
【0183】
opecodeフィールドにはAsynchronous Connection のコマンドであることを示すコード26(16進)がセットされる。
【0184】
subfunctionフィールドにはコネクションの解除を指示するためのDETACHコマンドのコード06(16進)がセットされる。
【0185】
plug idフィールドには、ATTACHコマンドの発行時と同じ0番目のAsynchronousPlugを示すコードA0(16進)がセットされる。
【0186】
port id フィールドにはATTACHコマンドの発行時と同じiAPRを示すポート番号0がセットされる。
【0187】
ex(exclusive)フィールドには、他のControllerからのアクセスも許可する事を示すコード0がセットされる。
【0188】
そのほかのフィールドには、ダミーデータとして全てのビットに1がセットされる。
【0189】
前記データのコマンドフレームがAsynchronousパケットのdata field にセットされ、controllerからconsumerのコマンドレジスタにwriteトランザクションで書き込まれることによってDETACHコマンドの発行が行われる。
【0190】
前記FCPコマンドフレームを受信したconsumerはcontrollerに対して、このコマンドを受け付けたことを通知するAcceptedのレスポンスフレームを送信する。このときのレスポンスフレーム内のopcode,operandフィールドの例を図15(1b)に示す。
【0191】
opecodeフィールドにはAsynchronous Connectionコマンドに対するレスポンスであることを示すコード26(16進)がセットされる。
【0192】
subfunctionフィールドにはDETACHコマンドのレスポンスであることを示すコード06(16進)がセットされる。
【0193】
statusフィールドには、指定されたポートが停止状態であることを示すINACTIVEのコード(04(16進))がセットされる。
【0194】
plug id フィールドには、コマンドフレームで指定されたplu9番号がセットされる。
【0195】
plug offset フィールドには、コマンドフレームで指定されたplugのオフセットアドレスを示すコードがセットされる。
【0196】
port idフィールドには、コマンドフレームで指定されたport番号がセットされる。
【0197】
port bitsフィールドには、コマンドフレームで指定されたportの能力を示すコードがセットされる。
【0198】
connected node id,connected plug offset,connected port id,connected port bits,connected plug id フィールドにはコネクションを設定していたproducerノードのノードID、plugのオフセットアドレス、port番号、portの能力、plu9番号がセットされる。
【0199】
connection count フィールドには、DETACHコマンドを受け取る前のconnection countの値から1を引いた値である0がセットされる。
【0200】
そのほかのフィールドには、コマンドフレームと同一の値がセットされる。
【0201】
上記データのFCPレスポンスフレームがAsynchronousパケットのdata field にセットされ、consumerからcontrollerのレスポンスレジスタにwriteトランザクションで書き込まれることによってDETACHコマンドに対するレスポンスの発行が行われる。
【0202】
consumerからDETACHコマンドのレスポンスを受信したcontrollerはproducerに対して、DETACH_RELEASEコマンドを送信する。このときのコマンドフレーム内のopcode,operandフィールドの例を図16(2a)に示す。
【0203】
opecodeフィールドにはAsynchronous Connectionのコマンドであることを示すコード26(16進)がセットされる。
【0204】
subfunctionフィールドにはコネクションの解除とリソースの解放を指示するためのDETACH_RELEASEコマンドのコード07(16進)がセットされる。
【0205】
plug id フィールドには、ALLOCATE_ATTACHコマンドの発行時と同じ0番目のAsynchronous Plug を示すコードA0(16進)がセットされる。
【0206】
port id フィールドにはALLOCATE_ATTACHコマンドの発行時と同じoAPR[1]を示すポート番号1がセットされる。
【0207】
ex(exclusive)フィールドには、他のControllerからのアクセスも許可する事を示すコード0がセットされる。
【0208】
そのほかのフィールドには、ダミーデータとして全てのビットに1がセットされる。
【0209】
前記データのコマンドフレームがAsynchronousパケットのdata field にセットされ、controllerからproducerのコマンドレジスタにwriteトランザクションで書き込まれることによってDETACH_RELEASEコマンドの発行が行われる。
【0210】
前記FCPコマンドフレームを受信したproducerはcontrollerに対して、このコマンドを受け付けたことを通知するAcceptedのレスポンスフレームを送信する。このときのレスポンスフレーム内のopcode,operandフィールドの例を図16(2b)に示す。
【0211】
opecodeフィールドにはAsynchronous Connectionコマンドに対するレスポンスであることを示すコード26(16進)がセットされる。
【0212】
subfunctionフィールドにはDETACH_RELEASEコマンドのレスポンスであることを示すコード07(16進)がセットされる。
【0213】
statusフィールドには、指定されたポートが使用されていない状態であることを示すFREEのコード(01(16進))がセットされる。
【0214】
そのほかのフィールドには、コマンドフレームと同一の値がセットされる。
【0215】
上記データのFCPレスポンスフレームがAsynchronousパケットのdata field にセットされ、producerからcontrollerのレスポンスレジスタにwriteトランザクションで書き込まれることによってDETACH_RELEASEコマンドに対するレスポンスの発行が行われる。
【0216】
producerからDETACH_RELEASEコマンドのレスポンスを受信したcontrollerはconsumerに対して、RELEASEコマンドを送信する。このときのコマンドフレーム内のopcode,operandフィールドの例を図17(3a)に示す。
【0217】
opecodeフィールドにはAsynchronous Connection のコマンドであることを示すコード26(16進)がセットされる。
【0218】
subfunctionフィールドにはリソースの解放を指示するためのRELEASEコマンドのコード05(16進)がセットされる。
【0219】
plug idフィールドには、ALLOCATEコマンドの発行時と同じ0番目のAsynchronous Plugを示すコードA0(16進)がセットされる。
【0220】
port id フィールドにはALLOCATEコマンドの発行時と同じiAPRを示すポート番号0がセットされる。
【0221】
ex(exclusive)フィールドには、他のControllerからのアクセスも許可する事を示すコード0がセットされる。
【0222】
そのほかのフィールドには、ダミーデータとして全てのピットに1がセットされる。
【0223】
前記データのコマンドフレームがAsynchronousパケットのdata field にセットされ、controllerからconsumerのコマンドレジスタにwriteトランザクションで書き込まれることによってRELEASEコマンドの発行が行われる。
【0224】
前記FCPコマンドフレームを受信したconsumerはcontrollerに対して、このコマンドを受け付けたことを通知するAcceptedのレスポンスフレームを送信する。このときのレスポンスフレーム内のopcode,operandフィールドの例を図17(3b)に示す。
【0225】
opecodeフィールドにはAsynchronous Connection コマンドに対するレスポンスであることを示すコード26(16進)がセットされる。
【0226】
subfunctionフィールドにはRELEASEコマンドのレスポンスであることを示すコード05(16進)がセットされる。
【0227】
statusフィールドには、指定されたポートが使用されていない状態であることを示すFREEのコード(01(16進))がセットされる。
【0228】
そのほかのフィールドには、コマンドフレームと同一の値がセットされる。
【0229】
上記データのFCPレスポンスフレームがAsynchronousパケットのdata field にセットされ、consumerからcontrollerのレスポンスレジスタにwriteトランザクションで書き込まれることによってRELEASEコマンドに対するレスポンスの発行が行われる。
【0230】
以上図15、図16、図17に示すコマンドフレーム、レスポンスフレームをcontrollerとconsumer,producer間で送信する事によって、consumerとproducerの間に設定されたコネクションが解除される。
【0231】
次に、ProducerとConsumerとのコネクションが解除され、設定されたことの表示を中止する制御を説明する。
【0232】
対1のAsync伝送の場合、Controllerを持つ機器の種類によって図1(a)〜(c)のような構成が考えられる。ここでは、図1(a)を実現する一例としてデジタルビデオカメラがControllerとProducer、ビデオプリンタをConsumerとした場合の実施例を説明する。
【0233】
デジタルビデオカメラからビデオプリンタヘ静止画像データをAsync伝送で送り、ビデオプリンタから静止画像をプリントアウトするとき、ProducerであるデジタルビデオカメラとConsumerであるプリンタとの間でAsync Connectionが張られ、静止画像データがデジタルビデオカメラからビデオプリンタに非同期モードで伝送され、伝送が終了するとAsync Connection は解除される。それを制御するControllerがデジタルビデオカメラの中に存在する場合、図2(a)に示されるように、Controllerである画像データ再生・送信制御回路204とProducerである画像データ再生回路203との間は、同一機器内であるので、1394シリアルバスを設ける必要はなく、Asynchronous Write トランザクションと同等の制御信号205、206を介して伝送すればよい。
【0234】
ここでは前述のように、ProducerとConsumerとのコネクションを解除するためにControllerとProducer、Consumerがそれぞれ通信するDETACH(1a、1b)、DETACH_RELEASE(2a、2b)、RELEASE(3a、3b)の各信号のうち、3bの信号でopecode、operand[0]、operand[1]などからコネクションの解除を認識し、表示回路207にそれらの情報を伝送し、表示回路207においてそれまでコネクションが張られていたことが表示されていた機器のLEDを消灯させる。ここでは、IEEE1394プロトコルのsource1_ID、destination_IDの信号から、コネクションの張られた機器を識別する。または、1bのWriteトランザクションの信号のconnected node id からProducerのノードIDを識別してもよい。
【0235】
複数のプリンタとコネクションを解除する場合も、同様にコネクションの張られたノードを識別し、解除されたノードのLEDを消灯する。
【0236】
また、ビデオプリンタ側220にControllerであるデジタルビデオカメラを制御するコマンドを出力する画像データ受信・出力制御回路223をもつ場合、図2(b)のような構成が考えられるが、この場合も図2(a)の場合と同様の制御である。
【0237】
また、このようにControllerがビデオプリンタ側220に存在する場合、Consumerのレジスタを参照することによってコネクションの状態を表示することも可能である。
【0238】
以上のように、Async Connection を解除するためのAsync Write トランザクションの信号などからコネクションが解除されたノードを識別し、表示を消灯することによって、Async伝送の終了を使用者に明確にすることができ、機器の操作性をより向上させることが可能となる。
【0239】
【発明の効果】
本発明によれば、Asynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが設定されたか否か、Asynchronous Write トランザクションを用いたデータ伝送が行われているか否か、Asynchronous Write トランザクションを用いたデータ伝送が中断されたか否かAsynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが解除されたか否かのうち、少なくとも Asynchronous Write トランザクションを用いたデータ伝送が中断されたか否かを使用者に通知することができるので、操作性をより向上させることができる
【図面の簡単な説明】
【図1】 本発明の構成例を説明する図である。
【図2】 本発明の実施例を説明する図である。
【図3】 本発明の実施例である表示装置の表示の状態を表す図である。
【図4】 IEEE1394非同期伝送のコネクションを制御する信号を示す図である。
【図5】 プラグレジスタを示す図である。
【図6】 プラグレジスタを示す図である。
【図7】 IEEE1394パケットを示す図である。
【図8】 FCPのコマンドを示す図である。
【図9】 opecode、operandフィールドのフォーマットを示す図である。
【図10】 Asyncコネクションの設定を説明する図である。
【図11】 コネクション設定時のコマンドフレーム、レスポンスフレ−ムを表す図である。
【図12】 コネクション設定時のコマンドフレーム、レスポンスフレ−ムを表す図である。
【図13】 コネクション設定時のコマンドフレーム、レスポンスフレ−ムを表す図である。
【図14】 Asyncコネクションの解除を説明する図である。
【図15】 コネクション解除時のコマンドフレーム、レスポンスフレームを表す図である。
【図16】 コネクション解除時のコマンドフレーム、レスポンスフレームを表す図である。
【図17】 コネクション解除時のコマンドフレーム、レスポンスフレームを表す図である。
【図18】 Consumerが持つiAPRのフォーマットである。
【図19】 Producerが持つoAPRのフォーマットである。
【図20】 ProducerからConsumerへのデータ転送の流れを説明する図である。
【図21】 IEEE1394シリアルバスで繋がれた各機器の状態を示す図である。
【符号の説明】
101・108・115 送信側装置
102・112・119 Controller
103・109・116 Producer
104・114・118 Display(表示回路)
105・110・120・121 IEEE1394シリアルバス
106・111・122 受信側装置
107・113・123 Consumer
201・214・227 デジタルビデオカメラ
202・215・228 画像データ記録媒体
203・216・229 画像データ再生回路
204 画像データ再生・送信制御回路
205・206・224・225・241・242 制御信号
207・226・243 表示回路
208・211・218・221・231・235・239 IEEE1394インタフェース回路
209・219・232・233 IEEE1394シリアルバス
210・220・234 ビデオプリンタ
212・234 画像データ出力制御回路
213・222・236 画像データ出力回路
217・230 画像データ再生制御回路
223 画像データ受信・出力制御回路
238 制御装置
240 画像データ送受信制御回路

Claims (10)

  1. Asynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが送信側装置と受信側装置との間に設定される前に、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたか否かを識別し、前記コネクションが前記送信側装置と前記受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別する識別手段を有し、
    前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことが識別された場合前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことを示す表示を行い、
    前記データ伝送が中断されたことが識別された場合に、前記データ伝送が中断されたことを示す表示を行うことを特徴とする通信装置。
  2. 前記識別手段はさらに、前記コネクションが解除されたか否かを識別し、
    前記通信装置はさらに、前記コネクションが解除されたことが識別された場合に、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことを示す表示を停止することを特徴とする請求項1に記載の通信装置。
  3. Asynchronous Write トランザクションを用いたデータ伝送に必要なコネクションが送信側装置と受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別する識別手段を有し、
    前記データ伝送が中断されたことが識別された場合前記データ伝送が中断されたことを示す表示を行うことを特徴とする通信装置。
  4. 前記識別手段はさらに、前記データ伝送が行われているか否かを識別し、
    前記通信装置はさらに、前記データ伝送が行われていることが識別された場合に、前記データ伝送が行われていることを示す表示を行うことを特徴とする請求項1から3のいずれかに記載の通信装置。
  5. 前記通信装置は、前記送信側装置であることを特徴とする請求項1から4のいずれかに記載の通信装置。
  6. Asynchronous Write トランザクションを用いたデータ伝送を行う通信装置を制御する制御方法であって、
    前記データ伝送に必要なコネクションが送信側装置と受信側装置との間に設定される前に、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたか否かを識別するステップと
    前記コネクションが前記送信側装置と前記受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別するステップと、
    前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことが識別された場合前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことを示す表示を行うステップと、
    前記データ伝送が中断されたことが識別された場合に、前記データ伝送が中断されたことを示す表示を行うステップとを有することを特徴とする制御方法。
  7. 前記コネクションが解除されたか否かを識別するステップと、
    前記コネクションが解除されたことが識別された場合に、前記コネクションが前記送信側装置と前記受信側装置との間に設定されたことを示す表示を停止するステップとをさらに有することを特徴とする請求項6に記載の制御方法。
  8. Asynchronous Write トランザクションを用いたデータ伝送を行う通信装置を制御する制御方法であって、
    前記データ伝送に必要なコネクションが送信側装置と受信側装置との間に設定された後に、前記データ伝送が中断されたか否かを識別するステップと
    前記データ伝送が中断されたことが識別された場合に、前記データ伝送が中断されたことを示す表示を行うステップとを有することを特徴とする制御方法。
  9. 前記データ伝送が行われているか否かを識別するステップと、
    前記データ伝送が行われていることが識別された場合に、前記データ伝送が行われていることを示す表示を行うステップとをさらに有することを特徴とする請求項6から8のいずれかに記載の制御方法。
  10. 前記通信装置は、前記送信側装置であることを特徴とする請求項6から9のいずれかに記載の制御方法。
JP2001330947A 2001-10-29 2001-10-29 通信装置及び制御方法 Expired - Fee Related JP3977051B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001330947A JP3977051B2 (ja) 2001-10-29 2001-10-29 通信装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001330947A JP3977051B2 (ja) 2001-10-29 2001-10-29 通信装置及び制御方法

Publications (3)

Publication Number Publication Date
JP2003134122A JP2003134122A (ja) 2003-05-09
JP2003134122A5 JP2003134122A5 (ja) 2005-07-07
JP3977051B2 true JP3977051B2 (ja) 2007-09-19

Family

ID=19146594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001330947A Expired - Fee Related JP3977051B2 (ja) 2001-10-29 2001-10-29 通信装置及び制御方法

Country Status (1)

Country Link
JP (1) JP3977051B2 (ja)

Also Published As

Publication number Publication date
JP2003134122A (ja) 2003-05-09

Similar Documents

Publication Publication Date Title
KR100294960B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 및 데이타 통신 장치
JP4449218B2 (ja) ディジタル信号処理システム及びディジタル信号伝送方法
EP0939529B1 (en) Destination node, data communication system, method of controlling a destination node and method of operating a data communication system
JP4181688B2 (ja) データ通信システム及びデータ通信装置
KR100312276B1 (ko) 데이터 통신 시스템, 데이터 통신 방법, 데이터 통신 장치 및디지털 인터페이스
US7130315B1 (en) Method of and apparatus for utilizing extended AV/C command and response frames including transaction label and common result/error code
US6678769B1 (en) Control apparatus and method for managing a logical connection between source and destination nodes
JP4009022B2 (ja) データ伝送方法及びデータ伝送装置
JPH10341247A (ja) データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法
WO2000021248A1 (fr) Procede de transfert de donnees et systeme de transfert de donnees
JP3977051B2 (ja) 通信装置及び制御方法
JP3814407B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JPH11145995A (ja) バスのデータ伝送方式
JP3943698B2 (ja) データ通信システム及びデータ通信装置
JP3943697B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JPH11261608A (ja) データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP3862403B2 (ja) データ通信システムおよびデータ通信装置
JP4143205B2 (ja) データ通信システム
JP2003060733A (ja) ホットプラグ対応の通信装置、通信方法、通信装置用プログラム、及び通信装置用記録媒体
JPH11313091A (ja) データ通信システム、装置及び方法並びに記憶媒体
JPH11317755A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタ―フェイス
JP2005123739A (ja) 通信システム、端末装置、通信システムの制御方法、記録媒体およびプログラム
JP2002044097A (ja) データ通信システム及びその制御方法、及びデータ通信制御装置
JP2000299710A (ja) データ通信システム、データ通信装置、ファイル管理方法及び記憶媒体
JPH10243022A (ja) パケット変換装置および媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070620

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

Free format text: PAYMENT UNTIL: 20100629

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130629

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees