Nothing Special   »   [go: up one dir, main page]

JP2002185560A - シリアル転送方式 - Google Patents

シリアル転送方式

Info

Publication number
JP2002185560A
JP2002185560A JP2000382432A JP2000382432A JP2002185560A JP 2002185560 A JP2002185560 A JP 2002185560A JP 2000382432 A JP2000382432 A JP 2000382432A JP 2000382432 A JP2000382432 A JP 2000382432A JP 2002185560 A JP2002185560 A JP 2002185560A
Authority
JP
Japan
Prior art keywords
transmission
data
value
register
packet
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.)
Pending
Application number
JP2000382432A
Other languages
English (en)
Inventor
Hisaaki Shibamoto
尚昭 柴本
Hidekazu Takakura
英一 高倉
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2000382432A priority Critical patent/JP2002185560A/ja
Publication of JP2002185560A publication Critical patent/JP2002185560A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 アイドル時間を可能な限り短くすることによ
り、更なるデータ送受信の速度の高速化を図ることが可
能なシリアル転送方式を提供する。 【解決手段】 任意のトランザクション間の時間を計測
可能な第1のカウンタ31と、任意の値をセット可能な
送信レジスタ33と、送信レジスタ33にセットされた
値まで動作する第2のカウンタ32と、第2のカウンタ
32の値が送信レジスタ33の値と同一となった場合
に、データ送信パケットを送信するための処理回路とを
備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2台以上の機器が
シリアルバスで繋がれた系において、一方的に、または
互いにシリアルデータを送受信するためのシリアル転送
方式に関し、特に、送信側機器におけるシリアル転送方
式に関するものである。
【0002】
【従来の技術】近年、デジタル信号処理技術の進展およ
びメディアの異なる機器間のデータ共有の必要性が高ま
るにつれ、よく知られたIEEE1394規格のシリア
ルバス搭載の機器が数多く商品化されている。このIE
EE1394規格のシリアルバス上に接続された複数の
機器は、バス上において各機器固有のノード番号が割り
当てられ、相手のノード番号を指定することにより、特
定の機器に対して、所望のパケットを送信することがで
きる。
【0003】ここで、図3、図4を参照して、送信側の
ノードから受信側のノードヘデータを書き込む、いわゆ
るライトトランザクションと呼ばれる動作について説明
する。なお、トランザクションには2通りの方式が存在
し、一方は説明しないスプリットトランザクションと呼
ばれる方式であり、他方は以下に示すユニファイドトラ
ンザクションと呼ばれる方式である。
【0004】図3は、最も単純なIEEE1394規格
のシリアルバス上に2台のノードが接続された場合にお
ける、ライトトランザクション動作の一例を示す模式図
である。図3において、100は送信側ノード、101
は受信側ノード、102および105は互いに異なるデ
ータ送信パケット、103および106はデータ受信完
了信号、104はビジー状態通知信号をそれぞれ示す。
【0005】ライトトランザクション動作においては、
図3に示すように、まず、送信側ノード100が、デー
タ送信パケット102を受信側ノード101へ送信す
る。受信側ノード101では、データ送信パケット10
2を受信可能であれば、データ受信完了信号103を送
信側ノード100へ送信し、パケットの送受信が完了す
る。
【0006】一方、受信側ノード101において、次の
データ送信パケット105を受信不可能であれば、受信
できなかったことを示すビジー状態通知信号104を送
信側ノード100へ送信する。ビジー状態通知信号10
4を受信した送信側ノード100は、準備ができ次第、
再度同一のデータ送信パケット105を送信する。ここ
で、受信側ノード101からデータ受信完了信号103
を受信すれば、パケットの送受信が完了し、再度、ビジ
ー状態通知信号104を受信すれば、同一のデータ送信
パケット105を送信する。
【0007】このようして、送信側ノード100は受信
側ノード101からデータ受信完了信号106を受信す
るまで、データ送信パケット102の送信を繰り返すこ
とにより、所望のパケットの送信を行うことができる。
【0008】図4は、IEEE1394規格のシリアル
バス上に4台のノードが接続された場合に、複数のライ
トトランザクションを行う場合の模式図である。図4に
おいて、110は送信側ノードA、111は受信側ノー
ドA、112はデータ送信パケットA、113はデータ
受信完了信号A、114はビジー状態通知信号A、12
0は送信側ノードB、121は受信側ノードB、122
はデータ送信パケットB、123はデータ受信完了信号
Bをそれぞれ示す。なお、図3、4においては、データ
がIEEE1394規格のシリアルバス上を流れる時間
は考慮しないものとする。
【0009】図4において、送信側ノードA110は、
受信側ノードA111との間でライトトランザクション
を行い、送信側ノードB120は、受信側ノードB12
1との間でライトトランザクションを行うものとする。
【0010】それぞれのライトトランザクションにおい
て、前述した通り、送信側ノードA110は、データ送
信パケットA112を送信し、受信側ノードA111か
らデータ受信完了信号A113を受信することで完了
し、送信側ノードB120は、データ送信パケットB1
22を送信し、受信側ノードB121からデータ受信完
了信号B123を受信することにより完了する。
【0011】この時、1394シリアルバス上に、1つ
のパケットしか存在することができないので、送信側ノ
ードA110や送信側ノードB120は、IEEE13
94規格のシリアルバス上にパケットを送信する前に、
アービトレーションと呼ばれる手続きにより、バスの使
用権を確保する必要がある。このため、送信側ノードA
110がパケットを送信している間は、送信側ノードB
120はパケットを送信できず、IEEE1394規格
のシリアルバスが解放されるまで待った後に、パケット
を送信する。
【0012】以上のような仕組みにより、複数のライト
トランザクションが発生した時に、順番にIEEE13
94規格のシリアルバスを使用することにより、それぞ
れのパケット送受信を完了することができる。
【0013】
【発明が解決しようとする課題】例えば、前述のIEE
E1394規格のシリアルバスにおいて、ファイルデー
タを良く知られたDirect Print Prot
ocol(以下、DPPと称す)などの上位プロトコル
を使用して転送する場合、IEEE1394規格の制御
用LSIが固有に持つデータ格納用メモリの大きさによ
り、一回のライト/リード・トランザクションで送受信
できるデータ量に制限が生じる。したがって、例えば、
1MBのデータを転送する場合に、512バイトのデー
タ格納用メモリを持つIEEE1394規格の制御用L
SIにおいては、各プロトコルにおける添付すべきヘッ
ダの大きさを無視したとしても、少なくとも2048回
のデータ送信トランザクションを発行しなければならな
い。
【0014】図3で示すデータ送信パケットの送信時
に、送信側ノード100から送信されたデータ送信パケ
ットを、受信側ノード101が正常に受け取れなかった
場合には、送信側ノード100に対して、受信側ノード
101が現在ビジー状態であるというビジー状態通知信
号104を発行する。
【0015】ここで、ビジー状態通知信号104を受け
取った送信側ノード100では、データ再送信動作を行
う。このデータ再送信動作による再送パケット送信のタ
イミングは、送信側ノード100が再送時に必要なデー
タやデータの長さ、相手ノードを指定するためのレジス
タなどをセットできたか否かにより決まる。つまり、受
信側ノード101がデータ送信パケットを受け取ること
ができる状態に遷移した場合、前述の遷移状況を送信側
ノード100が監視することによって、送信側ノード1
00がデータの再送信を行うわけではない。
【0016】したがって、受信側ノード101がデータ
を受け取れる状態に遷移していない場合でも、送信側ノ
ード100はデータの再送信動作を行うことがあり、そ
の場合、再びビジー状態通知信号104が返ってきて、
さらに当該ビジー状態通知信号104に対して再送信動
作を行うこととなるため、CPUに無駄な負荷をかける
とともに、バス使用権を占有してしまう。
【0017】以上述べたように、送信側ノード100の
データ送信間隔時間の方が、受信側ノード101の受信
データ処理能力時間に比して短い場合には、1回のデー
タ送信毎に受信側ノード101が受信データの処理を行
った後、再びデータ送信パケット105を受信できる状
態に移行するまでに、送信側ノード100からの次のデ
ータの送信が行われ、その後に再送信動作が1回以上繰
り返し生じることとなってしまう。この場合、2048
回のデータ送信毎に前述した動作を繰り返すと、トータ
ルの転送速度は著しく低下し、さらにシリアルバスの占
有度が高くなってしまい他の機器間における通信をも阻
害してしまうという問題が生じる。
【0018】ところで、このような問題を未然に防ぐべ
く、前述したDPPにおいては、受信側ノード101の
内部仮想レジスタ上に受信時の処理能力を書き込んでお
き、送信側ノード100にその値を読んでもらい、デー
タ送信間隔の最適化を図ることもできるようになってい
る。しかしながら、このレジスタはオプションであり、
全てのDPP対応機器が実装している訳ではなく、かつ
DPPのプロトコルに依存しているため、他のプロトコ
ルでは使用できないという問題があった。
【0019】また、同一のデータ送信パケット105の
送信動作において、ビジー状態通知信号104が複数回
返ってきてしまう問題に関しては、特開平11−177
75号公報に開示されたように、シリアルインタフェー
スバスで繋がれた機器間におけるデータの転送におい
て、送信側ノード100から受信側ノード101に対す
るあるデータ送信の際に、受信側ノード101がビジー
状態でありデータを受け取れなかった場合の再送信にお
いて、再送信動作がある任意の回数に達した場合、送信
側ノード100に実装されているインターバルレジスタ
の値を変更し、再送信に係るデータ送信パケット105
が出力される間隔を長い時間に再設定することにより、
再送間隔を長くし、2回目以降のビジー状態通知信号1
04を抑制し、円滑な再送信動作が可能となる。
【0020】しかしながら、前記手段においては、2回
目以降のビジー状態通知信号104を抑制する可能性は
有るものの、データ送信パケット105毎に返ってきて
しまう1回目のビジー状態通知信号104を無くすこと
は不可能である。
【0021】また、具体的に、数メガバイトから数ギガ
バイトに及ぶファイルデータの送受信を考えた場合、上
記手段によりデータ送信パケット105の再送信動作の
回数を減らすことはできるが、送信データ間隔の最適化
を図ることができるわけではない。すなわち、受信側ノ
ード101が受信データの処理を終えることにより、デ
ータを受け取れる状態に遷移した場合、直ちに送信側ノ
ード100が次のデータ送信パケット105を送信しな
ければ、データ取得可能な状態遷移後のアイドル時間が
無駄となり、トータルの転送速度に大きな影響を及ぼし
てしまうことが考えられる。
【0022】本発明は、上述した事情に鑑みなされたも
のであり、アイドル時間を可能な限り短くすることによ
り、更なるデータ送受信の速度の高速化を図ることが可
能なシリアル転送方式を提供することを目的とする。
【0023】
【課題を解決するための手段】前述の問題を解決するた
めに、本発明のシリアル転送方式は、2台以上の機器が
シリアルバスで繋がれた系においてシリアルデータを送
受信するためのシリアル転送方式であって、任意のトラ
ンザクション間の時間を計測可能な第1のカウンタと、
任意の値をセット可能な送信レジスタと、前記送信レジ
スタにセットされた値まで動作する第2のカウンタと、
前記第2のカウンタの値が前記送信レジスタの値と同一
となった場合に、データ送信パケットを送信するための
処理回路とを備えたことを特徴とするものである。
【0024】この場合、前記第1のカウンタの値よりも
小さい任意の値を前記送信レジスタにセットし、その後
のデータ送信において、受信側ノードからビジー状態通
知信号が送信されてきた場合に、前記送信レジスタに前
記第1のカウンタで取得した値以下の範囲で、前回セッ
トした前記送信レジスタの値より大きな任意の値を再設
定することが可能である。
【0025】また、前記第1のカウンタの値よりも小さ
い任意の値を前記送信レジスタにセットし、その後のデ
ータ送信において、受信側ノードからビジー状態通知信
号が送信されてきた場合に、前記送信レジスタに前記第
1のカウンタで取得した値以下の範囲で、前回セットし
た前記送信レジスタの値を再設定し、以後、前記値を固
定値として使用することが可能である。
【0026】本発明のシリアル転送方式は、このような
構成を備えていることにより、データ送信側ノードがあ
る一定の大きさのデータ送信パケットを連続して送信す
る場合に、受信側ノードにおける受信データ処理能力に
合わせた送信タイミングでデータ送信パケットを送るこ
とが可能となるので、効率的な転送を行うことができ、
再送信を繰り返すことがなくなり、これに伴うシリアル
バスの輻輳を抑制することができる。
【0027】
【発明の実施の形態】以下、図面に基づいて、本発明に
係るシリアル転送方式の実施形態を説明する。
【0028】図1は、IEEE1394規格を用いてデ
ータ転送を行う際の送信側ノードを構成する装置の概略
図である。
【0029】図1において、31は任意のトランザクシ
ョン間の時間を計測可能な送信間隔計測カウンタ、32
はこの送信間隔計測カウンタ31と同一の周波数で動作
する任意でリセット可能な送信カウンタ、33は送信間
隔計測カウンタ31の値もしくは任意の値を設定可能な
送信レジスタ、34は送信カウンタ32と送信レジスタ
33の値を比較し、これらが同一の値であれば、データ
送信部36に対して送信を命令する信号を出力するため
の比較回路、35は送信に必要なデータの長さや相手ノ
ードの指定を、IEEE1394規格のLSIのレジス
タに書き込み、データ自体をこのLSIにセットするた
めの送信データセット部、36は比較回路34からデー
タパケット送信命令を受けるか、または任意のタイミン
グで、送信データセット部35においてセットされたデ
ータ送信パケットをシリアルバス上に送信可能なデータ
送信部、37は相手ノードから送信されてきた各種のI
EEE1394規格のパケットを受信するためのデータ
受信部、38はデータ受信部37において受信したIE
EE1394規格のパケットのヘッダを解析してCPU
などに通知したり、データを含むパケットであった場
合、データそのものを他のメモリに格納する受信データ
処理部である。
【0030】また、図2は、データ転送を行う際に、I
EEE1394規格の系を介した2つの機器間における
データ送信時の動作を示す模式図である。図2におい
て、1は送信側ノード、2は受信側ノード、3〜6およ
び21はデータ送信パケットである。さらに詳しくは、
3は第1番目のデータ送信パケット、4〜6は同一のデ
ータを持つ第2番目のデータ送信パケット、21は第3
番目のデータ送信パケットである。
【0031】また、図2において、7、10および22
はデータ受信完了信号、8および9はビジー状態通知信
号、11は送信側ノード1がデータ送信の際に行うレジ
スタ書き込みなどに費やす送信データセット時間、13
は受信側ノード2がデータを受け取った後にレジスタか
ら読み出して上位の層へ通知などを行い次のデータ送信
パケットを受け入れることができるようになるまでの受
信データ処理時間、12は送信間隔計測カウンタ31に
より計測した、新規データ送信のためのパラメータおよ
びデータのセット開始からデータ受信完了信号までの時
間、14は受信側ノード2が次のデータ送信パケットを
受け取ることができるようになってから、実際に次のデ
ータ送信パケットが来るまでの待ち時間、20は実際に
は送信されないが、送信可能なタイミングである第3番
目のデータ送信パケット、26は送信間隔計測カウンタ
により計測分12の値をセットされた送信レジスタ33
のセット値、23は「0」から始まって送信レジスタセ
ット値26にセットされた値まで動作する送信カウンタ
32の動作分である。
【0032】ここで、受信データ処理時間13が、送信
データセット時間11より大きい場合のパケット送受信
動作について説明する。まず、送信側ノード1より第1
番目のデータ送信パケット3が送信され、受け取った受
信側ノード2からはデータ受信完了信号7が送信され
る。そして、データ受信完了信号7を受け取った送信側
ノード1では、すぐに第2番目のデータのセットを始
め、この動作開始時点において送信間隔計測カウンタ3
1の動作を開始させる。続いて、送信データセット時間
11を経過した後、第2番目のデータ送信パケット4を
送信する。ここで、送信側ノード1が送信したデータ送
信パケット4に対し、受信側ノード2は未だ第1番目の
データ送信パケット3を処理中であるため、ビジー状態
通知信号8を発行することとなる。
【0033】この時、送信側ノード1は、データ送信パ
ケット4の再送信動作として、第2番目のデータである
データ送信パケット5の送信を行う準備を始め、準備が
でき次第、データ送信パケット5を送信する。ここで
は、再びビジー状態通知信号9を受け取ってしまうた
め、再度の再送信動作により、データ送信パケット4、
5と同一のデータがセットされたデータ送信パケット6
を送信する。
【0034】ここで、データ送信パケット6を正常に受
け取ったことを通知する信号であるデータ受信完了信号
10が、受信側ノード2から送信側ノード1に対して発
行されるまで、送信間隔計測カウンタ31を動作させ、
新しいデータの送信動作が開始されてから、受信側ノー
ド2がデータ送信パケット6を受け取ることができるま
での時間12を計測し、送信間隔計測カウンタ31の値
を得る。
【0035】第1の実施例では、送信間隔計測カウンタ
31の値を送信レジスタ33にセットし、送信側ノード
1からの第3番目のデータ送信パケット21の送信時に
は、転送データの準備を開始すると同時に、送信間隔計
測カウンタ31と同一の周波数で動作する第2のカウン
タである送信カウンタ32を動作させ、送信カウンタ3
2における送信カウンタ動作分23の値が、送信レジス
タ33にセットした値である送信レジスタセット値26
と同一の値となった時、比較回路34からの命令により
データの送信を行う。すなわち、本来であればデータ送
信パケット20の位置で送信されるデータが、データ送
信パケット21の位置で送信されることとなる。
【0036】以上の動作により、送信側ノード1は、前
回送信したデータ送信パケットを受信側ノード2が処理
中であるためでビジー状態であると分かっていながら、
再送信パケットをセットし、送信するための各種の諸元
をLSIのレジスタにセットする動作を行ってしまうこ
とにより、LSI制御用CPUに負荷をかけてしまうと
いう不都合が生じることがない。また、CPUが行うI
EEE1394規格以外のLSIの制御や、そのスピー
ドなどに支障を来す可能性を生じさせてしまうことな
く、前記動作で送信したデータ送信パケットとそれに対
するビジー状態通知信号を送受信するため、バスの占有
権を独占して他の機器間の通信を阻害するという現象を
未然に防止することができる。
【0037】このように、第1の実施例では、送信レジ
スタセット値26が受信データ処理時間13よりも確実
に大きくなることにより、ビジー状態通知信号を受け取
ることなく、データ送信パケットの送信を行うことがで
きるため、IEEE1394規格のバス上における輻輳
を抑制することができる。
【0038】しかしながら、転送速度の面から考える
と、その差が大きい場合は、待ち時間14が大きくなり
最適とは言えず、送信レジスタセット値26が受信デー
タ処理時間13より小さくならない範囲内で、送信レジ
スタセット値26を可能な限り受信データ処理時間13
に近づけた方が良いのは自明である。そこで、第2の実
施例として、送信レジスタセット値26を受信データ処
理時間13に可能な限り近づける方法について説明す
る。
【0039】第2の実施例では、第2番目のデータ送信
パケット4、5および6を送信する時に得られた送信間
隔計測カウンタ値より所定の割合で小さな値を送信レジ
スタ33にセットし、第3番目のデータ送信パケット2
1の送信時には、転送データの準備の整った送信側ノー
ド1で、送信間隔計測カウンタ31と同一の周波数で動
作する第2のカウンタである送信カウンタ32を動作さ
せ、送信カウンタ32の値が、送信レジスタ33にセッ
トされた値と同一の値となったときに、データ送信パケ
ットの送信を行う。
【0040】この時、データ受信完了信号を受け取るこ
とができれば、送信レジスタセット値26が受信データ
処理時間13よりも大きいと判断し、ビジー状態通知信
号を受け取るまで、所定の割合で小さなセット値を送信
レジスタ33にセットしながら、以降のデータ送信パケ
ットの送信を行う。
【0041】一方、ビジー状態通知信号を受け取ってし
まった場合には、送信レジスタセット値26が受信デー
タ処理時間13よりも小さいと判断し、当該データ送信
パケットの再送信を行った後、送信レジスタ33に所定
の割合で大きな値をセットしながら、以降のデータ送信
パケットを送信する。そして、ビジー状態通知信号を受
け取ることなくデータ受信完了信号を受け取ることがで
きた時の値を送信レジスタの最適値としてセットし、以
降のデータ送信パケットについては、送信レジスタ33
の値を変更することなく、送信カウンタ32を用いてデ
ータの送信を行う。
【0042】以下、具体的な値を用いて前記動作の一例
を説明する。ここでは、送信側ノード1および受信側ノ
ード2は、それぞれ512バイトのデータ格納メモリを
持ち、送信するデータを1MBとする。また、送信側ノ
ード1におけるデータ送信のための512バイトのデー
タをメモリにセットするとともに、データ長や相手機器
のノード指定などをレジスタに書き込む。
【0043】また、データを送信できる状態になるまで
の時間、すなわち、図2における送信データセット時間
11を200μsとする。さらに、受信側ノード2で
は、データ送信パケットを受信してから当該データ送信
パケットを処理し終え、次のデータを受けとることがで
きるまでの時間、すなわち、図2における受信データ処
理時間13を530μsとする。なお、ここでは、デー
タがバス上に流れている間の時間は考慮しないものとす
る。
【0044】送信側ノード1において、上位アプリケー
ションが1MBのファイルを転送する場合、IEEE1
394規格の制御用LSIをコントロールするCPUに
おいては、512バイトのデータをメモリにセットし、
データ長や相手機器のノード指定などをレジスタに書き
込み、データのセットおよびレジスタの書き込みが終了
した時点で、第1番目のデータ送信パケット3を送信す
る。受信側ノード2では、第1番目のデータ送信パケッ
ト3を受信すると、送信側ノード1に対してデータ受信
を通知するデータ受信完了信号7を送信し、受信データ
の処理を行う。
【0045】さらに、送信側ノード1では、受信側ノー
ド2からのデータ受信完了信号7を受信すると、送信間
隔計測カウンタ31を動作させ、第2番目のデータ送信
の準備を始める。すなわち、送信側ノード1は、200
μs後には、受信側ノード2に対してデータ送信パケッ
ト4を送信する。ここで、受信側ノード2のデータ処理
には530μsかかるために、200μs後に、受信側
ノード2に対して次のデータであるデータ送信パケット
4が到着しても、受信側ノード2はこれを受け取ること
ができない。このため、受信側ノード2は、送信側ノー
ド1に対してビジー状態通知信号8を送信する。
【0046】一方、ビジー状態通知信号8を受け取った
送信側ノード1では、再送信のための準備を行い、受信
側ノード2に対して、200μs後に第2番目のデータ
送信パケット5の再送信を行う。この時点では第1番目
のパケット送信から400μs経過しているが、受信側
ノード2では、まだ受信データ処理は完了していないた
め、ビジー状態通知信号9を送信する。
【0047】続いて、ビジー状態通知信号9を受け取っ
た送信側ノード1では、再送信のための準備を行い、受
信側ノード2に対して、200μs後に第2番目のデー
タ送信パケット6の再送信を行う。この時点では、第1
番目のパケット送信からの時間が、受信データ処理時間
の530μsを上回る600μs経過しているため、デ
ータ送信パケット6を受信することができるので、送信
側ノード1に対してデータ受信完了信号10を送信す
る。続いて、データ受信完了信号10を受信した送信側
ノード1は、送信間隔計測カウンタ31を停止させ、送
信レジスタセット値である600μsを得る。
【0048】第1の実施例では、600μsを送信レジ
スタ33にセットし、第3番目以降のデータ送信パケッ
トを送信すれば、ビジー状態通知信号を受け取らずにこ
のデータ送信パケットを送信することが可能である。こ
の場合に、1MB全てのデータを送信する時間は、51
2バイトのデータ送信パケットを送受信するために60
0μsかかるため、およそ1229ms程である。
【0049】第2の実施例では、第3番目のデータ送信
パケット21を送信する際、送信間隔計測カウンタ31
の値を基準として任意の値に変更した後に、送信レジス
タ33にセットする。ここでは、例として600μsよ
り20μs小さくした送信レジスタセット値580μs
を、送信レジスタ33にセットすることとする。
【0050】第3番目のデータ送信パケット21の送信
時には、送信側ノード1において、送信カウンタ32を
動作開始させると同時に、データの送信準備を200μ
sで完了させ、送信カウンタ32が送信レジスタ33と
同一の値、すなわち、送信レジスタセット値580μs
になったと同時に、比較回路34からの命令により、受
信側ノード2へ既に送信準備の完了したデータ送信パケ
ット21を送信する。この時の512バイトの送信時間
は、580μsとなる。さらに、送信レジスタ33の値
を前回の値より20μs小さくしてパケットを送信する
動作を繰り返すと、図示しない第6番目のデータ送信パ
ケットを送信する際の送信間隔が受信データ処理時間の
530μsを下回る送信レジスタセット値520μsと
なり、受信側ノード2からは、送信側ノード1に対して
ビジー状態通知信号が発行される。
【0051】ここでは、まず、第6番目のデータ送信パ
ケットを再送信した後に、520μsとなっている送信
レジスタ33の値を、第5番目のパケット送信時の値で
ある540μsに再設定し、第7番目以降のデータ送信
パケットはこのままの送信レジスタセット値の間隔で送
信する。この場合に、1MB全てのデータを送信するた
めの時間は、512バイトのデータ送信パケットを送受
信するために540μsかかるため、およそ1106m
s程であり、第1の実施例の1229msに対して10
%程の短縮となる。このようにして、ビジー状態通知信
号を受け取らずにデータ送信パケットを送信することが
できるとともに、受信側ノード2における待ち時間を極
力抑えた通信を行うことができる。
【0052】また、前述した説明では、送信レジスタ3
3の値を前回の送信レジスタにセットした値より所定の
割合で小さくしてゆき、ビジー状態通知信号を受け取っ
た時点で、送信レジスタ33の値を1つ前のパケット送
信時の値に戻して最適値を求める手法を説明したが、そ
れ以外の手法を採用することも可能である。例えば、送
信レジスタ33の値を1つ前のパケット送信時の値の半
分の値にセットし、ビジー状態通知信号を受け取った時
点で、1つ前のパケット送信時の値と当該パケット送信
時の値の平均値をセットしてゆき、ビジー状態通知信号
を受け取ることなくデータ受信完了信号を受け取ること
ができた時の値を送信レジスタ33の最適値とすること
も可能である。
【0053】いずれにしても、送信レジスタ33の値を
最適にし、図2における待ち時間14、25を極力短く
し、受信データ処理時間13、24に近づけることによ
り、一層高速なデータ転送を実現することができる。
【0054】なお、第1のカウンタである送信間隔計測
カウンタ31を使用して計測するトランザクションの個
所はあくまで一例であり、例えば、図2において予め送
信データセット時間11を計測しておけば、既に述べた
新規の送信データセット開始の時点から送信間隔計測カ
ウンタ31を動作させる必要はなく、その後のデータ送
信パケット4あるいは5の送信時から送信間隔計測カウ
ンタ31を動作させ、データ受信完了信号10までの時
間を計測すればよい。そして、ここで得られた値を送信
レジスタ33にセットするが、第2のカウンタである送
信カウンタ32の動作開始時に、送信データセット時間
11だけのオフセットを加えることにより、新規のデー
タセット開始の個所から計測するのと同等の動作を期待
でき、カウンタの値が少なくなることから、CPUと回
路自体の負荷が軽減される。また、前述した全ての手段
は、送信データセット時間11に依存しないため、再送
信の際に再びパラメータや送信データのセットが不要な
LSIなど、送信データセット時間11が存在しない系
においても適用することが可能である。
【0055】
【発明の効果】以上説明したように、本発明のシリアル
転送方式によれば、比較的大きなデータをある単位に分
割して連続して転送を行うIEEE1394規格のプロ
トコルのライトトランザクションにおいて、受信側ノー
ドから頻繁にビジー状態通知信号が送られてくる場合、
任意のトランザクション間の時間を計測して、次回のト
ランザクション時に送信レジスタに前記計測時間をセッ
トし、送信カウンタを動作させて送信レジスタと等しい
値になったときにデータ送信パケットの送信を行うこと
により、受信側ノードにおいて無理なくデータ送信パケ
ットを取得することができる。
【0056】また、任意の割合で送信間隔計測カウンタ
の値よりも小さな値を送信レジスタにセットしデータ送
信パケットを送信することにより、トランザクション間
の無駄な待ち時間が少なくなる。ここで、送信レジスタ
の値を前回の値の半分にしてセットする場合には、ビジ
ー状態が発生する頻度は高くなることが予想されるが、
転送の初期において最適な転送間隔値を取得するという
優れた効果を奏することができる。
【0057】また、送信レジスタの値を任意で小さくと
る動作によって、データ送信の際に、受信側機器よりビ
ジー状態の通知信号が発行されてしまった場合、送信レ
ジスタの値を任意である程度大きく取り、再び受信側機
器よりビジー状態通知信号が発行されることを防止でき
る。ここで、送信レジスタの値を前回の送信レジスタの
値より数%程度大きくとることにより、再びビジー状態
が発生する頻度は高くなることが予想されるが、待ち時
間を可能な限り減らすという優れた効果を奏することが
できる。
【0058】また、送信レジスタの値を前回と前々回の
値の平均を取ってセットする場合には、転送間隔値を可
能な限り減らすことは難しいが、比較的早い段階で最適
値を取得可能であるという優れた効果を奏することがで
きる。すなわち、本発明のシリアル転送方式によれば、
データ転送を行う際の再試行の軽減を図って、最適な転
送間隔でデータ転送を行うことにより、同一データの転
送シリアルバスにおける輻輳を抑制することができる。
【図面の簡単な説明】
【図1】IEEE1394規格を用いてデータ転送を行
う際の送信側ノードを構成する装置の概略図である。
【図2】データ転送を行う際に、IEEE1394規格
の系を介した2つの機器間におけるデータ送信時の動作
を示す模式図である。
【図3】IEEE1394規格のシリアルバス上に2台
のノードが接続された場合におけるライトトランザクシ
ョン動作の一例を示す模式図である。
【図4】IEEE1394規格のシリアルバス上に4台
のノードが接続された場合に、複数のライトトランザク
ションを行う場合の模式図である。
【符号の説明】
1 送信側ノード 2 受信側ノード 3 第1番目のデータ送信パケット 4〜6 第2番目のデータ送信パケット 7、10、22 データ受信完了信号 8、9 ビジー状態通知信号 11 送信データセット時間 13、24 受信データ処理時間 12 パラメータ及びデータのセット開始からデータ受
信完了信号までの時間 14、25 待ち時間 20 第3番目のデータ送信パケット(送信可能状態) 21 第3番目のデータ送信パケット 26 送信レジスタセット値 23 送信カウンタ動作分 31 送信間隔計測カウンタ、 32 送信カウンタ 33 送信レジスタ 34 比較回路 35 送信データセット部 36 データ送信部 37 データ受信部 38 受信データ処理部 100 送信側ノード 101 受信側ノード 102、105 互いに異なるデータ送信パケット 103、106 データ受信完了信号 104 ビジー状態通知信号 110 送信側ノードA 111 受信側ノードA 112 データ送信パケットA 113 データ受信完了信号A 114 ビジー状態通知信号A 120 送信側ノードB 121 受信側ノードB 122 データ送信パケットB 123 データ受信完了信号B
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B077 NN02 5K032 AA01 CD01 5K034 AA01 DD03 FF12 HH65 NN22 QQ09

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 2台以上の機器がシリアルバスで繋がれ
    た系においてシリアルデータを送受信するためのシリア
    ル転送方式であって、 任意のトランザクション間の時間を計測可能な第1のカ
    ウンタと、 任意の値をセット可能な送信レジスタと、 前記送信レジスタにセットされた値まで動作する第2の
    カウンタと、 前記第2のカウンタの値が前記送信レジスタの値と同一
    となった場合に、データ送信パケットを送信するための
    処理回路とを備えたことを特徴とするシリアル転送方
    式。
  2. 【請求項2】 前記第1のカウンタの値よりも小さい任
    意の値を前記送信レジスタにセットし、 その後のデータ送信において、受信側ノードからビジー
    状態通知信号が送信されてきた場合に、前記送信レジス
    タに前記第1のカウンタで取得した値以下の範囲で、前
    回セットした前記送信レジスタの値より大きな任意の値
    を再設定することを特徴とする請求項1記載のシリアル
    転送方式。
  3. 【請求項3】 前記第1のカウンタの値よりも小さい任
    意の値を前記送信レジスタにセットし、 その後のデータ送信において、受信側ノードからビジー
    状態通知信号が送信されてきた場合に、前記送信レジス
    タに前記第1のカウンタで取得した値以下の範囲で、前
    回セットした前記送信レジスタの値を再設定し、 以後、前記値を固定値として使用することを特徴とする
    請求項1記載のシリアル転送方式。
