(57)【特許請求の範囲】
【請求項１】
光信号を電流信号に変換する受光素子と、
上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、
上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、
上記光信号の無信号区間を検出する無信号検出回路と、
上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含むオフセットキャンセル処理を繰り返す制御部と、を備えており、
上記制御部は、上記無信号区間において上記閾電圧変更処理をスキップする、
ことを特徴とする光受信器。
【請求項２】
上記光受信器は、上記閾電圧を生成する可変電圧源を更に備えており、
上記制御部は、上記可変電圧源を制御することによって、上記閾電圧を変更する、
ことを特徴とする請求項１に記載の光受信器。
【請求項３】
上記無信号検出回路は、上記無信号区間を示すＬＯＳ（Loss Of Signal）信号の値を格納するクリア・オン・リードのレジスタを備えており、上記制御部は、上記レジスタから読み出したＬＯＳ信号の値を参照して上記無信号区間を特定する、
ことを特徴とする請求項１又は２に記載の光受信器。
【請求項４】
上記光信号には、有信号区間の時間幅に信号として意味がある第１の光信号と、有信号区間のビットパターンに信号としての意味がある第２の光信号であって、有信号区間の時間幅が上記第１の光信号よりも長い第２の光信号とが含まれており、
ＬＯＳ信号の値を上記制御部が上記レジスタから読み出す周期は、上記第１の光信号の有信号区間の時間幅よりも長く、かつ、上記第２の光信号の有信号区間の時間幅よりも短く設定されている、
ことを特徴とする請求項３に記載の光受信器。
【請求項５】
上記オフセットキャンセル処理は、上記閾電圧変更処理における上記閾電圧の変化量が異なる２つの実行モードを有しており、
上記制御部は、上記オフセット電圧の符号が反転した、又は、上記オフセット電圧の大きさが許容誤差を下回った時点で、上記オフセットキャンセル処理の実行モードを、上記閾電圧の変化量が大きい第１の実行モードから上記閾電圧の変化量が小さい第２の実行モードへと切り替える、
ことを特徴とする請求項１〜４の何れか１項に記載の光受信器。
【請求項６】
上記制御部は、上記オフセット電圧の符号が反転した、又は、上記オフセット電圧の大きさが許容誤差を下回った時点で、上記オフセットキャンセル処理の実行頻度を低下させる、
ことを特徴とする請求項１〜５の何れか１項に記載の光受信器。
【請求項７】
上記光受信器は、上記トランスインピーダンスアンプ、上記差動アンプ、及び上記無信号検出回路を２チャンネル分以上備えており、
上記制御部は、上記オフセット電圧の符号が未だ反転していない、又は、上記オフセット電圧の大きさが未だ許容誤差を下回っていないチャンネルがなくなった時点で、上記オフセットキャンセル処理の実行頻度を低下させる、
ことを特徴とする請求項１〜６の何れか１項に記載の光受信器。
【請求項８】
上記制御部は、該制御部の動作終了時、又は、該制御部の動作中定期的に上記閾電圧の値を不揮発性メモリに書き込むと共に、該制御部の動作開始時に上記閾電圧の値を上記不揮発性メモリから読み出し、読み出した上記閾電圧の値を上記オフセットキャンセル処理の初期値として利用する、
ことを特徴とする請求項１〜７の何れか１項に記載の光受信器。
【請求項９】
請求項１〜８の何れか１項に記載の光受信器を備えている、
ことを特徴とするアクティブ光ケーブル。
【請求項１０】
光信号を電流信号に変換する受光素子と、上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、を備えた光受信器の制御方法であって、
上記光信号の無信号区間を検出する無信号検出工程と、
上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含むオフセットキャンセル処理を繰り返す制御工程と、を含んでおり、
上記制御工程においては、上記光信号の無信号区間において上記閾電圧変更処理をスキップする、
ことを特徴とする光受信器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信した光信号を電圧信号に変換して外部に出力する光受信器に関する。また、本発明は、そのような光受信器を備えたアクティブ光ケーブルに関する。更に、本発明は、そのような光受信器の制御方法に関する。
【背景技術】
【０００２】
メタルケーブルに代わる伝送媒体として、アクティブ光ケーブルが耳目を集めている。アクティブ光ケーブルは、光ファイバを収容したケーブルと、ケーブルの両端に設けられた１対のコネクタにより構成される。一方のコネクタは、外部（例えば、データセンタのコンピュータ）から入力された電圧信号を光信号に変換して送信する光送信器として機能する。他方のコネクタは、受信した光信号を電圧信号に変換して外部（例えば、データセンタのストレージ）に出力する光受信器として機能する。双方のコネクタの各々を光送信器及び光受信器として機能させれば、アクティブ光ケーブルを用いた双方向通信を実現することも可能である。【０００３】
アクティブ光ケーブルのコネクタとして用いることができる従来の光受信器２を図９に示す。光受信器２は、光信号を電流信号に変換する受光素子２１と、電流信号を電圧信号に変換する受信回路２２とを備えている。【０００４】
受信回路２２は、トランスインピーダンスアンプ２２ａ、差動アンプ２２ｂ〜２２ｅ、ローパスフィルタ２２ｆ、及びエラーアンプ２２ｇにより構成されている。【０００５】
トランスインピーダンスアンプ２２ａは、受光素子２１から出力される電流信号を電圧信号（シングルエンド）に変換する。差動アンプ２２ｂは、トランスインピーダンスアンプ２２ａから出力される電圧信号と閾電圧Ｖthとの差を差動増幅することによって、正相信号と逆相信号とからなる差動信号を得る。差動アンプ群２２ｃ〜２２ｅは、差動アンプ２２ｂから出力される差動信号を差動増幅する。【０００６】
トランスインピーダンスアンプ２２ａの出力電圧をＶtiaとすると、差動アンプ２２ｂの正相出力電圧Ｖ１pは、Ｖ１ocm＋ａ１×（Ｖtia−Ｖth）／２で表され、差動アンプ２２ｂの逆相出力電圧Ｖ１nは、Ｖ１ocm−ａ１×（Ｖtia−Ｖth）／２で表される。ここで、Ｖ１ocmは、差動アンプ２２ｂの出力コモンモード電圧（予め定められた値）であり、ａ１は、差動アンプ２２ｂのゲイン（予め定められた値）である。【０００７】
トランスインピーダンスアンプ２２ａから出力される電圧信号のハイレベルとローレベルとの平均値（以下、「トランスインピーダンスアンプ２２ａの平均出力レベル」とも記載する）が閾電圧Ｖthと一致している場合、差動アンプ２２ｂから出力される正相信号及び逆相信号の波形は、それぞれ、出力コモンモード電圧Ｖ１ocmに対して対称になる。一方、受信する光信号のパワーが変動し、トランスインピーダンスアンプ２２ａの平均出力レベルが閾電圧Ｖthと一致していない場合、差動アンプ２２ｂから出力される正相信号及び逆相信号の波形は、それぞれ、出力コモンモード電圧Ｖ１ocmに対して非対称になる。このような非対称性によって、光受信器２の出力信号の波形に歪が生じる。【０００８】
ローパスフィルタ２２ｆ及びエラーアンプ２２ｇは、このような問題を回避するための構成である。ローパスフィルタ２２ｆは、差動アンプ２２ｃから出力される正相信号及び逆相信号の各々を平滑化する。エラーアンプ２２ｇには、ローパスフィルタ２２ｆから出力される平滑化された正相信号（正相信号のＤＣ成分）と、ローパスフィルタ２２ｆから出力される平滑化された逆相信号（逆相信号のＤＣ成分）とが入力される。エラーアンプ２２ｇは、これら２つの信号の値の差、すなわち、差動アンプ２２ｃから出力される差動信号のオフセット電圧を積分する。エラーアンプ２２ｇから出力されるオフセット電圧の積分値は、閾電圧Ｖthとして差動アンプ２２ｂの逆相入力にフィードバックされる。【０００９】
エラーアンプ２２ｇから出力されるオフセット電圧の積分値は、トランスインピーダンスアンプ２２ａの平均出力レベルに追従する。このため、受信する光信号のパワーが変動しても、上記のような問題を生じることはない。【００１０】
なお、差動信号のオフセット電圧をキャンセルする技術を開示した文献としては、例えば、特許文献１が挙げられる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】日本国公開特許公報「特開２００８−１０９５５９号」（公開日：２００８年５月８日）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来の光受信器２（図９参照）には、光信号が無信号区間から有信号区間へと遷移した直後に出力信号の波形が歪むという問題があった。以下、この問題について、図１０を参照してもう少し詳しく説明する。【００１３】
図１０の（ａ）は、受光素子２１が受光する光信号の波形図である。図１０の（ｂ）は、トランスインピーダンスアンプ２２ａが出力する電圧信号の波形図である。なお、図１０の（ｂ）には、エラーアンプ２２ｇが出力する閾電圧Ｖthの時間変化を点線で併記している。【００１４】
図１０の（ａ）に示す光信号は、値がハイレベルとローレベルとを交互に取るＤＡＴＡ区間（有信号区間）と、値がオフレベルを取り続けるＩＤＬＥ区間（無信号区間）とからなるパターンを有している。受光素子２１が図１０の（ａ）に示す光信号を受信すると、トランスインピーダンスアンプ２２ａは、図１０の（ｂ）に示す電圧信号を出力する。【００１５】
図１０の（ｂ）に示すように、ＤＡＴＡ区間とＩＤＬＥ区間とでは、トランスインピーダンスアンプ２２ａの平均出力レベルが異なる。このため、ＩＤＬＥ区間からＤＡＴＡ区間へと遷移した時点から、エラーアンプ２２ｇの出力電圧ＶthがＤＡＴＡ区間におけるトランスインピーダンスアンプ２２ａの平均出力レベルに追い付く時点まで、光受信器２の出力信号の波形に歪が生じることになる。【００１６】
なお、ＳＡＳ（Serial Attached SCSI）に準拠したシリアル通信のリンクアップシーケンスにおいては、値がハイレベルとローレベルとを交互に取るＤＡＴＡ区間と、値がハイレベルとローレベルとの間の中間レベルを取り続けるＩＤＬＥ区間とからなるパターンを有するＯＯＢ（Out Of Band）信号を送受信することがある。また、ＰＣＩｅ（PCI Express）に準拠したシリアル通信でも、ハイレベルとローレベルとが交互に繰り返されるＤＡＴＡ区間と、中間レベルが維持されるＥＩ（Electrical Idle）区間とからなるパターンを有する信号を送受信することがある。このため、これらの規格に準拠したシリアル通信をアクティブ光ケーブルを用いて実現する場合には、例えば、図１０の（ａ）に示すようなパターンを有する光信号を送受信することが必要になる。【００１７】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、無信号区間から有信号区間に遷移した直後に出力信号の波形を歪ませることなくオフセットキャンセルを行うことができる光受信器を実現することにある。
【課題を解決するための手段】
【００１８】
上記の課題を解決するために、本発明に係る光受信器は、光信号を電流信号に変換する受光素子と、上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、上記光信号の無信号区間を検出する無信号検出回路と、上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含むオフセットキャンセル処理を繰り返す制御部と、を備えており、上記制御部は、上記無信号区間において上記閾電圧変更処理をスキップする、ことを特徴とする。【００１９】
また、上記の課題を解決するために、本発明に係る光受信器の制御方法は、光信号を電流信号に変換する受光素子と、上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、を備えた光受信器の制御方法であって、上記光信号の無信号区間を検出する無信号検出工程と、上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含むオフセットキャンセル処理を繰り返す制御工程と、を含み、上記制御工程においては、上記光信号の無信号区間において上記閾電圧変更処理をスキップする、ことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、無信号区間から有信号区間に遷移した直後に出力信号の波形を歪ませることなくオフセットキャンセルを行うことができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係る光受信器の構成を示すブロック図である。
【図２】図１に示す光受信器のＭＣＵが実行するオフセットキャンセル処理の流れを示すフローチャートである。
【図３】図１に示す光受信器のＭＣＵが実行する処理全体の流れを示すフローチャートである。
【図４】図３に示すフローチャートに従ってオフセットキャンセル処理の実行タイミングを決定することによって実現される、ＭＣＵの一動作例を示す図である。
【図５】変数Ｖthの初期値が最大値及び最小値に設定されている場合について、受信パワー［ｄＢｍ］と、その受信パワーの下でオフセットをキャンセルするために必要な変数Ｖthの変化量［ステップ］との関係を示すグラフである。
【図６】図１に示す光受信器のＭＣＵが実行する閾電圧変更処理の流れを示すフローチャートである。
【図７】図６に示すフローチャートに従って閾電圧変更処理を実行することによって実現される、ＭＣＵの一動作例を示す図である。
【図８】図１に示す光受信器を備えたアクティブ光ケーブルのブロック図である。
【図９】従来の光受信器の構成を示すブロック図である。
【図１０】（ａ）は、図９に示す光受信器の受光素子が受信する光信号の波形図である。（ｂ）は、図９に示す光受信器のトランスインピーダンスが出力する電圧信号の波形図である。
【発明を実施するための形態】
【００２２】
〔光受信器の構成〕
光受信器１の構成について、図１を参照して説明する。図１は、光受信器１の構成を示すブロック図である。
【００２３】
光受信器１は、受信した光信号を電圧信号（本実施形態においては差動電圧信号）に変換して外部に出力する装置である。光受信器１は、図１に示すように、受光素子１１、受信回路１２、ＭＣＵ（Micro Controller Unit）１３、不揮発性メモリ１４、及び基準電圧源１５を備えている。
【００２４】
受光素子１１は、受信した光信号を電流信号に変換するための構成である。本実施形態においては、受光素子１１としてＰＤ（Photo Diode）を用いている。受光素子１１にて得られた電流信号は、受信回路１２に入力される。
【００２５】
受信回路１２は、受光素子１１にて得られた電流信号を差動電圧信号（以下、「差動信号」と記載）に変換するための構成である。受信回路１２は、図１に示すように、トランスインピーダンスアンプ１２ａ、可変電圧源１２ｂ、ダミートランスインピーダンスアンプ１２ｃ、差動アンプ１２ｄ〜１２ｇ、ローパスフィルタ１２ｈ、スイッチ１２ｉ、エラーアンプ１２ｊ、ＬＯＳ（Loss Of Signal）検出回路１２ｋ、及びＩ２Ｃインタフェース１２ｍを備えている。
【００２６】
トランスインピーダンスアンプ１２ａは、受光素子１１にて得られた電流信号を電圧信号（シングルエンド）に変換する。トランスインピーダンスアンプ１２ａの出力電圧Ｖtiaは、差動アンプ１２ｄの逆相入力端子に入力される。
【００２７】
可変電圧源１２ｂは、閾電圧Ｖthを生成する。可変電圧源１２ｂが生成する閾電圧Ｖthの大きさは、Ｉ２Ｃインタフェース１２ｍを介してＭＣＵ１３から制御することができる。可変電圧源１２ｂにて生成された閾電圧Ｖthは、差動アンプ１２ｄの正相入力端子に入力される。
【００２８】
なお、本実施形態においては、可変電圧源１２ｂとグランドとの間にダミートランスインピーダンスアンプ１２ｃを介在させている。これは、トランスインピーダンスアンプ１２ａの温度依存性及び電源電圧依存性（トランスインピーダンスアンプ１２ａの出力電圧に含まれる、受光素子１１を流れる光電流Ｉpdに依らない電圧成分）をキャンセルするためである。
【００２９】
差動アンプ１２ｄは、トランスインピーダンスアンプ１２ａから出力された電圧信号と閾電圧Ｖthとの差を差動増幅することによって、トランスインピーダンスアンプ１２ａから出力された電圧信号を差動信号に変換する。差動アンプ１２ｄの正相出力電圧Ｖ１pは、Ｖ１ocm＋ａ１×（Ｖtia−Ｖth）／２で表され、差動アンプ１２ｄの逆相出力電圧Ｖ１nは、Ｖ１ocm−ａ１×（Ｖtia−Ｖth）／２で表される。ここで、Ｖ１ocmは、差動アンプ１２ｄの出力コモンモード電圧（予め定められた値）であり、ａ１は、差動アンプ１２ｄのゲイン（予め定められた値）である。差動アンプ１２ｄにて得られた差動信号は、差動アンプ群１２ｅ〜１２ｇに入力される。
【００３０】
差動アンプ群１２ｅ〜１２ｇは、差動アンプ１２ｄにて得られた差動信号を増幅する。前段の差動アンプ１２ｅから出力された差動信号（正相出力電圧Ｖ２p及び逆相出力電圧Ｖ２n）は、ローパスフィルタ１２ｈに入力される。また、後段の差動アンプ１２ｇから出力された差動信号（正相出力電圧Ｖ４p及び逆相出力電圧Ｖ４n）は、光受信器１の外部に出力される。
【００３１】
ローパスフィルタ１２ｈは、差動アンプ１２ｅから出力された正相信号及び逆相信号をそれぞれ平滑化する。ローパスフィルタ１２ｈにて平滑化された正相信号、すなわち、正相信号のＤＣ成分＜Ｖ２p＞は、エラーアンプ１２ｊの正相入力端子に入力される。また、ローパスフィルタ１２ｈにて平滑化された逆相信号、すなわち、逆相信号のＤＣ成分＜Ｖ２ｎ＞は、エラーアンプ１２ｊの逆相入力端子に入力される。
【００３２】
エラーアンプ１２ｊは、ローパスフィルタ１２ｈにて平滑化された正相信号及び逆相信号の差を差動増幅する。エラーアンプ１２ｊの出力電圧Ｖerrは、オフセット電圧Ｖos＝＜Ｖ２ｐ＞−＜Ｖ２ｎ＞にエラーアンプ１２ｊのゲインａ２を乗じた積ａ２×（＜Ｖ２ｐ＞−＜Ｖ２ｎ＞）に、基準電圧Ｖrefを加算した和ａ２×（＜Ｖ２ｐ＞−＜Ｖ２ｎ＞）＋Ｖreffで表される。ここで、基準電圧Ｖrefは、エラーアンプ１２ｊの負極入力に接続された基準電圧源１５の出力電圧である。エラーアンプ１２ｊの出力電圧（以下、「エラーアンプ出力」と記載）Ｖerrは、ＭＣＵ１３に入力される。
【００３３】
ＬＯＳ検出回路１２ｋは、受信した光信号の値がオフレベルになる区間、すなわち、受光素子１１を流れる光電流Ｉpdが予め定められた閾値以下になる区間（以下、「無信号区間」と記載）を特定する。この閾値は、例えば、受光素子１１を流れる暗電流の大きさと同程度、或いは、微発光を受光した際に受光素子１１を流れる光電流と同程度に定められている。また、ＬＯＳ検出回路１２ｋは、特定した無信号区間を示すＬＯＳ信号を生成すると共に、生成したＬＯＳ信号の値を不図示のレジスタに格納する。本実施形態においては、無信号区間内で値「１」を取り、無信号区間外で値「０」を取るデジタル信号をＬＯＳ信号として用いる。また、本実施形態においては、値が読み出された後に値が更新されるクリア・オン・リードのレジスタを、ＬＯＳ信号の値を格納するレジスタとして用いる。このため、無信号区間が終了した後の最初の読み出しでは、ＬＯＳ信号の値として「１」が読み出される（ＬＯＳ信号の値として「０」が読み出されるのは、前回の読み出しから今回の読み出しまで非ＬＯＳ状態が継続した場合に限られる）。このレジスタに格納されたＬＯＳ信号の値は、Ｉ２Ｃインタフェース１２ｍを介してＭＣＵ１３に読み出される。
【００３４】
本実施形態においては、図１に示すように、受光素子１１と直列に接続された抵抗Ｒにおける降下電圧Ｒ×ＩpdがオペアンプＯＰを介してＬＯＳ検出回路１２ｋに入力される構成を採用している。ＬＯＳ検出回路１２ｋは、このオペアンプＯＰの出力電圧を参照することによって、無信号区間の特定を行う。
【００３５】
なお、受信回路１２は、エラーアンプ１２ｊ及びＩ２Ｃインタフェース１２ｍを除き、上述した構成を２チャンネル分以上（本実施形態においては４チャンネル分）備えている。スイッチ１２ｉは、エラーアンプ１２ｊに入力される差動信号の信号源となるチャンネルを切り替える。すなわち、スイッチ１２ｉにて選択されたチャンネルの差動アンプ１２ｅから出力された差動信号がエラーアンプ１２ｊに入力される。
【００３６】
ＭＣＵ１３は、オフセットキャンセル処理を実行するための構成であり、図１に示すように、電圧読出部１３ａ、ＬＯＳ読出部１３ｂ、閾電圧変更部１３ｃ、ＣＨ切替部１３ｄ、及びＩ２Ｃインタフェース１３ｅを備えている。ここで、オフセットキャンセル処理とは、可変電圧源１２ｂが生成する閾電圧Ｖthの大きさを変化させることによって、オフセット電圧Ｖosを０［Ｖ］に近づけるための処理、すなわち、エラーアンプ１２ｊの出力電圧Ｖerrを基準電圧Ｖrefに近づける処理のことを指す。なお、オフセットキャンセル処理の流れ、及び、オフセットキャンセル処理の実行タイミングについては、参照する図面を代えて後述する。
【００３７】
不揮発性メモリ１４は、閾電圧Ｖthの大きさ（より正確に言うと、閾電圧Ｖthの大きさを表す変数の値）を記憶するための構成である。本実施形態においては、不揮発性メモリ１４としてＥＥＰＲＯＭ（登録商標）を用いている。ＭＣＵ１３は、閾電圧Ｖthの大きさを不揮発性メモリ１４に書き込む閾電圧書込処理を、電源切断時などＭＣＵ１３の動作終了時（ＭＣＵ１３の動作が終了する直前）に実行する。また、ＭＣＵ１３は、閾電圧Ｖthの大きさを不揮発性メモリ１４から読み出す閾電圧読出処理を、電源投入時などＭＣＵ１３の動作開始時（ＭＣＵ１３の動作が開始した直後）に実行する。そして、ＭＣＵ１３は、動作開始時に不揮発性メモリ１４から読み出した（前回の動作終了時に不揮発性メモリ１４に書き込んだ）閾電圧Ｖthの大きさを、オフセットキャンセル処理における閾電圧Ｖthの初期値として利用する。
【００３８】
電源切断時に閾電圧書込処理を実行する場合には、例えば、電源電圧の大きさが予め定められた閾値を下回ったときに電源監視ＩＣ（不図示）が発するアラームを当該閾電圧書込処理の開始トリガーとすればよい。図１に示すように、電源とＭＣＵ１３との間にコンデンサＣ１とダイオードＤ１とからなる電圧保持回路を挿入すると共に、電源と不揮発性メモリ１４との間にコンデンサＣ２とダイオードＤ２とからなる電圧保持回路を挿入しておけば、電源電圧の大きさが予め定められた閾値を下回った後でもＭＣＵ１３及び不揮発性メモリ１４を正常に動作させることができる。
【００３９】
〔オフセットキャンセル処理の流れ〕
ＭＣＵ１３は、オフセットキャンセル処理を、図２に示すフローチャートに従って実行する。図２は、ＭＣＵ１３が実行するオフセットキャンセル処理の流れを示すフローチャートである。図２に示すフローチャートの各工程において、ＭＣＵ１３は、以下のように動作する。
【００４０】
工程Ｓ１１（電圧読出処理）：ＭＣＵ１３は、エラーアンプ１２ｊが出力する電圧Ｖerr、及び、基準電圧源１５が出力する基準電圧ＶrefをＡ／Ｄコンバータを介して読み出し、処理を工程Ｓ１２に移す。図１に示すＭＣＵ１３の電圧読出部１３ａは、この電圧読出処理を実行するための構成である。
【００４１】
工程Ｓ１２（ＬＯＳ読出処理）：ＭＣＵ１３は、ＬＯＳ検出回路１２ｋが生成するＬＯＳ信号の値をＩ２Ｃインタフェース１３ｅを介して読み出し、処理を工程Ｓ１３に移す。図１に示すＭＣＵ１３のＬＯＳ読出部１３ｂは、このＬＯＳ読出工程を実行するための構成である。
【００４２】
工程Ｓ１３（ＬＯＳ判定処理）：ＭＣＵ１３は、ＬＯＳ検出回路１２ｋが読み出したＬＯＳ信号の値が０であるか否かを判定する。ＭＣＵ１３は、ＬＯＳ信号の値が０である場合、処理を工程Ｓ１４に移す。ＭＣＵ１３は、ＬＯＳ信号の値が１である場合、オフセットキャンセル処理を終了する。
【００４３】
工程Ｓ１４（閾電圧変更処理）：ＭＣＵ１３は、電圧読出部１３ａが読み出したエラーアンプ出力Ｖerr及び基準電圧Ｖrefの値に基づいて、可変電圧源１２ｂが生成する閾電圧Ｖthの大きさを変更し、オフセットキャンセル処理を終了する。図１に示すＭＣＵ１３の閾電圧変更部１３ｃは、この閾電圧変更処理を実行するための構成である。閾電圧変更部１３ｃは、閾電圧Ｖthを表す変数の値を、（１）Ｖerr＞Ｖref＋Δが成り立つときには、現在の値よりもδだけ大きな値に設定し、（２）Ｖerr＜Ｖref−Δが成り立つときには、現在の値よりもδだけ小さな値に設定する。ここで、Δは、許容誤差として予め定められた正の定数である。そして、閾電圧変更部１３ｃは、閾電圧Ｖthの大きさが設定した値に一致するように、Ｉ２Ｃインタフェース１３ｅを介して可変電圧源１２ｂを制御する。なお、閾電圧変更処理の流れについては、参照する図面を代えて後述する。
【００４４】
上記のオフセットキャンセル処理により、オフセット電圧Ｖosを０［Ｖ］に近づけることができる理由は、以下のとおりである。Ｖos＞Δ（「Ｖerr＞Ｖref＋Δ」と等価）である場合、すなわち、トランスインピーダンスアンプ１２ａから出力される電圧信号の平均レベル（ハイレベルとローレベルとの平均値）に対して閾電圧Ｖthが小さすぎる場合、閾電圧変更処理によって閾電圧Ｖthが大きくなり、その結果、オフセット電圧Ｖosの値が小さくなる。逆に、Ｖos＜−Δ（「Ｖerr＜Ｖref−Δ」と等価）である場合、すなわち、トランスインピーダンスアンプ１２ａから出力される電圧信号の平均レベルに対して閾電圧Ｖthが大きすぎる場合、閾電圧変更処理によって閾電圧Ｖthが小さくなり、その結果、オフセット電圧Ｖosの値が大きくなる。したがって、上記のオフセットキャンセル処理を繰り返せば、オフセット電圧Ｖosの絶対値｜Ｖos｜を許容誤差Δ以下にすることができる。
【００４５】
ただし、受信する光信号の値がオフレベルを取り続ける無信号区間において上記の閾電圧変更処理が繰り返されると、閾電圧Ｖthの大きさが際限なく低下する。このため、無信号区間に続く有信号区間の開始直後に差動信号の波形が大きく歪むことがある。そこで、上記のオフセットキャンセル処理では、無信号区間において上記の閾電圧変更処理をスキップする構成を採用している。これにより、無信号区間に続く有信号区間の開始直後に差動信号の波形が大きく歪むことがない。
【００４６】
なお、上記のオフセットキャンセル処理には、閾電圧Ｖthを変化させる速度が異なる２つの実行モードがある。以下、閾電圧Ｖthを変化させる速度が遅い方の実行モード（第２の実行モード）を「通常制御モード」と記載し、閾電圧Ｖthを変化させる速度が速い方の実行モード（第１の実行モード）を「加速制御モード」と記載する。オフセットキャンセル処理の実行モードは、チャンネル毎に独立に設定される。
【００４７】
ＭＣＵ１３は、各チャンネルに対するオフセットキャンセル処理の実行モードを表す変数として、１ビット（２ステップ）のバイナリを用いる。以下、この変数を「加速制御フラグＡＣＦ」と記載する。また、ＭＣＵ１３は、閾電圧Ｖthを表す変数として、８ビット（２５６ステップ）のバイナリを用いる。以下、この変数を「変数Ｖth」と記載する。
【００４８】
加速制御フラグＡＣＦの値が１であるとき、すなわち、オフセットキャンセル処理を加速制御モードで実行するとき、ＭＣＵ１３は、工程Ｓ１４（閾電圧変更処理）を実行する度に変数Ｖthの値を２ステップ（可変範囲全体の１／１２８）変化させる（変化量δ＝０ｘ０２）。一方、加速制御フラグＡＣＦの値が０であるとき、すなわち、オフセットキャンセル処理を通常制御モードで実行するとき、ＭＣＵ１３は、工程Ｓ１４（閾電圧変更処理）を実行する度に変数Ｖthの値を１ステップ（可変範囲全体の１／２５６）変化させる（変化量δ＝０ｘ０１）。
【００４９】
〔オフセットキャンセル処理の実行タイミング〕
ＭＣＵ１３は、オフセットキャンセル処理の実行タイミングを、図３に示すフローチャートに従って決定する。図３は、ＭＣＵ１３が実行する処理全体の流れを示すフローチャートである。図３に示すフローチャートの各工程において、ＭＣＵ１３は、以下のように動作する。
【００５０】
工程Ｓ１０１：ＭＣＵ１３は、すべてのチャンネルの加速制御フラグＡＣＦの値を１に初期化する。また、ＭＣＵ１３は、メインカウンタｎの値を１に初期化する。
【００５１】
工程Ｓ１０２：ＭＣＵ１３は、１ｍ秒タイマカウンタがカウントアップしたか否かの判定を、判定結果が真になるまで繰り返す。ＭＣＵ１３は、判定結果が真になったら、処理を工程Ｓ１０３に移す。
【００５２】
工程Ｓ１０３：ＭＣＵ１３は、メインカウンタの値が１、２、３、又は４であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ１０４に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ１１１に移す。
【００５３】
工程Ｓ１０４：ＭＣＵ１３は、処理対象チャンネルの加速制御フラグＡＣＦの値が０であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ１０５に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ１０６に移す。
【００５４】
工程Ｓ１０５：ＭＣＵ１３は、サブカウンタｍの値を１に初期化すると共に、その上限値Ｍを１に設定し、処理を工程Ｓ１０７に移す。
【００５５】
工程Ｓ１０６：ＭＣＵ１３は、サブカウンタｍの値を１に初期化すると共に、その上限値Ｍを２に設定し、処理を工程Ｓ１０７に移す。
【００５６】
工程Ｓ１０７：ＭＣＵ１３は、図２に示したオフセットキャンセル処理を実行し、処理を工程Ｓ１０８に移す。
【００５７】
工程Ｓ１０８：ＭＣＵ１３は、サブカウンタｍの値をインクリメントし、処理をＳ１０９に移す。
【００５８】
工程Ｓ１０９：ＭＣＵ１３は、サブカウンタｍの値が上限値に達したか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ１１０に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ１０７に戻す。
【００５９】
工程Ｓ１１０：ＭＣＵ１３は、処理対象チャンネルを次のチャンネルに切り替え、処理を工程Ｓ１１２に移す。なお、切り替え前の処理対象チャンネルがｋチャンネルであれば、切り替え後の処理対象チャンネルはｋ＋１チャンネルになる（ｋ＝１，２，３）。また、切り替え前の処理対象チャンネルが４チャンネルであれば、切り替え後の処理対象チャンネルは１チャンネルになる。図１に示すＭＣＵ１３のＣＨ切替部１３ｄは、このＣｈ切替処理を実行するための構成である。ＣＨ切替部１３ｄは、切り替え後の処理対象チャンネルの差動アンプ１２ｅが出力する差動信号がエラーアンプ１２ｊに入力されるように、Ｉ２Ｃインタフェース１３ｅを介してスイッチ１２ｉを制御する。
【００６０】
工程Ｓ１１１：ＭＣＵ１３は、その他の処理（オフセットキャンセル処理以外の任意の処理）を実行し、処理を工程Ｓ１１２に移す。なお、本工程は、オフセットキャンセル処理がＭＣＵ１３を専有することを避けるために設けられたものである。
【００６１】
工程Ｓ１１２：ＭＣＵ１３は、メインカウンタｎの値をインクリメントし、処理を工程Ｓ１１３に移す。
【００６２】
工程Ｓ１１３：ＭＣＵ１３は、全てのチャンネルの加速制御フラグＡＣＦの値が０であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ１１４に移す。ＭＣＵ１３は、判定結果が偽であれば、すなわち、何れかのチャンネルの加速制御フラグＡＣＦの値が１であれば、処理を工程Ｓ１１６に移す。
【００６３】
工程Ｓ１１４〜Ｓ１１５：ＭＣＵ１３は、メインカウンタｎの値が１００より大きいか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、メインカウンタｎの値を１にリセットし、処理を工程Ｓ１０２に戻す。
【００６４】
工程Ｓ１１６〜Ｓ１１７：ＭＣＵ１３は、メインカウンタｎの値が５より大きいか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、メインカウンタｎの値を１にリセットし、処理を工程Ｓ１０２に戻す。
【００６５】
オフセットキャンセル処理の実行タイミングを、図３に示すフローチャートに従って決定した場合、オフセットキャンセル処理の実行態様は、下記の表に示す実行態様１〜３の何れかになる。
【００６６】
【表１】
0006023388.tif 000002
動作開始時（電源投入時）、オフセットキャンセル処理の実行モードは、全てのチャンネルにおいて加速制御モードに設定されている（工程Ｓ１０１）。したがって、各チャンネルに対するオフセットキャンセル処理の実行態様は、上記の表における＜実行態様１＞となる。
【００６７】
その後、オフセットキャンセル処理の実行モードが何れかのチャンネルにおいて加速制御モードから通常制御モードに切り替わると（工程Ｓ１０４：Ｙｅｓ）、そのチャンネルに対するオフセットキャンセル処理の実行態様が上記の表における＜実行態様１＞から＜実行態様２＞へと遷移する。＜実行態様１＞から＜実行態様２＞への遷移は、各チャンネルで独立に起こる。
【００６８】
その後、オフセットキャンセル処理の実行モードが全てのチャンネルにおいて加速制御モードから通常制御モードに切り替わると（工程Ｓ１１３：Ｙｅｓ）、各チャンネルに対するオフセットキャンセル処理の実行態様が上記の表における＜実行態様２＞から＜実行態様３＞へと遷移する。＜実行態様２＞から＜実行態様３＞への遷移は、全チャンネルで同時に起こる。なお、本実施形態では、＜実効態様３＞における閾値変更処理の実行頻度を１回／１００ｍ秒としているが、これに限定されない。例えば、＜実効態様３＞における閾値変更処理の実行頻度を１回／５秒としても構わない。この場合、上述した工程Ｓ１１４において、メインカウンタｎの値が５０００より大きいか否かが判定されることになる。
【００６９】
オフセットキャンセル処理の実行タイミングを図３に示すフローチャートに従って決定することによって実現される、ＭＣＵ１３の一動作例を図４に示す。図４において、（ａ）は、光信号及びＬＯＳ信号の波形を表す波形図であり、（ｂ）は、（ａ）に示す区間Ｔ１におけるＭＣＵ１３の一動作例を示す図であり、（ｃ）は、（ａ）に示す区間Ｔ２におけるＭＣＵ１３の一動作例を示す図であり、（ｄ）は、（ａ）に示す区間ＴｎにおけるＭＣＵ１３の一動作例を示す図である。
【００７０】
ＳＡＳ２．０に準拠した通信では、図４の（ａ）に示すように、電源投入後、ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、ＳＮＴ（Speed Negotiation Transmit）信号、及びＭＴＴ（Maximum Transmitter Training）信号を送受信するリンクアップシーケンスが例えば最大５回繰り返される。ここで、ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、及びＳＮＴ信号は、ＤＡＴＡ区間とＩＤＬＥ区間とが交互に現れるＯＯＢ信号（請求項における「第１の光信号」の一例）である。これらのＯＯＢ信号は、ＤＡＴＡ区間のビットパターンに信号としての意味はなく、ＤＡＴＡ区間及びＩＤＬＥ区間の幅（継続時間）に信号としての意味がある（例えば、ＣＯＭＳＡＳ信号は、１０６ｎ秒のＤＡＴＡ区間と９６０ｎ秒のＩＤＬＥ区間とが交互に現れるＯＯＢ信号と規定されている）。したがって、光受信器１は、オフセットキャンセルが完了しているか否かによらず、これらのＯＯＢ信号を正しく認識することができる。一方、ＭＴＴ信号（請求項における「第２の光信号」の一例）は、ＤＡＴＡ区間が１９．９ｍ秒間継続するデータ信号である。ＭＴＴ信号は、ＤＡＴＡ区間の幅に信号としての意味はなく、ＤＡＴＡ区間のビットパターンに信号としての意味がある。したがって、光受信器１があるＭＭＴ信号を正しく認識するためには、そのＭＴＴ信号を受信する前にオフセットキャンセル処理を完了させ、そのＭＴＴ信号を構成する各ビットの値を正確に読み取る必要がある。ＭＣＵ１３により読み出されるＬＯＳ信号は、図４の（ａ）に示すように、ＭＴＴ信号を受信する区間Ｔ１，Ｔ２，・・・、及び、その他のデータ信号を受信する区間Ｔｎにおいて値が０になる。閾電圧変更処理は、ＬＯＳ信号の値が０になるこれらの区間において実行される。
【００７１】
ＭＣＵ１３がＬＯＳ信号を読み出す周期は、ＯＯＢ信号（ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、及びＳＮＴ信号）のＤＡＴＡ区間（ＣＯＭＳＡＳ信号の場合、１０６ｎ秒）よりも長く、かつ、ＭＴＴ信号のＤＡＴＡ区間（１９．９ｍ秒）よりも短く設定されている。したがって、ＬＯＳ信号の読み出しは、ＯＯＢ信号の受信中に高々１回実行され、ＭＴＴ信号の受信中に少なくとも２回（本実施形態では４回）実行される。なお、ＭＣＵ１３により読み出されるＬＯＳ信号の値は、図４の（ａ）に示すように、ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、及びＳＮＴ信号のＤＡＴＡ区間において０にならない。これは、ＭＣＵ１３によるＬＯＳ信号の値の読み出しが、クリア・オン・リードのレジスタを介して行われるためである。このため、ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、及びＳＮＴ信号のＤＡＴＡ区間においては、閾電圧変更処理が実行されない。したがって、ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、及びＳＮＴ信号のマーク率が５０％でなくとも、これらの信号を受信する区間において変数Ｖthが誤った値に設定される懸念はない。なお、ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、及びＳＮＴ信号のマーク率が５０％であれば、これらの信号を受信する区間においても閾電圧変更処理を実行しても構わない。この場合には、ＬＯＳ信号の値の読み出しをクリア・オン・リードのレジスタを介して行うことを要さない。
【００７２】
図４の（ｂ）〜（ｄ）は、チャンネル毎に、時間軸上にオフセットキャンセル処理の実行期間を表す長方形を配置することによって、オフセットキャンセル処理の実行タイミングを示した図である。ここで、白色の長方形は、閾電圧変更処理を伴わないオフセットキャンセル処理を表し、灰色（ドットハッチング）の長方形は、変数Ｖthの値を１ステップ（０ｘ０１）変更する閾電圧変更処理を伴うオフセットキャンセル処理を表し、黒色の長方形は、変数Ｖthの値を２ステップ（０ｘ０２）変更する閾電圧変更処理を伴うオフセットキャンセル処理を表す。
【００７３】
図４の（ｂ）は、全てのチャンネルのオフセットキャンセル処理が加速制御モードで実行されている期間におけるＭＣＵ１３の典型的な動作例を示す。図４の（ｂ）に示す例では、全てのチャンネルにおいて、変数Ｖthの値を２ステップ変更する閾電圧変更処理を伴うオフセットキャンセル処理が２回／５ｍ秒の頻度で実行されている（上記の表における実行態様１）。ただし、ＬＯＳ信号が立ち下がった直後に実行されるオフセットキャンセル処理は、閾電圧変更処理を伴わない。これは、ＬＯＳ信号の読み出しがクリア・オン・リードのレジスタを介して行われるためである。このため、光受信器１が各ＭＴＴ信号を受信する区間Ｔｉで、ＭＣＵ１３は、各チャンネルにおいて、閾電圧変更処理を最大７回実行でき、変数Ｖthの値を最大１４ステップ（０ｘ０ｅ）変更できる。
【００７４】
その後、ＭＣＵ１３は、オフセットがキャンセルされた（オフセット電圧Ｖosの絶対値｜Ｖos｜が許容誤差Δ以下になった）チャンネルから順に、オフセットキャンセル処理の実効モードを加速制御モードから通常制御モードへと切り替えていく。図４の（ｃ）は、オフセットキャンセル処理が加速制御モードで実行されているチャンネルと通常制御モードで実行されているチャンネルが混在する期間におけるＭＣＵ１３の典型的な動作例を示す。図４の（ｃ）に示す例では、チャンネル２及びチャンネル４において、変数Ｖthの値を２ステップ変更する閾電圧変更処理を伴うオフセットキャンセル処理が２回／５ｍ秒の頻度で実行されている（上記の表における実行態様１）。一方、チャンネル１においては、開始０ｍ秒後から５ｍ秒後までの期間に、変数Ｖthの値を２ステップ変更する閾電圧変更処理を伴うオフセットキャンセル処理が２回／５ｍ秒の頻度で実行され（上記の表における実行態様１）、開始５ｍ秒後から２０ｍ秒後までの期間に、変数Ｖthの値を１ステップ変更する閾電圧変更処理を伴うオフセットキャンセル処理が１回／５ｍ秒の頻度で実行されている（上記の表における実行態様２）。また、チャンネル３においては、開始０ｍ秒後から１０ｍ秒後までの期間に、変数Ｖthの値を２ステップ変更する閾電圧変更処理を伴うオフセットキャンセル処理が２回／５ｍ秒の頻度で実行され（上記の表における実行態様１）、１０ｍ秒後から２０ｍ秒後までの期間に、変数Ｖthの値を１ステップ変更する閾電圧変更処理を伴うオフセットキャンセル処理が１回／５ｍ秒の頻度で実行されている（上記の表における実行態様２）。なお、図４の（ｃ）は、ＬＯＳ信号が立ち下がった直後の状態を示しており、最初に実行されるオフセットキャンセル処理は、閾電圧変更処理を伴わない。
【００７５】
図４の（ｄ）は、全てのチャンネルのオフセットキャンセル処理が通常制御モードで実行されている期間におけるＭＣＵ１３の典型的な動作例を示す。図４の（ｄ）に示す例では、全てのチャンネルにおいて、閾電圧Ｖthの値を１ステップ変更する閾電圧変更処理を伴うオフセットキャンセル処理が１回／１００ｍ秒の頻度で実行されている（上記の表における実行態様３）。なお、図４の（ｄ）は、ＬＯＳ信号が立ち下がった直後の状態を示しており、最初に実行されるオフセットキャンセル処理は、閾電圧変更処理を伴わない。
【００７６】
以上のように、ＭＣＵ１３は、光受信器１が各ＭＴＴ信号を受信する区間Ｔｉにおいて変数Ｖthの値を最大１４ステップ（０ｘ０ｅ）変更することができる。したがって、ＭＣＵ１３は、光受信器１が１〜４番目のＭＴＴ信号を受信する区間Ｔ１〜Ｔ４において変数Ｖthの値を最大１４×４＝５６ステップ変更することができる。光送信器が備える発光素子がＶＣＳＥＬである場合、ＶＣＳＥＬの温度変化に起因する受信パワーの変動が生じる。このようなパワーの変動によって生じるオフセットをキャンセルする（オフセット電圧Ｖosの絶対値｜Ｖos｜を許容誤差Δ以下にする）ために必要な変数Ｖthの変化量は、５６ステップ以下である（理由については後述する）。このため、ＭＣＵ１３は、光受信器１が１〜４番目のＭＴＴ信号を受信する区間Ｔ１〜Ｔ４においてオフセットのキャンセルを確実に完了することができる。これにより、ＭＣＵ１３は、少なくとも５番目のＭＴＴ信号のビットパターンを正しく読み取り、５回のリンクアップシーケンスが終了する前にリンクを確立することができる。
【００７７】
〔オフセットをキャンセルするために必要な変数Ｖthの変化量〕
光送信器が備える発光素子がＶＣＳＥＬである場合、このＶＣＳＥＬの温度変化に起因する受信パワーの変動によって生じるオフセットをキャンセルする（オフセット電圧Ｖosの絶対値｜Ｖos｜を許容誤差Δ以下にする）ために必要な変数Ｖthの変化量は、上述したように５６ステップ以下である。以下、この点について、図５を参照して、もう少し詳しく説明する。
【００７８】
まず、光受信器１が受信する光信号のパワー（以下、「受信パワー」と記載）の変動範囲は、ＶＣＳＥＬの経時劣化（詳細は後述）を考慮しない場合、一例として−２．３ｄＢｍ／＋２．６ｄＢｍとなる。変数Ｖthの初期値は、この変動範囲内にある何れかの受信パワーの下でオフセットをキャンセルするように決められた値である。変数Ｖthが初期値として取り得る値の最大値は、受信パワー＝＋２．６ｄＢｍの下でオフセットをキャンセルするように決められた値であり、変数Ｖthが初期値として取り得る値の最小値は、受信パワー＝−２．３ｄＢｍの下でオフセットをキャンセルするように決められた値である。
【００７９】
図５は、変数Ｖthの初期値が最大値及び最小値に設定されている場合について、受信パワー［ｄＢｍ］と、その受信パワーの下でオフセットをキャンセルするために必要な変数Ｖthの変化量［ステップ］との関係を実験的に確認することにより得られたグラフである。図５のグラフは、例えば、以下のことを示している。すなわち、変数Ｖthの初期値が最大値に設定されている場合、受信パワーが＋１．５ｄＢｍであれば、変数Ｖthの値を３０ステップ増加させることによって、オフセットをキャンセルすることができる。あるいは、変数Ｖthの初期値が最小値に設定されている場合、実際の受信パワーが−１．５ｄＢｍであれば、変数Ｖthの値を１０ステップ減少させることによって、オフセットをキャンセルすることができる。
【００８０】
ところで、ＶＣＳＥＬの温度変化に起因する受信パワーの変動幅は、２．０ｄＢ（−１．５ｄＢ／＋０．５ｄＢ）であり、このような受信パワーの変動によって生じるオフセットをキャンセルするために必要な変数Ｖthの変化量は、５６ステップ以下である。実際、図５に示すように、変数Ｖthの初期値が最大値に設定されている場合、受信パワーは、ＶＣＳＥＬの温度変化によって＋２．６−２．０＝＋０．６ｄＢｍまで減少し得るが、このときに生じるオフセットは、変数Ｖthの値を５０ステップ増加させることによってキャンセルできる。また、図５に示すように、変数Ｖthの初期値が最小値に設定されている場合、受信パワーは、ＶＣＳＥＬの温度変化によって−２．３＋２．０＝−０．３ｄＢｍまで増加し得るが、このときに生じるオフセットは、変数Ｖthの値を２５ステップ減少させることによってキャンセルできる。
【００８１】
なお、本実施形態においては、上述した実行態様１のオフセットキャンセル処理における変数Ｖthの変化量を２ステップとしているが、これは、ＶＣＳＥＬの温度変化によって生じるオフセットをキャンセルするために必要な変数Ｖthの変化量が高々５０ステップであることに対応している。すなわち、上述した実行態様１のオフセットキャンセル処理における変数Ｖthの変化量を１ステップとした場合、光受信器１が１〜４番目のＭＴＴ信号を受信する区間Ｔ１〜Ｔ４における変数Ｖthの変化量が最大７×４＝２８ステップとなって、ＶＣＳＥＬの温度変化によって生じるオフセットをキャンセルするために必要な変数Ｖthの変化量である５０ステップを下回ってしまうからである。
【００８２】
〔変数Ｖthの値の不揮発保存〕
光受信器１が受信する光信号のパワー（以下、「受信パワー」と記載）は、発光素子として光送信器が備えるＶＣＳＥＬの温度変化及び経時劣化に起因して変動する。ＶＣＳＥＬの温度変化に起因する受信パワーの変動範囲は、上述したように−１．５ｄＢ／＋０．５ｄＢ程度であるのに対して、ＶＣＳＥＬの経時劣化に起因する受信パワーの変動範囲は、−２ｄＢ／＋０ｄＢ程度である。
【００８３】
本実施形態に係る光受信器１においては、８ビットのバイナリとして表現された変数Ｖthの値を最後のＭＴＴ信号を受信するまでに最大５６ステップ変化させることができる。したがって、ＶＣＳＥＬの温度変化に起因して受信パワーが２．０ｄＢ（−１．５ｄＢ／＋０．５ｄＢ）程度変動しても、ＶＣＳＥＬの経時劣化に起因した受信パワーの変動がなければ、最後のリンクアップシーケンスにおけるＭＴＴ信号を受信する前に確実にオフセットをキャンセルすることができる。
【００８４】
しかしながら、発光素子の温度変化に起因する受信パワーの変動に発光素子の経時劣化に起因する受信パワーの変動が重畳した場合、受信パワーの変動範囲は、−３．５ｄＢ／＋０．５ｄＢ（変動幅４ｄＢ）となる。このような受信パワーの変動によって生じるオフセットをキャンセルするために必要な変数Ｖthの変化量は、５６ステップを超える。実際、図５に示したように、Ｖthの初期値が最大値に設定されている場合、オフセットをキャンセルするために必要な変数Ｖthの変化量は、８０ステップ以上になる。したがって、変数Ｖthの初期値が工場出荷時の値に固定されていると、最後のリンクアップシーケンスにおけるＭＴＴ信号を受信する前にオフセットをキャンセルことができなくなる。
【００８５】
そこで、光受信器１においては、動作終了時にその時点での変数Ｖthの値を不揮発性メモリ１４に書き込み、動作開始時に不揮発性メモリ１４から読み出された変数Ｖthの値をオフセットキャンセル処理の初期値として利用する構成を採用している。発光素子の温度変化に起因する受信パワーの変動に発光素子の経時劣化に起因する受信パワーの変動が重畳し、受信パワーの変動範囲が−３．５ｄＢ／＋０．５ｄＢ程度になっても、上記の構成を採用すれば、オフセットをキャンセルするために必要となる変数Ｖthの変化量（初期値からの変化量）を−１．５ｄＢ／＋０．５ｄＢ（温度変化に起因する受信パワーの変動範囲）程度に抑えることができる。このため、最後のリンクアップシーケンスにおいてＭＴＴ信号を受信する前に確実にオフセットをキャンセルすることができる。すなわち、４回目までのリンクアップシーケンスにおいてオフセットキャンセルが完了しなかったり、オフセットキャンセルの精度が低下したりするという問題を生じることがない。なお、光受信器１の動作中に発光素子の経時劣化が生じたとしても、オフセットキャンセル処理が実行されている間、発光素子の経時劣化に伴う受信パワーの緩やかな変動に追従して変数Ｖthが変化する。したがって、光受信器１の動作中に発光素子の経時劣化が生じたとしても、何ら問題を生じることはない。
【００８６】
なお、本実施形態においては、ＭＣＵ１３の動作終了時に閾電圧書込処理（変数Ｖthの値を不揮発性メモリ１４に書き込む処理）が実行される構成を採用しているが、これに限定されるものではない。すなわち、例えば、ＭＣＵ１３の動作中に閾電圧書込処理が定期的に実行される構成を採用してもよい。このような構成を採用することによって、上述したような電圧保持回路を設ける必要がなくなる。
【００８７】
なお、閾電圧書込処理の実行周期を長くすると、不揮発性メモリ１４の寿命は長くなるが、不揮発保存される変数Ｖthの初期値としての精度は低下する。ここで、不揮発保存される変数Ｖthの初期値としての精度が低下するのは、ＭＣＵ１３が最後に閾電圧書込処理を実行してからＭＣＵ１３が動作を終了するまでの時間が長くなるからである。逆に、閾電圧書込処理の実行周期を短くすると、不揮発性メモリ１４の寿命は短くなるが、不揮発保存される変数Ｖthの初期値としての精度は向上する。ここで、不揮発保存される変数Ｖthの初期値としての精度が向上するのは、ＭＣＵ１３が最後に閾電圧書込処理を実行してからＭＣＵ１３が動作を終了するまでの時間が短くなるからである。不揮発性メモリ１４の寿命と不揮発保存される変数Ｖthの初期値としての精度とを勘案すると、閾電圧書込処理の実行周期は、３０分以上１時間３０分以下であることが好ましく、１時間であることが更に好ましい。
【００８８】
〔閾電圧変更処理〕
ＭＣＵ１３は、閾電圧変更処理を、図６に示すフローチャートに従って実行する。図６は、閾電圧変更処理の流れを示すフローチャートである。図６に示すフローチャートの各工程において、ＭＣＵ１３は、以下のように動作する。
【００８９】
なお、閾電圧変更処理においては、加速制御フラグＡＣＦに加え、制御方向フラグＣＤＦが利用される。制御方向フラグＣＤＦは、加速制御中に制御の方向が変数Ｖthの値を大きくする方向であるときに値１を取り、加速制御中に制御の方向が変数Ｖthの値を小さくする方向であるときに値２を取り、加速制御中に制御の方向が変化したとき、又は、エラーアンプ出力Ｖerrが基準電圧Ｖref±許容誤差Δの範囲に収まったときに初期値０を取る３値のフラグである。
【００９０】
工程Ｓ２０１：ＭＣＵ１３は、エラーアンプ出力Ｖerrの値が基準電圧Ｖrefの値に許容誤差Δを加えた値よりも大きいか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ２０２に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ２０９に移す。
【００９１】
工程Ｓ２０２：ＭＣＵ１３は、制御方向フラグＣＤＦの値が２であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ２０３に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ２０５に移す。
【００９２】
工程Ｓ２０３：ＭＣＵ１３は、加速制御フラグＡＣＦの値を０に設定し、処理を工程Ｓ２０４に移す。
【００９３】
工程Ｓ２０４：ＭＣＵ１３は、制御方向フラグＣＤＦの値を０に設定し、処理を工程Ｓ２０５に移す。
【００９４】
工程Ｓ２０５：ＭＣＵ１３は、加速制御フラグＡＣＦの値が１であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ２０６に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ２０８に移す。
【００９５】
工程Ｓ２０６：ＭＣＵ１３は、変数Ｖthの値を２ステップ（０ｘ０２）大きくし、処理を工程Ｓ２０７に移す。
【００９６】
工程Ｓ２０７：ＭＣＵ１３は、制御方向フラグＣＤＦの値を１に設定し、処理を工程Ｓ２２０に移す。
【００９７】
工程Ｓ２０８：ＭＣＵ１３は、変数Ｖthの値を１ステップ（０ｘ０１）大きくし、処理を工程Ｓ２２０に移す。
【００９８】
工程Ｓ２０９：ＭＣＵ１３は、エラーアンプ出力Ｖerrの値が基準電圧Ｖrefの値から許容誤差Δを減じた値よりも小さいか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ２１０に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ２１７に移す。
【００９９】
工程Ｓ２１０：ＭＣＵ１３は、制御方向フラグＣＤＦの値が１であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ２１１に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ２１３に移す。
【０１００】
工程Ｓ２１１：ＭＣＵ１３は、加速制御フラグＡＣＦの値を０に設定し、処理を工程Ｓ２１２に移す。
【０１０１】
工程Ｓ２１２：ＭＣＵ１３は、制御方向フラグＣＤＦの値を０に設定し、処理を工程Ｓ２１３に移す。
【０１０２】
工程Ｓ２１３：ＭＣＵ１３は、加速制御フラグＡＣＦの値が１であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ２１４に移す。ＭＣＵ１３は、判定結果が偽であれば、処理を工程Ｓ２１６に移す。
【０１０３】
工程Ｓ２１４：ＭＣＵ１３は、変数Ｖthの値を２ステップ（０ｘ０２）小さくし、処理を工程Ｓ２１５に移す。
【０１０４】
工程Ｓ２１５：ＭＣＵ１３は、制御方向フラグＣＤＦの値を２に設定し、処理を工程Ｓ２２０に移す。
【０１０５】
工程Ｓ２１６：ＭＣＵ１３は、変数Ｖthの値を１ステップ（０ｘ０１）小さくし、処理を工程Ｓ２２０に移す。
【０１０６】
工程Ｓ２１７：ＭＣＵ１３は、加速制御フラグＡＣＦの値が１であるか否かを判定する。ＭＣＵ１３は、判定結果が真であれば、処理を工程Ｓ２１８に移す。ＭＣＵ１３は、判定結果が偽であれば、処理をＥＮＤに移す（閾電圧変更処理を終了する）。
【０１０７】
工程Ｓ２１８：ＭＣＵ１３は、加速制御フラグＡＣＦの値を０に設定し、処理を工程Ｓ２１９に移す。
【０１０８】
工程Ｓ２１９：ＭＣＵ１３は、制御方向フラグＣＤＦの値を０に設定し、処理をＥＮＤに移す（閾電圧変更処理を終了する）。
【０１０９】
工程Ｓ２２０：ＭＣＵ１３は、閾電圧Ｖthの大きさが工程Ｓ２０６、工程Ｓ２０８、工程Ｓ２１４、又は工程Ｓ２１６にて得られた変数Ｖthの値に一致するよう、可変電圧源１２ｂを制御する。
【０１１０】
閾電圧変更処理を図６に示すフローチャートに従って実行することによって実現される、ＭＣＵ１３の一動作例（Ｖerr＞Ｖref＋Δ、加速制御フラグＡＣＦ＝１、制御方向フラグＣＤＦ＝１を初期状態とする動作例）を図７に示す。
【０１１１】
図７において、（ａ）は、エラーアンプ出力Ｖerrの大きさの時間変化を示すグラフであり、（ｂ）は、加速制御フラグＡＣＦの値の時間変化を示すグラフであり、（ｃ）は、制御方向フラグＣＤＦの時間変化を示すグラフであり、（ｄ）は、閾電圧Ｖthの大きさの時間変化を示すグラフである。
【０１１２】
Ｖerr＞Ｖref＋Δ（工程Ｓ２０１：Ｙｅｓ）、制御方向フラグＣＤＦ＝１（工程Ｓ２０２：Ｎｏ）、加速制御フラグＡＣＦ＝１（工程Ｓ２０５：Ｙｅｓ）である場合、変数Ｖthの値を２ステップ大きくする処理（工程Ｓ２０８）のみを伴うオフセットキャンセル処理Ａが２回／５ｍ秒の頻度で繰り返し実行される。これにより、閾電圧Ｖthの大きさは、図７の（ｄ）に示すように次第に大きくなり、その結果、エラーアンプ出力Ｖerrの大きさは、図７の（ａ）に示すように次第に小さくなる。
【０１１３】
オフセットキャンセル処理Ａが繰り返し実行された結果、エラーアンプ出力Ｖerrの大きさがＶref−Δを下回った場合（工程Ｓ２０１：Ｎｏ、工程Ｓ２０９：Ｙｅｓ）、すなわち、オフセット電圧Ｖosの符号が反転した場合、加速制御フラグＡＣＦ及び制御方向フラグＣＤＦの値を０に変更する処理（工程Ｓ２１０：Ｙｅｓ、工程Ｓ２１１、工程Ｓ２２２）、及び、オフセットキャンセル処理Ｂが２回又は１回実行される。ここで、オフセットキャンセル処理Ｂとは、変数Ｖthの値を１ステップ小さくする処理（工程Ｓ２１３：Ｎｏ、工程Ｓ２１６）を伴うオフセットキャンセルのことを指す。エラーアンプ出力Ｖｅｒｒの大きさがＶｒｅｆ±Δの範囲に収まっていない場合には、オフセットキャンセル処理Ｂが２回実行され、エラーアンプ出力Ｖｅｒｒの大きさがＶｒｅｆ±Δの範囲に収まっている場合には、オフセットキャンセル処理Ｂが１回実行される。これにより、閾電圧Ｖthの大きさは、図７の（ｄ）に示すように僅かに小さくなり、その結果、エラーアンプ出力Ｖerrの大きさは、図７の（ａ）に示すように僅かに大きくなる。
【０１１４】
オフセットキャンセル処理Ｂが実行された結果、エラーアンプ出力Ｖerrの大きさがＶref±Δの範囲に収まった場合（工程Ｓ２０１：Ｎｏ、工程Ｓ２０９：Ｎｏ、工程Ｓ２１７：Ｎｏ）、閾電圧Ｖthの変更は行われない。これにより、閾電圧Ｖthの大きさは、図７の（ｄ）に示すように一定に保たれ、その結果、エラーアンプ出力Ｖerrの大きさは、図７の（ａ）に示すように一定に保たれる。
【０１１５】
〔アクティブ光ケーブル〕
本実施形態に係る光受信器１は、アクティブ光ケーブルのコネクタとして利用することができる。
【０１１６】
図８は、アクティブ光ケーブル１００の構成を示すブロック図である。アクティブ光ケーブル１００は、図８に示すように、光ケーブル１０１と、光ケーブル１０１の両端に設けられた１対のコネクタ１０２，１０３とを備えている。光ケーブル１０１には、８本の光ファイバ１０４ａ〜１０４ｂが収容されている。
【０１１７】
コネクタ１０２は、４つのＡＣ結合用コンデンサ１０５ａ、送信回路１０６ａ、及び４つのＬＤ（Laser Diode）１０７ａを備えている。これらは、外部から入力された電圧信号を光信号に変換して送信する光送信器として機能する。更に、コネクタ１０２は、４つのＰＤ（Photo Diode）１０８ｂ、受信回路１０９ｂ、及び４つのＡＣ結合用コンデンサ１１０ｂを備えている。これらは、受信した光信号を電圧信号に変換して外部に出力する光受信器として機能する。
【０１１８】
ＰＤ１０８ｂ及び受信回路１０９ｂは、コネクタ１０２が備えるＭＣＵ１１１と共に、本実施形態に係る光受信器１を構成している。したがって、コネクタ１０３から送信される光信号のパワーが変動しても、受信回路１０９ｂにて増幅される差動信号のオフセット電圧を０［Ｖ］に近づけ、その差（オフセット電圧の０［Ｖ］からのずれ）を予め定められた許容誤差以下に抑えることができる。しかも、そのために必要となる閾電圧変更処理は、コネクタ１０３から送信される光信号の値がオフレベルとなる無信号区間においてスキップされる。したがって、無信号区間に続く有信号区間の開始直後にコネクタ１０２から出力される電圧信号の波形が歪むことがない。
【０１１９】
コネクタ１０３は、４つのＰＤ（Photo Diode）１０８ａ、受信回路１０９ａ、及び４つのＡＣ結合用コンデンサ１１０ａを備えている。これらは、受信した光信号を電圧信号に変換して外部に出力する光受信器として機能する。更に、コネクタ１０３は、４つのＡＣ結合用コンデンサ１０５ｂ、送信回路１０６ｂ、及び４つのＬＤ（Laser Diode）１０７ｂを備えている。これらは、外部から入力された電圧信号を光信号に変換して送信する光送信器として機能する。
【０１２０】
ＰＤ１０８ａ及び受信回路１０９ａは、コネクタ１０３が備えるＭＣＵ１１２と共に、本実施形態に係る光受信器１を構成している。したがって、コネクタ１０２から送信される光信号のパワーが変動しても、受信回路１０９ａにて増幅される差動信号のオフセット電圧を０［Ｖ］に近づけ、その差（オフセット電圧の０［Ｖ］からのずれ）を予め定められた許容誤差以下に抑えることができる。しかも、そのために必要となる閾電圧変更処理は、コネクタ１０２から送信される光信号の値がオフレベルとなる無信号区間においてスキップされる。したがって、無信号区間に続く有信号区間の開始直後にコネクタ１０２から出力される電圧信号の波形が歪むことがない。
【０１２１】
以上のように、アクティブ光ケーブル１００においては、無信号区間に有信号区間が続く光信号をコネクタ１０３からコネクタ１０２に送信する場合、有信号区間の開始直後にコネクタ１０２から出力される電圧信号の波形が歪むことがない。また、無信号区間に有信号区間が続く光信号をコネクタ１０２からコネクタ１０３に送信する場合、有信号区間の開始直後にコネクタ１０３から出力される電圧信号の波形が歪むことがない。したがって、アクティブ光ケーブル１００は、リンクアップシーケンスにおいてＯＯＢ信号やＥＩ区間を含む信号などを送受信する必要があるＳＡＳ２．０やＰＣＩｅ３．０などの規格に準拠するシリアル通信にも好適に利用することができる。
【０１２２】
アクティブ光ケーブル１００において、光受信器（例えば、ＰＤ１０８ａ及び受信回路１０９ａ）が受信する光信号は、予め定められた光送信器（例えば、送信回路１０６ａ及びＬＤ１０７ａ）から送信され、予め定められた光ファイバ（例えば、光ファイバ１０４ａ）を伝送された光信号である。したがって、光受信器の受信パワーの変動範囲を、光送信器を構成する発光素子（例えば、ＬＤ１０７ａ）の温度特性から予め見積もっておくことができる。このため、アクティブ光ケーブル１００においては、予め定められたプログラムを用いたオフセットキャンセル処理の実現が容易である。
【０１２３】
ただし、本発明の適用範囲は、アクティブ光ケーブルに限定されない。すなわち、本発明は、例えば、光トランシーバモジュールに適用することができる。なお、受信パワーの変動範囲（リンクパジェット）が広い光トランシーバモジュールおいては、「加速制御モード」における閾電圧Ｖｔｈを表す変数の変化量δを前述の実施形態よりも大きくしたり、オフセットキャンセル処理の実行頻度を前述の実施形態よりも高くしたりすることが考えられる。
【０１２４】
〔まとめ〕
本実施形態に係る光受信器は、光信号を電流信号に変換する受光素子と、上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、上記光信号の無信号区間を検出する無信号検出回路と、上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含むオフセットキャンセル処理を繰り返す制御部と、を備えており、上記制御部は、上記無信号区間において上記閾電圧変更処理をスキップする。
【０１２５】
別の言い方をすると、本実施形態に係る光受信器は、光信号を電流信号に変換する受光素子と、上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、上記光信号の無信号区間を検出する無信号検出回路と、オフセットキャンセル処理を繰り返し実行する制御部と、を備えており、上記無信号区間外で実行される上記オフセットキャンセル処理は、上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含み、上記無信号区間内で実行される上記オフセットキャンセル処理は、上記閾電圧変更処理を含まない。
【０１２６】
上記の構成によれば、無信号区間に続く有信号区間の開始直後に上記電圧信号の波形を歪ませることなく、上記差動信号のオフセットをキャンセルすることができる。
【０１２７】
本実施形態に係る光受信器は、上記閾電圧を生成する可変電圧源を更に備えており、上記制御部は、上記可変電圧源を制御することによって、上記閾電圧を変更する、ことが好ましい。
【０１２８】
上記の構成によれば、上記制御部をＭＣＵ（Micro Controller Unit）等の電子計算機によって実現することができる。
【０１２９】
本実施形態に係る光受信器において、上記オフセットキャンセル処理は、上記閾電圧変更処理における上記閾電圧の変化量が異なる２つの実行モードを有しており、上記制御部は、上記オフセット電圧の符号が反転した、又は、上記オフセット電圧の大きさが許容誤差を下回った時点で、上記オフセットキャンセル処理の実行モードを、上記閾電圧の変化量が大きい第１の実行モードから上記閾電圧の変化量が小さい第２の実行へと切り替える、ことが好ましい。
【０１３０】
上記の構成によれば、オフセットキャンセル処理の精度を犠牲にすることなく、上記差動信号のオフセットを速やかにキャンセルすることができる。
【０１３１】
本実施形態に係る光受信器において、上記制御部は、上記オフセット電圧の符号が反転した、又は、上記オフセット電圧の大きさが許容誤差を下回った時点で、上記オフセットキャンセル処理の実行頻度を低下させる、ことが好ましい。
【０１３２】
上記の構成によれば、オフセットキャンセル処理の速度を犠牲にすることなく、上記制御部の負荷を小さく抑えることができる。
【０１３３】
本実施形態に係る光受信器は、上記トランスインピーダンスアンプ、上記差動アンプ、及び上記無信号検出回路を２チャンネル分以上備えており、上記制御部は、上記オフセット電圧の符号が未だ反転していない、又は、上記オフセット電圧の大きさが未だ許容誤差を下回っていないチャンネルがなくなった時点で、上記オフセットキャンセル処理の実行頻度を低下させる、ことが好ましい。
【０１３４】
上記の構成によれば、オフセットキャンセル処理の速度を犠牲にすることなく、上記制御部の負荷を小さく抑えることができる。
【０１３５】
本実施形態に係る光受信器において、上記制御部は、動作終了時、又は、動作中定期的に上記閾電圧の値を不揮発性メモリに書き込むと共に、動作開始時に上記閾電圧の値を上記不揮発性メモリから読み出し、読み出した上記閾電圧の値を上記オフセットキャンセル処理の初期値として利用する、ことが好ましい。
【０１３６】
上記の構成によれば、光送信器が備える発光素子の経時劣化等に伴い上記光信号のパワーが経時変化する場合であっても、上記差動信号のオフセットを速やかにキャンセルすることができる。
【０１３７】
本実施形態に係る光受信器において、上記無信号検出回路は、上記無信号区間を示すＬＯＳ信号の値を格納するクリア・オン・リードのレジスタを備えており、上記制御部は、上記レジスタから読み出したＬＯＳ信号の値を参照して上記無信号区間を特定する、ことが好ましい。
【０１３８】
上記の構成によれば、上記制御部が上記ＬＯＳ信号の値を読み出す周期よりも短い有信号区間において、上記制御部が上記閾電圧変更処理を実行することを回避することができる。例えば、本実施形態をＳＡＳに従うシリアル通信に適用する場合、ＣＯＭＩＮＩＴ信号、ＣＯＭＳＡＳ信号、及びＳＮＴ信号を受信する区間において、上記制御部が上記閾電圧変更処理を実行することを回避することができる。
【０１３９】
なお、上記の光受信器を備えているアクティブ光ケーブルも、本実施形態の範疇に含まれる。アクティブ光ケーブルにおいては、一方のコネクタ（光受信器として機能）における受信パワーの変動範囲を、他方のコネクタ（光送信器として機能）に内蔵された発光素子の温度特性に基づいて、予め見積もっておくことが可能である。このため、アクティブ光ケーブルにおいては、予め定められたプログラムを用いたオフセットキャンセル処理の実現が容易である。すなわち、アクティブ光ケーブルは、本実施形態の適用に適している。
【０１４０】
本実施形態に係る光受信器の制御方法は、光信号を電流信号に変換する受光素子と、上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、を備えた光受信器の制御方法であって、上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含むオフセットキャンセル処理を繰り返し、上記光信号の無信号区間において上記閾電圧変更処理をスキップする。
【０１４１】
別の言い方をすると、本実施形態に係る光受信器の制御方法は、光信号を電流信号に変換する受光素子と、上記電流信号を電圧信号に変換するトランスインピーダンスアンプと、上記電圧信号と閾電圧との差を差動増幅することによって、上記電圧信号を差動信号に変換する差動アンプと、を備えた光受信器の制御方法であって、上記光信号の無信号区間を検出する無信号検出工程と、オフセットキャンセル処理を繰り返し実行する制御工程とを含んでおり、上記無信号区間外で実行される上記オフセットキャンセル処理は、上記差動信号のオフセット電圧が小さくなるように上記閾電圧を変更する閾電圧変更処理を含み、上記無信号区間内で実行される上記オフセットキャンセル処理は、上記閾電圧変更処理を含まない。
【０１４２】
上記の構成によれば、無信号区間に続く有信号区間の開始直後に上記電圧信号の波形を歪ませることなく、上記差動信号のオフセットをキャンセルすることができる。
【０１４３】
〔付記事項〕
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１４４】
本発明に係る光受信器は、ＯＯＢ信号やＥＩ区間を含む信号などの送受信が定められた規格、例えば、ＳＡＳ２．０やＰＣＩｅ３．０などの規格に従うシリアル通信に好適に利用することができる。
【符号の説明】
【０１４５】
１          光受信器
１１        受光素子
１２        受信回路
１２ａ      トランスインピーダンスアンプ
１２ｂ      可変電圧源
１２ｃ      ダミートランスインピーダンスアンプ
１２ｄ      差動アンプ
１２ｅ      差動アンプ
１２ｆ      差動アンプ
１２ｇ      差動アンプ
１２ｈ      ローパスフィルタ
１２ｉ      スイッチ
１２ｊ      エラーアンプ
１２ｋ      ＬＯＳ検出回路（無信号検出回路）
１２ｍ      Ｉ２Ｃインタフェース
１３        ＭＣＵ（制御部）
１３ａ      電圧読出部
１３ｂ      ＬＯＳ読出部
１３ｃ      閾電圧変更部
１３ｄ      ＣＨ切替部
１３ｅ      Ｉ２Ｃインタフェース
１４        不揮発性メモリ
１５        基準電圧源
１００      アクティブ光ケーブル
【図１】
0006023388.tif 000003
【図２】
0006023388.tif 000004
【図３】
0006023388.tif 000005
【図４】
0006023388.tif 000006
【図５】
0006023388.tif 000007
【図６】
0006023388.tif 000008
【図７】
0006023388.tif 000009
【図８】
0006023388.tif 000010
【図９】
0006023388.tif 000011
【図１０】
0006023388.tif 000012