JP3950661B2 - データ伝達装置 - Google Patents
データ伝達装置 Download PDFInfo
- Publication number
- JP3950661B2 JP3950661B2 JP2001310615A JP2001310615A JP3950661B2 JP 3950661 B2 JP3950661 B2 JP 3950661B2 JP 2001310615 A JP2001310615 A JP 2001310615A JP 2001310615 A JP2001310615 A JP 2001310615A JP 3950661 B2 JP3950661 B2 JP 3950661B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- data
- input
- clock
- buffer
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
【発明の属する技術分野】
本発明は、出力部と入力部とを有し、出力部から入力部へデータを伝達する回路に関し、特に、出力部の動作を制御するクロックの位相と、入力部の動作を制御するクロックの位相とが相違するデータ伝達装置に関する。
【0002】
【従来の技術】
従来、測定装置等の出力部から解析装置等の入力部に対して連続データの受け渡しをおこなう際、データ伝達装置を構成する出力部と入力部との間のクロック位相のずれが問題となっていた。出力部と入力部は、通常、同一回路基板上に配置され、単一のクロック発信源から発信されるクロックによってその動作を制御されている。そのため、出力部におけるクロック位相と、入力部におけるクロック位相との間にずれが生じていた場合、出力部と入力部とは同時に動作することができない。したがって、図5で示すように、データの欠損が生じることや、データ化けが生じるといった問題が生じる。
【0003】
出力部と入力部との間に位相のずれが生じる原因は、次の通りである。まず、出力部と入力部とは、同一回路基板上に配置されるものの、距離的に離れて配置されることが多い。離れて配置された場合、クロック発信源からの距離を同程度に保つことは容易ではなく、そのため、出力部のクロック位相と、入力部のクロック位相との間に位相差が生じる。
【0004】
これに対して、出力部におけるクロック位相をスキュー(skew)調整により変化させ、出力部と入力部との間の位相のずれを相殺する手法が提案されている。これによれば、出力部と入力部との間の位相のずれを効果的に解消することができるため、データの受け渡しに関する上記の問題を解決することができる。
【0005】
しかし、スキュー調整の利用には問題もある。まず、設計段階において計算される出力部と入力部との間の位相差が、現実の回路配線上における出力部と入力部との間の位相差と一致するとは限らない点である。これは、製造時に誤差が生じてしまう場合もあり、その他にも、クロック出力源との間にクロックドライバ等の他の回路素子を挟んでいた場合、それらの回路素子に起因する位相遅れが生じるためである。このように、位相遅れの程度が設計段階であらかじめ分からない場合には、スキュー調整で対応することはできない。
【0006】
したがって、データの受け渡しエラーを防止するために、位相差をなくすのではなく、位相差が存在することを前提として、入力部と出力部との間にFIFO(First−In−First−Out)と呼ばれるメモリを配置する構造が知られている。FIFOは、RAM回路を変形して実現されるもので、記憶したデータを入力された順に出力することができるメモリである。
【0007】
図6に、FIFOを用いた入出力回路の例を示す。この回路では、出力デバイス101と入力デバイス102との間にFIFO103が配置されている。また、FIFO103には出力側からFIFO103を制御するための出力側コントローラ104と、入力側からFIFO103を制御するための入力側コントローラ105とが接続されている。
【0008】
ここで、出力デバイス101から出力データをFIFO103に記憶する際には、出力側コントローラ104がFIFO103に対して、書き込み命令を送ることにより、出力データがFIFO103に書き込まれる。また、入力デバイス102が、入力データを読みとる際には入力側コントローラ105から読み出し命令がFIFO103に送られ、FIFO103から入力デバイス102に対してデータが出力される。
【0009】
ここで、FIFO103は、記憶したデータを入力された順に出力する性質を有する。すなわち、出力デバイス101から、データ1、データ2、データ3、・・・・とFIFO103にデータが入力された場合、FIFO103から入力デバイス102に出力されるデータもデータ1、データ2、データ3、・・・・の順に出力される。
【0010】
そのため、図6に示す回路においては、出力デバイス101と入力デバイス102との間でクロック周波数の位相差を0にする必要がない。出力されたデータは一時的にFIFO103に蓄えられ、出力デバイス101からのデータ出力とは無関係な時に入力デバイス102は、FIFO103からデータを読み出すことができる。しかも、FIFO103は、データを出力する際、記憶した順番にしたがって出力するため、連続データでも問題なく出力することができる。
【0011】
【発明が解決しようとする課題】
しかし、FIFOを用いた回路にも問題点は存在する。一般に市販されているFIFOの容量は数kByteから数MByteほどある。これは、元来FIFOは、クロック周波数の位相差のみならず、出力側の内部処理や入力側の内部処理にかかる時間を考慮して、出力側からデータが出力される時刻と、入力側がデータを取り込む時刻との間に相当の時間差が存在する場合にもデータの受け渡しを確実におこなうために開発された回路素子であり、出力されたデータをすべて保持する必要があるためである。
【0012】
このように、FIFOは一般的に大容量を有するため、部品1個あたりのコストも高く、回路全体に占めるコストの割合も高い。したがって安価の回路を形成する際の障害となる。
【0013】
さらに、位相のずれを克服して出力側から入力側に連続データの受け渡しをするならば、FIFO程の大容量は必ずしも必要ない。すなわち、ほぼ同時に出力側でデータが出力され、入力側でデータの読み込みがおこなわれるのであれば、中継部分で出力データのすべてを記憶する必要はない。出力データの記憶と、入力側へのデータの出力とを並列的に処理できる回路素子であれば足り、このような回路素子を用いた場合、回路全体のコストを低く抑えることができる。しかし、この場合に最低でどれほどの容量の回路素子が必要なのかについて、現在に至るまで特に研究はおこなわれていない。
【0014】
本発明は、従来技術の上記欠点に鑑みてなされたもので、出力側の動作クロックと、入力側の動作クロックの位相が相違する場合にも正確なデータ伝達をおこなうことのできるデータ伝達装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、第1の観点にかかる発明は、同一クロック数で動作する出力部および入力部を有し、前記出力部から出力されるデータを前記入力部に伝達し、前記出力部におけるクロック位相と前記入力部におけるクロック位相とが相違するデータ伝達装置であって、前記出力部と前記入力部との間に配置された複数の一時記憶手段を有し、前記複数の一時記憶手段を順次選択することにより前記出力部から出力されたデータを前記複数の一時記憶手段に順次記憶し、記憶の際に選択した順に前記一時記憶手段を選択して前記複数の一時記憶手段に記憶されたデータを順次前記入力部に出力することによりデータを伝達することを特徴とする。
【0016】
この第1の観点にかかる発明によれば、出力部におけるクロック位相と入力部におけるクロック位相とが相違する場合でも、FIFOを用いずともデータ化けやデータの欠損を生じることのない、簡易な構造のデータ伝達装置を提供することができる。
【0017】
また、第2の観点にかかる発明は、第1の観点にかかる発明において、さらに前記複数の一時記憶手段が前記出力部から出力されたデータを記憶する際に、データを記憶させるために前記一時記憶手段を順次選択する出力側コントローラと、前記一時記憶手段から前記入力部にデータを伝達する際に、前記入力部に対してデータを出力させるために前記一時記憶手段を順次選択する入力側コントローラとを有することを特徴とする。
【0018】
この第2の観点にかかる発明によれば、一時記憶手段にデータを記憶する際に一時記憶手段を制御する出力側コントローラと、一時記憶手段から入力部に対してデータを出力する際に一時記憶手段を制御する入力側コントローラをさらに有することで一時記憶手段の選択をおこない、データ化け等することなくデータを伝達することができる。
【0019】
また、第3の観点にかかる発明は、第1または第2の観点にかかる発明において、前記出力側コントローラは、出力部と同一のクロック位相で動作し、前記入力側コントローラは、入力部と同一のクロック位相で動作することを特徴とする。
【0020】
この第3の観点にかかる発明によれば、出力側コントローラが出力部と同一クロックで動作することで、一時記憶手段にデータを記憶する際にデータ化けなどを防ぐことができ、入力側コントローラが入力部と同一クロックで動作することで一時記憶手段から入力部に対して円滑にデータの伝達をおこなうことができる。
【0021】
また、第4の観点にかかる発明は、第2または第3の観点にかかる発明において、前記出力側コントローラは、前記入力側コントローラに対してデータ出力開始信号を発信し、前記入力側コントローラは、前記データ出力開始信号出力後の最初の前記入力部のクロックにおいて前記データ出力開始信号を検知して前記一時記憶手段を順次選択することを特徴とする。
【0022】
この第4の観点にかかる発明によれば、入力側コントローラがデータ出力開始信号によって一時記憶手段の選択を開始するため、入力側コントローラが無駄な制御をおこなうことを防止することができる。
【0023】
また、第5の観点にかかる発明は、第1〜第4のいずれか一つの観点にかかる発明において、前記一時記憶手段は、前記出力部と前記入力部との間に並列に3個配置されていることを特徴とする。
【0024】
この第5の観点にかかる発明によれば、一時記憶手段を3個とすることにより、出力側と入力側との間にクロックの位相差が存在しても出力したデータを確実に入力側に伝達することができ、FIFOを使用した場合と比較して、簡易な構造のデータ伝達装置を提供することができる。
【0025】
また、第6の観点にかかる発明は、第1〜第4のいずれか一つの観点にかかる発明において、前記一時記憶手段は、前記出力部と前記入力部との間に並列に2個配置され、前記データ出力開始信号が、データ出力を開始したクロックの立ち下がり時に発信されることを特徴とする。
【0026】
この第6の観点にかかる発明によれば、データ出力開始信号の発信時を、データ出力開始時のクロックの立ち下がり時にすることで、一時記憶手段の個数を2個とすることができ、簡易な回路構成のデータ伝達装置を提供することができる。
【0027】
また、第7の観点にかかる発明は、第2〜第6のいずれか一つの観点にかかる発明において、前記一時記憶手段は、入力制御端子と出力制御端子を有し、前記入力制御端子を介して前記出力側コントローラによって順次選択され、前記出力制御端子を介して前記入力側コントローラによって順次選択されることを特徴とする。
【0028】
この第7の観点にかかる発明によれば、一時記憶手段の選択を、出力側コントローラは入力制御端子に入力ON信号を発信することでおこない、入力側コントローラは出力制御端子に出力ON信号を発信することでおこなうことができるため、単純な論理回路によって出力データ装置を実現することができる。
【0029】
また、第8の観点にかかる発明は、第1〜第7のいずれか一つの観点にかかる発明において、前記一時記憶手段の記憶容量は、前記出力部から一度に出力されるデータの量に基づいて決定されることを特徴とする。
【0030】
この第8の観点にかかる発明によれば、一時記憶手段の記憶容量が出力部から一度に出力されるデータ量にあわせて決定できるため、FIFOのような大容量の記憶手段を必要とせず、小さい容量で一時記憶手段を構成することができる。
【0031】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態にかかるデータ伝達装置について詳細に説明する。図面の記載において同一あるいは類似部分には同一あるいは類似な符号を付している。
【0032】
実施の形態1.
実施の形態1にかかるデータ伝達装置について、図1および図2を参照して説明する。図1は、実施の形態1にかかるデータ伝達装置の構成を示すブロック図であり、図2は、実施の形態1にかかるデータ伝達装置におけるデータ伝達について示すタイムチャート図である。
【0033】
実施の形態1にかかるデータ伝達装置は、出力デバイス1と、入力デバイス2と、出力デバイス1および入力デバイス2に接続したクロック発信源3とを有する。また、出力デバイス1に接続してレジスタ4、5、6が配置され、レジスタ4にはバッファ7、レジスタ5にはバッファ8、レジスタ6にはバッファ9がそれぞれ接続されている。さらに、バッファ7、8、9は入力デバイス2に接続されている。また、出力デバイス1に接続して出力セレクタ10が配置され、入力デバイスに接続して入力セレクタ11が配置されている。
【0034】
また、本実施の形態1においては、出力デバイス1と入力デバイス2とは、クロック発信源3から発振された同一クロック数のクロックにより動作をおこなうこととする。さらに、出力デバイス1におけるクロック発信源3からの出力側ディレイと、入力デバイス2における入力側ディレイとは相違し、出力デバイス1における位相と入力デバイス2における位相とは異なるものとする。
【0035】
出力デバイス1は、計測装置等で得られたデータを出力するためのものである。本実施の形態1においては、出力されるデータは連続データからなるものとし、データはレジスタ4、5、6に対して出力される。
【0036】
出力セレクタ10は、出力デバイス1から出力されたデータを、レジスタ4、5、6のいずれに記憶するか選択する機能を有する。また、出力セレクタ10は、入力セレクタ11に対してレジスタ4、5、6のいずれかにデータが記憶されていることを示す信号若しくはいずれにもデータが記憶されていないことを示す信号cを出力する。なお、出力セレクタ10は、出力デバイス1に近接して配置され、動作クロックは出力デバイス1と同一で、位相差もない。
【0037】
入力デバイス2は、出力デバイス1から出力されたデータを受け取り、演算装置等にデータを渡す機能を有する。入力デバイス2は、直接にはバッファ7、8、9から連続データを受け取る。
【0038】
入力セレクタ11は、出力セレクタ10からの信号cを受けて、バッファ7、8、9のいずれかを順次選択し、選択したバッファに対して保持するデータを入力デバイス2に出力させる機能を有する。なお、入力セレクタ11は、入力デバイス2に近接して配置され、入力デバイス2との位相差はないものとする。
【0039】
レジスタ4、5、6は出力セレクタ10からの信号を受けて、出力デバイス1から出力されたデータを一時的に記憶する機能を有する。また、バッファ7、8、9は接続するレジスタ4、5、6を経由したデータを記憶し、入力セレクタ11から出力された読み出し信号をうけて、保持するデータを入力デバイス2に出力する機能を有する。ここで、バッファ7、8、9の容量は、出力デバイス1から一度に出力されるデータ量によって決定される。簡単のため、本実施の形態1においては、出力デバイス1から一度に出力されるデータ量を1bitとし、バッファ7、8、9の容量もそれぞれ1bitとする。
【0040】
次に、図2を参照して、実施の形態1にかかるデータ伝達装置の動作について、説明する。まず、出力デバイス1および出力セレクタ10は、出力クロックにしたがって動作し、入力デバイス2および入力セレクタ11は、入力クロックにしたがって動作するものとする。
【0041】
まず、出力デバイス1からバッファ7、8、9にデータを記憶するまでの工程について、説明する。出力デバイス1は、出力クロックにしたがってデータを出力し、クロックAが立ち上がる際にデータ1を出力し、次のクロックBが立ち上がる際に出力するデータを2に切り替えはじめる。その後、クロックC、クロックDと立ち上がるのに伴い、データ3、データ4、と出力する。
【0042】
また、出力セレクタ10は、クロックBが立ち上がった際にレジスタ4に書き込み信号dを発信し、レジスタ4は、データ1を受け取り、そのままバッファ7にデータ1を記憶させる。
【0043】
続いてクロックCが立ち上がった際に、出力セレクタ10は、レジスタ4への書き込み信号dの発信を停止し、新たに書き込み信号eをレジスタ5に発信する。書き込み信号eを受けたレジスタ5は、クロックCが立ち上がった際に出力デバイス1から出力されているデータ2を受け取り、そのままバッファ8にデータ2を記憶させる。
【0044】
さらに、クロックDが立ち上がった際には、出力セレクタ10は、レジスタ5への書き込み信号eの発信を停止し、新たに書き込み信号fをレジスタ6に発信する。書き込み信号fを受信したレジスタ6は、出力デバイス1からデータ3を受け取り、そのままバッファ9にデータ3を記憶させる。
【0045】
そして、次のクロックEが立ち上がった際に、出力レジスタ10は、書き込み信号dをレジスタ4に再び発信する。レジスタ4は出力デバイス1からデータ4を新たに受け取り、バッファ7は、それまで保持していたデータ1にかわって、データ4を記憶する。以上のようにして、クロックの立ち上がりごとに出力セレクタ10が、信号d、e、fを順次切り替えることにより、出力デバイス1から出力されたデータは、レジスタを通してバッファ上にデータを保存していく。
【0046】
次に、バッファ7、8、9に記憶されたデータを入力デバイス2が受け取る工程について、説明する。ここで、出力クロックと入力クロックとの位相差は0〜2πの任意の値を取り得るため、ここでは、位相差がΔθ1とΔθ2の2つの場合について、説明する。
【0047】
まず、出力クロックと入力クロックとの位相差がΔθ1の場合について、説明する。出力セレクタ10は、出力されたデータ1がバッファ7に記憶されるクロックBの立ち上がりの際に、入力セレクタ11に対して、データが記憶された旨の“NOT EMPTY”信号cを発信する。なお、前提としてΔθ1の値は、この“NOT EMPTY”信号cが立ち上がりきった時刻の直後にクロックA1が立ち上がるような位相差を有するものとする。
【0048】
そして、入力セレクタ11は、クロックA1が立ち上がった際に“NOT EMPTY”信号cが入力セレクタ11に発信されたことを検知し、データ受け入れを開始する。具体的には、以下の通りである。
【0049】
まず、入力クロックにおいて、クロックA1が立ち上がると同時に、入力セレクタ11からバッファ7に対して、バッファ7から入力デバイス2に対して保持するデータを出力する旨の読み出し信号gを発信する。バッファ7は、入力セレクタ11からの信号gに応じて保持しているデータ1を入力デバイス2に対してクロックB1が立ち上がるまで伝達し続ける。
【0050】
そして、クロックB1が立ち上がると、入力セレクタ11は、バッファ7に対する読み出し信号gを停止し、バッファ8に対して読み出し信号hを発信する。バッファ8は、入力セレクタ11からの読み出し信号hに応じて、保持していたデータ2を入力デバイス2に対してクロックC1が立ち上がるまで伝達し続ける。
【0051】
その後、クロックC1が立ち上がると同時に、入力セレクタ11は、バッファ8に対する読み出し信号hを停止し、バッファ9に対して読み出し信号iを発信する。バッファ9は、入力セレクタ11からの読み出し信号iに応じて、保持していたデータ3を入力デバイス2に対してクロックD1が立ち上がるまで伝達し続ける。
【0052】
そして、クロックD1が立ち上がると同時に、入力セレクタ11からバッファ9に対する読み出し信号iを停止し、再びバッファ7に対して読み出し信号gが発信される。クロックD1が立ち上がった時点において、バッファ7にはデータ4が保持されているため、バッファ7は、読み出し信号gに応じて、データ4を入力デバイス2に対してクロックE1が立ち上がるまで伝達し続ける。以上の工程をくり返すことによりデータ5、データ6、・・・、が入力デバイス2に対して順に伝達される。したがって、図2で示すように、入力デバイス2における入力データはデータ1、データ2、データ3、・・・・、と出力デバイス1から出力されたデータと同じデータが、同じ順序で入力されていく。
【0053】
次に、出力クロックと入力クロックとの位相差がΔθ2の場合について、説明する。なお、上記の例のクロックA1に相当するクロックはほぼ1周期分遅れたクロックA2とする。ここで、クロックA2の立ち上がりの1周期前にはクロックα2が立ち上がっているが、クロックα2の立ち上がり時刻は上記のクロックA1の立ち上がりよりもわずかに早く、そのため、出力セレクタ10が発信する“NOT EMPTY”信号cを検知することはできないものとする。したがって、位相差Δθ2の場合は、入力セレクタ11は、クロックα2が立ち上がった時点ではデータの入力を開始せず、クロックA2が立ち上がって初めてデータ入力を開始する。
【0054】
入力セレクタ11は、クロックA2が立ち上がると同時に、“NOT EMPTY”信号cを検知し、読み出し信号gをバッファ7に対して発信する。バッファ7は、図2で示すように、クロックA2が立ち上がった時点からクロックB2が立ち上がる時点までデータ1を保持しているため、読み出し信号gを受けて、保持しているデータ1を入力デバイス2に対して、クロックB2が立ち上がるまで出力し続ける。
【0055】
そして、クロックB2が立ち上がると同時に、入力セレクタ11は、バッファ7に対する読み出し信号gを停止し、新たにバッファ8に対して読み出し信号hを発信する。バッファ8は、クロックB2の立ち上がり時点においてデータ2を保持しているため、バッファ8は入力デバイス2に対してデータ2を出力する。以下、上記の例と同様に入力セレクタ11はバッファ9、バッファ7、バッファ8、・・・に対して順に読み出し信号i、g、hを発信し、それに応じてバッファ9、バッファ7、バッファ8、・・・はデータ3、データ4、データ5、・・・・を入力デバイス2に対して出力する。したがって、もっとも遅いタイミングの場合でも、入力デバイス2は、データ1、データ2、データ3、・・・と、出力デバイス1が出力したデータと同じデータを、出力デバイス1から出力されたのと同じ順序で受け取ることができる。
【0056】
以上、位相差がΔθ1の場合と、Δθ2の場合の2通りの場合について説明したが、この2つのタイミング間の任意の位相遅れの場合にも、同様の議論が成り立つ。Δθ1とΔθ2とはほぼ2πだけ位相がずれているため、本実施の形態1にかかるデータ伝達装置は、出力クロックの位相と、入力クロックの位相とが相違し、位相差を有するにも関わらず、データの伝達を確実におこなうことができる。
【0057】
また、本実施の形態1にかかるデータ伝達装置は、従来のFIFOのような複雑な装置を必要としないで、データの伝達を確実におこなうことができる。したがって、その分データ伝達装置の製造コストを低く抑えることができる。
【0058】
また、出力セレクタ10から発信される信号は、“NOT EMPTY”信号cと、レジスタ4、5、6に対して発信する書き込み信号d、e、fだけであり、入力セレクタ11から発信される信号も、バッファ7、8、9に対する読み出し信号g、h、iのみである。したがって、入力側と出力側のインターフェイスを少なくすることができる。
【0059】
さらに、本実施の形態1における出力セレクタ10および入力セレクタ11は、レジスタ4、5、6若しくはバッファ7、8、9を順番にアクセスするだけでよいため、複雑な論理を必要としない利点もある。
【0060】
なお、本実施の形態1にかかるデータ伝達装置は、出力クロックと、入力クロックとの間に位相差が存在しない場合であっても、出力デバイス1が出力するデータを入力デバイス2は取得することができる。したがって、本実施の形態1にかかるデータ伝達装置は、出力クロックと入力クロックとの間に位相差が存在する場合のみならず、位相差が存在しない場合についても適用することができる。したがって、実際に製造したデータ伝達装置において、出力デバイス1と入力デバイス2との間の位相差について、何ら考慮することなく本実施の形態1における構造を適用することができる。
【0061】
実施の形態2.
次に、実施の形態2について、説明する。図3は、実施の形態2にかかるデータ伝達装置の構成を示すブロック図であり、図4は、実施の形態2にかかるデータ伝達装置におけるデータ伝達について示すタイムチャート図である。なお、実施の形態1における場合と同等の機能を有するものについては、同一の符号を付すものとし、その説明を省略する。以下、図3および図4を適宜参照して、実施の形態2にかかるデータ伝達装置について説明する。
【0062】
実施の形態2にかかるデータ伝達装置は、出力デバイス1と、入力デバイス2と、出力デバイス1および入力デバイス2と接続されたクロック発信源3とを有する。また、出力デバイス1にはレジスタ21とレジスタ22がそれぞれ接続され、レジスタ21およびレジスタ22は、それぞれバッファ23およびバッファ24と接続されている。さらに、バッファ23およびバッファ24は、入力デバイス2と接続されている。さらに、出力デバイス1に接続して出力セレクタ25が配置され、入力デバイス2に接続して入力セレクタ26が配置されている。
【0063】
また、本実施の形態2では、出力セレクタ25は、出力デバイス1に近接して配置され、出力デバイス1のクロック位相と同一の位相で動作し、入力セレクタ26は、入力デバイス2に近接して配置され、入力デバイス2のクロック位相と同一の位相で動作するものとする。また、出力デバイス1および出力セレクタ25を動作させる出力クロックは、クロック発信源3から発信され、所定の出力側ディレイに起因した位相遅れを有する。一方、入力デバイス2および入力セレクタ26を動作させる入力クロックは、クロック発信源3から発信され、所定の入力側ディレイに起因した位相遅れを有する。ここで、出力側ディレイと、入力側ディレイとは値が相違するものとし、出力クロックと入力クロックとは、異なる位相で動作するものとする。
【0064】
出力セレクタ25は、出力デバイス1から出力されたデータを、レジスタ21とレジスタ22のいずれに記憶するかを選択する機能を有する。また、出力セレクタ25は、入力セレクタ26に対して、出力デバイス1からのデータ出力の開始を入力セレクタ26に対して通知する“NOT EMPTY”信号jを発信する機能を有する。
【0065】
入力セレクタ26は、バッファ23、バッファ24に記憶されたデータを入力デバイス2に対して出力する際に、バッファ23とバッファ24のいずれかを選択する機能を有する。なお、入力セレクタ26は、出力セレクタ25から発信される“NOT EMPTY”信号jに基づき、動作を開始する。
【0066】
レジスタ21およびレジスタ22は、出力セレクタ25の制御の下、出力デバイス1から出力されたデータを一時的に記憶する機能を有する。また、レジスタ21およびレジスタ22は出力デバイスから受け取ったデータをそれぞれバッファ23、バッファ24に対して出力し、バッファ23およびバッファ24は、受け取ったデータを記憶し、入力セレクタ26の制御の下、入力デバイス2にデータを出力する機能を有する。
【0067】
次に、図4を参照して、実施の形態2にかかるデータ伝達装置の動作について説明する。まず、出力デバイス1から、バッファ23およびバッファ24にデータを記憶するまでの工程について、説明する。出力デバイス1は、出力クロックにしたがって動作し、出力クロックAが立ち上がった際にデータ1を出力する。そして、出力セレクタ25は、出力クロックBが立ち上がる際に出力するデータを切り替え、データ2を出力する。以後、新たにクロックC、クロックDが立ち上がる際にデータ3、データ4、と出力する。
【0068】
また、出力セレクタ25は、クロックBが立ち上がった際にレジスタ21に書き込み信号kを出力し、レジスタ21は、出力デバイス1からデータ1を受け取り、バッファ23にデータ1を記憶させる。
【0069】
そして、クロックCが立ち上がった際に、出力セレクタ25は、レジスタ21に発信していた書き込み信号kを停止し、新たにレジスタ22に対し書き込み信号lを発信する。レジスタ21は、書き込み信号lを受けて、出力デバイス1からデータ2を受け取り、バッファ24にデータ2を記憶させる。
【0070】
その後、クロックDが立ち上がった際に、出力セレクタ25は、書き込み信号lを停止し、再びレジスタ21に対して書き込み信号kを発信する。書き込み信号kにしたがって、レジスタ21は、出力デバイス1からデータ3を受け取ってバッファ23に記憶させる。
【0071】
このようにして、バッファ23には、クロックBの立ち上がりからクロックDの立ち上がりまでデータ1を保持し、クロックDの立ち上がりからクロックFの立ち上がりまで、データ3を保持する。以後、データ5、データ7と奇数番号のデータを出力クロックの2周期分の時間だけ保持する。
【0072】
また、バッファ24は、クロックCの立ち上がりからクロックEの立ち上がりまでデータ2を保持し、クロックEの立ち上がりからクロックGの立ち上がりまでデータ4を保持する。以後、データ6、データ8と、偶数番号のデータをバッファ24は出力クロックの2周期分の時間だけ保持する。
【0073】
次に、バッファ23およびバッファ24に記憶されたデータを入力デバイス2が受け取る工程について、説明する。まず、出力クロックと入力クロックとの位相差がΔθ3の場合について、説明する。
【0074】
まず、出力クロックAの立ち下がりの際に、出力セレクタ25は、“NOT EMPTY”信号jを入力セレクタ26に対して発信する。ここで、位相差Δθ3の存在により、“NOT EMPTY”信号jが完全に立ち上がった直後に入力クロックにおいては、クロックA3が立ち上がるものとする。
【0075】
入力セレクタ26は、クロックA3が立ち上がった際に“NOT EMPTY”信号jが発信されたことを検知し、データの受け入れを開始する。具体的には、クロックA3が立ち上がった際に、バッファ23に対して読み出し信号mを、次のクロックB3が立ち上がるまで発信する。クロックA3が立ち上がった際にはまだバッファ23にデータ1は記憶されていないものの、読み出し信号mが停止するクロックB3の立ち上がりまでにはバッファ23はデータ1を記憶する。したがって、読み出し信号mをクロックB3の立ち上がりまで発信し続けることにより、バッファ23は入力デバイス2に対してデータ1を出力することができる。
【0076】
そして、クロックB3が立ち上がった際に、入力セレクタ26は、読み出し信号mを停止し、新たにバッファ24に対して読み出し信号nを発信する。データ1の場合と同様に、クロックB3の立ち上がりの際からクロックC3の立ち上がりまでの間にはバッファ24はデータ2を記憶するため、読み出し信号nが発信されている間にバッファ24から入力デバイス2に対してデータ2が出力される。
【0077】
そして、クロックC3が立ち上がった際に、入力セレクタ26は、バッファ24に対する読み出し信号nを停止し、再びバッファ23に対して再び読み出し信号mを発信する。読み出し信号mを発信する間にバッファ23にはデータ3が記憶されるため、バッファ23から入力デバイス2に対して、データ3が出力される。
【0078】
その後、新たにクロックが立ち上がるごとに、入力セレクタ26は読み出し信号を切り替える。読み出し信号の切り替えにより、順次バッファ23およびバッファ24に保持されているデータは入力デバイス2に対して出力される。以上の工程によって、出力デバイス1から出力されたデータは入力デバイス2に順次出力される。
【0079】
本実施の形態2にかかるデータ伝達装置では、出力セレクタ25から入力セレクタ26に対する“NOT EMPTY”信号は、出力デバイス1がデータ1の出力を開始するクロックAの立ち下がり時に発信される。そのため、入力セレクタ26は、出力が開始されたことを素早く検知することができ、バッファ23への読み出し信号の発信も素早くおこなうことができる。その結果、出力デバイス1から出力されたデータを一時的に記憶しておくレジスタとバッファの組み合わせを2つですますことができる。
【0080】
次に、出力クロックと入力クロックとの位相差がΔθ4の場合において、バッファ23およびバッファ24に記憶されたデータを入力デバイス2が受け取る工程について説明する。ここで、Δθ4は、Δθ3よりもほぼ2πだけ位相が遅れているものとし、クロックα4が立ち上がる際には、入力セレクタ26は、出力セレクタ25から発信される“NOT EMPTY”信号を検知することができないものとする。入力セレクタ26は、クロックA4が立ち上がった際に初めて、“NOT EMPTY”信号jを検知することができる。
【0081】
クロックA4が立ち上がった際に、入力セレクタ26は“NOT EMPTY”信号jを検知して、バッファ23に対して読み出し信号mを発信する。バッファ23は、読み出し信号mを受けて保持しているデータ1を入力デバイス2に対して出力する。
【0082】
そして、クロックB4が立ち上がる際に、入力セレクタ26は、読み出し信号mを停止し、新たに読み出し信号nをバッファ24に対して出力する。バッファ24は、読み出し信号nを受けて、保持しているデータ2を入力デバイス2に対して出力する。
【0083】
その後、クロックC4が立ち上がる際に、入力セレクタ26は、読み出し信号nを停止し、読み出し信号mをバッファ23に対して再び発信する。バッファ23は、入力デバイス2に対してその時点で保持しているデータ3を出力する。以後、入力クロックが立ち上がるごとに、入力セレクタ26は読み出し信号を切り替え、入力デバイス2は、順次データ3、データ4、データ5を得る。
【0084】
したがって、本実施の形態2にかかるデータ伝達装置では、FIFOを用いた場合と比較して、より単純な構造の回路で、出力クロックと入力クロックとの間に位相差が存在する場合であっても出力デバイス1から入力デバイス2までのデータの伝達をおこなうことができる。上述したように、この際にデータの欠損またはデータの読み誤りについて起こることはない。
【0085】
なお、本発明は上述の実施の形態1および実施の形態2にしたがって説明したが、本発明はこれらの実施の形態に限定されるものではない。これらの開示によれば当業者には様々な代替実施の形態、実施例および運用技術が明らかになると思われる。たとえば、図2および図4で示すように、出力セレクタ10、25から発信される“NOT EMPTY”信号は、立ち上がりによってONされるものとしているが、立ち下がった際にONとしてもよい。同様に、出力デバイス1がデータを出力するのも、クロックが立ち上がる際だけでなく、立ち下がる際に出力する形態も考えられる。入力デバイス2についても同様である。
【0086】
また、図1および図2においては、一時記憶手段として、レジスタとバッファとの組み合わせからなるものを図示しているが、この組み合わせに必ずしも限定されない。たとえば、レジスタとバッファとの組み合わせに代えて、書き込み信号を受信するための端子と、読み出し信号を受信するための端子を備えた記憶手段を用いてもよい。
【0087】
【発明の効果】
上述してきたように、第1の観点にかかる発明によれば、出力部におけるクロック位相と入力部におけるクロック位相とが相違する場合でも、FIFOを用いずともデータ化けやデータの欠損を生じることのない、簡易な構造のデータ伝達装置を提供することができるという効果を奏する。
【0088】
また、第2の観点にかかる発明によれば、一時記憶手段にデータを記憶する際に一時記憶手段を制御する出力側コントローラと、一時記憶手段から入力部に対してデータを出力する際に一時記憶手段を制御する入力側コントローラをさらに有する構成としたことで一時記憶手段の選択をおこない、データ化け等することなくデータを伝達することができるという効果を奏する。
【0089】
また、第3の観点にかかる発明によれば、出力側コントローラが出力部と同一クロックで動作する構成としたことで、一時記憶手段にデータを記憶する際にデータ化けなどを防ぐことができ、入力側コントローラが入力部と同一クロックで動作する構成としたことで一時記憶手段から入力部に対して円滑にデータの伝達をおこなうことができるという効果を奏する。
【0090】
また、第4の観点にかかる発明によれば、入力側コントローラがデータ出力開始信号によって一時記憶手段の選択を開始する構成としたため、入力側コントローラが無駄な制御をおこなうことを防止することができるという効果を奏する。
【0091】
また、第5の観点にかかる発明によれば、一時記憶手段を3個とする構成としたことにより、出力側と入力側との間にクロックの位相差が存在しても出力したデータを確実に入力側に伝達することができ、FIFOを使用した場合と比較して、簡易な構造のデータ伝達装置を提供することができるという効果を奏する。
【0092】
また、第6の観点にかかる発明によれば、データ出力開始信号の発信時を、データ出力開始時のクロックの立ち下がり時にすることで、一時記憶手段の個数を2個とする構成とすることができ、簡易な回路構成のデータ伝達装置を提供することができるという効果を奏する。
【0093】
また、第7の観点にかかる発明によれば、一時記憶手段の選択を、出力側コントローラは入力制御端子に入力ON信号を発信することでおこない、入力側コントローラは出力制御端子に出力ON信号を発信することでおこなう構成とすることができるため、単純な論理回路によって出力データ装置を実現することができるという効果を奏する。
【0094】
また、第8の観点にかかる発明によれば、一時記憶手段の記憶容量が出力部から一度に出力されるデータ量にあわせて決定する構成としたため、FIFOのような大容量の記憶手段を必要とせず、小さい容量で一時記憶手段を構成することができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1にかかるデータ伝達装置の構成を示すブロック図である。
【図2】実施の形態1にかかるデータ伝達装置のデータ伝達の動作を示すタイムチャート図である。
【図3】実施の形態2にかかるデータ伝達装置の構成を示すブロック図である。
【図4】実施の形態2にかかるデータ伝達装置のデータ伝達の動作を示すタイムチャート図である。
【図5】出力側と入力側のクロック位相が異なる場合のデータ伝達について示すタイムチャート図である。
【図6】従来技術にかかるFIFOを用いたデータ伝達装置の構成を示すブロック図である。
【符号の説明】
1 出力デバイス
2 入力デバイス
3 クロック発信源
4、5、6、21、22 レジスタ
7、8、9、23、24 バッファ
10、25 出力セレクタ
11、26 入力セレクタ
Claims (4)
- 同一クロック数で動作する出力部および入力部を備え、前記出力部におけるクロック位相と前記入力部におけるクロック位相とが相違しており、前記出力部から出力されるデータを前記入力部に伝達するデータ伝達装置であって、
前記出力部と前記入力部との間に並列に配置された2つ又は3つのレジスタ・バッファを備え、
1つの前記レジスタ・バッファは、レジスタとバッファとが接続され、前記レジスタが受けた書き込み信号により前記出力部から出力されたデータを前記レジスタが受け取って前記バッファにそのデータを記憶し、前記バッファが受けた読み出し信号により前記記憶したデータを前記バッファから出力するものであり、
出力側コントローラが2つ又は3つの前記レジスタを順次選択することにより、前記出力部から出力されたデータを2つ又は3つの前記レジスタ・バッファに順次記憶し、
入力側コントローラが前記記憶の際に選択した順に前記バッファを選択して、2つ又は3つの前記バッファに記憶されたデータを順次前記入力部に出力することによりデータを伝達し、
前記出力側コントローラは、前記入力側コントローラに対してデータ出力開始信号を発信し、
前記入力側コントローラは、前記データ出力開始信号出力後の最初の前記入力部のクロックにおいて前記データ出力開始信号を検知して前記バッファを順次選択することを特徴とするデータ伝達装置。 - 前記出力側コントローラは、出力部と同一のクロック位相で動作し、
前記入力側コントローラは、入力部と同一のクロック位相で動作することを特徴とする請求項1に記載のデータ伝達装置。 - 前記レジスタ・バッファは、前記出力部と前記入力部との間に並列に2個配置され、
前記データ出力開始信号が、データ出力を開始したクロックの立ち下がり時に発信されることを特徴とする請求項1又は請求項2に記載のデータ伝達装置。 - 前記レジスタ・バッファの記憶容量は、前記出力部から一度に出力されるデータの量に基づいて決定されることを特徴とする請求項1〜3のいずれか一つに記載のデータ伝達装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001310615A JP3950661B2 (ja) | 2001-10-05 | 2001-10-05 | データ伝達装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001310615A JP3950661B2 (ja) | 2001-10-05 | 2001-10-05 | データ伝達装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122708A JP2003122708A (ja) | 2003-04-25 |
JP3950661B2 true JP3950661B2 (ja) | 2007-08-01 |
Family
ID=19129558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001310615A Expired - Fee Related JP3950661B2 (ja) | 2001-10-05 | 2001-10-05 | データ伝達装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3950661B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4783104B2 (ja) * | 2005-09-29 | 2011-09-28 | 株式会社東芝 | 暗号化/復号装置 |
-
2001
- 2001-10-05 JP JP2001310615A patent/JP3950661B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003122708A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3856696B2 (ja) | 2倍データ速度同期式動的ランダムアクセスメモリのための構成可能同期装置 | |
EP0905610B1 (en) | Dual port buffer | |
US20030167368A1 (en) | Transmission control circuit, reception control circuit, communications control circuit, and communications control unit | |
EP0411759B1 (en) | Synchronizer using clock phase extrapolation | |
US8176353B2 (en) | Method for the data transfer between at least two clock domains | |
US7650523B2 (en) | Interface apparatus and method for synchronization of data | |
JP3950661B2 (ja) | データ伝達装置 | |
US20070208980A1 (en) | Method of transmitting data between different clock domains | |
US6487140B2 (en) | Circuit for managing the transfer of data streams from a plurality of sources within a system | |
US20030079059A1 (en) | Interface between different clock rate components | |
US5361060A (en) | Data transmission apparatus and method of operating the same | |
JP2000163154A (ja) | クロック信号位相遅延補償方法 | |
US9692672B2 (en) | Communication system, and corresponding integrated circuit and method | |
JP3536777B2 (ja) | 非同期系間データ転送回路及び非同期系間データ転送方法 | |
JP2936807B2 (ja) | 集積回路 | |
JPH11353289A (ja) | 並列処理プロセッサ及び並列処理方法 | |
JP2696091B2 (ja) | テストパターン発生装置および方法 | |
US20050157586A1 (en) | Arrangement comprising a memory device and a program-controlled unit | |
JP2740492B2 (ja) | Lsi間非同期データ転送回路 | |
KR0169789B1 (ko) | 클럭주기가 다른 블럭들의 데이타 전송방법 및 회로 | |
CN118734757A (zh) | 基于fpga的ddr物理层接口电路及其控制方法 | |
KR100192523B1 (ko) | 공유형 팩스 및 그 정보 전달 방법 | |
JP2002005997A (ja) | テスト回路を有する自己同期型論理回路 | |
JPH0695347B2 (ja) | データ処理装置 | |
JPH01103757A (ja) | データ転送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20040406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070307 |
|
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: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070423 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100427 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100427 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110427 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110427 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120427 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130427 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130427 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140427 Year of fee payment: 7 |
|
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 |