JP2000382432A 2000-12-15 2000-12-15 シリアル転送方式 Pending JP2002185560A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000382432A JP2002185560A (ja) 2000-12-15 2000-12-15 シリアル転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000382432A JP2002185560A (ja) 2000-12-15 2000-12-15 シリアル転送方式

Publications (1)

Publication Number Publication Date
JP2002185560A true JP2002185560A (ja) 2002-06-28

Family

ID=18850255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000382432A Pending JP2002185560A (ja) 2000-12-15 2000-12-15 シリアル転送方式

Country Status (1)

Country Link
JP (1) JP2002185560A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006340194A (ja) * 2005-06-03 2006-12-14 Sharp Corp シリアルインターフェイス回路
JP2010198226A (ja) * 2009-02-24 2010-09-09 Canon Inc データ処理装置、データ処理方法およびプログラム
JP2010218253A (ja) * 2009-03-17 2010-09-30 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP2011081643A (ja) * 2009-10-08 2011-04-21 Canon Inc 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、およびその制御方法
US9043524B2 (en) 2009-02-24 2015-05-26 Canon Kabushiki Kaisha Information processing apparatus, method thereof, and storage medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006340194A (ja) * 2005-06-03 2006-12-14 Sharp Corp シリアルインターフェイス回路
JP2010198226A (ja) * 2009-02-24 2010-09-09 Canon Inc データ処理装置、データ処理方法およびプログラム
US9043524B2 (en) 2009-02-24 2015-05-26 Canon Kabushiki Kaisha Information processing apparatus, method thereof, and storage medium
JP2010218253A (ja) * 2009-03-17 2010-09-30 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP2011081643A (ja) * 2009-10-08 2011-04-21 Canon Inc 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、およびその制御方法
US8754896B2 (en) 2009-10-08 2014-06-17 Canon Kabushiki Kaisha Data processing apparatus having a parallel processing circuit including a plurality of processing modules, and method for controlling the same

