(57)【特許請求の範囲】
【請求項１】
駆動電流に応じて光信号を出力する発光素子と、
電気信号に応じて前記発光素子を加熱または吸熱する熱電素子と、
電流設定信号に応じて前記発光素子に前記駆動電流を供給する第１ドライバと、
温度設定信号に応じて前記熱電素子に前記電気信号を供給する第２ドライバと、
前記電流設定信号を前記第１ドライバに送出し、前記温度設定信号を前記第２ドライバに送出するコントローラと、
を備え、
前記コントローラは、光出力がオフ状態であるとき、前記電流設定信号を初期電流値に設定するとともに前記温度設定信号を前記発光素子が前記光信号を出力しているときの前記発光素子の温度に等しい初期温度に設定し、前記光信号を出力しているとき、前記電流設定信号を前記初期電流値よりも大きい目標電流値に設定するとともに前記温度設定信号を前記初期温度から前記発光素子の発熱による温度上昇分を差し引いた目標温度に設定し、前記光出力の前記オフ状態からオン状態への遷移を指示する指示信号を検出したとき、前記電流設定信号を前記初期電流値から前記目標電流値へ段階的に増加させるとともに、前記温度設定信号を前記初期温度から前記目標温度へ段階的に減少させる光送信機。
【請求項２】
前記コントローラは、
前記指示信号を検出する指示信号検出部と、
前記電流設定信号を生成する駆動電流設定部と、
前記温度設定信号を生成する温度設定部と、
を備え、
前記駆動電流設定部は、前記指示信号検出部が前記指示信号を検出したとき、前記電流設定信号を前記初期電流値から前記目標電流値まで段階的に増加させ、
前記温度設定部は、前記指示信号検出部が前記指示信号を検出したとき、前記温度設定信号を前記初期温度から前記目標温度まで段階的に減少させる請求項１に記載の光送信機。
【請求項３】
前記第１ドライバは、前記電流設定信号に応じて前記駆動電流を段階的に増加させ、
前記第２ドライバは、前記温度設定信号に応じて前記電気信号を段階的に減少させる請求項２に記載の光送信機。
【請求項４】
前記コントローラは、
前記初期電流値及び前記電流設定信号を記憶する第１記憶部と、
前記初期温度及び前記目標温度を記憶する第２記憶部と、
をさらに備え、
前記駆動電流設定部は、前記電流設定信号を前記初期電流値から前記目標電流値まで段階的に増加させることにより、前記第１ドライバから前記発光素子に供給される前記駆動電流の電流値を前記初期電流値から前記目標電流値まで段階的に増加させ、
前記温度設定部は、前記温度設定信号を前記初期温度から前記目標温度まで段階的に減少させることにより、前記第２ドライバから前記熱電素子に供給される前記電気信号を段階的に減少させる請求項２又は請求項３に記載の光送信機。
【請求項５】
前記駆動電流設定部は、周期ごとに前記電流設定信号に一定の増加値を加えて前記電流設定信号を前記初期電流値から前記目標電流値まで段階的に増加させ、
前記温度設定部は、前記周期ごとに前記温度設定信号に一定の減少値を減じて前記温度設定信号を前記初期温度から前記目標温度まで段階的に減少させる請求項４に記載の光送信機。
【請求項６】
前記駆動電流設定部は、一定の期間で、前記電流設定信号を前記初期電流値から前記目標電流値まで段階的に増加させ、
前記温度設定部は、前記期間で、前記温度設定信号を前記初期温度から前記目標温度まで段階的に減少させる請求項５に記載の光送信機。
【請求項７】
前記コントローラは、
前記周期を示す値及び前記期間を示す値を記憶する第３記憶部と、
前記期間における前記周期の繰り返し回数であるステップ数を算出するステップ数算出部と、
をさらに備え、
前記ステップ数算出部は、前記指示信号検出部が前記指示信号を検出したとき、前記第３記憶部から前記周期を示す値及び前記期間を示す値を読み出し、前記周期を示す値及び前記期間を示す値に基づいて前記ステップ数を算出し、算出した前記ステップ数を前記駆動電流設定部及び前記温度設定部に送出し、
前記駆動電流設定部は、前記ステップ数に基づいて前記増加値を算出し、
前記温度設定部は、前記ステップ数に基づいて前記減少値を算出する請求項６に記載の光送信機。
【請求項８】
前記発光素子の温度をモニタするための温度モニタ素子をさらに備え、
前記熱電素子は、前記電気信号に応じて前記熱電素子の温度を変化させ、
前記第２ドライバは、前記電気信号を調整して、前記温度モニタ素子によってモニタされた温度を前記温度設定信号に近づける請求項１〜請求項７のいずれか一項に記載の光送信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光送信機に関するものである。
【背景技術】
【０００２】
光通信に使用され、レーザダイオード（以下、「ＬＤ」ともいう。）を駆動して光信号を出力する光送信機が知られている。例えば、下記の特許文献１には、光信号を出力する発光素子と、光信号のパワーを所定の設定値に制御する出力制御回路と、設定値を出力制御回路に供給する設定値制御回路とを備える光送信機において、急激に光信号を出力することによる光増幅器の利得制御への影響を低減するために、設定値制御回路は、光信号のオフ状態からオン状態への遷移を指示する信号を外部から受けると、設定値をオン時設定値（目標値）まで段階的に上昇させることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２３５４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の光送信機では、以下のような問題がある。すなわち、上記特許文献１に記載の光送信機では、光送信機の起動時において光信号のパワーの段階的な上昇を行うためにＬＤ駆動電流が段階的に増加される。光出力を開始した直後では、ＬＤ駆動電流が小さく、ＬＤ駆動電流によるＬＤの発熱は少ないので、ＬＤ温度は、光信号のパワーがＬＤ稼働中の目標値に達した状態（以下、「定常状態」という。）におけるＬＤ温度である目標温度よりも小さくなることがある。一般に、ＬＤ温度が低いほどＬＤが出力する光信号の波長が短くなる。したがって、ＬＤ温度が目標温度より低くなると、その波長は定常状態における光信号の波長である目標波長よりも短くなる。このため、ＬＤ駆動電流を段階的に増やしているときには、ＬＤ温度は目標温度よりも小さくなり、出力光の波長も光送信機の目標波長よりも短くなってしまうことがある。
【０００５】
ところで、ＷＤＭ（Wavelength  Division  Multiplexing：波長多重分割）システムでは、互いに僅かに異なる波長の光信号を出力する複数の光送信機が用いられ、これらの光送信機から出力される光信号が合波されてデータが送信される。このデータの送信は、光出力がオフ状態からオン状態に遷移したとき（以下、「起動時」ともいう。）から、定常状態になるまでの期間においても行われる。このため、複数の光送信機のうちのある光送信機から出力される光信号の波長が目標波長からずれると、この波長と他の光送信機から出力される光信号の波長とが接近して、正しいデータが送れないことがある。
【０００６】
そこで本発明は、このような問題点を解決するためになされたものであって、光出力がオフ状態からオン状態に遷移する際に、安定した波長の光を出力する光送信機を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る光送信機は、（ａ）駆動電流に応じて光信号を出力する発光素子と、（ｂ）発光素子の温度を制御する熱電素子と、（ｃ）発光素子に駆動電流を供給する第１ドライバと、（ｄ）熱電素子の温度を制御する第２ドライバと、（ｅ）駆動電流を制御するための電流設定信号を第１ドライバに送出し、熱電素子の温度を制御するための温度設定信号を第２ドライバに送出するコントローラと、を備える。また、コントローラは、光出力のオフ状態からオン状態への遷移を指示する指示信号を検出したとき、電流設定信号によって第１ドライバを制御して駆動電流を段階的に増加させるとともに、温度設定信号によって第２ドライバを制御して熱電素子の温度を段階的に減少させることを特徴とする。
【０００８】
このような光送信機によれば、光出力のオフ状態からオン状態への遷移を指示する指示信号を検出したことに応答して、発光素子の駆動電流を段階的に増加させるとともに、熱電素子の温度を段階的に減少させる。このため、駆動電流による発光素子の発熱が小さいときに熱電素子の温度を高くし、駆動電流の増加による発光素子の発熱が大きくなるに従い熱電素子の温度を減少することができ、発光素子自体の温度の変化が抑えられる。その結果、発光素子の温度変化による光信号の波長の変動が抑制され、安定した波長の光信号が出力可能となる。
【０００９】
コントローラは、指示信号を検出する指示信号検出手段と、電流設定信号を生成し、電流設定信号を第１ドライバに送出する駆動電流設定手段と、温度設定信号を生成し、温度設定信号を第２ドライバに送出する温度設定手段と、を備えてもよい。また、駆動電流設定手段は、指示信号検出手段によって指示信号が検出されたとき、第１ドライバに駆動電流の電流値を初期電流値から目標電流値まで段階的に増加させるために、電流設定信号を第１ドライバに送出してもよい。また、温度設定手段は、指示信号検出手段によって指示信号が検出されたとき、第２ドライバに熱電素子の温度を初期温度から目標温度まで段階的に減少させるために、温度設定信号を第２ドライバに送出してもよい。
【００１０】
この場合、光出力のオフ状態からオン状態への遷移を指示する指示信号を検出したことに応答して、発光素子の駆動電流の電流値が初期電流値から目標電流値まで段階的に増加され、熱電素子の温度が初期温度から目標温度まで段階的に減少される。このため、駆動電流による発光素子の発熱が小さいときに熱電素子の温度を高くし、駆動電流の増加による発光素子の発熱が大きくなるに従い熱電素子の温度を減少することができ、発光素子自体の温度の変化が抑えられる。その結果、発光素子の温度変化による光信号の波長の変動が抑制され、安定した波長の光信号が出力可能となる。
【００１１】
駆動電流設定手段は、電流設定信号によって示される電流設定値を段階的に増加することにより、第１ドライバに駆動電流を段階的に増加させてもよい。また、温度設定手段は、温度設定信号によって示される温度設定値を段階的に減少することにより、第２ドライバに熱電素子の温度を段階的に減少させてもよい。この場合、コントローラが電流設定値を段階的に増加することにより、発光素子の駆動電流を段階的に増加し、温度設定値を段階的に減少することにより、熱電素子の温度を段階的に減少する。このように、コントローラは電流設定値を増加させることによって、発光素子の駆動電流を増加し、温度設定値を減少させることによって、熱電素子の温度を減少することができる。
【００１２】
コントローラは、目標電流値に対応する電流設定値である第１電流設定値を記憶する第１記憶手段と、初期温度に対応する温度設定値である第１温度設定値及び目標温度に対応する温度設定値である第２温度設定値を記憶する第２記憶手段と、をさらに備えてもよい。また、駆動電流設定手段は、電流設定値を初期値から第１電流設定値まで段階的に変化させることにより、第１ドライバに初期電流値から目標電流値まで駆動電流の電流値を段階的に増加させてもよい。また、温度設定手段は、温度設定値を第１温度設定値から第２温度設定値まで段階的に変化させることにより、第２ドライバに初期温度から目標温度まで熱電素子の温度を段階的に減少させてもよい。なお、電流設定値は、電流設定信号によって示される値であり、温度設定値は、温度設定信号によって示される値である。
【００１３】
この場合、コントローラが電流設定値を初期値から第１電流設定値まで段階的に変化させることにより、発光素子の駆動電流の電流値が初期電流値から目標電流値まで段階的に増加し、コントローラが温度設定値を第１温度設定値から第２温度設定値まで段階的に変化させることにより、熱電素子の温度が初期温度から目標温度まで段階的に減少する。このように、コントローラは電流設定値及び温度設定値を変化させることによって、発光素子の駆動電流及び熱電素子の温度を制御することができる。
【００１４】
駆動電流設定手段は、周期ごとに電流設定信号に一定の増加値を加えて電流設定値を初期値から第１電流設定値まで段階的に増加してもよい。また、温度設定手段は、上記周期ごとに温度設定信号から一定の減少値を減算して温度設定値を第１温度設定値から第２温度設定値まで段階的に減少してもよい。この場合、発光素子の駆動電流の増加と熱電素子の温度の減少とが、同じタイミングで行われる。このため、発光素子自体の温度の変化がさらに抑えられる。その結果、発光素子の温度変化による光信号の波長の変動がさらに抑制され、より安定した波長の光信号が出力可能となる。
【００１５】
駆動電流設定手段は、一定の期間で、電流設定値を初期値から第１電流設定値まで段階的に増加し、温度設定手段は、上記期間で、温度設定値を第１温度設定値から第２温度設定値まで段階的に減少してもよい。この場合、光出力のオフ状態からオン状態への遷移を指示する指示信号が検出されてから一定の期間で、発光素子の光信号の波長を安定させながら定常状態の発光レベルにすることができる。
【００１６】
コントローラは、上記周期を示す値及び上記期間を示す値を記憶する第３記憶手段と、上記期間における上記周期の繰り返し回数であるステップ数を算出するステップ数算出手段と、をさらに備えてもよい。また、ステップ数算出手段は、指示信号検出手段によって指示信号が検出されたとき、第３記憶手段に記憶された周期を示す値及び期間を示す値に基づいてステップ数を算出し、算出したステップ数を駆動電流設定手段及び温度設定手段に送出してもよい。また、駆動電流設定手段は、ステップ数に基づいて増加値を算出し、温度設定手段は、ステップ数に基づいて減少値を算出してもよい。この場合、算出したステップ数に基づいて、電流設定値の増加値及び温度設定値の減少値を算出することにより、光出力のオフ状態からオン状態への遷移を指示する指示信号が検出されてから一定の期間で、発光素子の光信号の波長を安定させながら定常状態の発光レベルにすることができる。
【００１７】
発光素子の温度をモニタするための温度モニタ素子をさらに備えてもよく、熱電素子は、熱電素子に流れる電流に応じて熱電素子の温度を変化させ、第２ドライバは、温度モニタ素子によってモニタされた温度と設定温度とに基づいて、熱電素子に流す電流を制御してもよい。この場合、発光素子の温度をモニタすることによって、熱電素子の温度をより適切に制御することができる。
【発明の効果】
【００１８】
本発明によれば、光出力がオフ状態からオン状態に遷移する際に、安定した波長の光を出力することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る光送信機の概略構成図である。
【図２】図１のコントローラの機能ブロック図である。
【図３】図１の光出力イネーブル信号と、駆動電流と、ＴＥＣの温度との関係の一例を示す図である。
【図４】図１のコントローラの起動時の処理を示すフローチャートである。
【図５】比較例の光出力イネーブル信号と、駆動電流と、ＴＥＣの温度との関係の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は相当要素には同一の符号を付し、重複する説明を省略する。
【００２１】
図１は、本実施形態に係る光送信機の構成概略図である。図１に示されるように、光送信機１は、光通信において用いられ、データ信号ＴＸに応じた光信号ＰＯを生成するための装置であって、光送信サブアセンブリ（Transmitting  Optical  Sub-Assembly、以下「ＴＯＳＡ」という。）２と、ＬＤドライバ３と、ＴＥＣ（Thermoelectric  Cooler）ドライバ４と、コントローラ５と、を備えている。
【００２２】
ＴＯＳＡ２は、外部に光信号ＰＯを出力する光送信サブアセンブリであって、ＬＤ２１、ＴＥＣ２２及びサーミスタ２３を含み、例えばＴＥＣ２２の上にＬＤ２１及びサーミスタ２３が設けられている。ＬＤ２１は、光信号ＰＯを出力する発光素子であって、ＬＤドライバ３から駆動電流ＩＬＤを受けて光信号ＰＯを生成し、生成した光信号ＰＯを出力する。ＴＥＣ２２は、ＬＤ２１の温度ＴＬＤを制御する熱電素子であって、ＴＥＣドライバ４によってＴＥＣ２２の温度ＴＴＥＣが調節されて、ＬＤ２１の温度ＴＬＤを制御する。ＴＥＣ２２では、ＴＥＣドライバ４から供給された駆動電圧ＶＴＥＣによってＴＥＣ２２に電流ＩＴＥＣが流れ、電流ＩＴＥＣに応じてその温度ＴＴＥＣが変化する。このＴＥＣ２２は、ＬＤ２１に近接して設けられ、ＬＤ２１から吸熱またはＬＤ２１へ放熱することによりＬＤ２１の温度ＴＬＤを制御する。サーミスタ２３は、ＬＤ２１の温度ＴＬＤをモニタする温度モニタ素子であって、ＬＤ２１に近接して設けられている。サーミスタ２３は、モニタしたＬＤ２１の温度を示す値ＴｄｅｔをＴＥＣドライバ４に送出する。
【００２３】
ＬＤドライバ３は、ＬＤ２１に駆動電流ＩＬＤを供給する第１ドライバである。具体的に説明すると、ＬＤドライバ３は、コントローラ５から送出された電流設定信号ＳＩを受信し、受信した電流設定信号ＳＩによって示される値である電流設定値に応じた電流値の駆動電流ＩＬＤをＬＤ２１に供給する。ここで、駆動電流ＩＬＤには、バイアス電流及び変調電流が含まれており、変調電流のオン／オフは、光送信機１の外部からＬＤドライバ３に入力されるデータ信号ＴＸに応じて制御される。すなわち、ＬＤドライバ３は、電流設定値に応じた電流値のバイアス電流と、データ信号ＴＸに応じた変調電流とを含む駆動電流ＩＬＤをＬＤ２１に供給する。
【００２４】
ＴＥＣドライバ４は、ＴＥＣ２２の温度ＴＴＥＣを制御する第２ドライバである。具体的に説明すると、ＴＥＣドライバ４は、コントローラ５から送出された温度設定信号ＳＴを受信し、受信した温度設定信号ＳＴによって示される値である温度設定値に応じた電圧値の駆動電圧ＶＴＥＣをＴＥＣ２２に供給する。また、ＴＥＣドライバ４は、サーミスタ２３によってモニタされたモニタ温度Ｔｄｅｔと温度設定値に対応する温度とを比較し、温度設定値に対応する温度とモニタ温度Ｔｄｅｔとの温度差を算出して、モニタ温度Ｔｄｅｔが温度設定値に対応する温度に近づくようにＴＥＣ２２に供給する駆動電圧ＶＴＥＣを制御してもよい。なお、温度設定値に対応する温度とは、温度設定値に応じた電圧値の駆動電圧ＶＴＥＣによって設定されるＴＥＣ２２の温度を意味する。
【００２５】
コントローラ５は、ＬＤ２１の駆動電流ＩＬＤを制御するための電流設定信号ＳＩをＬＤドライバ３に送出し、ＴＥＣ２２の温度ＴＴＥＣを制御するための温度設定信号ＳＴをＴＥＣドライバ４に送出する。具体的には、コントローラ５は、光出力のオフ状態からオン状態への遷移を指示する光出力イネーブル信号ＥＮがイネーブルを示す状態になったことを検出したとき、電流設定信号ＳＩによってＬＤドライバ３を制御して、ＬＤ２１の駆動電流ＩＬＤを段階的に増加させるとともに、温度設定信号ＳＴによってＴＥＣドライバ４を制御して、ＴＥＣ２２の温度ＴＴＥＣを段階的に減少させる。
【００２６】
次に、コントローラ５の機能ブロックについて説明する。図２は、コントローラ５の機能ブロック図である。図２に示されるように、コントローラ５は、光出力イネーブル信号検出部５１と、ステップ数算出部５２と、ステップ情報記憶部５３と、駆動電流設定部５４と、駆動電流情報記憶部５５と、温度設定部５６と、ＴＥＣ温度情報記憶部５７と、を備える。
【００２７】
光出力イネーブル信号検出部５１は、光出力のオフ状態からオン状態への遷移を指示する指示信号を検出する指示信号検出手段として機能する。光出力イネーブル信号検出部５１は、例えば、光出力イネーブル信号ＥＮがディセーブルを示す状態からイネーブルを示す状態になった（以下、単に「光出力イネーブル信号ＥＮがイネーブルになった」等という。）ことを検出する。光出力イネーブル信号検出部５１は、光出力イネーブル信号ＥＮがイネーブルになったことを検出したことに応答して、検出信号をステップ数算出部５２、駆動電流設定部５４及び温度設定部５６に送出する。
【００２８】
ステップ数算出部５２は、ステップ設定時間におけるステップ設定周期の繰り返し回数であるステップ数を算出するステップ数算出手段として機能する。ここで、ステップ設定時間とは、ステップ情報記憶部５３に予め設定された期間（時間間隔）であって、光出力イネーブル信号ＥＮがディセーブルからイネーブルに遷移したときを始点とする期間である。このステップ設定時間は、例えば１０ｓｅｃ程度である。ステップ設定周期とは、ＬＤ２１の駆動電流ＩＬＤを段階的に増加する周期である。ステップ設定周期は、ＴＥＣ２２の温度ＴＴＥＣを段階的に減少する周期でもある。このステップ設定周期は、ステップ設定時間中において、波長のずれが規格を満たす（ＷＤＭシステムにおいてデータの誤送信が生じない）程度に短い時間であって、例えば５ｍｓである。
【００２９】
ステップ数算出部５２は、光出力イネーブル信号検出部５１から送出された検出信号を受信したとき（すなわち、光出力イネーブル信号検出部５１によって光出力イネーブル信号ＥＮがイネーブルになったことが検出されたことに応答して）、ステップ情報記憶部５３に記憶されたステップ設定周期を示す値及びステップ設定時間を示す値に基づいてステップ数を算出する。ステップ数算出部５２は、例えば、ステップ設定時間をステップ設定周期で除算することにより、ステップ数を算出する。そして、ステップ数算出部５２は、算出したステップ数及びステップ設定周期を駆動電流設定部５４及び温度設定部５６に送出する。
【００３０】
ステップ情報記憶部５３は、ステップ設定周期を示す値及びステップ設定時間を示す値を記憶する第３記憶手段として機能する。なお、本実施形態においては、ステップ設定周期は固定であるが、ステップ設定時間は光送信機１の起動中においても変更可能である。このため、ステップ数算出部５２は、算出したステップ数を予め記憶しておくこともできるが、光出力イネーブル信号検出部５１によって光出力イネーブル信号ＥＮがイネーブルになったことが検出されるごとに、ステップ数を算出するのが好ましい。
【００３１】
駆動電流設定部５４は、電流設定信号ＳＩを生成し、電流設定信号ＳＩをＬＤドライバ３に送出する駆動電流設定手段として機能する。駆動電流設定部５４は、光出力イネーブル信号検出部５１から送出された検出信号を受信したとき、ＬＤドライバ３に駆動電流ＩＬＤの電流値をステップ設定時間内で初期電流値Ｉ０から目標電流値Ｉｔまで段階的に増加させるために、電流設定信号ＳＩをＬＤドライバ３に送出する。駆動電流設定部５４は、例えば、電流設定信号ＳＩによって示される電流設定値を段階的に増加することにより、ＬＤドライバ３に駆動電流ＩＬＤを段階的に増加させる。
【００３２】
具体的に説明すると、駆動電流設定部５４は、検出信号の受信に応答して、後述の駆動電流情報記憶部５５から第１電流設定値を読み出す。そして、駆動電流設定部５４は、初期電流設定値と第１電流設定値との差を算出し、その差をステップ数算出部５２から受信したステップ数で割る。これによって、駆動電流設定部５４は、各ステップ設定周期における電流設定値の増加値を算出する。次に、駆動電流設定部５４は、ステップ設定周期ごとに電流設定信号ＳＩに増加値を加え、電流設定値を初期電流設定値から第１電流設定値まで段階的に増加させることにより、ＬＤドライバ３に駆動電流ＩＬＤを初期電流値Ｉ０から目標電流値Ｉｔまで段階的に増加させる。
【００３３】
ここで、初期電流値Ｉ０は、起動時の駆動電流ＩＬＤの電流値であり、目標電流値Ｉｔは、定常動作時における駆動電流ＩＬＤの電流値である。また、初期電流設定値は、初期電流値Ｉ０に対応する電流設定値であって、ＬＤドライバ３に初期電流値Ｉ０の駆動電流ＩＬＤを供給させるための電流設定値（初期値）である。また、第１電流設定値は、目標電流値Ｉｔに対応する電流設定値であって、ＬＤドライバ３に目標電流値Ｉｔの駆動電流ＩＬＤを供給させるための電流設定値である。駆動電流情報記憶部５５は、第１電流設定値を記憶する第１記憶手段として機能する。
【００３４】
温度設定部５６は、温度設定信号ＳＴを生成し、温度設定信号ＳＴをＴＥＣドライバ４に送出する温度設定手段として機能する。温度設定部５６は、光出力イネーブル信号検出部５１から送出された検出信号を受信したとき、ＴＥＣドライバ４にＴＥＣ２２の温度ＴＴＥＣをステップ設定時間内で初期温度Ｔ０から目標温度Ｔｔまで段階的に減少させるために、温度設定信号ＳＴをＴＥＣドライバ４に送出する。温度設定部５６は、例えば、温度設定信号ＳＴによって示される温度設定値を段階的に減少することにより、ＴＥＣドライバ４にＴＥＣ２２の温度ＴＴＥＣを段階的に減少させる。
【００３５】
具体的に説明すると、温度設定部５６は、検出信号の受信に応答して、後述のＴＥＣ温度情報記憶部５７から第１温度設定値及び第２温度設定値を読み出す。そして、温度設定部５６は、第１温度設定値と第２温度設定値との差を算出し、その差をステップ数算出部５２から受信したステップ数で除算する。これによって、温度設定部５６は、各ステップ設定周期における温度設定値の減少値を算出する。次に、温度設定部５６は、ステップ設定周期ごとに温度設定信号ＳＴから減少値を減算し、温度設定値を第１温度設定値から第２温度設定値まで段階的に減少させることにより、ＴＥＣドライバ４にＴＥＣ２２の温度ＴＴＥＣを初期温度Ｔ０から目標温度Ｔｔまで段階的に減少させる。
【００３６】
ここで、初期温度Ｔ０は、起動時のＴＥＣ２２の温度ＴＴＥＣであり、目標温度Ｔｔは、定常動作時におけるＴＥＣ２２の温度ＴＴＥＣである。この初期温度Ｔ０は、目標電流値Ｉｔの駆動電流ＩＬＤに応じた発熱による温度上昇分だけ目標温度Ｔｔよりも高く設定され、目標温度Ｔｔは、光信号ＰＯの波長が所望の波長範囲に入るように設定される。また、第１温度設定値は、初期温度Ｔ０に対応する温度設定値であって、ＴＥＣドライバ４にＴＥＣ２２の温度ＴＴＥＣを初期温度Ｔ０とさせるための温度設定値である。また、第２温度設定値は、目標温度Ｔｔに対応する温度設定値であって、ＴＥＣドライバ４にＴＥＣ２２の温度ＴＴＥＣを目標温度Ｔｔとさせるための温度設定値である。ＴＥＣ温度情報記憶部５７は、第１温度設定値及び第２温度設定値を記憶する第２記憶手段として機能する。
【００３７】
なお、図２の説明においては、コントローラ５の各機能ブロックがハードウェアにより構成された一例について説明したが、これらの機能ブロックは、ソフトウェアにより構成されてもよい。この場合、コントローラ５の各機能は、ＣＰＵ、ＲＡＭ等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵの制御のもとで動作させるとともに、ＲＡＭや補助記憶装置におけるデータの読み出し及び書き込みを行うことで実現される。
【００３８】
次に、光送信機１の起動時の動作の一例を、図３及び図４を参照して説明する。図３は、光出力イネーブル信号ＥＮと、駆動電流ＩＬＤと、温度ＴＴＥＣとの関係の一例を示す図である。図４は、コントローラ５の起動時の動作を示すフローチャートである。なお、図３において、横軸は時間であり、縦軸は、光出力イネーブル信号ＥＮについてはディセーブル状態を示す電圧レベル及びイネーブル状態を示す電圧レベルを示し、駆動電流ＩＬＤについては電流［ｍＡ］を示し、温度ＴＴＥＣについては温度［℃］を示す。また、この例において、初期電流値Ｉ０は０ｍＡであり、目標電流値Ｉｔは１２０ｍＡである。また、この例において、初期温度Ｔ０は４４℃であり、目標温度Ｔｔは４０℃である。
【００３９】
図４に示されるように、まず光出力イネーブル信号ＥＮのディセーブルからイネーブルへの遷移を光出力イネーブル信号検出部５１が検出したか否かの判定が行われる（ステップＳ０１）。図３に示されるように、時間ｔ０より前では、光出力イネーブル信号ＥＮはディセーブルであるので、ステップＳ０１の判定において、光出力イネーブル信号ＥＮのディセーブルからイネーブルへの遷移は検出されていないと判定され（ステップＳ０１；Ｎｏ）、再度ステップＳ０１の判定が行われる。次に、時間ｔ０において光出力イネーブル信号ＥＮはディセーブルからイネーブルになる。このとき、光出力イネーブル信号検出部５１は、光出力イネーブル信号ＥＮがディセーブルからイネーブルになったことを検出するので、ステップＳ０１の判定において、光出力イネーブル信号ＥＮのディセーブルからイネーブルへの遷移が検出されたと判定される（ステップＳ０１；Ｙｅｓ）。そして、光出力イネーブル信号検出部５１は、ステップ数算出部５２、駆動電流設定部５４及び温度設定部５６に対して検出信号を送出する。
【００４０】
次に、ステップ数算出部５２は、光出力イネーブル信号検出部５１から検出信号を受け取ったことに応答して、ステップ情報記憶部５３からステップ設定周期を示す値及びステップ設定時間を示す値を読み出す（ステップＳ０２）。そして、ステップ数算出部５２は、ステップ設定時間τａをステップ設定周期τｓで割ることによって、ステップ数を算出し（ステップＳ０３）、算出したステップ数を示す情報を駆動電流設定部５４及び温度設定部５６に送出する。
【００４１】
また、駆動電流設定部５４は、光出力イネーブル信号検出部５１から検出信号を受け取ったことに応答して、駆動電流情報記憶部５５から第１電流設定値を読み出す（ステップＳ０４）。そして、駆動電流設定部５４は、現在の電流設定値である初期電流設定値と第１電流設定値との差を算出し、その差をステップ数で割る。これによって、各ステップ設定周期における電流設定値の増加値を算出する（ステップＳ０５）。
【００４２】
一方、温度設定部５６は、光出力イネーブル信号検出部５１から検出信号を受け取ったことに応答して、ＴＥＣ温度情報記憶部５７から第１温度設定値及び第２温度設定値を読み出す（ステップＳ０６）。そして、温度設定部５６は、第１温度設定値と第２温度設定値との差を算出し、その差をステップ数で割る。これによって、各ステップ設定周期における温度設定値の減少値を算出する（ステップＳ０７）。
【００４３】
次に、駆動電流設定部５４は、電流設定信号ＳＩに増加値を加算し、加算後の電流設定信号ＳＩをＬＤドライバ３に送出する（ステップＳ０８）。また、温度設定部５６は、ステップＳ０８が行われるのと同じタイミングで、温度設定信号ＳＴから減少値を減算し、減算後の温度設定信号ＳＴをＴＥＣドライバ４に送出する（ステップＳ０９）。ここで、電流設定値の増加値に対応する電流値をΔＩ［ｍＡ］、温度設定値の減少値に対応する温度をΔＴ［℃］とすると、時間ｔ０において、駆動電流ＩＬＤの電流値は（初期電流値Ｉ０＋ΔＩ＝）ΔＩ［ｍＡ］、温度ＴＴＥＣは（初期温度Ｔ０−ΔＴ＝）４４−ΔＴ［℃］となる。次に、駆動電流設定部５４は、電流設定値が第１電流設定値であるか否かを判定し、温度設定部５６は、温度設定値が第２温度設定値であるか否かを判定する（ステップＳ１０）。時間ｔ０では、電流設定値は第１電流設定値でなく、温度設定値は第２温度設定値でないため、駆動電流設定部５４及び温度設定部５６は、時間ｔ０からステップ設定周期τｓが経過するのを待つ（ステップＳ１１）。
【００４４】
次に、時間ｔ０からステップ設定周期τｓが経過した時間ｔ１において、駆動電流設定部５４は、電流設定信号ＳＩに増加値をさらに加算し、加算後の電流設定信号ＳＩをＬＤドライバ３に送出する（ステップＳ０８）。また、時間ｔ１において、温度設定部５６は、温度設定信号ＳＴから減少値をさらに減算し、減算後の温度設定信号ＳＴをＴＥＣドライバ４に送出する（ステップＳ０９）。これにより、時間ｔ１において、駆動電流ＩＬＤの電流値はΔＩ×２［ｍＡ］となり、温度ＴＴＥＣは４４−ΔＴ×２［℃］となる。次に、駆動電流設定部５４は、電流設定値が第１電流設定値であるか否かを判定し、温度設定部５６は、温度設定値が第２温度設定値であるか否かを判定する（ステップＳ１０）。時間ｔ１では、電流設定値は第１電流設定値でなく、温度設定値は第２温度設定値でないため（ステップＳ１０；Ｎｏ）、駆動電流設定部５４及び温度設定部５６は、時間ｔ１からステップ設定周期τｓが経過するのを待つ（ステップＳ１１）。このように、駆動電流設定部５４及び温度設定部５６は、時間ｔｎまでステップＳ０８〜ステップＳ１１の処理を繰り返す。
【００４５】
そして、時間ｔｎにおいて、駆動電流設定部５４は、電流設定信号ＳＩに増加値をさらに加算し、加算後の電流設定信号ＳＩをＬＤドライバ３に送出する（ステップＳ０８）。また、温度設定部５６は、温度設定信号ＳＴから減少値をさらに減算し、減算後の温度設定信号ＳＴをＴＥＣドライバ４に送出する（ステップＳ０９）。これにより、時間ｔｎにおいて、駆動電流ＩＬＤの電流値は目標電流値Ｉｔ（＝１２０ｍＡ）となる。また、時間ｔｎにおいて、温度ＴＴＥＣは目標温度Ｔｔ（＝４０℃）となる。次に、駆動電流設定部５４は、電流設定値が第１電流設定値であるか否かを判定し、温度設定部５６は、温度設定値が第２温度設定値であるか否かを判定する（ステップＳ１０）。時間ｔｎでは、電流設定値は第１電流設定値であり、温度設定値は第２温度設定値であるため（ステップＳ１０；Ｙｅｓ）、駆動電流設定部５４は電流設定値を第１電流設定値に固定し、温度設定部５６は温度設定値を第２温度設定値に固定して、光送信機１の起動時の動作を終了する。
【００４６】
なお、図４では、ステップＳ０４〜ステップＳ０５の処理の後にステップＳ０６〜ステップＳ０７の処理が行われるように記載しているが、ステップＳ０４〜ステップＳ０５の処理とステップＳ０６〜ステップＳ０７の処理とは並列に行われるのが好ましい。また、図４では、ステップＳ０８の処理の後にステップＳ０９の処理が行われるように記載しているが、ステップＳ０８の処理とステップＳ０９の処理並列とは、同じタイミングで並列に行われるのが好ましい。
【００４７】
次に、光送信機１の作用効果について説明する。図５は、従来の光送信機１００における光出力イネーブル信号ＥＮと、駆動電流ＩＬＤと、ＴＥＣの温度ＴＴＥＣとの関係の一例を示す図である。なお、図５において、横軸は時間であり、縦軸は、光出力イネーブル信号ＥＮについてはディセーブル状態を示す電圧レベル及びイネーブル状態を示す電圧レベルを示し、駆動電流ＩＬＤについては電流［ｍＡ］を示し、温度ＴＴＥＣについては温度［℃］を示す。また、この比較例において、初期電流値Ｉ０は０ｍＡであり、目標電流値Ｉｔは１２０ｍＡである。図５に示されるように、光送信機１００では、温度ＴＴＥＣは、起動前から定常状態まで常に一定（例えば４０℃）に設定されている。この光送信機１００は、時間ｔ０において光出力イネーブル信号ＥＮのディセーブルからイネーブルへの遷移を検出したとき、ＬＤの駆動電流ＩＬＤをステップ設定周期τｓごとに段階的に増加する。そして、光送信機１００は、時間ｔ０から時間ｔｎにかけて、ＬＤの駆動電流ＩＬＤを初期電流値Ｉ０（＝０ｍＡ）から目標電流値Ｉｔ（＝１２０ｍＡ）まで段階的に増加する。
【００４８】
この光送信機１００では、光出力がオフ状態（起動前）におけるＬＤの温度ＴＬＤは、ＴＥＣの温度ＴＴＥＣにより定められる。そして、光出力のオフ状態からオン状態への遷移に伴い、ＬＤに供給される駆動電流ＩＬＤが段階的に増加される。一般的にＬＤでは、駆動電流が増加するごとにＬＤの温度が上昇し、駆動電流が減少するごとにＬＤの温度が下降することが知られている。この光送信機１００では、例えば、駆動電流ＩＬＤが３０ｍＡ増加するごとにＬＤの温度ＴＬＤが１℃程度上昇し、駆動電流ＩＬＤが３０ｍＡ減少するごとにＬＤの温度ＴＬＤが１℃程度下降する。このため、駆動電流ＩＬＤに応じた発熱による温度とＴＥＣによる温度とがＬＤに加わり、温度ＴＬＤは段階的に増加する。そして、温度ＴＬＤは、定常状態において、ＴＥＣによる温度と目標電流値Ｉｔに応じた発熱による温度とを合わせて、温度Ｔｔとなる。このように、ＬＤの温度ＴＬＤは起動前から定常状態になるまでの間で段階的に上昇する。したがって、駆動電流ＩＬＤを段階的に増加している間は、定常状態におけるＬＤの温度Ｔｔよりも低くなる。
【００４９】
ところで、ＬＤが出力する光信号ＰＯの波長は、ＬＤの温度の影響を受けることが知られている。例えば、ＬＤの発振波長は、温度変化による熱膨張及び屈折率変化等の影響を受ける。また、ＬＤの特性は、ジャンクション部分の温度変化によっても影響を受けると考えられる。光送信機１００では、例えば、ＬＤの温度が１℃上昇するごとに、ＬＤが出力する光信号ＰＯの波長は１００ｐｍ増加し、ＬＤの温度が１℃下降するごとに、ＬＤが出力する光信号ＰＯの波長は１００ｐｍ減少する。光送信機１００では、初期電流値Ｉ０は０ｍＡであり、目標電流値Ｉｔは１２０ｍＡであるから、起動直後のＬＤの温度は定常状態におけるＬＤの温度よりも４℃程度低くなり、起動直後の光信号ＰＯの波長は、定常状態における光信号ＰＯの波長である目標波長に対して、４００ｐｍ程度短くなる。駆動電流ＩＬＤを段階的に増加していくと、光信号ＰＯの波長は、目標波長に対するずれが小さくなるもののゼロにはならず、段階的に目標波長に近づいていく。
【００５０】
この光送信機１００がＷＤＭシステムにおいて用いられた場合、光送信機１００の起動後、光信号ＰＯのパワーが定常状態になるまでの間において、光送信機１００の光信号ＰＯの波長は、定常状態における光信号ＰＯの波長よりも短くなってしまう。ＷＤＭシステムでは、互いに僅かに異なる波長の光信号ＰＯを出力する複数の光送信機が用いられ、これらの光送信機から出力される光信号が合波されてデータが送信される。このデータの送信は、光送信機の起動後、定常状態になるまでの期間においても行われる。このため、複数の光送信機のうちのある光送信機１００から出力される光信号ＰＯの波長が目標波長からずれると、この波長と他の光送信機から出力される光信号ＰＯの波長とが接近して、正しいデータが送れないことがある。このように、光出力がオフ状態からオン状態に遷移した直後においては、光出力のパワーは定常状態よりも小さいが、隣接チャンネルの別波長の光信号に対して悪影響を与えてしまうことがある。したがって、光出力がオフ状態からオン状態に遷移した直後から、光信号の波長のずれを抑える必要がある。
【００５１】
一方、光送信機１では、図３に示されるように、起動前におけるＴＥＣ２２の温度ＴＴＥＣは、定常状態におけるＴＥＣ２２の温度ＴＴＥＣ（４０℃）よりも高め（４４℃）に設定されている。このため、光出力がオフ状態（起動前）におけるＬＤ２１の温度ＴＬＤは、比較例と比べて４℃程度高い。そして、光出力のオフ状態からオン状態への遷移に伴い、ＬＤ２１に供給される駆動電流ＩＬＤが段階的に増加されると同時に、ＴＥＣ２２の温度ＴＴＥＣが段階的に減少される。このとき、ＴＥＣ２２による温度ＴＴＥＣと駆動電流ＩＬＤに応じた発熱による温度とがＬＤ２１に加えられるが、ＴＥＣ２２の温度ＴＴＥＣが段階的に減少されるため、ＬＤ２１の温度ＴＬＤはほとんど変化しない。すなわち、駆動電流ＩＬＤが段階的に増加される初期においては、駆動電流ＩＬＤに応じた発熱による温度が低いので、ＴＥＣ２２の温度ＴＴＥＣによって補うように、温度ＴＴＥＣは高めの温度に制御される。そして、駆動電流ＩＬＤが段階的に増加されるにつれて、ＴＥＣ２２の温度ＴＴＥＣは減少され、定常状態において温度ＴＴＥＣは固定される。
【００５２】
光送信機１では、起動前の駆動電流ＩＬＤの電流値は０ｍＡであり、定常状態における駆動電流ＩＬＤの電流値が１２０ｍＡである。したがって、ＬＤ２１の温度ＴＬＤは、起動前から定常状態までの間に、駆動電流ＩＬＤの増加により４℃程度上昇することになる。これに対し、光送信機１では、起動前のＴＥＣ２２の温度ＴＴＥＣは４４℃であり、定常状態におけるＴＥＣ２２の温度ＴＴＥＣは４０℃である。したがって、ＬＤ２１の温度ＴＬＤは、起動前から定常状態までの間に、ＴＥＣ２２の温度ＴＴＥＣの減少により４℃程度下降することになる。ＬＤ２１の温度ＴＬＤは、駆動電流ＩＬＤの発熱による温度と、ＴＥＣ２２の温度ＴＴＥＣとに基づいて定められることから、光送信機１では、駆動電流ＩＬＤの増加による上昇分とＴＥＣ２２の温度ＴＴＥＣの減少による下降分とが相殺される。このため、ＬＤ２１の温度ＴＬＤは、起動前から定常状態までの間でほとんど変化しない。その結果、起動時から定常状態までの間においても、光送信機１から出力される光信号ＰＯの波長の変化を抑制でき、ＷＤＭシステムにおいてデータの誤送信を抑制することが可能となる。
【００５３】
また、光送信機１では、駆動電流ＩＬＤの増加とＴＥＣ２２の温度ＴＴＥＣの減少とを同じタイミングで行っている。これにより、駆動電流ＩＬＤの増加による温度ＴＬＤの上昇と、ＴＥＣ２２の温度ＴＴＥＣの減少による温度ＴＬＤの下降が同じタイミングで生じるため、温度ＴＬＤの変化がさらに抑えられる。その結果、起動時から定常状態までの間において、光送信機１から出力される光信号ＰＯの波長の変化を抑制でき、より安定した波長の光信号ＰＯが出力可能となる。
【００５４】
なお、本発明に係る光送信機は上記実施形態に記載したものに限定されない。例えば、上記実施形態では、発光素子としてＬＤが用いられているが、ＬＥＤ（Light  Emitting  Diode）等の他の発光素子が用いられてもよい。
【００５５】
また、上記実施形態では、光出力のオフ状態からオン状態への遷移を指示する指示信号として、光出力イネーブル信号ＥＮが用いられているが、光出力ディセーブル信号が用いられてもよい。この場合、光出力イネーブル信号検出部５１は、光出力ディセーブル信号がイネーブルからディセーブルに遷移したことを検出し、この遷移を検出したことに応答してステップ数算出部５２、駆動電流設定部５４及び温度設定部５６に検出信号を送出してもよい。
【００５６】
また、上記実施形態では、光出力イネーブル信号検出部５１によって光出力イネーブル信号ＥＮがディセーブルからイネーブルに遷移したことを検出したことに応じて、ステップ数算出部５２がステップ数を算出しているが、ステップ数算出部５２は予めステップ数を算出しておいてもよい。また、固定のステップ数をＲＡＭ等に記憶しておいてもよい。この場合、コントローラ５は、ステップ数算出部５２及びステップ情報記憶部５３を備える必要はない。
【００５７】
また、上記実施形態では、電流設定値が増加されることにより、ＬＤドライバ３は駆動電流ＩＬＤを増加しているが、電流設定値が減少されることにより、ＬＤドライバ３は駆動電流ＩＬＤを増加してもよい。すなわち、電流設定信号ＳＩは、ＬＤドライバ３に駆動電流ＩＬＤを増加させ、減少させることができれば、如何なる信号であってもよい。また、上記実施形態では、温度設定値が減少されることにより、ＴＥＣドライバ４はＴＥＣ２２の温度ＴＴＥＣを減少しているが、温度設定値が増加されることにより、ＴＥＣドライバ４はＴＥＣ２２の温度ＴＴＥＣを減少してもよい。すなわち、温度設定信号ＳＴは、ＴＥＣドライバ４にＴＥＣ２２の温度ＴＴＥＣを増加させ、減少させることができれば、如何なる信号であってもよい。
【００５８】
また、上記実施形態では、駆動電流ＩＬＤの増加とＴＥＣ２２の温度ＴＴＥＣの減少とが同じタイミングで行われるが、異なるタイミングで行われてもよい。また、ＴＥＣ２２の温度ＴＴＥＣの減少は、段階的に行う必要はなく、連続的に減少させてもよい。光出力イネーブル信号ＥＮがディセーブルからイネーブルに遷移したときからステップ設定時間内にＴＥＣ２２の温度ＴＴＥＣが目標温度Ｔｔに達するのであれば、どのようなタイミングで初期温度Ｔ０から目標温度Ｔｔまで減少させてもよい。
【００５９】
また、初期温度Ｔ０（第１温度設定値）としては、サンプリングによって最適な値が設定されてもよく、ＬＤ２１の特性に応じて個々に最適な値が設定されてもよい。例えば、起動前のＬＤ２１の温度と定常状態でのＬＤ２１の温度とを比較してその温度差を算出しておき、初期温度Ｔ０を目標温度Ｔｔよりも算出した温度差だけ高く設定する。あるいは、ＬＤ２１の光信号ＰＯの波長を測定して、光出力がオフ状態からオン状態に遷移した直後の光信号ＰＯの波長と定常状態における光信号ＰＯの波長とが同程度になるように、初期温度Ｔ０を設定する。すなわち、初期温度Ｔ０は、光出力がオフ状態からオン状態に遷移した直後において、光信号ＰＯの波長の目標波長からのずれを補正するのに必要な温度に設定される。
【００６０】
また、ＴＥＣ温度情報記憶部５７は、ＬＤの種類に対応付けて第１温度設定値及び第２温度設定値を記憶しておき、温度設定部５６がＬＤ２１の種類に対応した第１温度設定値及び第２温度設定値を読み出すようにしてもよい。これに対しては、予め製造工程等において、光送信機１に用いられるＬＤの種類に対応したソフトウェアに書き換えることによって実現することができる。これによれば、光送信機１は、ＬＤの種類に応じてＴＥＣ２２の温度を制御でき、ＬＤ２１の温度ＴＬＤを、起動前から定常状態までの間、略一定に保つことができる。その結果、起動時から定常状態までの間において、光送信機１から出力される光信号ＰＯの波長の変化を抑制でき、より安定した波長の光信号ＰＯが出力可能となる。
【符号の説明】
【００６１】
１…光送信機、３…ＬＤドライバ（第１ドライバ）、４…ＴＥＣドライバ（第２ドライバ）、５…コントローラ、２１…ＬＤ（発光素子）、２２…ＴＥＣ（熱電素子）、２３…サーミスタ（温度モニタ素子）、５１…光出力イネーブル信号検出部（指示信号検出手段）、５２…ステップ数算出部（ステップ数算出手段）、５３…ステップ情報記憶部（第３記憶手段）、５４…駆動電流設定部（駆動電流設定手段）、５５…駆動電流情報記憶部（第１記憶手段）、５６…温度設定部（温度設定手段）、５７…ＴＥＣ温度情報記憶部（第２記憶手段）。
【図１】
0005919679.tif 000002
【図２】
0005919679.tif 000003
【図３】
0005919679.tif 000004
【図４】
0005919679.tif 000005
【図５】
0005919679.tif 000006