以下、本発明の原理を図面を参照して詳細に説明する。
図1は、データ受信装置の概要を示した図である。図には、データ受信装置を適用したLSI1と送信回路5a〜5bを有したLSI4の例が示してある。データ受信装置は、受信回路2a〜2dおよび適応等化回路3より構成されている。LSI4は、送信回路5a〜5dおよび受信回路2a〜2dは、伝送線路によってポイントツーポイント接続されている。
複数の受信回路2a〜2dは、伝送線路を介し、送信回路5a〜5dからデータ信号を受信する。受信回路2a〜2dは、受信したデータ信号の波形を整形するための等化器を具備している。
適応等化回路3は、複数の受信回路2a〜2dの全部または2以上の所定数ずつに対して1つ設けられる。そして、適応等化回路3は、対応した受信回路2a〜2dの等化器の、波形整形をするための等化係数を算出し、対応した受信回路2a〜2dに出力する。図1の例では、適応等化回路3は、受信回路2a〜2dの全部に対して1つ設けられているが、受信回路2a〜2dの2以上の所定数ずつ、例えば、受信回路2a,2bと受信回路2c,2dのそれぞれに対して、1つの適応等化回路を設けるようにしてもよい。
このように、複数の受信回路2a〜2dの全部または2以上の所定数ずつに対して1つの適応等化回路3を設け、対応する受信回路2a〜2dの等化器の等化係数を算出するようにした。これによって、回路規模を抑制することができ、消費電力を低減することができる。
次に、本発明の第1の実施の形態を図面を参照して詳細に説明する。
図2は、第1の実施の形態に係るデータ受信装置の適用例を示した図である。図には、通信装置が示してある。通信装置は、光信号を電気信号に、電気信号を光信号に変換するとともにその他所定の処理を行っている。
通信装置は、図に示すようにバックボード11および基板12〜14から構成されている。基板12〜14は、バックボード11に実装され、バックボード11を介して、互いに通信を行っている。
基板12には、LSI12aが実装されている。LSI12aは、複数の送信回路を具備している。基板13には、LSI13aが実装されている。LSI13aは、複数の受信回路と1つの適応等化回路を有したデータ受信装置を具備している。LSI12a,13aの送信回路と受信回路は、バックボード11の伝送線路によってポイントツーポイント接続されている。
LSI13aの複数の受信回路は、LSI12aの複数の送信回路からデータを受信する。LSI13aの適応等化回路は、複数の受信回路から、波形整形するためのデータを受信し、受信回路のそれぞれが具備している等化器の等化係数を調整する。
このように、1つの適応等化回路によって、受信回路の等化器を調整し、受信回路が適正に受信データの判定を行えるようにする。なお、データ受信回路は、複数の受信回路と1つの適応等化回路を有するとしたが、2以上の所定数ずつの受信回路に対して1つ適応等化回路を設けるようにしてもよい。
次に、適応等化回路による波形整形について説明する。
図3は、適応等化回路による波形整形を説明する図である。図には、データを送信する送信回路21、データを伝送する伝送線路22、データを受信する受信回路23、および受信回路23の波形整形を調整する適応等化回路24が示してある。受信回路23は、等化器23aおよび受信データの0,1(−1,1)を判定するデータ判定回路23bを有している。なお、図3のシステムを図2の通信装置に対応させるとすると、図3の送信回路21と受信回路23は、図2のLSI12aが具備する送信回路の1つとLSI13aが具備する受信回路の1つに対応し、伝送線路22は、バックボード11の伝送線路に対応する。適応等化回路24は、LSI13aが具備する適応等化回路に対応する。
波形W11は、温度が20℃の場合における、伝送線路22から出力されるデータのアイパターンを示している。波形W12は、温度が20℃の場合における、受信回路23の等化器23aから出力されるデータのアイパターンを示している。波形W11,W12に示すように、伝送線路22によって振幅が小さくなったデータは、等化器23aおよび適応等化回路24によって、振幅が回復される。
波形W13は、温度が85℃の場合における、伝送線路22から出力されるデータのアイパターンを示している。波形W14は、温度が85℃の場合における、受信回路23の等化器23aから出力されるデータのアイパターンを示している。波形W11,W13に示すように温度が高くなると、データの振幅はより小さくなってしまう。しかし、波形W12,W14に示すように等化器23aおよび適応等化回路24によって、温度が20℃の場合と同様に、データの振幅は回復される。
このように、伝送線路22によって、データの波形が歪んでも、適応等化回路24および等化器23aによって、波形が整形される。これによって、受信回路23のデータ判定回路23bは、適正にデータの判定を行うことができる。
次に、データ受信装置の回路構成について詳細に説明する。
図4は、データ受信装置の回路構成を示した図である。図に示すようにデータ受信装置は、受信回路32a〜32d、FIFO(FIFO(First In First Out)方式のメモリ)33a〜33d、および適応等化回路34より構成されている。枠31a〜31d,37のそれぞれは、クロックドメインを表している。つまり、枠31a〜31d,37のそれぞれの回路は、非同期で動作している。なお、図4のデータ受信装置を図2の通信装置に対応させるとすると、図4の受信回路32a〜32dは、図2のLSI13aが具備する受信回路に対応し、適応等化回路34は、LSI13aが具備する適応等化回路に対応する。また、受信回路32a〜32dは、バックボード11の伝送線路を介して、LSI12aの送信回路にポイントツーポイント接続されることになる。
受信回路32a〜32dのそれぞれは、伝送線路を介しデータDT0〜DT3を受信する。適応等化回路34は、適応等化制御回路35および適応等化演算回路36を有している。
受信回路32a〜32dのそれぞれは、図示していないが等化器を有している。適応等化回路34は、受信回路32a〜32dから所定のデータを受信し、そのデータに基づいて、等化器がデータDT0〜DT3の波形を適正に整形できるように、等化器の等化係数を算出する。そして、算出した等化係数を各受信回路32a〜32dに出力する。
適応等化回路34は、複数の受信回路32a〜32dに対し、1つ設けられている。受信回路32a〜32dのそれぞれは、独立してデータDT0〜DT3を受信して処理を行うため、動作タイミングが異なる(動作クロックの周波数は同じであるが、位相が異なる)。そのため、1つの適応等化回路34が、受信回路32a〜32dの全てとデータの送受信を行えるには、これらのデータを適応等化回路34の動作タイミングに同期させる必要がある。そこで、受信回路32a〜32dごとにFIFO33a〜33dを設け、受信回路32a〜32dがFIFO33a〜33dにデータを書き込み、適応等化回路34がそれを読み出すことにより、データの送受信を行えるようにしている。
受信回路32a〜32dは、クロックARX_CLK0〜ARX_CLK3をFIFO33a〜33dに出力する。クロックARX_CLK0〜ARX_CLK3は、周波数は同じであるが、受信回路32a〜32dが独立して動作しているため、位相は異なっている。また、受信回路32a〜32dは、クロックARX_CLK0〜ARX_CLK3に同期して、等化器の等化係数算出のために必要なMビットの等化係数算出データARX_DT0〜ARX_DT3をFIFO33a〜33dに出力する。また、受信回路32a〜32dには、適応等化演算回路36から等化係数EQ0〜EQ3が入力される。受信回路32a〜32dの等化器は、等化係数EQ0〜EQ3に応じてデータDT0〜DT3の波形整形を行い、データDT0〜DT3が適正に判定されるようにしている。
FIFO33a〜33dには、適応等化回路34で生成されるクロックADP_CLKAが入力される。FIFO33a〜33dは、クロックADP_CLKAに同期して、記憶しているMビットの等化係数算出データADP_DT0〜ADP_DT3(受信回路32a〜32dによって書き込まれた等化係数算出データARX_DT0〜ARX_DT3)を、適応等化演算回路36に出力する。また、FIFO33a〜33dには、スタート信号FIFO_START0〜FIFO_START3が入力される。FIFO33a〜33dは、スタート信号FIFO_START0〜FIFO_START3が入力されて動作を開始する。また、FIFO33a〜33dには、しきい値信号READ_TH0〜READ_TH3が入力される。FIFO33a〜33dは、しきい値信号READ_TH0〜READ_TH3で指示される数の等化係数算出データARX_DT0〜ARX_DT3が書き込まれると、データの読み出しが可能になったことを示すレディ信号FIFO_READY0〜FIFO_READY3を適応等化制御回路35に出力する。また、FIFO33a〜33dには、イネーブル信号FIFO_READ_EN0〜FIFO_READ_EN3が入力される。FIFO33a〜33dは、イネーブル信号FIFO_READ_EN0〜FIFO_READ_EN3が入力されると、記憶している等化係数算出データADP_DT0〜ADP_DT3を、適応等化演算回路36に出力する。なお、FIFO33a〜33dは、受信回路32a〜32dによって書き込まれた順に等化係数算出データADP_DT0〜ADP_DT3(等化係数算出データARX_DT0〜ARX_DT3)を出力していく。また、しきい値信号READ_TH0〜READ_TH3は、例えば、CPU(Central Processing Unit)などの制御装置から出力される。
適応等化回路34の適応等化制御回路35には、スタート信号STARTが入力される。適応等化制御回路35は、スタート信号STARTが入力されると、FIFO33a〜33dに、スタート信号FIFO_START0〜FIFO_START3を出力する。また、適応等化制御回路35には、イネーブル信号ADP_RX_EN0〜ADP_RX_EN3が入力される。適応等化制御回路35は、イネーブル信号ADP_RX_EN0〜ADP_RX_EN3に応じて、動作すべきFIFO33a〜33dに対して、スタート信号FIFO_START0〜FIFO_START3を出力する。アプリケーションによっては、動作させる必要のない受信回路32a〜32dも存在するからである。また、適応等化制御回路35には、FIFO33a〜33dからレディ信号FIFO_READY0〜FIFO_READY3が入力される。適応等化制御回路35は、FIFO33a〜33dからのレディ信号FIFO_READY0〜FIFO_READY3を受けて、イネーブル信号FIFO_READ_EN0〜FIFO_READ_EN3をFIFO33a〜33dに出力する。また、適応等化制御回路35は、スタート信号STARTが入力されると、適応等化演算回路36を活性化させるためのイネーブル信号ADP_ENを適応等化演算回路36に出力する。スタート信号STARTおよびイネーブル信号ADP_RX_EN0〜ADP_RX_EN3は、例えば、CPUなどの制御装置から出力される。
適応等化演算回路36は、適応等化制御回路35からのイネーブル信号ADP_ENを受けて活性化する。適応等化演算回路36には、クロックADP_CLKBが入力されており、適応等化演算回路36は、このクロックADP_CLKBに同期して動作する。クロックADP_CLKBの周波数は、受信回路32a〜32dが出力するクロックARX_CLK0〜ARX_CLK3の周波数を、受信回路32a〜32dの個数分、倍にした周波数である。図の例では、受信回路32a〜32dは、4個なので、クロックADP_CLKBの周波数は、クロックARX_CLK0〜ARX_CLK3の周波数を4倍した値となる。
また、適応等化演算回路36は、FIFO33a〜33dから等化係数算出データADP_DT0〜ADP_DT3を読み出し、入力する。適応等化演算回路36は、等化係数算出データADP_DT0〜ADP_DT3に基づいて、受信回路32a〜32dの等化器が、データDT0〜DT3の波形を整形するための等化係数EQ0〜EQ3を算出する。適応等化演算回路36は、算出した等化係数EQ0〜EQ3を受信回路32a〜32dに出力する。
次に、図4の受信回路32aについて詳細に説明する。
図5は、受信回路の回路図である。図に示すように受信回路32aは、等化器41、ADC42、データ判定回路43、およびデマックス(Demux)回路44を有している。等化器41は、バッファ(図中1)41a、1次微分器(図中s)41b、2次微分器(図中s2)41c、可変利得アンプ41d〜41f、および加算器41gを有している。
1次微分器41bは、1次の微分器であり、信号の変化を強調して出力する。2次微分器41cは、2次の微分器であり、信号の変化を1次微分器より強調して出力する。
バッファ41a、1次微分器41b、および2次微分器41cには、伝送線路からのデータDT0が入力される。1次微分器41b、および2次微分器41cは、入力されるデータDT0の変化を強調して、可変利得アンプ41e〜41fに出力する。
可変利得アンプ41d〜41fには、バッファ41a、1次微分器41b、および2次微分器41cから出力されるデータと、図4で説明した適応等化演算回路36から出力される等化係数EQ0が入力される。等化係数EQ0は、等化係数A0〜A2からなり、それぞれ可変利得アンプ41d〜41fに入力される。
可変利得アンプ41d〜41fは、等化係数A0〜A2に応じて利得を可変し、バッファ41a、1次微分器41b、および2次微分器41cから出力されるデータの、変化の強調の度合いを調整し、加算器41gに出力する。加算器41gは、可変利得アンプ41d〜41fから出力される信号を足し合わせ、データDT0の振幅を回復する。このようにして、等化器41は、適応等化演算回路36から出力される等化係数A0〜A2に応じてデータDT0の波形整形を行う。
ADC42は、等化器41から出力される波形整形されたデータを、アナログ−デジタル変換する。データ判定回路43は、等化器41から出力される波形整形されたデータが、1,−1(1,0)であるかの判定を行う。デマックス回路44は、データ判定回路43から出力される信号をデマックスする。なお、ADC42から出力されるデータy0およびデマックス回路44から出力されるデマックスデータDemux_Data0は、図4に示す等化係数算出データARX_DT0に対応する。
なお、上記では、受信回路32aについて説明したが、受信回路32b〜32dも受信回路32aと同様の構成および機能を有している。
次に、等化器41のユニットパルス応答について説明する。
図6は、等化器および伝送線路のユニットパルス応答を示した図である。図に示す波形W21は、等化器41のユニットパルス応答を示し、波形W22は、伝送線路のユニットパルス応答を示している。
伝送線路では、波形W22に示すように、ユニットパルス応答の立ち上がりは緩やかであり、また、符号間干渉成分(ISI)も大きい。一方、等化器41では、波形W21に示すように、ユニットパルス応答の立ち上がりは急峻となり、ISIも小さくなる。これにより、データ信号の波形は等化器41により整形される。
次に、図4の適応等化演算回路36について詳細に説明する。
図7は、適応等化演算回路の回路図である。図に示すように適応等化演算回路36は、カウンタ51、セレクタ52〜54、アンプ55、減算器56、畳み込み演算部57、乗算器58〜60、可変利得アンプ61〜63、ssp(ステップサイズパラメータ)制御部64、および積分器65〜67を有している。畳み込み演算部57には、マトリックス部68が接続されている。なお、セレクタ54、アンプ55、減算器56、畳み込み演算部57、乗算器58〜60、可変利得アンプ61〜63、積分器65〜67、およびマトリックス部68の構成は、従来からある適応等化回路の構成と同様である。
カウンタ51には、図4で示した適応等化制御回路35からのイネーブル信号ADP_ENが入力される。カウンタ51は、適応等化制御回路35からイネーブル信号ADP_ENが入力されると、クロックADP_CLKBに同期してカウントを開始し、カウント値をセレクタ52,53へ出力する。
セレクタ52には、図5で説明した受信回路32aから出力されるデータy0が入力される。同様に、受信回路32b〜32dから出力されるデータy1〜y3が入力される。セレクタ52は、カウンタ51から出力されるカウント値に応じて、入力されるデータy0〜y3を選択して減算器56に出力する。
セレクタ53には、図5で説明した受信回路32aから出力されるデマックスデータDemux_Data0が入力される。同様に、受信回路32b〜32dから出力されるデマックスデータDemux_Data1〜Demux_Data3が入力される。セレクタ53は、カウンタ51から出力されるカウント値に応じて、入力されるデマックスデータDemux_Data0〜Demux_Data3を選択して出力する。なお、データy0とデマックスデータDemux_Data0は、等化係数算出データADP_DT0に対応し、以下同様に、データy1〜y3とデマックスデータDemux_Data1〜Demux_Data3のそれぞれが、等化係数算出データADP_DT1〜ADP_DT3に対応する。
セレクタ52,53には、4つの受信回路32a〜32dから、データy0〜y3およびデマックスデータDemux_Data0〜Demux_Data3が入力されている。従って、カウンタ51は、これらのデータが順に選択され、出力されるようにカウント値をカウントする必要がある。図7の例の場合、カウンタ51は2ビットのカウンタであり、0から3までの値を繰り返しセレクタ52,53に出力する。なお、前述したように、クロックADP_CLKBの周波数は、受信回路32a〜32dの出力するクロックARX_CLK0〜ARX_CLK3の4倍の周波数である。従って、セレクタ52,53は、クロックARX_CLK0〜ARX_CLK3の1クロックの間に、データy0〜y3およびデマックスデータDemux_Data0〜Demux_Data3を順に選択して出力することになる。
セレクタ54は、セレクタ53から出力されるデマックスデータDemux_Data0〜Demux_Data3の1ビットを選択して出力する。アンプ55は、セレクタ54から出力されるデータを所定倍増幅して、減算器56に出力する。
ところで、データy0〜y3は、受信回路32a〜32dのデータ判定回路に入力されるデータの振幅を表している。アンプ55から出力されるデータdは、データ判定回路に入力されるデータの期待振幅を表している。減算器56は、このデータの振幅と期待振幅との差をとり、振幅誤差eとして乗算器58〜60に出力する。
マトリックス部68は、伝送線路と、受信回路32a〜32dの等化器を構成しているバッファ、1次微分器、および2次微分器の特性を反映したユニットパルス行列のデータを記憶している。なお、マトリックス部68は、適応等化演算回路36が有していてもよい。
畳み込み演算部57は、セレクタ53から出力されるデマックスデータDemux_Data0〜Demux_Data3と、マトリックス部68のユニットパルス行列との畳み込み演算をし、入力振幅F0〜F2を出力する。この入力振幅F0〜F2は、受信回路32a〜32dの等化器の可変利得アンプに入力される信号の振幅を予測したものである。
乗算器58〜60は、畳み込み演算部57から出力される入力振幅F0〜F2と、減算器56から出力される振幅誤差eの相関値を算出する。これによって、受信回路32a〜32dの等化器の、可変利得アンプの利得が決まる。なお、入力振幅F0〜F2は、前述したように、受信回路32a〜32dの等化器の可変利得アンプに入力される信号の振幅を予測したものである。従って、受信回路32a〜32dの等化器の可変利得アンプに入力される信号の振幅をアナログ−デジタル変換して、乗算器58〜60に直接入力するようにしてもよい。
可変利得アンプ61〜63は、乗算器58〜60から出力される入力振幅F0〜F2と振幅誤差eの相関値の利得を可変し、積分器65〜67に出力する。可変利得アンプ61〜63の利得は、適応等化ループの収束時定数であるsspを決めている。可変利得アンプ61〜63の利得(ssp)は、ssp制御部64によって制御される。積分器65〜67は、可変利得アンプ61〜63から出力される信号を積算し、等化係数A0〜A2を出力する。
ssp制御部64は、可変利得アンプ61〜63から出力される信号を平均化処理することにより、特定の受信回路32a〜32dで発生したノイズ等による局所的なエラーの影響を小さくすることができる。例えば、受信回路32a〜32dの個数は、4個であり、ssp制御部64は、可変利得アンプ61〜63の利得を1/4倍にするように制御する。積分器65〜67は、可変利得アンプ61〜63から出力される信号を4回積算する。これによって、各受信回路32a〜32dへ出力する等化係数を平均化することができる。
なお、等化係数A0〜A2を平均化することなく、受信回路32a〜32dに出力することもできる。この場合、ssp制御部64は、可変利得アンプ61〜63の利得を1/4倍にする必要はない。そして、積分器65〜67は、積算し、等化係数A0〜A2を出力すればよい。この場合、等化係数の収束速度は、等化係数を平均化する場合に対して4倍となる。
次に、適応等化制御回路35について詳細に説明する。
図8は、適応等化制御回路の回路図である。図に示すように適応等化制御回路35は、AND回路71〜74,79〜83および一方の入力が反転入力であるNAND回路75〜78を有している。
AND回路71〜74の入力の一方には、スタート信号STARTが入力され、他方には、イネーブル信号ADP_RX_EN0〜ADP_RX_EN3が入力される。AND回路71〜74は、スタート信号STARTがH状態のとき、イネーブル信号ADP_RX_EN0〜ADP_RX_EN3に応じて、スタート信号FIFO_START0〜FIFO_START3をFIFO33a〜33dに出力する。これによって、動作すべきFIFO33a〜33dが選択される。
NAND回路75〜78の入力の一方には、イネーブル信号ADP_RX_EN0〜ADP_RX_EN3が入力され、反転入力である他方には、レディ信号FIFO_READY0〜FIFO_READY3が入力される。NAND回路75〜78の出力は、AND回路79に入力される。イネーブル信号ADP_RX_EN0〜ADP_RX_EN3がH状態で、FIFO33a〜33dから出力されるレディ信号FIFO_READY0〜FIFO_READY3がH状態のとき、AND回路79からは、H状態のイネーブル信号ADP_ENが出力される。これによって、図7で説明した適応等化演算回路36が活性化される。
AND回路80〜83の入力の一方には、イネーブル信号ADP_ENが入力され、他方には、FIFO33a〜33dから出力されるレディ信号FIFO_READY0〜FIFO_READY3が入力される。イネーブル信号ADP_ENがH状態で、レディ信号FIFO_READY0〜FIFO_READY3がH状態のとき、AND回路80〜83は、H状態のイネーブル信号FIFO_READ_EN0〜FIFO_READ_EN3をFIFO33a〜33dに出力する。これによって、FIFO33a〜33dは、記憶している等化係数算出データADP_DT0〜ADP_DT3を、適応等化演算回路36に出力する。
次に、FIFO33a〜33dについて詳細に説明する。
図9は、FIFOの回路図である。図に示すようにFIFO33aは、レジスタ91、フリップフロップ(FF)92,95,97、ライトカウンタ(WRTCNTR)93、比較器(CMP)94、AND回路96、およびリードカウンタ(READCNTR)98を有している。
FF92には、図示してないが受信回路32aのクロックARX_CLK0が入力され、このクロックARX_CLK0に同期して、スタート信号FIFO_START0をWRTCNTR93に出力している。
WRTCNTR93には、図示していないが受信回路32aのクロックARX_CLK0が入力され、FF92からスタート信号FIFO_START0が入力される。WRTCNTR93は、FF92からスタート信号FIFO_START0が入力されると、クロックARX_CLK0に基づいてカウントを開始し、ライトアドレスWRT_ADを生成する。ライトアドレスWRT_ADは、レジスタ91およびCMP94に出力される。
レジスタ91には、受信回路32aから出力される等化係数算出データARX_DT0が入力される。レジスタ91は、WRTCNTR93から出力されるライトアドレスWRT_ADに基づいて、等化係数算出データARX_DT0を記憶していく。
CMP94には、WRTCNTR93から出力されるライトアドレスWRT_ADと、しきい値信号READ_TH0が入力される。CMP94は、ライトアドレスWRT_ADと、しきい値信号READ_TH0とを比較し、ライトアドレスWRT_ADがしきい値信号READ_TH0以上になると、信号をFF97に出力する。
FF95には、図示してないが受信回路32aのクロックARX_CLK0が入力され、このクロックARX_CLK0に同期して、FF92から出力される信号をAND回路96に出力する。AND回路96には、FF92,95から出力される信号が入力される。
FF97には、CMP94から出力される信号と、AND回路96から出力される信号が入力される。FF97には、図示してないが、適応等化回路34で生成されるクロックADP_CLKAが入力され、このクロックADP_CLKAに同期して、CMP94の信号をレディ信号FIFO_READY0として出力する。すなわち、レジスタ91に記憶される等化係数算出データARX_DT0の個数が、しきい値信号READ_TH0の示す個数を超えると、適応等化回路34で生成されるクロックADP_CLKAに同期して、レディ信号FIFO_READY0を適応等化制御回路35に出力する。なお、FF92に入力されるスタート信号FIFO_START0がL状態になると、FF97は、出力しているレディ信号FIFO_READY0をリセットする。
READCNTR98には、図示していないが適応等化回路34で生成されるクロックADP_CLKAが入力され、適応等化制御回路35からイネーブル信号FIFO_READ_EN0が入力される。READCNTR98は、イネーブル信号FIFO_READ_EN0が入力されると、クロックADP_CLKAに基づいてカウントを開始し、リードアドレスREAD_ADを生成する。リードアドレスREAD_ADは、レジスタ91に出力され、レジスタ91は、リードアドレスREAD_ADに基づいて、記憶している等化係数算出データARX_DT0を等化係数算出データADP_DT0として出力する。
上述したように、FF92,95およびWRTCNTR93は、受信回路32aから出力されるクロックARX_CLK0に同期して動作する。FF97およびREADCNTR98は、クロックADP_CLKAに同期して動作する。これにより、受信回路32aは、クロックARX_CLK0に同期して等化係数算出データARX_DT0をFIFO33aに書き込むことができ、適応等化回路34は、自己で生成するクロックADP_CLKAに同期して等化係数算出データADP_DT0を読み出すことができる。FIFO33b〜33dも図9と同様の回路構成を有し、受信回路32b〜32dは、クロックARX_CLK1〜ARX_CLK3に同期して等化係数算出データARX_DT1〜ARX_DT3を書き込むことができ、適応等化回路34は、自己で生成するクロックADP_CLKAに同期して等化係数算出データADP_DT1〜ADP_DT3を読み出すことができる。このように、FIFO33a〜33dによってクロックのタイミングのずれを吸収することにより、受信回路32a〜32dより少ない数の適応等化回路34によって等化係数EQ0〜EQ3の算出を行うことができる。
次に、図9のFIFO33aの動作を、タイミングチャートを用いて説明する。
図10は、図9のFIFOの動作を示したタイミングチャートである。図には、受信回路32aから出力されるクロックARX_CLK0および等化係数算出データARX_DT0が示してある。また、適応等化制御回路35から出力されるスタート信号FIFO_START0、適応等化回路34で生成されるクロックADP_CLKA、およびイネーブル信号FIFO_READ_EN0が示してある。また、FIFO33aで生成されるライトアドレスWRT_AD、リードアドレスREAD_AD、レディ信号FIFO_READY0、および等化係数算出データADP_DT0が示してある。なお、FIFO33aには、2のしきい値信号READ_TH0が入力されているとする。
受信回路32aからは、図に示すようにクロックARX_CLK0に同期して等化係数算出データARX_DT0が出力される。
適応等化制御回路35から、図に示すようにスタート信号FIFO_START0が出力されると、FIFO33aのWRTCNTR93は、クロックARX_CLK0に同期してライトアドレスWRT_ADを出力する。
そして、FIFO33aは、しきい値信号READ_TH0が2であるので、図に示すようにレジスタ91に等化係数算出データADP_DT0が2個記憶されると(ライトアドレスWRT_ADが2進むと)、適応等化回路34で生成されるクロックADP_CLKAに同期して、レディ信号FIFO_READY0を出力する。
適応等化制御回路35は、FIFO33aからのレディ信号FIFO_READY0を受けて、図に示すようにイネーブル信号FIFO_READ_EN0を出力する。FIFO33aは、適応等化制御回路35からのイネーブル信号FIFO_READ_EN0を受けて、図に示すようなリードアドレスREAD_ADを生成し、等化係数算出データADP_DT0を出力する。このようにして、等化係数算出データARX_DT0はFIFO33aに書き込まれ、等化係数算出データADP_DT0として読み出される。
以下、データ受信装置の動作について説明する。
適応等化制御回路35は、FIFO33a〜33dと適応等化演算回路36に動作指示を行う。FIFO33a〜33dのそれぞれは、受信回路32a〜32dのそれぞれと、適応等化制御回路35および適応等化演算回路36の位相差を吸収する。適応等化演算に用いられる受信回路32a〜32dの等化係数算出データARX_DT0〜ARX_DT3は、FIFO33a〜33dに一端書き込まれた後、適応等化演算回路36によって順次読み出される。適応等化演算回路36は、FIFO33a〜33dに書き込まれた受信回路32a〜32dの等化係数算出データADP_DT0〜ADP_DT3(等化係数算出データARX_DT0〜ARX_DT3)を用い、各受信回路32a〜32dが有している等化器の等化係数EQ0〜EQ3を算出する。
適応等化回路34は、等化係数算出データADP_DT0〜ADP_DT3を平均化することなく適応等化演算をする場合、図18の構成に比べ処理するデータ量が4倍となる。また、適応等化ループの時定数および収束速度は4倍となる。
一方、等化係数算出データADP_DT0〜ADP_DT3を平均化すると、特定の受信回路32a〜32dにて発生したノイズ等による局所的なエラーの影響を小さくし、適応等化ループの収束精度の向上を図ることができる。この平均化処理は、適応等化ループの時定数を1/4倍にすることにより実現することができる。図7に示すsspの値を1/4にすることにより、従来に対し収束速度を低下させることなく、収束精度の向上を図ることができる。
適応等化演算処理開始時には、収束速度向上を目的とした演算を行い、受信回路32a〜32dの等化器の等化係数が収束傾向になれば、収束精度向上を目的とした演算を行うこともできる。図7のssp制御部64は、この処理を実現することができる。ssp制御部64は、積分器65〜67から出力される演算結果をモニタし、その演算結果に応じてsspを調整すればよい。
このように、複数の受信回路32a〜32dの全部または一部に対して1つの適応等化回路34を設け、対応する受信回路32a〜32dの等化器の等化係数を算出するようにした。これによって、回路規模を抑制することができ、消費電力を低減することができる。
また、等化係数の平均化を行わない場合、等化係数の収束速度はn倍(n:受信回路の数)となり、収束時間は1/nとなる。
また、等化係数の平均化を行うことにより、等化係数の収束精度の向上を図ることができる。
なお、適応等化回路34は、受信回路32a〜32dの所定数ずつ(2以上)に対応して設けるようにしてもよい。例えば、受信回路32a,32bに対し1つ設け、受信回路32c,32dに対し1つ設けるようにしてもよい。これによっても、受信回路32a〜32dの1つずつに対して適応等化回路34を設けるよりも、回路規模を抑制し、消費電力を低減することができる。
次に、本発明の第2の実施の形態を図面を参照して詳細に説明する。
図11は、第2の実施の形態に係るデータ受信装置の回路構成を示した図である。図に示すようにデータ受信装置は、受信回路102a〜102d、レジスタ103a〜103d、および適応等化回路104より構成されている。枠101a〜101d,105のそれぞれは、クロックドメインを表している。つまり、枠101a〜101d,105のそれぞれの回路は、非同期で動作する。なお、図11のデータ受信装置を図2の通信装置に対応させるとすると、図11の受信回路102a〜102dは、例えば、図2の通信装置のLSI13aが具備する受信回路に対応し、適応等化回路104は、LSI13aが具備する適応等化回路に対応する。また、受信回路102a〜102dは、バックボード11の伝送線路を介して、LSI12aの送信回路にポイントツーポイント接続されることになる。
受信回路102a〜102dのそれぞれは、伝送線路からデータDT0〜DT3を受信する。受信回路102a〜102dのそれぞれは、図示していないが等化器を有している。適応等化回路104は、受信回路102a〜102dから所定のデータを受信し、等化器がデータDT0〜DT3の波形を適正に整形できるように、等化器の等化係数を算出する。そして、算出した等化係数を各受信回路102a〜102dに出力する。なお、受信回路102a〜102dは、図5と同様の回路構成を有している。
図に示すように複数の受信回路102a〜102dに対し、1つの適応等化回路104が具備されている。受信回路102a〜102dは、独立して処理を行うため、動作タイミングが異なる(動作クロックの周波数は同じであるが、位相が異なる)。そのため、1つの適応等化回路104が、受信回路102a〜102dの全てとデータの送受信を行えるには、受信回路102a〜102dと適応等化回路104との動作タイミングを同期させる必要がある。そこで、受信回路102a〜102dごとにレジスタ103a〜103dを設け、受信回路102a〜102dがレジスタ103a〜103dにデータを書き込み、適応等化回路104がそれを読み出すことにより、データの送受信を行えるようにしている。
受信回路102a〜102dは、等化器の等化係数算出のために必要なMビットの等化係数算出データARX_DT0〜ARX_DT3をレジスタ103a〜103dに出力する。また、受信回路102a〜102dは、適応等化回路104から等化係数EQ0〜EQ3が入力される。受信回路102a〜102dの等化器は、等化係数EQ0〜EQ3に応じて、データDT0〜DT3の波形整形を行い、データDT0〜DT3が適正に判定されるようにする。また、受信回路102a〜102dは、等化係数算出データARX_DT0〜ARX_DT3の有効期間を示すデータ有効信号ARX_DT_EN0〜ARX_DT_EN3をレジスタ103a〜103dに出力する。
図12は、データ有効信号と等化係数算出データの波形を示した図である。図に示す波形W31は、データ有効信号ARX_DT_EN0の波形を示す。波形W32は、等化係数算出データARX_DT0の波形を示す。波形W31に示すようにデータ有効信号ARX_DT_EN0は、等化係数算出データARX_DT0が有効である期間を示している。なお、データ有効信号ARX_DT_EN1〜ARX_DT_EN3も同様に、等化係数算出データARX_DT1〜ARX_DT3の有効期間を示す。
図11の説明に戻る。レジスタ103a〜103dには、適応等化回路104の動作に同期するクロックADP_CLKAが入力される。レジスタ103a〜103dは、クロックADP_CLKAの立上りおよび立下りの一方に同期して、一時的に保持しているMビットの等化係数算出データADP_DT0〜ADP_DT3(受信回路102a〜102dによって書き込まれた等化係数算出データARX_DT0〜ARX_DT3)を、適応等化回路104に出力する。
適応等化回路104は、スタート信号STARTを受けて動作を開始する。適応等化回路104には、クロックADP_CLKBが入力されており、適応等化回路104は、このクロックADP_CLKBに同期して動作する。また、適応等化回路104は、レジスタ103a〜103dから等化係数算出データADP_DT0〜ADP_DT3を読み出し、この等化係数算出データADP_DT0〜ADP_DT3に基づいて、受信回路102a〜102dの等化器が、データDT0〜DT3の波形を整形するための、等化係数EQ0〜EQ3を算出する。適応等化回路104は、算出した等化係数EQ0〜EQ3を受信回路102a〜102dに出力する。なお、適応等化回路104は、図7と同様の回路構成を有し、等化係数EQ0〜EQ3を算出する。
次に、レジスタ103a〜103dについて詳細に説明する。
図13は、レジスタの回路図である。図に示すようにレジスタ103aは、FF111〜114、ロジック回路115、およびセレクタ116を有している。
FF111には、セレクタ116から出力されるセレクタクロックSEL_CLKと、受信回路102aから出力される等化係数算出データARX_DT0が入力され、FF111は、セレクタクロックSEL_CLKに同期して、等化係数算出データARX_DT0をFF112に出力する。FF112〜114には、クロックADP_CLKAが入力され、FF112〜114は、このクロックADP_CLKAに同期して動作する。
FF113,114には、受信回路102aから出力されるデータ有効信号ARX_DT_EN0が入力される。また、FF113,114には、クロックADP_CLKAが入力され、FF113,114は、このクロックADP_CLKAに同期して動作する。FF114のクロックADP_CLKAが入力される端子は、反転入力端子となっている。FF113は、クロックADP_CLKAの立上りに同期してデータ有効信号ARX_DT_EN0の状態をロジック回路115に出力し、FF114は、クロックADP_CLKAの立下りに同期してデータ有効信号ARX_DT_EN0の状態をロジック回路115に出力する。
ロジック回路115は、FF113,114から出力される信号に応じて、H状態およびL状態の信号をセレクタ116に出力する。ロジック回路115は、FF113の出力がH状態のとき、L状態の信号を出力する。それ以外の状態では、H状態を出力する。
セレクタ116には、クロックADP_CLKAが入力される。セレクタ116の一方の入力端子は、反転入力端子となっている。セレクタ116は、ロジック回路115から出力される信号に応じて、クロックADP_CLKAおよび反転したクロックADP_CLKAをセレクタクロックSEL_CLKとしてFF111に出力する。例えば、ロジック回路115からL状態の信号が出力される場合、クロックADP_CLKAをセレクタクロックSEL_CLKとして出力する。ロジック回路115からH状態の信号が出力される場合、反転したクロックADP_CLKAをセレクタクロックSEL_CLKとして出力する。
すなわち、レジスタ103aは、データ有効信号ARX_DT_EN0が出力されているとき(H状態であるとき)のクロックADP_CLKAの立上りに同期して、等化係数算出データADP_DT0を出力する。なお、レジスタ103b〜103dもレジスタ103aと同様にして、クロックADP_CLKAの立上りに同期して、等化係数算出データADP_DT1〜ADP_DT3を出力する。
次に、図13のレジスタ103aの動作を、タイミングチャートを用いて説明する。
図14は、図13のレジスタの動作を示したタイミングチャートである。図には受信回路102aから出力されるデータ有効信号ARX_DT_EN0および等化係数算出データARX_DT0が示されている。また、クロックADP_CLKAの立下り時に等化係数算出データARX_DT0を取り込む場合と、クロックADP_CLKAの立上り時に等化係数算出データARX_DT0を取り込む場合の、クロックADP_CLKA、セレクタクロックSEL_CLK、および等化係数算出データADP_DT0のタイミングチャートが示してある。
図に示すデータ有効信号ARX_DT_EN0は、等化係数算出データARX_DT0の有効期間を示している。レジスタ103aは、データ有効信号ARX_DT_EN0のH状態の期間におけるクロックADP_CLKAの立下りおよび立上りの一方を検出し、検出したクロックADP_CLKAに同期して、等化係数算出データARX_DT0を出力する。
次に、受信回路102aの等化係数算出データARX_DT0とデータ有効信号ARX_DT_EN0の生成について説明する。
図15は、受信回路の等化係数算出データとデータ有効信号を生成する回路の回路図である。図に示すように受信回路102aは、FF121〜123,125、OR回路124を有している。
FF121には、クロックARX_CLK0と伝送線路から受信したデータRX_DT0が入力される。FF121は、クロックARX_CLK0に同期して、データRX_DT0を等化係数算出データARX_DT0として出力する。
FF122は、クロックRX_CLKA0を分周し、FF123は、クロックRX_CLKB0を分周する。OR回路124は、FF122,FF123から出力されるクロックARX_CLK0とクロックRX_CLKB0の論理和をとり、FF125へ出力する。FF125は、クロックRX_CLKA0に同期して動作し、OR回路124の出力を、データ有効信号ARX_DT_EN0として出力する。
受信回路102aは、1つの機能としてデマックスを行っている。つまり、伝送線路を介して送られてくるシリアルのデータDT0を受信し、Nビットにまとめ出力する。例えば、データDT0を10Gbpsのシリアルデータとし、Nを32ビットとすると、受信回路102aは、例えば、外部にあるPLLから5GHzのクロックを受け、その立上りと立下りを利用してデータDT0を受信する。その後、5GHzのクロックを分周するとともに、データDT0を32ビットにまとめ、10G/32=312.5Mbpsのデータ速度にて出力する。図に示す各クロックの周波数比は、RX_CLKA0:RX_CLKB0:ARX_CLK0=1:0.5:0.25である。適応等化演算に用いる等化係数算出データARX_DT0は、クロックARX_CLK0に同期して出力される。この等化係数算出データARX_DT0の有効期間を示すデータ有効信号ARX_DT_EN0は、クロックARX_CLK0とこれを生成するクロックRX_CLKB0との論理和を、クロックRX_CLKB0を生成するクロックRX_CLKA0に同期させることにより生成することができる。
次に、図15の受信回路102aの動作を、タイミングチャートを用いて説明する。
図16は、図15の受信回路の動作を示したタイミングチャートである。図には、クロックRX_CLKA0,RX_CLKB0,ARX_CLK0が示してある。また、データ有効信号ARX_DT_EN0、データRX_DT0、および等化係数算出データARX_DT0が示してある。なお、各波形には、各回路による遅延時間が考慮されている。
図に示すようにクロックRX_CLKB0は、クロックRX_CLKA0を2分周したものである。クロックARX_CLK0は、クロックRX_CLKB0を2分周したものである。データ有効信号ARX_DT_EN0は、クロックARX_CLK0とこれを生成するクロックRX_CLKB0との論理和を、クロックRX_CLKB0を生成するクロックRX_CLKA0に同期させることにより生成したものである。これによって、データ有効信号ARX_DT_EN0は、FF121から出力される等化係数算出データARX_DT0のデータ有効期間を表すことができる。
このように、複数の受信回路102a〜102dの全部または一部に対して1つの適応等化回路104を設け、対応する受信回路102a〜102dの等化器の等化係数を算出するようにした。これによって、回路規模を抑制することができ、消費電力を低減することができる。
また、受信回路102a〜102dから、等化係数算出データARX_DT0〜ARX_DT3の有効期間を示すデータ有効信号ARX_DT_EN0〜ARX_DT_EN3を出力するようにし、適応等化回路104は、データ有効信号ARX_DT_EN0〜ARX_DT_EN3の出力中にラッチした等化係数算出データを読み出すようにした。これによって、FIFOなどの記憶装置を用いることなく、クロックの乗せ換えを実現でき、より一層回路規模の抑制と消費電力の低減を図ることができる。
なお、適応等化回路104は、受信回路102a〜102dの所定数ずつ(2以上)に対して設けるようにしてもよい。例えば、受信回路102a,102bに対し1つ設け、受信回路102c,102dに対し1つ設けるようにしてもよい。これによっても、受信回路102a〜102dの1つずつに対して適応等化回路104を設けるよりも、回路規模を抑制し、消費電力を低減することができる。
次に、本発明の第3の実施の形態を図面を参照して詳細に説明する。
図17は、第3の実施の形態に係るデータ受信装置の回路構成を示した図である。図に示すようにデータ受信装置は、受信回路132a〜132dおよび適応等化回路133を有している。枠131a〜131dのそれぞれは、クロックドメインを表している。つまり、枠131a〜131dのそれぞれの回路は、非同期で動作する。なお、図17のデータ受信装置を図2の通信装置に対応させるとすると、図17の受信回路132a〜132dは、例えば、図2の通信装置のLSI13aが具備する受信回路に対応し、適応等化回路133は、LSI13aが具備する適応等化回路に対応する。また、受信回路132a〜132dは、バックボード11の伝送線路を介して、LSI12aの送信回路に接続されることになる。
受信回路132a〜132dは、図5で説明したものと同様の等化器を有している。適応等化回路133は、図7で説明したものと同様の適応等化演算回路を有している。図17のデータ受信装置では、適応等化回路133が、受信回路132aから出力されるクロックARX_CLK0に同期してMビットの等化係数算出データARX_DT0を受信し、受信回路132aの等化器の等化係数EQ0を算出する。なお、適応等化回路133は、受信回路132aに対応して設けられているが、他の受信回路132b〜132dのどれかに対応して設けられてもよい。
ところで、受信回路132a〜132dと送信回路を結ぶそれぞれの伝送線路は、例えば、図2で示したように、同一のバックボード11に設けられている。従って、伝送線路や伝送線路と基板12〜13とを接続するコネクタ等によるデータDT0〜DT3の波形の歪みは、受信回路132a〜132dにおいて同様であると考えられる。そこで、図17に示すように、1つの適応等化回路133で算出された等化係数EQ0を受信回路132b〜132dに出力し、波形整形することもできる。なお、この考え方は、第1、第2の実施の形態にも当てはまる。
このように、1つの受信回路132aの等化器の等化係数を算出し、この等化係数を他の受信回路132b〜132dに出力するようにした。これによって、回路規模を抑制することができ、消費電力を低減することができる。
なお、適応等化回路133は、受信回路132a〜132dの所定数ずつ(2以上)に対応して設けるようにしてもよい。例えば、受信回路132a,132bに対し1つ設け、受信回路132c,132dに対し1つ設けるようにしてもよい。これによっても、受信回路132a〜132dの1つずつに対して適応等化回路133を設けるよりも、回路規模を抑制し、消費電力を低減することができる。