JPH0955718A - データ通信装置 - Google Patents

データ通信装置

Info

Publication number
JPH0955718A
JPH0955718A JP20894695A JP20894695A JPH0955718A JP H0955718 A JPH0955718 A JP H0955718A JP 20894695 A JP20894695 A JP 20894695A JP 20894695 A JP20894695 A JP 20894695A JP H0955718 A JPH0955718 A JP H0955718A
Authority
JP
Japan
Prior art keywords
data
packet
communication
transmission
received
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
JP20894695A
Other languages
English (en)
Inventor
Yoshiyuki Uejima
良之 上島
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP20894695A priority Critical patent/JPH0955718A/ja
Publication of JPH0955718A publication Critical patent/JPH0955718A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 通信状態がよければパケットのデータ長を長
くして通信速度を向上させ、通信状態が悪ければパケッ
トのデータ長を短くしてエラー状態からの回復を早くす
る。 【解決手段】 RAM16には送信すべきデータ及び受
信したデータが蓄積される。RAM16内の送信データ
は送信データ長カウンタ1に通信状態に応じて書込まれ
た送信データ長にしたがってバッファ管理回路2で管理
される。バッファ管理回路2が管理しているRAM16
内の送信データはDMA14によってデータバス100
を介して送信FIFO3に転送され、パラレルシリアル
変換回路5とセレクタ11とを介して受信側に送信され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ通信装置に関
し、特に送信側と受信側との間で予め設定された通信手
順(通信プロトコル)にしたがってパケットデータの送
受信を行うデータ通信装置に関する。
【0002】
【従来の技術】従来、この種のデータ通信装置において
は、例えば端末のコンピュータがホストのコンピュータ
からデータをダウンロードする場合等、コンピュータ間
でデータを送受信する時に用いられる。
【0003】この場合、コンピュータはデータを数百か
ら数千バイト程度の大きさに分割し、分割したデータに
ヘッダやエラーチェック用の情報を付加してフレームを
構成してパケット化している。このパケット化したデー
タをコンピュータ相互間で取り決めた通信プロトコルに
したがって送受信している。
【0004】通信プロトコルとしては、すでに幾つか決
められたものがある。例えば、図13〜図15に示すよ
うに、送信側がパケットデータを送信した後に、そのパ
ケットデータの正常受信または異常受信を示す受信側か
らの応答を待って次のパケットデータの送信または同じ
パケットデータの再送を行うものがある。この種の通信
プロトコルとしては、例えば、XMODEMやYMOD
EMがある。
【0005】以下、図13〜図15を用いてその通信プ
ロトコルについて説明する。まず、送信側では、図13
に示すように、パケットデータの送信処理を実行する
と(図13ステップS61)、そのパケットデータの
送信処理に対する受信側からの応答の待ち状態となる
(図13ステップS62)。
【0006】送信側では受信側からの応答パケットを受
信すると、その応答パケットの受信処理を行い(図13
ステップS63)、その応答パケットがACK(Ack
nowledge)(肯定応答)パケットか、あるいは
NACK(NegativeAcknowledge)
(否定応答)パケットかを判断する(図13ステップS
64)。
【0007】送信側では例えばパケットデータを送信
した時に受信側からNACKパケットを受信すると、ス
テップS61に戻って同じパケットデータの再送を行
う。また、送信側では受信側からACKパケットを受信
すると、全てのパケットデータが送信完了したかを判定
する(図13ステップS65)。
【0008】送信側は全てのパケットデータが送信完了
したと判定すると処理を終了し、送信完了していないと
判定すると次の送信パケットデータの処理を実行する
(図13ステップS66)。
【0009】一方、受信側では、図14に示すように、
送信側からパケットデータ,が送信されてくると、
そのパケットデータ,の受信処理を行い(図14ス
テップS71)、受信したパケットデータ,を解析
してデータ長の確認やチェックサムまたはCRC(Cy
clic Redundancy Check cod
e)等によるエラーチェックを行って受信パケットがエ
ラーか否かを判定する(図14ステップS72)。
【0010】受信側は受信パケットにエラーがないと判
定すると、正しくデータを受信することができたという
ことを送信側に伝えるためにACKパケットを送信する
(図14ステップS73)。また、受信側は受信パケッ
トにエラーがあると判定すると、正しくデータを受信す
ることができなかったということを送信側に伝えるため
にNACKパケットを送信する(図14ステップS7
4)。上記の処理動作のシーケンスは図15に示す通り
である。
【0011】この場合、送信側では受信側からのNAC
Kパケットを受信するか、あるいはACKもNACKも
受信できなかった場合に前回送信したパケットデータ
とおなじパケットデータを再送する。また、これらの
通信プロトコルではパケットデータの長さが固定となっ
ている。
【0012】上記の通信プロトコル以外に、送信側が受
信側からの応答を待たずにパケットデータを順次送信
し、受信側で異常が検出された時にその異常を示す応答
を、予め設定された数だけ正常受信した時にその正常受
信を示す応答を夫々受信側から送信側に返送するものも
ある。この種の通信プロトコルとしては、例えば、ZM
ODEMやB−Plus、及びQuick−VAN等が
ある。
【0013】以下、図16〜図18を用いてその通信プ
ロトコルについて説明する。まず、送信側では、図16
に示すように、パケットデータの送信か受信かを判断し
(図16ステップS81)、パケットデータの送信と判
断すると、パケットデータの送信処理を全てのパケット
データの送信が完了するまで実行する(図16ステップ
S81〜S84)。すなわち、送信側では受信側からの
ACKの返送を待たずに、パケットデータ〜を次々
に送信するようになっている。
【0014】送信側はパケットデータの受信と判断する
と、パケットデータの受信処理を行い(図16ステップ
S85)、受信側からの応答パケットがACKパケット
かあるいはNACKパケットかを判断する(図16ステ
ップS86)。
【0015】送信側では受信側からの応答パケットがA
CKパケットであると判断するとパケットデータの送信
処理をそのまま続行し、応答パケットがNACKパケッ
トであると判断するとそのNACKパケットに付加され
たパケット番号のパケットデータを再送する(図16
ステップS87)。
【0016】送信側では受信側からNACKパケットま
たはACKパケットの返送を受信した時、既に幾つかの
パケットデータの送信が終了しているので、NACKに
対応するパケットデータ以降の送信も完了しているこ
とになる。しかしながら、送信側がパケットデータ〜
を送信する時にパケットデータ〜各々にパケット
番号を付加して送信しているので、受信側ではどのパケ
ットデータでエラーが発生したのかをパケット番号で通
知すれば、送信側がそのパケット番号のパケットデータ
だけを再送することが可能となる。
【0017】一方、受信側では、図17に示すように、
送信側からパケットデータ〜が送信されてくると、
そのパケットデータ〜の受信処理を行い(図17ス
テップS91)、受信したパケットデータを解析してデ
ータ長の確認やチェックサムまたはCRC等によるエラ
ーチェックを行って受信パケットがエラーか否かを判定
する(図17ステップS92)。
【0018】受信側は受信パケットにエラーがないと判
定すると、正しくデータを受信することができた回数が
予め設定されたN回(Nは正の整数)となったか否かを
判定する(図17ステップS93)。受信側は正しくデ
ータを受信することができた回数がN回になると、正し
くデータを受信したことを送信側に伝えるためにACK
パケットを送信する(図17ステップS94)。
【0019】また、受信側は受信パケットにエラーがあ
ると判定すると、正しくデータを受信できなかったこと
を送信側に伝えるためにNACKパケットを送信する
(図17ステップS95)。上記の処理動作のシーケン
スは図18に示す通りである。
【0020】図12は従来のデータ通信装置の構成例を
示すブロック図である。図において、従来のデータ通信
装置はCPU51によって制御され、CPU(中央処理
装置)51を動作させるためのプログラムはROM(リ
ードオンリメモリ)53に格納されている。
【0021】RAM(ランダムアクセスメモリ)54に
は送信すべきデータ及び受信したデータが蓄積される。
RAM54内の送信データはDMA(ダイレクトメモリ
アクセス)52によってデータバス300を介して送信
FIFO(ファーストイン・ファーストアウト)41に
転送される。この場合、RAM54内の送信データはD
MA52を用いることなく、CPU51がRAM54か
ら読出して送信FIFO41に書込む方法も可能であ
る。
【0022】まず、送信時には送信FIFO41に書込
まれた送信データがパラレルシリアル変換回路(P t
o S)43によってパラレル形式のデータからシリア
ル形式のデータに変換される。
【0023】CPU51がパケットの送信開始を指示す
ると、データ部の送信に先だってパケットの先頭を示す
データ、送信相手を指定するアドレス、パケットの順番
を示す番号等を含むヘッダがヘッダ発生回路(Head
er)45から送信される。続いて、パラレルシリアル
変換回路43でシリアル形式のデータに変換されたデー
タ部がセレクタ(SEL)49で選択されて送信され
る。
【0024】設定されたデータ長分のデータが送信し終
わると、DMA52またはCPU51はRAM54から
送信FIFO41へのデータの転送を終了する。続い
て、セレクタ49が切替えられ、通信相手側でのデータ
エラーチェック用としてCRCデータまたはチェックサ
ムデータがCRC発生回路(CRC)47から送信さ
れ、パケットデータの送信が終了する。
【0025】一方、受信時には受信したデータがマルチ
プレクサ(MUX)50によってヘッダ部とデータ部と
エラーチェック部とに分離され、ヘッダ部はヘッダ解析
回路(Header)46で処理され、エラーチェック
部はCRC照合回路(CRC)48で処理される。
【0026】データ部に対しては送信時の処理と全く逆
の処理が行われる。つまり、データ部はシリアルパラレ
ル変換回路(S to P)44でシリアル形式のデー
タからパラレル形式のデータに変換される。
【0027】シリアルパラレル変換回路44でパラレル
形式のデータに変換された受信データは受信FIFO4
2に順次書込まれていく。受信FIFO42に書込まれ
た受信データはDMA52によって受信FIFO42か
らRAM54に転送される。この場合も、送信時と同様
に、CPU51が介在して受信データを受信FIFO4
2からRAM54に転送させることも可能である。
【0028】上述した如く、ROM53にはCPU51
を動作させるためのプログラムが格納されており、その
プログラムにしたがって通信プロトコルが実現される。
上記の通信プロトコルの処理手順は図13及び図14と
図16及び図17とに夫々示す通りである。
【0029】図13及び図14に示す通信プロトコルの
場合、送信側では送信処理によって1つのパケットを送
信すると、受信側からの応答の待ち状態となる。受信側
からの応答がなく、タイムアウトした場合にはそのパケ
ットデータの再送を行い、受信側からの応答があった場
合には受信処理によって受信側からの応答パケットを受
信する。
【0030】送信側では受信した応答パケットを解析
し、ACKパケットかあるいはNACKパケットかを判
断する。NACKパケットを受信した場合には、送信し
たパケットデータと同じパケットデータの再送を行う。
ACKパケットを受信した場合には、全てのパケットデ
ータの送信が終了したかどうかを判断し、全てのパケッ
トデータの送信が終了すれば、データ通信処理を終了す
る。全てのパケットデータの送信が終了していなけれ
ば、次のパケットデータを送信する。
【0031】次に、受信側ではパケットデータを受信す
ると、そのパケットデータにエラーがあるかどうかを判
断し、エラーがあった場合にはNACKパケットを送信
し、エラーがなければACKパケットを送信する。
【0032】図16及び図17に示す通信プロトコルの
場合、送信側ではCPUに対する割込みの発生によって
送信処理か受信処理かの判断を行う。送信側ではパケッ
トデータの送信要求が発生したならばパケットの送信処
理を行い、パケットデータの受信を検出したならばパケ
ットデータの受信処理を行う。
【0033】送信側では受信したパケットデータの種類
が判断され、NACKパケットを受信したならば、その
NACKパケットで指示されたパケットデータを再送す
る。送信側ではACKパケットを受信したならば、次の
処理に移行する。送信処理あるいは受信処理を行うと、
送信側では全てのパケットデータの送信が完了したかど
うかを判断し、全てのパケットデータの送信が完了する
とデータ通信処理を終了し、まだ送信すべきパケットデ
ータがあれば次のパケットデータの送信処理を行う。
【0034】受信側ではパケットデータの受信処理を行
うと、その受信したパケットデータにエラーがあるかど
うかを判断する。このとき、エラーの有無の判断にはC
RC照合回路からの情報やデータ長が正しいかどうか等
を考慮して行う。エラーが発生している場合にはNAC
Kパケットを送信する。
【0035】また、エラーが発生していない場合には、
N回受信する毎にACKパケットを送信するようにする
と、パケットデータをN回受信したかどうかを判断し、
パケットデータをN回受信する毎にACKパケット送信
処理を行い、N回でなければ処理を終了する。
【0036】
【発明が解決しようとする課題】一般的に、パケットデ
ータ通信では実際に送りたいパケットデータにアドレス
やパケット番号、及びエラーチェックのための情報等が
付加されるので、パケットデータ長が短かければ実際の
データに対して付加される部分のデータの割合が大きく
なってしまい、その分データ通信中にエラーが発生する
確率が高くなり、付加されたデータの分だけ通信効率が
悪くなる。逆に、パケットデータ長が長ければ、データ
通信中にエラーが発生して再送する必要が生じた場合、
再送しなければならないデータ量も大きくなる。
【0037】上述した従来のデータ通信装置では、送信
側がパケットデータを送信した後に、そのパケットデー
タの正常受信または異常受信を示す受信側からの応答を
待って次のパケットデータの送信または同じパケットデ
ータの再送を行う通信プロトコルの場合、パケットデー
タ送信毎にACKパケットの確認を必ず必要としている
ので、全てのデータの転送完了までに時間がかかり、通
信効率が悪くなる。
【0038】また、この通信プロトコルの場合にはパケ
ットデータ長が固定であるため、回線の状況がよくても
必ず実際のデータ以外にヘッダやCRCが付加されるの
で、通信効率が悪くなる。さらに、エラーの発生確率が
悪くなり、再送時のデータ量も大きくなる等の問題があ
る。
【0039】一方、送信側が受信側からの応答を待たず
にパケットデータを次々に送信する通信プロトコルの場
合、送信側ではACKパケットの返送で確認されたパケ
ットデータ以外は受信側に送信し終わってもバッファし
ておく必要があり、バッファ用のメモリが必要となる。
【0040】また、送信側及び受信側ともにエラーがあ
った場合には前のデータに戻らなくてはならないので、
バッファ内のパケットデータの順番の管理が複雑にな
る。仮に、バッファの管理を軽減するために、エラーの
あったパケットデータ以降を全て再送するようにする
と、再送するデータが多くなり、通信効率が悪くなる。
【0041】特開平4−243343号公報には、変復
調装置の復調側に設けた復調エラーベクトル出力装置か
ら出力される復調エラーベクトルの大きさを基に信号伝
播路の状態を判断し、信号伝播路の状態の判断結果に基
づいてデータパケット長決定装置によって変復調装置の
送信データのパケット長の最適化処理を行ってデータ通
信効率を向上させるパケット通信方式が開示されてい
る。
【0042】この方式では送信データのパケット長の最
適化を行っているのであるが、自分で受信している状況
から信号伝播路の状態を判断し、自分の送信するパケッ
ト長を決定しているため、送信方向と受信方向とで信号
伝播路の状況が異なる場合には判断を誤ることがある。
【0043】また、送信方向と受信方向とで通信するデ
ータ量が異なる場合、例えば上記のような通信プロトコ
ルを用いてデータ転送を行う場合には、データパケット
を送信する側に比べてACKパケットまたはNACKパ
ケットを送信する側では通信するデータ量が少ない。し
たがって、このパケット通信方式では信号伝播路の状態
を判断する情報量も少ないため、適切な信号伝播路の状
態を判断することが困難である。
【0044】また、特開平2−125551号公報に
は、複数のデータパケットを通信回線を通じて順次受信
側に伝送するにあたり、1個のデータパケットを伝送す
る毎に、受信されたデータパケットのエラー状態に応じ
て受信側から発せられる再送要求の有無を検出し、再送
要求があれば再送要求の対象とされたデータパケットを
再度受信側に伝送するとともに、その再送回数を計数
し、再送要求がなければ次に伝送すべき新たなデータパ
ケットについてのパケット長を、新たなデータパケット
の直前のデータパケットについて計数された再送回数に
応じて設定することで、データ通信効率を向上させるデ
ータパケット伝送方法が開示されている。
【0045】この方法では受信側から発せられる再送要
求の回数から判断してデータパケット長を設定している
が、送信側においては1個のデータパケットを伝送する
毎に、受信側から発せられる再送要求を検出しているた
め、データ通信効率が悪くなる。
【0046】そこで、本発明の目的は上記の問題点を解
消し、通信状態がよければパケットのデータ長を長くし
て通信速度を向上させることができ、通信状態が悪けれ
ばパケットのデータ長を短くしてエラー状態からの回復
を早くすることができるデータ通信装置を提供すること
にある。
【0047】
【課題を解決するための手段】本発明によるデータ通信
装置は、1つのファイルを複数のパケットに分割して通
信する時に通信先の装置からの応答を確認せずにパケッ
トを送信するデータ通信装置であって、前記通信先の装
置との間の通信状態に応じて前記パケットのデータ長を
可変する可変手段を備えている。
【0048】本発明による他のデータ通信装置は、受信
データ及び送信データを蓄積しておくためのランダムア
クセスメモリを含み、前記ランダムアクセスメモリに蓄
積された前記送信データを複数のパケットに分割して通
信する時に通信先の装置からの応答を確認せずにパケッ
トを送信するデータ通信装置であって、前記通信先の装
置との間の通信状態に応じて前記パケットのデータ長を
可変する可変手段を備えている。
【0049】本発明による別のデータ通信装置は、受信
データ及び送信データを蓄積しておくためのランダムア
クセスメモリと、データ通信上のデータ通信速度を調整
するために前記送信データを一時記憶するための一時記
憶手段と、前記ランダムアクセスメモリと前記一時記憶
手段との間の送信データのデータ転送を制御する制御手
段とを含み、前記ランダムアクセスメモリに蓄積された
前記送信データを複数のパケットに分割して通信する時
に通信先の装置からの応答を確認せずにパケットを送信
するデータ通信装置であって、前記通信先の装置との間
の通信状態に応じて前記パケットのデータ長を可変する
可変手段を備えている。
【0050】
【発明の実施の形態】まず、本発明の作用について以下
に述べる。
【0051】1つのファイルを複数のパケットに分割し
て通信する時に通信先の装置からの応答を確認せずにパ
ケットを送信するデータ通信装置において、通信先の装
置との間の通信状態、つまり受信側からのACKパケッ
トまたはNACKパケットの受信に応じてパケットのデ
ータ長を可変する。
【0052】これによって、通信状態がよければパケッ
トのデータ長を長くして通信速度を向上させることが可
能となり、通信状態が悪ければパケットのデータ長を短
くしてエラー状態からの回復を早くすることが可能とな
る。
【0053】すなわち、通信状態がよい時にパケットの
データ長を長くすると、全体のパケット数が少なくな
り、ヘッダやCRC等のオーバヘッド部分を少なくする
ことができるので、通信時間全体で見ると従来の通信時
間よりも短縮することが可能となる。
【0054】また、通信状態が悪い時にパケットのデー
タ長を短くすると、エラーが発生した場合でも再送する
データ量を少なくすることができるので、通信時間全体
で見ると従来の通信時間よりも短縮することが可能とな
る。
【0055】次に、本発明の実施例について図面を参照
して説明する。図1は本発明の一実施例の構成を示すブ
ロック図である。図において、本発明の一実施例による
データ通信装置は送信データ長カウンタ(CNT)1
と、バッファ管理回路(MNT)2と、送信FIFO
(ファーストイン・ファーストアウト)3と、受信FI
FO4と、パラレルシリアル変換回路(P to S)
5と、シリアルパラレル変換回路(S to P)6
と、ヘッダ発生回路(Header)7と、ヘッダ解析
回路(Header)8と、CRC発生回路(CRC)
9と、CRC照合回路(CRC)10と、セレクタ(S
EL)11と、マルチプレクサ(MUX)12と、CP
U(中央処理装置)13と、DMA(ダイレクトメモリ
アクセス)14と、ROM(リードオンリメモリ)15
と、RAM(ランダムアクセスメモリ)16とから構成
されている。
【0056】尚、送信データ長カウンタ1と、送信FI
FO3と、受信FIFO4と、CPU13と、DMA1
4と、ROM15と、RAM16とはデータバス100
を介して互いに接続されている。
【0057】本発明の一実施例によるデータ通信装置は
CPU13によって制御され、CPU13を動作させる
ためのプログラムはROM15に格納されている。RA
M16には送信すべきデータ及び受信したデータが蓄積
される。RAM16内の送信データはDMA14によっ
てデータバス100を介して送信FIFO3に転送され
る。この場合、RAM15内の送信データはDMA14
を用いることなく、CPU13がRAM15から読出し
て送信FIFO3に書込む方法も可能である。
【0058】まず、送信時には送信FIFO3に書込ま
れた送信データがパラレルシリアル変換回路5によって
パラレル形式のデータからシリアル形式のデータに変換
される。
【0059】CPU13がパケットの送信開始を指示す
ると、データ部の送信に先だってパケットの先頭を示す
データ、送信相手を指定するアドレス、パケットの順番
を示す番号等を含むヘッダがヘッダ発生回路7から送信
される。続いて、パラレルシリアル変換回路5でシリア
ル形式のデータに変換されたデータ部がセレクタ11で
選択されて送信される。
【0060】設定されたデータ長分のデータが送信し終
わると、DMA14またはCPU13はRAM15から
送信FIFO3へのデータの転送を終了する。続いて、
セレクタ11が切替えられ、通信相手側でのデータエラ
ーチェック用としてCRCデータまたはチェックサムデ
ータがCRC発生回路9から送信され、パケットデータ
の送信が終了する。
【0061】このとき、CPU13から送信データ長カ
ウンタ1に通信状態に応じた送信データ長が書込まれ
る。バッファ管理回路2は送信データ長カウンタ1に書
込まれた値にしたがってRAM16内のデータを管理
し、RAM16内のどの部分をパケット化するかを決定
するとともに、そのパケット長を決定する。
【0062】一方、受信時には受信したデータがマルチ
プレクサ12によってヘッダ部とデータ部とエラーチェ
ック部とに分離され、ヘッダ部はヘッダ解析回路8で処
理され、エラーチェック部はCRC照合回路10で処理
される。
【0063】データ部に対しては送信時の処理と全く逆
の処理が行われる。つまり、データ部はシリアルパラレ
ル変換回路6でシリアル形式のデータからパラレル形式
のデータに変換される。
【0064】シリアルパラレル変換回路6でパラレル形
式のデータに変換された受信データは受信FIFO4に
順次書込まれていく。受信FIFO4に書込まれた受信
データはDMA14によって受信FIFO4からRAM
15に転送される。この場合も、送信時と同様に、CP
U13が介在して受信データを受信FIFO4からRA
M15に転送させることも可能である。
【0065】図2は本発明の一実施例によるパケット送
信処理を示すフローチャートであり、図3は本発明の一
実施例によるパケット受信処理を示すフローチャートで
あり、図4は本発明の一実施例の処理動作を示すシーケ
ンスチャートである。これら図1〜図4を用いて本発明
の一実施例の処理動作について説明する。
【0066】送信側ではCPU13に対する割込みの発
生によって送信処理か受信処理かの判断を行う(図2ス
テップS1)。送信側ではパケットデータの送信要求が
発生したならばパケットの送信処理を行い(図2ステッ
プS2)、パケットデータの受信を検出したならばパケ
ットデータの受信処理を行う(図2ステップS5)。
【0067】送信側では受信したパケットデータの種類
が判断され(図2ステップS6)、NACKパケットを
受信したならば、CPU13が以前の送信データ長より
もデータ長を減少させて送信データ長カウンタ1に指示
し(図2ステップS8)、そのNACKパケットで指示
されたパケットデータを再送する(図2ステップS
9)。このとき、RAM16内の再送すべきパケットデ
ータはバッファ管理回路2によってそのパケット長とと
もに制御される。
【0068】送信側ではACKパケットを受信したなら
ば、CPU13が以前の送信データ長よりもデータ長を
増加させて送信データ長カウンタ1に指示し(図2ステ
ップS7)、次の処理に移行する。
【0069】送信処理あるいは受信処理を行うと、送信
側では全てのパケットデータの送信が完了したかどうか
を判断し(図2ステップS3)、全てのパケットデータ
の送信が完了するとデータ通信処理を終了し、まだ送信
すべきパケットデータがあれば次のパケットデータの送
信処理を行う(図2ステップS4)。
【0070】受信側ではパケットデータの受信処理を行
うと(図3ステップS11)、CPU13がCRC照合
回路10の照合結果を基にその受信したパケットデータ
にエラーがあるかどうかを判断する(図3ステップS1
2)。このとき、CPU13によるエラーの有無の判断
にはCRC照合回路10からの情報やデータ長が正しい
かどうか等を考慮して行う。エラーが発生している場合
にはNACKパケットを送信する(図3ステップS1
5)。
【0071】また、エラーが発生していない場合にはN
回受信する毎にACKパケットを送信するように構成さ
れているとすると、CPU13はパケットデータをN回
受信したかどうかを判断し(図3ステップS13)、パ
ケットデータをN回受信する毎にACKパケット送信処
理を行い(図2ステップS14)、N回でなければ処理
を終了する。
【0072】例えば、図4に示すように、送信側から受
信側に次々と送信するパケットデータ〜のうち、受
信側がパケットデータを受信した時にN回受信が検出
されたとすると、受信側から送信側にACKパケットが
送信される。送信側ではそのACKパケットを受信する
と、ACKパケットを受信してから次に送信されるパケ
ットデータ以降の送信データ長を増加させる。
【0073】これに対し、送信側から受信側に次々と送
信するパケットデータ〜のうち、受信側がパケット
データを受信した時にエラーを検出したとすると、受
信側から送信側にNACKパケットが送信される。
【0074】送信側ではそのNACKパケットで指示さ
れたパケットデータを再送するが、このとき送信デー
タ長が減少されているので、パケットデータ−1,
−2として受信側に送信する。それ以降、送信側から受
信側には減少された送信データ長でパケットデータ−
1,−2,,が送信される。
【0075】図5は本発明の一実施例による処理動作で
用いられる送信データ長の増減が自在なパケットデータ
例を示す図である。図において、パケットデータの最後
尾には最終フラグが付加されており、このパケットデー
タの受信時にその最終フラグを確認することで、送信デ
ータ長が増減されてもそのパケットデータの受信が可能
となる。
【0076】図6は図5に示すパケットデータを用いる
場合の送信処理を示すフローチャートであり、図7は図
5に示すパケットデータを用いる場合の受信処理を示す
フローチャートである。これら図5〜図7を用いて送信
データ長を増減した時の送受信処理について説明する。
【0077】CPU13はパケットデータの送信処理を
行う際に(図6ステップS21)、RAM16から送信
FIFO3に転送されるデータの最終データの検出を行
う(図6ステップS22)。
【0078】CPU13はRAM16から送信FIFO
3に転送されるデータの最終データを検出すると、その
パケットデータに最終フラグを付加して送信するように
制御する(図6ステップS23)。尚、本実施例は最終
フラグをCPU13の制御によってCRC発生回路9で
付加するよう構成されている。
【0079】一方、受信側においてDMA14またはC
PU13はパケットデータの受信処理を行う際に(図7
ステップS31)、受信FIFO4からRAM16に転
送されるデータの最終フラグの検出を行う(図7ステッ
プS32)。
【0080】CPU13は受信FIFO4からRAM1
6に転送されるデータの最終フラグを検出すると、その
パケットデータのエラーの有無を判断し(図7ステップ
S33)、エラーが検出されるとそのエラーに対する処
理を実行する(図7ステップS34)。CPU13はそ
のパケットデータにエラーがないと判断すると、または
エラー処理が終了すると、パケットデータ受信処理を終
了する。
【0081】図8は本発明の一実施例による処理動作で
用いられる送信データ長の増減が自在なパケットデータ
の他の例を示す図である。図において、パケットデータ
の先頭にはそのパケットデータのデータ長が付加されて
おり、このパケットデータの受信時にそのデータ長を確
認することで、送信データ長が増減されてもそのパケッ
トデータの受信が可能となる。
【0082】図9は図8に示すパケットデータを用いる
場合の送信処理を示すフローチャートであり、図10は
図8に示すパケットデータを用いる場合の受信処理を示
すフローチャートである。これら図8〜図10を用いて
送信データ長を増減した時の送受信処理について説明す
る。
【0083】CPU13は予め設定したデータ長を受信
側に送信し(図9ステップS41)、その後にパケット
データの送信処理を行う(図9ステップS42)。尚、
本実施例ではデータ長をCPU13の制御によってヘッ
ダ発生回路7から送信するよう構成されている。
【0084】CPU13はRAM16から送信FIFO
3に転送するデータのデータ長が最初に送信したデータ
長となるまで、そのパケットデータを送信するように制
御する(図9ステップS42,S43)。
【0085】一方、受信側においてCPU13は送信側
からデータ長を受信すると(図10ステップS51)、
そのデータ長を保持する(データ長→A)(図10ステ
ップS52)。
【0086】その後、CPU13はパケットデータの受
信処理を行い(図10ステップS53)、受信FIFO
4からRAM16に受信データを転送させる。その時、
CPU13は送信側から受信したパケットデータのデー
タ長をカウントする(データ長→B)(図10ステップ
S54)。
【0087】CPU13は送信側から受信したデータ長
(A)と送信側から受信したパケットデータのデータ長
(B)とを比較し(図10ステップS55)、それらが
一致するまでパケットデータの受信処理を行う(図10
ステップS53〜S55)。
【0088】CPU13はそれらの一致を検出すると、
そのパケットデータのエラーの有無を判断し(図10ス
テップS56)、エラーが検出されるとそのエラーに対
する処理を実行する(図10ステップS57)。CPU
13はそのパケットデータにエラーがないと判断する
と、またはエラー処理が終了すると、パケットデータ受
信処理を終了する。
【0089】図11は本発明の他の実施例の構成を示す
ブロック図である。図において、本発明の他の実施例に
よるデータ通信装置は送信データ長カウンタ(CNT)
21と、送信FIFO(ファーストイン・ファーストア
ウト)22と、受信FIFO23と、パラレルシリアル
変換回路(P to S)24と、シリアルパラレル変
換回路(S to P)25と、ヘッダ発生回路(He
ader)26と、ヘッダ解析回路(Header)2
7と、CRC発生回路(CRC)28と、CRC照合回
路(CRC)29と、セレクタ(SEL)30と、マル
チプレクサ(MUX)31と、CPU(中央処理装置)
32と、DMA(ダイレクトメモリアクセス)33と、
ROM(リードオンリメモリ)34と、RAM(ランダ
ムアクセスメモリ)35とから構成されている。
【0090】尚、送信データ長カウンタ21と、送信F
IFO22と、受信FIFO23と、CPU32と、D
MA33と、ROM34と、RAM35とはデータバス
200を介して互いに接続されている。
【0091】本発明の他の実施例によるデータ通信装置
はCPU32によって制御され、CPU32を動作させ
るためのプログラムはROM34に格納されている。R
AM35には送信すべきデータ及び受信したデータが蓄
積される。RAM35内の送信データはDMA33によ
ってデータバス100を介して送信FIFO22に転送
される。
【0092】まず、送信時には送信FIFO22に書込
まれた送信データがパラレルシリアル変換回路24によ
ってパラレル形式のデータからシリアル形式のデータに
変換される。
【0093】CPU32がパケットの送信開始を指示す
ると、データ部の送信に先だってパケットの先頭を示す
データ、送信相手を指定するアドレス、パケットの順番
を示す番号等を含むヘッダがヘッダ発生回路26から送
信される。続いて、パラレルシリアル変換回路24でシ
リアル形式のデータに変換されたデータ部がセレクタ3
0で選択されて送信される。
【0094】設定されたデータ長分のデータが送信し終
わると、DMA33またはCPU32はRAM35から
送信FIFO22へのデータの転送を終了する。続い
て、セレクタ30が切替えられ、通信相手側でのデータ
エラーチェック用としてCRCデータまたはチェックサ
ムデータがCRC発生回路28から送信され、パケット
データの送信が終了する。
【0095】このとき、CPU13から送信データ長カ
ウンタ21に通信状態に応じた送信データ長が書込まれ
る。DMA33は送信データ長カウンタ1に書込まれた
送信データ長分だけRAM35から送信FIFO22に
データを転送する。
【0096】一方、受信時には受信したデータがマルチ
プレクサ31によってヘッダ部とデータ部とエラーチェ
ック部とに分離され、ヘッダ部はヘッダ解析回路27で
処理され、エラーチェック部はCRC照合回路29で処
理される。
【0097】データ部に対しては送信時の処理と全く逆
の処理が行われる。つまり、データ部はシリアルパラレ
ル変換回路25でシリアル形式のデータからパラレル形
式のデータに変換される。
【0098】シリアルパラレル変換回路25でパラレル
形式のデータに変換された受信データは受信FIFO2
3に順次書込まれていく。受信FIFO23に書込まれ
た受信データはDMA33によって受信FIFO23か
らRAM35に転送される。尚、本発明の他の実施例で
も、図5〜図7に示すように、パケットデータに最終フ
ラグを付加するか、あるいは図8〜図10に示すよう
に、パケットデータにデータ長を付加することによって
パケットデータのデータ長を可変自在としている。
【0099】このように、1つのファイルを複数のパケ
ットに分割して通信する時に通信先の装置からの応答を
確認せずにパケットを送信するデータ通信装置におい
て、通信先の装置との間の通信状態、つまり受信側から
のACKパケットまたはNACKパケットの受信に応じ
てパケットのデータ長を可変することによって、通信状
態がよければパケットのデータ長を長くして通信速度を
向上させることができ、通信状態が悪ければパケットの
データ長を短くしてエラー状態からの回復を早くするこ
とができる。
【0100】すなわち、通信状態がよい時にパケットの
データ長を長くすると、全体のパケット数が少なくな
り、ヘッダやCRC等のオーバヘッド部分を少なくする
ことができるので、通信時間全体で見ると従来の通信時
間よりも短縮することが可能となる。
【0101】また、通信状態が悪い時にパケットのデー
タ長を短くすると、エラーが発生した場合でも再送する
データ量を少なくすることができるので、通信時間全体
で見ると従来の通信時間よりも短縮することが可能とな
る。
【0102】
【発明の効果】以上説明したように本発明によれば、1
つのファイルを複数のパケットに分割して通信する時に
通信先の装置からの応答を確認せずにパケットを送信す
るデータ通信装置において、通信先の装置との間の通信
状態に応じてパケットのデータ長を可変することによっ
て、通信状態がよければパケットのデータ長を長くして
通信速度を向上させることができ、通信状態が悪ければ
パケットのデータ長を短くしてエラー状態からの回復を
早くすることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】本発明の一実施例によるパケット送信処理を示
すフローチャートである。
【図3】本発明の一実施例によるパケット受信処理を示
すフローチャートである。
【図4】本発明の一実施例の処理動作を示すシーケンス
チャートである。
【図5】本発明の一実施例による処理動作で用いられる
送信データ長の増減が自在なパケットデータ例を示す図
である。
【図6】図5に示すパケットデータを用いる場合の送信
処理を示すフローチャートである。
【図7】図5に示すパケットデータを用いる場合の受信
処理を示すフローチャートである。
【図8】本発明の一実施例による処理動作で用いられる
送信データ長の増減が自在なパケットデータの他の例を
示す図である。
【図9】図8に示すパケットデータを用いる場合の送信
処理を示すフローチャートである。
【図10】図8に示すパケットデータを用いる場合の受
信処理を示すフローチャートである。
【図11】本発明の他の実施例の構成を示すブロック図
である。
【図12】従来例の構成を示すブロック図である。
【図13】従来例によるパケット送信処理の一例を示す
フローチャートである。
【図14】従来例によるパケット受信処理の一例を示す
フローチャートである。
【図15】従来例の処理動作の一例を示すシーケンスチ
ャートである。
【図16】従来例によるパケット送信処理の他の例を示
すフローチャートである。
【図17】従来例によるパケット受信処理の他の例を示
すフローチャートである。
【図18】従来例の処理動作の他の例を示すシーケンス
チャートである。
【符号の説明】
1,21 送信データ長カウンタ 2 バッファ管理回路 3,22 送信FIFO 4,23 受信FIFO 13,32 CPU 14,33 DMA 16,35 RAM

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 1つのファイルを複数のパケットに分割
    して通信する時に通信先の装置からの応答を確認せずに
    パケットを送信するデータ通信装置であって、前記通信
    先の装置との間の通信状態に応じて前記パケットのデー
    タ長を可変する可変手段を有することを特徴とするデー
    タ通信装置。
  2. 【請求項2】 前記可変手段は、前記通信先の装置から
    の肯定応答を受信した時にパケットデータ長を長くしか
    つ前記通信先の装置からの否定応答を受信した時にパケ
    ットデータ長を短くするよう構成したことを特徴とする
    請求項1記載のデータ通信装置。
  3. 【請求項3】 受信データ及び送信データを蓄積してお
    くためのランダムアクセスメモリを含み、前記ランダム
    アクセスメモリに蓄積された前記送信データを複数のパ
    ケットに分割して通信する時に通信先の装置からの応答
    を確認せずにパケットを送信するデータ通信装置であっ
    て、前記通信先の装置との間の通信状態に応じて前記パ
    ケットのデータ長を可変する可変手段を有することを特
    徴とするデータ通信装置。
  4. 【請求項4】 前記可変手段は、前記通信先の装置から
    の肯定応答を受信した時に前記ランダムアクセスメモリ
    からデータ長が長いパケットを読出しかつ前記通信先の
    装置からの否定応答を受信した時に前記ランダムアクセ
    スメモリからデータ長が短いパケットを読出すよう構成
    したことを特徴とする請求項3記載のデータ通信装置。
  5. 【請求項5】 受信データ及び送信データを蓄積してお
    くためのランダムアクセスメモリと、データ通信上のデ
    ータ通信速度を調整するために前記送信データを一時記
    憶するための一時記憶手段と、前記ランダムアクセスメ
    モリと前記一時記憶手段との間の送信データのデータ転
    送を制御する制御手段とを含み、前記ランダムアクセス
    メモリに蓄積された前記送信データを複数のパケットに
    分割して通信する時に通信先の装置からの応答を確認せ
    ずにパケットを送信するデータ通信装置であって、前記
    通信先の装置との間の通信状態に応じて前記パケットの
    データ長を可変する可変手段を有することを特徴とする
    データ通信装置。
  6. 【請求項6】 前記可変手段は、前記通信先の装置から
    の肯定応答を受信した時に前記ランダムアクセスメモリ
    と前記一時記憶手段との間でデータ長が長いパケットを
    データ転送するよう前記制御手段に指示しかつ前記通信
    先の装置からの否定応答を受信した時に前記ランダムア
    クセスメモリと前記一時記憶手段との間でデータ長が短
    いパケットをデータ転送するよう前記制御手段に指示す
    るよう構成したことを特徴とする請求項5記載のデータ
    通信装置。
