図1は、本発明の実施の一形態のデータ送信制御装置1の構成を示すブロック図である。データ送信制御装置1は、データ出力処理部2と、データ入力処理部3とを含む。データ送信制御装置1は、所定のデータを、伝送路4を介してデータ出力処理部2からデータ入力部3に送信する。データ送信制御装置1は、たとえば携帯電話装置、パーソナルコンピュータおよび携帯端末装置などの情報処理装置の内部における所定のデータの伝送、ならびに異なる2つの情報処理装置間における所定のデータの伝送に用いられる。本実施の形態ではデータ送信制御装置1は、たとえば中央演算処理装置(Central Processing
Unit:略称CPU)と周辺装置との間に設けられ、中央演算処理装置側から周辺装置側に所定のデータを送信する。前記周辺装置は、たとえば表示装置および印刷装置などに設けられマイクロコンピュータなどによって実現される画像処理回路などを含む。データ出力処理部2には、たとえば前記中央演算処理装置から所定のデータが与えられ、伝送路4に所定のデータを出力する。所定のデータは、たとえば画像データ、文字データおよび動画データなどの各種データを含む。データ入力処理部3は、データ出力処理部2から出力された所定のデータを、伝送路4を介して入力し、周辺装置に与える。前記伝送路4は、導電性を有する金属材料によって形成される配線であり、たとえばプリント配線基板に形成される配線、フレキシブルプリント配線基板に形成される配線、および配線ケーブルなどを含む。
データ出力処理部2は、送信データ生成部11と、送信データバッファ12と、データ送信部13と、データ送信制御部14と、信号検出部15とを含む。送信データ生成部11は、データ分割部であって、所定のデータを予め定めるデータ量のデータブロックに分割する。本実施の形態では、所定のデータをシリアル送信する順番に、予め定めるデータ量となるように分割して、データブロックを生成する。
送信データ生成部11には、たとえばCPU内部のデータバスが接続され、このデータバスを介して所定のデータが与えられる。送信データ生成部11は、データバス幅をデータブロックとして区切る。具体的には、前記CPU内部のデータバスを介してパラレルデータが伝送されると、送信データ生成部11は、データバス幅分のデータ量のパラレルデータを1つのデータブロックとして、送信データバッファ12に転送する。
本発明の実施の他の形態において、送信データ生成部11は、以下のような構成であってもよい。たとえば所定のデータが画像データである場合、1ドット(dot)あたりのデータ量が、赤(R)、青(B)および緑(G)の各色でそれぞれ8ビット(bit)であるとすると、送信データ生成部11は、1つのデータブロックを24ビット(bit)として生成する。ここで、たとえばCPU内部のデータバスが16ビットであるとすると、CPUは、送信データ生成部11への1回目のデータの転送でn(nは整数)ドット目のRおよびGデータを与え、2回目の転送でnドット目のBデータと(n+1)ドット目のRデータを与える。この場合、送信データ生成部11は、2回目のデータの転送が終わった後にnドット目のRGBデータを揃えて、1つのデータブロックとして送信データバッファ12に与える。
送信データバッファ12は、送信データ記憶部であり、データ出力処理部2からデータ入力処理部3に送信するデータブロックを一時的に記憶する。送信データバッファ12は、たとえばレジスタ回路によって実現される。送信データバッファ12は、所定の記憶容量を有する。前記送信データバッファ12の所定の記憶容量は、たとえば予め定めるデータ量に選ばれる。つまり送信データバッファ12は、送信データ生成部11によって生成される1つのデータブロックを記憶することができる。送信データバッファ12には、送信データ生成部11から、この送信データ生成部11によって生成されたデータブロックが与えられる。送信データバッファ12は、与えられたデータブロックを一時的に記憶し、このデータブロックをデータ送信部13に与える。
データ送信部13は、送信データバッファ12から与えられるデータブロックを、伝送路4を介してシリアル送信する。データ送信部13は、データ送信制御部14から与えられる制御指令に基づいて、データブロックを送信する、およびデータブロックの送信を停止する。またデータ送信部13にはクロック信号が与えられ、前記データブロックとともに、このクロック信号を送信する。クロック信号は、データ入力処理部3において伝送路4を介して送信されるデータブロックを受信するために用いられる。伝送路4におけるデータブロックの伝送周波数およびクロック信号の周波数は、たとえば50メガヘルツ(MHz)〜10ギガヘルツ(GHz)に選ばれる。
伝送路4は、所定のデータが伝送されるデータ伝送部4aと、クロック信号が伝送されるクロック伝送部4bとを含む。本実施の形態では、伝送路4はプリント配線基板に形成される配線と、フレキシブルプリント配線基板に形成される配線または配線ケーブルとを含む。本実施の形態ではデータ出力処理部2は、第1基板に設けられ、データ入力処理部3は、第2基板に設けられる。第1基板および第2基板はともにプリント配線基板であり、第1基板に形成される所定の配線および第2基板に形成される所定の配線とは、フレキシブルプリント配線基板に形成される配線、または配線ケーブルによって電気的および機械的に接続される。
データ送信制御部14は、データ送信部13に制御指令を与え、データ送信部13を制御して、データ送信部13にデータブロックを送信させるか、またはデータ送信部13にデータブロックの送信を停止させる。データ送信制御部14は、たとえばマイクロコンピュータ、およびトランジスタなどの電子素子を組み合わせた簡易な構成の処理回路などによって実現される。データ送信制御部14は、入力端子を有し、この入力端子に信号検出部15から検出信号が与えられる。データ送信制御部14は、信号検出部15から与えられる検出信号に基づいて、データ送信部13を制御する。
信号検出部15は、データ入力処理部3から与えられる所定の信号を検出する。前記所定の信号は、第1信号および第2信号を含む。本実施の形態では第1信号は、低レベル(L)の状態のデータであって、第2信号は、高レベル(H)の状態のデータである。信号検出部15は、信号線16を介してデータ入力処理部3から与えられる所定の信号に基づく検出信号をデータ送信制御部14に与える。第1信号が与えられると、信号検出部15はデータ送信制御部14に低レベル(L)の状態のデータを与える。また第2信号が与えられると、信号検出部15はデータ送信制御部14に高レベル(H)の状態のデータを与える。前記レベルは、たとえば電位のレベルである。信号検出部15は、前記伝送路4とは異なる配線である信号線16を介して、データ入力処理部3の後述する信号制御部25と電気的に接続される。
データ入力処理部3は、データ受信部21と、受信データバッファ22と、受信データ処理部23と、バッファ残量検出部24と、信号制御部25とを含む。データ受信部21は、データ送信部13から伝送路4を介してシリアル送信される各データブロックを受信する。データ受信部21は、伝送路4に電気的に接続され、データブロックとともに送信されるクロック信号も受信する。データ受信部21は、レジスタを含み、クロック信号に基づいてデータ入力処理部3において伝送路4を介して送信されるデータブロックを受信し、この受信したデータブロックを受信データバッファ22に与える。
受信データバッファ22は、受信データ記憶部であり、データ受信部21が受信したデータブロックを一時的に記憶する。受信データバッファ22は、所定の記憶容量を有し、複数のデータブロックを記憶することができる。つまり受信データバッファ22の所定の記憶容量は、データブロックのデータ量の2倍よりも大きく選ばれる。受信データバッファ22の所定の記憶容量は、たとえば所定のデータが画像データである場合、たとえば2つのデータブロック分のデータ量以上であり、1フレーム分のデータ量以下に選ばれる。受信データバッファ22は、データ受信部21から与えられるデータブロックを一時的に記憶し、この記憶したデータブロックを受信データ処理部23に、受信した順番で与える。受信データバッファ22は、受信されるデータをデータブロックごとに管理する。
受信データ処理部23は、受信データバッファ22からデータブロックを受取り、所定のデータを分割することによって生成された複数のデータブロックを、統合して所定のデータを再生する。受信データ処理部23によって再生された所定のデータは、たとえば前述したように周辺装置に与えられる。
バッファ残量検出部24は、記憶容量検出部であって、受信データバッファ22の所定の記憶容量のうち、記憶可能な空き記憶容量を検出する。空き記憶容量とは、受信データバッファ22の所定の記憶容量のうち、データ受信部21によって受信されたデータブロックが記憶されていない領域の容量である。つまりバッファ残量検出部24は、受信データバッファ22が、あとどのくらいのデータブロックを記憶することができるのかを検出する。バッファ残量検出部24は、空き記憶容量を表す検出結果を信号制御部25に与える。バッファ残量検出部24は、データ送信制御部装置1の動作時には、受信データバッファ22の空き記憶容量を断続的に検出するのではなく、常に検出して、その検出結果を信号制御部25に与える。
前記バッファ残量検出部24が、受信データバッファ22の空き容量を検出する方法について説明する。ここでは受信データバッファ22が、10個分のデータブロックを記憶することができる記憶容量を有する場合について述べる。前記受信データバッファ22に「0」〜「9」のアドレスを割当てる。そして受信したデータブロックをどのアドレスに保存するのかを記憶するライタポインタと、受信データバッファ22からデータを読み出す場合にどのアドレスから読み出すのかを記憶するリードポンタを設定する。ライトポインタは、最初にアドレス「0」を指し示し、1つのデータブロックを保存するごとに数値「1」を加算していく。ライトポンタが指し示す数値に対応するアドレスにデータブロックが記憶される。アドレス「9」にデータブロックを保存したら、ライトポインタが指し示すアドレスは、「0」に戻る。リードポインタも同じく最初はアドレス「0」を指し示して、1つのデータブロックが読み出されるごとに数値「1」を加算していく。リードポインタが指し示す数値に対応するアドレスからデータブロックが読み出される。アドレス「9」からデータブロックを読み出したら、リードポインタが指し示すアドレスは、「0」に戻る。ライトポインタが指し示すアドレスの数値が、リードポインタが指し示すアドレスの数値よりも大きな値の場合は、バッファ残量検出部24は、受信データバッファ22にデータブロックが記憶されていると判断する。
ここで、受信データバッファ22へのデータブロックの書き込みが、受信データバッファ22からのデータブロックの読み出しよりも早い場合、リードポインタが指し示すアドレスの数値にライトポインタが指し示すアドレスの数値が追いつく。このリードポインタとライトポインタが指し示すアドレスの数値の差を監視することによって、バッファ残量検出部24は、受信データバッファ22の空き容量を検出している。
信号制御部25は、バッファ残量検出部24から与えられる前記検出結果に基づいて、所定の信号を生成する。信号制御部25は、前記検出結果に基づいて、受信データバッファ22の空き記憶容量が、予め定める第1の記憶容量以下であれば、第1信号を生成する。以後、信号制御部25において第1信号が生成された状態を、ウエイト(wait)状態と記載する場合がある。また信号制御部25は、バッファ残量検出部24の検出結果に基づいて、受信データバッファ22の空き記憶容量が、予め定める第2の記憶容量以上であれば第2信号を生成する。以後、信号制御部25において第2信号が生成された状態を、非ウエイト(wait)状態と記載する場合がある。信号制御部25は、第1信号を生成した状態で、データ受信部21がデータブロックの一部を受信したと判断すると、信号線16を介して前記第1信号を信号検出部15に与える。前記第1信号は、たとえば低レベル(L)の状態のデータであって、第2信号は、たとえば高レベル(H)の状態のデータである。前記データ受信部21は、データブロックの一部を受信すると、データブロックの一部を受信したことを示す信号を信号制御部25に与える。これによって、信号制御部25では、データ受信部21がデータブロックの一部を受信したことを判断することができる。
また信号制御部25は、第2信号を生成した状態では、信号線16を介して第2信号を信号検出部15に与える。つまり信号制御部25は、第2信号を生成すると、この第2信号を信号検出部15に与える。
図2は、データ送信部13およびデータ受信部21の構成を示す図である。ここでは、データブロックを送信する部分の構成についてのみ示す。クロック信号を送信する部分構成については、データブロックを送信する部分構成と同様であるので、その説明を省略する。本実施の形態では、所定のデータを分割したデータブロックは、LVDS(Low
Voltage Differential Signal)を用いて送信される。
データ送信部13は、電流源31と、スイッチ部32とを含んで構成される。電流源31は、たとえば3.5mAの電流をスイッチ部32に供給する。スイッチ部32は、第1〜第4スイッチング素子33〜36を含む。第1〜第4スイッチング素子33〜36は、半導体スイッチによって実現され、本実施の形態では電界効果型トランジスタによって実現される。本実施の形態で用いられる電界効果型トランジスタは、ゲートに予め定める電圧値以上の電圧を印加されるとソースおよびドレイン間が導通し、ゲートに予め定める電圧値未満の電圧が印加されるとソースおよびドレイン間が非導通となる。第1および第2スイッチング素子33,34は直列に接続され、第3および第4スイッチング素子35,36は直列に接続される。具体的には、第1スイッチング素子33のソースと、第2スイッチング素子34のドレインとが電気的に接続され、第3スイッチング素子35のソースと、第4スイッチング素子36のドレインとが電気的に接続される。また第1スイッチング素子33の第2スイッチング素子34が接続される側とは反対側の端子は、電流源31に接続され、第3スイッチング素子35の第4スイッチング素子36が接続される側とは反対側の端子は、電流源31に接続される。具体的には、第1スイッチング素子33のドレインと、第3スイッチング素子35のドレインとが、電流源31に接続される。第2スイッチング素子34の第1スイッチング素子33が接続される側とは反対側の端子と、第4スイッチング素子36の第3スイッチング素子35が接続される側とは反対側の端子は、ともにグラウンドに接続される。
前述したデータ伝送路4aは、2本の配線41a,41bを含んで形成される。一方の配線41aの一端部は、第3スイッチング素子35と第4スイッチング素子36との間、具体的には、第3スイッチング素子35のソースと第4スイッチング素子36のドレインとに電気的に接続される。また他方の配線41bの一端部は、第1スイッチング素子33と第2スイッチング素子34との間、具体的には第1スイッチング素子33のソースと第2スイッチング素子34のドレインとに電気的に接続される。第1および第4スイッチング素子33,36のゲートには、第2および第3スイッチング素子34,35のゲートが、インバータ37を介して接続される。
データ受信部21は、差動増幅回路37および抵抗38を含んで実現される。前記データ伝送部4aの一方の配線41aおよび他方の配線41bの間に、抵抗38の各端子が接続される。前記抵抗38の所定の抵抗値は、たとえば100オーム(Ω)である。データ受信部21の正入力端子、つまり非反転入力端子は、一方の配線41aに接続される抵抗38の一端部39に接続される。またデータ受信部21の負入力端子、つまり反転入力端子は、他方の配線41bに接続される抵抗38の他端部40に接続される。
たとえば高レベル(H)の状態のデータがデータ送信部13に入力されると、インバータ37を介して接続される第1および第4スイッチング素子33,36が非導通となり、第2および第3スイッチング素子34,35が導通することによって、電流源31からの電流は、第3スイッチング素子35、抵抗38、および第2スイッチング素子34の順番に流れる。この場合、抵抗38の一端部39の電位が他端部40の電位に対して高くなる。一方低レベル(L)の状態のデータが入力されると、第1および第4スイッチング素子33,36が導通し、第2および第3スイッチング素子34,35が非導通となることによって、電流源31からの電流は、第1スイッチング素子33、抵抗38、および第4スイッチング素子36の順番に流れる。この場合、抵抗38の他端部40の電位が一端部39の電位に対して高くなる。差動増幅回路37は、非反転入力端子38および反転入力端子39に与えられる電位に対応して、高レベル(H)の状態のデータおよび低レベル(L)の状態のデータを出力する。したがって、送信データバッファ12から与えられるデータブロックに対応して、第1〜第4スイッチング素子33〜36が動作することによって、差動増幅回路37は、データ送信部13に与えられるデータと同じデータを出力することができる。
このようなLVDSを用いたデータ送信では、2本の配線の電位差でデータのレベルが決定されるので、外乱ノイズに強く、また低電圧で送信することができるので、1本の信号線を用いてデータを送信する構成と比較して、データの送信速度を向上させることができる。
前述した各データブロックの定めるデータ量は、前記バッファ残量検出部24によって検出された空き記憶容量が、予め定める第1の記憶容量以下の状態で、データ受信部21が受信したデータブロックの一部、本実施の形態ではシリアル伝送されて最初にデータ受信部21によって受信されるデータが、データ送信制御部14に制御されるデータ送信部13によって送信中のデータブロックに含まれるように選ばれる。つまり前記データブロックのデータ量は、前記データ受信部21に一部が受信されたデータブロックと、前記データ送信制御部14がデータ送信部13を制御したときにデータ送信部13が送信中のデータブロックとが同じデータブロックとなるように選ばれる。前記最初にデータ受信部21によって受信されるデータとは、データブロックの伝送される順番における初めから数ビットのデータであり、好ましくは1ビット目のデータである。
これによってデータ受信部21がデータブロックの一部を受信してから、データ送信制御部14がデータ送信部13を制御して、後続のデータブロックの送信を停止すると、データ送信部13からデータ受信部21には、1つのデータブロックのみが送信され、複数のデータブロックが送信されてしまうことが防止される。このように予め定めるデータ量に決定することによって、データ送信部13によるデータブロックの送信を停止する前に、送信されるデータブロックのデータ量がわかるので、予め定める第1の記憶容量を可及的小さくして、受信データバッファ22の利用効率を向上させることができる。
前記予め定めるデータ量は、n(nは2以上の整数)ビットであり、たとえばnは、16〜28に選ばれる。本実施の形態では、前述した予め定めるデータ量を16ビット〜28ビットの範囲としているが、本発明の実施の他の形態において、予め定めるデータ量は前述した範囲に限らない。
また本実施の形態では、前記予め定める第1の記憶容量は予め定めるデータ量に選ばれ、つまり予め定める第1の記憶容量は、1つのデータブロックのデータ量と等しく選ばれる。受信データバッファ22の空き記憶容量が予め定める第1の記憶容量以下の場合に、データ受信部21によって受信されるデータ量は、最大で1つのデータブロック分のデータ量である。つまり予め定める第1の記憶容量を前述したように選ぶことによって、受信データバッファ22の利用効率を最も高めることができる。
図3は、データ送信制御部14の動作処理を示すフローチャートである。電源が投入される、すなわち電力が供給されるとステップa0からステップa1に移り、動作処理を開始する。ステップa1では、信号検出部15から第2信号が与えられているか否かを判断する。つまり信号検出部15に信号線16を介して高レベル(H)の状態のデータが与えられており、信号検出部15から検出信号が与えられる入力端子の電位が、高レベル(H)であるのか否かを判断する。ステップa1において、信号検出部15から第2信号が与えられていると判断すると、ステップa2に移り、信号検出部15から第2信号が与えられていていない、つまり第1信号が与えられていると判断すると、ステップa1を繰返す。
次にステップa2では、1データブロック分のデータを送信、つまり送信データバッファ12に記憶される1つのデータブロックをデータ送信部13に送信させて、ステップa1に移り、処理を繰返す。図3に示すフローチャートは、電源を切ること、すなわち電力の供給を停止することによって終了させることができる。本発明の実施の形態では図3のフローチャートにおいて、データ送信部13によって送信されるデータがない場合、処理を終了する構成としてもよいし、次の送信データを待つ構成としてもよい。
このような処理動作を行なうことによって、データ送信制御部14は、1つのデータブロックを送信中に信号検出部15が第1信号を検出して、データ送信制御部14に第1信号を検出したことを示す検出信号を与えたとしても、データ送信制御部14に送信中のデータブロックを送信させる。そしてデータ送信制御部14は、送信中のデータブロックを送信させた後に、後続のデータブロックの送信を停止させる。このようにデータ出力処理部2では、所定のデータの送信をデータブロック単位で行なうことができる。
図4は、信号制御部25の動作処理を示すフローチャートである。電源が投入される、すなわち信号制御部25に電力が供給されると、ステップb0からステップb1に移り、処理動作を開始する。ステップb1では、受信データバッファ22の空き記憶容量が、1データブロック以下であるのか否か、つまり第1の記憶容量である予め定めるデータ量以下であるのかを判断する。信号制御部25は、バッファ残量検出部24から与えられる検出結果に基づいて、受信データバッファ22の空き記憶容量が、予め定めるデータ量以下であるのか否かを判断する。ステップb1で、受信データバッファ22の空き記憶容量が、予め定めるデータ量以下である場合、ステップb2に移る。
ステップb2では、ウエイト状態に設定し、つまり信号制御部25の内部において第1信号を生成した状態にして、ステップb3に移る。
ステップb3では、データブロックの一部をデータ受信部21が受信したか否かを判断する。ステップb3において、データブロックの一部をデータ受信部21が受信したと判断すると、ステップb4に移り、データブロックの一部をデータ受信部21が受信していないと判断するとステップb1に移る。
次にステップb4では、ウエイト状態に設定されているのか否か、つまり第1信号を生成した状態であるのか否かを判断する。ステップb4において、ウエイト状態に設定されていないと判断すると、ステップb5に移る。
次にステップb5では、ステップb3で受信したと判断したデータブロックの一部を含むデータブロックを受信したかを判断する。ステップb5において、ステップb3で受信したと判断したデータブロックの一部を含むデータブロックを受信したと判断すると、ステップb1に移り、ステップb3で受信したと判断したデータブロックの一部を含むデータブロックを受信していないと判断すると、受信するまでステップb5を繰返す。
前述したステップb1で、受信データバッファ22の空き記憶容量が、予め定めるデータ量よりも大きいと判断した場合、ステップb6に移る。
ステップb6では、非ウエイト状態に設定し、つまり第2信号を生成し、ステップb3に移る。
また前述したステップb4において、ウエイト状態に設定されていると判断すると、つまり第2信号を生成した状態であると判断すると、ステップb7に移る。
次にステップb7では、予め定める第1信号の出力を開始し、信号線16を介して信号検出部15に予め定める第1信号を与えて、ステップb8に移る。信号制御部25は、第2信号の出力を開始するまでの間、第1信号を出力し続ける。
次にステップb8では、前述したステップb5の処理と同様に、ステップb3で受信したと判断したデータブロックの一部を含むデータブロックを受信したかを判断する。ステップb8において、ステップb3で受信したと判断したデータブロックの一部を含むデータブロックを受信したと判断すると、ステップb9に移り、ステップb3で受信したと判断したデータブロックの一部を含むデータブロックを受信していないと判断すると、受信するまでステップb8を繰返す。
次にステップb9では、受信データバッファ22の空き記憶容量が、予め定める第2の記憶容量以上となったか否か、具体的には2つのデータブロック分のデータ量以上となったか否かを判断する。ステップb9において、受信データバッファ22の空き記憶容量が、2つのデータブロック分のデータ量となったと判断すると、ステップb10に移り、受信データバッファ22の空き記憶容量が、2つのデータブロック分のデータ量となっていないと判断すると、ステップb9を繰返す。
次にステップb10では、予め定める第2信号の出力を開始し、信号線16を介して信号検出部15に予め定める第2信号を与えて、ステップb6に移る。信号制御部25は、第1信号の出力を開始するまでの間、第2信号を出力し続ける。図4に示すフローチャートは、信号制御への電力の供給を停止することによって終了させることができる。本発明の実施の形態では図4のフローチャートにおいて、データ受信部21によってデータが受信されない場合、処理を終了する構成としてもよい。
図5は、データ送信部13からデータ受信部21に送信されるデータブロックと、受信データバッファ22の空き記憶容量と、信号制御部25によって生成される所定の信号と、信号制御部25が信号検出部15に与える所定の信号との関係の一例を示すタイミングチャートである。図5において横軸は、時刻を表す。また図5において、所定の信号の縦軸は信号レベルを表す。ここでは時刻t1で、受信データバッファ22の空き記憶容量が、3つのデータブロックのデータ量と等しい場合について説明する。
時刻t1では、受信データバッファ22の空き記憶容量は、3つのデータブロックのデータ量と等しいので、信号制御部25では第2信号が生成され、信号制御部25はこの第2信号を信号検出部15に与えている。つまり信号制御部25では、高レベル(H)の状態のデータが生成され、信号制御部25は、この高レベル(H)の状態のデータを信号線16に出力している。時刻t1でデータ送信部13からデータ受信部21に第1データブロックが送信されると、データ受信部21によって受信した第1データブロックを受信データバッファ22に記憶することによって、受信データバッファ22の空き記憶容量は、2つのデータブロックのデータ量となる。
第1データブロックの受信が終了すると、時刻t2では、受信データバッファ22の空き記憶容量は、2つのデータブロックのデータ量と等しくなり、信号制御部25は第2信号を信号検出部15に与えて続ける。時刻t2でデータ送信部13からデータ受信部21に第2データブロックが開始されると、データ受信部21は受信したデータブロックを受信データバッファ22に記憶することによって、受信データバッファ22に記憶される空き記憶容量は、1つのデータブロックのデータ量となる。
第2データブロックの受信が終了すると、時刻t3では、受信データバッファ22の空き記憶容量は、1つのデータブロックのデータ量と等しくなり、空き記憶容量が1データブロック分以下となるので信号制御部25は、第1信号を生成する。つまり信号制御部25は、低レベル(L)の状態のデータを生成する。
時刻t3でデータ送信部13からデータ受信部21に第3データブロックが送信され、信号制御部25が第3データブロックの一部を受信したと判断すると、時刻t4で、生成した第1信号を信号検出部15に与える。送信制御部25は、第1信号を信号検出部15に継続して与える。受信した第3データブロックを受信データバッファ22に記憶すると、時刻t5では、受信データバッファ22の空き記憶容量はゼロ(0)となる。
受信データバッファ22に記憶されたデータブロックが、受信データ処理部23に与えられることによって、空き記憶容量が増加し、時刻t6で前記空き記憶容量が、2つのデータブロック分のデータ量になると、信号制御部25は、第1信号を生成する。そしてこの第1信号の生成時刻よりわずかに遅れて、時刻t7で、第1信号を信号検出部15に与える。データ出力処理部2では、第1信号を受信すると、時刻t8で再びデータブロックの送信を開始する。
図6は、データ送信部13からデータ受信部21に送信されるデータブロックと、受信データバッファ22の空き記憶容量と、信号制御部25によって生成される所定の信号と、信号制御部25が信号検出部に与える所定の信号との関係の他の例を示すタイミングチャートである。図6において横軸は、時刻を表す。また図6において、所定の信号の縦軸は信号レベルを表す。ここでは時刻t1で、受信データバッファ22の空き記憶容量が、3つのデータブロックのデータ量と等しい場合について説明する。ここでは、データ送信部13からデータ受信部21にデータブロックを断続的に送信する場合、つまり送信されるデータブロックが予め定める第5の時間T5をあけて送信される場合について説明する。前記予め定める第5の時間T5は、送信データ生成部11における送信データの生成処理の時間に関連する。この場合図3のフローチャートにおいて、ステップa2の処理と、次のステップa2までの処理との間に、次の送信データを待つステップを追加することで実現することができる。
時刻t1では、受信データバッファ22の空き記憶容量は、3つのデータブロックのデータ量と等しいので、信号制御部25では第2信号が生成され、信号制御部25はこの第2信号を信号検出部15に与えている。つまり信号制御部25では、高レベル(H)の状態のデータが生成され、信号制御部25は、この高レベル(H)の状態のデータを信号線16に出力している。時刻t1でデータ送信部13からデータ受信部21に第1データブロックが送信されると、データ受信部21によって受信した第1データブロックを受信データバッファ22に記憶することによって、受信データバッファ22の空き記憶容量は、2つのデータブロックのデータ量となる。
第1データブロックの受信が終了すると、時刻t2では、受信データバッファ22の空き記憶容量は、2つのデータブロックのデータ量と等しくなり、信号制御部25は第2信号を信号検出部に与え続ける。時刻t2から所定の時間が経過した時刻t3で、データ送信部13からデータ受信部21にデータブロックが送信されると、データ受信部21は受信した第2データブロックを受信データバッファ22に記憶することによって、データ受信部21による受信が終了する時刻t4では、受信データバッファ22に記憶される空き記憶容量は、1つのデータブロックのデータ量となる。
第2データブロックの受信が終了すると、時刻t4では、受信データバッファ22の空き記憶容量は、1つのデータブロックのデータ量と等しくなり、空き記憶容量が1データ部ロック分以下となるので信号制御部25は、第1信号を生成する。つまり信号制御部25は、低レベル(L)の状態のデータを生成する。時刻t4では、信号制御部25は信号検出部15に第2信号を与えている。
時刻t5でデータ送信部13からデータ受信部21に第3データブロックが送信され、信号制御部25が第3データブロックの一部を受信したと判断すると、時刻t5からわずかに遅れて時刻t6で、信号制御部25は、生成した第1信号を信号検出部15に与える。受信した第3データブロックを受信データバッファ22に記憶すると、時刻t7では、受信データバッファ22に記憶される空き記憶容量はゼロ(0)となる。時刻t7では、信号制御部25は信号検出部15に第1信号を与えている。
受信データバッファ22に記憶されたデータブロックが、受信データ処理部23に与えられることによって、空き記憶容量が増加し、時刻t8で前記空き記憶容量が、2つのデータブロック分のデータ量になると、信号制御部25は、第2信号を生成する。そしてこの第2信号の生成時刻よりわずかに遅れて、時刻t9で、この第2信号を信号検出部15に与える。データ出力処理部2では、第2信号を受信すると、時刻t10で再びデータブロックの送信を開始する。
図7は、データ送信部13からデータ受信部21に送信されるデータブロックと、受信データバッファ22の空き記憶容量と、信号制御部25によって生成される所定の信号と、信号制御部25が信号検出部に与える所定の信号との関係のさらに他の例を示すタイミングチャートである。図7において横軸は、時刻を表す。また図7において、所定の信号の縦軸は信号レベルを表す。ここでは時刻t1で、受信データバッファ22の空き記憶容量が、2つのデータブロックのデータ量と等しい場合について説明する。
時刻t1では、受信データバッファ22の空き記憶容量は、2つのデータブロックのデータ量と等しいので、信号制御部25では第2信号が生成され、信号制御部25はこの第2信号を信号検出部15に与えている。つまり信号制御部25では、高レベル(H)の状態のデータが生成され、信号制御部25は、この高レベル(H)の状態のデータを信号線16に出力している。時刻t1でデータ送信部13からデータ受信部21に第1データブロックが送信されると、データ受信部21によって受信した第1データブロックを受信データバッファ22に記憶することによって、受信データバッファ22の空き記憶容量は、1つのデータブロックのデータ量となる。
第1データブロックの受信が終了すると、時刻t2では、受信データバッファ22の空き記憶容量は、1つのデータブロックのデータ量を等しくなり、空き記憶容量が1データブロック分以下となるので信号制御部25は、第1信号を生成する。つまり信号制御部25は、低レベル(L)の状態のデータを生成する。時刻t2では、信号制御部25は信号検出部15に第2信号を与えている。
時刻t2から、第2データブロックが送信される時刻t4までの間における時刻t3で、受信データバッファ22の空き記憶容量が増加して、空き記憶容量が2データブロック分以上となると、信号制御部25は、第2信号を生成する。これによって、時刻t1から時刻t4までの間は、信号制御部25は、第2信号を信号検出部15に与え続けることになる。
以上のようにデータ送信制御装置1では、バッファ残量検出部24によって検出された空き記憶容量が、予め定める第1の記憶容量以下の状態では、データ受信部21がデータブロックの一部を受信した場合、データ送信制御部14がデータ送信部13を制御することによって、送信中のデータブロックはそのまま送信され、この送信中のデータブロックの次に送信するデータブロックデータ以降のデータブロックの送信を停止する。このように受信データバッファ22の状態に応じて、データ送信部13からのデータブロックの送信を停止させることによって、受信データバッファ22の空き記憶容量を越えて、データ送信部13からデータ受信部21にデータブロックが送信されることが防止される。したがって、受信データバッファ22に記憶することができない量のデータがデータ送信部13からデータ受信部21に送信されてしまうことが防止されるので、送信される所定のデータの欠落を防止することができる。
また前述したバッファ残量検出部24によって、受信データバッファ22の空き記憶容量が検出され、この検出結果に基づいてデータ送信制御部14がデータ送信部13を制御して、データ送信部13にデータブロックの送信を停止させるまでには、データ送信制御部14の動作の遅延を含む所定の処理時間が必要である。特にデータ送信部13からデータ受信部21へのデータブロックの伝送レートが高くなるほど、言い換えれば信号の伝送速度が高速になるほど、データ送信制御部14がデータの送信を停止させるまでの間に、データ送信部13からデータ受信部21に送信されるデータ量が多くなる。特に、LVDSを用いる場合において、たとえば所定のデータの送信を1ビット単位で行なう場合、データ送信制御部14によってデータ送信部を制御してデータの送信を止めるまでの間に、データ送信部13からデータ受信部21に多量のデータが送信されてしまい、データの送信を正確にコントロールすることが困難となり、これによってデータの欠落が生じたり、データの欠落を防止するために受信データバッファ22の記憶容量を無駄に大きくしたりする必要がある。本発明では所定のデータを、送信データ生成部11によって予め定めるデータ量のデータブロックに分割し、このデータブロック単位でデータ送信部13からデータ受信部21に送信し、前記所定の処理時間によって、データ送信制御部14がデータ送信部13を制御するまでの間に、データ送信部13からデータ受信部21に多量のデータが送信されても、送信中のデータブロックはそのまま送信させて、次のデータブロックから送信を停止するので、送信されるデータの欠落がなく、またデータブロックのデータ量は、予め定められているので受信データバッファ22の記憶容量を無駄に大きくする必要がなく、これによって受信データ記憶部の利用効率を向上させることができる。
またバッファ残量検出部24によって検出された空き記憶容量が予め定める第2の記憶容量以上の状態では、データ送信制御部14はデータ送信部13にデータブロックを送信させるので、たとえば受信データバッファ22の空き記憶容量が予め定める第1の記憶容量以下となり、データ送信制御部14がデータ送信部13にデータブロックの伝送を停止させた場合であっても、再び受信データバッファ22の空き記憶容量が増加して、予め定める第2の記憶容量以上となれば、データブロックの送信を再開させることができる。
このように本発明では、前述した第1の従来の技術のようにデータブロックごとにデータ量および次に送信するデータブロックのデータ量の情報を付加する必要がないので、第1の従来の技術と比較して構成が簡単であって、データの送信速度を向上させることができる。また本発明では、第2の従来の技術のように受信データの欠落が生じるおそれがないので、第2の従来の技術と比較して、データ送信の信頼性を向上させることができる。
本実施の形態では、1データブロック分のデータを受信する毎に、受信データバッファ22の空き記憶容量を確認しているが、本発明の他の実施の形態において、1データブロック分のデータを受信している間に、信号制御部25が受信データバッファ22の空き記憶容量が予め定める第1の記憶容量以下であるか否かを判断する構成としてもよい。特に、空き記憶容量が所定のデータ量になったときに、第1信号を生成する構成とすると、受信データバッファ22の空き記憶容量が、予め定める第1の記憶容量以下の場合に、データ受信部21によって受信されるデータ量は、最大で1つのデータブロック分のデータ量とすることができる。予め定める第1の記憶容量を予め定めるデータ量に選ぶことによって、受信データバッファ22の利用効率を最も高めることができる。
本実施の形態では、データ送信制御装置1は、中央演算処理装置と周辺装置との間に設けられ所定のデータを、中央演算処理装置側から周辺装置側に送信しているが、本発明はこれに限ることなく、2つの装置間で所定のデータを送信または転送する場合であれば、適用することができる。