(57)【要約】【課題】複数の異なるデータ長のデータで構成される送信信号を所定の送信レートで送信できるデータ送信装置およびデータ送信方法を提供する。【解決手段】所定の周波数のクロック信号を生成するクロック１１と、クロックＣｌｋ  、送信レートの整数成分を記憶するＢｙｔｅＩｎｔｅｇｅｒ  １２１と、送信レートの小数部を記憶するＢｙｔｅＤｅｃｉｍａｌ  １２２と、送信レートＴｘＲａｔｅの整数成分に応じたカウントを行う整数部ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１と、送信レートの小数成分に応じたカウントを行い、整数部ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１のカウントを補正するＤＥＣＩ＿ＣＮＴ１７２と、送信するデータのデータ長、および、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１のカウントに応じて送信タイミング信号Ｓ１３ａを出力するＳＨＡＰＥ＿ＣＮＴ  １３ａとを設ける。【選択図】  図５
2004328574.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信装置であって、
所定の周波数のクロック信号を生成するクロック信号生成手段と、
予め設定された前記送信信号の送信レート、前記クロック信号生成手段が生成する前記クロック信号の周波数、および前記送信信号の内の前記データのデータ長に基づいて、当該データの送信タイミングを示す送信タイミング信号を生成する送信タイミング信号生成手段と、
前記送信タイミング信号生成手段が生成する前記送信タイミング信号を基に前記データを送信する送信手段とを有するデータ送信装置。
【請求項２】
前記送信レート、および前記データのデータ長に応じたクロック数を前記クロック信号に同期してカウントするカウンタを有し、
前記送信タイミング信号生成手段は、前記カウンタのカウント結果を基に前記送信タイミング信号を生成する請求項１に記載のデータ送信装置。
【請求項３】
複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信装置であって、
所定の周波数のクロック信号を生成するクロック信号生成手段と、
前記クロック信号生成手段が生成する前記クロック信号の周波数、および予め設定された前記送信信号の送信レートを基に送信レート信号を生成する送信レート信号生成手段と、
前記送信レート信号生成手段が生成する前記送信レート信号、および前記データのデータ長を基に、前記データの送信タイミングを示す送信タイミング信号を生成する送信タイミング信号生成手段と、
前記送信タイミング信号生成手段が生成する送信タイミング信号を基に前記データを送信する送信手段とを有するデータ送信装置。
【請求項４】
前記データのデータ長に応じたクロック数を、前記送信レート信号生成手段が生成する前記送信レート信号を基にカウントするデータ長カウンタを有し、
前記送信タイミング信号生成手段は、前記データ長カウンタのカウント結果を基に前記送信タイミング信号を生成する請求項３に記載のデータ送信装置。
【請求項５】
前記送信レートに応じたクロック数を前記クロック信号に同期してカウントする送信レートカウンタを有し、
前記送信レート信号生成手段は、前記送信レートカウンタのカウント結果を基に前記送信レート信号を生成する請求項３に記載のデータ送信装置。
【請求項６】
前記送信レートカウンタは、前記送信レートを基に前記データを所定バイト分送信する時間を示すクロック数を前記クロック信号に同期してカウントし、
前記送信レート信号生成手段は、前記送信レートカウンタのカウント結果を基に前記送信レート信号を生成する請求項５に記載のデータ送信装置。
【請求項７】
前記送信レートの小数成分データおよび整数成分データを記憶する送信レート記憶手段と、
前記送信レート記憶手段が記憶する前記整数成分データに応じたクロック数を前記クロック信号に同期してカウントする第１のカウンタと、
前記クロック信号に同期した第２のカウンタとを有し、
前記送信レート信号生成手段は、前記送信レート記憶手段が記憶する小数成分データと前記第２のカウンタの値とを比較し、前記比較の結果に応じて前記第１のカウンタの値を補正し、前記補正した第１のカウンタのカウント結果を基に前記送信レート信号を生成する請求項３に記載のデータ送信装置。
【請求項８】
前記送信レート記憶手段は、前記小数成分データを２進数表示法により記憶し、
前記送信レート信号生成手段は、第２のカウンタの値と、前記小数成分データの２進数表示法での各桁の値とを比較し、前記比較の結果に応じて前記第１のカウンタの値を補正し、前記補正した第１のカウンタのカウント結果を基に前記送信レート信号を生成する請求項７に記載のデータ送信装置。
【請求項９】
複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信方法であって、
予め設定された前記送信信号の送信レート、クロック信号の周波数、および前記送信信号の内の前記データのデータ長に基づいて、当該データの送信タイミングを示す送信タイミング信号を生成する第１の工程と、
前記第１の工程で生成する前記送信タイミング信号を基に前記データを送信する第２の工程とを有するデータ送信方法。
【請求項１０】
複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信方法であって、
クロック信号の周波数、および予め設定された前記送信信号の送信レートを基に送信レート信号を生成する第１の工程と、
前記第１の工程で生成する前記送信レート信号、および前記データのデータ長を基に、前記データの送信タイミングを示す送信タイミング信号を生成する第２の工程と、
前記第２の工程で生成する送信タイミング信号を基に前記データを送信する第３の工程とを有するデータ送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば複数の異なるデータ長のパケット等のデータで構成される送信信号を所定の送信レートで送信するデータ送信装置、およびデータ送信方法に関するものである。
【０００２】
【従来の技術】
従来、通信装置間で通信回線を介して例えばストリームデータ等のリアルタイム性を有するデータ通信を行う場合に、そのデータ通信の品質を保証するためにデータ量を制御しながら通信を行う装置が知られている。例えば、非同期式転送モード（ＡＴＭ）等の固定長セル単位で品質を保証しながらデータ通信を行う装置が知られている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平８−９７８３２号公報
【０００４】
【発明が解決しようとする課題】
上述した従来の装置では固定長セル単位で通信品質を保証してデータ通信を行うが、複数のデータ長の異なる可変長データ、例えば可変長のパケットを送信する場合であっても、通信品質を保証してデータ通信を行いたいという要望がある。
【０００５】
ところで従来、送信側通信装置がストリームデータ等の信号を所定の送信レート以上で送信すると、受信側通信装置がバッファオーバーフローを起こしてそのデータを破棄してしまい、通信効率が悪い場合がある。
このため、データを破棄しない程度の所定の送信レートでデータ送信を行う装置が望まれている。
【０００６】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、異なるデータ長のデータで構成される送信信号を所定の送信レートで送信することができるデータ送信装置およびデータ送信方法を提供することにある。
【０００７】
【課題を解決するための手段】
前記目的を達成するために、本発明の第１の観点は、複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信装置であって、所定の周波数のクロック信号を生成するクロック信号生成手段と、予め設定された前記送信信号の送信レート、前記クロック信号生成手段が生成する前記クロック信号の周波数、および前記送信信号の内の前記データのデータ長に基づいて、当該データの送信タイミングを示す送信タイミング信号を生成する送信タイミング信号生成手段と、前記送信タイミング信号生成手段が生成する前記送信タイミング信号を基に前記データを送信する送信手段とを有する。
【０００８】
本発明の第１の観点によれば、クロック信号生成手段では、所定の周波数のクロック信号を生成する。送信タイミング信号生成手段では、予め設定された送信信号の送信レート、クロック信号生成手段が生成するクロック信号の周波数、および送信信号の内のデータのデータ長に基づいて、当該データの送信タイミングを示す送信タイミング信号を生成する。
送信手段では、送信タイミング信号生成手段が生成する送信タイミング信号を基にデータを送信する。
【０００９】
さらに、前記目的を達成するために、本発明の第２の観点は、複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信装置であって、所定の周波数のクロック信号を生成するクロック信号生成手段と、前記クロック信号生成手段が生成する前記クロック信号の周波数、および予め設定された前記送信信号の送信レートを基に送信レート信号を生成する送信レート信号生成手段と、前記送信レート信号生成手段が生成する前記送信レート信号、および前記データのデータ長を基に、前記データの送信タイミングを示す送信タイミング信号を生成する送信タイミング信号生成手段と、前記送信タイミング信号生成手段が生成する送信タイミング信号を基に前記データを送信する送信手段とを有する。
【００１０】
さらに、前記目的を達成するために、本発明の第３の観点は、複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信方法であって、予め設定された前記送信信号の送信レート、クロック信号の周波数、および前記送信信号の内の前記データのデータ長に基づいて、当該データの送信タイミングを示す送信タイミング信号を生成する第１の工程と、前記第１の工程で生成する前記送信タイミング信号を基に前記データを送信する第２の工程とを有する。
【００１１】
さらに、前記目的を達成するために、本発明の第４の観点は、複数の異なるデータ長のデータで構成される送信信号を送信するデータ送信方法であって、クロック信号の周波数、および予め設定された前記送信信号の送信レートを基に送信レート信号を生成する第１の工程と、前記第１の工程で生成する前記送信レート信号、および前記データのデータ長を基に、前記データの送信タイミングを示す送信タイミング信号を生成する第２の工程と、前記第２の工程で生成する送信タイミング信号を基に前記データを送信する第３の工程とを有する。
【００１２】
【発明の実施の形態】
本発明に係るデータ送信装置は、複数の異なるデータ長のデータで構成される送信信号を送信する際に、所定の周波数のクロック信号、予め設定された送信レートを示す送信レートデータ、および送信信号の内のデータのデータ長を基に送信信号を所定の送信レートで送信する。
以下、図を参照しながら本発明に係るデータ送信装置の一実施形態を説明する。
【００１３】
まず、本発明に係る概略を説明する。一般的な通信装置の場合、例えば一般的な通信ネットワークにおいて、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ  ）等の上位層プロトコルを用いて通信を行う際には、ハンドシェイク（Ｈａｎｄｓｈａｋｅ  ）機能を利用して通信を行う。
【００１４】
ハンドシェイク機能により実現される機能としては、例えば、送信側通信装置と受信側通信装置間で、接続要求や通信条件等を送受信してコネクションを確立する機能や、送信側通信装置がセグメントを所定の数だけ送信し、受信側通信装置が受信したセグメントをバッファに記憶し、バッファの状態を示す信号を送信側通信装置に送信し、送信側通信装置がバッファの状態を示す信号に応じた数だけ次のセグメントを送信するフロー制御機能や、受信側通信装置からの応答を基に通信ネットワークの帯域幅に応じたデータ送信量を制御する輻輳制御機能等がある。
【００１５】
ところで、例えば送信データがリアルタイム性を必要とするストリームデータ、例えばＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−２のＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）等のデータの場合には、データ通信においてデータが不用意に破棄されないこと以外に、適切なタイミングでデータ送信を実行することが重要である。
しかし、このストリームデータをハンドシェイク機能を有するＴＣＰを使用して通信する場合には、データフロー制御機能や輻輳機能により送信データが長時間、適切なタイミングでデータ送信を実行できない場合がある。
【００１６】
本実施形態に係るデータ送信装置１は、例えばストリームデータを送信する場合には、ハンドシェイク機能を使用せずに通信を行う。例えばＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を使用して通信を行う。
しかし、ＵＤＰを使用する通信では、適切なタイミングでデータを送信し、かつデータが破棄されないというストリームデータの特性を満足することができない。詳細には、ハンドシェイク機能を用いずに通信を行う場合、送信側通信装置は、受信側通信装置のバッファの状態を示す信号を参照せずにデータ送信を行うので、所定速度より速い速度でデータ送信を行うと受信側通信装置がバッファオーバーフローを起こし、受信側通信装置がそのデータを破棄し、ストリームデータを適切に再生できない場合がある。
【００１７】
本実施形態に係るデータ送信装置１は、例えばデータリンク層に、一定の送信レートでデータを送信する機能（トラフィックシェーパ：Ｔｒａｆｆｉｃ  Ｓｈａｐｅｒともいう）を設ける。例えば、データ送信装置１は、受信側通信装置がデータを破棄しない送信レートでデータを送信することで、上述のストリームデータを送信するための要件を実現する。
詳細には、例えばデータ送信装置１は、ハンドシェイク機能を持たない通信ネットワークにおいて、データ長ＴｘＬｅｎｇｔｈバイトのパケットデータをアプリケーションのデータレートＴｘＲａｔｅ（Ｍｂｐｓ：ｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ  ）で送信する。
【００１８】
図１は、本発明に係るデータ送信装置の第１実施形態の機能ブロック図である。
実施系形態に係るデータ送信装置１は、例えば図１に示すように、クロック信号生成部（ＣＬＫ）１１、送信レート記憶部１２、送信タイミング信号生成部１３、データ記憶部１４、送信デバイス１５、および制御部１６を有する。
【００１９】
クロック信号生成部１１は本発明に係るクロック信号生成手段に相当し、送信タイミング信号生成部１３は本発明に係る送信タイミング信号生成手段に相当し、データ記憶部１４および送信デバイス１５は本発明に係る送信手段に相当する。
【００２０】
クロック信号生成部１１は、所定の周波数のクロック信号Ｃｌｋ  を生成する。例えばクロック信号生成部１１は、クロック信号Ｃｌｋ  を送信タイミング信号生成部１３に出力する。
【００２１】
送信レート記憶部１２は、設定された送信信号の送信レートを示すデータを記憶する。詳細には送信レート記憶部１２は、例えば後述する送信レートＴｘＲａｔｅに対応したクロック数Ｎｔｘを記憶する。
【００２２】
データ長ＴｘＬｅｎｇｔｈ（バイト）のパケットデータを送信レートＴｘＲａｔｅ（Ｍｂｐｓ）で送信する場合、そのデータ送信に必要な時間Ｔｔｘ  （Ｓｅｃｏｎｄ）は、数式（１）に示すように計算できる。
【００２３】
【数１】
Ｔｔｘ    ＝  （ＴｘＬｅｎｇｔｈ  ×  ８）  ／  ＴｘＲａｔｅ                …（１）
【００２４】
データ長ＴｘＬｅｎｇｔｈのパケットデータを送信すると同時に、そのデータ長に対応する送信時間Ｔｔｘ  を計測し、送信時間Ｔｔｘ  後に次のパケットデータを送信することで所定の送信レートＴｘＲａｔｅで信号を送信する。
【００２５】
送信時間Ｔｔｘ  の計測には、クロック信号生成部１１が生成する所定の周波数のクロック信号Ｃｌｋ  の周波数を基に計測する。
送信時間Ｔｔｘ  が経過したしたことを示すクロック数Ｎｔｘ  は、数式（２）に示すように計算する。
【００２６】
【数２】
2004328574.tif 000003
【００２７】
送信タイミング信号生成部１３は、例えばクロック信号Ｃｌｋ  の周波数、送信信号の内のデータ（パケットともいう）のデータ長ＴｘＬｅｎｇｔｈ、および送信レート記憶部１２が記憶する送信レートＴｘＲａｔｅに対応するクロック数Ｎｔｘ  を基に、そのパケットの送信が終了し、次のパケットを送信させる送信タイミング信号を信号Ｓ１３としてデータ記憶部１４に出力する。
【００２８】
例えば、送信タイミング信号生成部１３は、カウンタ（ＳＨＡＰＥ＿ＣＮＴ  カウンタともいう）１３１を有する。
ＳＨＡＰＥ＿ＣＮＴ  １３１は本発明に係るデータ長カウンタに相当する。
【００２９】
ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１は、クロック数Ｎｔｘ  をカウントする。
詳細には、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１は、パケット送信開始と同時に、送信レート記憶部１２に記憶するクロック数Ｎｔｘ  を基にＮｔｘ  −１を設定し、クロックＣｌｋ  に同期してデクリメントする。
送信タイミング信号生成部１３は、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１が０になった場合に、データ記憶部１４に次のパケットを送信させる送信タイミング信号Ｓ１３を出力する。
【００３０】
データ記憶部１４は、複数の異なるデータ長のデータＤ、例えばパケット単位で送信データを記憶する。
データ記憶部１４は、例えば送信タイミング信号生成部１３からの送信タイミング信号Ｓ１３を受信すると、データ長ＴｘＬｅｎｇｔｈのデータＤを送信デバイス１５に出力する。
【００３１】
送信デバイス１５は、データ記憶部１４から入力されたデータＤを例えば不図示の通信ネットワークを介して受信側通信装置に送信する。例えば送信デバイス１５は、ＵＤＰプロトコルを用いてデータを送信する。
【００３２】
制御部１６は、例えばクロックＣｌｋ  、送信レートＴｘＲａｔｅ、およびデータ長ＴｘＬｅｎｇｔｈを基に例えば数式（２）によりクロック数Ｎｔｘ  を生成し、送信レート記憶部１２に記憶させる。
【００３３】
図２は、図１に示したデータ送信装置の動作を説明するためのタイミングチャートである。図２（ａ），（ｂ）を参照しながら、上記構成による動作を説明する。
【００３４】
まず、制御部１６は、クロックＣｌｋ  の周波数、送信レートＴｘＲａｔｅ、および送信するパケットのデータ長ＴｘＬｅｎｇｔｈを基に数式（２）によりクロック数Ｎｔｘ  を生成して送信レート記憶部１２に記憶させる。
【００３５】
図２（ｂ）に示すように、送信タイミング信号生成部１３は、そのパケットの送信時、つまりデータ送信タイミングＴｃｔｌ＿１において、そのパケットを送信させる信号Ｓ１３をデータ記憶部１４に出力する。データ記憶部１４は制御信号１３が入力されると、そのパケットを送信デバイス１５に出力する。送信デバイス１５は、そのパケットの送信を開始する。
【００３６】
また、送信タイミング信号生成部１３は、図２（ｂ）に示すように、時間Ｔｃｔｌ＿１において、送信レート記憶部１２に記憶するクロック数Ｎｔｘ  を基に、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１にクロック数Ｎｔｘ  −１をセットする。
送信タイミング信号生成部１３は、図２（ａ），（ｂ）に示すようにクロックＣｌｋ  に同期して、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１をデクリメントする。その間、送信デバイス１５は、そのデータ長ＴｘＬｅｎｇｔｈのパケットを送信している。
【００３７】
送信タイミング信号生成部１３は、図２（ｂ）に示すように、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１が０になった場合に、そのパケットの送信が終了したと判別し、送信データ記憶部１４に次のパケットを送信させる信号Ｓ１３を出力する（データ送信タイミングＴｃｔｌ＿２）。
【００３８】
制御部１６は、クロックＣｌｋ  、送信レートＴｘＲａｔｅ、およびそのパケットのデータ長ＴｘＬｅｎｇｔｈを基に数式（２）によりクロック数Ｎｔｘ  を生成して送信レート記憶部１２に記憶させる。
【００３９】
以下、同様に図２（ｂ）に示すように、データ記憶部１４は制御信号１３が入力されると、そのパケットを送信デバイス１５に出力する。送信デバイス１５は、そのパケットの送信を開始する。
以下、同様な動作を繰り返してデータを送信することで、一定の送信レートでデータ送信を行う。
【００４０】
以上、説明したように、本実施形態では、所定の周波数のクロック信号Ｃｌｋ  を生成するクロック信号生成部１１と、クロックＣｌｋ  の周波数、送信レートＴｘＲａｔｅ、および送信するパケットのデータ長ＴｘＬｅｎｇｔｈを基に、クロック数Ｎｔｘ  を生成する制御部１６と、クロック数Ｎｔｘ  を記憶する送信タイミング信号生成部１３と、送信タイミング信号Ｓ１３を送信してパケット送信開始と同時に、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１にセットされたクロック数Ｎｔｘ  −１をクロックＣｌｋ  毎にデクリメントし、クロック数Ｎｔｘ  −１をカウントすると、次のパケットを送信させる信号Ｓ１３を出力する送信タイミング信号生成部１３とを設けたので、複数の異なるデータ長ＴｘＬｅｎｇｔｈのデータ（パケット）で構成される送信信号を所定の送信レートＴｘＲａｔｅで送信することができる。
【００４１】
また、送信レートＴｘＲａｔｅに関連のないクロック信号Ｃｌｋ  を用いているので、送信専用のクロック信号生成手段を別途設ける必要がなく、装置のクロックＣｌｋ  を基に所望の送信レートＴｘＲａｔｅでデータを送信することができる。
また、本実施形態に係るデータ送信装置１は、受信側通信装置がデータを破棄しない程度の所定の送信レートでデータ送信を行うことができるので、通信効率がよい。
【００４２】
図３は、本発明に係るデータ送信装置の第２実施形態の機能ブロック図である。
本実施系形態に係るデータ送信装置１ａは、図３に示すように、クロック信号生成部１１、送信レート記憶部１２ａ、送信タイミング信号生成部１３ａ、データ記憶部１４、送信デバイス１５、制御部１６ａ、および送信レート信号生成部１７を有する。
送信レート信号生成部１７は、本発明に係る送信レート信号生成手段に相当する。
【００４３】
データ送信装置１ａと、第１実施形態に係るデータ送信装置１との大きな相違点は、送信レート信号生成部１７を設けた点である。
以下、第１実施形態と同様な機能を有する構成要素は同一の符号を付して説明を省略する。相違点のみ説明する。
【００４４】
データ送信装置１ａは、パケットを８ビットを１バイトとした場合に、バイト単位で処理を行う。
例えばバイトレートＢｙｅＲａｔｅ［バイト／Ｓｅｃｏｎｄ］を、数式（３）に示すように定義する。
【００４５】
【数３】
ＢｙｔｅＲａｔｅ  ＝（８×  Ｃｌｋ  ）  ／  ＴｘＲａｔｅ                    …（３）
【００４６】
数式（２）に示した、送信時間Ｔｔｘ  が経過したしたことを示すクロック数Ｎｔｘ  は、数式（３）を用いて数式（４）に示すように計算できる。
【００４７】
【数４】
Ｎｔｘ    ＝  ＢｙｔｅＲａｔｅ  ×  ＴｘＬｅｎｇｔｈ                          …（４）
【００４８】
このバイトレートＢｙｔｅＲａｔｅは、送信レートＴｘＲａｔｅにおいて、１バイトのデータを送信するために必要なクロック信号のサイクルの個数に相当する。
クロック信号のサイクルをカウントし、それがバイトレートＢｙｔｅＲａｔｅになった場合に、１バイトのデータを送信したと判別する。
【００４９】
数式（４）に示すような乗算は、ハードウェアにとって処理負荷が大きく、これが最大遅延パスとなる場合がある。本実施形態に係るデータ送信装置１ａは、乗算回路を用いずに加算回路のみで数式（４）と同等な機能を実現する。詳細にはカウンタを用いて上述の機能を実現する。
【００５０】
例えば、制御部１６ａは、クロックＣｌｋ  および送信レートＴｘＲａｔｅを基に、数式（３）に示すようにバイトレートＢｙｔｅＲａｔｅを計算し、送信レート記憶部１２ａに記憶する。
送信レート記憶部１２ａは、制御部１６ａから入力された送信レートＴｘＲａｔｅを設定する。例えばバイトレートＢｙｔｅＲａｔｅを一定とする場合には、バイトレートＢｙｔｅＲａｔｅをレジスタ等で実装し、起動時に送信レート記憶部１２ａにセットする。
【００５１】
例えば送信レートＴｘＲａｔｅが整数の場合、送信レート記憶部１２ａは、バイトレートＢｙｔｅＲａｔｅの整数成分データを記憶する送信レート整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１を設ける。
【００５２】
送信レート信号生成部１７は、送信レート記憶部１２ａが記憶する送信レートＴｘＲａｔｅ、およびクロックＣｌｋ  を基に送信レート信号Ｓ１７を生成し、信号Ｓ１７を送信タイミング信号生成部１３ａに出力する。
【００５３】
例えば送信レートＴｘＲａｔｅが整数の場合、送信レート信号生成部１７は整数成分カウンタ（ＩＮＴＥＧ＿ＣＮＴ  カウンタともいう）１７１を有する。
ＩＮＴＥＧカウンタ１７１は本発明に係る送信レートカウンタに相当する。
【００５４】
ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１には、例えばバイトレートＢｙｔｅＲａｔｅの整数成分データが設定される。詳細には、バイトレートＢｙｔｅＲａｔｅ−１が設定される。
また、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、設定されたバイトレートＢｙｔｅＲａｔｅ−１をクロック信号Ｃｌｋ  に同期してカウント、例えばデクリメントする。
ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、この形態に限られるものではない。例えば、予めハードワイヤードで設定してもよい。
【００５５】
送信タイミング信号生成部１３ａは、例えば送信レート信号生成部１７からの信号Ｓ１７、およびデータ長ＴｘＬｅｎｇｔｈを基に送信タイミング信号Ｓ１３ａを生成してデータ記憶部１４に出力する。
【００５６】
詳細には、送信タイミング信号生成部１３ａは、カウンタ（ＳＨＡＰＥ＿ＣＮＴ  カウンタともいう）１３１ａを有する。
ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１には、例えば制御部１６ａによりデータ長ＴｘＬｅｎｇｔｈ、詳細にはデータ長ＴｘＬｅｎｇｔｈ−１が設定される。
詳細には、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、パケット送信開始と同時に、信号Ｓ１３ａを基にデータ長ＴｘＬｅｎｇｔｈ−１をカウントし、カウント結果に応じて信号Ｓ１７を生成する。
例えばＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、信号Ｓ１３を受信すると、１バイトのデータを送信したと判別して１デクリメントする。０以下になった場合、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は信号Ｓ１７を生成して出力する。
【００５７】
制御部１６ａは、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に、初期値として、バイトレートＢｙｔｅＲａｔｅの整数部から１を減算した値をセットする。
また、制御部１６ａは、データ記憶部１４が記憶し、次に送信するデータ（パケット）Ｄのデータ長ＴｘＬｅｎｇｔｈ、詳細にはデータ長ＴｘＬｅｎｇｔｈ−１をＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に設定する。
【００５８】
図４は、図３に示したデータ送信装置の動作を説明するためのタイミングチャートである。図４（ａ）〜（ｃ）を参照しながら、データ送信装置の動作を説明する。特に送信レートＴｘＲａｔｅが整数の場合を説明する。
【００５９】
まず、制御部１６ａは、送信レートＴｘＲａｔｅ、およびクロックＣｌｋ  の周波数を基に例えば数式（３）によりバイトレートＢｙｔｅＲａｔｅを計算し、計算結果を送信レート記憶部１２ａの整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１に記憶させる。
詳細には制御部１６ａは、図４（ｃ）に示すように、送信レート記憶部１２ａの送信レート整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１にバイトレートＢｙｔｅＲａｔｅ−１を設定する。
また、制御部１６ａは、データ記憶部１４が記憶し、次に送信するデータ（パケット）Ｄのデータ長ＴｘＬｅｎｇｔｈ、詳細にはデータ長ＴｘＬｅｎｇｔｈ−１をＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に設定する。
【００６０】
制御部１６ａは、図４（ｂ）に示すように時間Ｔｃｔｌ＿１（Ｔｂ＿１）において、例えばデータ記憶部１４内の次に送信するパケットのデータ長ＴｘＬｅｎｇｔｈを基に、送信タイミング信号生成部１３ａのＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａにデータ長ＴｘＬｅｎｇｔｈ−１をセットする。
【００６１】
ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、図４（ｃ）に示すようにクロックＣｌｋ  に同期して１デクリメントする。
送信レート信号生成部１７は、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１が０になった場合には、１バイト送信したことを示す信号Ｓ１７を送信タイミング信号生成部１３ａのＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａに出力する。
【００６２】
時間Ｔｂ＿２において、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａでは、図４（ｃ）に示すように、信号Ｓ１７が入力されるとクロックＣｌｋ  に同期して１デクリメントする。また、送信レート記憶部１２ａの送信レート整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１にバイトレートＢｙｔｅＲａｔｅ−１がセットされる。
【００６３】
同様に、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１では、図４（ｃ）に示すようにクロックＣｌｋ  に同期して１デクリメントし、０になった場合には、１バイト送信したことを示す信号Ｓ１７をＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａに出力する。
【００６４】
時間Ｔｂ＿３において、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａでは、図４（ｃ）に示すように、信号Ｓ１７が入力されるとクロックＣｌｋ  に同期して１デクリメントする。また、送信レート記憶部１２ａの送信レート整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１にバイトレートＢｙｔｅＲａｔｅ−１がセットされる。
【００６５】
ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａが０になり、送信レート整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１がクロックＣｌｋ  に同期してデクリメントして０になると、つまりＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１により、送信レートＴｘＲａｔｅでデータ長ＴｘＬｅｎｇｔｈのパケットを送信した時間だけ経過した時Ｔｃｔｌ＿２（Ｔｂ＿４）に、送信タイミング信号生成部１３ａから、次のデータ（パケット）Ｄを送信させる信号信号Ｓ１３ａが送信される。
データ記憶部１４では、信号Ｓ１３ａが入力されると、送信デバイス１５から次のデータ（パケット）Ｄを送信させる。
【００６６】
制御部１６ａは、図４（ｂ）に示すように、そのパケットのデータ長ＴｘＬｅｎｇｔｈを基に、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１にデータ長ＴｘＬｅｎｇｔｈ−１をセットする。また、送信レート記憶部１２ａの送信レート整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１にバイトレートＢｙｔｅＲａｔｅ−１がセットされる。
【００６７】
以下同様に、クロックＣｌｋ  に同期して、バイトレートＢｙｔｅＲａｔｅおよびＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１がデクリメントし、送信レートＴｘＲａｔｅでデータ長ＴｘＬｅｎｇｔｈのパケットを送信した時間だけ経過した時に、送信タイミング信号生成部１３ａから制御信号Ｓ１３ａが送信される。送信デバイス１５から次のデータ（パケット）Ｄを送信させる。
【００６８】
以上説明したように、送信データをバイト単位で処理し、バイトレートＢｙｔｅＲａｔｅおよびクロックＣｌｋ  を基に、送信データが１バイト送信したことを示すクロック数Ｎｔｘ  をカウントし信号Ｓ１７を出力する送信レート信号生成部１７と、信号Ｓ１７とデータ長ＴｘＬｅｎｇｔｈを基にそのデータをバイト単位でカウントし信号Ｓ１３ａを出力する送信タイミング信号生成部１３ａとを設けたので、複数の異なるデータ長のデータ（パケット）で構成される送信信号を所定の送信レートで送信することができる。
【００６９】
また、乗算回路を用いずに、加算回路のみで構成されるカウンタを用いて、本発明の機能を実現したので一般的な通信装置に比べて処理負担が軽くなり、高速に処理を行うことができる。
【００７０】
また、クロックＣｌｋ  を基に動作するＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａおよびＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１を設け、そのカウンタの結果を基に所望の送信レートで送信するので、例えば本発明に係るデータ送信装置を他の装置内に設けた場合に、送信専用のクロック信号生成手段を別途設ける必要がなく、その装置のクロックＣｌｋ  を基に、所望の送信レートＴｘＲａｔｅでデータを送信することができる。
【００７１】
図５は、本発明に係るデータ送信装置の第３実施形態の機能ブロック図である。
本実施系形態に係るデータ送信装置１ｂは、図５に示すように、クロック信号生成部１１、送信レート記憶部１２ｂ、送信タイミング信号生成部１３ａ、データ記憶部１４、送信デバイス１５、制御部１６ｂ、および送信レート信号生成部１７ｂを有する。
【００７２】
データ送信装置１ｂと、第２実施形態に係るデータ送信装置１ａとの相違点は、送信レートが整数成分データおよび小数成分データを含む点である。
例えば、送信レートＴｘＲａｔｅが小数成分データを含む場合、パケット送信が完了する度に小数成分データを基に整数成分データを補正、詳細には小数点以下のデータを加算していき、整数部への桁上がりが発生した場合に、それをＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１に加えてもよい。しかし、この方法では、クロック信号Ｃｌｋ  の周波数が遅い場合に大きな誤差を発生する可能性が大きい。
【００７３】
本実施形態に係るデータ送信装置１ｂは、クロックＣｌｋ  毎に小数成分データに起因する誤差を補正することで、送信レートＴｘＲａｔｅが小数成分を含む場合であっても、高精度に所望の送信レートＴｘＲａｔｅでデータ送信する。第２実施形態に係るデータ装置１ａとの相違点のみ説明する。同じ機能を有する構成要素には同じ符号を付して説明を省略する。
【００７４】
例えば、制御部１６ｂは、クロックＣｌｋ  および送信レートＴｘＲａｔｅを基に、数式（３）に示すようにバイトレートＢｙｔｅＲａｔｅを計算し、送信レート記憶部１２ｂに記憶する。
送信レート記憶部１２ｂは、制御部１６ｂから入力された送信レートＴｘＲａｔｅを設定する。
送信レート記憶部１２ｂは、詳細には整数部Ｂｙｔｅ＿Ｉｎｔｅｇｅｒ  １２１、および小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２を有する。
【００７５】
整数部Ｂｙｔｅ＿Ｉｎｔｅｇｅｒ  １２１は、第２実施形態に係る整数部Ｂｙｔｅ＿Ｉｎｔｅｇｅｒ  １２１と同じであるので説明を省略する。
小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２には、送信レートＴｘＲａｔｅの小数部成分データが記憶される。
例えば整数部Ｂｙｔｅ＿Ｉｎｔｅｇｅｒ  １２１、および小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２に記憶される送信レートＴｘＲａｔｅの整数成分データおよび小数成分データを２進数表示法により記憶する。
【００７６】
図６は、図１に示したデータ送信装置の送信レートの整数成分および小数成分を説明するための図である。
送信レート記憶部１２ｂは、例えば図６に示すように、整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１、および小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２を有する。
簡単な説明のため、例えば整数部ＢｙｔｅＩｎｔｅｇｅｒ  １２１が１４ビット、小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２小数部が１８ビットのレジスタである場合を説明する。バイトレートＢｙｔｅＲａｔｅの小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２は、最上位ビット（ＭＳＢ）を１、最下位ビット（ＬＳＢ）を１８で表記する。
【００７７】
小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２のｎビット目は、１／（２＾ｎ）ビットに相当する。
詳細には、小数部ＢｙｔｅＤｅｃｉｍａｌ  の１ビット目は１／２ビット、２ビット目は１／４ビット、…、ｎビット目は、１／（２＾ｎ）ビットに相当する。
小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２において、１／２ビットは、クロックＣｌｋ  が２個分で１ビットに相当する。
【００７８】
小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２の１ビット目が１であった場合、クロックＣｌｋ  ２回毎に、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１から１を減算する。
同様に、小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２の２ビット目が１であった場合、クロックＣｌｋ  ４回毎に、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１から１を減算する。
以下、ｎビット目が１であった場合、クロックＣｌｋ  （２＾ｎ）回毎に、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１から１を減算する。
【００７９】
送信レート信号生成部１７ｂは、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１およびＤＥＣＩ＿ＣＮＴカウンタ１７２を有する。
ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１にバイトレートＢｙｔｅＲａｔｅの小数成分データを反映させる。
ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１には、Ｂｙｔｅ＿Ｉｎｔｅｇｅｒ  １２１に記憶されている送信レートＴｘＲａｔｅの整数成分データに応じたクロック数Ｎｔｘ  が設定される。詳細には、クロック数Ｎｔｘ  −１が設定される。
【００８０】
ＤＥＣＩ＿ＣＮＴ１７２には、小数部Ｂｙｔｅ＿Ｄｅｃｉｍａｌに記憶されている送信レートＴｘＲａｔｅの小数成分データに応じたクロック数Ｎｔｘ  が設定される。
ＤＥＣＩ＿ＣＮＴカウンタ１７２は、所定のビット幅、本実施形態では１８ビットの幅のカウンタを有する。
ＤＥＣＩ＿ＣＮＴカウンタ１７２は、例えば１６進数表示で表すと、初期値が１８’ｈ３ＦＦＦＦであって、クロックＣｌｋ  毎にデクリメントする。例えば、ＤＥＣＩ＿ＣＮＴカウンタ１７２は、０ビット目が最下位ビット（ＬＳＢ）で、１７ビット目が最上位ビット（ＭＳＢ）である。
【００８１】
送信レート信号生成部１７ｂは、送信レート記憶部１２ｂのＢｙｔｅＤｅｃｉｍａｌ  １２２が記憶する小数成分データと、ＤＥＣＩ＿ＣＮＴカウンタ１７２の値とを比較し、比較の結果に応じてＩＮＴＥＧ＿ＣＮＴ１７１の値を補正し、補正したＩＮＴＥＧ＿ＣＮＴ１７１のカウント結果を基に送信レート信号Ｓ１７を生成する。
【００８２】
詳細には、ＢｙｔｅＤｅｃｉｍａｌ  １２２が記憶する小数成分データの２進数表示法での各桁の値と、ＤＥＣＩ＿ＣＮＴカウンタ１７２の値とを比較する。以下詳細に説明する。
【００８３】
例えば、０ビット目に相当するＤＥＣＩ＿ＣＮＴ［０］が１であった場合、それはクロック信号Ｃｌｋ  の２サイクルに相当する。よって、ＢｙｔｅＤｅｃｉｍａｌ  １２２の１ビット目が１であった場合、ＤＥＣＩ＿ＣＮＴ［０］＝１になる毎に、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１から１をデクリメントする。
一方、ＢｙｔｅＤｅｃｉｍａｌ  １２２の１ビット目が０の場合には、ＤＥＣＩ＿ＣＮＴ［０］＝１であっても、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１からの減算は実行しない。
【００８４】
また、１ビット目および０ビット目に相当するＤＥＣＩ＿ＣＮＴ［１：０］が３（２進数表示でｂ１１）の場合には、クロックＣｌｋ  を４回発振したことを意味する。よって、ＢｙｔｅＤｅｃｉｍａｌ  １２２の２ビット目が１であった場合、ＤＥＣＩ＿ＣＮＴ［１：０］＝３（２進数表示でｂ１１）になる毎に、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１から１を減算する。
【００８５】
同様に、ＢｙｔｅＤｅｃｉｍａｌ  １２２の３ビット目が１であった場合、ＤＥＣＩ＿ＣＮＴ［２：０］＝７（２進数表示でｂ１１１）の場合に、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１から１を減算する。同様に、ＢｙｔｅＤｅｃｉｍａｌ  １２２の全てのビットに対応付けることで、小数成分ＢｙｔｅＤｅｃｉｍａｌ  １２２をＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に反映させる。
例えば、ＤＥＣＩ＿ＣＮＴカウンタ１７２からＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に小数成分に起因する誤差を補正させる信号Ｓ１７２を出力する。
【００８６】
図７（ａ）〜（ｅ）は、図５に示したデータ送信装置の動作を説明するためのフローチャートである。図７（ａ）〜（ｅ）を参照しながら、データ送信装置の動作、特に送信レートに小数成分を含む場合を説明する。
本実施形態に係るデータ送信装置１ｂは、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に初期値として設定するのは、ＢｙｔｅＩｎｔｅｇｅｒ  １２１の値から１減算した値である。
【００８７】
例えば、ＢｙｔｅＩｎｔｅｇｅｒ  １２１が１４ビット、ＢｙｔｅＤｅｃｉｍａｌ  １２２が１８ビットの幅であり、バイトレートＢｙｔｅＲａｔｅの値が１２．６２５の場合を説明する。この場合、制御部１６ｂは、ＢｙｔｅＩｎｔｅｇｅｒ  １２１に１２を記憶させ、ＢｙｔｅＤｅｃｉｍａｌ  １２２に、２進数表示で１８’ｂ１０＿１０００＿００００＿００００＿００００を記憶させる。
【００８８】
４ビット目を示すＢｙｔｅＤｅｃｉｍａｌ  ［４］以降は全て０であるので、簡単な説明のため、例えば図７（ｄ）に示すように、ＤＥＣＩ＿ＣＮＴカウンタ１７２は、下位３ビットのみを示す。
【００８９】
スタート時（時間Ｔ０：Ｔｃｔｌ＿１）、例えば制御部１６ｂは、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３ａ、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１、ＤＥＣＩ＿ＣＮＴカウンタ１７２に、それぞれＴｘＬｅｎｇｔｈ−１、ＢｙｔｅＩｎｔｅｇｅｒ−１、１８’ｈ３ＦＦＦＦをセットする。
また、送信タイミング信号生成部１３ａから送信タイミング信号Ｓ１３ａが出力される。データ記憶部１４では、信号Ｓ１３ａが入力されるとそのデータ（Ｄ）を送信デバイス１５に出力する。送信デバイス１５ではそのデータＤの送信を開始する。
ＤＥＣＩ＿ＣＮＴカウンタ１７２は、クロック信号Ｃｌｋ  に同期して単純にインクリメントする。
【００９０】
タイミングＴ１では、ＤＥＣＩ＿ＣＮＴカウンタ１７２の全てのビットが１なので、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、本来のデクリメントに加えて、ＤＥＣＩ＿ＣＮＴカウンタ１７２からの減算も加わる。
本実施例では、ＢｙｔｅＤｅｃｉｍａｌ  ［１］とＢｙｔｅＤｅｃｉｍａｌ  ［３］のみが１なので、ＤＥＣＩ＿ＣＮＴカウンタ１７２からの減算値は２である。
タイミングＴ１において、ＤＥＣＩ＿ＣＮＴカウンタ１２１は、補正値２を補正させる信号Ｓ１７２をＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に出力する。タイミングＴ２でのＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１の値は８になる。
【００９１】
タイミングＴ２では、ＤＥＣＩ＿ＣＮＴカウンタ１２１の減算条件が成立していないので、ＤＥＣＩ＿ＣＮＴカウンタ１２１は、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１に補正を要求しない。その結果、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１には本来のデクリメントのみが実行され、タイミングＴ３のＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１の値は７となる。
【００９２】
タイミングＴ３〜Ｔ６については、上述したように、ＢｙｔｅＤｅｃｉｍａｌ  の値、およびＤＥＣＩ＿ＣＮＴ１７２の値を基にＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１の値を補正する。
タイミングＴ７では、ＢｙｔｅＤｅｃｉｍａｌ  ［１］のみが１なので、ＩＮＴＥＧ＿ＣＮＴ  カウンタには本来のデクリメントの他に、ＤＥＣＩ＿ＣＮＴカウンタ１２１からの減算も加わる。この時の減算値は１である。よって、タイミングＴ８では、ＩＮＴＥＧ＿ＣＮＴ  カウンタは、−１となる。
【００９３】
タイミングＴ８では、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、０以下の値をとっている。前述したようにＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１が０に到達した場合には、１バイトのデータを送信したとみなすことができるので、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３に信号Ｓ１３ａを出力する。その結果、タイミングＴ９では、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３は１だけデクリメントする。
【００９４】
また、このタイミングでは、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、デクリメントはせずに、現在の値にＢｙｔｅＩｎｔｅｇｅｒ−１が加算される。
よって、タイミングＴ９では、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１の値は１０となる。この際、ＤＥＣＩ＿ＣＮＴカウンタ１２１からの減算条件が成立していない。
タイミングＴ９〜Ｔ１４は同様に動作する。
【００９５】
タイミングＴ１５でも、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は０以下の値をとっているので、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は、デクリメントはせずに、ＢｙｔｅＩｎｔｅｇｅｒ−１が和算される。
タイミングＴ１５では、ＤＥＣＩ＿ＣＮＴカウンタ１２１からの減算条件が成立するので１を減算する。
タイミングＴ１６では、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１は１０となる。
【００９６】
このように、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１が０以下の数値になった場合には、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１にはＢｙｔｅＩｎｔｅｇｅｒ−１を加算し、それ以外の場合には、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１はデクリメントする。
また、ＤＥＣＩ＿ＣＮＴカウンタ１７２からの減算条件が成立する場合には、それに対応する値も減算する。
ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１ａは、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１が０以下の数値に数値になった場合に、１をデクリメントする。
【００９７】
以下同様に処理し、時間Ｔ３０（Ｔｃｔｌ＿２）において、データ（パケット）の送信が終了した判別し、次のデータ（パケット）Ｄを送信させる送信タイミング信号が送信タイミング信号生成部１３ａから、データ記憶部１４に出力される。以下同様な処理のため説明を省略する。
【００９８】
以上説明したように、送信レート記憶部１２ｂに、送信レートの整数成分を記憶する整数部Ｂｙｔｅ＿Ｉｎｔｅｇｅｒ  １２１と、小数成分を記憶する小数部ＢｙｔｅＤｅｃｉｍａｌ  １２２とを設け、送信レートＴｘＲａｔｅの整数部に係るカウントを行うＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１と、送信レートＴｘＲａｔｅの小数成分データ係るカウントを行い、そのカウントの結果を基にＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１を補正するＤＥＣＩ＿ＣＮＴカウンタ１７２とを設けたので、データ送信を実行しながら、小数点の項を補正でき、より高精度に所定の送信レートでデータを送信することができる。
【００９９】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。
上記で述べた方式は、拡張することが可能である。例えば、数式（３）のＢｙｔｅＲａｔｅを以下のように設定してもよい。
【０１００】
【数５】
ＢｙｔｅＲａｔｅ  ＝  ２×（８×Ｃｌｋ  ）／ＴｘＲａｔｅ                    …（５）
【０１０１】
数式（５）は、数式（３）を２倍したものである。数式（５）のＢｙｔｅＲａｔｅを使用した場合、ＩＮＴＥＧ＿ＣＮＴ  カウンタ１７１が０になることは、２バイトのデータを送信したことに相当する。この場合、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１から２減算する。
【０１０２】
また、数式（３）式のＢｙｔｅＲａｔｅを３倍した場合には、ＳＨＡＰＥ＿ＣＮＴ  カウンタ１３１から３減算する。
上述したように数式（３）を整数倍して本発明に係るデータ送信装置を実施してもよい。この場合、ＢｙｔｅＤｅｃｉｍａｌ  １２２のビット数が少ない場合には有効である。例えば、数式（５）に示すように、数式（３）の場合と比較してＢｙｔｅＤｅｃｉｍａｌ  １２のビット数が１ビット足りなくとも、数式（３）の場合と同様な結果を得ることができる。
【０１０３】
また、本実施形態では送信レートＴｘＲａｔｅは固定であったが、この形態に限られるものではない。例えば制御部は、受信通信装置との通信状態を基に、最適な送信レートＴｘＲａｔｅを決定して、その送信レートＴｘＲａｔｅでデータを送信させるようにしてもよい。こうすることにより、通信状態が変化した場合であっても、最適な送信レートでデータを送信することができる。
また、受信通信装置が送信レートＴｘＲａｔｅを設定させる制御信号を送信し、制御部はその制御信号を基に送信レートを設定してもよい。こうすることにより、受信通信装置から送信レートＴｘＲａｔｅを設定することができる。
【０１０４】
【発明の効果】
本発明によれば、複数の異なるデータ長のデータで構成される送信信号を所定の送信レートで送信することができるデータ送信装置およびデータ送信方法を提供することができる。
【図面の簡単な説明】
【図１】本発明に係るデータ送信装置の第１実施形態の機能ブロック図である。
【図２】図１に示したデータ送信装置の動作を説明するためのタイミングチャートである。
【図３】本発明に係るデータ送信装置の第２実施形態の機能ブロック図である。
【図４】図３に示したデータ送信装置の動作を説明するためのタイミングチャートである。
【図５】本発明に係るデータ送信装置の第３実施形態の機能ブロック図である。
【図６】図１に示したデータ送信装置の送信レートの整数成分および小数成分を説明するための図である。
【図７】図１に示したデータ送信装置の小数成分による補正処理を含む動作を説明するためのタイミングチャートである。
【符号の説明】
１，１ａ，１ｂ…データ送信装置、１１…クロック信号生成部、１２，１２ａ，１２ｂ…送信レート記憶部、１３ａ…送信タイミング信号生成部、１４…データ記憶部、１５…送信デバイス、１６，１６ａ，１６ｂ…制御部、１７，１７ｂ…送信レート信号生成部。
【図１】
2004328574.tif 000004
【図２】
2004328574.tif 000005
【図３】
2004328574.tif 000006
【図４】
2004328574.tif 000007
【図５】
2004328574.tif 000008
【図６】
2004328574.tif 000009
【図７】
2004328574.tif 000010