(57)【特許請求の範囲】
【請求項１】
同一クロック数で動作する出力部および入力部を備え、前記出力部におけるクロック位相と前記入力部におけるクロック位相とが相違しており、前記出力部から出力されるデータを前記入力部に伝達するデータ伝達装置であって、
前記出力部と前記入力部との間に並列に配置された２つ又は３つのレジスタ・バッファを備え、
１つの前記レジスタ・バッファは、レジスタとバッファとが接続され、前記レジスタが受けた書き込み信号により前記出力部から出力されたデータを前記レジスタが受け取って前記バッファにそのデータを記憶し、前記バッファが受けた読み出し信号により前記記憶したデータを前記バッファから出力するものであり、
出力側コントローラが２つ又は３つの前記レジスタを順次選択することにより、前記出力部から出力されたデータを２つ又は３つの前記レジスタ・バッファに順次記憶し、
入力側コントローラが前記記憶の際に選択した順に前記バッファを選択して、２つ又は３つの前記バッファに記憶されたデータを順次前記入力部に出力することによりデータを伝達し、
前記出力側コントローラは、前記入力側コントローラに対してデータ出力開始信号を発信し、
前記入力側コントローラは、前記データ出力開始信号出力後の最初の前記入力部のクロックにおいて前記データ出力開始信号を検知して前記バッファを順次選択することを特徴とするデータ伝達装置。
【請求項２】
前記出力側コントローラは、出力部と同一のクロック位相で動作し、
前記入力側コントローラは、入力部と同一のクロック位相で動作することを特徴とする請求項１に記載のデータ伝達装置。
【請求項３】
前記レジスタ・バッファは、前記出力部と前記入力部との間に並列に２個配置され、
前記データ出力開始信号が、データ出力を開始したクロックの立ち下がり時に発信されることを特徴とする請求項１又は請求項２に記載のデータ伝達装置。
【請求項４】
前記レジスタ・バッファの記憶容量は、前記出力部から一度に出力されるデータの量に基づいて決定されることを特徴とする請求項１〜３のいずれか一つに記載のデータ伝達装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、出力部と入力部とを有し、出力部から入力部へデータを伝達する回路に関し、特に、出力部の動作を制御するクロックの位相と、入力部の動作を制御するクロックの位相とが相違するデータ伝達装置に関する。
【０００２】
【従来の技術】
従来、測定装置等の出力部から解析装置等の入力部に対して連続データの受け渡しをおこなう際、データ伝達装置を構成する出力部と入力部との間のクロック位相のずれが問題となっていた。出力部と入力部は、通常、同一回路基板上に配置され、単一のクロック発信源から発信されるクロックによってその動作を制御されている。そのため、出力部におけるクロック位相と、入力部におけるクロック位相との間にずれが生じていた場合、出力部と入力部とは同時に動作することができない。したがって、図５で示すように、データの欠損が生じることや、データ化けが生じるといった問題が生じる。
【０００３】
出力部と入力部との間に位相のずれが生じる原因は、次の通りである。まず、出力部と入力部とは、同一回路基板上に配置されるものの、距離的に離れて配置されることが多い。離れて配置された場合、クロック発信源からの距離を同程度に保つことは容易ではなく、そのため、出力部のクロック位相と、入力部のクロック位相との間に位相差が生じる。
【０００４】
これに対して、出力部におけるクロック位相をスキュー（ｓｋｅｗ）調整により変化させ、出力部と入力部との間の位相のずれを相殺する手法が提案されている。これによれば、出力部と入力部との間の位相のずれを効果的に解消することができるため、データの受け渡しに関する上記の問題を解決することができる。
【０００５】
しかし、スキュー調整の利用には問題もある。まず、設計段階において計算される出力部と入力部との間の位相差が、現実の回路配線上における出力部と入力部との間の位相差と一致するとは限らない点である。これは、製造時に誤差が生じてしまう場合もあり、その他にも、クロック出力源との間にクロックドライバ等の他の回路素子を挟んでいた場合、それらの回路素子に起因する位相遅れが生じるためである。このように、位相遅れの程度が設計段階であらかじめ分からない場合には、スキュー調整で対応することはできない。
【０００６】
したがって、データの受け渡しエラーを防止するために、位相差をなくすのではなく、位相差が存在することを前提として、入力部と出力部との間にＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ−Ｆｉｒｓｔ−Ｏｕｔ）と呼ばれるメモリを配置する構造が知られている。ＦＩＦＯは、ＲＡＭ回路を変形して実現されるもので、記憶したデータを入力された順に出力することができるメモリである。
【０００７】
図６に、ＦＩＦＯを用いた入出力回路の例を示す。この回路では、出力デバイス１０１と入力デバイス１０２との間にＦＩＦＯ１０３が配置されている。また、ＦＩＦＯ１０３には出力側からＦＩＦＯ１０３を制御するための出力側コントローラ１０４と、入力側からＦＩＦＯ１０３を制御するための入力側コントローラ１０５とが接続されている。
【０００８】
ここで、出力デバイス１０１から出力データをＦＩＦＯ１０３に記憶する際には、出力側コントローラ１０４がＦＩＦＯ１０３に対して、書き込み命令を送ることにより、出力データがＦＩＦＯ１０３に書き込まれる。また、入力デバイス１０２が、入力データを読みとる際には入力側コントローラ１０５から読み出し命令がＦＩＦＯ１０３に送られ、ＦＩＦＯ１０３から入力デバイス１０２に対してデータが出力される。
【０００９】
ここで、ＦＩＦＯ１０３は、記憶したデータを入力された順に出力する性質を有する。すなわち、出力デバイス１０１から、データ１、データ２、データ３、・・・・とＦＩＦＯ１０３にデータが入力された場合、ＦＩＦＯ１０３から入力デバイス１０２に出力されるデータもデータ１、データ２、データ３、・・・・の順に出力される。
【００１０】
そのため、図６に示す回路においては、出力デバイス１０１と入力デバイス１０２との間でクロック周波数の位相差を０にする必要がない。出力されたデータは一時的にＦＩＦＯ１０３に蓄えられ、出力デバイス１０１からのデータ出力とは無関係な時に入力デバイス１０２は、ＦＩＦＯ１０３からデータを読み出すことができる。しかも、ＦＩＦＯ１０３は、データを出力する際、記憶した順番にしたがって出力するため、連続データでも問題なく出力することができる。
【００１１】
【発明が解決しようとする課題】
しかし、ＦＩＦＯを用いた回路にも問題点は存在する。一般に市販されているＦＩＦＯの容量は数ｋＢｙｔｅから数ＭＢｙｔｅほどある。これは、元来ＦＩＦＯは、クロック周波数の位相差のみならず、出力側の内部処理や入力側の内部処理にかかる時間を考慮して、出力側からデータが出力される時刻と、入力側がデータを取り込む時刻との間に相当の時間差が存在する場合にもデータの受け渡しを確実におこなうために開発された回路素子であり、出力されたデータをすべて保持する必要があるためである。
【００１２】
このように、ＦＩＦＯは一般的に大容量を有するため、部品１個あたりのコストも高く、回路全体に占めるコストの割合も高い。したがって安価の回路を形成する際の障害となる。
【００１３】
さらに、位相のずれを克服して出力側から入力側に連続データの受け渡しをするならば、ＦＩＦＯ程の大容量は必ずしも必要ない。すなわち、ほぼ同時に出力側でデータが出力され、入力側でデータの読み込みがおこなわれるのであれば、中継部分で出力データのすべてを記憶する必要はない。出力データの記憶と、入力側へのデータの出力とを並列的に処理できる回路素子であれば足り、このような回路素子を用いた場合、回路全体のコストを低く抑えることができる。しかし、この場合に最低でどれほどの容量の回路素子が必要なのかについて、現在に至るまで特に研究はおこなわれていない。
【００１４】
本発明は、従来技術の上記欠点に鑑みてなされたもので、出力側の動作クロックと、入力側の動作クロックの位相が相違する場合にも正確なデータ伝達をおこなうことのできるデータ伝達装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、第１の観点にかかる発明は、同一クロック数で動作する出力部および入力部を有し、前記出力部から出力されるデータを前記入力部に伝達し、前記出力部におけるクロック位相と前記入力部におけるクロック位相とが相違するデータ伝達装置であって、前記出力部と前記入力部との間に配置された複数の一時記憶手段を有し、前記複数の一時記憶手段を順次選択することにより前記出力部から出力されたデータを前記複数の一時記憶手段に順次記憶し、記憶の際に選択した順に前記一時記憶手段を選択して前記複数の一時記憶手段に記憶されたデータを順次前記入力部に出力することによりデータを伝達することを特徴とする。
【００１６】
この第１の観点にかかる発明によれば、出力部におけるクロック位相と入力部におけるクロック位相とが相違する場合でも、ＦＩＦＯを用いずともデータ化けやデータの欠損を生じることのない、簡易な構造のデータ伝達装置を提供することができる。
【００１７】
また、第２の観点にかかる発明は、第１の観点にかかる発明において、さらに前記複数の一時記憶手段が前記出力部から出力されたデータを記憶する際に、データを記憶させるために前記一時記憶手段を順次選択する出力側コントローラと、前記一時記憶手段から前記入力部にデータを伝達する際に、前記入力部に対してデータを出力させるために前記一時記憶手段を順次選択する入力側コントローラとを有することを特徴とする。
【００１８】
この第２の観点にかかる発明によれば、一時記憶手段にデータを記憶する際に一時記憶手段を制御する出力側コントローラと、一時記憶手段から入力部に対してデータを出力する際に一時記憶手段を制御する入力側コントローラをさらに有することで一時記憶手段の選択をおこない、データ化け等することなくデータを伝達することができる。
【００１９】
また、第３の観点にかかる発明は、第１または第２の観点にかかる発明において、前記出力側コントローラは、出力部と同一のクロック位相で動作し、前記入力側コントローラは、入力部と同一のクロック位相で動作することを特徴とする。
【００２０】
この第３の観点にかかる発明によれば、出力側コントローラが出力部と同一クロックで動作することで、一時記憶手段にデータを記憶する際にデータ化けなどを防ぐことができ、入力側コントローラが入力部と同一クロックで動作することで一時記憶手段から入力部に対して円滑にデータの伝達をおこなうことができる。
【００２１】
また、第４の観点にかかる発明は、第２または第３の観点にかかる発明において、前記出力側コントローラは、前記入力側コントローラに対してデータ出力開始信号を発信し、前記入力側コントローラは、前記データ出力開始信号出力後の最初の前記入力部のクロックにおいて前記データ出力開始信号を検知して前記一時記憶手段を順次選択することを特徴とする。
【００２２】
この第４の観点にかかる発明によれば、入力側コントローラがデータ出力開始信号によって一時記憶手段の選択を開始するため、入力側コントローラが無駄な制御をおこなうことを防止することができる。
【００２３】
また、第５の観点にかかる発明は、第１〜第４のいずれか一つの観点にかかる発明において、前記一時記憶手段は、前記出力部と前記入力部との間に並列に３個配置されていることを特徴とする。
【００２４】
この第５の観点にかかる発明によれば、一時記憶手段を３個とすることにより、出力側と入力側との間にクロックの位相差が存在しても出力したデータを確実に入力側に伝達することができ、ＦＩＦＯを使用した場合と比較して、簡易な構造のデータ伝達装置を提供することができる。
【００２５】
また、第６の観点にかかる発明は、第１〜第４のいずれか一つの観点にかかる発明において、前記一時記憶手段は、前記出力部と前記入力部との間に並列に２個配置され、前記データ出力開始信号が、データ出力を開始したクロックの立ち下がり時に発信されることを特徴とする。
【００２６】
この第６の観点にかかる発明によれば、データ出力開始信号の発信時を、データ出力開始時のクロックの立ち下がり時にすることで、一時記憶手段の個数を２個とすることができ、簡易な回路構成のデータ伝達装置を提供することができる。
【００２７】
また、第７の観点にかかる発明は、第２〜第６のいずれか一つの観点にかかる発明において、前記一時記憶手段は、入力制御端子と出力制御端子を有し、前記入力制御端子を介して前記出力側コントローラによって順次選択され、前記出力制御端子を介して前記入力側コントローラによって順次選択されることを特徴とする。
【００２８】
この第７の観点にかかる発明によれば、一時記憶手段の選択を、出力側コントローラは入力制御端子に入力ＯＮ信号を発信することでおこない、入力側コントローラは出力制御端子に出力ＯＮ信号を発信することでおこなうことができるため、単純な論理回路によって出力データ装置を実現することができる。
【００２９】
また、第８の観点にかかる発明は、第１〜第７のいずれか一つの観点にかかる発明において、前記一時記憶手段の記憶容量は、前記出力部から一度に出力されるデータの量に基づいて決定されることを特徴とする。
【００３０】
この第８の観点にかかる発明によれば、一時記憶手段の記憶容量が出力部から一度に出力されるデータ量にあわせて決定できるため、ＦＩＦＯのような大容量の記憶手段を必要とせず、小さい容量で一時記憶手段を構成することができる。
【００３１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態にかかるデータ伝達装置について詳細に説明する。図面の記載において同一あるいは類似部分には同一あるいは類似な符号を付している。
【００３２】
実施の形態１．
実施の形態１にかかるデータ伝達装置について、図１および図２を参照して説明する。図１は、実施の形態１にかかるデータ伝達装置の構成を示すブロック図であり、図２は、実施の形態１にかかるデータ伝達装置におけるデータ伝達について示すタイムチャート図である。
【００３３】
実施の形態１にかかるデータ伝達装置は、出力デバイス１と、入力デバイス２と、出力デバイス１および入力デバイス２に接続したクロック発信源３とを有する。また、出力デバイス１に接続してレジスタ４、５、６が配置され、レジスタ４にはバッファ７、レジスタ５にはバッファ８、レジスタ６にはバッファ９がそれぞれ接続されている。さらに、バッファ７、８、９は入力デバイス２に接続されている。また、出力デバイス１に接続して出力セレクタ１０が配置され、入力デバイスに接続して入力セレクタ１１が配置されている。
【００３４】
また、本実施の形態１においては、出力デバイス１と入力デバイス２とは、クロック発信源３から発振された同一クロック数のクロックにより動作をおこなうこととする。さらに、出力デバイス１におけるクロック発信源３からの出力側ディレイと、入力デバイス２における入力側ディレイとは相違し、出力デバイス１における位相と入力デバイス２における位相とは異なるものとする。
【００３５】
出力デバイス１は、計測装置等で得られたデータを出力するためのものである。本実施の形態１においては、出力されるデータは連続データからなるものとし、データはレジスタ４、５、６に対して出力される。
【００３６】
出力セレクタ１０は、出力デバイス１から出力されたデータを、レジスタ４、５、６のいずれに記憶するか選択する機能を有する。また、出力セレクタ１０は、入力セレクタ１１に対してレジスタ４、５、６のいずれかにデータが記憶されていることを示す信号若しくはいずれにもデータが記憶されていないことを示す信号ｃを出力する。なお、出力セレクタ１０は、出力デバイス１に近接して配置され、動作クロックは出力デバイス１と同一で、位相差もない。
【００３７】
入力デバイス２は、出力デバイス１から出力されたデータを受け取り、演算装置等にデータを渡す機能を有する。入力デバイス２は、直接にはバッファ７、８、９から連続データを受け取る。
【００３８】
入力セレクタ１１は、出力セレクタ１０からの信号ｃを受けて、バッファ７、８、９のいずれかを順次選択し、選択したバッファに対して保持するデータを入力デバイス２に出力させる機能を有する。なお、入力セレクタ１１は、入力デバイス２に近接して配置され、入力デバイス２との位相差はないものとする。
【００３９】
レジスタ４、５、６は出力セレクタ１０からの信号を受けて、出力デバイス１から出力されたデータを一時的に記憶する機能を有する。また、バッファ７、８、９は接続するレジスタ４、５、６を経由したデータを記憶し、入力セレクタ１１から出力された読み出し信号をうけて、保持するデータを入力デバイス２に出力する機能を有する。ここで、バッファ７、８、９の容量は、出力デバイス１から一度に出力されるデータ量によって決定される。簡単のため、本実施の形態１においては、出力デバイス１から一度に出力されるデータ量を１ｂｉｔとし、バッファ７、８、９の容量もそれぞれ１ｂｉｔとする。
【００４０】
次に、図２を参照して、実施の形態１にかかるデータ伝達装置の動作について、説明する。まず、出力デバイス１および出力セレクタ１０は、出力クロックにしたがって動作し、入力デバイス２および入力セレクタ１１は、入力クロックにしたがって動作するものとする。
【００４１】
まず、出力デバイス１からバッファ７、８、９にデータを記憶するまでの工程について、説明する。出力デバイス１は、出力クロックにしたがってデータを出力し、クロックＡが立ち上がる際にデータ１を出力し、次のクロックＢが立ち上がる際に出力するデータを２に切り替えはじめる。その後、クロックＣ、クロックＤと立ち上がるのに伴い、データ３、データ４、と出力する。
【００４２】
また、出力セレクタ１０は、クロックＢが立ち上がった際にレジスタ４に書き込み信号ｄを発信し、レジスタ４は、データ１を受け取り、そのままバッファ７にデータ１を記憶させる。
【００４３】
続いてクロックＣが立ち上がった際に、出力セレクタ１０は、レジスタ４への書き込み信号ｄの発信を停止し、新たに書き込み信号ｅをレジスタ５に発信する。書き込み信号ｅを受けたレジスタ５は、クロックＣが立ち上がった際に出力デバイス１から出力されているデータ２を受け取り、そのままバッファ８にデータ２を記憶させる。
【００４４】
さらに、クロックＤが立ち上がった際には、出力セレクタ１０は、レジスタ５への書き込み信号ｅの発信を停止し、新たに書き込み信号ｆをレジスタ６に発信する。書き込み信号ｆを受信したレジスタ６は、出力デバイス１からデータ３を受け取り、そのままバッファ９にデータ３を記憶させる。
【００４５】
そして、次のクロックＥが立ち上がった際に、出力レジスタ１０は、書き込み信号ｄをレジスタ４に再び発信する。レジスタ４は出力デバイス１からデータ４を新たに受け取り、バッファ７は、それまで保持していたデータ１にかわって、データ４を記憶する。以上のようにして、クロックの立ち上がりごとに出力セレクタ１０が、信号ｄ、ｅ、ｆを順次切り替えることにより、出力デバイス１から出力されたデータは、レジスタを通してバッファ上にデータを保存していく。
【００４６】
次に、バッファ７、８、９に記憶されたデータを入力デバイス２が受け取る工程について、説明する。ここで、出力クロックと入力クロックとの位相差は０〜２πの任意の値を取り得るため、ここでは、位相差がΔθ1とΔθ2の２つの場合について、説明する。
【００４７】
まず、出力クロックと入力クロックとの位相差がΔθ1の場合について、説明する。出力セレクタ１０は、出力されたデータ１がバッファ７に記憶されるクロックＢの立ち上がりの際に、入力セレクタ１１に対して、データが記憶された旨の“ＮＯＴ ＥＭＰＴＹ”信号ｃを発信する。なお、前提としてΔθ1の値は、この“ＮＯＴ ＥＭＰＴＹ”信号ｃが立ち上がりきった時刻の直後にクロックＡ1が立ち上がるような位相差を有するものとする。
【００４８】
そして、入力セレクタ１１は、クロックＡ1が立ち上がった際に“ＮＯＴ ＥＭＰＴＹ”信号ｃが入力セレクタ１１に発信されたことを検知し、データ受け入れを開始する。具体的には、以下の通りである。
【００４９】
まず、入力クロックにおいて、クロックＡ1が立ち上がると同時に、入力セレクタ１１からバッファ７に対して、バッファ７から入力デバイス２に対して保持するデータを出力する旨の読み出し信号ｇを発信する。バッファ７は、入力セレクタ１１からの信号ｇに応じて保持しているデータ１を入力デバイス２に対してクロックＢ1が立ち上がるまで伝達し続ける。
【００５０】
そして、クロックＢ1が立ち上がると、入力セレクタ１１は、バッファ７に対する読み出し信号ｇを停止し、バッファ８に対して読み出し信号ｈを発信する。バッファ８は、入力セレクタ１１からの読み出し信号ｈに応じて、保持していたデータ２を入力デバイス２に対してクロックＣ1が立ち上がるまで伝達し続ける。
【００５１】
その後、クロックＣ1が立ち上がると同時に、入力セレクタ１１は、バッファ８に対する読み出し信号ｈを停止し、バッファ９に対して読み出し信号ｉを発信する。バッファ９は、入力セレクタ１１からの読み出し信号ｉに応じて、保持していたデータ３を入力デバイス２に対してクロックＤ1が立ち上がるまで伝達し続ける。
【００５２】
そして、クロックＤ1が立ち上がると同時に、入力セレクタ１１からバッファ９に対する読み出し信号ｉを停止し、再びバッファ７に対して読み出し信号ｇが発信される。クロックＤ1が立ち上がった時点において、バッファ７にはデータ４が保持されているため、バッファ７は、読み出し信号ｇに応じて、データ４を入力デバイス２に対してクロックＥ1が立ち上がるまで伝達し続ける。以上の工程をくり返すことによりデータ５、データ６、・・・、が入力デバイス２に対して順に伝達される。したがって、図２で示すように、入力デバイス２における入力データはデータ１、データ２、データ３、・・・・、と出力デバイス１から出力されたデータと同じデータが、同じ順序で入力されていく。
【００５３】
次に、出力クロックと入力クロックとの位相差がΔθ2の場合について、説明する。なお、上記の例のクロックＡ1に相当するクロックはほぼ１周期分遅れたクロックＡ2とする。ここで、クロックＡ2の立ち上がりの１周期前にはクロックα2が立ち上がっているが、クロックα2の立ち上がり時刻は上記のクロックＡ1の立ち上がりよりもわずかに早く、そのため、出力セレクタ１０が発信する“ＮＯＴ ＥＭＰＴＹ”信号ｃを検知することはできないものとする。したがって、位相差Δθ2の場合は、入力セレクタ１１は、クロックα2が立ち上がった時点ではデータの入力を開始せず、クロックＡ2が立ち上がって初めてデータ入力を開始する。
【００５４】
入力セレクタ１１は、クロックＡ2が立ち上がると同時に、“ＮＯＴ ＥＭＰＴＹ”信号ｃを検知し、読み出し信号ｇをバッファ７に対して発信する。バッファ７は、図２で示すように、クロックＡ2が立ち上がった時点からクロックＢ2が立ち上がる時点までデータ１を保持しているため、読み出し信号ｇを受けて、保持しているデータ１を入力デバイス２に対して、クロックＢ2が立ち上がるまで出力し続ける。
【００５５】
そして、クロックＢ2が立ち上がると同時に、入力セレクタ１１は、バッファ７に対する読み出し信号ｇを停止し、新たにバッファ８に対して読み出し信号ｈを発信する。バッファ８は、クロックＢ2の立ち上がり時点においてデータ２を保持しているため、バッファ８は入力デバイス２に対してデータ２を出力する。以下、上記の例と同様に入力セレクタ１１はバッファ９、バッファ７、バッファ８、・・・に対して順に読み出し信号ｉ、ｇ、ｈを発信し、それに応じてバッファ９、バッファ７、バッファ８、・・・はデータ３、データ４、データ５、・・・・を入力デバイス２に対して出力する。したがって、もっとも遅いタイミングの場合でも、入力デバイス２は、データ１、データ２、データ３、・・・と、出力デバイス１が出力したデータと同じデータを、出力デバイス１から出力されたのと同じ順序で受け取ることができる。
【００５６】
以上、位相差がΔθ1の場合と、Δθ2の場合の２通りの場合について説明したが、この２つのタイミング間の任意の位相遅れの場合にも、同様の議論が成り立つ。Δθ1とΔθ2とはほぼ２πだけ位相がずれているため、本実施の形態１にかかるデータ伝達装置は、出力クロックの位相と、入力クロックの位相とが相違し、位相差を有するにも関わらず、データの伝達を確実におこなうことができる。
【００５７】
また、本実施の形態１にかかるデータ伝達装置は、従来のＦＩＦＯのような複雑な装置を必要としないで、データの伝達を確実におこなうことができる。したがって、その分データ伝達装置の製造コストを低く抑えることができる。
【００５８】
また、出力セレクタ１０から発信される信号は、“ＮＯＴ ＥＭＰＴＹ”信号ｃと、レジスタ４、５、６に対して発信する書き込み信号ｄ、ｅ、ｆだけであり、入力セレクタ１１から発信される信号も、バッファ７、８、９に対する読み出し信号ｇ、ｈ、ｉのみである。したがって、入力側と出力側のインターフェイスを少なくすることができる。
【００５９】
さらに、本実施の形態１における出力セレクタ１０および入力セレクタ１１は、レジスタ４、５、６若しくはバッファ７、８、９を順番にアクセスするだけでよいため、複雑な論理を必要としない利点もある。
【００６０】
なお、本実施の形態１にかかるデータ伝達装置は、出力クロックと、入力クロックとの間に位相差が存在しない場合であっても、出力デバイス１が出力するデータを入力デバイス２は取得することができる。したがって、本実施の形態１にかかるデータ伝達装置は、出力クロックと入力クロックとの間に位相差が存在する場合のみならず、位相差が存在しない場合についても適用することができる。したがって、実際に製造したデータ伝達装置において、出力デバイス１と入力デバイス２との間の位相差について、何ら考慮することなく本実施の形態１における構造を適用することができる。
【００６１】
実施の形態２．
次に、実施の形態２について、説明する。図３は、実施の形態２にかかるデータ伝達装置の構成を示すブロック図であり、図４は、実施の形態２にかかるデータ伝達装置におけるデータ伝達について示すタイムチャート図である。なお、実施の形態１における場合と同等の機能を有するものについては、同一の符号を付すものとし、その説明を省略する。以下、図３および図４を適宜参照して、実施の形態２にかかるデータ伝達装置について説明する。
【００６２】
実施の形態２にかかるデータ伝達装置は、出力デバイス１と、入力デバイス２と、出力デバイス１および入力デバイス２と接続されたクロック発信源３とを有する。また、出力デバイス１にはレジスタ２１とレジスタ２２がそれぞれ接続され、レジスタ２１およびレジスタ２２は、それぞれバッファ２３およびバッファ２４と接続されている。さらに、バッファ２３およびバッファ２４は、入力デバイス２と接続されている。さらに、出力デバイス１に接続して出力セレクタ２５が配置され、入力デバイス２に接続して入力セレクタ２６が配置されている。
【００６３】
また、本実施の形態２では、出力セレクタ２５は、出力デバイス１に近接して配置され、出力デバイス１のクロック位相と同一の位相で動作し、入力セレクタ２６は、入力デバイス２に近接して配置され、入力デバイス２のクロック位相と同一の位相で動作するものとする。また、出力デバイス１および出力セレクタ２５を動作させる出力クロックは、クロック発信源３から発信され、所定の出力側ディレイに起因した位相遅れを有する。一方、入力デバイス２および入力セレクタ２６を動作させる入力クロックは、クロック発信源３から発信され、所定の入力側ディレイに起因した位相遅れを有する。ここで、出力側ディレイと、入力側ディレイとは値が相違するものとし、出力クロックと入力クロックとは、異なる位相で動作するものとする。
【００６４】
出力セレクタ２５は、出力デバイス１から出力されたデータを、レジスタ２１とレジスタ２２のいずれに記憶するかを選択する機能を有する。また、出力セレクタ２５は、入力セレクタ２６に対して、出力デバイス１からのデータ出力の開始を入力セレクタ２６に対して通知する“ＮＯＴ ＥＭＰＴＹ”信号ｊを発信する機能を有する。
【００６５】
入力セレクタ２６は、バッファ２３、バッファ２４に記憶されたデータを入力デバイス２に対して出力する際に、バッファ２３とバッファ２４のいずれかを選択する機能を有する。なお、入力セレクタ２６は、出力セレクタ２５から発信される“ＮＯＴ ＥＭＰＴＹ”信号ｊに基づき、動作を開始する。
【００６６】
レジスタ２１およびレジスタ２２は、出力セレクタ２５の制御の下、出力デバイス１から出力されたデータを一時的に記憶する機能を有する。また、レジスタ２１およびレジスタ２２は出力デバイスから受け取ったデータをそれぞれバッファ２３、バッファ２４に対して出力し、バッファ２３およびバッファ２４は、受け取ったデータを記憶し、入力セレクタ２６の制御の下、入力デバイス２にデータを出力する機能を有する。
【００６７】
次に、図４を参照して、実施の形態２にかかるデータ伝達装置の動作について説明する。まず、出力デバイス１から、バッファ２３およびバッファ２４にデータを記憶するまでの工程について、説明する。出力デバイス１は、出力クロックにしたがって動作し、出力クロックＡが立ち上がった際にデータ１を出力する。そして、出力セレクタ２５は、出力クロックＢが立ち上がる際に出力するデータを切り替え、データ２を出力する。以後、新たにクロックＣ、クロックＤが立ち上がる際にデータ３、データ４、と出力する。
【００６８】
また、出力セレクタ２５は、クロックＢが立ち上がった際にレジスタ２１に書き込み信号ｋを出力し、レジスタ２１は、出力デバイス１からデータ１を受け取り、バッファ２３にデータ１を記憶させる。
【００６９】
そして、クロックＣが立ち上がった際に、出力セレクタ２５は、レジスタ２１に発信していた書き込み信号ｋを停止し、新たにレジスタ２２に対し書き込み信号ｌを発信する。レジスタ２１は、書き込み信号ｌを受けて、出力デバイス１からデータ２を受け取り、バッファ２４にデータ２を記憶させる。
【００７０】
その後、クロックＤが立ち上がった際に、出力セレクタ２５は、書き込み信号ｌを停止し、再びレジスタ２１に対して書き込み信号ｋを発信する。書き込み信号ｋにしたがって、レジスタ２１は、出力デバイス１からデータ３を受け取ってバッファ２３に記憶させる。
【００７１】
このようにして、バッファ２３には、クロックＢの立ち上がりからクロックＤの立ち上がりまでデータ１を保持し、クロックＤの立ち上がりからクロックＦの立ち上がりまで、データ３を保持する。以後、データ５、データ７と奇数番号のデータを出力クロックの２周期分の時間だけ保持する。
【００７２】
また、バッファ２４は、クロックＣの立ち上がりからクロックＥの立ち上がりまでデータ２を保持し、クロックＥの立ち上がりからクロックＧの立ち上がりまでデータ４を保持する。以後、データ６、データ８と、偶数番号のデータをバッファ２４は出力クロックの２周期分の時間だけ保持する。
【００７３】
次に、バッファ２３およびバッファ２４に記憶されたデータを入力デバイス２が受け取る工程について、説明する。まず、出力クロックと入力クロックとの位相差がΔθ3の場合について、説明する。
【００７４】
まず、出力クロックＡの立ち下がりの際に、出力セレクタ２５は、“ＮＯＴ ＥＭＰＴＹ”信号ｊを入力セレクタ２６に対して発信する。ここで、位相差Δθ3の存在により、“ＮＯＴ ＥＭＰＴＹ”信号ｊが完全に立ち上がった直後に入力クロックにおいては、クロックＡ3が立ち上がるものとする。
【００７５】
入力セレクタ２６は、クロックＡ3が立ち上がった際に“ＮＯＴ ＥＭＰＴＹ”信号ｊが発信されたことを検知し、データの受け入れを開始する。具体的には、クロックＡ3が立ち上がった際に、バッファ２３に対して読み出し信号ｍを、次のクロックＢ3が立ち上がるまで発信する。クロックＡ3が立ち上がった際にはまだバッファ２３にデータ１は記憶されていないものの、読み出し信号ｍが停止するクロックＢ3の立ち上がりまでにはバッファ２３はデータ１を記憶する。したがって、読み出し信号ｍをクロックＢ3の立ち上がりまで発信し続けることにより、バッファ２３は入力デバイス２に対してデータ１を出力することができる。
【００７６】
そして、クロックＢ3が立ち上がった際に、入力セレクタ２６は、読み出し信号ｍを停止し、新たにバッファ２４に対して読み出し信号ｎを発信する。データ１の場合と同様に、クロックＢ3の立ち上がりの際からクロックＣ3の立ち上がりまでの間にはバッファ２４はデータ２を記憶するため、読み出し信号ｎが発信されている間にバッファ２４から入力デバイス２に対してデータ２が出力される。
【００７７】
そして、クロックＣ3が立ち上がった際に、入力セレクタ２６は、バッファ２４に対する読み出し信号ｎを停止し、再びバッファ２３に対して再び読み出し信号ｍを発信する。読み出し信号ｍを発信する間にバッファ２３にはデータ３が記憶されるため、バッファ２３から入力デバイス２に対して、データ３が出力される。
【００７８】
その後、新たにクロックが立ち上がるごとに、入力セレクタ２６は読み出し信号を切り替える。読み出し信号の切り替えにより、順次バッファ２３およびバッファ２４に保持されているデータは入力デバイス２に対して出力される。以上の工程によって、出力デバイス１から出力されたデータは入力デバイス２に順次出力される。
【００７９】
本実施の形態２にかかるデータ伝達装置では、出力セレクタ２５から入力セレクタ２６に対する“ＮＯＴ ＥＭＰＴＹ”信号は、出力デバイス１がデータ１の出力を開始するクロックＡの立ち下がり時に発信される。そのため、入力セレクタ２６は、出力が開始されたことを素早く検知することができ、バッファ２３への読み出し信号の発信も素早くおこなうことができる。その結果、出力デバイス１から出力されたデータを一時的に記憶しておくレジスタとバッファの組み合わせを２つですますことができる。
【００８０】
次に、出力クロックと入力クロックとの位相差がΔθ4の場合において、バッファ２３およびバッファ２４に記憶されたデータを入力デバイス２が受け取る工程について説明する。ここで、Δθ4は、Δθ3よりもほぼ２πだけ位相が遅れているものとし、クロックα4が立ち上がる際には、入力セレクタ２６は、出力セレクタ２５から発信される“ＮＯＴ ＥＭＰＴＹ”信号を検知することができないものとする。入力セレクタ２６は、クロックＡ4が立ち上がった際に初めて、“ＮＯＴ ＥＭＰＴＹ”信号ｊを検知することができる。
【００８１】
クロックＡ4が立ち上がった際に、入力セレクタ２６は“ＮＯＴ ＥＭＰＴＹ”信号ｊを検知して、バッファ２３に対して読み出し信号ｍを発信する。バッファ２３は、読み出し信号ｍを受けて保持しているデータ１を入力デバイス２に対して出力する。
【００８２】
そして、クロックＢ4が立ち上がる際に、入力セレクタ２６は、読み出し信号ｍを停止し、新たに読み出し信号ｎをバッファ２４に対して出力する。バッファ２４は、読み出し信号ｎを受けて、保持しているデータ２を入力デバイス２に対して出力する。
【００８３】
その後、クロックＣ4が立ち上がる際に、入力セレクタ２６は、読み出し信号ｎを停止し、読み出し信号ｍをバッファ２３に対して再び発信する。バッファ２３は、入力デバイス２に対してその時点で保持しているデータ３を出力する。以後、入力クロックが立ち上がるごとに、入力セレクタ２６は読み出し信号を切り替え、入力デバイス２は、順次データ３、データ４、データ５を得る。
【００８４】
したがって、本実施の形態２にかかるデータ伝達装置では、ＦＩＦＯを用いた場合と比較して、より単純な構造の回路で、出力クロックと入力クロックとの間に位相差が存在する場合であっても出力デバイス１から入力デバイス２までのデータの伝達をおこなうことができる。上述したように、この際にデータの欠損またはデータの読み誤りについて起こることはない。
【００８５】
なお、本発明は上述の実施の形態１および実施の形態２にしたがって説明したが、本発明はこれらの実施の形態に限定されるものではない。これらの開示によれば当業者には様々な代替実施の形態、実施例および運用技術が明らかになると思われる。たとえば、図２および図４で示すように、出力セレクタ１０、２５から発信される“ＮＯＴ ＥＭＰＴＹ”信号は、立ち上がりによってＯＮされるものとしているが、立ち下がった際にＯＮとしてもよい。同様に、出力デバイス１がデータを出力するのも、クロックが立ち上がる際だけでなく、立ち下がる際に出力する形態も考えられる。入力デバイス２についても同様である。
【００８６】
また、図１および図２においては、一時記憶手段として、レジスタとバッファとの組み合わせからなるものを図示しているが、この組み合わせに必ずしも限定されない。たとえば、レジスタとバッファとの組み合わせに代えて、書き込み信号を受信するための端子と、読み出し信号を受信するための端子を備えた記憶手段を用いてもよい。
【００８７】
【発明の効果】
上述してきたように、第１の観点にかかる発明によれば、出力部におけるクロック位相と入力部におけるクロック位相とが相違する場合でも、ＦＩＦＯを用いずともデータ化けやデータの欠損を生じることのない、簡易な構造のデータ伝達装置を提供することができるという効果を奏する。
【００８８】
また、第２の観点にかかる発明によれば、一時記憶手段にデータを記憶する際に一時記憶手段を制御する出力側コントローラと、一時記憶手段から入力部に対してデータを出力する際に一時記憶手段を制御する入力側コントローラをさらに有する構成としたことで一時記憶手段の選択をおこない、データ化け等することなくデータを伝達することができるという効果を奏する。
【００８９】
また、第３の観点にかかる発明によれば、出力側コントローラが出力部と同一クロックで動作する構成としたことで、一時記憶手段にデータを記憶する際にデータ化けなどを防ぐことができ、入力側コントローラが入力部と同一クロックで動作する構成としたことで一時記憶手段から入力部に対して円滑にデータの伝達をおこなうことができるという効果を奏する。
【００９０】
また、第４の観点にかかる発明によれば、入力側コントローラがデータ出力開始信号によって一時記憶手段の選択を開始する構成としたため、入力側コントローラが無駄な制御をおこなうことを防止することができるという効果を奏する。
【００９１】
また、第５の観点にかかる発明によれば、一時記憶手段を３個とする構成としたことにより、出力側と入力側との間にクロックの位相差が存在しても出力したデータを確実に入力側に伝達することができ、ＦＩＦＯを使用した場合と比較して、簡易な構造のデータ伝達装置を提供することができるという効果を奏する。
【００９２】
また、第６の観点にかかる発明によれば、データ出力開始信号の発信時を、データ出力開始時のクロックの立ち下がり時にすることで、一時記憶手段の個数を２個とする構成とすることができ、簡易な回路構成のデータ伝達装置を提供することができるという効果を奏する。
【００９３】
また、第７の観点にかかる発明によれば、一時記憶手段の選択を、出力側コントローラは入力制御端子に入力ＯＮ信号を発信することでおこない、入力側コントローラは出力制御端子に出力ＯＮ信号を発信することでおこなう構成とすることができるため、単純な論理回路によって出力データ装置を実現することができるという効果を奏する。
【００９４】
また、第８の観点にかかる発明によれば、一時記憶手段の記憶容量が出力部から一度に出力されるデータ量にあわせて決定する構成としたため、ＦＩＦＯのような大容量の記憶手段を必要とせず、小さい容量で一時記憶手段を構成することができるという効果を奏する。
【図面の簡単な説明】
【図１】実施の形態１にかかるデータ伝達装置の構成を示すブロック図である。
【図２】実施の形態１にかかるデータ伝達装置のデータ伝達の動作を示すタイムチャート図である。
【図３】実施の形態２にかかるデータ伝達装置の構成を示すブロック図である。
【図４】実施の形態２にかかるデータ伝達装置のデータ伝達の動作を示すタイムチャート図である。
【図５】出力側と入力側のクロック位相が異なる場合のデータ伝達について示すタイムチャート図である。
【図６】従来技術にかかるＦＩＦＯを用いたデータ伝達装置の構成を示すブロック図である。
【符号の説明】
１  出力デバイス
２  入力デバイス
３  クロック発信源
４、５、６、２１、２２  レジスタ
７、８、９、２３、２４  バッファ
１０、２５  出力セレクタ
１１、２６  入力セレクタ
【図１】
0003950661.tif 000002
【図２】
0003950661.tif 000003
【図３】
0003950661.tif 000004
【図４】
0003950661.tif 000005
【図５】
0003950661.tif 000006
【図６】
0003950661.tif 000007