一実施形態では、図1に示すように、データ通信システムが、送信装置1と受信装置2とを備えている。本実施形態では、データ通信システムが、MIPI C-PHY規格に準拠して動作するが、これに限定されない。送信装置1は、レーン3を介して受信装置2に接続されている。一実施形態では、送信装置1と受信装置2とが別々の半導体チップに集積化されてもよい。
このデータ通信システムでは、レーン3が、3本のワイヤA、B、Cを含んでいる。ワイヤA、B、Cのそれぞれは、3つの電位を取ることが許容されている。以下では、これらの3つの電位を、それぞれ、“H”、“M”、“L”と記載する。データ伝送が行われる場合、各UI(unit interval)において、ワイヤA、B、Cのうちの1つが“H”レベルに設定され、他の1つが“M”レベルに設定され、残りの1つが“L”レベルに設定される。したがって、ワイヤA、B、Cの電位の組み合わせの総数は6である。各UIに伝送されるシンボルは、ワイヤA、B、Cの電位の組み合わせで表現される。以下において、ワイヤA、B、Cの電位を、それぞれ、VA、VB、VCと記載することがある。
図2に示すように、或るシンボルを送信した後に次のシンボルを送信する場合、ワイヤA、B、Cの電位VA、VB、VCは、該或るシンボルの送信時における電位VA、VB、VCとの組み合わせとは異なる組み合わせに遷移する。図3には、或るシンボルの送信時にワイヤA、B、Cの電位VA、VB、VCがそれぞれ“H”、“M”、“L”レベルであった場合に、次のシンボルの送信時におけるワイヤA、B、Cの電位VA、VB、VCに起こり得る遷移の全ての組み合わせが重ねて図示されている。
MIPI C-PHY規格に準拠したデータ通信では、ワイヤA、Bの電位差VA-VB、ワイヤB、Cの電位差VB-VC及びワイヤC、Aの電位差VC-VAに基づいて生成された3つのシングルエンド信号が3つの差動レシーバにより生成され、該3つのシングルエンド信号をラッチすることでデータが受信される。該3つのシングルエンド信号のラッチは、3つのシングルエンド信号から再生された再生クロック信号に同期して行われる。
電位差VA-VB、VB-VC、VC-VAの可能な遷移を示す図4を参照して、電位差VA-VB、VB-VC、VC-VAのそれぞれは、"strong 1"、"weak 1"、"weak 0"、"strong 0"の4つの状態を取り得る。これら4つの状態のうち、"strong 1"、"weak 1"が論理値“1”に対応しており、"weak 0"、"strong 0"が論理値“0”に対応している。
"strong 1"は、電位差VA-VB、VB-VC、VC-VAが、絶対値が相対的に大きい正電圧になる状態である。例えば、電位VAが“H”レベルであり、電位VBが“L”レベルである場合、電位差VA-VBは、"strong 1"状態になる。
"weak 1"は、電位差VA-VB、VB-VC、VC-VAが、絶対値が相対的に小さな正電圧になる状態である。例えば、電位VA、VBがそれぞれ“H”レベル、“M”レベルである場合、及び、電位VA、VBがそれぞれ“M”レベル、“L”レベルである場合、電位差VA-VBは、"weak 1"状態になる。
"weak 0"は、電位差VA-VB、VB-VC、VC-VAが、絶対値が相対的に小さい負電圧になる状態である。例えば、電位VA、VBがそれぞれ“M”レベル、“H”レベルである場合、及び、電位VA、VBがそれぞれ“L”レベル、“M”レベルである場合、電位差VA-VBは、"weak 0"状態になる。
最後に、"strong 0"は、電位差VA-VB、VB-VC、VC-VAが、絶対値が相対的に大きい負電圧になる状態である。例えば、電位VA、VBがそれぞれ“L”レベル、“H”レベルである場合、電位差VA-VBは、"strong 0"状態になる。
以下において、電位差の絶対値が相対的に小さい2つの状態”weak 0”及び”weak 1”を総称して状態”weak”と呼び、電圧の絶対値が相対的に大きい2つの状態”strong0”及び”strong 1”を総称して状態”strong”と呼ぶことがある。
シンボルの送信毎に、電位差VA-VB、VB-VC、VC-VAは、"strong 1"、"weak 1"、"weak 0"、"strong 0"の間で遷移する。論理値が“1”と“0”の間で遷移する場合、差VA-VB、VB-VC、VC-VAにゼロクロスが発生する。ゼロクロスが発生するタイミングは、ゼロクロスタイミングと呼ばれる。上述の再生クロック信号は、差VA-VB、VB-VC、VC-VAのゼロクロスタイミングに同期して生成される。
MIPI C-PHY規格による通信では、電位差VA-VB、VB-VC、VC-VAのゼロクロスタイミングが、原理的に、3種類に分散する。ゼロクロスタイミングは、"weak 1"から"strong 0"への遷移、及び、"weak 0"から"strong 1"への遷移において最も早い。このゼロクロスタイミングを、以下では、"Fast"と記載する。"strong 1"から"weak 0"への遷移、及び、"weak 1"から"strong 0"への遷移では、ゼロクロスタイミングが最も遅い。このゼロクロスタイミングを、以下では、"Slow"と記載する。"weak 0"と"weak 1"の間の遷移、及び、"strong 0"と"strong 1"との間の遷移では、ゼロクロスタイミングは中間的である。このゼロクロスタイミングを、以下では、"Mid"と記載する。
電位差VA-VB、VB-VC、VC-VAに対応する3つのシングルエンド信号から再生クロック信号を再生する構成では、ゼロクロスタイミングが分散すると、再生クロック信号のクロックパルスの生成タイミングも分散する。これは、データ有効ウインドウを減少させ得る。以下に詳細に述べられるように、本実施形態の受信装置2は、ゼロクロスタイミングの分散によるデータ有効ウインドウの減少を抑制するように構成される。
図5に示す一実施形態では、受信装置2が、入力端子111~113と、差動レシーバ121~123と、遅延補償回路131~133と、ホールド遅延回路141~143と、ラッチ151~153と、クロック再生回路16とを備えている。
入力端子111~113は、それぞれワイヤA、B、Cに接続されており、ワイヤA、B、C上を伝送される信号を送信装置1から受け取る。
差動レシーバ121~123は、それぞれ、電位差VA-VB、VB-VC、VC-VAに対応するシングルエンド信号SA-B、SB-C、SB-Cを生成する。詳細には、差動レシーバ121は、ワイヤAが接続される第1入力とワイヤBが接続される第2入力とを有しており、電位差VA-VBに対応する論理値を有するシングルエンド信号SA-Bを出力する。同様に、差動レシーバ122は、ワイヤBが接続される第1入力とワイヤCが接続される第2入力とを有しており、電位差VB-VCに対応する論理値を有するシングルエンド信号SB-Cを出力する。差動レシーバ123は、ワイヤCが接続される第1入力とワイヤAが接続される第2入力とを有しており、電位差VC-VAに対応する論理値を有するシングルエンド信号SC-Aを出力する。シングルエンド信号SA-Bは、ワイヤA、Bの電位差VA-VBが"strong 1"又は"weak 1"である場合に論理値“1”を取り、"strong 0"又は"weak 0"である場合に論理値“0”を取る。シングルエンド信号SB-C、SC-Aについても同様である。
遅延補償回路131~133は、上述されたゼロクロスタイミングの分散を補償するような遅延をシングルエンド信号SA-B、SB-C、SB-Cに与えるように構成されている。本実施形態では、遅延補償回路131が、遅延回路211と、セレクタ241と、XOR回路251とを備えている。遅延回路211は、シングルエンド信号SA-Bを遅延時間DAだけ遅延するように構成されている。セレクタ241は、差動レシーバ121の出力に接続された入力D0と、遅延回路211の出力に接続された入力D1を有している。セレクタ241は、差動レシーバ121から受け取ったシングルエンド信号SA-Bと遅延回路211の出力信号とのいずれかを、XOR回路251の出力信号に応じて選択し、選択した信号を出力する。
遅延補償回路132、133も同様に構成されている。遅延補償回路132は、遅延回路212と、セレクタ242と、XOR回路252とを備えており、遅延補償回路133は、遅延回路213と、セレクタ243と、XOR回路253とを備えている。遅延回路212、213の遅延時間は、DAである。遅延補償回路131~133の動作の詳細については、後に説明する。遅延補償回路131~133から出力されるシングルエンド信号を、以下では、それぞれ、補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)と記載する。
ホールド遅延回路141~143は、それぞれ、ラッチ151~153のホールド時間を確保できるような遅延を、補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)に与えるように構成されている。ホールド遅延回路141~143から出力されるシングルエンド信号は、ワイヤA、B、Cから差動レシーバ121~123に現に入力されている信号により伝送されるシンボルの前のシンボルの論理値を表しており、それぞれ、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)、Prev(C-A)と記載する。
ラッチ151~153は、それぞれ、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)、Prev(C-A)をクロック再生回路16から供給される再生クロック信号RCLKに同期してラッチし、ラッチした論理値を有するラッチデータ信号Data(A-B)、Data(B-C)、Data(C-A)を出力する。
クロック再生回路16は、遅延補償回路131~133から出力される補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)を受け取ってクロック再生を行い、再生クロック信号RCLKを生成する。生成された再生クロック信号RCLKは、ラッチ151~153に供給される。一実施形態では、クロック再生回路16は、補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)が反転したタイミングのうち最先のタイミングに同期して再生クロック信号RCLKのクロックパルスを出力するように構成されてもよい。
ゼロクロスタイミングの分散を補償するために、本実施形態では、各シンボルの受信において用いられる遅延補償回路131~133の遅延時間が、それぞれ、各シンボルの直前に伝送されるシンボルの受信における電位差VA-VB、VB-VC、VC-VAに応じて制御される。より具体的には、あるシンボルの受信において用いられる遅延補償回路131の遅延時間は、その前に伝送されるシンボルの受信における電位差VA-VBが、”weak”、”strong”のいずれであるかに応じて制御される。同様に、あるシンボルの受信において用いられる遅延補償回路132の遅延時間は、その前に伝送されるシンボルの受信における電位差VB-VCが、”weak”、”strong”のいずれであるかに応じて制御され、あるシンボルの受信において用いられる遅延補償回路133の遅延時間は、その前に伝送されるシンボルの受信における電位差VC-VAが、”weak”、”strong”のいずれであるかに応じて制御される。このような制御は、以下に述べられるような考察に基づくものである。
図6に示す表から理解されるように、電位差VA-VB、VB-VC、VC-VAのゼロクロスタイミングは、前シンボル及び現シンボルの受信における電位差VA-VB、VB-VC、VC-VAのそれぞれが、”weak”及び”strong”のいずれであるかに依存している。電位差VA-VBについて説明すると、前シンボル及び現シンボルの受信における電位差VA-VBがいずれも”weak”である場合、及び、いずれも”strong”である場合、電位差VA-VBのゼロクロスタイミングは”Mid”である。前シンボルの受信における電位差VA-VBが”strong”であり、現シンボルの受信における電位差VA-VBが”weak”である場合、電位差VA-VBのゼロクロスタイミングは”Slow”である。また、前シンボルの受信における電位差VA-VBが”weak”であり、現シンボルの受信における電位差VA-VBが”strong”である場合、電位差VA-VBのゼロクロスタイミングは”Fast”である。電位差VB-VC、VC-VAについても同様である。
本実施形態では、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”及び”strong”のいずれであるかに依存して遅延補償回路131~133の遅延時間が制御される。
詳細には、図7に示すように、前シンボルの受信における電位差VA-VBが”weak”である場合、遅延補償回路131はシングルエンド信号SA-Bを遅延時間DAだけ遅延して得られる信号を補償後シングルエンド信号Comp(A-B)として出力する。このような動作は、遅延補償回路131のセレクタ241が遅延回路211の出力信号を選択することで実現される。一方、前シンボルの受信における電位差VA-VBが”strong”である場合、遅延補償回路131は差動レシーバ121から受け取ったシングルエンド信号SA-Bをそのまま補償後シングルエンド信号Comp(A-B)として出力する。
このような動作によれば、電位差VA-VBのゼロクロスタイミングの分散を補償しながら補償後シングルエンド信号Comp(A-B)を生成することができる。例えば、タイミング"Fast"とタイミング"Mid"との間の時間差とタイミング"Mid"とタイミング"Slow"との間の時間差が同一である場合、遅延回路211の遅延時間DAを、該時間差に一致させることで、電位差VA-VBの実効的なゼロクロスタイミングが"Mid"と"Slow"の2種類であるような補償後シングルエンド信号Comp(A-B)を生成することができる。タイミング"Fast"とタイミング"Mid"との間の時間差とタイミング"Mid"とタイミング"Slow"との間の時間差が同一でない場合でも、遅延時間DAを適正に設定することで、例えば、タイミング"Fast"とタイミング"Mid"との間の時間差とタイミング"Mid"とタイミング"Slow"との間の時間差の平均に設定することで電位差VA-VBのゼロクロスタイミングの分散を補償することができる。
遅延補償回路132、133の遅延時間も同様にして制御される。前シンボルの受信における電位差VB-VCが”weak”である場合、遅延補償回路132はシングルエンド信号SB-Cを遅延時間DAだけ遅延して得られる信号を補償後シングルエンド信号Comp(B-C)として出力する。一方、前シンボルの受信における電位差VB-VCが”strong”である場合、遅延補償回路132は差動レシーバ122から受け取ったシングルエンド信号SB-Cをそのまま補償後シングルエンド信号Comp(B-C)として出力する。また、前シンボルの受信における電位差VC-VAが”weak”である場合、遅延補償回路133はシングルエンド信号SC-Aを遅延時間DAだけ遅延して得られる信号を補償後シングルエンド信号Comp(C-A)として出力する。一方、前シンボルの受信における電位差VC-VAが”strong”である場合、遅延補償回路133は差動レシーバ123から受け取ったシングルエンド信号SC-Aをそのまま補償後シングルエンド信号Comp(C-A)として出力する。このような動作によれば、ゼロクロスタイミングの分散を補償しながら補償後シングルエンド信号Comp(B-C)、Comp(C-A)を生成することができる。
本実施形態では、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”、”strong”のいずれであるかが、電位差VA-VB、VB-VC、VC-VAを直接検出するのではなく、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)、Prev(C-A)の論理演算によって算出される。以下では、論理演算による電位差VA-VB、VB-VC、VC-VAの状態の判別について記述する。
図8を参照して、ワイヤA、B、Cが、“H”、“M”、“L”から選択された互いに異なる電位を取ることから、ワイヤA、B、Cの可能な状態は、6つある。これらの状態を、それぞれ、状態#1~#6と記載する。例えば、状態#1は、ワイヤA、B、Cが、それぞれ、電位“H”、“M”、“L”である状態を意味している。
あるシンボルの受信において電位差VA-VBが”weak”、”strong”のいずれであるかは、該シンボルの受信において差動レシーバ122、123から出力されるシングルエンド信号SB-C、SC-Aの論理値から判別可能である。電位差VA-VBが”weak”である場合、ワイヤA、Bのいずれか一方が、電位“M”を取る。これは、ワイヤB、Cの電位差VB-VCに対応するシングルエンド信号SB-Cの論理値と、ワイヤC、Aの電位差VC-VAに対応するシングルエンド信号SC-Aの論理値のうちの一方が“1”であり、他方が“0”であることを意味している。例えば、ワイヤAが電位“M”を取る場合、ワイヤA、B、Cは、状態#3、#4のいずれかである。状態#3では、シングルエンド信号SB-C、SC-Aが、それぞれ、“1”、“0”であり、状態#4では、シングルエンド信号SB-C、SC-Aが、それぞれ、“0”、“1”である。よって、シングルエンド信号SB-C、SC-Aの論理値の排他的論理和が“1”であれば、電位差VA-VBが”weak”であると判断できる。
同様に、電位差VB-VCが”weak”、”strong”のいずれであるかは、該シンボルの受信において差動レシーバ123、121から出力されるシングルエンド信号SC-A、SA-Bの論理値から判別可能である。シングルエンド信号SC-A、SA-Bの論理値の排他的論理和が“1”であれば、電位差VB-VCが”weak”であると判断できる。
更に、電位差VC-VAが”weak”、”strong”のいずれであるかは、該シンボルの受信において差動レシーバ121、122から出力されるシングルエンド信号SA-B、SB-Cの論理値から判別可能である。シングルエンド信号SA-B、SB-Cの論理値の排他的論理和が“1”であれば、電位差VC-VAが”weak”であると判断できる。
以上の議論から理解されるように、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”、”strong”のいずれであるかは、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)、Prev(C-A)の論理演算によって判別可能である。図5に示す遅延補償回路131、132、133は、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)、Prev(C-A)から前シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”及び”strong”のいずれであるかを判別し、それぞれの遅延時間を制御するように構成されている。
詳細には、遅延補償回路131の遅延時間は、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)に応じて制御される。遅延補償回路131のXOR回路251は、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)に基づいて前シンボル状態信号Weak_P(A-B)を生成する状態判別回路として動作する。前シンボル状態信号Weak_P(A-B)は、電位差VA-VBの状態、具体的には、電位差VA-VBが”weak”、”strong”のいずれであるかを示している。前シンボル状態信号Weak_P(A-B)は、前シンボルシングルエンド信号Prev(B-C)、Prev(C-A)の排他的論理和の論理値を有しており、前シンボルの受信における電位差VA-VBが”weak”である場合、論理値“1”を取る。
前シンボル状態信号Weak_P(A-B)が“1”である場合、セレクタ241は、入力D1を選択して遅延回路211の出力信号を補償後シングルエンド信号Comp(A-B)として出力する。一方、前シンボル状態信号Weak_P(A-B)が“0”である場合、セレクタ241は、入力D1を選択して差動レシーバ121から受け取ったシングルエンド信号SA-Bを補償後シングルエンド信号Comp(A-B)として出力する。これにより、図7に示すような、前シンボルの電位差VA-VBが”weak”である場合にシングルエンド信号SA-Bに遅延時間DAの遅延を挿入する動作が実現される。
同様に、遅延補償回路132の遅延時間は、前シンボルシングルエンド信号Prev(C-A)、Prev(A-B)に応じて制御される。遅延補償回路132のXOR回路252は、前シンボルシングルエンド信号Prev(C-A)、Prev(A-B)に基づいて前シンボル状態信号Weak_P(B-C)を生成する状態判別回路として動作する。前シンボル状態信号Weak_P(B-C)は、前シンボルシングルエンド信号Prev(C-A)、Prev(A-B)の排他的論理和の論理値を有しており、前シンボルの受信における電位差VB-VCが”weak”である場合、論理値“1”を取る。セレクタ242は、前シンボル状態信号Weak_P(B-C)が“1”である場合に遅延回路212の出力信号を補償後シングルエンド信号Comp(B-C)として出力し、“0”である場合に差動レシーバ122から受け取ったシングルエンド信号SB-Cを補償後シングルエンド信号Comp(B-C)として出力する。これにより、前シンボルの電位差VB-VCが”weak”である場合にシングルエンド信号SB-Cに遅延時間DAの遅延を挿入する動作が実現される。
更に、遅延補償回路133の遅延時間は、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)に応じて制御される。遅延補償回路133のXOR回路253は、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)に基づいて前シンボル状態信号Weak_P(C-A)を生成する状態判別回路として動作する。前シンボル状態信号Weak_P(C-A)は、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)の排他的論理和の論理値を有しており、前シンボルの受信における電位差VC-VAが”weak”である場合、論理値“1”を取る。セレクタ243は、前シンボル状態信号Weak_P(C-A)が“1”である場合に遅延回路213の出力信号を補償後シングルエンド信号Comp(C-A)として出力し、“0”である場合に差動レシーバ123から受け取ったシングルエンド信号SC-Aを補償後シングルエンド信号Comp(C-A)として出力する。これにより、前シンボルの電位差VC-VAが”weak”である場合にシングルエンド信号SC-Aに遅延時間DAの遅延を挿入する動作が実現される。
このように動作する遅延補償回路131、132、133から出力される補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)がクロック再生回路16に供給され、再生クロック信号RCLKの生成に用いられる。各シンボルの受信において再生クロック信号RCLKのクロックパルスが出力されるタイミングは、補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)が反転するタイミングのうち最先のタイミングに同期している。このような動作により、電位差VA-VB、VB-VC、VC-VAのゼロクロスタイミングの分散が補償された再生クロック信号RCLKが生成され、ラッチ151~153に供給される。
以上に説明されているように、本実施形態では、電位差VA-VB、VB-VC、VC-VAが”weak”及び”strong”のいずれであるかを検出し、検出結果に応じて遅延補償回路131、132、133の遅延時間が制御される。これにより、ゼロクロスタイミングの分散が補償された補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)が生成される。このようにして生成された補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)から再生クロック信号RCLKを生成することにより、本実施形態の受信装置2は、データ有効ウインドウを有効に拡大することができる。
図9に示す一実施形態では、受信装置2が、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAの状態に加え、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAの状態に応じて遅延補償回路131、132、133の遅延時間を制御するように構成される。具体的には、本実施形態では、受信装置2が、遅延回路171、172、173を追加的に備えると共に、遅延補償回路131、132、133の構成が変更される。他の構成は、図5に示す受信装置2と同様である。
遅延回路171、172、173は、それぞれ、差動レシーバ121、122、123から出力されるシングルエンド信号SA-B、SB-C、SC-Aを遅延して遅延シングルエンド信号Dly(A-B)、Dly(B-C)、Dly(C-A)を生成し、遅延補償回路131、132、133に供給する。遅延回路171、172、173は、現シンボルの電位差VA-VB、VB-VC、VC-VAに応じて遅延補償回路131、132、133の遅延時間を制御するための時間を確保するために設けられている。以下では、差動レシーバ121、122、123から出力されるシングルエンド信号SA-B、SB-C、SC-Aが、それぞれ、現シンボルの電位差VA-VB、VB-VC、VC-VAの論理値を有することを明確にするために、差動レシーバ121、122、123から出力されるシングルエンド信号SA-B、SB-C、SC-Aを、それぞれ、現シンボルシングルエンド信号Crt(A-B)、Crt(B-C)、Crt(C-A)と記載することがある。
本実施形態では、遅延補償回路131、132、133が、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)、Prev(C-A)に加え、現シンボルシングルエンド信号Crt(A-B)、Crt(B-C)、Crt(C-A)に応じてそれぞれの遅延時間を制御するように構成されている。
詳細には、本実施形態では、遅延補償回路131が、遅延回路211、221と、セレクタ241と、XOR回路251、261とを備えている。遅延回路211、221は、それぞれ、遅延時間DA、DBを有している。遅延回路211は、遅延回路171の出力に接続されており、遅延回路221は、遅延回路211の出力に接続されている。セレクタ241は、3つの入力D0、D1、D2を有している。セレクタ241の入力D0は、遅延回路171の出力に接続され、入力D1は遅延回路211の出力に接続され、入力D2は遅延回路221の出力に接続されている。このように構成された遅延補償回路131は、遅延回路171から出力される遅延シングルエンド信号Dly(A-B)に、0、DA、DA+DBのいずれかの遅延時間を与えることができる。
XOR回路251は、前シンボルシングルエンド信号Prev(B-C)、Prev(C-A)に基づいて前シンボル状態信号Weak_P(A-B)を生成する状態判別回路として動作し、XOR回路261は、現シンボルシングルエンド信号Crt(B-C)、Crt(C-A)に基づいて現シンボル状態信号Weak_A(A-B)を生成する状態判別回路として動作する。前シンボル状態信号Weak_P(A-B)は、前シンボルシングルエンド信号Prev(B-C)、Prev(C-A)の排他的論理和の論理値を有するように生成される。上述された議論から理解されるように、前シンボル状態信号Weak_P(A-B)は、前シンボルの受信において電位差A-Bが"weak"であるときに“1”に設定されることになる。同様に、現シンボル状態信号Weak_C(A-B)は、現シンボルシングルエンド信号Crt(B-C)、Crt(C-A)の排他的論理和の論理値を有するように生成される。現シンボル状態信号Weak_C(A-B)は、現シンボルの受信において電位差A-Bが"weak"であるときに“1”に設定されることになる。
セレクタ241は、XOR回路251、261からそれぞれ出力される前シンボル状態信号Weak_P(A-B)、現シンボル状態信号Weak_C(A-B)に応じて、入力D0、D1、D2のいずれかを選択し、選択した入力に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。
遅延補償回路132も同様に構成され、同様に動作する。遅延補償回路132は、遅延回路212、222と、セレクタ242と、XOR回路252、262とを備えている。遅延回路212、222は、それぞれ、遅延時間DA、DBを有している。XOR回路252は、前シンボルシングルエンド信号Prev(C-A)、Prev(A-B)の排他的論理和の論理値を有する前シンボル状態信号Weak_P(B-C)を生成する。XOR回路262は、現シンボルシングルエンド信号Crt(C-A)、Crt(A-B)の排他的論理和の論理値を有する現シンボル状態信号Weak_A(B-C)を生成する。セレクタ242は、前シンボル状態信号Weak_P(B-C)及び現シンボル状態信号Weak_A(B-C)に応じて入力D0、D1、D2のいずれかを選択し、選択した入力に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(B-C)として出力する。
更に、遅延補償回路132も同様に構成され、同様に動作する。遅延補償回路133は、遅延回路213、223と、セレクタ243と、XOR回路253、263とを備えている。遅延回路213、223は、それぞれ、遅延時間DA、DBを有している。XOR回路253は、前シンボルシングルエンド信号Prev(A-B)、Prev(B-C)の排他的論理和の論理値を有する前シンボル状態信号Weak_P(C-A)を生成する。XOR回路263は、現シンボルシングルエンド信号Crt(A-B)、Crt(B-C)の排他的論理和の論理値を有する現シンボル状態信号Weak_A(C-A)を生成する。セレクタ243は、前シンボル状態信号Weak_P(C-A)及び現シンボル状態信号Weak_A(C-A)に応じて入力D0、D1、D2のいずれかを選択し、選択した入力に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。
図10に示すように、本実施形態では、遅延補償回路131、132、133の遅延時間が、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAに加え、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAに応じて制御される。以下では、まず、遅延補償回路131の遅延時間の制御について説明する。
遅延補償回路131の遅延時間は、前シンボルの受信における電位差VA-VBと現シンボルの受信における電位差VA-VBとが、それぞれ、”weak”と”strong”のいずれであるかに応じて制御される。前シンボルの受信における電位差VA-VBと現シンボルの受信における電位差VA-VBがいずれも”weak”である場合、遅延補償回路131の遅延時間がDAに設定される。詳細には、XOR回路251、261からそれぞれ出力される前シンボル状態信号Weak_P(A-B)、現シンボル状態信号Weak_C(A-B)が、いずれも“1”に設定される。この場合、セレクタ241は、入力D1を選択し、入力D1に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、DAに制御される。
前シンボルの受信における電位差VA-VBと現シンボルの受信における電位差VA-VBがいずれも”strong”である場合も、遅延補償回路131の遅延時間がDAに設定される。詳細には、XOR回路251、261からそれぞれ出力される前シンボル状態信号Weak_P(A-B)、現シンボル状態信号Weak_C(A-B)が、いずれも“0”に設定される。この場合、セレクタ241は、入力D1を選択し、入力D1に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、DAに制御される。
前シンボルの受信における電位差VA-VBが”strong"であり、現シンボルの受信における電位差VA-VBが”weak”である場合、遅延補償回路131の遅延時間が0に設定される。詳細には、前シンボル状態信号Weak_P(A-B)、現シンボル状態信号Weak_C(A-B)が、それぞれ、“0”、“1”に設定される。この場合、セレクタ241は、入力D0を選択し、入力D0に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、0に制御される。
また、前シンボルの受信における電位差VA-VBが”weak"であり、現シンボルの受信における電位差VA-VBが”strong”である場合、遅延補償回路131の遅延時間がDA+DBに設定される。詳細には、前シンボル状態信号Weak_P(A-B)、現シンボル状態信号Weak_C(A-B)が、それぞれ、“1”、“0”に設定される。この場合、セレクタ241は、入力D2を選択し、入力D2に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、DA+DBに制御される。
このような動作によれば、電位差VA-VBのゼロクロスタイミングの分散を一層に補償しながら補償後シングルエンド信号Comp(A-B)を生成することができる。例えば、タイミング"Fast"とタイミング"Mid"との間の時間差とタイミング"Mid"とタイミング"Slow"との間の時間差が同一である場合、遅延回路211、221の遅延時間DA、DBを、当該時間差に一致させることで、電位差VA-VBの実効的なゼロクロスタイミングが"Slow"の1種類であるような補償後シングルエンド信号Comp(A-B)を生成することができる。タイミング"Fast"とタイミング"Mid"との間の時間差とタイミング"Mid"とタイミング"Slow"との間の時間差が同一でない場合でも、遅延時間DA、DBを適正に設定することで、例えば、タイミング"Fast"とタイミング"Mid"との間の時間差とタイミング"Mid"とタイミング"Slow"との間の時間差の平均に設定することで電位差VA-VBのゼロクロスタイミングの分散を補償することができる。
遅延補償回路132の遅延時間も、同様にして制御される。遅延補償回路132は、前シンボルの受信における電位差VB-VCと現シンボルの受信における電位差VB-VCが、それぞれ、”weak”と”strong”のいずれであるかに応じて制御される。
詳細には、前シンボルの受信における電位差VB-VCと現シンボルの受信における電位差VB-VCがいずれも”weak”である場合、又は、いずれも”strong”である場合、セレクタ242は、入力D1を選択し、入力D1に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(B-C)として出力する。この結果、遅延補償回路132によって遅延シングルエンド信号Dly(B-C)に与えられる遅延時間が、遅延時間DAに制御される。
前シンボルの受信における電位差VB-VCが”strong"であり、現シンボルの受信における電位差VB-VCが”weak”である場合、セレクタ242は、入力D0を選択し、入力D0に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(B-C)として出力する。この結果、遅延補償回路132によって遅延シングルエンド信号Dly(B-C)に与えられる遅延時間が、0に制御される。
また、前シンボルの受信における電位差VB-VCが”weak"であり、現シンボルの受信における電位差VB-VCが”strong”である場合、セレクタ242は、入力D2を選択し、入力D2に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路132によって遅延シングルエンド信号Dly(B-C)に与えられる遅延時間が、DA+DBに制御される。
更に、遅延補償回路133の遅延時間も、同様にして制御される。遅延補償回路133は、前シンボルの受信における電位差VC-VAと現シンボルの受信における電位差VC-VAが、それぞれ、”weak”と”strong”のいずれであるかに応じて制御される。
前シンボルの受信における電位差VC-VAと現シンボルの受信における電位差VC-VAがいずれも”weak”である場合、又は、いずれも”strong”である場合、セレクタ243は、入力D1を選択し、入力D1に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。この結果、遅延補償回路133によって遅延シングルエンド信号Dly(C-A)に与えられる遅延時間が、DAに制御される。
前シンボルの受信における電位差VC-VAが”strong"であり、現シンボルの受信における電位差VC-VAが”weak”である場合、セレクタ243は、入力D0を選択し、入力D0に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。この結果、遅延補償回路133によって遅延シングルエンド信号Dly(C-A)に与えられる遅延時間が、0に制御される。
また、前シンボルの受信における電位差VC-VAが”weak"であり、現シンボルの受信における電位差VC-VAが”strong”である場合、セレクタ243は、入力D2を選択し、入力D2に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。この結果、遅延補償回路133によって遅延シングルエンド信号Dly(C-A)に与えられる遅延時間が、DA+DBに制御される。
このように動作する遅延補償回路131、132、133から出力される補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)がクロック再生回路16に供給される。クロック再生回路16は、遅延補償回路131~133から出力される補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)から再生クロック信号RCLKを生成する。このような動作により、電位差VA-VB、VB-VC、VC-VAのゼロクロスタイミングの分散が補償された再生クロック信号RCLKが生成され、ラッチ151~153に供給される。
以上に説明されているように、本実施形態では、前シンボルに加え、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”及び”strong”のいずれであるかを検出し、検出結果に応じて遅延補償回路131、132、133の遅延時間が制御される。これにより、ゼロクロスタイミングの分散が一層に補償された補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)が生成される。このようにして生成された補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)から再生クロック信号RCLKを生成することにより、本実施形態の受信装置2は、データ有効ウインドウを有効に拡大することができる。
図11に示す実施形態では、遅延補償回路131、132、133の構成が変更される。図11の受信装置2の他の部分は、図9に示す受信装置2と同様に構成されている。
詳細には、遅延補償回路131は、遅延回路221の出力に接続され、遅延時間DCを有する遅延回路231を追加的に備えている。セレクタ241は、4つの入力D0~D3を有している。セレクタ241の入力D0は遅延回路171の出力に接続され、入力D1は遅延回路211の出力に接続され、入力D2は遅延回路221の出力に接続され、入力D3は遅延回路231の出力に接続されている。このように構成された遅延補償回路131は、遅延回路171から出力される遅延シングルエンド信号Dly(A-B)に、0、DA、DA+DB、DA+DB+DCのいずれかの遅延時間を与えることができる。
遅延補償回路132、133も同様に構成されている。遅延補償回路132は、遅延時間DCを有する遅延回路232を追加的に備えており、遅延補償回路133は、遅延時間DCを有する遅延回路233を追加的に備えている。セレクタ242、243は、いずれも、4つの入力D0~D3を有している。セレクタ242の入力D0は遅延回路172の出力に接続され、入力D1は遅延回路212の出力に接続され、入力D2は遅延回路222の出力に接続され、入力D3は遅延回路232の出力に接続されている。セレクタ243の入力D0は遅延回路173の出力に接続され、入力D1は遅延回路213の出力に接続され、入力D2は遅延回路223の出力に接続され、入力D3は遅延回路233の出力に接続されている。このように構成された遅延補償回路132、133は、遅延回路172、173から出力される遅延シングルエンド信号Dly(B-C)、Dly(C-A)に、0、DA、DA+DB、DA+DB+DCのいずれかの遅延時間を与えることができる。
このような遅延補償回路131、132、133の構成は、ゼロクロスタイミングの分散を補償すると共に、差動レシーバ121~123それぞれの入力信号の電位差に依存する差動レシーバ121~123の遅延の変動を補償可能にするためのものである。図12に示すように、差動レシーバ121~123の遅延は、電位差VA-VB、VB-VC、VC-VAが”weak”、”strong”のいずれであるかに応じて変動する。差動レシーバ121~123の遅延の変動を補償することで、データ有効ウインドウを一層に拡大することができる。
一実施形態では、現シンボルの受信における差動レシーバ121~123の遅延は、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”である場合に大きくなり、”strong”である場合に小さくなる。加えて、差動レシーバ121~123の遅延は、現シンボルの影響より小さいものの、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAにも影響され得る。本実施形態では、差動レシーバ121~123の遅延は、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”である場合に大きくなり、”strong”である場合に小さくなる。
総合すると、本実施形態では、差動レシーバ121~123の遅延は、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”である場合に最も大きい。この時の遅延を"Large"と記載する。また、現シンボル、前シンボルの両方の受信における電位差VA-VB、VB-VC、VC-VAが”strong”である場合に最も小さい。この時の遅延を"Small"と記載する。また、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”strong”であり、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”である場合、差動レシーバ121~123の遅延は、中間的である。この時の遅延を"Mid"と記載する。以下に述べられる本実施形態の受信装置2の動作によれば、このような差動レシーバ121~123の遅延の変動を補償することができる。
図13に示すように、本実施形態においても図10に示す動作と同様に、遅延補償回路131、132、133の遅延時間が、前シンボルの受信における電位差VA-VB、VB-VC、VC-VAと、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAとに応じて制御される。ただし、本実施形態における遅延補償回路131、132、133の遅延時間の制御は、図10に示す動作とは異なっている。本実施形態では、遅延補償回路131、132、133の遅延時間が、0、DA、DA+DB、DA+DB+DCのいずれかから選択される。以下では、まず、遅延補償回路131の遅延時間の制御について説明する。
前シンボルの受信における電位差VA-VBが”strong”であり、現シンボルの受信における電位差VA-VBが”weak”である場合、電位差VA-VBのゼロクロスタイミングが最も遅い”Slow”になり、且つ、差動レシーバ121の遅延が最も長い”Large”になる。このため、遅延補償回路131の遅延時間は最も小さい0に設定される。詳細には、XOR回路251から出力される前シンボル状態信号Weak_P(A-B)が“0”に設定され、XOR回路261から出力される現シンボル状態信号Weak_C(A-B)が“1”に設定される。セレクタ241は、入力D0を選択し、入力D0に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、0に制御される。
前シンボル及び現シンボルの受信における電位差VA-VBがいずれも”weak”である場合、電位差VA-VBのゼロクロスタイミングが”Mid”になり、且つ、差動レシーバ121の遅延が”Large”になる。このため、遅延補償回路131の遅延時間は2番目に小さいDAに設定される。詳細には、XOR回路251、261から出力される前シンボル状態信号Weak_P(A-B)、現シンボル状態信号Weak_C(A-B)が、いずれも“1”に設定される。セレクタ241は、入力D1を選択し、入力D1に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、DAに制御される。
前シンボル及び現シンボルの受信における電位差VA-VBがいずれも”strong”である場合、電位差VA-VBのゼロクロスタイミングが”Mid”になり、且つ、差動レシーバ121の遅延が最も小さい”Small”になる。このため、遅延補償回路131の遅延時間は2番目に大きいDA+DBに設定される。詳細には、XOR回路251、261から出力される前シンボル状態信号Weak_P(A-B)、現シンボル状態信号Weak_C(A-B)が、いずれも“0”に設定される。セレクタ241は、入力D2を選択し、入力D2に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、DA+DBに制御される。
前シンボルの受信における電位差VA-VBが”weak”であり、現シンボルの受信における電位差VA-VBが”strong”である場合、電位差VA-VBのゼロクロスタイミングが最も早い”Fast”になり、且つ、差動レシーバ121の遅延が”Mid”になる。この場合、本実施形態では、遅延補償回路131の遅延時間が最も大きいDA+DB+DCに設定される。詳細には、XOR回路251から出力される前シンボル状態信号Weak_P(A-B)が“1”に設定され、XOR回路261から出力される現シンボル状態信号Weak_C(A-B)が“0”に設定される、セレクタ241は、入力D3を選択し、入力D3に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路131によって遅延シングルエンド信号Dly(A-B)に与えられる遅延時間が、DA+DB+DCに制御される。
このような動作によれば、遅延回路211、221、231の遅延時間DA、DB、DCを適切に設定することにより、電位差VA-VBのゼロクロスタイミングの分散を補償し、更に、差動レシーバ121の遅延時間の分散を補償しながら補償後シングルエンド信号Comp(A-B)を生成することができる。
遅延補償回路132の遅延時間も、同様にして制御される。前シンボルの受信における電位差VB-VCが”strong”であり、現シンボルの受信における電位差VB-VCが”weak”である場合、遅延補償回路132のセレクタ242は、入力D0を選択し、入力D0に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(B-C)として出力する。この結果、遅延補償回路132によって遅延シングルエンド信号Dly(B-C)に与えられる遅延時間が、0に制御される。
前シンボル及び現シンボルの受信における電位差VB-VCがいずれも”weak”である場合、セレクタ242は、入力D1を選択し、入力D1に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(A-B)として出力する。この結果、遅延補償回路132によって遅延シングルエンド信号Dly(B-C)に与えられる遅延時間が、DAに制御される。
前シンボル及び現シンボルの受信における電位差VB-VCがいずれも”strong”である場合、セレクタ242は、入力D2を選択し、入力D2に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(B-C)として出力する。この結果、遅延補償回路132によって遅延シングルエンド信号Dly(B-C)に与えられる遅延時間が、DA+DBに制御される。
前シンボルの受信における電位差VB-VCが”weak”であり、現シンボルの受信における電位差VB-VCが”strong”である場合、セレクタ242は、入力D3を選択し、入力D3に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(B-C)として出力する。この結果、遅延補償回路132によって遅延シングルエンド信号Dly(B-C)に与えられる遅延時間が、DA+DB+DCに制御される。
更に、遅延補償回路133の遅延時間も、同様にして制御される。前シンボルの受信における電位差VC-VAが”strong”であり、現シンボルの受信における電位差VC-VAが”weak”である場合、遅延補償回路133のセレクタ243は、入力D0を選択し、入力D0に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。この結果、遅延補償回路133によって遅延シングルエンド信号Dly(C-A)に与えられる遅延時間が、0に制御される。
前シンボル及び現シンボルの受信における電位差VC-VAがいずれも”weak”である場合、セレクタ243は、入力D1を選択し、入力D1に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。この結果、遅延補償回路133によって遅延シングルエンド信号Dly(C-A)に与えられる遅延時間が、DAに制御される。
前シンボル及び現シンボルの受信における電位差VC-VAがいずれも”strong”である場合、セレクタ243は、入力D2を選択し、入力D2に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。この結果、遅延補償回路133によって遅延シングルエンド信号Dly(C-A)に与えられる遅延時間が、DA+DBに制御される。
前シンボルの受信における電位差VC-VAが”weak”であり、現シンボルの受信における電位差VC-VAが”strong”である場合、セレクタ243は、入力D3を選択し、入力D3に入力されるシングルエンド信号を、補償後シングルエンド信号Comp(C-A)として出力する。この結果、遅延補償回路133によって遅延シングルエンド信号Dly(C-A)に与えられる遅延時間が、DA+DB+DCに制御される。
このように動作する遅延補償回路131、132、133から出力される補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)がクロック再生回路16に供給される。クロック再生回路16は、遅延補償回路131~133から出力される補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)から再生クロック信号RCLKを生成する。
以上に説明されているように、本実施形態では、前シンボルに加え、現シンボルの受信における電位差VA-VB、VB-VC、VC-VAが”weak”及び”strong”のいずれであるかを検出し、検出結果に応じて遅延補償回路131、132、133の遅延時間が、0、DA、DA+DB、DA+DB+DCのいずれかから選択される。このような動作により、ゼロクロスタイミングの分散を補償すると共に、差動レシーバ121、122、123の遅延の変動を補償した補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)が生成される。このようにして生成された補償後シングルエンド信号Comp(A-B)、Comp(B-C)、Comp(C-A)から再生クロック信号RCLKを生成することにより、本実施形態の受信装置2は、データ有効ウインドウを有効に拡大することができる。
なお、本実施形態において、遅延補償回路131、132、133により与えられる遅延時間は、差動レシーバ121~123の特性に応じて変更され得る。例えば、差動レシーバ121~123が、電位差VA-VB、VB-VC、VC-VAの絶対値が小さいほど遅延が小さいように構成されている場合には、前シンボル及び現シンボルの受信における電位差VA-VB、VB-VC、VC-VAと、遅延補償回路131、132、133により与えられる遅延時間との対応関係が、図13に示すものから変更され得る。遅延補償回路131、132、133により与えられる遅延時間の変更は、セレクタ241~243の動作を規定する真理値表を変更することにより変更可能である。
以上には、本開示の様々な実施形態が具体的に記載されているが、本開示に記載された技術は、様々な変更と共に実施され得る。例えば、上記には、MIPI C-PHY規格に準拠し、それぞれが3つの電位を取り得る3本のワイヤA、B、Cを介してデータ通信が行われるデータ通信システムが記述されているが、上記の実施形態に開示されている技術は、4本又はそれ以上の本数のワイヤを介してデータ通信が行われるデータ通信システム及び各ワイヤが4以上の電圧レベルを取り得るデータ通信システムにおいても使用され得る。