JP20894695A 1995-08-17 1995-08-17 データ通信装置 Pending JPH0955718A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20894695A JPH0955718A (ja) 1995-08-17 1995-08-17 データ通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20894695A JPH0955718A (ja) 1995-08-17 1995-08-17 データ通信装置

Publications (1)

Publication Number Publication Date
JPH0955718A true JPH0955718A (ja) 1997-02-25

Family

ID=16564768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20894695A Pending JPH0955718A (ja) 1995-08-17 1995-08-17 データ通信装置

Country Status (1)

Country Link
JP (1) JPH0955718A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002093820A1 (fr) * 2001-05-11 2002-11-21 Sharp Kabushiki Kaisha Procede de communication, dispositif de transmission, dispositif de reception, et systeme de communication equipe de ces dispositifs
WO2005071915A1 (ja) * 2004-01-27 2005-08-04 Mitsubishi Denki Kabushiki Kaisha パケット伝送システムおよびパケット伝送装置
JP2005346164A (ja) * 2004-05-31 2005-12-15 Toshiba Corp データ処理装置およびデータ転送制御方法
JP2006270469A (ja) * 2005-03-24 2006-10-05 Fujitsu Ltd 通信データ制御装置
JP2009151795A (ja) * 1997-11-17 2009-07-09 Seagate Technology Llc オンチップメモリにおけるデータ健全性のためのcrcを用いる方法および装置
US7869430B2 (en) 2000-11-13 2011-01-11 Sunao Takatori Communication terminal device and billing device
JP2012526484A (ja) * 2009-05-07 2012-10-25 クゥアルコム・インコーポレイテッド 通信リンクの品質に基づいて、送信データ・ブロック・サイズおよびレートを適合させるためのシステムおよび方法
JP2014138276A (ja) * 2013-01-17 2014-07-28 Konica Minolta Inc 画像データ転送システム
JP2019092035A (ja) * 2017-11-14 2019-06-13 キヤノン株式会社 通信装置、パケット生成装置およびそれらの制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336755A (ja) * 1991-05-13 1992-11-24 Ricoh Co Ltd ファクシミリ装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336755A (ja) * 1991-05-13 1992-11-24 Ricoh Co Ltd ファクシミリ装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151795A (ja) * 1997-11-17 2009-07-09 Seagate Technology Llc オンチップメモリにおけるデータ健全性のためのcrcを用いる方法および装置
US7869430B2 (en) 2000-11-13 2011-01-11 Sunao Takatori Communication terminal device and billing device
US7974247B2 (en) 2000-11-13 2011-07-05 Daita Frontier Fund, Llc Communication terminal device and billing device
WO2002093820A1 (fr) * 2001-05-11 2002-11-21 Sharp Kabushiki Kaisha Procede de communication, dispositif de transmission, dispositif de reception, et systeme de communication equipe de ces dispositifs
WO2005071915A1 (ja) * 2004-01-27 2005-08-04 Mitsubishi Denki Kabushiki Kaisha パケット伝送システムおよびパケット伝送装置
JP2005346164A (ja) * 2004-05-31 2005-12-15 Toshiba Corp データ処理装置およびデータ転送制御方法
JP2006270469A (ja) * 2005-03-24 2006-10-05 Fujitsu Ltd 通信データ制御装置
JP2012526484A (ja) * 2009-05-07 2012-10-25 クゥアルコム・インコーポレイテッド 通信リンクの品質に基づいて、送信データ・ブロック・サイズおよびレートを適合させるためのシステムおよび方法
JP2014099859A (ja) * 2009-05-07 2014-05-29 Qualcomm Incorporated 通信リンクの品質に基づいて、送信データ・ブロック・サイズおよびレートを適合させるためのシステムおよび方法
JP2014138276A (ja) * 2013-01-17 2014-07-28 Konica Minolta Inc 画像データ転送システム
JP2019092035A (ja) * 2017-11-14 2019-06-13 キヤノン株式会社 通信装置、パケット生成装置およびそれらの制御方法