Similar Documents

Publication Publication Date Title
US5905874A (en) Method and system for reducing data transfer latency when transferring data from a network to a computer system
US5802057A (en) Fly-by serial bus arbitration
CN103460201B (zh) 串行接口
US4593281A (en) Local area network interframe delay controller
US6252879B1 (en) Single counter for controlling multiple finite state machines in a multi-port bridge for local area network
US6157951A (en) Dual priority chains for data-communication ports in a multi-port bridge for a local area network
US6442168B1 (en) High speed bus structure in a multi-port bridge for a local area network
JP2002185560A (ja) シリアル転送方式
TW387163B (en) Expandable repeater
JP4098910B2 (ja) パケット転送制御装置及びパケット転送方法
JPH04263545A (ja) データ通信装置
JPH11298555A (ja) デジタルデータのシリアル転送システムおよび方法
JP2003289315A (ja) パケット転送装置およびパケット転送方法
JP2002359626A (ja) シリアルデータ受信装置
JP3753622B2 (ja) パケット送受信装置
JPH09205431A (ja) 無線データ通信方式
KR100539518B1 (ko) 버스시스템에서의 어싱크로너스 패킷(AsynchronousPacket) 중재방법
JP2002281034A (ja) 情報転送装置
KR20050063605A (ko) 무선 랜 시스템과 그의 dma 데이터 송수신 제어방법
JP2005267324A (ja) 構内交換機及びデータ転送処理システム
JP2002366508A (ja) データ転送方法
JP2003037596A (ja) 通信装置及び通信方法
JPS59119439A (ja) バツフア・ビジ−回避方式
JPH0437345A (ja) Lan通信方式
JPS60174546A (ja) デ−タ伝送装置の制御方法