図1は、実施例1に係る波長可変レーザ100の全体構成を示すブロック図である。図1に示すように、波長可変レーザ100は、レーザデバイスとして、波長を制御可能な半導体レーザ30(チューナブル半導体レーザ)を備えている。本実施例の半導体レーザ30は、レーザ領域に連結してSOA(Semiconductor Optical Amplifier)となる領域が設けられている。このSOAは、光出力制御部として機能する。SOAは光出力の強度を任意に増減させることができる。また光出力の強度を実質的にゼロに制御することもできる。さらに波長可変レーザ100は、検知部50、メモリ60、コントローラ70などを備える。検知部50は、出力検知部および波長ロッカ部として機能する。コントローラ70は、波長可変レーザ100の制御を行うものであり、その内部にはRAM(Random Access Memory)を備えている。
図2は、本実施例における半導体レーザ30の全体構成を示す模式的断面図である。図2に示すように、半導体レーザ30は、SG−DFB(Sampled Grating Distributed Feedback)領域Aと、CSG−DBR(Chirped Sampled Grating Distributed Bragg Reflector)領域Bと、SOA(Semiconductor Optical Amplifier)領域Cとを備える。すなわち、半導体レーザ30は、半導体構造内に波長選択ミラーを有するレーザである。
一例として、半導体レーザ30において、フロント側からリア側にかけて、SOA領域C、SG−DFB領域A、CSG−DBR領域Bがこの順に配置されている。SG−DFB領域Aは、利得を有しサンプルドグレーティングを備える。CSG−DBR領域Bは、利得を有さずにサンプルドグレーティングを備える。SG−DFB領域AおよびCSG−DBR領域Bが図1のレーザ領域に相当し、SOA領域Cが図2のSOA領域に相当する。
SG−DFB領域Aは、基板1上に、下クラッド層2、活性層3、上クラッド層6、コンタクト層7、および電極8が積層された構造を有する。CSG−DBR領域Bは、基板1上に、下クラッド層2、光導波層4、上クラッド層6、絶縁膜9、および複数のヒータ10が積層された構造を有する。各ヒータ10には、電源電極11およびグランド電極12が設けられている。SOA領域Cは、基板1上に、下クラッド層2、光増幅層19、上クラッド層6、コンタクト層20、および電極21が積層された構造を有する。
SG−DFB領域A、CSG−DBR領域BおよびSOA領域Cにおいて、基板1、下クラッド層2、および上クラッド層6は、一体的に形成されている。活性層3、光導波層4、および光増幅層19は、同一面上に形成されている。SG−DFB領域AとCSG−DBR領域Bとの境界は、活性層3と光導波層4との境界と対応している。
SOA領域C側における基板1、下クラッド層2、光増幅層19および上クラッド層6の端面には、端面膜16が形成されている。本実施例では、端面膜16はAR(Anti Reflection)膜である。端面膜16は、半導体レーザ30のフロント側端面として機能する。CSG−DBR領域B側における基板1、下クラッド層2、光導波層4、および上クラッド層6の端面には、端面膜17が形成されている。本実施例では、端面膜17はAR膜である。端面膜17は、半導体レーザ30のリア側端面として機能する。
基板1は、例えば、n型InPからなる結晶基板である。下クラッド層2はn型、上クラッド層6はp型であり、それぞれ例えばInPによって構成される。下クラッド層2および上クラッド層6は、活性層3、光導波層4、および光増幅層19を上下で光閉込めしている。
活性層3は、利得を有する半導体により構成されている。活性層3は、例えば量子井戸構造を有しており、例えばGa0.32In0.68As0.92P0.08(厚さ5nm)からなる井戸層と、Ga0.22In0.78As0.47P0.53(厚さ10nm)からなる障壁層が交互に積層された構造を有する。光導波層4は、例えばバルク半導体層で構成することができ、例えばGa0.22In0.78As0.47P0.53によって構成することができる。本実施例においては、光導波層4は、活性層3よりも大きいエネルギギャップを有する。
光増幅層19は、電極21からの電流注入によって利得が与えられ、それによって光増幅をなす領域である。光増幅層19は、例えば量子井戸構造で構成することができ、例えばGa0.35In0.65As0.99P0.01(厚さ5nm)の井戸層とGa0.15In0.85As0.32P0.68(厚さ10nm)の障壁層が交互に積層された構造とすることができる。また、他の構造として、例えばGa0.44In0.56As0.95P0.05からなるバルク半導体を採用することもできる。なお、光増幅層19と活性層3とを同じ材料で構成することもできる。
コンタクト層7,20は、例えばp型Ga0.47In0.53As結晶によって構成することができる。絶縁膜9は、窒化シリコン膜(SiN)または酸化シリコン膜(SiO)からなる保護膜である。ヒータ10は、チタンタングステン(TiW)で構成された薄膜抵抗体である。ヒータ10のそれぞれは、CSG−DBR領域Bの複数のセグメントにまたがって形成されていてもよい。
電極8,21、電源電極11およびグランド電極12は、金(Au)等の導電性材料からなる。基板1の下部には、裏面電極15が形成されている。裏面電極15は、SG−DFB領域A、CSG−DBR領域BおよびSOA領域Cにまたがって形成されている。
端面膜16および端面膜17は、1.0%以下の反射率を有するAR膜であり、実質的にその端面が無反射となる特性を有する。AR膜は、例えばMgF2およびTiONからなる誘電体膜で構成することができる。なお、本実施例ではレーザの両端がAR膜であったが、端面膜17を有意の反射率を持つ反射膜で構成する場合もある。図2における端面膜17に接する半導体に光吸収層を備えた構造を設けた場合、端面膜17に有意の反射率を持たせることで、端面膜17から外部に漏洩する光出力を抑制することができる。有意の反射率としては、たとえば10%以上の反射率である。なお、ここで反射率とは、半導体レーザ内部に対する反射率を指す。
回折格子(コルゲーション)18は、SG−DFB領域AおよびCSG−DBR領域Bの下クラッド層2に所定の間隔を空けて複数箇所に形成されている。それにより、SG−DFB領域AおよびCSG−DBR領域Bにサンプルドグレーティングが形成される。SG−DFB領域AおよびCSG−DBR領域Bにおいて、下クラッド層2に複数のセグメントが設けられている。ここでセグメントとは、回折格子18が設けられている回折格子部と回折格子18が設けられていないスペース部とが1つずつ連続する領域のことをいう。すなわち、セグメントとは、両端が回折格子部によって挟まれたスペース部と回折格子部とが連結された領域のことをいう。回折格子18は、下クラッド層2とは異なる屈折率の材料で構成されている。下クラッド層2がInPの場合、回折格子を構成する材料として、例えばGa0.22In0.78As0.47P0.53を用いることができる。
回折格子18は、2光束干渉露光法を使用したパターニングにより形成することができる。回折格子18の間に位置するスペース部は、回折格子18のパターンをレジストに露光した後、スペース部に相当する位置に再度露光を施すことで実現できる。SG−DFB領域Aにおける回折格子18のピッチと、CSG−DBR領域Bにおける回折格子18のピッチとは、同一でもよく、異なっていてもよい。本実施例においては、一例として、両ピッチは同一に設定してある。また、各セグメントにおいて、回折格子18は同じ長さを有していてもよく、異なる長さを有していてもよい。また、SG−DFB領域Aの各回折格子18が同じ長さを有し、CSG−DBR領域Bの各回折格子18が同じ長さを有し、SG−DFB領域AとCSG−DBR領域Bとで回折格子18の長さが異なっていてもよい。
SG−DFB領域Aにおいては、各セグメントの光学長が実質的に同一となっている。CSG−DBR領域Bにおいては、少なくとも2つのセグメントの光学長が、互いに異なって形成されている。それにより、CSG−DBR領域Bの波長特性のピーク同士の強度は、波長依存性を有するようになる。SG−DFB領域Aのセグメントの平均光学長とCSG−DBR領域Bのセグメントの平均光学長は異なっている。このように、SG−DFB領域A内のセグメントおよびCSG−DBR領域Bのセグメントが半導体レーザ30内において共振器を構成する。
SG−DFB領域AおよびCSG−DBR領域Bそれぞれの内部においては、反射した光が互いに干渉する。SG−DFB領域Aには活性層3が設けられており、キャリア注入されると、ピーク強度がほぼ揃った、所定の波長間隔を有する離散的な利得スペクトルが生成される。また、CSG−DBR領域Bにおいては、ピーク強度が異なる、所定の波長間隔を有する離散的な反射スペクトルが生成される。SG−DFB領域AおよびCSG−DBR領域Bにおける波長特性のピーク波長の間隔は異なっている。これら波長特性の組み合わせによって生じるバーニア効果を利用して、発振条件を満たす波長を選択することができる。
図1に示すように、半導体レーザ30は、第1温度制御装置31上に配置されている。第1温度制御装置31は、ペルチェ素子を含み、TEC(Thermoelectric cooler)として機能する。第1サーミスタ32は、第1温度制御装置31上に配置されている。第1サーミスタ32は、第1温度制御装置31の温度を検出する。第1サーミスタ32の検出温度に基づいて、半導体レーザ30の温度を特定することができる。
波長可変レーザ100においては、検知部50が半導体レーザ30のフロント側に配置されている。検知部50が波長ロッカ部として機能することから、波長可変レーザ100は、フロントロッカタイプと呼ぶことができる。検知部50は、第1受光素子42、ビームスプリッタ51、エタロン52、第2温度制御装置53、第2受光素子54、および第2サーミスタ55を備える。
ビームスプリッタ41は、半導体レーザ30のフロント側からの出力光を分岐する位置に配置されている。ビームスプリッタ51は、ビームスプリッタ41からの光を分岐する位置に配置されている。第1受光素子42は、ビームスプリッタ51によって分岐された2つの光の一方を受光する位置に配置されている。エタロン52は、ビームスプリッタ51によって分岐された2つの光の他一方を透過する位置に配置されている。第2受光素子54は、エタロン52を透過した透過光を受光する位置に配置されている。
エタロン52は、入射光の波長に応じて透過率が周期的に変化する特性を有する。本実施例においては、エタロン52としてソリッドエタロンを用いる。なお、ソリッドエタロンの当該周期的な波長特性は、温度が変化することによって変化する。エタロン52は、ビームスプリッタ51によって分岐された2つの光の他方を透過する位置に配置されている。また、エタロン52は、第2温度制御装置53上に配置されている。第2温度制御装置53は、ペルチェ素子を含み、TEC(Thermoelectric cooler)として機能する。
第2受光素子54は、エタロン52を透過した透過光を受光する位置に配置されている。第2サーミスタ55は、エタロン52の温度を特定するために設けられている。第2サーミスタ55は、例えば第2温度制御装置53上に配置されている。本実施例では、第2温度制御装置53の温度を第2サーミスタ55で検出することで、エタロン52の温度を特定している。
メモリ60は、書換え可能な記憶装置である。書き換え可能な記憶装置としては、典型的にはフラッシュメモリが挙げられる。コントローラ70は、中央演算処理装置(CPU:Central Processing Unit)、RAM(Random Access Memory)、電源などを備える。RAMは、中央演算処理装置が実行するプログラム、中央演算処理装置が処理するデータなどを一時的に記憶するメモリである。
メモリ60は、波長可変レーザ100の各部の初期設定値およびフィードバック制御目標値をチャネルに対応させて記憶している。チャネルとは、半導体レーザ30の発振波長に対応する番号である。各チャネルの波長は、波長可変レーザ100の波長可変帯域内において、離散的に定められている。例えば、各チャネルは、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)のグリッド波長(50GHz間隔)に対応している。または、ITU−Tグリッドの間隔よりも狭めた間隔で、初期設定値を用意してもよい。本実施例においては、各チャネルの波長が基本波長と定義される。
図3は、上記初期設定値およびフィードバック制御目標値を示す図である。図3に示すように、上記初期設定値は、SG−DFB領域Aの電極8に供給される初期電流値ILD、SOA領域Cの電極21に供給される初期電流値ISOA、半導体レーザ30の初期温度値TLD、エタロン52の初期温度値TEtalon、および各ヒータ10に供給される初期電力値PHeater1〜PHeater3を含む。これら初期設定値は、チャネルごとに定められている。上記フィードバック制御目標値は、コントローラ70のフィードバック制御を行う際の目標値である。フィードバック制御目標値は、第1受光素子42が出力する光電流の目標値Im1、および第1受光素子42が出力する光電流Im1に対する第2受光素子54が出力する光電流Im2の比の目標値Im2/Im1を含む。制御目標値も、チャネルごとに定められている。なお、これらの各値は、波長可変レーザ100の出荷前に、波長計を使ったチューニングによって個体ごとに取得される。また、図4に示すようにメモリ60には、温度補正係数C1が格納されている。温度補正係数C1の詳細については後述する。本実施例においては、温度補正係数C1は、各チャネルに共通の値である。
本実施例に係る波長可変レーザ100は、基本波長と一致しない要求波長を出力することができる。基本波長と異なる要求波長での出力を可能とする制御のことを、以下、グリッドレス制御と称する。図5は、グリッドレス制御における要求波長と基本波長との関係を表す図である。図5に示すように、グリッドレス制御においては、要求波長は、基本波長と隣接する他の基本波長との間の波長である。なお、要求波長は、基本波長と一致していてもよい。
図6は、グリッドレス制御の原理を示す図である。図6において、横軸は波長を示し、縦軸は比Im2/Im1(エタロン52の透過率)の正規化値を示す。図6において、実線は、エタロン52の初期温度値TEtalonに対応する波長特性である。また、点線は、エタロン52の温度を第2温度制御装置53によって上昇させた場合の波長特性である。ここで、実線上の黒丸における比Im2/Im1がフィードバック制御目標値として採用されている場合、エタロン52が初期温度値TEtalonであると、基本波長で発振することになる。一方、エタロン52が点線で示される波長特性に対応した温度であると、比Im2/Im1が基本波長を得るための値(点線上の黒丸)であっても、実際の発振波長はエタロン特性の変更分だけ、その基本波長からシフトする。つまり、要求波長と基本波長との波長差分だけエタロン特性をシフトすることで、フィードバック制御目標値である比Im2/Im1はそのままで、要求波長を実現することができる。すなわち、要求波長と基本波長との波長差分ΔFに基づき、エタロン温度を変更するための演算をし、これをエタロン温度として適用することで、要求波長を実現することができる。
上記したように、エタロン52の波長特性は、その温度にしたがってシフトする。エタロン52における周波数変動量/温度変化量[GHz/℃]を、エタロン52の温度補正係数C1と称する。なお、ここでは波長を周波数で表現している。温度補正係数C1は、波長可変レーザの駆動条件の波長変化に対する変化率に相当する。
要求波長の制御を実現するためのエタロン52の設定温度をTetln_A[℃]とする。またエタロン52の初期温度、すなわち選択された基本波長に対応したエタロン52の温度をTetln_B[℃]とする。Tetln_BはTEtalonに相当し、メモリ60から取得される。さらに、基本波長と要求波長との波長差分(絶対値)をΔF[GHz]とする。この場合、各パラメータの関係は、下記式(1)のように表すことができる。式(1)に基づいて要求波長を得るために必要な設定温度Tetln_Aを求めることができる。
Tetln_A=Tetln_B+ΔF/C1 (1)
第2温度制御装置53の温度を設定温度Tetln_Aに制御することによって、比Im2/Im1をそのまま利用して、要求波長を得ることが可能となる。以上の動作を実行することにより、図6に示すように、エタロン52の特性がシフトした分だけ、基本波長からシフトした波長(要求波長)によって半導体レーザ30をレーザ発振させることができる。
次に、波長可変レーザ100の波長切り替え動作について説明する。波長切り替えを行う命令がコントローラ70へ入力された場合、コントローラ70は、外部への光出力を抑制する制御を実施する。図1の例では、SOAに逆バイアスを印加してSOAを光吸収器として機能させることで、外部への光出力を抑制する。外部への光出力が抑制された後、コントローラ70は、次に出力するべき発振波長に対応した駆動条件の演算を行う。この演算は、前記した手順と同じ手順が採用できる。
新たな駆動条件が得られた後、コントローラ70は、波長可変レーザ100の各部の制御を開始する。この際、最も時間を要する制御は、第2温度制御装置53の温度制御である。グリッドレス制御を行わない場合、グリッド波長の間隔でエタロンのFSR(Free Spectrum Range)を定めれば、第2温度制御装置53の温度は各グリッド波長において同じにすることができる。しかし、グリッドレス制御を実施する場合には、第2温度制御装置53の温度を変更する必要がある。温度制御は、所定の熱容量を持った部品の温度を制御することから、半導体レーザ30の電流や電圧の制御に比べて、制御にかかる時間が長くなる。このため、グリッドレス制御を行う場合は、波長切り替えにおける時間が、グリッドレス制御を行わない場合に比べて長くなってしまう。
図7は、第2温度制御装置53の温度と発振波長との関係を示す図である。図7は、次に出力するべき発振波長に対応した駆動条件を与えた状態で、第2温度制御装置53の温度を変化させた場合に得られる発振波長を示している。図7においてTaは、波長切り替えを行う前の波長λ1を実現するために第2温度制御装置53にセットされていた温度である。一方、Tbは、波長切り替え後の新たな発振波長λ2を実現するために必要な第2温度制御装置53の温度である。
図7のうち点線で示される特性Aは波長λ1で発振するための駆動条件であり、実線で示される特性Bは波長λ2で発振するための駆動条件である。波長切り替えの命令により、半導体レーザ30の電流や電圧が変更されると、半導体レーザ30の特性が特性Aから特性Bへ変化する。この時点では、半導体レーザ30の共振器内部は、波長λ2’で示される波長に対応した状態に定められているといえる。
次に、第2温度制御装置53の温度がTaからTbへと遷移するにしたがって、半導体レーザ30の共振器内部の状態が、特性Bに従って変化する。図7のWaは、発振波長λ2をユーザが要求した場合に許容される許容波長の範囲を示している。図7に示すように、第2温度制御装置53の温度がTb1〜Tb2の範囲であれば、発振波長がWaの範囲で得られることが理解できる。すなわち、波長切り替え前の温度Taから波長切り替え後の温度Tbへの温度変化の期間において、第2温度制御装置53の温度がTb1に到達すれば、波長可変レーザ100の光出力の抑制を解除することができる。
たとえば、Tb1からTbへの温度変化に要する時間が1秒であった場合、温度Tb1に到達した時点でSOAの出力上昇(シャッタON)を行えば、温度Tbに到達する1秒前からSOAからの光出力を実行することができる。このため、検知部50およびコントローラ70による波長制御も1秒早く開始できるため、波長の切り替え時間を短縮することができる。ユーザが波長切り替えに許容する期間は数秒であり、これを短くできることは、ユーザの利便性に寄与する。
図7において特性AあるいはBは、直線で近似でき、その傾きもほぼ一定である。そこで、ユーザが許容する許容波長の範囲が分かれば、第2温度制御装置53の目標温度に対し、光出力の抑制を解除できる温度は計算によって求めることができる。光出力の抑制を解除できる温度は、目標温度に対する温度差で示すことができるので、この温度差をメモリ60に記憶しておけば、いずれの目標波長においても、光出力の開始時間を短縮することができる。
次に、本実施例による波長可変レーザの制御フローについて説明する。図8は、ユーザが要求波長を入力してから半導体レーザ30の駆動が開始されるまでの工程を説明するフローチャートである。図8に示すように、コントローラ70は、要求波長の入力を受ける(ステップS1)。要求波長として、波長または周波数の実数値が入力される場合と、少なくとも2種類以上のパラメータを含む間接的な情報が入力される場合とがある。例えば、基準周波数(スタートグリッド波長)、チャネル番号、およびグリッド間隔が入力される場合がある。例えば、基準周波数FCF(First Channel Frequency)、グリッド間隔Grid、およびチャネル番号CHから、要求波長を算出することができる。具体的には、下記式(2)にしたがって、周波数Fを求め、当該周波数Fから要求波長を算出することができる。入力された情報が間接的な情報であれば、コントローラ70は、下記式(2)などに従って要求波長を算出する。
F=FCF+(CH−1)×Grid (2)
次に、コントローラ70は、要求波長に基づいて、基本波長を選択する(ステップS2)。次に、コントローラ70は、基本波長と要求波長との差を波長差分ΔFとして算出する(ステップS3)。次に、コントローラ70は、ステップS2で選択された基本波長に係る初期設定値およびフィードバック制御目標値をメモリ60から読み出し、波長差分ΔFを用いてエタロン72の設定温度Tetln_Aを更新設定値として算出する(ステップS4)。次に、コントローラ70は、波長差分ΔFを用いて半導体レーザ30の更新設定値を算出する(ステップS5)。半導体レーザ30の更新設定値とは、図3の初期設定値と波長差分ΔFとから算出される半導体レーザ30の設定値である。次に、コントローラ70は、エタロン72の更新設定値および半導体レーザ30の更新設定値を自身のRAMに書き込む(ステップS6)。次に、コントローラ70は、RAMに書き込んだ更新設定値を駆動条件として用いて半導体レーザ30を駆動する(ステップS7)。
図9は、図8のフローの後の半導体レーザ30の駆動動作を説明するフローチャートである。図9に示すように、コントローラ70は、第1サーミスタ32の検出温度TH1がTLDの範囲内にあるか否かを判定する(ステップS21)。ここでTLDの範囲とは、駆動条件の温度値TLDを中心とする所定範囲である。ステップS21において「No」と判定された場合、コントローラ70は、第1サーミスタ32の検出温度TH1が温度値TLD近づくように第1温度制御装置31に供給される電流値を変更する。
コントローラ70は、ステップS21と並行して、第2サーミスタ55の検出温度TH2が設定範囲内にあるか否かを判定する(ステップS22)。この場合の設定範囲は、駆動条件に含まれるエタロン72の設定温度に基づいて決定される。例えば、上記設定範囲は、エタロン72の設定温度を中心とする所定範囲とすることができる。ステップS22において「No」と判定された場合、コントローラ70は、第2サーミスタ55の検出温度TH2がエタロン72の設定温度に近づくように第2温度制御装置53に供給される電流値を変更する。
コントローラ70は、ステップS21およびステップS22の両方で「Yes」と判定されるまで待機する。ステップS21およびステップS22の両方で「Yes」と判定された場合、コントローラ70は、シャッタオープンの動作を行う(ステップS23)。具体的には、SOA領域Cの電極21に供給される電流を初期電流値ISOAに制御する。それにより、半導体レーザ30から駆動条件に基づく波長のレーザ光が出力される。
次に、コントローラ70は、第1温度制御装置31による温度値TLDを制御目標とした温度制御を終了する(ステップS24)。次に、コントローラ70は、第1温度制御装置31によるAFC制御を開始する(ステップS25)。つまり、第1温度制御装置31の温度が、フィードバック制御目標値の比Im2/Im1を満たすようにフィードバック制御される。エタロン52の入力光と出力光の比(前後比)は、半導体レーザ30の発振波長を示している。また、第1温度制御装置31は半導体レーザ30の波長を制御するパラメータである。すなわちステップS25では、前後比がIm2/Im1になるように第1温度制御装置31の温度をフィードバック制御することで、半導体レーザ30の波長を制御する。それにより、要求波長が実現される。コントローラ70は、比Im2/Im1がステップS2で選択された基本波長における目標値Im2/Im1を中心とする所定範囲内にあることを確認すると、AFCロックフラグを出力する(ステップS26)。その後、フローチャートの実行が終了する。
次に、波長切り替えの動作について説明する。図9に示す動作により、AFCロックフラグが出力されて、要求波長における波長出力がなされているときに、ユーザが波長切り替えの命令を発行した場合、コントローラ70は、図10に示す波長切り替え動作を実行する。図10は、本実施例における波長切り替え動作の一例を説明するフローチャートである。
図10に示すように、ユーザが波長切り替えの実行を命令する(ステップ51)と、光出力を抑制するために、シャッター(SOA)を閉じる動作が実行される(ステップ52)。光出力の抑制のためには、SOAを光吸収器として利用する方法が典型的である。また、マイクロマシンを利用したメカニカルシャッタや液晶を利用したシャッタを駆動する方式も考えられる。次に、ユーザが入力した切り替えるべき目標波長に対応した駆動条件の算出を実行する(ステップS53)。この算出にあたっては、図8に示したステップS1からS6と同じ作業が実行される。
次に、コントローラ70は、RAMに書き込まれた駆動条件に従って波長可変レーザ100を駆動する(ステップS54)。駆動が開始された後は、波長可変レーザ100の各部に対する電圧や電流条件は、速やかに指定された条件に到達する。一方、第1温度制御装置31および第2温度制御装置53の温度については、その温度が指定値に到達するまでフィードバック制御の実施が必要である(ステップS55、S56)。
本実施例では、第2温度制御装置53の温度検出値TH2を2段階に分けて管理する。まず、ステップS56においては、図7で説明した許容範囲Waに対応した温度Tb1〜Tb2の範囲に達したことを検知する。ここで、温度Tb1〜Tb2の範囲を第1設定値とする。第1温度制御装置31は、半導体レーザ30の温度を制御するものであるが、この温度は半導体レーザ30の基本温度を定めるものであるので、大きな変更は行われることは無い。一方、第2温度制御装置53の温度は、エタロンの波長特性を変更する必要があることから、収束に要する時間が長くなる場合がある。このため、ステップS56がステップ55よりも後に収束する場合が典型的である。
ステップ55およびステップ56が収束したことを検知すると、コントローラ70は、シャッターを開いて光出力の抑制を解除する(ステップS57)。これにより図7における許容波長の範囲Waの波長で外部へ光出力される。この間も第2温度制御装置は、第1設定値の範囲から、第2設定値である図7の温度Tbに向けて温度制御を継続している。
ステップS57において光出力の抑制が解除されると、第1温度制御装置31の温度制御が、目標温度TH1に向けた制御ではなく、エタロンの前後比が所定の範囲に到達するための制御、つまり自動周波数制御に切り替えられる(ステップS58,S59)。この後、第2温度制御装置53の温度が第2設定値であるTbに対応した所定の範囲に到達したこと、エタロンの前後比が所定の範囲に到達したことを検知(ステップS60)した後、AFCロックフラグを出力(ステップS61)して、切り替え動作が終了する。なお、ステップS60において、第2設定値であるTbに対応した所定の範囲とは、Tbを含みTb1〜Tb2よりも狭い範囲である。
以上説明した本実施例によれば、第2温度制御装置53の温度が最終的な目標であるTbに到達する前に光出力を行うことができる。このため、エタロンの前後比を利用した波長の制御の開始を早めることができ、波長切り替え動作にかかる時間の短縮が実現できる。
なお、図10のフローチャートのステップS56では、第2温度制御装置53の温度が温度Tb1〜Tb2の範囲に達したことを検知しているが、それに限られない。第2温度制御装置53の温度を温度Taから温度Tbに制御する際に、許容波長の範囲Waに対応する温度範囲Tb1〜Tb2のうち、温度Tbよりも温度Ta側の温度Tb1(手前の温度)に到達することを検知することで、シャッターを開いてもよい。ただし、第2温度制御装置53の温度が温度範囲Tb1〜Tb2に規定期間収まることを確認することによって、オーバーシュートなどの影響を回避することができる。