(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
  以下、添付図面を参照して本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は相当要素には同一の符号を付し、重複する説明を省略する。
 
【0021】
  図1は、本実施形態に係る光送信機の構成概略図である。
図1に示されるように、光送信機1は、光通信において用いられ、データ信号TXに応じた光信号P
Oを生成するための装置であって、光送信サブアセンブリ(Transmitting  Optical  Sub-Assembly、以下「TOSA」という。)2と、LDドライバ3と、TEC(Thermoelectric  Cooler)ドライバ4と、コントローラ5と、を備えている。
 
【0022】
  TOSA2は、外部に光信号P
Oを出力する光送信サブアセンブリであって、LD21、TEC22及びサーミスタ23を含み、例えばTEC22の上にLD21及びサーミスタ23が設けられている。LD21は、光信号P
Oを出力する発光素子であって、LDドライバ3から駆動電流I
LDを受けて光信号P
Oを生成し、生成した光信号P
Oを出力する。TEC22は、LD21の温度T
LDを制御する熱電素子であって、TECドライバ4によってTEC22の温度T
TECが調節されて、LD21の温度T
LDを制御する。TEC22では、TECドライバ4から供給された駆動電圧V
TECによってTEC22に電流I
TECが流れ、電流I
TECに応じてその温度T
TECが変化する。このTEC22は、LD21に近接して設けられ、LD21から吸熱またはLD21へ放熱することによりLD21の温度T
LDを制御する。サーミスタ23は、LD21の温度T
LDをモニタする温度モニタ素子であって、LD21に近接して設けられている。サーミスタ23は、モニタしたLD21の温度を示す値T
detをTECドライバ4に送出する。
 
【0023】
  LDドライバ3は、LD21に駆動電流I
LDを供給する第1ドライバである。具体的に説明すると、LDドライバ3は、コントローラ5から送出された電流設定信号S
Iを受信し、受信した電流設定信号S
Iによって示される値である電流設定値に応じた電流値の駆動電流I
LDをLD21に供給する。ここで、駆動電流I
LDには、バイアス電流及び変調電流が含まれており、変調電流のオン/オフは、光送信機1の外部からLDドライバ3に入力されるデータ信号TXに応じて制御される。すなわち、LDドライバ3は、電流設定値に応じた電流値のバイアス電流と、データ信号TXに応じた変調電流とを含む駆動電流I
LDをLD21に供給する。
 
【0024】
  TECドライバ4は、TEC22の温度T
TECを制御する第2ドライバである。具体的に説明すると、TECドライバ4は、コントローラ5から送出された温度設定信号S
Tを受信し、受信した温度設定信号S
Tによって示される値である温度設定値に応じた電圧値の駆動電圧V
TECをTEC22に供給する。また、TECドライバ4は、サーミスタ23によってモニタされたモニタ温度T
detと温度設定値に対応する温度とを比較し、温度設定値に対応する温度とモニタ温度T
detとの温度差を算出して、モニタ温度T
detが温度設定値に対応する温度に近づくようにTEC22に供給する駆動電圧V
TECを制御してもよい。なお、温度設定値に対応する温度とは、温度設定値に応じた電圧値の駆動電圧V
TECによって設定されるTEC22の温度を意味する。
 
【0025】
  コントローラ5は、LD21の駆動電流I
LDを制御するための電流設定信号S
IをLDドライバ3に送出し、TEC22の温度T
TECを制御するための温度設定信号S
TをTECドライバ4に送出する。具体的には、コントローラ5は、光出力のオフ状態からオン状態への遷移を指示する光出力イネーブル信号ENがイネーブルを示す状態になったことを検出したとき、電流設定信号S
IによってLDドライバ3を制御して、LD21の駆動電流I
LDを段階的に増加させるとともに、温度設定信号S
TによってTECドライバ4を制御して、TEC22の温度T
TECを段階的に減少させる。
 
【0026】
  次に、コントローラ5の機能ブロックについて説明する。
図2は、コントローラ5の機能ブロック図である。
図2に示されるように、コントローラ5は、光出力イネーブル信号検出部51と、ステップ数算出部52と、ステップ情報記憶部53と、駆動電流設定部54と、駆動電流情報記憶部55と、温度設定部56と、TEC温度情報記憶部57と、を備える。
 
【0027】
  光出力イネーブル信号検出部51は、光出力のオフ状態からオン状態への遷移を指示する指示信号を検出する指示信号検出手段として機能する。光出力イネーブル信号検出部51は、例えば、光出力イネーブル信号ENがディセーブルを示す状態からイネーブルを示す状態になった(以下、単に「光出力イネーブル信号ENがイネーブルになった」等という。)ことを検出する。光出力イネーブル信号検出部51は、光出力イネーブル信号ENがイネーブルになったことを検出したことに応答して、検出信号をステップ数算出部52、駆動電流設定部54及び温度設定部56に送出する。
 
【0028】
  ステップ数算出部52は、ステップ設定時間におけるステップ設定周期の繰り返し回数であるステップ数を算出するステップ数算出手段として機能する。ここで、ステップ設定時間とは、ステップ情報記憶部53に予め設定された期間(時間間隔)であって、光出力イネーブル信号ENがディセーブルからイネーブルに遷移したときを始点とする期間である。このステップ設定時間は、例えば10sec程度である。ステップ設定周期とは、LD21の駆動電流I
LDを段階的に増加する周期である。ステップ設定周期は、TEC22の温度T
TECを段階的に減少する周期でもある。このステップ設定周期は、ステップ設定時間中において、波長のずれが規格を満たす(WDMシステムにおいてデータの誤送信が生じない)程度に短い時間であって、例えば5msである。
 
【0029】
  ステップ数算出部52は、光出力イネーブル信号検出部51から送出された検出信号を受信したとき(すなわち、光出力イネーブル信号検出部51によって光出力イネーブル信号ENがイネーブルになったことが検出されたことに応答して)、ステップ情報記憶部53に記憶されたステップ設定周期を示す値及びステップ設定時間を示す値に基づいてステップ数を算出する。ステップ数算出部52は、例えば、ステップ設定時間をステップ設定周期で除算することにより、ステップ数を算出する。そして、ステップ数算出部52は、算出したステップ数及びステップ設定周期を駆動電流設定部54及び温度設定部56に送出する。
 
【0030】
  ステップ情報記憶部53は、ステップ設定周期を示す値及びステップ設定時間を示す値を記憶する第3記憶手段として機能する。なお、本実施形態においては、ステップ設定周期は固定であるが、ステップ設定時間は光送信機1の起動中においても変更可能である。このため、ステップ数算出部52は、算出したステップ数を予め記憶しておくこともできるが、光出力イネーブル信号検出部51によって光出力イネーブル信号ENがイネーブルになったことが検出されるごとに、ステップ数を算出するのが好ましい。
 
【0031】
  駆動電流設定部54は、電流設定信号S
Iを生成し、電流設定信号S
IをLDドライバ3に送出する駆動電流設定手段として機能する。駆動電流設定部54は、光出力イネーブル信号検出部51から送出された検出信号を受信したとき、LDドライバ3に駆動電流I
LDの電流値をステップ設定時間内で初期電流値I
0から目標電流値I
tまで段階的に増加させるために、電流設定信号S
IをLDドライバ3に送出する。駆動電流設定部54は、例えば、電流設定信号S
Iによって示される電流設定値を段階的に増加することにより、LDドライバ3に駆動電流I
LDを段階的に増加させる。
 
【0032】
  具体的に説明すると、駆動電流設定部54は、検出信号の受信に応答して、後述の駆動電流情報記憶部55から第1電流設定値を読み出す。そして、駆動電流設定部54は、初期電流設定値と第1電流設定値との差を算出し、その差をステップ数算出部52から受信したステップ数で割る。これによって、駆動電流設定部54は、各ステップ設定周期における電流設定値の増加値を算出する。次に、駆動電流設定部54は、ステップ設定周期ごとに電流設定信号S
Iに増加値を加え、電流設定値を初期電流設定値から第1電流設定値まで段階的に増加させることにより、LDドライバ3に駆動電流I
LDを初期電流値I
0から目標電流値I
tまで段階的に増加させる。
 
【0033】
  ここで、初期電流値I
0は、起動時の駆動電流I
LDの電流値であり、目標電流値I
tは、定常動作時における駆動電流I
LDの電流値である。また、初期電流設定値は、初期電流値I
0に対応する電流設定値であって、LDドライバ3に初期電流値I
0の駆動電流I
LDを供給させるための電流設定値(初期値)である。また、第1電流設定値は、目標電流値I
tに対応する電流設定値であって、LDドライバ3に目標電流値I
tの駆動電流I
LDを供給させるための電流設定値である。駆動電流情報記憶部55は、第1電流設定値を記憶する第1記憶手段として機能する。
 
【0034】
  温度設定部56は、温度設定信号S
Tを生成し、温度設定信号S
TをTECドライバ4に送出する温度設定手段として機能する。温度設定部56は、光出力イネーブル信号検出部51から送出された検出信号を受信したとき、TECドライバ4にTEC22の温度T
TECをステップ設定時間内で初期温度T
0から目標温度T
tまで段階的に減少させるために、温度設定信号S
TをTECドライバ4に送出する。温度設定部56は、例えば、温度設定信号S
Tによって示される温度設定値を段階的に減少することにより、TECドライバ4にTEC22の温度T
TECを段階的に減少させる。
 
【0035】
  具体的に説明すると、温度設定部56は、検出信号の受信に応答して、後述のTEC温度情報記憶部57から第1温度設定値及び第2温度設定値を読み出す。そして、温度設定部56は、第1温度設定値と第2温度設定値との差を算出し、その差をステップ数算出部52から受信したステップ数で除算する。これによって、温度設定部56は、各ステップ設定周期における温度設定値の減少値を算出する。次に、温度設定部56は、ステップ設定周期ごとに温度設定信号S
Tから減少値を減算し、温度設定値を第1温度設定値から第2温度設定値まで段階的に減少させることにより、TECドライバ4にTEC22の温度T
TECを初期温度T
0から目標温度T
tまで段階的に減少させる。
 
【0036】
  ここで、初期温度T
0は、起動時のTEC22の温度T
TECであり、目標温度T
tは、定常動作時におけるTEC22の温度T
TECである。この初期温度T
0は、目標電流値I
tの駆動電流I
LDに応じた発熱による温度上昇分だけ目標温度T
tよりも高く設定され、目標温度T
tは、光信号P
Oの波長が所望の波長範囲に入るように設定される。また、第1温度設定値は、初期温度T
0に対応する温度設定値であって、TECドライバ4にTEC22の温度T
TECを初期温度T
0とさせるための温度設定値である。また、第2温度設定値は、目標温度T
tに対応する温度設定値であって、TECドライバ4にTEC22の温度T
TECを目標温度T
tとさせるための温度設定値である。TEC温度情報記憶部57は、第1温度設定値及び第2温度設定値を記憶する第2記憶手段として機能する。
 
【0037】
  なお、
図2の説明においては、コントローラ5の各機能ブロックがハードウェアにより構成された一例について説明したが、これらの機能ブロックは、ソフトウェアにより構成されてもよい。この場合、コントローラ5の各機能は、CPU、RAM等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPUの制御のもとで動作させるとともに、RAMや補助記憶装置におけるデータの読み出し及び書き込みを行うことで実現される。
 
【0038】
  次に、光送信機1の起動時の動作の一例を、
図3及び
図4を参照して説明する。
図3は、光出力イネーブル信号ENと、駆動電流I
LDと、温度T
TECとの関係の一例を示す図である。
図4は、コントローラ5の起動時の動作を示すフローチャートである。なお、
図3において、横軸は時間であり、縦軸は、光出力イネーブル信号ENについてはディセーブル状態を示す電圧レベル及びイネーブル状態を示す電圧レベルを示し、駆動電流I
LDについては電流[mA]を示し、温度T
TECについては温度[℃]を示す。また、この例において、初期電流値I
0は0mAであり、目標電流値I
tは120mAである。また、この例において、初期温度T
0は44℃であり、目標温度T
tは40℃である。
 
【0039】
  図4に示されるように、まず光出力イネーブル信号ENのディセーブルからイネーブルへの遷移を光出力イネーブル信号検出部51が検出したか否かの判定が行われる(ステップS01)。
図3に示されるように、時間t
0より前では、光出力イネーブル信号ENはディセーブルであるので、ステップS01の判定において、光出力イネーブル信号ENのディセーブルからイネーブルへの遷移は検出されていないと判定され(ステップS01;No)、再度ステップS01の判定が行われる。次に、時間t
0において光出力イネーブル信号ENはディセーブルからイネーブルになる。このとき、光出力イネーブル信号検出部51は、光出力イネーブル信号ENがディセーブルからイネーブルになったことを検出するので、ステップS01の判定において、光出力イネーブル信号ENのディセーブルからイネーブルへの遷移が検出されたと判定される(ステップS01;Yes)。そして、光出力イネーブル信号検出部51は、ステップ数算出部52、駆動電流設定部54及び温度設定部56に対して検出信号を送出する。
 
【0040】
  次に、ステップ数算出部52は、光出力イネーブル信号検出部51から検出信号を受け取ったことに応答して、ステップ情報記憶部53からステップ設定周期を示す値及びステップ設定時間を示す値を読み出す(ステップS02)。そして、ステップ数算出部52は、ステップ設定時間τ
aをステップ設定周期τ
sで割ることによって、ステップ数を算出し(ステップS03)、算出したステップ数を示す情報を駆動電流設定部54及び温度設定部56に送出する。
 
【0041】
  また、駆動電流設定部54は、光出力イネーブル信号検出部51から検出信号を受け取ったことに応答して、駆動電流情報記憶部55から第1電流設定値を読み出す(ステップS04)。そして、駆動電流設定部54は、現在の電流設定値である初期電流設定値と第1電流設定値との差を算出し、その差をステップ数で割る。これによって、各ステップ設定周期における電流設定値の増加値を算出する(ステップS05)。
 
【0042】
  一方、温度設定部56は、光出力イネーブル信号検出部51から検出信号を受け取ったことに応答して、TEC温度情報記憶部57から第1温度設定値及び第2温度設定値を読み出す(ステップS06)。そして、温度設定部56は、第1温度設定値と第2温度設定値との差を算出し、その差をステップ数で割る。これによって、各ステップ設定周期における温度設定値の減少値を算出する(ステップS07)。
 
【0043】
  次に、駆動電流設定部54は、電流設定信号S
Iに増加値を加算し、加算後の電流設定信号S
IをLDドライバ3に送出する(ステップS08)。また、温度設定部56は、ステップS08が行われるのと同じタイミングで、温度設定信号S
Tから減少値を減算し、減算後の温度設定信号S
TをTECドライバ4に送出する(ステップS09)。ここで、電流設定値の増加値に対応する電流値をΔI[mA]、温度設定値の減少値に対応する温度をΔT[℃]とすると、時間t
0において、駆動電流I
LDの電流値は(初期電流値I
0+ΔI=)ΔI[mA]、温度T
TECは(初期温度T
0−ΔT=)44−ΔT[℃]となる。次に、駆動電流設定部54は、電流設定値が第1電流設定値であるか否かを判定し、温度設定部56は、温度設定値が第2温度設定値であるか否かを判定する(ステップS10)。時間t
0では、電流設定値は第1電流設定値でなく、温度設定値は第2温度設定値でないため、駆動電流設定部54及び温度設定部56は、時間t
0からステップ設定周期τ
sが経過するのを待つ(ステップS11)。
 
【0044】
  次に、時間t
0からステップ設定周期τ
sが経過した時間t
1において、駆動電流設定部54は、電流設定信号S
Iに増加値をさらに加算し、加算後の電流設定信号S
IをLDドライバ3に送出する(ステップS08)。また、時間t
1において、温度設定部56は、温度設定信号S
Tから減少値をさらに減算し、減算後の温度設定信号S
TをTECドライバ4に送出する(ステップS09)。これにより、時間t
1において、駆動電流I
LDの電流値はΔI×2[mA]となり、温度T
TECは44−ΔT×2[℃]となる。次に、駆動電流設定部54は、電流設定値が第1電流設定値であるか否かを判定し、温度設定部56は、温度設定値が第2温度設定値であるか否かを判定する(ステップS10)。時間t
1では、電流設定値は第1電流設定値でなく、温度設定値は第2温度設定値でないため(ステップS10;No)、駆動電流設定部54及び温度設定部56は、時間t
1からステップ設定周期τ
sが経過するのを待つ(ステップS11)。このように、駆動電流設定部54及び温度設定部56は、時間t
nまでステップS08〜ステップS11の処理を繰り返す。
 
【0045】
  そして、時間t
nにおいて、駆動電流設定部54は、電流設定信号S
Iに増加値をさらに加算し、加算後の電流設定信号S
IをLDドライバ3に送出する(ステップS08)。また、温度設定部56は、温度設定信号S
Tから減少値をさらに減算し、減算後の温度設定信号S
TをTECドライバ4に送出する(ステップS09)。これにより、時間t
nにおいて、駆動電流I
LDの電流値は目標電流値I
t(=120mA)となる。また、時間t
nにおいて、温度T
TECは目標温度T
t(=40℃)となる。次に、駆動電流設定部54は、電流設定値が第1電流設定値であるか否かを判定し、温度設定部56は、温度設定値が第2温度設定値であるか否かを判定する(ステップS10)。時間t
nでは、電流設定値は第1電流設定値であり、温度設定値は第2温度設定値であるため(ステップS10;Yes)、駆動電流設定部54は電流設定値を第1電流設定値に固定し、温度設定部56は温度設定値を第2温度設定値に固定して、光送信機1の起動時の動作を終了する。
 
【0046】
  なお、
図4では、ステップS04〜ステップS05の処理の後にステップS06〜ステップS07の処理が行われるように記載しているが、ステップS04〜ステップS05の処理とステップS06〜ステップS07の処理とは並列に行われるのが好ましい。また、
図4では、ステップS08の処理の後にステップS09の処理が行われるように記載しているが、ステップS08の処理とステップS09の処理並列とは、同じタイミングで並列に行われるのが好ましい。
 
【0047】
  次に、光送信機1の作用効果について説明する。
図5は、従来の光送信機100における光出力イネーブル信号ENと、駆動電流I
LDと、TECの温度T
TECとの関係の一例を示す図である。なお、
図5において、横軸は時間であり、縦軸は、光出力イネーブル信号ENについてはディセーブル状態を示す電圧レベル及びイネーブル状態を示す電圧レベルを示し、駆動電流I
LDについては電流[mA]を示し、温度T
TECについては温度[℃]を示す。また、この比較例において、初期電流値I
0は0mAであり、目標電流値I
tは120mAである。
図5に示されるように、光送信機100では、温度T
TECは、起動前から定常状態まで常に一定(例えば40℃)に設定されている。この光送信機100は、時間t
0において光出力イネーブル信号ENのディセーブルからイネーブルへの遷移を検出したとき、LDの駆動電流I
LDをステップ設定周期τ
sごとに段階的に増加する。そして、光送信機100は、時間t
0から時間t
nにかけて、LDの駆動電流I
LDを初期電流値I
0(=0mA)から目標電流値I
t(=120mA)まで段階的に増加する。
 
【0048】
  この光送信機100では、光出力がオフ状態(起動前)におけるLDの温度T
LDは、TECの温度T
TECにより定められる。そして、光出力のオフ状態からオン状態への遷移に伴い、LDに供給される駆動電流I
LDが段階的に増加される。一般的にLDでは、駆動電流が増加するごとにLDの温度が上昇し、駆動電流が減少するごとにLDの温度が下降することが知られている。この光送信機100では、例えば、駆動電流I
LDが30mA増加するごとにLDの温度T
LDが1℃程度上昇し、駆動電流I
LDが30mA減少するごとにLDの温度T
LDが1℃程度下降する。このため、駆動電流I
LDに応じた発熱による温度とTECによる温度とがLDに加わり、温度T
LDは段階的に増加する。そして、温度T
LDは、定常状態において、TECによる温度と目標電流値I
tに応じた発熱による温度とを合わせて、温度T
tとなる。このように、LDの温度T
LDは起動前から定常状態になるまでの間で段階的に上昇する。したがって、駆動電流I
LDを段階的に増加している間は、定常状態におけるLDの温度T
tよりも低くなる。
 
【0049】
  ところで、LDが出力する光信号P
Oの波長は、LDの温度の影響を受けることが知られている。例えば、LDの発振波長は、温度変化による熱膨張及び屈折率変化等の影響を受ける。また、LDの特性は、ジャンクション部分の温度変化によっても影響を受けると考えられる。光送信機100では、例えば、LDの温度が1℃上昇するごとに、LDが出力する光信号P
Oの波長は100pm増加し、LDの温度が1℃下降するごとに、LDが出力する光信号P
Oの波長は100pm減少する。光送信機100では、初期電流値I
0は0mAであり、目標電流値I
tは120mAであるから、起動直後のLDの温度は定常状態におけるLDの温度よりも4℃程度低くなり、起動直後の光信号P
Oの波長は、定常状態における光信号P
Oの波長である目標波長に対して、400pm程度短くなる。駆動電流I
LDを段階的に増加していくと、光信号P
Oの波長は、目標波長に対するずれが小さくなるもののゼロにはならず、段階的に目標波長に近づいていく。
 
【0050】
  この光送信機100がWDMシステムにおいて用いられた場合、光送信機100の起動後、光信号P
Oのパワーが定常状態になるまでの間において、光送信機100の光信号P
Oの波長は、定常状態における光信号P
Oの波長よりも短くなってしまう。WDMシステムでは、互いに僅かに異なる波長の光信号P
Oを出力する複数の光送信機が用いられ、これらの光送信機から出力される光信号が合波されてデータが送信される。このデータの送信は、光送信機の起動後、定常状態になるまでの期間においても行われる。このため、複数の光送信機のうちのある光送信機100から出力される光信号P
Oの波長が目標波長からずれると、この波長と他の光送信機から出力される光信号P
Oの波長とが接近して、正しいデータが送れないことがある。このように、光出力がオフ状態からオン状態に遷移した直後においては、光出力のパワーは定常状態よりも小さいが、隣接チャンネルの別波長の光信号に対して悪影響を与えてしまうことがある。したがって、光出力がオフ状態からオン状態に遷移した直後から、光信号の波長のずれを抑える必要がある。
 
【0051】
  一方、光送信機1では、
図3に示されるように、起動前におけるTEC22の温度T
TECは、定常状態におけるTEC22の温度T
TEC(40℃)よりも高め(44℃)に設定されている。このため、光出力がオフ状態(起動前)におけるLD21の温度T
LDは、比較例と比べて4℃程度高い。そして、光出力のオフ状態からオン状態への遷移に伴い、LD21に供給される駆動電流I
LDが段階的に増加されると同時に、TEC22の温度T
TECが段階的に減少される。このとき、TEC22による温度T
TECと駆動電流I
LDに応じた発熱による温度とがLD21に加えられるが、TEC22の温度T
TECが段階的に減少されるため、LD21の温度T
LDはほとんど変化しない。すなわち、駆動電流I
LDが段階的に増加される初期においては、駆動電流I
LDに応じた発熱による温度が低いので、TEC22の温度T
TECによって補うように、温度T
TECは高めの温度に制御される。そして、駆動電流I
LDが段階的に増加されるにつれて、TEC22の温度T
TECは減少され、定常状態において温度T
TECは固定される。
 
【0052】
  光送信機1では、起動前の駆動電流I
LDの電流値は0mAであり、定常状態における駆動電流I
LDの電流値が120mAである。したがって、LD21の温度T
LDは、起動前から定常状態までの間に、駆動電流I
LDの増加により4℃程度上昇することになる。これに対し、光送信機1では、起動前のTEC22の温度T
TECは44℃であり、定常状態におけるTEC22の温度T
TECは40℃である。したがって、LD21の温度T
LDは、起動前から定常状態までの間に、TEC22の温度T
TECの減少により4℃程度下降することになる。LD21の温度T
LDは、駆動電流I
LDの発熱による温度と、TEC22の温度T
TECとに基づいて定められることから、光送信機1では、駆動電流I
LDの増加による上昇分とTEC22の温度T
TECの減少による下降分とが相殺される。このため、LD21の温度T
LDは、起動前から定常状態までの間でほとんど変化しない。その結果、起動時から定常状態までの間においても、光送信機1から出力される光信号P
Oの波長の変化を抑制でき、WDMシステムにおいてデータの誤送信を抑制することが可能となる。
 
【0053】
  また、光送信機1では、駆動電流I
LDの増加とTEC22の温度T
TECの減少とを同じタイミングで行っている。これにより、駆動電流I
LDの増加による温度T
LDの上昇と、TEC22の温度T
TECの減少による温度T
LDの下降が同じタイミングで生じるため、温度T
LDの変化がさらに抑えられる。その結果、起動時から定常状態までの間において、光送信機1から出力される光信号P
Oの波長の変化を抑制でき、より安定した波長の光信号P
Oが出力可能となる。
 
【0054】
  なお、本発明に係る光送信機は上記実施形態に記載したものに限定されない。例えば、上記実施形態では、発光素子としてLDが用いられているが、LED(Light  Emitting  Diode)等の他の発光素子が用いられてもよい。
 
【0055】
  また、上記実施形態では、光出力のオフ状態からオン状態への遷移を指示する指示信号として、光出力イネーブル信号ENが用いられているが、光出力ディセーブル信号が用いられてもよい。この場合、光出力イネーブル信号検出部51は、光出力ディセーブル信号がイネーブルからディセーブルに遷移したことを検出し、この遷移を検出したことに応答してステップ数算出部52、駆動電流設定部54及び温度設定部56に検出信号を送出してもよい。
 
【0056】
  また、上記実施形態では、光出力イネーブル信号検出部51によって光出力イネーブル信号ENがディセーブルからイネーブルに遷移したことを検出したことに応じて、ステップ数算出部52がステップ数を算出しているが、ステップ数算出部52は予めステップ数を算出しておいてもよい。また、固定のステップ数をRAM等に記憶しておいてもよい。この場合、コントローラ5は、ステップ数算出部52及びステップ情報記憶部53を備える必要はない。
 
【0057】
  また、上記実施形態では、電流設定値が増加されることにより、LDドライバ3は駆動電流I
LDを増加しているが、電流設定値が減少されることにより、LDドライバ3は駆動電流I
LDを増加してもよい。すなわち、電流設定信号S
Iは、LDドライバ3に駆動電流I
LDを増加させ、減少させることができれば、如何なる信号であってもよい。また、上記実施形態では、温度設定値が減少されることにより、TECドライバ4はTEC22の温度T
TECを減少しているが、温度設定値が増加されることにより、TECドライバ4はTEC22の温度T
TECを減少してもよい。すなわち、温度設定信号S
Tは、TECドライバ4にTEC22の温度T
TECを増加させ、減少させることができれば、如何なる信号であってもよい。
 
【0058】
  また、上記実施形態では、駆動電流I
LDの増加とTEC22の温度T
TECの減少とが同じタイミングで行われるが、異なるタイミングで行われてもよい。また、TEC22の温度T
TECの減少は、段階的に行う必要はなく、連続的に減少させてもよい。光出力イネーブル信号ENがディセーブルからイネーブルに遷移したときからステップ設定時間内にTEC22の温度T
TECが目標温度T
tに達するのであれば、どのようなタイミングで初期温度T
0から目標温度T
tまで減少させてもよい。
 
【0059】
  また、初期温度T
0(第1温度設定値)としては、サンプリングによって最適な値が設定されてもよく、LD21の特性に応じて個々に最適な値が設定されてもよい。例えば、起動前のLD21の温度と定常状態でのLD21の温度とを比較してその温度差を算出しておき、初期温度T
0を目標温度T
tよりも算出した温度差だけ高く設定する。あるいは、LD21の光信号P
Oの波長を測定して、光出力がオフ状態からオン状態に遷移した直後の光信号P
Oの波長と定常状態における光信号P
Oの波長とが同程度になるように、初期温度T
0を設定する。すなわち、初期温度T
0は、光出力がオフ状態からオン状態に遷移した直後において、光信号P
Oの波長の目標波長からのずれを補正するのに必要な温度に設定される。
 
【0060】
  また、TEC温度情報記憶部57は、LDの種類に対応付けて第1温度設定値及び第2温度設定値を記憶しておき、温度設定部56がLD21の種類に対応した第1温度設定値及び第2温度設定値を読み出すようにしてもよい。これに対しては、予め製造工程等において、光送信機1に用いられるLDの種類に対応したソフトウェアに書き換えることによって実現することができる。これによれば、光送信機1は、LDの種類に応じてTEC22の温度を制御でき、LD21の温度T
LDを、起動前から定常状態までの間、略一定に保つことができる。その結果、起動時から定常状態までの間において、光送信機1から出力される光信号P
Oの波長の変化を抑制でき、より安定した波長の光信号P
Oが出力可能となる。