本発明の実施の形態について、図面を参照して詳細に説明する。本発明は、シリアル通信において、受信したシリアルデータ信号のデータ幅が異なるなど信号波形が理想的な波形からずれた場合にも、エラーレートを低減することができる受信回路に関するものである。
本発明のシリアル信号受信回路は、アンプ回路、エッジ検出ラッチ、データ検出ラッチ、クロック発生回路、多相クロック発生回路、第1および第2のセレクタ、第1および第2のエッジ判定論理、整列回路を備える。アンプ回路は、シリアルデータ入力信号を受け取り、シリアルデータ入力信号に帯域制限をかけたり、受信したシリアルデータ信号を増幅したりする。エッジ検出ラッチおよびデータ検出ラッチは複数設けられており、それぞれ入力されるクロックにあわせてアンプ回路の出力を取り込み、“0”あるいは“1”を判定し出力する。クロック発生回路はデータレートの整数倍または整数分の1のクロックを発生する。多相クロック発生回路はクロックから多相クロックを発生する。
第1および第2のセレクタは、エッジ検出ラッチおよびデータ検出ラッチのそれぞれに供給するラッチ用クロックを多相クロックから選択する。第1および第2のエッジ判定論理は第1および第2のセレクタが多相クロックのうちの最適な相を選択できるように制御する。整列回路はデータ検出ラッチの出力をシリアルデータ入力信号のデータレートに合わせて並び替えシリアルデータ出力信号を出力する。またさらにエラーレート検出回路を備えることができ、エラーレート検出回路は整列回路の出力または、データ検出ラッチおよびエッジ検出ラッチの出力を観測してエラーレートを計算する。
その結果から第1および第2のエッジ判定論理は、エラーレートが最小になるように、多相クロックのうちの最適な相を選択することができる。このようにM*2個のデータ検出ラッチがM*2を周期としてデータを取り込むが、シリアル送信信号に現れる周期的なデータが有効な時間幅のずれに対してデータ検出の契機となるクロックをエラーレートが最小になるよう調整する。
図9〜図12に、受信回路におけるシリアルデータ信号とそれを受信するエッジ検出ラッチ、データ検出ラッチのクロックの相関関係を示すタイミング図を示す。高速シリアルデータ信号を送信する場合、送信回路が持つクロックのデューティ比が50:50から変動することにより、図9のシリアルデータ信号のように奇数番目と偶数番目のデータ有効期間が異なる波形になる場合が多い。例えば受信回路は、多相クロックのうちから最適なクロックを選択し、4組のエッジ検出ラッチ、4組のデータ検出ラッチをつかって受信する。この場合、図9のようにエッジ検出ラッチのクロック70〜73が真のデータのエッジからずれていても、各ずれ量a0〜a3がa0=a1=a2=a3となるようにエッジ検出ラッチのクロックの位相を調整する。さらにデータ検出ラッチのクロック80〜83がエッジ検出ラッチのクロック70〜73の立ち上がりエッジから有効期間の1/2で立上るように調整する。このようにエッジ検出ラッチと、データ検出ラッチのクロックを調整することで、全てのデータ検出ラッチはシリアルデータ信号の有効期間の中央を取り込み、エラーレートが最適となる。
さらに高速なシリアルデータ信号を送信するために、4相クロックを用いてシリアルデータ信号を送信することがあるが、この場合は図10のように4周期毎にデータの有効期間が広い場合と狭い場合が発生する。等間隔なエッジ検出ラッチのクロック70〜73の立ち上がりエッジと真のシリアルデータ信号のエッジのずれc0〜c3をc0=c1+c2+c3となるように調整する。さらにデータ検出ラッチのクロック80〜83の立ち上がりエッジと、エッジ検出ラッチのクロック70〜73の立ち上がりエッジとの差が有効期間の1/2になるように調整する。このようにエッジ検出ラッチと、データ検出ラッチのラッチ用クロックを調整したとしても、図10の「最悪マージン」のようにシリアルデータ信号のエッジとデータ検出ラッチのクロックエッジが最も接近した箇所が発生し、エラーレートが悪化する。
このような場合には、図11のようにエッジ検出ラッチのクロック70〜73のエッジが、シリアルデータ信号の真のエッジと揃うように調整するようにする。後述する図5〜7に示す受信回路は、エッジ検出ラッチのクロック70〜73の位相が等間隔でなくてもよい構成であり、個々のエッジに対応できる調整の手段を備えているものである。エッジ検出ラッチのクロック70〜73がシリアルデータ信号の真のエッジと揃うように調整するためには、エッジ検出ラッチが直前のデータを取り込んだか、直後のデータを取り込んだかを判定し、両者の頻度が等しくなるように調整する。図12のように直前のデータ側の真のエッジの幅と直後のデータ側のエッジの幅が異なる場合がある。図12に示すデータ検出ラッチのクロック81のように、エッジ検出ラッチクロック71とクロック72のエッジの差分の中央から意図的にずらした方が、エラーレートが改善する場合がある。図7に示す受信回路は、データ検出ラッチのクロック80〜83をエッジ検出ラッチのクロック71〜73のエッジからどのくらいずらせばエラーレートが最適となるかを測定する。エラーレートが最適になるデータ検出ラッチのクロック80〜83の位相を決定する手段を備えているものである。
本発明においては、M*2個のエッジ検出ラッチと、データ検出ラッチとを備え、多相クロックとしてN相のクロックを用いることとする。またさらに、L個の冗長なデータ検出ラッチを備え、(M*2+L)個のデータ検出ラッチとすることができる。受信回路をこのように構成し、エッジ検出ラッチと、データ検出ラッチのクロックを調整することでエラーレートを最適とすることができる。
以下に、具体的な実施例を用いて本発明を実施するための最良の形態の構成及び動作を、M=2、N=64、L=1として説明する。しかし、M、N、LはM≧2、N≧4、L≧1を満たす整数であればそれ以外の値でも構わない。
(実施例1)
図1は、本発明の第1の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路10、クロック分配回路11、1ビットの受信回路112〜115、シリアルデータ入力信号90〜93、シリアルデータ出力信号95〜98を備える。1ビットの受信回路112は、クロック分配回路20、多相クロック発生回路21、セレクタ22、23、エッジ判定論理24、25、エッジ検出ラッチ30〜33、データ検出ラッチ34〜37、アンプ回路29、整列回路26、インバータ12〜15を備える。1ビットの受信回路112〜115は、同一の構成であり、それぞれに入力されるシリアルデータ入力信号90〜93と、出力されるアル出力信号95〜98信号が異なるだけであることから、1ビットの受信回路112のみの構成を図示、説明するものとする。
クロック発生回路10は、シリアルデータ入力信号のデータレートの整数倍または整数分の1のクロックを発生する。本発明ではシリアルデータ入力信号のデータレートと同じレートのクロックを発生させる。クロック分配回路11は、クロック発生回路10からのクロック40を1ビットの受信回路112〜115のそれぞれに分配する。
1ビットの受信回路112は、シリアルデータ入力信号90が入力され、シリアルデータ出力信号95を出力する。アンプ回路29は、シリアルデータ信号90を受け取り、増幅したアンプ出力信号99を、エッジ検出ラッチ回路30〜33、データ検出ラッチ回路34〜37に出力する。クロック分配回路20は、クロック分配回路11からのクロック41を入力され、クロック50を多相クロック発生回路21、エッジ判定論理24、25、整列回路26へ出力する。多相クロック発生回路21は、入力されたクロック50からシリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロック(600〜663)を発生する。周期4(M*2)×分割数16相のクロックを発生する必要があるが、ここでは半分の32相を生成し、残りの32相は前者32相の反転論理を用いることとした。本実施例1においては、セレクタの出力するクロックをインバータ回路12〜15で反転させることから、前者32相のみを生成し、後者の32相は生成しなくてもよい。従って、図1では、32相の多相クロック(600〜631)が生成され、生成された多相クロックがセレクタ22、23に出力されている。
エッジ判定論理24、25は、エッジ検出ラッチからの出力75〜78と、データ検出ラッチからの出力85〜88と、クロック50とを入力され、最適な多相クロックを選択するように、セレクタ22、23を調整する。セレクタ22は、エッジ判定論理24からの制御信号51に基づいて最適な多相クロックを選択し、エッジ検出ラッチ30、31、インバータ12、13に対しエッジ検出ラッチのラッチ用クロック70、71を出力する。クロック70と71は、シリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。インバータ12、13は、入力されたエッジ検出ラッチのクロック70、71のそれぞれを反転し、エッジ検出ラッチのラッチ用クロック72、73として、エッジ検出ラッチ32、33に出力する。
セレクタ23は、エッジ判定論理25からの制御信号52に基づいて最適な多相クロックを選択し、データ検出ラッチ34、35、インバータ14、15に対しデータ検出ラッチのラッチ用クロック80、81を出力する。インバータ14、15は、入力されたデータ検出ラッチのラッチ用クロック80、81のそれぞれを反転し、データ検出ラッチのラッチ用クロック82、83として、データ検出ラッチ36、37に出力する。ここでは、インバータ12〜15を用いて、クロック70、71、80、81を反転したクロック72、73、82、83を発生している。しかし、1つの信号を2本以上の配線で実現する多線式論理を用いる場合は、第1〜4のインバータ12〜15が生成する信号は、多線信号のいずれかで代用し第1〜4のインバータを省略することができる場合がある。
エッジ検出ラッチ30〜33は、エッジ検出ラッチのラッチ用クロック70、71、72、73に基づいて、アンプ出力信号99をラッチする。データ検出ラッチ34〜37は、データ検出ラッチのラッチ用クロック80、81、82、83に基づいて、アンプ出力信号99をラッチする。またデータ検出ラッチのクロック80〜83はクロック70〜73とシリアルデータ信号の有効期間の1/2ずれるよう調整されている。整列回路26は、データ検出ラッチ34〜37からの出力85〜88をクロック50に合わせて整列し、シリアルデータ出力信号95を出力する。
上記した受信回路の動作について、受信回路の基本動作について図8のタイミング図を見ながら説明する。タイミング図には、クロック50、多相クロック600〜631、シリアルデータ信号のアンプ出力信号99、エッジ用クロック70〜73、そのエッジ検出ラッチの出力75〜78、データ用クロック80〜83、そのデータ検出ラッチの出力85〜88、シリアルデータ出力信号95を示している。
クロック50は、シリアルデータ信号のデータレートと同じデータレートであり、多相クロック600〜631は、シリアルデータ信号の有効期間の4(=M*2)倍を周期としている。多相クロック600〜631は、シリアルデータ信号の有効期間の4倍のうちの前半2倍分に相当するものであり、残り後半の多相クロック632〜663は前半の多相クロック600〜631の反転信号であることから、図示していない。
1ビット受信回路112に入力されたシリアルデータ信号90はアンプ回路29で増幅されアンプ出力信号99となる。4個のエッジ検出ラッチ31〜33は、それぞれクロック70〜73により駆動されている。クロック70〜73は、それぞれシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。エッジ検出ラッチ31〜33からの出力75〜78は、クロックの立ち上がりエッジで取り込まれることから、シリアルデータ信号の有効期間の4(=M*2)倍を周期としている。
4個のデータ検出ラッチ34〜37は、それぞれクロック80〜83により駆動されている。図に示すようにクロック70〜73及びクロック80〜83のそれぞれは、シリアルデータ信号の有効期間とほぼ同じ期間ずれ、クロック70〜73と、クロック80〜83とは、シリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されている。しかしクロック70〜73及びクロック80〜83のそれぞれは、その位相差を独立して設定することもできる。データ検出ラッチ34〜37からの出力85〜88は、クロックの立ち上がりエッジで取り込まれることから、シリアルデータ信号の有効期間の4(=M*2)倍を周期としている。データ整列回路はデータ検出ラッチの出力85〜88を整列し、シリアルデータ出力信号95を出力する。
第1のエッジ判定論理24は、データ検出ラッチの出力85〜88を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチの出力75〜78とデータ検出ラッチの出力85〜88からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか、遅かったかを判定する。4つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ22を調整し、適切な多相クロックを選ぶ。同様に第2のエッジ判定論理は、セレクタ23を調整しセレクタ22の出力とセレクタ23の出力がシリアルデータ信号の有効期間の1/2ずれるように設定する。つまりエッジ検出ラッチのクロックは、シリアルデータ信号のエッジに同期できるようにシリアルデータ信号の有効期間ずれるように設定する。データ検出ラッチのクロックは、シリアルデータ信号の有効期間の中央に同期できるように、ラッチ検出ラッチのクロックよりシリアルデータ信号の有効期間の1/2ずれるように設定する。
図9は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。ここで図9〜12に示すシリアルデータ信号は、例えばアンプ出力99とする。またエッジ検出ラッチのクロック70〜73、データ検出ラッチのクロック80〜83は、クロックの立ち上がりエッジの位置を示している。第1、3番目のエッジ検出ラッチ30、32のクロック70、72はそれぞれa0、a2だけシリアルデータ信号のエッジより早く到達し、第2、4番目のエッジ検出ラッチ31、33のクロック71、73はa1、a3だけシリアルデータ信号のエッジより遅く到達している。シリアルデータ信号の奇数番目、偶数番目のデータ有効期間が異なる場合、a0=a2、a1=a3であり、エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちa0=a2=a1=a3となるようにエッジ判定論理はセレクタ22、23を調整する。このときデータ検出ラッチのクロックは図9のようにシリアルデータ信号の有効期間の中央に位置しており、エラーレートが最小になる。
本実施例においては、シリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロックを用いる。多相クロック発生回路は、リアルデータ信号の有効期間の前半2倍周期分の多相クロックを発生させ、発生させた前半2倍周期分の多相クロックを反転させることで有効期間の後半2倍周期分の多相クロックとする。エッジ検出ラッチおよびデータ検出ラッチのクロックとして前半2倍周期分の多相クロックから選択し、後半2倍周期分の多相クロックは前半2倍周期分の多相クロックのインバータで反転させた信号とする。エッジ検出ラッチのクロックとシリアルデータ信号のエッジを合わせて、データ検出ラッチのクロックのエッジをシリアルデータ信号の有効期間の中央に位置させて、シリアルデータ信号を取り込む。本実施例によれば、シリアルデータ信号のエラーレートを小さくできる受信回路が得られる。
(実施例2)
図2は、本発明の第2の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路10、クロック分配回路11、1ビットの受信回路112〜115、シリアルデータ入力信号90〜93、シリアルデータ出力信号95〜98を備える。1ビットの受信回路112は、クロック分配回路20、多相クロック発生回路21、セレクタ22、23、エッジ判定論理24、25、エッジ検出ラッチ30〜33、データ検出ラッチ34〜37、アンプ回路29、整列回路26、インバータ12〜13を備える。
図2の示す受信回路の構成は、実施例1における図1に対して、データ検出ラッチへのクロックの供給手段が異なっている。実施例2においては、データ検出ラッチ36、37へのクロック82、83を供給するインバータ14、15が省略され、データ検出ラッチ34〜37へのクロック80〜83は、全て、セレクタ23から供給されている。実施例1におけるクロック80と82、81と83は、インバータで反転させることから固定された位相差を有し、自由な位相差を有するクロックの関係ではなかった。
しかし、本実施例の多相クロック発生回路21は64相の多相クロック600〜663を発生し、セレクタ22、23に供給する。セレクタ22は実施例1と同じく、32相の多相クロック600〜631のなかから、2つのクロック70、71を選択し、インバータで反転させ、クロック72、73とする。一方セレクタ23では、64相の多相クロック600〜663のなかから、4つのクロック80〜83を選択する。そのためクロック80〜83は、全て独立して自由な位相差を有するクロックとすることができる。その他の構成は実施例1(図1)と同じであることから、その説明を省略する。
図2に示すシリアル信号受信回路の基本動作について図8、図10のタイミング図を参照して説明する。多相クロック発生回路10はシリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロック(600〜631)を発生する。周期4(M*2)×分割数16相のクロックを発生する必要があるが、ここでは半分の32相を生成し、残りの32相は前者32相の反転論理を用いて発生することとした。そのため図8においては、前半32相のみを図示している。
4個のエッジ検出ラッチ30〜33を備え、それぞれクロック70〜73により駆動されている。セレクタ22は64相クロックからクロック70、71を選択し出力する。クロック72、73は、インバータ12、13によりクロック70〜71を反転したクロックである。またクロック70と71はシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。またデータ検出ラッチのクロック80〜83はクロック70〜73とシリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路はデータ検出ラッチの出力85〜88を整列し、シリアルデータ出力信号95を出力する。
また第1のエッジ判定論理24は、データ検出ラッチの出力85〜88を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチの出力75〜78とデータ検出ラッチの出力85〜88からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。4つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ22を調整し、適切な多相クロックを選ぶ。同様に第2のエッジ判定論理25は、セレクタ23を調整しセレクタ22の出力とセレクタ23の出力が一定値の位相差になるように設定するが、位相差はシリアルデータ信号の有効期間の1/2に固定せず自由に選べるようにする。
図10は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとのタイミングの相関関係を示す図である。第1のエッジ検出ラッチのクロックはc0だけシリアルデータ信号のエッジより早く到達し、第2、3、4番目のエッジ検出ラッチのクロックはc1、c2、c3だけシリアルデータ信号のエッジより遅く到達している。エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちc0=c1+c2+c3となるようにエッジ判定論理24、25はセレクタ22、23を調整する。
このとき仮に、図10のようにデータ検出ラッチのクロックをエッジ検出ラッチからシリアルデータ信号の有効期間の1/2ずれるように設定すると、図中の「最悪マージン」のタイミングでデータ検出ラッチのクロックとシリアルデータ入力信号のエッジが接近し、エラーレートが悪化する。そこで、データ検出ラッチのクロック80〜83とエッジ検出ラッチのクロックの位相差をシリアルデータ信号の有効期間の1/2と固定せず、可変とする。例えばデータ検出ラッチのクロック82の位相を有効期間の1/2より早くし、シリアルデータ信号をラッチしやすくする。このようにデータ検出ラッチのクロックを、独立して調整することで、シリアルデータを確実の取り込むことでエラーレートを小さくすることができる。
本実施例においては、データ検出ラッチのクロックとして4倍周期分の多相クロックから独立して自由に選択できる。エッジ検出ラッチのクロックとシリアルデータ信号のエッジを合わせて、データ検出ラッチのクロックのエッジをシリアルデータ信号の有効期間内の自由な位置とし、シリアルデータ信号を取り込む。本実施例によれば、シリアルデータ信号のエラ−レートを小さくできる受信回路が得られる。
(実施例3)
図3は、本発明の第3の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路10、クロック分配回路11、1ビットの受信回路112〜115、シリアルデータ入力信号90〜93、シリアルデータ出力信号95〜98を備える。1ビットの受信回路112は、クロック分配回路20、多相クロック発生回路21、セレクタ22、23、エッジ判定論理24、25、エッジ検出ラッチ30〜33、データ検出ラッチ34〜37、アンプ回路29、整列回路26、インバータ12〜13、エラーレート検出回路27を備える。
図3に示す受信回路の構成は、実施例2(図2)に対して、エラーレート検出回路27が追加されている。実施例3のエラーレート検出回路27は、整列回路26からのシリアルデータ出力信号95とクロック分配回路20からのクロック50とを入力とし、エッジ判定論理24、25へ出力する。エラーレート検出回路27は、シリアルデータ出力信号95を入力とし、エラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。このエラーレートをエッジ判定論理24、25にフィードバックし、エッジ判定論理24、25が最適なクロックを選択する。その他の構成は実施例2(図2)と同じであることから、その説明を省略する。
図3に示すシリアル信号受信回路の基本動作について図8、図10のタイミング図を参照して説明する。多相クロック発生回路10は、シリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロック(600〜631)を発生する。周期4(M*2)×分割数16相のクロックを発生する必要があるが、ここでは半分の32相を生成し、残りの32相は前者32相の反転論理を用いて発生することとした。そのため図8においては、前半32相のみを図示している。
4個のエッジ検出ラッチ30〜33を備え、それぞれクロック70〜73により駆動されている。セレクタ22は、64相クロックからクロック70、71を出力するが、クロック72〜73は、インバータ12、13によるクロック70〜71の反転信号である。またクロック70と71はシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。またデータ検出ラッチのクロック80〜83はクロック70〜73とシリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路26はデータ検出ラッチの出力85〜88を、クロック50に従って整列し、シリアルデータ出力信号95を出力する。
第1のエッジ判定論理24は、データ検出ラッチ34〜37の出力85〜88を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチ30〜33の出力75〜78とデータ検出ラッチ34〜37の出力85〜88からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。4つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ22を調整し、適切な多相クロックを選ぶ。同様に第2のエッジ判定論理25は、エラーレート検出回路27がセレクタ23を調整しセレクタ22の出力とセレクタ23の出力が一定値の位相差になるように設定するが、位相差はシリアルデータ信号の有効期間の1/2に固定することなく、エラーレートが最小になるよう設定する。
図10は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。第1のエッジ検出ラッチ24のクロックはc0だけシリアルデータ信号のエッジより早く到達し、第2、3、4番目のエッジ検出ラッチのクロックはc1、c2、c3だけシリアルデータ信号のエッジより遅く到達している。エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちc0=c1+c2+c3となるようにエッジ判定論理はセレクタ22、23を調整する。このとき仮に、図10のようにデータ検出ラッチのクロックをエッジ検出ラッチのクロックからシリアルデータ信号の有効期間の1/2ずれるように設定すると、図中の「最悪マージン」のタイミングでデータ検出ラッチのクロックとシリアルデータ入力信号のエッジが接近し、エラーレートが悪化する。そこで、データ検出ラッチのクロック80〜83とエッジ検出ラッチのクロック70〜73の位相差をシリアルデータ信号の有効期間の1/2と固定せず、可変とする。
エラーレートが最小となるデータ検出ラッチのクロック80〜83とエッジ検出ラッチのクロック70〜73の位相差を求めるには以下の手順を行う。あらかじめ取り決めた送信データ列を繰り返し受信し、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。次にデータ検出ラッチのクロック80とエッジ検出ラッチのクロック70〜73の位相差を変化させエラーレートが最小になる点を探す。続いてクロック81、82、83に対して同様の処理を行い、更に信号80、81、82、83に対して同様の処理を1回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
本実施例においてはエラーレート検出回路を備え、受信回路はあらかじめ取り決めた送信データ列を繰り返し受信し、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。次にそれぞれのデータ検出ラッチのクロックとエッジ検出ラッチのクロックの位相差を変化させエラーレートが最小になる点を探す。本実施例によれば、シリアルデータ信号のエラーレートを小さくできる受信回路が得られる。
(実施例4)
図4は、本発明の第4の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路10、クロック分配回路11、1ビットの受信回路112〜115、シリアルデータ入力信号90〜93、シリアルデータ出力信号95〜98を備える。1ビットの受信回路112は、クロック分配回路20、多相クロック発生回路21、セレクタ22、23、エッジ判定論理24、25、エッジ検出ラッチ30〜33、データ検出ラッチ34〜38、アンプ回路29、整列回路26、インバータ12〜13、エラーレート検出回路27を備える。
図4の示す受信回路の構成は、実施例3におけるブロック図3に対して、データ検出ラッチ38が追加されている。セレクタ23からはデータ検出ラッチ38用のクロック84が追加出力される。データ検出ラッチ38は、クロック84によりアンプ出力信号99を取り込み、出力89をエラーレート検出回路27に出力する。データ検出ラッチ38は冗長なデータ検出ラッチであり、この冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差によるエラーレートを判定し、エラーレートを小さくするように最適なクロックの位相を調整する。冗長なデータ検出ラッチは、それぞれのデータ検出ラッチと比較調整することで、エラーレートを小さくできる。その他の構成は実施例3(図3)と同じであることから、その説明を省略する。
図4に示すシリアル信号受信回路の基本動作について、図8、図10のタイミング図を参照して説明する。多相クロック発生回路10は、シリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロック(600〜631)を発生する。周期4(M*2)×分割数16相の合計64相のクロックを発生する必要があるが、ここでは半分の32相を生成し、残りの32相は前者32相の反転論理を用いることとした。そのため図8においては、前半の2倍周期分である32相のみを図示している。
4個のエッジ検出ラッチを備え、それぞれクロック70〜73により駆動されている。セレクタ22は64相クロックからクロック70、71を発生するが、クロック72〜73はクロック70〜71の反転信号である。またクロック70と71はシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。またデータ検出ラッチのクロック80〜83はクロック70〜73とシリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路26はデータ検出ラッチの出力85〜88を整列し、シリアルデータ出力信号95を出力する。
第1のエッジ判定論理24は、データ検出ラッチ34〜37の出力85〜88を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチ30〜33の出力75〜78とデータ検出ラッチの出力85〜88からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか、遅かったかを判定する。4つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ22を調整し、適切な多相クロックを選ぶ。同様に第2のエッジ判定論理25は、エラーレート検出回路27がセレクタ23を調整しセレクタ22の出力とセレクタ23の出力が一定値の位相差になるように設定するが、位相差はシリアルデータ信号の有効期間の1/2に固定せず、エラーレートが最小になるよう設定する。
図10は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。第1のエッジ検出ラッチ24のクロック70はc0だけシリアルデータ信号のエッジより早く到達し、第2、3、4番目のエッジ検出ラッチのクロック71、72、73はc1、c2、c3だけシリアルデータ信号のエッジより遅く到達している。エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちc0=c1+c2+c3となるようにエッジ判定論理はセレクタ22、23を調整する。このとき仮に、図10のように、データ検出ラッチのクロックをエッジ検出ラッチからシリアルデータ信号の有効期間の1/2ずれるように設定すると、図中の「最悪マージン」のタイミングでデータ検出ラッチのクロックとシリアルデータ入力信号のエッジが接近し、エラーレートが悪化する。そこで、データ検出ラッチのクロック80〜83とエッジ検出ラッチのクロック70〜73の位相差をシリアルデータ信号の有効期間の1/2と固定せず、可変とする。
エラーレートが最小となるデータ検出ラッチのクロック80〜83とエッジ検出ラッチのクロック70〜73の位相差を求めるには以下の手順を行う。受信回路はデータ列(あらかじめ取り決めた送信データ列である必要はない)を受信する。エラーレート検出回路27は、第2のエッジ判定論理25、第2のセレクタ23を介して冗長なデータ検出ラッチ38を駆動するクロック84の位相を早く、または遅くする。クロック84の位相を調整し、データ検出ラッチ34と冗長なデータ検出ラッチ38が同じ値を取り込むクロック84の位相範囲を判定する。クロック84の位相範囲の平均値または予め取り決めた値または割合だけ平均値から早めた、あるいは遅らせた位相にクロック80の位相を合わせる。このために予め定めた期間を要する。
次に、データ検出ラッチ35のクロックに対し、同様な位相合わせを行い、クロック84の位相範囲を判定し、その平均値または予め取り決めた値または割合だけ平均値から早めた、あるいは遅らせた位相にクロック81の位相を合わせる。続いてクロック82、83に対して同様の処理を行いクロック82、83の位相を更新する。更に信号80、81、82、83に対して同様の処理を1回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
クロック84と冗長なデータ検出ラッチ38は一定期間またはエラーレートが所望の特性を達成するまで動作させるが、その後は停止してもよい。もしくは連続的または断続的に前記の手順を行うことで温度変化、経年変化によって生じるエラーレート劣化を改善するようクロック80〜83の位相を更新することができる。
本実施例は、冗長なデータ検出ラッチを設け、冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差を判定し、最適なクロックの位相を調整することで、エラーレートを小さくしている。
(実施例5)
図5は、本発明の第5の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路10、クロック分配回路11、1ビットの受信回路112〜115、シリアルデータ入力信号90〜93、シリアルデータ出力信号95〜98を備える。1ビットの受信回路112は、クロック分配回路20、多相クロック発生回路21、セレクタ22、23、エッジ判定論理24、25、エッジ検出ラッチ30〜33、データ検出ラッチ34〜37、アンプ回路29、整列回路26を備える。
図5の示す受信回路の構成は、実施例1における図1に対して、エッジ検出ラッチとデータ検出ラッチへのクロックの供給手段が異なっている。実施例5においては、クロック72、73、82、83を供給するインバータ12、13、14、15が省略され、エッジ検出ラッチ30〜33と、データ検出ラッチ34〜37への全てのクロックは、セレクタ22、23から直接供給されている。本実施例の多相クロック発生回路21は64相の多相クロック600〜663を発生し、セレクタ22、23に供給する。セレクタ22、23は、64相の多相クロック600〜663のなかから、それぞれ4つのクロック70〜73、80〜83を選択する。そのためクロック70〜73、80〜83は、全て独立して自由な位相差を有するクロックとすることができる。その他の構成は実施例1(図1)と同じであることから、その説明を省略する。
本実施例のエッジ検出ラッチとデータ検出ラッチのクロックは、全てセレクタ22、23から出力されており、すべて位相差が異なるクロックとして独立して、選択することができる。その他の構成は実施例1(図1)と同じであることから、その説明を省略する。
図5に示すシリアル信号受信回路の基本動作について図8、図10のタイミング図を参照して説明する。多相クロック発生回路10は、シリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロック(600〜631)を発生する。周期4(M*2)×分割数16相のクロックを発生する必要があるが、ここでは半分の32相を生成し、残りの32相は前者32相の反転論理を用いて発生することとした。そのため図8においては、前半32相のみを図示している。
4個のエッジ検出ラッチ30〜33を備え、それぞれクロック70〜73により駆動されている。クロック70〜73はシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整されているが、位相差を独立に調整することができる。またデータ検出ラッチのクロック80〜83はクロック70〜73とシリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路26はデータ検出ラッチの出力85〜88を整列し、シリアルデータ出力信号95を出力する。
また第1のエッジ判定論理24は、データ検出ラッチ34〜37の出力85〜88を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチの出力75〜78とデータ検出ラッチの出力85〜88からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。第2のエッジ判定論理25は、データ検出ラッチのクロック80〜83が、エッジ検出ラッチのクロック70〜73の中央より早かったか遅かったかを判定する。
図10は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。エッジ検出ラッチのクロック70〜73の位相差がシリアルデータのデータ有効期間と同じ値で固定の場合、エッジ検出ラッチ24の第1のクロックはc0だけシリアルデータ信号のエッジより早く到達している。エッジ検出ラッチ24の第2、3、4番目のクロックはc1、c2、c3だけシリアルデータ信号のエッジより遅く到達している(図10)。ここでエッジ検出ラッチのクロックを独立に調整し、c0=0、c1=0、c2=0、c3=0とすることで、シリアルデータ信号のエッジを正しく認識する。
第2のエッジ判定論理25は、セレクタ23を調整し、エラーレートを最小化できるようにデータ検出ラッチ34〜37のクロック80〜83を設定する。クロック80〜83と、エッジ検出ラッチのクロック70〜73との位相差を、シリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。データ検出ラッチ34〜37のクロック80〜83がシリアルデータ信号の有効期間のほぼ中央になるように設定することでエラーレートを最小化できる。
また図10で「最悪マージン」と書いたエッジ検出ラッチのクロックとデータ検出ラッチのクロックの位相差の最小値によってエラーレートが決まるため、全てのデータ検出ラッチのクロックの位相を最適化する必要はなく、最小となる隣接するエッジ検出用クロック位相差に挟まれたデータ検出ラッチのクロックに注力して最適化すればよい。
本実施例において、エッジ検出ラッチとデータ検出ラッチのクロックは、64相の多相クロックから選択され、セレクタ22、23から供給される。そのためクロックの位相が自由に最適化できることから、シリアルデータ信号のエッジを正しく認識できる。またデータ検出ラッチのクロックも、エッジ検出ラッチのクロックに対して自由に最適化できることからエラーレートを最小化できる。
(実施例6)
図6は、本発明の第6の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路10、クロック分配回路11、1ビットの受信回路112〜115、シリアルデータ入力信号90〜93、シリアルデータ出力信号95〜98を備える。1ビットの受信回路112は、クロック分配回路20、多相クロック発生回路21、セレクタ22、23、エッジ判定論理24、25、エッジ検出ラッチ30〜33、データ検出ラッチ34〜37、アンプ回路29、整列回路26、エラーレート検出回路27を備える。
図6の示す受信回路の構成は、実施例5における図5に対して、エラーレート検出回路27が追加されている。エラーレート検出回路27は、整列回路26からのシリアルデータ出力信号95とクロック分配回路20からのクロック50とエッジ検出ラッチの出力75〜78とを入力とし、出力信号55をエッジ判定論理24、25へ出力する。その他の構成は実施例5(図5)と同じであることから、その説明を省略する。
図5に示すシリアル信号受信回路の基本動作について図8、図10のタイミング図を参照して説明する。多相クロック発生回路10は、シリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロック(600〜631)を発生する。周期4(M*2)×分割数16相のクロックを発生する必要があるが、ここでは半分の32相を生成し、残りの32相は前者32相の反転論理を用いることとした。そのため図8においては、前半32相のみを図示している。
4個のエッジ検出ラッチを備え、それぞれクロック70〜73により駆動されている。クロック70〜73はシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整されているが、位相差を独立に調整することができる。またデータ検出ラッチのクロック80〜83はクロック70〜73とシリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路はデータ検出ラッチの出力85〜88を整列し、シリアルデータ出力信号95を出力する。
第1のエッジ判定論理24は、データ検出ラッチの出力85〜88を観測し有効なエッジを検出する。また第1のエッジ判定論理24は、エッジ有効期間のエッジ検出ラッチの出力75〜78とデータ検出ラッチの出力85〜88からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。
図10は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。エッジ検出ラッチのクロック70〜73の位相差がシリアルデータのデータ有効期間と同じ値で固定の場合、エッジ検出ラッチの第1のクロックはc0だけシリアルデータ信号のエッジより早く到達し、エッジ検出ラッチの第2、3、4番目のクロックはc1、c2、c3だけシリアルデータ信号のエッジより遅く到達している(図10)。ここでエッジ検出ラッチのクロックを独立に調整し、c0=0、c1=0、c2=0、c3=0とすることでシリアルデータ信号のエッジを正しく認識する。
第2のエッジ判定論理25は、セレクタ23を調整し、エラーレートを最小化できるようにデータ検出ラッチ34〜37のクロック80〜83を設定する。クロック80〜83と、エッジ検出ラッチのクロック70〜73との位相差を、シリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。データ検出ラッチ34〜37のクロック80〜83がシリアルデータ信号の有効期間のほぼ中央になるように設定することでエラーレートを最小化できる。
エラーレートが最小となるデータ検出ラッチのクロック80〜83、エッジ検出ラッチのクロック70〜73の位相を求めるには以下の手順を行う。あらかじめ取り決めた送信データ列を繰り返し受信し、エッジ検出ラッチ30が取り込んだ出力信号75が、クロックエッジの前である頻度とクロックエッジの後である頻度が同じになるように第1のエッジ判定論理24はクロック70の位相を調整する。クロックエッジの前であるか、後であるかは出力信号75とデータ検出ラッチの出力信号85〜88を比較することで判断する。またデータ検出ラッチの出力信号85〜88を観測し、着目するエッジの前後でデータが変化しない場合はカウントしない。同様にクロック71〜73を調整する。
次に第2のエッジ判定論理25は、第1エッジ判定論理24と同様に出力信号75〜78、85〜88を観測する。データ検出ラッチに配るクロック80〜83の位相差が、エッジ検出ラッチのクロック70〜73からシリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。続いて信号80、81、82、83に対して同様の処理を1回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
エラーレート検出回路は、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出し、エッジ判定論理24、25を制御する。エッジ検出ラッチのクロック70〜73とクロック80〜83の位相差(一定値もしくは一定割合)を調整することでエラーレートを改善することができる。
本実施例においてはエラーレート検出回路を備え、受信回路はあらかじめ取り決めた送信データ列を繰り返し受信し、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。次にそれぞれのデータ検出ラッチのクロックとエッジ検出ラッチのクロックの位相差を変化させエラーレートが最小になる点を探す。本実施例によれば、シリアルデータ信号のエラーレートが小さな受信回路が得られる。
(実施例7)
図7は、本発明の第7の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路10、クロック分配回路11、1ビットの受信回路112〜115、シリアルデータ入力信号90〜93、シリアルデータ出力信号95〜98を備える。1ビットの受信回路112は、クロック分配回路20、多相クロック発生回路21、セレクタ22、23、エッジ判定論理24、25、エッジ検出ラッチ30〜33、データ検出ラッチ34〜38、アンプ回路29、整列回路26、エラーレート検出回路27を備える。
図7の示す受信回路の構成は、実施例6における図6に対して、データ検出ラッチ38が追加されている。セレクタ23からはデータ検出ラッチ38用のクロック84が追加出力される。データ検出ラッチ38は、クロック84によりアンプ出力信号99を取り込み、出力89をエラーレート検出回路27に出力する。データ検出ラッチ38は冗長なデータ検出ラッチであり、この冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差によるエラーレートを判定し、エラーレートを小さくするように最適なクロックの位相を調整する。冗長なデータ検出ラッチは、それぞれのデータ検出ラッチと比較調整することで、エラーレートを小さくできる。その他の構成は実施例6(図6)と同じであることから、その説明を省略する。
図7に示すシリアル信号受信回路の基本動作について図8、図10のタイミング図を参照して説明する。多相クロック発生回路10は、シリアルデータ信号の有効期間の4(=M*2)倍を周期とし、シリアルデータ信号の有効期間を16等分する多相クロック(600〜631)を発生する。周期4(M*2)×分割数16相のクロックを発生する必要があるが、ここでは半分の32相を生成し、残りの32相は前者32相の反転論理を用いることとした。図8には前半の32相の多相クロック(600〜631)のみを示している。
4個のエッジ検出ラッチ30〜33を備え、それぞれクロック70〜73により駆動されている。クロック70〜73はシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整されているが、位相差を独立に調整することができる。またデータ検出ラッチ34〜37のクロック80〜83はクロック70〜73とシリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されているが、位相差は独立に調整できる。またデータ検出ラッチ38は、調整用のための冗長なデータ検出ラッチである。データ整列回路はデータ検出ラッチの出力85〜88を整列し、シリアルデータ出力信号95を出力する。
第1のエッジ判定論理24は、データ検出ラッチ34〜37の出力85〜88を観測し有効なエッジを検出する。また第1のエッジ判定論理24は、エッジ有効期間のエッジ検出ラッチの出力75〜78とデータ検出ラッチの出力85〜88からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか、遅かったかを判定する。
図10は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。エッジ検出ラッチ30〜33のクロック70〜73の位相差がシリアルデータのデータ有効期間と同じ値で固定の場合、第1のエッジ検出ラッチのクロック70はc0だけシリアルデータ信号のエッジより早く到達している。第2、3、4番目のエッジ検出ラッチのクロック71、72、73はc1、c2、c3だけシリアルデータ信号のエッジより遅く到達している(図10)。ここでエッジ検出ラッチのクロックを独立に調整し、c0=0、c1=0、c2=0、c3=0とすることでシリアルデータ信号のエッジを正しく認識する。
第2のエッジ判定論理25は、セレクタ23を調整し、エラーレートを最小化できるようにデータ検出ラッチ34〜37のクロック80〜83を設定する。クロック80〜83と、エッジ検出ラッチのクロック70〜73との位相差を、シリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。データ検出ラッチ34〜37のクロック80〜83がシリアルデータ信号の有効期間のほぼ中央になるように設定することでエラーレートを最小化できる。
エラーレートが最小となるデータ検出ラッチのクロック80〜83とエッジ検出ラッチのクロック70〜73の位相差を求めるには以下の手順を行う。まずエッジ検出ラッチ30が取り込んだ出力75が、クロックの前である頻度とクロックの後である頻度が同じになるように第1のエッジ判定論理はクロック70の位相を調整する。クロックの前であるか、後であるかはエッジ検出ラッチの出力75とデータ検出ラッチの出力85〜88を比較することで判断する。また出力85〜88を観測し、着目するエッジの前後でデータが変化しない場合はカウントしない。同様にクロック71〜73を調整する。
次にデータ列(あらかじめ取り決めた送信データ列である必要はない)を受信する。最初にデータ検出ラッチ34と冗長なデータ検出ラッチ38が同じ値を取り込むクロック84の位相範囲を判定する。エラーレート検出回路27は、第2のエッジ判定論理25、第2のセレクタ23を介して冗長なデータ検出ラッチ38を駆動するクロック84の位相を早くしたり、あるいは遅くしたり調整する。このようにエラーレート検出回路27は、データ検出ラッチ34と冗長なデータ検出ラッチ38が同じ値を取り込むクロック84の位相範囲を判定する。その平均値または予め取り決めた値または割合だけ平均値から早くしたり、あるいは遅くしたりした位相にクロック80の位相を合わせる。このために予め定めた期間を要する。
次に、データ検出ラッチ35と冗長なデータ検出ラッチ38が同じ値を取り込むクロック84の位相範囲を判定する。冗長なデータ検出ラッチ38を駆動するクロック84の位相を早くしたり、あるいは遅くしたりしてデータ検出ラッチ35と冗長なデータ検出ラッチ38が同じ値を取り込むクロック84の位相範囲を判定する。その平均値または予め取り決めた値または割合だけ平均値から早くしたり、あるいは遅くしたりした位相にクロック81の位相を合わせる。続いてクロック82、83に対して同様の処理を行いクロック82、83の位相を更新する。更にクロック80、81、82、83に対して同様の処理を1回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
クロック84と冗長なデータ検出ラッチ38は一定期間またはエラーレートが所望の特性を達成するまで動作させるが、その後は停止してもよい。もしくは連続的または断続的に前記の手順を行うことで温度変化、経年変化によって生じるエラーレート劣化を改善するようクロック80〜83の位相を更新することができる。
本実施例では、さらに冗長なデータ検出ラッチを設け、冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差を判定し、最適なクロックの位相を調整することで、エラーレートを小さくできる。本実施例によれば、シリアルデータ信号のエラーレートを小さくできる受信回路が得られる。
本発明の受信回路は、クロックから多相クロックを生成し、エッジ検出ラッチおよびデータ検出ラッチのクロックを生成した多相クロックから選択する。エッジ検出ラッチのクロックはシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整される。またデータ検出ラッチのクロックは、エッジ検出ラッチのクロックとシリアルデータ信号の有効期間のほぼ1/2ずれるよう調整されている。
M*2個のエッジ検出ラッチでシリアルデータ信号のエッジに合わせ、M*2個のデータ検出ラッチでシリアルデータ信号の有効期間のほぼ1/2の位置でデータをラッチする。M*2個データ検出ラッチが、M*2を周期としてデータを取り込むが、シリアルデータ信号に現れる周期的なデータが有効な時間幅のずれに対してデータ検出の契機となるクロックをエラーレートが最小になるよう調整する。整列回路はデータ検出ラッチの出力を入力シリアルデータ信号のデータレートに合わせて並び替え出力データ信号を出力する。
またさらにエラーレート検出回路を備えることができる。エラーレート検出回路は、整列回路の出力または、データ検出ラッチおよびエッジ検出ラッチの出力を観測してエラーレートを計算することができる。このように、少なくともM*2個のエッジ検出ラッチとデータ検出ラッチを備え、M*2を周期としてデータを取り込むクロックを、多相クロックのなかから最適なクロックを選択することで、データエラーレートが小さな受信回路が得られる。
本発明の効果は、送信波形に規則的な波形のずれが生じても、受信回路のデータ用クロックの位相を最適化することによりエラーレートを最小化できることにある。本発明の第2のセレクタはデータ用クロックを発生するが、従来はエッジ用の第1のセレクタと位相が180度ずれた位相を供給していた。しかし本発明では第2のセレクタと第1のセレクタの位相を自由に設定できるため、エラーレートを最適化できる。
また本発明では、第2のセレクタはデータ用ラッチに供給する全てのクロックの位相を独立に調整することもできるため、送信信号の理想波形からのずれにおいて様々なずれに対応することが可能であり、エラーレートを最小化することができる。
さらに本発明では、あらかじめ取り決めたトレーニングパターンを用いてエラーレートが最小となるデータ用クロックのエッジを探す手段を提供することができる。また通常の通信を行いながら、冗長に設けたラッチでエラーレートが最小となるデータ用クロックのエッジを探す手段を提供することができる。
本発明においては、エッジ検出ラッチの数より少ないクロックを出力し、インバータで作成した(2線論理の場合は正負反転した)信号をエッジ検出ラッチに配ることでクロック数を削減することができる。さらに、それぞれエッジ検出ラッチに配られる全クロックの位相を独立に調整する手段を備えることができる。さらに、それぞれエッジ検出ラッチに配られる全クロックの位相を独立に調整する手段と、エッジ検出ラッチの出力を考慮しながらエラーレート検出を行うエラーレート検出回路を備えることができる。
以上、実施の形態例、実施例として本願発明を説明したが、本願発明は上記の実施形態例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で様々な変更をすることができる。