Similar Documents

Publication Publication Date Title
CN1319303C (zh) 通信设备,传输控制方法,和程序产品
CN102007812B (zh) Tcp流控制的方法和设备
US7752519B2 (en) Method for creating feedback message for ARQ in mobile communication system
US6141784A (en) Method and system in a data communications system for the retransmission of only an incorrectly transmitted portion of a data packet
JP5153799B2 (ja) 通信装置及び通信方法
JP2894665B2 (ja) 同報データ伝送システム
JP3349926B2 (ja) 受信制御装置、通信制御システム及び通信制御方法
US6640325B1 (en) Immediate negative acknowledgement for a communication network
CN1212098A (zh) 等级式arq方案的关联式检错编码与包的编号
CN1906891A (zh) 无线网络中具有组确认的分段化的方法、系统和设备
JPH0955718A (ja) データ通信装置
JP2000151623A (ja) パケット通信システム
US20070115823A1 (en) Inter-layer communication of receipt confirmation for releasing retransmission buffer contents
CN115276920A (zh) 音频数据处理方法、装置、电子设备及存储介质
CN114337921B (zh) 一种数据传输方法、数据传输装置和相关设备
JPH09247132A (ja) 無線パケット通信装置及び送信装置
KR20060079570A (ko) 통신 시스템에서 데이터 재전송 장치 및 방법
JP2000078118A (ja) 自動再送要求データ伝送方法
WO2021186587A1 (ja) 送信局及び受信局
EP1427127A2 (en) Communication control method, communication system and communication apparatus that can improve throughput
JP3027800B2 (ja) 無線lanにおける伝送制御方法および伝送制御装置
CN114337938A (zh) 一种数据传输方法、数据重传方法、装置和相关设备
KR20110015818A (ko) 무선통신 방법
CN115412890A (zh) 一种数据传输方法、装置和终端设备
JP5003611B2 (ja) 無線通信の再送制御方法及び無線通信装置