JP2004289805A - データ送信装置およびデータ受信装置 - Google Patents

データ送信装置およびデータ受信装置 Download PDF

Info

Publication number
JP2004289805A
JP2004289805A JP2004015792A JP2004015792A JP2004289805A JP 2004289805 A JP2004289805 A JP 2004289805A JP 2004015792 A JP2004015792 A JP 2004015792A JP 2004015792 A JP2004015792 A JP 2004015792A JP 2004289805 A JP2004289805 A JP 2004289805A
Authority
JP
Japan
Prior art keywords
value
register
data
threshold
reference value
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
JP2004015792A
Other languages
English (en)
Other versions
JP4328223B2 (ja
Inventor
Yutaka Fujimaki
裕 藤巻
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics 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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2004015792A priority Critical patent/JP4328223B2/ja
Publication of JP2004289805A publication Critical patent/JP2004289805A/ja
Application granted granted Critical
Publication of JP4328223B2 publication Critical patent/JP4328223B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】 CPUの負担を小さく抑えたまま、適切な割込間隔で送信データが送信されて送信処理の効率が高められたデータ送信装置および適切な割込間隔で受信データが受信されて受信処理の効率が高められたデータ受信装置を提供する。
【解決手段】 読出ポインタ22の値から書込ポインタ23の値を引算器24で引き算してFIFOバッファ21の空き状態を求め、FIFOバッファ21の空き領域が大きいほど早いタイミングで書込要求信号生成回路26から書込要求信号を出力して、FIFOバッファ21に送信データを書き込む。
【選択図】 図2

Description

本発明は、送信データバッファに格納されたデータを送信するデータ送信装置および受信データバッファに格納されるデータを受信するデータ受信装置に関する。
従来より、通信システムを構成するデータ送信装置において、送信データバッファとして先入れ先出し(FIFO:First In First Out)方式のFIFOバッファを備え、そのFIFOバッファに格納された送信データが空の状態になると、CPUに対して書込要求としての割込信号を出力し、これを受けてCPUが次の送信データをFIFOバッファに書き込むという手順で処理が行なわれている。このような場合において、送信データの書込処理と、この書込処理の優先度よりも高い優先度を持つ別の処理とが同時に発生した場合、送信データの書込処理は後回しにされるため、比較的長時間FIFOバッファが空の状態のまま放置され、送信レートが悪化するという事態が発生する。このような事態を避けるために、FIFOバッファが完全に空の状態にならないようにソフトウェアで定期的にFIFOバッファの状態を監視(ポーリング)し、FIFOバッファが書込可能な状態にある場合は適宜送信データをFIFOバッファに書き込むといった対処が行なわれる。この定期的なポーリング動作は、優先順位が高く設定されたタイマ割込等で実現されるのが一般的である。しかしながら、このような場合、CPUの処理能力がポーリング動作に費やされることとなり、従って通信システム全体の処理能力が低下することとなり好ましい状態ではない。
そこで、FIFOバッファへの書込要求用の割込信号の間隔を表わす値(FIFOバッファ内の空きバッファ数の閾値)をソフトウェアで設定するレジスタを用意し、このレジスタに設定された閾値に応じてFIFOバッファが完全に空の状態になる前に発生する割込信号の間隔を可変させる機構をもたせた技術が提案されている(特許文献1参照)。
また、通信システムを構成するデータ受信装置において、受信データバッファとしてのFIFOバッファを備え、そのFIFOバッファに受信データが書き込まれると、CPUに対して読出要求としての割込信号を出力し、これを受けてCPUが当該受信データを読み出すという手順で処理が行なわれている。このような場合において、受信データの読出処理と、この読出処理の優先度よりも高い優先度を持つ別の処理とが同時に発生した場合、受信データの読出処理は後回しにされるため、比較的長時間FIFOバッファ内に受信データが放置され、さらにはそのFIFOバッファがフルに占有される状態が頻発することで、受信レートが悪化するという事態が発生する。このような事態を避けるために、ソフトウェアで定期的にFIFOバッファの状態をポーリングし、FIFOバッファが読出可能な状態にある場合は適宜受信データをそのFIFOバッファから読み出すといった対処が行なわれる。この定期的なポーリング動作は、優先順位が高く設定されたタイマ割込等で実現されるのが一般的である。しかしながら、このような場合、CPUの処理能力がポーリング動作に費やされることとなり、従って通信システム全体の処理能力が低下することとなり好ましい状態ではない。
そこで、前述した特許文献1に提案された技術を適用して、FIFOバッファへの読出要求用の割込信号の間隔を表わす値(FIFOバッファの、受信データが占有するバッファ数の閾値)をソフトウェアで設定するレジスタを用意し、このレジスタに設定された閾値に応じてFIFOバッファが受信データで一杯の状態(フル状態)になる前に発生する割込信号の間隔を可変させる機構をもたせることが可能である。
特開平11−308254号公報
しかし、上記特許文献1に提案された技術では、送信処理にあたり、割込発生間隔が可変になっているものの、この割込発生間隔の制御は、CPUがソフトウェアを実行することにより行なわれるため、CPUの負担軽減に欠ける点がある。ここで、例えば送信するデータ量が多い場合には割込発生間隔が短くなるように制御するのでは、送信されるデータ量はシステム全体としてはミクロなパラメータであるため、システム全体として適切な制御を行なうことは困難であり、従ってシステム全体としての処理能力の低下防止に欠けることとなる。
しかし、送信データ量で制御することに代えて、送信の頻度や他の割込信号との優先度を、CPUがその動作中にダイナミックに知ることはCPUの負担が大きくなりすぎて現実的ではない。即ち、CPUがソフトウェアを実行中に、ダイナミックに上記割込発生間隔を制御するのでは、CPUの負担が大きすぎるという問題がある。そこで、初期の設定段階で設定された閾値を変更しない、即ち初期の設定段階においてシステムの最適値として一度設定された割込発生間隔を固定するということが考えられるものの、これでは効率のよい送信処理を常に維持することは困難である。
また、上記特許文献1に提案された技術を受信処理に適用した場合、送信処理の場合と同様に、割込発生間隔が可変になるものの、この割込発生間隔の制御は、CPUがソフトウェアを実行することにより行なわれるため、CPUの負担軽減に欠ける点がある。ここで、例えば受信するデータ量が多い場合には割込発生間隔が短くなるように制御するのでは、受信されるデータ量はシステム全体としてはミクロなパラメータであるため、システム全体として適切な制御を行なうことは困難であり、従ってシステム全体としての処理能力の低下防止に欠けることとなる。
しかし、受信データ量で制御することに代えて、受信の頻度や他の割込信号との優先度を、CPUがその動作中にダイナミックに知ることはCPUの負担が大きくなりすぎて現実的ではない。即ち、CPUがソフトウェアを実行中に、ダイナミックに上記割込発生間隔を制御するのでは、CPUの負担が大きすぎるという問題がある。そこで、初期の設定段階で設定された閾値を変更しない、即ち初期の設定段階においてシステムの最適値として一度設定された割込発生間隔を固定するということが考えられるものの、これでは効率のよい受信処理を常に維持することは困難である。
本発明は、上記事情に鑑み、CPUの負担を小さく抑えたまま、適切な割込間隔で送信データが送信されて送信処理の効率が高められたデータ送信装置および適切な割込間隔で受信データが読み出されて受信処理の効率が高められたデータ受信装置を提供することを目的とする。
上記目的を達成する本発明のデータ送信装置は、
送信データが格納される送信データバッファと、
上記送信データバッファに格納されたデータを送信するデータ送信部と、
上記送信データバッファの空き状態を監視する空き状態監視部と、
上記空き状態監視部に監視された上記送信データバッファの空き領域の大きさに応じて、空き領域が大きいほど早いタイミングで送信データのその送信データバッファへの書込を要求する書込要求部とを備えたことを特徴とする。
本発明のデータ送信装置は、空き状態監視部で監視された送信データバッファの空き領域が大きいほど早いタイミングで送信データの送信データバッファへの書込を書込要求部で要求するものであるため、送信データバッファの、前回の書込時の空き状況を考慮した上で、次回の書込要求のための割込信号を発生させるタイミングを可変するにあたり、CPUがソフトウェアを実行してその都度閾値をレジスタに設定する必要はなく、またCPUが動作中に送信の頻度や他の割込処理との優先度をダイナミックに知る必要もない。従って、CPUによる割込信号発生間隔の制御が排除されることとなり、CPUに大きな負荷を与えることなく送信データの送信データバッファへの書込要求のための適切な割込間隔が実現されて、送信処理のパフォーマンスを高めることができる。
ここで、本発明のデータ送信装置における上記書込要求部が、
上記送信データバッファの空き領域の大きさを表わす、次の書込要求を行なうか否かの判定基準として用いられる閾値を更新自在に格納しておく閾値レジスタと、
上記閾値レジスタに格納された閾値の増減の基準となる基準値を格納しておく基準値レジスタと、
上記空き状態監視部により監視された上記送信データバッファの空き領域の大きさと上記閾値レジスタに格納された閾値とを比較し、その空き領域の大きさがその閾値に達したタイミングでその送信データバッファへの送信データの次の書込を要求する書込要求タイミング生成部と、
上記空き状態監視部により監視された上記送信データバッファの空き領域の大きさと上記基準値レジスタに格納された基準値とを比較し、その空き領域の大きさがその基準値を越えるか、その基準値と等しいか、あるいはその基準値未満であるかに応じて、それぞれ、上記閾値レジスタに格納された閾値を減少させ、同一に保持し、あるいは増加させる閾値書替部とを備えたものであることが好ましい。
上記書込要求部をこのように構成すると、後述する実施形態に示すように、送信データバッファの空き領域が大きいほど早いタイミングで送信データの送信データバッファへの書込要求を、簡単な回路構成で実現することができる。
また、上記目的を達成する本発明のデータ受信装置は、
受信データが格納される受信データバッファと、
上記受信データバッファに格納されるデータを受信するデータ受信部と、
上記受信データバッファの空き状態を監視する空き状態監視部と、
上記空き状態監視部に監視された上記受信データバッファの空き領域の大きさに応じて、空き領域が小さいほど早いタイミングで受信データのその受信データバッファからの読出を要求する読出要求部とを備えたことを特徴とする。
本発明のデータ受信装置は、空き状態監視部で監視された受信データバッファの空き領域が小さいほど早いタイミングで受信データの受信データバッファからの読出を読出要求部で要求するものであるため、受信データバッファの、前回の読出時の空き状況を考慮した上で、次回の読出要求のための割込信号を発生させるタイミングを可変するにあたり、CPUがソフトウェアを実行してその都度閾値をレジスタに設定する必要はなく、またCPUが動作中に受信の頻度や他の割込処理との優先度をダイナミックに知る必要もない。従って、CPUによる割込信号発生間隔の制御が排除されることとなり、CPUに大きな負荷を与えることなく受信データの受信データバッファからの読出要求のための適切な割込間隔が実現されて、受信処理のパフォーマンスを高めることができる。
ここで、本発明のデータ受信装置における上記読出要求部が、
上記受信データバッファの空き領域の大きさを表わす、次の読出要求を行なうか否かの判定基準として用いられる閾値を更新自在に格納しておく閾値レジスタと、
上記閾値レジスタに格納された閾値の増減の基準となる基準値を格納しておく基準値レジスタと、
上記空き状態監視部により監視された上記受信データバッファの空き領域の大きさと上記閾値レジスタに格納された閾値とを比較し、その空き領域の大きさがその閾値にまで減少したタイミングでその受信データバッファからの受信データの次の読出を要求する読出要求タイミング生成部と、
上記空き状態監視部により監視された上記受信データバッファの空き領域の大きさと上記基準値レジスタに格納された基準値とを比較し、その空き領域の大きさがその基準値を越えるか、その基準値と等しいか、あるいはその基準値未満であるかに応じて、それぞれ、上記閾値レジスタに格納された閾値を減少させ、同一に保持し、あるいは増加させる閾値書替部とを備えたものであることが好ましい。
上記読出要求部をこのように構成すると、後述する実施形態に示すように、受信データバッファの空き領域が小さいほど早いタイミングで受信データの受信データバッファからの読出要求を、簡単な回路構成で実現することができる。
本発明のデータ送信装置によれば、CPUの負担を小さく抑えたまま、適切な割込間隔で送信データが送信されて送信処理の効率を高めることができる。また、本発明のデータ受信装置によれば、CPUの負担を小さく抑えたまま、適切な割込間隔で受信データが読み出されて受信処理の効率を高めることができる。
以下、本発明の実施形態について説明する。
図1は、本発明の一実施形態のデータ送信装置および本発明の一実施形態のデータ受信装置の双方が組み込まれたシリアル通信システムの構成を示す図である。
図1に示すシリアル通信システム1には、CPUインターフェース部10と、送信データバッファ部20と、データ送信部30と、データ受信部40と、受信データバッファ部50とが備えられている。CPUインターフェース部10は、割込信号発生部11を有する。尚、本発明の一実施形態のデータ送信装置は、CPUインターフェース部10の一部と、送信データバッファ部20と、データ送信部30とから構成されている。また、本発明の一実施形態のデータ受信装置は、CPUインターフェース部10の他の一部と、受信データバッファ部50と、データ受信部40とから構成されている。
CPUインターフェース部10は、アドレスバス、データバス、およびコントロールバスを介して図示しないCPUと接続されている。このCPUインターフェース部10は、後述する送信データバッファ部20からの書込要求信号を割込信号発生部11に入力し、CPUに向けて割込要求を行ない、そのCPUからデータバスを介して供給されるパラレルの送信データを送信データバッファ部20に向けて出力する。また、このCPUインターフェース部10は、後述する受信データバッファ部50からパラレルの受信データを読み出してデータバスに出力する。
送信データバッファ部20には、CPUインターフェース部10から出力されるパラレルの送信データが格納されるFIFOバッファ(本発明にいう送信データバッファの一例に相当)等が備えられている。このFIFOバッファを含む送信データバッファ部20の構成については後述する。
データ送信部30は、上記FIFOバッファに格納されたパラレルの送信データをシリアルのデータに変換し、図示しない周辺装置に向けて出力する。
データ受信部40には、周辺装置からのシリアルデータが入力される。このデータ受信部40は、入力されたシリアルデータをパラレルのデータに変換して受信データバッファ部50に出力する。
受信データバッファ部50には、データ受信部40から出力されるパラレルの受信データが格納されるFIFOバッファ(本発明にいう受信データバッファの一例に相当)等が備えられている。このFIFOバッファを含む受信データのバッファ部50の構成については後述する。
先ず、本発明の一実施形態のデータ送信装置について説明する。
図2は、図1に示す送信データバッファ部の構成を示す図である。
図2に示す送信データバッファ部20には、FIFOバッファ21(本発明のデータ送信装置における送信データバッファの一例)と、読出ポインタ22と、書込ポインタ23と、引算器24と、ポインタ制御回路25と、書込要求信号生成回路26とが備えられている。ここで、読出ポインタ22,書込ポインタ23,引算器24が、本発明のデータ送信装置における空き状態監視部の役割を担うものである。また、書込要求信号生成回路26が、本発明のデータ送信装置における書込要求部の一例に相当する。
図2に示すFIFOバッファ21は、先入れ先出し(FIFO:First In First Out)方式の送信データバッファであり、このFIFOバッファ21は、循環式で利用される8段のバッファ部から構成されている。各バッファ部には、1バイト分の送信データが記憶される。記憶された送信データは1バイト単位でデータ送信部30に出力される。
読出ポインタ22は、このシリアル通信システム1における次の送信処理タイミングの際に、データ送信部30に出力すべきデータの位置(FIFOバッファ21を構成するバッファ部の位置)を指し示すレジスタであり、1回の送信処理が完了する毎に1だけカウントアップされる。
書込ポインタ23は、CPUから次に書き込まれる送信データの位置(FIFOバッファ21を構成するバッファ部の位置)を指し示すレジスタであり、書き込みが行なわれる毎に1だけカウントアップされる。これら読出ポインタ22と書込ポインタ23が指し示す位置の差異によってFIFOバッファ21の空き状態を知ることができる。ここで、後述する「フルフラグ」が論理‘0’で、且つ読出ポインタ22と書込ポインタ23の値が一致している場合は、FIFOバッファ21は完全に空の状態であり、従って送信すべきデータは無いこととなる。また、読出ポインタ22と書込ポインタ23双方の値が一致していない場合は、その差分が、FIFOバッファ21の空いている段数となる。この差分は、引算器24で計算される。具体的には、引算器24は、「読出ポインタ22の値−書込ポインタ23の値」を計算する。但し、引き算結果が負になる場合は、詳細は後述するが、FIFOバッファ21の総段数「8」と負の引き算結果を足した値が最終結果となる。
ポインタ制御回路25は、読出ポインタ22と書込ポインタ23双方の制御を行なう。このポインタ制御回路25では、書込ポインタ23と読出ポインタ22の値が、書込動作により一致した場合に「フルフラグ」を論理‘1’とし、CPUに対して更なる送信データの書き込みを禁止する。この「フルフラグ」は一度論理‘1’にセットされた場合、次に両者の値に差が生じた場合に論理‘0’にクリアされる。このような動作は、一般的なFIFOバッファ装置の動作と同じである。
書込要求信号生成回路26は、CPUに向けて出力する割込信号に反映させるために、割込信号発生部11に送出する書込要求信号を生成する回路である。以下、図3を参照して説明する。
図3は、書込要求信号生成回路の回路図である。
図3に示す書込要求信号生成回路26には、FIFOバッファ21の空き領域の大きさを表わす、次の書込要求を行なうか否かの判定基準として用いられる閾値を更新自在に格納しておく閾値レジスタ26_1が備えられている。
また、書込要求信号生成回路26には、閾値レジスタ26_1に格納された閾値の増減の基準となる基準値を格納しておく基準値レジスタ26_2が備えられている。
さらに、書込要求信号生成回路26には、引算器24により計算されたFIFOバッファ21の空き領域の大きさと閾値レジスタ26_1に格納された閾値とを比較し、空き領域の大きさが閾値に達したタイミングでFIFOバッファ21への送信データの次の書込を要求する比較器26_31,フリップフロップ26_32,26_33,アンドゲート26_34からなる書込要求タイミング生成部26_3が備えられている。
また、書込要求信号生成回路26には、書込要求タイミング生成部26_3からの書込の要求である書込要求信号に応じてFIFOバッファ21に送信データを書き込むタイミングで、引算器24で計算されたFIFOバッファ21の空き領域の大きさと基準値レジスタ26_2に格納された基準値とを比較し、空き領域の大きさが基準値を越えるか、基準値と等しいか、あるいは基準値未満であるかに応じて、それぞれ、閾値レジスタ26_1に格納された閾値を減少させ、同一に保持し、あるいは増加させるインクリメンタ26_41,デクリメンタ26_42,切替器26_43,切替信号生成回路26_44からなる閾値書替部26_4が備えられている。
さらに、書込要求信号生成回路26には、後述する基準値レジスタ書込信号に応じて、データバスと基準値レジスタ26_2に格納された基準値とを切り替える切替器26_5と、引算器24の値と基準値レジスタ26_2に格納された基準値とを比較して比較結果を切替信号生成回路26_44に出力する比較器26_6が備えられている。さらに詳細に説明する。
基準値レジスタ26_2は3ビット<2:0>構成のレジスタであり、この基準値レジスタ26_2には、CPUに対する送信データ書込要求の割込信号である書込要求信号を発行する間隔を調整する基準となる基準値が設定される。この基準値と、引算器24の値(FIFOバッファ21の空き段数)とが、比較器26_6により比較され、CPUが送信データを書き込んだ時に次の割込信号発生間隔を決定する閾値レジスタ26_1に設定する閾値を選択するために用いられる。CPUからデータバス経由で基準値レジスタ26_2に対して書き込みが行なわれる際に、基準値レジスタ書込信号が有効となり、切替器26_5を介して基準値が設定される。この基準値は保持し続ける。換言すれば、基準値レジスタ26_2は、割込信号発生間隔を長くしたり短くしたりする調節を行なう際の判断基準となる、FIFOバッファ21に残っていてもよい送信データ数を設定するものである。例えば、基準値レジスタ26_2の設定値が‘2’の場合、CPUからの送信データのFIFOバッファ21への書込を要求した時点でのFIFOバッファ21内の送信データの残りが‘2’であれば、割込信号発生間隔を変更せず、送信データの残りが‘2’よりも大きい場合は割込信号発生間隔を長くするように制御される。また、送信データの残りが‘2’よりも小さい場合は割込信号発生間隔を短くするように制御される。尚、通常は基準レジスタ26_2の値は、CPUによりシステム起動時に1度だけ設定すればよい。
閾値レジスタ26_1は3ビット<2:0>構成のレジスタであり、この閾値レジスタ26_1には、FIFOバッファ21が何段空いたら書込要求信号を生成するのかを示す閾値が設定される。この閾値と引算器24の値とが比較器26_31により比較され、比較結果の値が「閾値レジスタ26_1の値≦引算器24の値」の場合は、比較器26_31から論理‘1’の信号がフリップフロップ26_32に向けて出力される。
切替器26_43は、データバスの値、閾値レジスタ26_1の値、その値をインクリメンタ26_41で+1した値、およびその値をデクリメンタ26_42で−1した値を切り替えて、閾値レジスタ26_1に入力する。
切替信号生成回路26_44は、切替器26_43を切り替えるための信号を生成する。この切替信号生成回路26_44は、基準値レジスタ書込信号が有効な場合にはデータバスの値が閾値レジスタ26_1に入力されるように選択する。また、書込要求信号発生後最初のFIFOバッファ21への書込時に、比較器26_6からの比較結果が、「基準値レジスタ26_2の値>引算器24の値」の場合は、インクリメンタ26_41の値が闘値レジスタ26_1に入力されるように選択する(但し、閾値レジスタ26_1の値が最大値‘7’の場合は、閾値レジスタ26_1の値がその閾値レジスタ26_1に入力されるように選択する)。さらに、書込要求信号発生後最初のFIFOバッファ21への書込時に比較器26_6からの比較結果が、「基準値レジスタ26_2の値=引算器24の値」の場合は、閾値レジスタ26_1の値がその閾値レジスタ26_1に入力されるように選択する。また、書込要求信号発生後最初のFIFOバッファ21への書込時に比較器26_6の比較結果が、「基準値レジスタ26_2の値<引算器24の値」の場合は、デクリメンタ26_42の値が閾値レジスタ26_1に入力されるように選択する(但し、閾値レジスタ26_1の値が最小値‘0’の場合は、閾値レジスタ26_1の値がその閾値レジスタ26_1に入力されるように選択する)。尚、上述した以外の定常状態の場合は、閾値レジスタ26_1の値がその閾値レジスタ26_1に入力されるように選択することにより、その値を保持する。
図3に示す、書込要求タイミング生成部26_3を構成するフリップフロップ26_32,26_33,アンドゲート26_34からなる回路は、一般的なエッジ検出回路であり、後述する図5に示すように、比較器26_31の比較結果が、「閾値レジスタ26_1の値>引算器24の値」から「閾値レジスタ26_1の値≦引算器24の値」になった場合に、1システムクロック幅のパルスを発生し、このパルスを割込信号発生部11(図1参照)に与え、これが最終的にはCPUへの割込信号となる。次に、図4〜図8を参照して本実施形態のデータ送信装置における動作について説明する。
図4は、図2に示すFIFOバッファの、書込ポインタと読出ポインタによる動作例1を模擬した図である。
この動作例1では、CPUへの割込信号発生間隔を短くするための制御が行なわれる。図4に示すFIFOバッファ21は、0〜7とナンバリングされた8段のバッファ部で構成されている。尚、斜線で示すバッファ部2,3には送信データが格納されている。書込ポインタ23の現在の値は‘4’であり、読出ポインタ22の現在の値は‘2’である。また、FIFOバッファ21の左右には、これらの値‘4’‘2’を指し示す矢印が付されている。ここでは、基準値レジスタ26_2には基準値‘4’が設定されているものとする。
最初の時点では、闘値レジスタ26_1の値が‘4’、書込ポインタ23の値が‘4’、読出ポインタ22の値が‘2’である。この状態で書込要求信号に基づく割込みにより、最初の送信データのFIFOバッファ21への書込動作がCPUで行なわれる。すると、引算器24の結果は、「読出ポインタ22の値(‘2’)−書込ポインタ23の値(‘4’)=‘−2’」なので、8−2=6となり、FIFOバッファ21の空き領域の大きさは‘6’(6段分のバッファ部0,1,4,5,6,7)である。この動作例1は、割込みの発生からCPUによる最初の書込みまでに有した時間がFIFOバッファ21における送信処理(2段分の送信処理)よりも長い場合に相当する。基準値レジスタ26_2の値は‘4’であるから、比較器26_6の比較結果は、「基準値レジスタ26_2の値<引算器24の値」となり、従って切替器26_43はデクリメンタ26_42を選択する信号を出力し、闘値レジスタ26_1には新たな値として‘3’が設定される。これにより、CPUに対して行なわれる割込間隔が前回よりも短くなったことになる。その後、CPUからFIFOバッファ21に送信データが書き込まれて、そのFIFOバッファ21がフル状態になりフルフラグとして論理‘1’が出力され、これにより書込みが終了する。次いで、送信が行なわれてFIFOバッファ21に空き状態が生じ始める。
図5は、図4に示す動作例1において、CPUからFIFOバッファに送信データが書き込まれてフル状態になり、その後の送信によりFIFOバッファに空き状態が生じ始めるまでの様子を示すタイミングチャートである。
尚、このタイミングチャートでは、書込終了後から送信処理がすぐに開始されている。引算器24の出力結果が値‘2’から値‘3’になった時点で新たに書込要求信号としてのパルス信号が出力される。ここで、点線で示すように、闘値レジスタ26_1に新たな値として‘3’が設定されずに値‘4’の状態のままでは、書込要求信号は、引算器24の出力結果が値‘3’から値‘4’になった時点で出力される。このように閾値レジスタ26_1に値‘4’を設定していたままの場合と比較し、CPUに対する割込間隔が短くなったのがわかる。
図6は、図2に示すFIFOバッファの、書込ポインタと読出ポインタによる動作例2を模擬した図である。
この動作例2では、CPUへの割込信号発生間隔を維持するための制御が行なわれる。ここでは、闘値レジスタ26_1の値が‘3’、書込ポインタ23の値が‘2’、読出ポインタ22の値が‘6’である。この状態で書込要求信号に基づく割込みにより、最初の送信データのFIFOバッファ21への書込動作がCPUで行なわれる。引算器24の結果は、「読出ポインタ22の値(‘6’)−書込ポインタ23の値(‘2’)=‘4’」である。基準値レジスタ26_2の値は‘4’であるので、基準値レジスタ26_2の値=引算結果となり、切替器26_43は闘値レジスタ26_1の値‘3’をそのまま選択する信号を出力し、これにより闘値レジスタ26_1は値‘3’を保持する。その後、CPUからFIFOバッファ21に送信データが書き込まれて、そのFIFOバッファ21がフル状態になりフルフラグが出力され、これにより書込みが終了する。次いで、送信が行なわれてFIFOバッファ21に空き状態が生じ始め、引算器24の出力結果が値‘2’から値‘3’になった時点で書込要求信号としてのパルス信号が出力される。
図7は、図2に示すFIFOバッファの、書込ポインタと読出ポインタによる動作例3を模擬した図である。
この動作例3では、CPUへの割込信号発生間隔を長くするための制御が行なわれる。ここでは、闘値レジスタ26_1の値が‘3’、書込ポインタ23の値が‘0’、読出ポインタ22の値が‘3’である。この状態で書込要求信号に基づく割込みにより、最初の送信データのFIFOバッファ21への書込動作がCPUで行なわれる。引算器24の結果は、「読出ポインタ22の値(‘3’)−書込ポインタ23の値(‘0’)=‘3’」である。この動作例3は、割込みの発生からCPUによる最初の書込みまでに有した時間がFIFOバッファ21における送信処理(1段分の送信処理)よりも速い場合に相当する。基準値レジスタ26_2の値は‘4’であるので、基準値レジスタ26_2の値>引算結果となり、切替器26_43はインクリメンタ26_41を選択する信号を出力し、闘値レジスタ26_1には新たな値として‘4’が設定される。これにより、CPUに対して行なわれる割込間隔が前回よりも長くなったことになる。その後、CPUからFIFOバッファ21に送信データが書き込まれて、そのFIFOバッファ21がフル状態になりフルフラグとして論理‘1’が出力され、これにより書込みが終了する。次いで、送信が行なわれてFIFOバッファ21に空き状態が生じ始める。
図8は、図7に示す動作例3において、CPUからFIFOバッファに送信データが書き込まれてフル状態になり、その後の送信によりFIFOバッファに空き状態が生じ始めるまでの様子を示すタイミングチャートである。
尚、このタイミングチャートでは、書込終了後から送信処理がすぐに開始されている。引算器24の出力結果が値‘3’から値‘4’になった時点で新たに書込要求信号としてのパルス信号が出力される。ここで、点線で示すように、闘値レジスタ26_1に新たな値として‘4’が設定されずに値‘3’の状態のままでは、書込要求信号は、引算器24の出力結果が値‘2’から値‘3’になった時点で出力される。このように閾値レジスタ26_1に値‘3’を設定していたままの場合と比較し、CPUに対する割込間隔が長くなったのがわかる。
次に、本発明の一実施形態のデータ受信装置について説明する。
図9は、図1に示す受信データバッファ部の構成を示す図である。
図9に示す受信データバッファ部50には、FIFOバッファ51(本発明のデータ受信装置における受信データバッファの一例)と、読出ポインタ52と、書込ポインタ53と、引算器54と、ポインタ制御回路55と、読出要求信号生成回路56とが備えられている。ここで、読出ポインタ52,書込ポインタ53,引算器54が、本発明のデータ受信装置における空き状態監視部の役割を担うものである。また、読出要求信号生成回路56が、本発明のデータ受信装置における読出要求部の一例に相当する。
図9に示すFIFOバッファ51は、先入れ先出し(FIFO:First In First Out)方式の受信データバッファであり、このFIFOバッファ51は、循環式で利用される8段のバッファ部から構成されている。各バッファ部には、データ受信部40からの受信データが1バイト単位で記憶される。記憶された受信データは、図示しないCPUからの読み出しによりその値がデータバスに出力される。
書込ポインタ53は、データ受信部40から受け取った、次の受信処理タイミングの際に保存される受信データの位置(FIFOバッファ51を構成するバッファ部の位置)を指し示すレジスタであり、1回の受信処理が完了する毎に1だけカウントアップされる。
読出ポインタ52は、次にCPUから読み出される受信データの位置(FIFOバッファ51を構成するバッファ部の位置)を指し示すレジスタであり、読み出しが行なわれる毎に1だけカウントアップされる。これら書込ポインタ53と読出ポインタ52が指し示す位置の差異によってFIFOバッファ51の占有状態を知ることができる。ここで、後述する「エンプティフラグ」が論理‘1’で、且つ読出ポインタ52と書込ポインタ53の値が一致している場合は、FIFOバッファ51は完全に空の状態であり、従って読み出すべきデータは無いこととなる。また、読出ポインタ52と書込ポインタ53双方の値が一致していない場合は、その差分が、FIFOバッファ51の、占有されているバッファ段数となる。この差分は、引算器54で計算される。具体的には、引算器54は、「書込ポインタ53の値−読出ポインタ52の値」を計算する。但し、引き算結果が負になる場合は、詳細は後述するが、FIFOバッファ51の総段数「8」と負の引き算結果を足した値が最終結果となる。
ポインタ制御回路55は、書込ポインタ53と読出ポインタ52双方の制御を行なう。このポインタ制御回路55では、書込ポインタ53と読出ポインタ52の値が、書込動作により一致した場合に「エンプティフラグ」を論理‘1’とし、CPUに対して更なる受信データの読み出しを禁止する。この「エンプティフラグ」は一度論理‘1’にセットされた場合、次に両者の値に差が生じた場合に論理‘0’にクリアされる。このような動作は、一般的なFIFOバッファ装置の動作と同じである。
読出要求信号生成回路56は、CPUに向けて出力する割込信号に反映させるために、割込信号発生部11に送出する読出要求信号を生成する回路である。以下、図10を参照して説明する。
図10は、読出要求信号生成回路の回路図である。
図10に示す読出要求信号生成回路56には、FIFOバッファ51の占有領域の大きさを表わす、次の読出要求を行なうか否かの判定基準として用いられる閾値を更新自在に格納しておく閾値レジスタ56_1が備えられている。
また、読出要求信号生成回路56には、閾値レジスタ56_1に格納された閾値の増減の基準となる基準値を格納しておく基準値レジスタ56_2が備えられている。
さらに、読出要求信号生成回路56には、引算器54により計算されたFIFOバッファ51の占有領域の大きさと閾値レジスタ56_1に格納された閾値とを比較し、占有領域の大きさが閾値に達したタイミングでFIFOバッファ51に格納された受信データの次の読出しを要求する比較器56_31,フリップフロップ56_32,56_33,アンドゲート56_34からなる読出要求タイミング生成部56_3が備えられている。
また、読出要求信号生成回路56には、読出要求タイミング生成部56_3からの読出しの要求である読出要求信号に応じてFIFOバッファ51の受信データを読み出すタイミングで、引算器54で計算されたFIFOバッファ51の占有領域の大きさと基準値レジスタ56_2に格納された基準値とを比較し、占有領域の大きさが基準値を越えるか、基準値と等しいか、あるいは基準値未満であるかに応じて、それぞれ、閾値レジスタ56_1に格納された閾値を減少させ、同一に保持し、あるいは増加させるインクリメンタ56_41,デクリメンタ56_42,切替器56_43,切替信号生成回路56_44からなる閾値書替部56_4が備えられている。
さらに、読出要求信号生成回路56には、後述する基準値レジスタ書込信号に応じて、データバスと基準値レジスタ56_2に格納された基準値とを切り替える切替器56_5と、引算器54の値と基準値レジスタ56_2に格納された基準値とを比較して比較結果を切替信号生成回路56_44に出力する比較器56_6が備えられている。さらに詳細に説明する。
基準値レジスタ56_2は3ビット<2:0>構成のレジスタであり、この基準値レジスタ56_2には、CPUに対する受信データ読出要求の割込信号である読出要求信号を発行する間隔を調整する基準となる基準値が設定される。この基準値と、引算器54の値(FIFOバッファ51の空き段数)とが、比較器56_6により比較され、CPUが受信データを読み出した時に次の割込信号発生間隔を決定する閾値レジスタ56_1に設定する閾値を選択するために用いられる。CPUからデータバス経由で基準値レジスタ56_2に対して書き込みが行なわれる際に、基準値レジスタ書込信号が有効となり、切替器56_5を介して基準値が設定される。この基準値は保持し続ける。換言すれば、基準値レジスタ56_2は、割込信号発生間隔を長くしたり短くしたりする調節を行なう際の判断基準となる、FIFOバッファ51に残っていてもよい受信データ数を設定するものである。例えば、基準値レジスタ56_2の設定値が‘2’の場合、CPUからの受信データのFIFOバッファ51からの読出を要求した時点でのFIFOバッファ51内の受信データの残りが‘2’であれば、割込信号発生間隔を変更せず、受信データの残りが‘2’よりも大きい(空き領域が小さい)場合は割込信号発生間隔を短くするように制御される。また、受信データの残りが‘2’よりも小さい(空き領域が大きい)場合は割込信号発生間隔を長くするように制御される。尚、通常は基準レジスタ56_2の値は、CPUによりシステム起動時に1度だけ設定すればよい。
閾値レジスタ56_1は3ビット<2:0>構成のレジスタであり、この閾値レジスタ56_1には、FIFOバッファ51が何段埋まったら読出要求信号を生成するのかを示す閾値が設定される。この閾値と引算器24の値とが比較器56_31により比較され、比較結果の値が「閾値レジスタ56_1の値≦引算器54の値」の場合は、比較器56_31から論理‘1’の信号がフリップフロップ56_32に向けて出力される。
切替器56_43は、データバスの値、閾値レジスタ56_1の値、その値をインクリメンタ56_41で+1した値、およびその値をデクリメンタ56_42で−1した値を切り替えて、閾値レジスタ56_1に入力する。
切替信号生成回路56_44は、切替器56_43を切り替えるための信号を生成する。この切替信号生成回路56_44は、基準値レジスタ書込信号が有効な場合にはデータバスの値が閾値レジスタ56_1に入力されるように選択する。また、読出要求信号発生後最初のFIFOバッファ51からの読出時に、比較器56_6からの比較結果が、「基準値レジスタ56_2の値>引算器54の値」の場合は、インクリメンタ56_41の値が闘値レジスタ56_1に入力されるように選択する(但し、閾値レジスタ56_1の値が最大値‘7’の場合は、閾値レジスタ56_1の値がその閾値レジスタ56_1に入力されるように選択する)。さらに、読出要求信号発生後最初のFIFOバッファ51からの読出時に比較器56_6からの比較結果が、「基準値レジスタ56_2の値=引算器54の値」の場合は、閾値レジスタ56_1の値がその閾値レジスタ56_1に入力されるように選択する。また、読出要求信号発生後最初のFIFOバッファ51からの読出時に比較器56_6の比較結果が、「基準値レジスタ56_2の値<引算器54の値」の場合は、デクリメンタ56_42の値が閾値レジスタ56_1に入力されるように選択する(但し、閾値レジスタ56_1の値が最小値‘0’の場合は、閾値レジスタ56_1の値がその閾値レジスタ56_1に入力されるように選択する)。尚、上述した以外の定常状態の場合は、閾値レジスタ56_1の値がその閾値レジスタ56_1に入力されるように選択することにより、その値を保持する。
図10に示す、読出要求タイミング生成部56_3を構成するフリップフロップ56_32,56_33,アンドゲート56_34からなる回路は、一般的なエッジ検出回路であり、後述する図12に示すように、比較器56_31の比較結果が、「閾値レジスタ56_1の値>引算器54の値」から「閾値レジスタ56_1の値≦引算器54の値」になった場合に、1システムクロック幅のパルスを発生し、このパルスを割込信号発生部11(図1参照)に与え、これが最終的にはCPUへの割込信号となる。次に、図11〜図15を参照して本実施形態のデータ受信装置における動作について説明する。
図11は、図9に示すFIFOバッファの、読出ポインタと書込ポインタによる動作例1を模擬した図である。
この動作例1では、CPUへの割込信号発生間隔を短くするための制御が行なわれる。図9に示すFIFOバッファ51は、0〜7とナンバリングされた8段のバッファ部で構成されている。尚、斜線で示すバッファ部0,1,4〜7には受信データが格納されている。読出ポインタ52の現在の値は‘4’であり、書込ポインタ53の現在の値は‘2’である。また、FIFOバッファ51の左右には、これらの値‘4’‘2’を指し示す矢印が付されている。ここでは、基準値レジスタ56_2には基準値‘4’が設定されているものとする。
最初の時点では、闘値レジスタ56_1の値が‘4’、読出ポインタ52の値が‘4’、書込ポインタ53の値が‘2’である。この状態で先の読出要求信号に基づく割込みにより、最初の受信データのFIFOバッファ51からの読出動作がCPUで行なわれる。すると、引算器54の結果は、「書込ポインタ53の値(‘2’)−読出ポインタ52の値(‘4’)=‘−2’」なので、8−2=6となる。この動作例1は、割込みの発生からCPUによる最初の読出しまでに有した時間がFIFOバッファ51における受信処理(2段分の受信処理)よりも長い場合に相当する。基準値レジスタ56_2の値は‘4’であるから、比較器56_6の比較結果は、「基準値レジスタ56_2の値<引算器54の値」となり、従って切替器56_43はデクリメンタ56_42を選択する信号を出力し、闘値レジスタ56_1には新たな値として‘3’が設定される。これにより、CPUに対して行なわれる割込間隔が前回よりも短くなったことになる。その後、CPUでFIFOバッファ51からの受信データが読み出されて、そのFIFOバッファ51が空の状態になりエンプティフラグとして論理‘1’が出力され、これにより読出が終了する。次いで、FIFOバッファ51への受信データの蓄積(書込み)が生じ始める。
図12は、図11に示す動作例1において、CPUでFIFOバッファからの受信データが読み出されてエンプティ状態になり、その後の受信によりFIFOバッファ51に受信データの蓄積が生じ始めるまでの様子を示すタイミングチャートである。
尚、このタイミングチャートでは、読出終了後から受信処理がすぐに開始されている。引算器54の出力結果が値‘2’から値‘3’になった時点で新たに読出要求信号としてのパルス信号が出力される。ここで、点線で示すように、闘値レジスタ56_1に新たな値として‘3’が設定されずに値‘4’の状態のままでは、読出要求信号は、引算器54の出力結果が値‘3’から値‘4’になった時点で出力される。このように閾値レジスタ56_1に値‘4’を設定していたままの場合と比較し、CPUに対する割込間隔が短くなったのがわかる。
図13は、図9に示すFIFOバッファの、読出ポインタと書込ポインタによる動作例2を模擬した図である。
この動作例2では、CPUへの割込信号発生間隔を維持するための制御が行なわれる。ここでは、闘値レジスタ56_1の値が‘3’、読出ポインタ52の値が‘2’、書込ポインタ53の値が‘6’である。この状態で読出要求信号に基づく割込みにより、最初の受信データのFIFOバッファ51からの読出動作がCPUで行なわれる。引算器54の結果は、「書込ポインタ53の値(‘6’)−読出ポインタ52の値(‘2’)=‘4’」である。基準値レジスタ56_2の値は‘4’であるので、基準値レジスタ56_2の値=引算結果となり、切替器56_43は闘値レジスタ56_1の値‘3’をそのまま選択する信号を出力し、これにより闘値レジスタ56_1は値‘3’を保持する。その後、CPUでFIFOバッファ51から受信データが読み出されて、そのFIFOバッファ51が空の状態になり、読出しが終了する。次いで、受信が行なわれてFIFOバッファ51に受信データの蓄積が生じ始め、引算器54の出力結果が値‘2’から値‘3’になった時点で読出要求信号としてのパルス信号が出力される。
図14は、図9に示すFIFOバッファの、読出ポインタと書込ポインタによる動作例3を模擬した図である。
この動作例3では、CPUへの割込信号発生間隔を長くするための制御が行なわれる。ここでは、闘値レジスタ56_1の値が‘3’、読出ポインタ52の値が‘0’、書込ポインタ53の値が‘3’である。この状態で読出要求信号に基づく割込みにより、最初の受信データのFIFOバッファ51からの読出動作がCPUで行なわれる。引算器54の結果は、「書込ポインタ53の値(‘3’)−読出ポインタ52の値(‘0’)=‘3’」である。この動作例3は、割込みの発生からCPUによる最初の書込みまでに有した時間がFIFOバッファ51における受信処理(1段分の受信処理)よりも速い場合に相当する。基準値レジスタ56_2の値は‘4’であるので、基準値レジスタ56_2の値>引算結果となり、切替器56_43はインクリメンタ56_41を選択する信号を出力し、闘値レジスタ56_1には新たな値として‘4’が設定される。これにより、CPUに対して行なわれる割込間隔が前回よりも長くなったことになる。その後、CPUでFIFOバッファ51から受信データが読み出されて、そのFIFOバッファ51が空の状態になり、読出しが終了する。次いで、受信が行なわれてFIFOバッファ51に受信データの蓄積が生じ始める。
図15は、図14に示す動作例3において、CPUでFIFOバッファから受信データが読み出されて空の状態になり、その後の受信によりFIFOバッファに受信データの蓄積が生じ始めるまでの様子を示すタイミングチャートである。
尚、このタイミングチャートでは、読出終了後から受信処理がすぐに開始されている。引算器54の出力結果が値‘3’から値‘4’になった時点で新たに読出要求信号としてのパルス信号が出力される。ここで、点線で示すように、闘値レジスタ56_1に新たな値として‘4’が設定されずに値‘3’の状態のままでは、読出要求信号は、引算器54の出力結果が値‘2’から値‘3’になった時点で出力される。このように閾値レジスタ56_1に値‘3’を設定していたままの場合と比較し、CPUに対する割込間隔が長くなったのがわかる。
本発明の一実施形態のデータ送信装置および本発明の一実施形態のデータ受信装置の双方が組み込まれたシリアル通信システムの構成を示す図である。 図1に示す送信データバッファ部の構成を示す図である。 書込要求信号生成回路の回路図である。 図2に示すFIFOバッファの、書込ポインタと読出ポインタによる動作例1を模擬した図である。 図4に示す動作例1におけるタイミングチャートである。 図2に示すFIFOバッファの、書込ポインタと読出ポインタによる動作例2を模擬した図である。 図2に示すFIFOバッファの、書込ポインタと読出ポインタによる動作例3を模擬した図である。 図7に示す動作例3におけるタイミングチャートである。 図1に示す受信データバッファ部の構成を示す図である。 読出要求信号生成回路の回路図である。 図9に示すFIFOバッファの、読出ポインタと書込ポインタによる動作例1を模擬した図である。 図11に示す動作例1におけるタイミングチャートである。 図9に示すFIFOバッファの、読出ポインタと書込ポインタによる動作例2を模擬した図である。 図9に示すFIFOバッファの、読出ポインタと書込ポインタによる動作例3を模擬した図である。 図14に示す動作例3におけるタイミングチャートである。
符号の説明
1 シリアル通信システム
10 CPUインターフェース部
11 割込信号発生部
20 送信データバッファ部
21,51 FIFOバッファ
22,52 読出ポインタ
23,53 書込ポインタ
24,54 引算器
25,55 ポインタ制御回路
26 書込要求信号生成回路
26_1,56_1 閾値レジスタ
26_2,56_2 基準値レジスタ
26_3 書込要求タイミング生成部
26_31,26_6,56_31,56_6 比較器
26_32,26_33,56_32,56_33 フリップフロップ
26_34,56_34 アンドゲート
26_4,56_4 閾値書替部
26_41,56_41 インクリメンタ
26_42,56_42 デクリメンタ
26_43,26_5,56_43,56_5 切替器
26_44,56_44 切替信号生成回路
30 データ送信部
40 データ受信部
50 受信データバッファ部
56 読出要求信号生成回路
56_3 読出要求タイミング生成部

Claims (4)

  1. 送信データが格納される送信データバッファと、
    前記送信データバッファに格納されたデータを送信するデータ送信部と、
    前記送信データバッファの空き状態を監視する空き状態監視部と、
    前記空き状態監視部に監視された前記送信データバッファの空き領域の大きさに応じて、空き領域が大きいほど早いタイミングで送信データの該送信データバッファへの書込を要求する書込要求部とを備えたことを特徴とするデータ送信装置。
  2. 前記書込要求部が、
    前記送信データバッファの空き領域の大きさを表わす、次の書込要求を行なうか否かの判定基準として用いられる閾値を更新自在に格納しておく閾値レジスタと、
    前記閾値レジスタに格納された閾値の増減の基準となる基準値を格納しておく基準値レジスタと、
    前記空き状態監視部により監視された前記送信データバッファの空き領域の大きさと前記閾値レジスタに格納された閾値とを比較し、該空き領域の大きさが該閾値に達したタイミングで該送信データバッファへの送信データの次の書込を要求する書込要求タイミング生成部と、
    前記空き状態監視部により監視された前記送信データバッファの空き領域の大きさと前記基準値レジスタに格納された基準値とを比較し、該空き領域の大きさが該基準値を越えるか、該基準値と等しいか、あるいは該基準値未満であるかに応じて、それぞれ、前記閾値レジスタに格納された閾値を減少させ、同一に保持し、あるいは増加させる閾値書替部とを備えたことを特徴とする請求項1記載のデータ送信装置。
  3. 受信データが格納される受信データバッファと、
    前記受信データバッファに格納されるデータを受信するデータ受信部と、
    前記受信データバッファの空き状態を監視する空き状態監視部と、
    前記空き状態監視部に監視された前記受信データバッファの空き領域の大きさに応じて、空き領域が小さいほど早いタイミングで受信データの該受信データバッファからの読出を要求する読出要求部とを備えたことを特徴とするデータ受信装置。
  4. 前記読出要求部が、
    前記受信データバッファの空き領域の大きさを表わす、次の読出要求を行なうか否かの判定基準として用いられる閾値を更新自在に格納しておく閾値レジスタと、
    前記閾値レジスタに格納された閾値の増減の基準となる基準値を格納しておく基準値レジスタと、
    前記空き状態監視部により監視された前記受信データバッファの空き領域の大きさと前記閾値レジスタに格納された閾値とを比較し、該空き領域の大きさが該閾値にまで減少したタイミングで該受信データバッファからの受信データの次の読出を要求する読出要求タイミング生成部と、
    前記空き状態監視部により監視された前記受信データバッファの空き領域の大きさと前記基準値レジスタに格納された基準値とを比較し、該空き領域の大きさが該基準値を越えるか、該基準値と等しいか、あるいは該基準値未満であるかに応じて、それぞれ、前記閾値レジスタに格納された閾値を減少させ、同一に保持し、あるいは増加させる閾値書替部とを備えたことを特徴とする請求項3記載のデータ受信装置。
JP2004015792A 2003-03-06 2004-01-23 データ送信装置およびデータ受信装置 Expired - Lifetime JP4328223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004015792A JP4328223B2 (ja) 2003-03-06 2004-01-23 データ送信装置およびデータ受信装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003059509 2003-03-06
JP2004015792A JP4328223B2 (ja) 2003-03-06 2004-01-23 データ送信装置およびデータ受信装置

Publications (2)

Publication Number Publication Date
JP2004289805A true JP2004289805A (ja) 2004-10-14
JP4328223B2 JP4328223B2 (ja) 2009-09-09

Family

ID=33302118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004015792A Expired - Lifetime JP4328223B2 (ja) 2003-03-06 2004-01-23 データ送信装置およびデータ受信装置

Country Status (1)

Country Link
JP (1) JP4328223B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154556A (ja) * 2010-01-27 2011-08-11 Toshiba Corp 半導体記憶装置
US11500692B2 (en) * 2020-09-15 2022-11-15 Apple Inc. Dynamic buffering control for compute work distribution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154556A (ja) * 2010-01-27 2011-08-11 Toshiba Corp 半導体記憶装置
US11500692B2 (en) * 2020-09-15 2022-11-15 Apple Inc. Dynamic buffering control for compute work distribution

Also Published As

Publication number Publication date
JP4328223B2 (ja) 2009-09-09

Similar Documents

Publication Publication Date Title
JP4580845B2 (ja) タスク実行装置
JP4457168B2 (ja) 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
JP5287858B2 (ja) データ転送装置、データ送信装置、データ受信装置およびデータ転送方法
US6806872B2 (en) Video signal processing system
JP2010262435A (ja) 追い越しモードを有するデータバッファ装置
JP4328223B2 (ja) データ送信装置およびデータ受信装置
JP6800390B2 (ja) 通信装置、通信システム、通信方法および通信プログラム
JP3253547B2 (ja) データ転送システム
CN115221082A (zh) 一种数据缓存方法、装置及存储介质
US8639860B2 (en) Data transfer system and data transfer method
CN110785967B (zh) 管理装置、通信系统、管理方法及存储介质
WO2020059138A1 (ja) 通信装置、通信システム、通信方法および通信プログラム
JP2002084316A (ja) 可変長パケット書き込み及び読み出し回路
JP2004295701A (ja) シリアル通信装置
US9350686B2 (en) Data access device and method for communication system
JP4696003B2 (ja) データ転送回路
JP5334173B2 (ja) データ転送システム及びリトライ制御方法
JP2008021040A (ja) バスマスタ回路、バス制御方法、及びコンピュータプログラム
JPH08249273A (ja) 転送速度切り替え機能付き非同期転送回路
US20240013818A1 (en) Semiconductor device
JP2001331440A (ja) データ受信処理装置
JP2010073162A (ja) データ転送プログラム
JP4431246B2 (ja) タイマ回路
JPH10312360A (ja) 受信処理方法および受信装置
JP5423516B2 (ja) 通信制御装置、画像形成装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090603

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

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

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4328223

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140619

Year of fee payment: 5

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term