JP2006270469A - 通信データ制御装置 - Google Patents

通信データ制御装置 Download PDF

Info

Publication number
JP2006270469A
JP2006270469A JP2005085245A JP2005085245A JP2006270469A JP 2006270469 A JP2006270469 A JP 2006270469A JP 2005085245 A JP2005085245 A JP 2005085245A JP 2005085245 A JP2005085245 A JP 2005085245A JP 2006270469 A JP2006270469 A JP 2006270469A
Authority
JP
Japan
Prior art keywords
transmission data
fifo memory
read
pointer
block
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.)
Granted
Application number
JP2005085245A
Other languages
English (en)
Other versions
JP4606216B2 (ja
Inventor
Kazuo Aoki
和夫 青木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005085245A priority Critical patent/JP4606216B2/ja
Priority to US11/169,747 priority patent/US8024495B2/en
Publication of JP2006270469A publication Critical patent/JP2006270469A/ja
Application granted granted Critical
Publication of JP4606216B2 publication Critical patent/JP4606216B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

【課題】 送信データのブロックがFIFOメモリの容量を超え、上書きされて書き込まれても適正な送信データの再送を可能にする。
【解決手段】 メモリ3には、通信装置6に送信する送信データが記憶されている。FIFOメモリ1aは、中央演算処理装置2によって、メモリ3に記憶されている送信データが書き込まれ、読み出される。DMAC起動部1bは、送信データのブロックがFIFOメモリ1aの容量を超えて書き込まれた場合にブロックの再送要求があると、DMAC4を起動して、メモリ3が記憶しているブロックを、通信データ制御装置1に転送するようにする。
【選択図】 図1

Description

本発明は通信データ制御装置に関し、特にFIFO(First In First Out)メモリに送信データを書き込んで、通信を行う通信データ制御装置に関する。
通信装置等には、データの送受信を制御する、FIFOメモリを備えた通信データ制御装置が適用されている。通信データ制御装置は、例えば、CPUなどの制御装置から送信データを受け取ると、制御装置から独立してその送信データを通信相手に送信する。これによって、制御装置の処理負荷を軽減することができる。
また、通信データ制御装置は、送信データがFIFOメモリに書き込まれるので、送信時にエラー等が発生した場合、FIFOメモリに記憶されている送信データのアドレスを制御することにより、送信データの再書き込みをすることなく送信データを再送することが可能となる(例えば、特許文献1,2参照)。
図6は、従来の通信データ制御装置の例を示した回路図である。図に示すように通信データ制御装置101は、バス122を介してCPU121と接続されている。また、通信データ制御装置101は、データを送信する送信回路131およびデータを受信する受信回路132と接続されている。送信回路131と受信回路132の間には、通信データ制御装置101が送信回路131に出力した送信データをモニタできるように、折り返し線133が接続されている。送信回路131および受信回路132の先には、通信相手である通信装置が接続されている。
CPU121は、通信相手である通信装置に送信データを送る場合、通信データ制御装置101のバッファ102に送信データを書き込む。バッファ102は、書き込まれたデータをFIFOメモリ104に書き込む。
ライトポインタ105は、FIFOメモリ104のアドレスを生成する。ライトポインタ制御部106は、ライトポインタ105のアドレス生成を制御している。例えば、ライトポインタ制御部106は、バッファ102の送信データがFIFOメモリ104に書き込まれると、ライトポインタ105のアドレスをインクリメントするように制御する。また、ライトポインタ105のアドレスが最終アドレスになると、先頭アドレスとなるように制御する。
リードポインタ107は、FIFOメモリ104から送信データを読み出すためのアドレスを生成している。リードポインタ制御部108は、リードポインタ107のアドレス生成を制御している。例えば、リードポインタ制御部108は、FIFOメモリ104から送信データが読み出されると、リードポインタ107のアドレスをインクリメントするように制御する。また、リードポインタ107のアドレスが最終アドレスになると、先頭アドレスとなるように制御する。なお、ライトポインタ制御部106およびリードポインタ制御部108は、送信データが先入れ先出しとなるように、FIFOメモリ104のアドレスを制御する。FIFOメモリ104から読み出された送信データは、バッファ103および送信回路131を介して、通信装置に送信される。
リロードポインタ109は、送信データの送信が失敗したときに再送する送信データのアドレスを記憶している。リロードポインタ109のアドレスは、CPU121によって制御される(図中CPU121とリロードポインタ109の間の線は省略している)。
CPU121は、送信データのブロックをFIFOメモリ104に書き込むとき、ブロックの先頭が書き込まれたFIFOメモリ104のアドレスを、リロードポインタ109に記憶するように制御する。よって、送信データの再送要求があった場合、リロードポインタ109のアドレスをリードポインタ107にセットすれば、再送要求のあった送信データを含むブロックがFIFOメモリ104から再送されることになる。なお、送信データは、一定の大きさを有し、例えば、1バイトのデータである。ブロックは、その送信データが集まったものであり、例えば、1つのブロックで1つのデータをなすように、適当に区切られている。ブロックの区切りは、CPU121によって判断される。
受信制御部110は、送信データの再送の必要があるかを判断する。例えば、通信相手である通信装置から通信エラーを受信した場合、または、折り返し線133によりモニタしている送信データが、送信すべき送信データと異なっている場合等に、送信データの再送の必要があると判断する。受信制御部110は、送信データの再送の必要があると判断した場合、再送トリガ信号RTをリードポインタ制御部108に送信する。
リードポインタ制御部108は、受信制御部110から再送トリガ信号RTを受信すると、リロードポインタ109のアドレスを、リードポインタ107にセットするように、リロードポインタ109を制御する。これによって、FIFOメモリ104に記憶されている送信データのブロックは、再び先頭から読み出され、通信装置に再送されることになる。
受信回路132は、通信相手である通信装置から受信データを受信する。受信回路132は、受信データをバッファ114に書き込む。バッファ114は、書き込まれた受信データをFIFOメモリ111に書き込む。
ライトポインタ115は、受信データをFIFOメモリ111に書き込むためのアドレスを生成している。リードポインタ113は、FIFOメモリ111に書き込まれた受信データを読み出すためのアドレスを生成している。FIFOメモリ111から読み出された受信データは、バッファ112およびバス122を介して、CPU121へ出力される。なお、図では、リードポインタ113およびライトポインタ115のアドレス生成を制御するポインタ制御部を省略している。このポインタ制御部は、受信データが先入れ先出しとなるように、FIFOメモリ111のアドレスを制御する。
特開2000−10758号公報 特開平5−257847号公報
しかし、通信相手に送信する送信データのブロックが、FIFOメモリの容量を超える場合、超える部分の送信データを、すでに送信が完了した領域に上書きしなければならない。そのため、ブロックの再送の必要が生じた場合、FIFOメモリには、一部の送信データが消失していることになり、FIFOメモリの送信データを再送することができないという問題点があった。
図7は、送信データのブロックがFIFOメモリの容量を超える場合のFIFOメモリの状況を説明する図である。図には、通信相手の通信装置に送信される送信データのブロック141が示してある。両矢印A101は、送信データ制御装置のFIFOメモリの容量を示している。図に示すように、ブロック141の容量は、FIFOメモリの容量を超えているので、ブロック141のFIFOメモリの容量を超える部分、すなわち、両矢印A102の部分は、すでに送信が完了したFIFOメモリの領域に上書きされることになる。そのため、ブロック141の再送の必要が生じた場合、一部の送信データが消失しているため、FIFOメモリから適正に送信データを再送することができない。
また、送信データのブロックの送信が完了していないときに、次のブロックがFIFOメモリに書き込まれた場合、リロードポインタには次のブロックのアドレスが記憶されることになる。そのため、最新のブロック以前のブロックにおいて、再送の必要が生じた場合、再送すべきブロックのアドレスは消失しており、再送することができないという問題点があった。
図8は、送信データのブロックが複数FIFOメモリに書き込まれる場合のリロードポインタを説明する図である。図には、FIFOメモリに書き込まれた複数のブロック151〜153が示してある。ブロック151の送信中に、ブロック152,153が上書きされることなくFIFOメモリに書き込まれたとする。この場合、リロードポインタには、ブロック153の先頭が記憶されたFIFOメモリのアドレスが記憶される。そのため、ブロック151またはブロック152の送信中において、送信データの再送要求があった場合、リロードポインタのアドレスが変わっているため再送することができない。
本発明はこのような点に鑑みてなされたものであり、送信データのブロックがFIFOメモリの容量を超える場合でも、適正に送信データを再送することができる通信データ制御装置を提供することを目的とする。
また、複数の送信データのブロックがFIFOメモリに記憶されても適正に送信データを再送することができる通信データ制御装置を提供することを目的とする。
本発明では上記問題を解決するために、図1に示すようなバス5を介して接続されたメモリ3に記憶されている送信データの通信制御をする通信データ制御装置1において、送信データが書き込まれ、読み出されるFIFOメモリ1aと、送信データのブロックがFIFOメモリ1aの容量を超えて書き込まれた場合に送信データの再送要求があると、バス5に接続されたDMAC4を起動して、メモリ3が記憶している送信データのブロックを、FIFOメモリ1aに転送するようにするDMAC起動部1bと、を有することを特徴とする通信データ制御装置が提供される。
このような通信データ制御装置1によれば、送信データのブロックが、FIFOメモリ1aの容量を超えて書き込まれた場合に再送要求があると、DMAC4を起動し、再送すべきブロックをメモリ3からFIFOメモリ1aに転送するようにする。
また、本発明では上記問題を解決するために、通信データの通信制御をする通信データ制御装置において、再送の開始点となることを示す再送開始点情報が付加された送信データが書き込まれ、読み出されるFIFOメモリと、FIFOメモリから送信データを読み出すための読み出しアドレスを生成するリードポインタと、送信データの再送要求があったとき、記憶している読み出しアドレスをリードポインタに出力するリロードポインタと、FIFOメモリから読み出された送信データの再送開始点情報に基づいて、リードポインタの生成した読み出しアドレスをリロードポインタに記憶するポインタ制御部と、を有することを特徴とする通信データ制御装置が提供される。
このような通信データ制御装置によれば、FIFOメモリから読み出された送信データに付加されている再送開始点情報に基づいて、FIFOメモリから読み出された送信データの読み出しアドレスをリロードポインタに記憶する。
本発明の通信データ制御装置では、送信データのブロックが、FIFOメモリの容量を超えて書き込まれた場合に再送要求があると、DMACを起動し、再送すべきブロックをメモリからFIFOメモリに転送するようにした。これによって、送信データのブロックがFIFOメモリの容量より大きいため、上書きされていても、DMACによって、メモリに記憶されているブロックが転送されるので、適正に送信データを再送することができる。
また、本発明の通信データ制御装置では、FIFOメモリから読み出された送信データに付加されている再送開始点情報に基づいて、FIFOメモリから読み出された送信データの読み出しアドレスをリロードポインタに記憶するようにした。これによって、送信データのブロックの送信が完了していないときに、次の送信データのブロックがFIFOメモリに書き込まれても、リロードポインタは上書きされることはなく、適正に送信データを再送することができる。
以下、本発明の原理を図面を参照して詳細に説明する。
図1は、通信データ制御装置の概要を示した図である。図に示すように通信データ制御装置1は、先入れ先出し方式に従ってデータの出し入れをするFIFOメモリ1aおよびDMAC(Direct Memory Access Controller)起動部1bを有している。通信データ制御装置1は、バス5を介して、中央演算処理装置2、メモリ3、およびDMAC4と接続されている。また、通信データ制御装置1は、通信相手である通信装置6と接続されている。メモリ3には、通信装置6に送信する送信データが記憶されている。
FIFOメモリ1aは、中央演算処理装置2により、メモリ3に記憶されている送信データが書き込まれ、読み出される。読み出された送信データは、通信装置6に送信される。
DMAC起動部1bは、送信データのブロックが、FIFOメモリ1aの容量を超えて書き込まれた場合に送信データの再送要求があると、DMAC4を起動する。そして、DMAC起動部1bは、メモリ3が記憶している再送要求のあった送信データのブロックを、通信データ制御装置1に転送するようにする。
なお、送信データは、一定の大きさを有し、例えば、1バイトのデータである。ブロックは、その送信データが集まったものであり、例えば、1つのブロックで1つのデータをなすように、適当に区切られている。ブロックの区切りは、中央演算処理装置2によって判断される。中央演算処理装置2は、メモリ3から読み出した送信データがブロックの先頭である場合、そのブロックの先頭アドレスと大きさとをDMAC4にセットする。よって、DMAC4は、再送要求があったとき、セットされた先頭アドレスと大きさに基づいて、送信データを含むブロックを転送することができる。
このように、通信データ制御装置1は、送信データのブロックが、FIFOメモリ1aの容量を超えて書き込まれた場合に再送要求があると、DMAC4を起動し、再送すべき送信データのブロックをメモリ3からFIFOメモリ1aに転送するようにした。これによって、送信データのブロックがFIFOメモリ1aの容量より大きいため、上書きされていても、DMAC4によって、メモリ3に記憶されている適正なブロックが転送されるので、適正に送信データを再送することができる。
次に、本発明の第1の実施の形態を図面を参照して詳細に説明する。
図2は、第1の実施の形態に係る通信データ制御装置の回路図である。図に示すように通信データ制御装置11は、バッファ12,13,22,24、FIFOメモリ14,21、ライトポインタ15,25、ライトポインタ制御部16、リードポインタ17,23、リードポインタ制御部18、リロードポインタ19、および受信制御部20を有している。
図に示すように通信データ制御装置11は、バス34を介してCPU31、メモリ32、およびDMAC33と接続されている。また、通信データ制御装置11は、データを送信する送信回路51およびデータを受信する受信回路52と接続されている。送信回路51と受信回路52の間には、通信データ制御装置11が送信回路51から出力した送信データをモニタできるように、折り返し線53が接続されている。送信回路51および受信回路52の先には、通信相手である通信装置が接続されている。
メモリ32には、通信相手である通信装置に送信する送信データが記憶されている。CPU31は、メモリ32に記憶されている送信データを通信相手である通信装置に送信する場合、通信データ制御装置11のバッファ12に送信データを書き込む。
バッファ12は、書き込まれた送信データをFIFOメモリ14に書き込む。バッファ12は、例えば、CPU31から送信されてくる送信データがFIFOメモリ14の電気的特性に適合するようにする。
ライトポインタ15は、送信データをFIFOメモリ14に書き込むためのアドレスを生成する。ライトポインタ制御部16は、ライトポインタ15のアドレス生成を制御している。例えば、ライトポインタ制御部16は、バッファ12の送信データがFIFOメモリ14に書き込まれると、ライトポインタ15のアドレスをインクリメントするように制御する。また、ライトポインタ15のアドレスが最終アドレスになると、先頭アドレスとなるように制御する。
リードポインタ17は、FIFOメモリ14から送信データを読み出すためのアドレスを生成している。リードポインタ制御部18は、リードポインタ17のアドレス生成を制御している。例えば、リードポインタ制御部18は、FIFOメモリ14から送信データが読み出されると、リードポインタ17のアドレスをインクリメントするように制御する。また、リードポインタ17のアドレスが最終アドレスになると、先頭アドレスとなるように制御する。なお、ライトポインタ制御部16およびリードポインタ制御部18は、送信データが先入れ先出しとなるようにFIFOメモリ14のアドレスを制御する。FIFOメモリ14から読み出された送信データは、バッファ13および送信回路51を介して、通信装置に送信される。
リロードポインタ19は、送信データの再送要求があった場合の送信データのアドレスを記憶している。リロードポインタ19のアドレスは、CPU31によって制御される(図中CPU31とリロードポインタ19の間の線は省略している)。
CPU31は、送信データのブロックをFIFOメモリ14に書き込むとき、ブロックの先頭が書き込まれたFIFOメモリ14のアドレスを、リロードポインタ19に記憶するように制御する。よって、送信データの再送要求があった場合、リロードポインタ19のアドレスをリードポインタにセットすれば、再送要求のあった送信データを含むブロックがFIFOメモリ14から再送されることになる。なお、送信データは、一定の大きさを有し、例えば、1バイトのデータである。ブロックは、その送信データが集まったものであり、例えば、1つのブロックで1つのデータをなすように、適当に区切られている。ブロックの区切りは、CPU31によって判断される。
受信制御部20は、送信データの再送の必要があるかを判断する。例えば、通信相手である通信装置から再送要求を受信した場合、折り返し線53によりモニタしている送信データが、送信すべき送信データと異なっている場合、または、通信装置からの応答受信データが定められたバイト数に対し不足し、最後の応答受信データを受信後、ボーレートクロックをカウントし、一定の値以上になった場合等に送信データの再送の必要があると判断する。受信制御部20は、送信データの再送の必要があると判断した場合、再送トリガ信号RTをリードポインタ制御部18に送信する。
リードポインタ制御部18は、受信制御部20から再送トリガ信号RTを受信すると、リロードポインタ19のアドレスを、リードポインタ17にセットするように、リロードポインタ19を制御する。これによって、FIFOメモリ14に記憶されている送信データのブロックが、再び先頭から読み出され、通信装置に再送されることになる。
送信データのブロックの大きさがFIFOメモリ14の容量を超える場合、超える部分の送信データは、すでに送信が完了したFIFOメモリ14の領域に上書きされる。この場合に再送要求があると、ブロックの送信データは、上書きによって一部失われているため、適正に送信データを再送することができない。そこで、ライトポインタ制御部16は、ライトポインタ15のアドレスをカウントし、FIFOメモリ14に書き込まれる送信データがFIFOメモリ14の容量を超えたか判断する。そして、ライトポインタ制御部16は、送信データが上書きされたと判断した場合、ポインタロスト信号PLをリードポインタ制御部18に出力する。
リードポインタ制御部18は、ライトポインタ制御部16からポインタロスト信号PLを受けている場合において、受信制御部20から再送トリガ信号RTを受信すると、リロードポインタ19のアドレスをリードポインタ17にセットせずにリードポインタ17を初期化し、ライトポインタ制御部16にリロード信号RLを出力する。ライトポインタ制御部16は、リードポインタ制御部18からリロード信号RLを受信するとライトポインタ15を初期化し、バス34を介して、DMAC33を起動する。なお、メモリ32から通信データ制御装置11への転送失敗による転送回数には制限がある。この制限回数を超えると、ライトポインタ制御部16は、アボート信号をDMAC33に出力する。
DMAC33には、送信データのブロックの先頭アドレスと転送数が記憶される。この先頭アドレスおよび転送数は、例えば、CPU31が送信データのブロックをFIFOメモリ14に書き込むとき、CPU31によって書き込まれる。よって、送信データの再送要求があり、DMAC33が起動されると、DMAC33は、セットされたアドレスと大きさに基づいて、メモリ32に記憶されている送信データのブロックを通信データ制御装置11に送信し、送信データが再送されるようにする。なお、CPU31は、通信データ制御装置11に出力する送信データのブロックが、FIFOメモリ14の容量より大きいと判断した場合のみ、ブロックの先頭アドレスと大きさとをDMAC33にセットするようにしてもよい。また、DMAC33は、ライトポインタ制御部16からアボート信号を受信すると、送信データの転送を中断する。
受信回路52は、通信相手である通信装置から受信データを受信する。受信回路52は、受信データをバッファ24に書き込む。バッファ24は、書き込まれた受信データをFIFOメモリ21に書き込む。
ライトポインタ25は、受信データをFIFOメモリ21に書き込むためのアドレスを生成している。リードポインタ23は、FIFOメモリ21に書き込まれた受信データを読み出すためのアドレスを生成している。FIFOメモリ21から読み出された受信データは、バッファ22およびバス34を介して、CPU31へ出力される。なお、図ではライトポインタ25およびリードポインタ23のアドレス生成を制御するポインタ制御部を省略している。このポインタ制御部は、送信データがFIFOによってFIFOメモリ21に書き込まれ、読み出されるようにアドレスを制御する。
以下、図2の通信データ制御装置11の動作について説明する。CPU31は、メモリ32に記憶されている送信データを通信データ制御装置11に出力する。このとき、送信データがブロックの先頭である場合、CPU31は、メモリ32に記憶されているブロックの先頭のアドレスと大きさ(転送数)とをDMAC33に書き込む。
CPU31によってメモリ32から読み出された送信データは、通信データ制御装置11のFIFOメモリ14に書き込まれる。FIFOメモリ14に書き込まれる送信データがブロックの先頭のデータである場合、FIFOメモリ14に書き込まれた送信データのアドレスが、CPU31によってリロードポインタ19に書き込まれる。
FIFOメモリ14に記憶される送信データの大きさが、FIFOメモリ14の容量以下の場合に、受信制御部20から再送トリガ信号RTが出力されると(送信データの再送要求があると)、リードポインタ制御部18は、リロードポインタ19のアドレスが、リードポインタ17にセットされるようにリロードポインタ19を制御する。これにより、FIFOメモリ14に記憶されている送信データが、再び通信相手の通信装置に送信されることになる。
一方、送信データが、FIFOメモリ14の容量を超えて書き込まれた場合、ライトポインタ制御部16からポインタロスト信号PLがリードポインタ制御部18に出力される。このポインタロスト信号PLが出力された場合において、受信制御部20から再送トリガ信号RTが出力されると(送信データの再送要求があると)、リードポインタ制御部18は、ライトポインタ制御部16にリロード信号RLを出力する。ライトポインタ制御部16は、リードポインタ制御部18からリロード信号RLを受信すると、バス34を介して、DMAC33を起動する。DMAC33は、CPU31によって書き込まれたブロックの先頭アドレスおよび転送数に従って、メモリ32に記憶されている送信データを通信データ制御装置11に転送する。これによって、送信データがFIFOメモリ14の容量を超える場合にも、適正に再送することができる。
このように、通信データ制御装置11では、送信データのブロックが、FIFOメモリ14の容量を超えて書き込まれた場合に再送トリガ信号RTがあると、DMAC33を起動し、再送すべき送信データをメモリ32からFIFOメモリ14に転送するようにした。これによって、送信データのブロックがFIFOメモリ14の容量より大きいため、送信データが一部上書きされていても、DMAC33によって、メモリ32に記憶されているブロックが再転送されるので、適正に送信データを再送することができる。
また、CPU31を介さずに、メモリ32の送信データのブロックを通信データ制御装置11に転送するので、CPU31の負荷を低減することができる。
次に、本発明の第2の実施の形態を図面を参照して詳細に説明する。
図3は、第2の実施の形態に係る通信データ制御装置の回路図である。図3において図2と同じものには同じ符号を付し、その説明を省略する。
FIFOメモリ62には、CPU31によって送られる送信データが記憶される。送信データには、ブロックの先頭であるか否かを示すリロード情報が付与されている。リロード情報は、CPU31が送信データを通信データ制御装置61に送信するとき、CPU31によって付加される。なお、CPU31は、例えば、バス34に接続されている図示しないメモリから送信データを読み出し、通信データ制御装置61に出力する。
図4は、FIFOメモリに記憶される送信データのデータフォーマット例を示した図である。図に示すように送信データは、リロード情報の領域65aと、送信データの本体の領域65bとに分けられる。領域65aのリロード情報は、例えば、1で領域65bの送信データがブロックの先頭であることを示し、0で送信データがブロックの先頭でないことを示している。
図3の説明に戻る。FIFOメモリ62に記憶されているリロード情報が付加された送信データは、リードポインタ17の示すアドレスによって読み出され、バッファ63に出力される。バッファ63は、送信データに付加されているリロード情報と送信データとを分離し、送信データは、送信回路51へ出力し、リロード情報は、リロードポイント信号RPとしてリードポインタ制御部64に出力する。
リードポインタ制御部64は、バッファ63からのリロードポイント信号RPに応じて、リロードポインタ19がリードポインタ17の示しているアドレスを記憶するように制御する。例えば、リロードポイント信号RPが1である場合、すなわち、FIFOメモリ62から読み出された送信データがブロックの先頭であることを示している場合、リードポインタ制御部64は、リードポインタ17が示しているアドレスを記憶するようにリロードポインタ19を制御する。このように、FIFOメモリ62から読み出された送信データは、再送ブロックの先頭の送信データであるか判断され、先頭の送信データである場合、リードポインタ17のアドレスがリロードポインタ19に記憶される。そして、リードポインタ制御部64は、受信制御部20から再送トリガ信号RTを受信すると、リロードポインタ19の記憶しているアドレスが、リードポインタ17にセットされるようにリロードポインタ19を制御する。これによって、FIFOメモリ62に複数のブロックが記憶されても、リロードポインタ19は上書きされることはなく、再送すべきブロックを適正に送信することができる。なお、リードポインタ制御部64のリードポインタ17の制御は、図2のリードポインタ制御部18と同様に行う。
以下、図3の通信データ制御装置61の動作について説明する。送信データは、CPU31によってリロード情報が付加され、FIFOメモリ62に書き込まれる。FIFOメモリ62に書き込まれた送信データは、リードポインタ17のアドレスに基づいて読み出されバッファ63に出力される。バッファ63は、FIFOメモリ62から出力された送信データに含まれているリロード情報をリロードポイント信号RPとして、リードポインタ制御部64に出力する。
リードポインタ制御部64は、リロードポイント信号RPがブロックの先頭の送信データであることを示している場合、リードポインタ17が示しているアドレスを記憶するようにリロードポインタ19を制御する。これによって、再送されるべきブロックの先頭のアドレスがリロードポインタ19にセットされる。
リードポインタ制御部64は、受信制御部20から再送トリガ信号RTを受信すると、リロードポインタ19の記憶しているアドレスが、リードポインタ17にセットされるようにリロードポインタ19を制御する。
このように、通信データ制御装置61では、FIFOメモリ62から読み出された送信データに付加されているリロード情報に応じて、FIFOメモリ62から出力された送信データの読み出しアドレスをリロードポインタにセットするようにした。これによって、送信データのブロックの送信が完了していないときに、次の送信データのブロックがFIFOメモリ62に書き込まれても、リロードポインタは上書きされることがなく、適正に送信データを再送することができる。
また、CPU31を介することなく、リロードポインタ19のアドレスをセットするので、CPU31の負荷を低減することができる。
次に、本発明の第3の実施の形態を図面を参照して詳細に説明する。
図5は、第3の実施の形態に係る通信データ制御装置の回路図である。図5において図2,3と同じものには同じ符号を付し、その説明を省略する。図5の通信データ制御装置71は、図2の機能と図3の機能を両方持ち合わせている。
リードポインタ制御部72は、ライトポインタ制御部16からポインタロスト信号PLを受けている場合において、受信制御部20から再送トリガ信号RTを受信すると、ライトポインタ制御部16にリロード信号RLを出力する。また、リードポインタ制御部72は、バッファ63からリロードポイント信号RPが出力されると、リロードポインタ19がリードポインタ17の示しているアドレスを記憶するように制御する。
図5の通信データ制御装置71の動作は、図2の通信データ制御装置11と図3の通信データ制御装置の動作を組み合わせたものである。すなわち、送信データに付加されているリロード情報は、バッファ63によって分離され、リロードポイント信号RPとしてリードポインタ制御部72に出力される。リードポインタ制御部72は、リロードポイント信号RPがブロックの先頭の送信データであることを示している場合、リードポインタ17が示しているアドレスを記憶するようにリロードポインタ19を制御する。リードポインタ制御部72は、送信データのブロックの大きさがFIFOメモリ62の容量以下の場合に、再送トリガ信号RTを受信すると、リロードポインタ19のアドレスをリードポインタ17にセットする。
一方、送信データのブロックの大きさがFIFOメモリ62の容量を超え、上書きされる場合は、適正な送信データを再送することができない。この場合、リードポインタ制御部72は、再送トリガ信号RTを受信すると、ライトポインタ制御部16にリロード信号RLを出力し、ライトポインタ制御部16は、DMAC33を起動する。DMAC33は、CPU31によって書き込まれたブロックの先頭アドレスおよび転送数に従って、メモリ32に記憶されている送信データを通信データ制御装置11に書き込む。なお、DMAC33によって転送される送信データには、リロード情報は付加されない。
このように、通信データ制御装置71では、FIFOメモリ62から読み出された送信データに付加されているリロード情報に応じて、FIFOメモリ62から出力された送信データの読み出しアドレスをリロードポインタにセットするようにした。これによって、送信データのブロックの送信が完了していないときに、他の送信データのブロックがFIFOメモリ62に書き込まれても、リロードポインタは上書きされることがなく、適正に送信データを再送することができる。
また、送信データのブロックが、FIFOメモリ62の容量を超えて書き込まれた場合に再送トリガ信号RTがあると、DMAC33を起動し、再送すべきブロックをメモリ32からFIFOメモリ62に転送するようにした。これによって、送信データのブロックがFIFOメモリ62の容量より大きいため、FIFOメモリ62上の送信データが上書きされても、DMAC33によって、FIFOメモリ62に記憶されているブロックが転送されるので、適正に送信データを再送することができる。
また、CPU31を介することなく、リロードポインタ19のアドレスをセットし、メモリ32の送信データのブロックを通信データ制御装置71に転送するので、CPU31の負荷を低減することができる。
通信データ制御装置の概要を示した図である。 第1の実施の形態に係る通信データ制御装置の回路図である。 第2の実施の形態に係る通信データ制御装置の回路図である。 FIFOメモリに記憶される送信データのデータフォーマット例を示した図である。 第3の実施の形態に係る通信データ制御装置の回路図である。 従来の通信データ制御装置の例を示した回路図である。 送信データのブロックがFIFOメモリの容量を超える場合のFIFOメモリの状況を説明する図である。 送信データのブロックが複数FIFOメモリに書き込まれる場合のリロードポインタを説明する図である。
符号の説明
1 通信データ制御装置
1a FIFOメモリ
1b DMAC起動部
2 中央演算処理装置
3 メモリ
4 DMAC

Claims (9)

  1. バスを介して接続されたメモリに記憶されている送信データの通信制御をする通信データ制御装置において、
    前記送信データが書き込まれ、読み出されるFIFOメモリと、
    前記送信データのブロックが前記FIFOメモリの容量を超えて書き込まれた場合に前記送信データの再送要求があると、前記バスに接続されたDMACを起動して、前記メモリが記憶している前記送信データの前記ブロックを、前記FIFOメモリに転送するようにするDMAC起動部と、
    を有することを特徴とする通信データ制御装置。
  2. 前記DMAC起動部は、前記FIFOメモリに書き込まれる前記送信データの数に基づいて、前記ブロックが前記FIFOメモリの容量を超えて書き込まれたか判断することを特徴とする請求項1記載の通信データ制御装置。
  3. 前記DMACは、前記バスに接続されている中央演算処理装置によって前記ブロックの先頭が読み出されるときに前記ブロックの先頭アドレスと大きさとがセットされることを特徴とする請求項1記載の通信データ制御装置。
  4. 通信データの通信制御をする通信データ制御装置において、
    再送の開始点となることを示す再送開始点情報が付加された送信データが書き込まれ、読み出されるFIFOメモリと、
    前記FIFOメモリから前記送信データを読み出すための読み出しアドレスを生成するリードポインタと、
    前記送信データの再送要求があったとき、記憶している前記読み出しアドレスを前記リードポインタに出力するリロードポインタと、
    前記FIFOメモリから読み出された前記送信データの前記再送開始点情報に基づいて、前記リードポインタの生成した前記読み出しアドレスを前記リロードポインタに記憶するポインタ制御部と、
    を有することを特徴とする通信データ制御装置。
  5. 前記FIFOメモリから読み出された前記送信データの前記再送開始点情報を分離する分離部を有することを特徴とする請求項4記載の通信データ制御装置。
  6. 前記分離部は、分離した前記再送開始点情報を前記リロードポインタに出力し、分離した送信データを通信相手に送信することを特徴とする請求項5記載の通信データ制御装置。
  7. バスを介して接続されたメモリに記憶されている送信データの通信制御をする通信データ制御装置において、
    再送の開始点となることを示す再送開始点情報が付加された前記送信データが書き込まれ、読み出されるFIFOメモリと、
    前記FIFOメモリから前記送信データを読み出すための読み出しアドレスを生成するリードポインタと、
    前記送信データの再送要求があったとき、記憶している前記読み出しアドレスを前記リードポインタに出力するリロードポインタと、
    前記FIFOメモリから読み出された前記送信データの前記再送開始点情報に基づいて、前記リードポインタの生成した前記読み出しアドレスを前記リロードポインタに記憶するポインタ制御部と、
    前記送信データのブロックが前記FIFOメモリの容量を超えて書き込まれた場合に前記送信データの前記再送要求があると、前記バスに接続されたDMACを起動して、前記メモリが記憶している前記送信データの前記ブロックを、前記FIFOメモリに転送するようにするDMAC起動部と、
    を有することを特徴とする通信データ制御装置。
  8. 前記DMAC起動部は、前記FIFOメモリに書き込まれる前記送信データの数に基づいて、前記ブロックが前記FIFOメモリの容量を超えて書き込まれたか判断することを特徴とする請求項7記載の通信データ制御装置。
  9. 前記DMACは、前記バスに接続されている中央演算処理装置によって前記ブロックの先頭が読み出されるときに前記ブロックの先頭アドレスと大きさとがセットされることを特徴とする請求項7記載の通信データ制御装置。
JP2005085245A 2005-03-24 2005-03-24 通信データ制御装置 Expired - Fee Related JP4606216B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005085245A JP4606216B2 (ja) 2005-03-24 2005-03-24 通信データ制御装置
US11/169,747 US8024495B2 (en) 2005-03-24 2005-06-30 Communication data controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005085245A JP4606216B2 (ja) 2005-03-24 2005-03-24 通信データ制御装置

Publications (2)

Publication Number Publication Date
JP2006270469A true JP2006270469A (ja) 2006-10-05
JP4606216B2 JP4606216B2 (ja) 2011-01-05

Family

ID=37035095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005085245A Expired - Fee Related JP4606216B2 (ja) 2005-03-24 2005-03-24 通信データ制御装置

Country Status (2)

Country Link
US (1) US8024495B2 (ja)
JP (1) JP4606216B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015029406A1 (ja) * 2013-08-29 2015-03-05 セイコーエプソン株式会社 送信システム、送信装置、及び、データ送信方法
JP2015046135A (ja) * 2013-08-29 2015-03-12 セイコーエプソン株式会社 Posシステム、サーバー装置、及び、データ送信方法
JP2015049531A (ja) * 2013-08-29 2015-03-16 セイコーエプソン株式会社 送信システム、送信装置、及び、データ送信方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4268605B2 (ja) * 2005-09-07 2009-05-27 パナソニック株式会社 無線通信装置および通信制御方法
US20070255903A1 (en) * 2006-05-01 2007-11-01 Meir Tsadik Device, system and method of accessing a memory
JPWO2010128636A1 (ja) * 2009-05-08 2012-11-01 日本電気株式会社 通信システム、通信装置、通信方法及びプログラム
JP5780050B2 (ja) * 2011-08-17 2015-09-16 富士通株式会社 伝送システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257847A (ja) * 1992-03-12 1993-10-08 Fujitsu Ltd データ処理装置及びその制御方法
JPH0955718A (ja) * 1995-08-17 1997-02-25 Nec Corp データ通信装置
JP2000010758A (ja) * 1998-06-17 2000-01-14 Matsushita Electric Ind Co Ltd Fifoコントローラ
JP2000244530A (ja) * 1999-02-23 2000-09-08 Fuji Xerox Co Ltd データ通信装置
JP2001117864A (ja) * 1999-10-18 2001-04-27 Yokogawa Electric Corp 通信バッファのアクセス方法およびその書き込み制御装置
JP2002342260A (ja) * 2001-05-22 2002-11-29 Nec Microsystems Ltd Usb送信制御回路およびその制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016221A (en) * 1989-12-01 1991-05-14 National Semiconductor Corporation First-in, first-out (FIFO) memory with variable commit point
US5365485A (en) * 1993-11-22 1994-11-15 Texas Instruments Incorporated Fifo with fast retransmit mode
US6870854B1 (en) * 1996-06-21 2005-03-22 Hitachi, Ltd. Packet switching device and cell transfer method
JP2968738B2 (ja) * 1996-11-18 1999-11-02 静岡日本電気株式会社 個別選択呼出受信システムおよび個別選択呼出受信方法
US6185633B1 (en) * 1997-03-20 2001-02-06 National Semiconductor Corp. DMA configurable receive channel with memory width N and with steering logic compressing N multiplexors
US6266789B1 (en) * 1997-11-17 2001-07-24 I-Tech Corporation Deep trace memory system for a protocol analyzer
US6651103B1 (en) * 1999-04-20 2003-11-18 At&T Corp. Proxy apparatus and method for streaming media information and for increasing the quality of stored media information
US6795360B2 (en) * 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
US6829660B2 (en) * 2001-12-12 2004-12-07 Emulex Design & Manufacturing Corporation Supercharge message exchanger
US7548562B2 (en) * 2004-12-14 2009-06-16 Agilent Technologies, Inc. High speed acquisition system that allows capture from a packet network and streams the data to a storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257847A (ja) * 1992-03-12 1993-10-08 Fujitsu Ltd データ処理装置及びその制御方法
JPH0955718A (ja) * 1995-08-17 1997-02-25 Nec Corp データ通信装置
JP2000010758A (ja) * 1998-06-17 2000-01-14 Matsushita Electric Ind Co Ltd Fifoコントローラ
JP2000244530A (ja) * 1999-02-23 2000-09-08 Fuji Xerox Co Ltd データ通信装置
JP2001117864A (ja) * 1999-10-18 2001-04-27 Yokogawa Electric Corp 通信バッファのアクセス方法およびその書き込み制御装置
JP2002342260A (ja) * 2001-05-22 2002-11-29 Nec Microsystems Ltd Usb送信制御回路およびその制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015029406A1 (ja) * 2013-08-29 2015-03-05 セイコーエプソン株式会社 送信システム、送信装置、及び、データ送信方法
JP2015046135A (ja) * 2013-08-29 2015-03-12 セイコーエプソン株式会社 Posシステム、サーバー装置、及び、データ送信方法
JP2015049531A (ja) * 2013-08-29 2015-03-16 セイコーエプソン株式会社 送信システム、送信装置、及び、データ送信方法
KR101827936B1 (ko) * 2013-08-29 2018-02-09 세이코 엡슨 가부시키가이샤 송신 시스템, 송신 장치 및, 데이터 송신 방법
US10686881B2 (en) 2013-08-29 2020-06-16 Seiko Epson Corporation Transmission system, transmission device, and data transmission method

Also Published As

Publication number Publication date
US8024495B2 (en) 2011-09-20
JP4606216B2 (ja) 2011-01-05
US20060215678A1 (en) 2006-09-28

Similar Documents

Publication Publication Date Title
JP4606216B2 (ja) 通信データ制御装置
US6925512B2 (en) Communication between two embedded processors
US5604866A (en) Flow control system having a counter in transmitter for decrementing and incrementing based upon transmitting and received message size respectively for indicating free space in receiver
JP4452690B2 (ja) 電子装置、その制御方法、ホスト装置及びその制御方法
JP4541949B2 (ja) データ転送装置
KR20050055549A (ko) Tcp/ip 통신을 위해 하드웨어적으로 구현한 링 버퍼관리 시스템 및 그 방법
US6445718B1 (en) Serial interface circuit
US20050041606A1 (en) Data communication apparatus, data communication method, data communication program and recording medium in which data communication program was recorded
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
JP2014158241A (ja) データ通信装置及びデータ通信方法
JP4693576B2 (ja) データ転送制御装置、およびデータ転送制御方法
JP2003258922A (ja) 3段通信バッファを利用した通信装置
JP3344139B2 (ja) 通信装置
JP4377297B2 (ja) 記憶装置
JP5652866B2 (ja) バス調停回路及びバス調停方法
JPH0879223A (ja) データ送受信システム
JP4102405B2 (ja) データ処理装置、データ通信方法及びシリアル入出力装置
JP2008099139A (ja) 通信方法
JP2008118211A (ja) データ転送装置及びデータ転送方法
JP2005141677A (ja) Icカード用通信ライブラリ及びicカード
JP2002007312A (ja) 情報入出力装置
CN115776475A (zh) 一种消息处理方法、装置、电子设备及计算机存储介质
JP2005277704A (ja) データ配信管理装置およびデータ配信管理方法
JP4624252B2 (ja) データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム
JP4400432B2 (ja) 非同期fifoパケット通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100707

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101005

R150 Certificate of patent or registration of utility model

Ref document number: 4606216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees