(57)【要約】【課題】  データとともに入力される受信クロックの周波数とシステムクロックの周波数にずれがある場合にも正しくデータを受信する非同期データ受信回路を得る。【解決手段】  受信クロックの位相とシステムクロックに同期した正相クロックの位相の接近を判定し、受信クロックの位相とシステムクロックと逆位相の逆相クロックの位相の接近を判定するクロック位相判定部１４０と、正相クロックで受信データをサンプリングして取り込む受信データ正相サンプリング部１６１と、逆相クロックで受信データをサンプリングして取り込む受信データ逆相サンプリング部１６２と、クロック位相判定部１４０が受信クロックの位相と正相クロックの位相の接近を判定したとき受信データ逆相サンプリング部１６２の出力を選択し、受信クロックの位相と逆相クロックの位相の接近を判定したとき受信データ正相サンプリング部１６１の出力を選択するデータセレクタ１９０を備える。【選択図】          図１
2014138297.tif 000002
【特許請求の範囲】
【請求項１】
受信データとともに入力される受信クロックの位相とシステムクロックに同期した正相クロックの位相が予め定められた範囲に接近したこと、および前記受信クロックの位相と前記システムクロックと逆位相の逆相クロックの位相が予め定められた範囲に接近したこととを判定するクロック位相判定部と、
前記受信データを前記正相クロックでサンプリングして取り込む受信データ正相サンプリング部と、
前記受信データを前記逆相クロックでサンプリングして取り込む受信データ逆相サンプリング部と、
前記クロック位相判定部が前記受信クロックの位相と前記正相クロックの位相が接近したと判定したとき前記受信データ逆相サンプリング部の出力を選択し、前記クロック位相判定部が前記受信クロックの位相と前記逆相クロックの位相が接近したと判定したとき前記受信データ正相サンプリング部の出力を選択するデータセレクタと、
を備えた非同期データ受信回路。
【請求項２】
前記クロック位相判定部は、前記正相クロックから位相を規定された角度進めた正相進みガードクロックの位相が前記受信クロックの位相を追い越したこと、もしくは、前記正相クロックから位相を規定された角度遅らせた正相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出したときに前記受信クロックの位相と前記正相クロックの位相が接近したと判定し、また、前記逆相クロックから位相を規定された角度進めた逆相進みガードクロックの位相が前記受信クロックの位相を追い越したこと、もしくは、前記逆相クロックから位相を規定された角度遅らせた逆相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出したとき前記受信クロックの位相と前記逆相クロックの位相が接近したと判定し、
前記受信データ正相サンプリング部は、前記受信データを前記正相クロックでサンプリングしてさらに１以上の規定段数シフトした正相１シフトデータと、前記正相１シフトデータよりもシフト段数が１段少ない正相０シフトデータを出力し、
前記受信データ逆相サンプリング部は、前記受信データを前記逆相クロックでサンプリングしてさらに前記規定段数シフトした逆相１シフトデータと、前記逆相１シフトデータよりもシフト段数が１段多い逆相２シフトデータを出力し、
前記データセレクタは、前記正相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記正相進みガードクロックの位相が前記受信クロックの位相を追い越したことを検出すると、前記逆相１シフトデータに選択を切り替え、また、
前記逆相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記逆相進みガードクロックの位相が前記受信クロックの位相を追い越したことを検出すると、前記正相０シフトデータに選択を切り替え、また、
前記正相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記正相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出すると、前記逆相２シフトデータに選択を切り替え、また、
前記逆相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記逆相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出すると、前記正相１シフトデータに選択を切り替える、請求項１に記載の非同期データ受信回路。
【請求項３】
前記クロック位相判定部は、前記正相クロックから位相を規定された角度進めた正相進みガードクロックの位相が前記受信クロックの位相を追い越したことを検出したときに前記受信クロックの位相と前記正相クロックの位相が接近したと判定し、また、前記逆相クロックから位相を規定された角度進めた逆相進みガードクロックの位相が前記受信クロックの位相を追い越したことを検出したとき前記受信クロックの位相と前記逆相クロックの位相が接近したと判定し、
前記受信データ正相サンプリング部は、前記受信データを前記正相クロックでサンプリングしてさらに１以上の規定段数シフトした正相１シフトデータと、前記正相１シフトデータよりもシフト段数が１段少ない正相０シフトデータを出力し、
前記受信データ逆相サンプリング部は、前記受信データを前記逆相クロックでサンプリングしてさらに前記規定段数シフトした逆相１シフトデータを出力し、
前記データセレクタは、前記正相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記正相進みガードクロックの位相が前記受信クロックの位相を追い越したことを検出すると、前記逆相１シフトデータに選択を切り替え、また、
前記逆相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記逆相進みガードクロックの位相が前記受信クロックの位相を追い越したことを検出すると、前記正相０シフトデータに選択を切り替える、請求項１に記載の非同期データ受信回路。
【請求項４】
前記クロック位相判定部は、前記正相クロックから位相を規定された角度遅らせた正相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出したときに前記受信クロックの位相と前記正相クロックの位相が接近したと判定し、また、前記逆相クロックから位相を規定された角度遅らせた逆相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出したとき前記受信クロックの位相と前記逆相クロックの位相が接近したと判定し、
前記受信データ正相サンプリング部は、前記受信データを前記正相クロックでサンプリングしてさらに１以上の規定段数シフトした正相１シフトデータを出力し、
前記受信データ逆相サンプリング部は、前記受信データを前記逆相クロックでサンプリングしてさらに前記規定段数シフトした逆相１シフトデータと、前記逆相１シフトデータよりもシフト段数が１段多い逆相２シフトデータを出力し、
前記データセレクタは、前記正相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記正相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出すると、前記逆相２シフトデータに選択を切り替え、また、
前記逆相１シフトデータを選択しているときでかつ前記受信データが有効なデータであるときに、前記クロック位相判定部が、前記逆相遅れガードクロックの位相を前記受信クロックの位相が追い越したことを検出すると、前記正相１シフトデータに選択を切り替える、請求項１に記載の非同期データ受信回路。
【請求項５】
前記データセレクタは、前記正相０シフトデータを選択している場合に、前記受信データが無効なデータになると前記正相１シフトデータに選択を切り替え、また、前記逆相２シフトデータを選択している場合に、前記受信データが無効なデータになると前記逆相１シフトデータに選択を切り替え、また、前記受信データが無効なデータである間に、前記クロック位相判定部が、前記正相クロックと前記受信クロックの位相が接近したと判定したとき前記逆相１シフトデータに選択を切り替え、前記逆相クロックと前記受信クロックの位相が接近したと判定したとき前記正相１シフトデータに選択を切り替える、
請求項２から請求項４のいずれか１項に記載の非同期データ受信回路。
【請求項６】
前記正相進みガードクロックと前記逆相進みガードクロックと前記正相遅れガードクロックと前記逆相遅れガードクロックのうち、少なくともいずれか１つのクロックを生成するクロック生成回路を備える請求項２から請求項５のいずれか１項に記載の非同期データ受信回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クロックを伴う非同期データ伝送における受信側通信回路に関する。
【背景技術】
【０００２】
対向装置などが送信するクロックを伴うデータ（以降、受信データとも称す）を受信する場合、受信するクロック（以降、受信クロックとも称す）の周波数の２倍より高い周波数のクロックで受信データと受信クロックをサンプリングするか、或いは受信クロックを用いて受信データを２ポートメモリに書き込み、受信側回路のシステムクロックで２ポートメモリからデータを読み出す事でクロックを載せ替えるかの、何れかの方法を用いるのが一般的である。しかし、例えば安価で低速のＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、あるいは宇宙向けのような特殊用途のＦＰＧＡなどで受信回路を構成するとき、受信クロックの２倍より高い周波数のクロックを実装できず、また、必要な数の書き込みクロックを確保できない場合には、上記の方法を採用する事ができない。
【０００３】
このような問題を解決する方法として、特許文献１の方法が公開されている。特許文献１では、受信クロックとシステムクロックの排他論理和をシステムクロックと周波数が少し異なるクロックでサンプリングして、この排他論理和のＤｕｔｙ比を計測する事で位相のずれ量を測定し、システムクロックの正相で取り込むか逆相で取り込むかを選択する事で、受信クロックとシステムクロックに位相のずれがある場合にも正しく受信する非同期データを受信側回路に取り込めるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表平１１-５１４７６５３号公報（第２図）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１の方法では、受信クロックの周波数とシステムクロックの周波数が一致している事が前提となっており、受信クロックとシステムクロックの周波数にずれがある場合は正しくデータを受信できないという問題があった。
【０００６】
この発明は、上記の課題を解決するためになされたものであり、データとともに入力される受信クロックの周波数と受信側回路のシステムクロックの周波数にずれがある場合にも正しくデータを受信する非同期データ受信回路を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、受信データとともに入力される受信クロックの位相とシステムクロックに同期した正相クロックの位相が予め定められた範囲に接近したこと、および受信クロックの位相とシステムクロックと逆位相の逆相クロックの位相が予め定められた範囲に接近したこととを判定するクロック位相判定部と、受信データを正相クロックでサンプリングして取り込む受信データ正相サンプリング部と、受信データを逆相クロックでサンプリングして取り込む受信データ逆相サンプリング部と、クロック位相判定部が受信クロックの位相と正相クロックの位相が接近したと判定したとき受信データ逆相サンプリング部の出力を選択し、クロック位相判定部が受信クロックの位相と逆相クロックの位相が接近したと判定したとき受信データ正相サンプリング部の出力を選択するデータセレクタとを備えるようにしたものである。
【発明の効果】
【０００８】
この発明によれば、受信クロックの位相とシステムクロックの位相が接近する場合、すなわち受信データのデータ値変化タイミングに対応する受信クロックのエッジとシステムクロックに同期した正相クロックの受信データをサンプリングするエッジが接近する場合に事前にこれを検知して、システムクロックと逆位相の逆相クロックで受信データを取り込むようにし、また、受信クロックの位相と逆相クロックの位相が接近する場合、すなわち受信データのデータ値変化タイミングに対応する受信クロックのエッジと逆相クロックの受信データをサンプリングするエッジが接近する場合にも事前にこれを検知して、正相クロックで受信データを取り込むようにできるので、受信クロックの周波数とシステムクロックの周波数にずれがある場合に正しく受信データを取り込む事ができる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１に係る非同期データ受信回路の構成図である。
【図２】図１の非同期データ受信回路の各クロックの位相関係を示すタイミングダイアグラムである。
【図３】図１の非同期データ受信回路のクロック位相判定部１４０ａの動作を説明するタイミングダイアグラムである。
【図４】図１の非同期データ受信回路のクロック位相判定部１４０ｂの動作を説明するタイミングダイアグラムである。
【図５】図１の非同期データ受信回路の判定回路１８０の動作論理表である。
【図６】図１の非同期データ受信回路のデータセレクタ１９０の選択動作論理表である。
【図７】図１の非同期データ受信回路の各クロックと受信クロックの位相関係を示す２次元平面図である。
【図８】図１の非同期データ受信回路の動作を説明するタイミングダイアグラムである。
【図９】図１の非同期データ受信回路の動作を説明するタイミングダイアグラムである。
【図１０】図１の非同期データ受信回路の動作を説明するタイミングダイアグラムである。
【図１１】図１の非同期データ受信回路の動作を説明するタイミングダイアグラムである。
【発明を実施するための形態】
【００１０】
以下、この発明の実施の形態を、図を参照して説明する。なお、各図において同一もしくは相当する部分には同一の符号を付している。
実施の形態１．
図１はこの発明の実施の形態１に係る非同期データ受信回路の構成図である。図１において、非同期データ受信回路１は、受信する非同期データである受信データ２および非データに伴うクロックである受信クロック３が入力される。
【００１１】
また、非同期データ受信回路１には、受信側回路のシステムクロック４がクロック源（図示せず）から入力され、受信データ２が有効データであるフレーム区間と受信データ２が無効データであるギャップ区間を識別するフレーム有効フラグ５が有効データ判定部（図示せず）から入力される。ここではフレーム有効フラグ５は、フレーム区間において論理値１、ギャップ区間において論理値０を示すものとする。また、非同期データ受信回路１は出力データ６を出力する。
【００１２】
有効データ判定部は、受信データ２の伝送路のキャリア信号を検出する、あるいは有効データの前に送信されるプリアンブルやデリミタなどの特定符号を検出し、また、フレームとフレームの間に送信されるアイドルを示す特定符号を検出するなど、伝送媒体に応じた適切な手段を用いて構成すれば良い。
【００１３】
次に、非同期データ受信回路１の内部構成を説明する。クロック生成回路１００はシステムクロック４が入力され、システムクロック４に同期した正相クロック１１０、正相クロック１１０よりも位相が所定の角度進んだ正相進みガードクロック１１１、正相クロック１１０よりも位相が所定の角度遅れた正相遅れガードクロック１１２、正相クロック１１０と逆位相の逆相クロック１２０、正相進みガードクロック１１１と逆位相の逆相進みガードクロック１２１、正相遅れガードクロック１１２と逆位相の逆相遅れガードクロック１２２を出力する。ここで所定の角度は、例えばクロックの半周期の１０％として１８度とするなど、適用するシステムに応じて決定すればよい。クロック生成回路１００は図１に示すように例えば遅延回路とインバータにより構成することができる。
【００１４】
図２に正相クロック１１０、正相進みガードクロック１１１、正相遅れガードクロック１１２、逆相クロック１２０、逆相進みガードクロック１２１、逆相遅れガードクロック１２２と、システムクロック４の位相関係を図示する。
【００１５】
クロックサンプリング部１３０は、受信クロック３をそれぞれ正相進みガードクロック１１１、正相遅れガードクロック１１２、逆相進みガードクロック１２１、逆相遅れガードクロック１２２でサンプリングする。この実施の形態ではフリップフロップを使用して、４個のクロックサンプリング部（以降、ＣｋＦＦとも称す）１３０ａ〜１３０ｄで構成している。ＣｋＦＦ１３０ａ〜１３０ｄはＤ端子に受信クロック３が入力され、クロックにそれぞれ正相進みガードクロック１１１、正相遅れガードクロック１１２、逆相進みガードクロック１２１、逆相遅れガードクロック１２２が入力される。
【００１６】
クロック位相判定部１４０は、４個のガードクロック（正相進みガードクロック１１１、正相遅れガードクロック１１２、逆相進みガードクロック１２１、逆相遅れガードクロック１２２）の位相と受信クロック３の位相が接近したことを判定するブロックである。この実施の形態ではクロック位相判定部１４０ａ〜１４０ｄで構成しており、ＣｋＦＦ１３０ａ〜１３０ｄの出力がそれぞれ入力される。クロック位相判定部１４０ａ、１４０ｃは入力された信号の論理値１から論理値０への負の変化を検出する。一方、クロック位相判定部１４０ｂ、１４０ｄは入力された信号の論理値０から論理値１への正の変化を検出する。クロック位相判定部１４０ａ〜１４０ｄは例えば微分回路によって構成することができる。
【００１７】
図３にクロック位相判定部１４０ａの動作例を示す。受信クロック３をＣｋＦＦ１３０ａが正相進みガードクロック１１１でサンプリングするとき、ＣｋＦＦ１３０ａの出力は図３に示すタイミングで論理値１から論理値０に変化するので、クロック位相判定部１４０ａはこれを検出する。クロック位相判定部１４０ｃも同様の動作をする。また、図４にクロック位相判定部１４０ｂの動作例を示す。受信クロック３をＦＦ１３０ｂが正相遅れガードクロック１１２でサンプリングするとき、ＣｋＦＦ１３０ｂの出力は図４に示すタイミングで論理値０から論理値１に変化するので、クロック位相判定部１４０ｂはこれを検出する。クロック位相判定部１４０ｄも同様の動作をする。
【００１８】
ＯＲ回路１５１でクロック位相判定部１４０ａ、１４０ｂの各出力の論理和をとり、ＳＲフリップフロップ（以降、ＳＲＦＦとも称す）１７０のセット（Ｓ）端子に入力する。また、ＯＲ回路１５２でクロック位相判定部１４０ｃ、１４０ｄの各出力の論理和をとり、ＳＲＦＦ１７０のリセット（Ｒ）端子に入力する。ＳＲＦＦ１７０のクロックは正相クロック１１０を使用する。
【００１９】
受信データ正相サンプリング部１６１は受信データ２を正相クロック１１０でサンプリングして規定段数シフトする。受信データ逆相サンプリング部１６２は受信データ２を逆相クロック１２０でサンプリングして規定段数＋１段シフトする。この実施の形態ではいずれもフリップフロップを用いて構成している。この実施の形態の受信データ正相サンプリング部１６１および受信データ逆相サンプリング部１６２は、それぞれ受信データ正相サンプリング部（以降、ＰＤＦＦとも称す）１６１ａ〜１６１ｂと受信データ逆相サンプリング部（以降、ＮＤＦＦとも称す）１６２ａ〜１６２ｃで構成する規定段数が１の構成を示しているが、この発明はシフトする段数を制限するものではなく、非同期データ受信回路１内の動作タイミングを調整して規定段数を変更しても良い。
【００２０】
ＰＤＦＦ１６１ａはＤ端子に受信データ２が入力され、受信データ２を正相クロック１１０でサンプリングしたデータ（正相０シフトデータ）を出力する。
【００２１】
ＰＤＦＦ１６１ｂはＤ端子に正相０シフトデータ（ＰＤＦＦ１６１ａ出力）が入力され、正相０シフトデータを正相クロック１１０で１クロック遅延したデータ（正相１シフトデータ）を出力する。
【００２２】
ＮＤＦＦ１６２ａはＤ端子に受信データ２が入力され、受信データ２を逆相クロック１２０でサンプリングしたデータ（逆相０シフトデータ）を出力する。
【００２３】
ＮＤＦＦ１６２ｂはＤ端子に逆相０シフトデータ（ＮＤＦＦ１６２ａ出力）が入力され、逆相０シフトデータを逆相クロック１２０で１クロック遅延したデータ（逆相１シフトデータ）を出力する。
【００２４】
ＮＤＦＦ１６２ｃはＤ端子に逆相１シフトデータ（ＮＤＦＦ１６２ｂ出力）が入力され、逆相１シフトデータを逆相クロック１２０で１クロック遅延したデータ（逆相２シフトデータ）を出力する。
【００２５】
出力データ再同期部１６３は後述のデータセレクタ１９０ｃの出力を正相クロック１１０で再同期して出力データ６を出力する。この実施の形態ではフリップフロップを用いて構成している。
【００２６】
判定回路１８０は後述のデータセレクタ１９０ａ、１９０ｂを制御する。判定回路１８０はクロック位相判定部１４０ｂ、１４０ｃの出力と、ＳＲＦＦ１７０の出力と、フレーム有効フラグ５とを入力として、データセレクタ１９０ａ、１９０ｂの選択動作を決定する。
【００２７】
図５は判定回路１８０が行うデータセレクタ１９０ａ、１９０ｂの選択動作の制御の論理表である。なお、図５の表中でＸはその値が制御に影響しないことを示す。
【００２８】
データセレクタ１９０は、受信データ正相サンプリング部１６１の出力および受信データ逆相サンプリング部１６２の出力からいずれか１個を選択する。この実施の形態ではデータセレクタ１９０ａ〜１９０ｃで構成している。
【００２９】
データセレクタ１９０ａは正相０シフトデータ（ＰＤＦＦ１６１ａ出力）、正相１シフトデータ（ＰＤＦＦ１６１ｂ出力）が入力され、一方を選択して出力する。データセレクタ１９０ｂは逆相１シフトデータ（ＮＤＦＦ１６２ｂ出力）、逆相２シフトデータ（ＮＤＦＦ１６２ｃ出力）が入力され、一方を選択して出力する。
【００３０】
データセレクタ１９０ｃはデータセレクタ１９０ａの出力とデータセレクタ１９０ｂの出力からいずれか一方を選択して出力する。データセレクタ１９０ｃの選択動作の制御はＳＲＦＦ１７０の出力により行う。
【００３１】
図６はデータセレクタ１９０ａ、１９０ｂ、１９０ｃの真理値表である。選択動作を制御するＳ入力が論理値０のとき、ＳＥＬ出力には、Ａ入力の値が出力され、Ｓ入力が論理値１のとき、ＳＥＬ出力には、Ｂ入力の値が出力される。
【００３２】
図５の論理表、図６の真理値表に基づく判定回路１８０およびデータセレクタ１９０ａの動作は次のようである。図５に示す通り、フレーム有効フラグ５が論理値０である場合には、他の条件に関係なくデータセレクタ１９０ａのＳ入力は論理値０となる。これにより、データセレクタ１９０ａはＡ入力の正相１シフトデータ（ＰＤＦＦ１６１ｂの出力）を選択してＳＥＬ出力に出力する。すなわち、フレーム有効フラグ５が論理値０であるギャップ区間になると、正相１シフトデータ（ＰＤＦＦ１６１ｂの出力）がデータセレクタ１９０ｃに入力されるようになる。
【００３３】
一方、フレーム有効フラグ５が論理値１である場合には、ＳＲＦＦ１７０の出力が論理値０で、かつクロック位相判定部１４０ｃの出力が論理値１で、かつ現在の判定回路１８０のデータセレクタ１９０ａへの出力値が論理値０のとき、クロック位相判定部１４０ｂの出力値には関係なく、データセレクタ１９０ａのＳ入力は論理値１となる。これにより、データセレクタ１９０ａはＢ入力の正相０シフトデータ（ＰＤＦＦ１６１ａの出力）を選択する。判定回路１８０は、その他の組合せにおいては前値を保持して変更せず、データセレクタ１９０ａの選択も切り替わらない。
【００３４】
また、判定回路１８０およびデータセレクタ１９０ｂの動作は、フレーム有効フラグ５が論理値０である場合には、他の条件に関係なくデータセレクタ１９０ｂのＳ入力は論理値０となる。これにより、データセレクタ１９０ｂはＡ入力の逆相１シフトデータ（ＮＤＦＦ１６２ｂの出力）を選択してＳＥＬ出力に出力する。すなわち、ギャップ区間になると逆相１シフトデータ（ＮＤＦＦ１６２ｂの出力）がデータセレクタ１９０ｃに入力されるようになる。
【００３５】
一方、フレーム有効フラグ５が論理値１である場合には、ＳＲＦＦ１７０の出力が論理値１で、かつクロック位相判定部１４０ｂの出力が論理値１で、かつ現在の判定回路１８０のデータセレクタ１９０ｂへの出力値が論理値０のとき、クロック位相判定部１４０ｃの出力値には関係なく、データセレクタ１９０ｂのＳ入力は論理値１となる。これにより、データセレクタ１９０ｂはＢ入力の逆相２シフトデータ（ＮＤＦＦ１６２ｃの出力）を選択する。判定回路１８０は、その他の組合せにおいては前値を保持して変更せず、データセレクタ１９０ｂの選択も切り替わらない。
【００３６】
データセレクタ１９０ｃはＳＲＦＦ１７０の出力値により選択の制御が行われ、ＳＲＦＦ１７０の出力が論理値０の場合はデータセレクタ１９０ａの出力を選択し、論理値１の場合にはデータセレクタ１９０ｂの出力を選択する。
【００３７】
図７は正相クロック１１０の位相（図中２１０）と、正相進みガードクロック１１１の位相（図中２１１）、正相遅れガードクロック１１２の位相（図中２１２）、逆相クロック１２０の位相（図中２２０）、逆相進みガードクロック１２１の位相（図中２２１）、逆相遅れガードクロック１２２の位相（図中２２２）と、受信クロック３の位相（図中２３０）の関係を２次元平面に表した図である。
【００３８】
図７において、正相進みガードクロック１１１の位相２１１は正相クロック１１０の位相２１０に対して進んでおり、正相遅れガードクロック２１２の位相２１２は正相クロックの位相２１０に対して遅れている。また、逆相クロック１２０の位相２２０、逆相進みガードクロック１２１の位相２２１、逆相遅れガードクロック１２２の位相２２２は、それぞれ正相クロック１１０の位相２１０、正相進みガードクロック１１１の位相２１１、正相遅れガードクロック１１２の位相２１２と逆位相となっている。
【００３９】
一方、受信クロック３は通常システムクロック４とはクロックの発信源が異なり、発信源にはそれぞれ固有の周波数偏差が存在するため、受信クロック３とシステムクロック４は厳密には同一周波数ではない。従って、図７において受信クロック３の位相２３０は、受信クロック３の周波数がシステムクロック４の周波数より高い場合は反時計回りに、低い場合は時計回りに回転する。
【００４０】
正相クロック１１０で受信データ２を取り込んでいる場合には、受信クロック３の位相２３０が正相クロック１１０の位相２１０のポイントを通過するときに受信データ２の取り込み異常が発生する可能性がある。また、逆相クロック１２０で受信データ２を取り込んでいる場合には、受信クロック３の位相２３０が逆相クロック１２０の位相２２０のポイントを通過するときに受信データ２の取り込み異常が発生する可能性がある。
【００４１】
この発明に係る非同期データ受信回路によれば、非同期データとともにする受信クロックの位相がシステムクロックの位相およびシステムクロックを反転したクロックの位相と重なる前に、システムクロックおよびシステムクロックを反転したクロックそれぞれから位相を規定された角度ずらしたガードクロックによって接近を検知し、受信する非同期データを取り込むクロックを反対の位相に切り替えることで、受信するデータが安定している区間で受信するデータを取り込むことができる。
【００４２】
以下、図８から図１１を用いて、動作を説明する。
【００４３】
図８は、ＳＲＦＦ１７０が論理値０を出力し、データセレクタ１９０ａの出力がデータセレクタ１９０ｃで選択されている状態での有効データ受信中（有効データ受信中のときフレーム有効フラグ５はフレーム区間を示す論理値１である）に、クロック位相判定部１４０ａでＣｋＦＦ１３０ａの出力信号の論理値１から論理値０への負の変化を検出する場合の動作タイミング図である。図７において、受信クロック３の位相２３０が、正相進みガードクロック１１１の位相２１１のポイントを時計回りに通過する場合、すなわち正相進みガードクロック１１１の位相２１１が受信クロック３の位相２３０を追い越す場合に対応する。（ケース１とする）
はじめ、データセレクタ１９０ａは正相１シフトデータ（ＰＤＦＦ１６１ｂ出力）を選択して出力している。また、データセレクタ１９０ｂは逆相１シフトデータ（ＮＤＦＦ１６２ｂ出力）を選択して出力している。データセレクタ１９０ｃはデータセレクタ１９０ａの出力を選択している。
【００４４】
図８に示す通り、ＣｋＦＦ１３０ａの出力が論理値１から論理値０に変化して、クロック位相判定部１４０ａがこれを検出すると、ＳＲＦＦ１７０のセット端子への入力が論理値１となる。これにより、ＳＲＦＦ１７０の出力が論理値０から論理値１に変わり、データセレクタ１９０ｃはデータセレクタ１９０ｂの出力を選択するように切り替わる。この結果、図８に示す通り出力データ６は正常に受信データ２を取り込んだデータとなる。
【００４５】
図９は、ＳＲＦＦ１７０が論理値１を出力し、データセレクタ１９０ｂの出力がデータセレクタ１９０ｃで選択されている状態での有効データ受信中に、クロック位相判定部１４０ｃでＣｋＦＦ１３０ｃの出力信号の論理値１から論理値０への負の変化を検出する場合の動作タイミング図である。図７において、受信クロック３の位相２３０が、逆相進みガードクロック１２１の位相２２１のポイントを時計回りに通過する場合、すなわち逆相進みガードクロック１２１の位相２２１が受信クロック３の位相２３０を追い越す場合に対応する。（ケース２とする）
はじめ、データセレクタ１９０ａは正相１シフトデータ（ＰＤＦＦ１６１ｂの出力）を選択して出力している。また、データセレクタ１９０ｂは逆相１シフトデータ（ＮＤＦＦ１６２ｂの出力）を選択して出力している。データセレクタ１９０ｃはデータセレクタ１９０ｂの出力を選択している。
【００４６】
ＳＲＦＦ１７０の出力が論理値１の状態において、ＣｋＦＦ１３０ｃの出力が論理値１から論理値０に変化して、クロック位相判定部１４０ｃがこれを検出すると、データセレクタ１９０ａは正相０シフトデータ（ＰＤＦＦ１６０ａの出力）を選択して出力するように切り替わる。また、クロック位相判定部１４０ｃによるＣｋＦＦ１３０ｃの出力値変化検出の結果、ＳＲＦＦ１７０のリセット端子への入力が論理値１となり、ＳＲＦＦ１７０の出力が論理値１から論理値０に変わる。これにより、データセレクタ１９０ｃはデータセレクタ１９０ａの出力を選択するように切り替わる。この結果、図９に示す通り出力データ６は正常に受信データ２を取り込んだデータとなる。
【００４７】
図１０は、ＳＲＦＦ１７０が論理値０を出力し、データセレクタ１９０ａの出力がデータセレクタ１９０ｃで選択されている状態での有効データ受信中に、クロック位相判定部１４０ｂでＣｋＦＦ１３０ｂの出力信号の論理値０から論理値１への正の変化を検出する場合の動作タイミング図である。図７において、受信クロック３の位相２３０が、正相遅れガードクロック１１２の位相２１２のポイントを反時計回りに通過する場合、すなわち正相遅れガードクロック１１２の位相２１２を受信クロック３の位相２３０が追い越す場合に対応する。（ケース３とする）
はじめ、データセレクタ１９０ａは正相１シフトデータ（ＰＤＦＦ１６１ｂの出力）を選択して出力している。また、データセレクタ１９０ｂは逆相１シフトデータ（ＮＤＦＦ１６２ｂの出力）を選択して出力している。データセレクタ１９０ｃは正相取り込みデータセレクタ１９０ａの出力を選択している。
【００４８】
ＳＲＦＦ１７０の出力が論理値０の状態において、ＣｋＦＦ１３０ｂの出力が論理値０から論理値１に変化して、クロック位相判定部１４０ｂがこれを検出すると、データセレクタ１９０ｂは逆相２シフトデータ（ＮＤＦＦ１６２ｃの出力）を選択して出力するように切り替わる。また、クロック位相判定部１４０ｂによるＣｋＦＦ１３０ｂの出力値変化検出の結果、ＳＲＦＦ１７０のセット端子への入力が論理値１となり、ＳＲＦＦ１７０の出力が論理値０から論理値１に変わる。これにより、データセレクタ１９０ｃはデータセレクタ１９０ｂを選択するように切り替わる。この結果、図１０に示す通り出力データ６は正常に受信データ２を取り込んだデータとなる。
【００４９】
図１１は、ＳＲＦＦ１７０が論理値１を出力し、データセレクタ１９０ｂの出力がデータセレクタ１９０ｃで選択されている状態での有効データ受信中に、クロック位相判定部１４０ｄでＣｋＦＦ１３０ｄの出力信号の論理値０から論理値１への正の変化を検出する場合の動作タイミング図である。図７において、受信クロック３の位相２３０が、逆相遅れガードクロック１２２の位相２２２のポイントを反時計回りに通過する場合、すなわち逆相遅れガードクロック１２２の位相２２２を受信クロック３の位相２３０が追い越す場合に対応する。（ケース４とする）
はじめ、データセレクタ１９０ａは正相１シフトデータ（ＰＤＦＦ１６１ｂの出力）を選択して出力している。また、データセレクタ１９０ｂは逆相１シフトデータ（ＮＤＦＦ１６２ｂの出力）を選択して出力している。データセレクタ１９０ｃはデータセレクタ１９０ｂの出力を選択している。
【００５０】
図１１に示す通り、ＣｋＦＦ１３０ｄの出力が論理値０から論理値１に変化して、クロック位相判定部１４０ｄがこれを検出すると、ＳＲＦＦ１７０のリセット端子への入力が論理値１となる。これにより、ＳＲＦＦ１７０の出力が論理値１から論理値０に変わり、データセレクタ１９０ｃはデータセレクタ１９０ａを選択するように切り替わる。この結果、図１１に示す通り出力データ６は正常に受信データ２を取り込んだデータとなる。
【００５１】
上述のように、実施の形態１に示した非同期データ受信回路は、受信データとともに入力される受信クロックを、システムクロックに同期した正相クロックよりも位相が所定の角度進んだ正相進みガードクロックでサンプリングした信号の負の変化と、システムクロックと逆位相の逆相クロックよりも位相が所定の角度進んだ逆相進みガードクロックでサンプリングした信号の負の変化と、正相クロックよりも位相が所定の角度遅れた正相遅れガードクロックでサンプリングした信号の正の変化と、逆相クロックよりも位相が所定の角度遅れた逆相遅れガードクロックでサンプリングした信号の正の変化をそれぞれ検出するクロック位相判定部を備えるようにした。
【００５２】
また、受信データを正相クロックでサンプリングして取り込んだ正相０シフトデータと、１クロック遅延した正相１シフトデータを出力する受信データ正相サンプリング部と、受信データを逆相クロックでサンプリングして取り込んで、１クロック遅延した逆相１シフトデータと２クロック遅延した逆相２シフトデータを出力する受信データ逆相サンプリング部を備えるようにした。
【００５３】
また、受信データ正相サンプリング部が出力する２個のデータと受信データ逆相サンプリング部が出力する２個のデータから１個を選択して出力するデータセレクタを備えるようにした。
【００５４】
そしてデータセレクタは、正相１シフトデータを選択しているときでかつ受信データが有効なデータであるときに、クロック位相判定部が、正相進みガードクロックの位相が受信クロックの位相を追い越したことを検出すると、逆相１シフトデータに選択を切り替えるようにした。また、逆相１シフトデータを選択しているときでかつ受信データが有効なデータであるときに、クロック位相判定部が、逆相進みガードクロックの位相が受信クロックの位相を追い越したことを検出すると、正相０シフトデータに選択を切り替えるようにした。また、正相１シフトデータを選択しているときでかつ受信データが有効なデータであるときに、クロック位相判定部が、正相遅れガードクロックの位相を受信クロックの位相が追い越したことを検出すると、逆相２シフトデータに選択を切り替えるようにした。また、逆相１シフトデータを選択しているときでかつ受信データが有効なデータであるときに、クロック位相判定部が、逆相遅れガードクロックの位相を受信クロックの位相が追い越したことを検出すると、正相１シフトデータに選択を切り替えるようにした。
またデータセレクタは、受信データが無効データである場合には、クロック位相判定部が、正相進みガードクロックの位相が受信クロックの位相を追い越したこと、または、正相遅れガードクロックの位相を受信クロックの位相が追い越したことを検出すると、逆相１シフトデータを選択し、クロック位相判定部が、逆相進みガードクロックの位相が受信クロックの位相を追い越したこと、または、逆相遅れガードクロックの位相を受信クロックの位相が追い越したことを検出すると、正相１シフトデータを選択するようにした。
【００５５】
これにより、実施の形態１に示した非同期データ受信回路は、受信クロックの周波数とシステムクロックの周波数にずれがある場合に受信データを正常に取り込むことができる。
またデータセレクタは、正相０シフトデータを選択しているとき、受信データが無効データになると、正相１シフトデータを選択するようにした。また、逆相２シフトデータを選択しているときに受信データが無効データになると、逆相１シフトデータを選択するようにした。
これにより、実施の形態１に示した非同期データ受信回路は、受信クロックの周波数とシステムクロックの周波数にずれがある場合に継続して受信データを正常に取り込むことができる。
【００５６】
なお、実施の形態１に記載したケース１において、クロック位相判定部１４０ａでのＣｋＦＦ１３０ａの出力信号値の変化検出後に、クロック位相判定部１４０ｄがＣｋＦＦ１３０ｄの出力信号値の変化を検出する可能性があるが、そのような場合にはクロック位相判定部１４０ｄでの検出をＣｋＦＦ１３０ａの出力が論理値０の場合には無効にするなどにより保護すると良い。また、ケース２、ケース３、ケース４の場合も同様の保護をすると良い。
【００５７】
また、実施の形態１では、システムクロックの周波数が受信クロックの周波数よりも高い場合と低い場合の両方に対応可能な非同期データ受信回路の構成を示しているが、システムクロックの周波数が受信クロックの周波数よりも高い場合のみに対応するには、システムクロックとシステムクロックの逆相クロックのそれぞれから位相の進んだガードクロックを用いて非同期データ受信回路を構成しても良い。
【００５８】
反対に、システムクロックの周波数が受信クロックの周波数よりも低い場合のみに対応するには、システムクロックとシステムクロックの逆相クロックのそれぞれから位相の遅れたガードクロックを用いて非同期データ受信回路を構成しても良い。
【００５９】
また、実施の形態1では、受信データに並走する受信クロックを受信する場合について説明したが、受信データにクロックを再生する為のストローブ信号が並走する場合、再生されたクロックの周期は実際の受信データのクロックの周期の２倍となる。このような場合には、クロック位相判定部は２サイクル連続で同じ値を検出することによって信号変化を検出して、受信データをシステムクロックの正相クロックで取り込んだデータと逆相クロックで取り込んだデータの選択の切り替ができることは説明するまでもない。
【符号の説明】
【００６０】
１  非同期データ受信回路、２  受信データ、３  受信クロック、４  システムクロック、５  フレーム有効フラグ、６  出力データ、１１０  正相クロック、１１１  正相進みガードクロック、１１２  正相遅れガードクロック、１２０  逆相クロック、１２１  逆相進みガードクロック、１２２  逆相遅れガードクロック、１３０，１３０ａ〜１３０ｄ  クロックサンプリング部（ＣｋＦＦ）、１４０，１４０ａ〜１４０ｄ  クロック位相判定部、１５１〜１５２  ＯＲ回路、１６１，１６１ａ〜１６１ｂ  受信データ正相サンプリング部（ＰＤＦＦ）、１６２，１６２ａ〜１６２ｃ  受信データ逆相サンプリング部（ＮＤＦＦ）、１６３  出力データ再同期部、１７０  ＳＲフリップフロップ、１８０  判定回路、１９０，１９０a〜１９０ｃ  データセレクタ、２１０  正相クロック１１０の位相、２１１  正相進みガードクロック１１１の位相、２１２  正相遅れガードクロック１１２の位相、２２０逆相クロック１２０の位相、２２１  逆相進みガードクロック１２１の位相、２２２  逆相遅れガードクロック１２２の位相、２３０  受信クロック３の位相
【図１】
2014138297.tif 000003
【図２】
2014138297.tif 000004
【図３】
2014138297.tif 000005
【図４】
2014138297.tif 000006
【図５】
2014138297.tif 000007
【図６】
2014138297.tif 000008
【図７】
2014138297.tif 000009
【図８】
2014138297.tif 000010
【図９】
2014138297.tif 000011
【図１０】
2014138297.tif 000012
【図１１】
2014138297.tif 000013