【実施例1】
【0019】
図2は、実施例1に係る波長可変レーザ100の全体構成を示すブロック図である。
図2に示すように、波長可変レーザ100は、レーザデバイスとして、波長を制御可能な半導体レーザ30(チューナブル半導体レーザ)を備えている。本実施例の半導体レーザ30は、レーザ領域に連結してSOA(Semiconductor Optical Amplifier)となる領域が設けられている。このSOAは、光出力制御部として機能する。SOAは光出力の強度を任意に増減させることができる。また光出力の強度を実質的にゼロに制御することもできる。さらに波長可変レーザ100は、出力検知部40、波長ロッカ部50、メモリ60、コントローラ70などを備える。コントローラ70は、波長可変レーザ100の制御を行うものであり、その内部にはRAM(Random Access Memory)を備えている。
【0020】
図3は、本実施例における半導体レーザ30の全体構成を示す模式的断面図である。
図3に示すように、半導体レーザ30は、SG−DFB(Sampled Grating Distributed Feedback)領域Aと、CSG−DBR(Chirped Sampled Grating Distributed Bragg Reflector)領域Bと、SOA(Semiconductor Optical Amplifier)領域Cとを備える。すなわち、半導体レーザ30は、半導体構造内に波長選択ミラーを有するレーザである。
【0021】
一例として、半導体レーザ30において、フロント側からリア側にかけて、SOA領域C、SG−DFB領域A、CSG−DBR領域Bがこの順に配置されている。SG−DFB領域Aは、利得を有しサンプルドグレーティングを備える。CSG−DBR領域Bは、利得を有さずにサンプルドグレーティングを備える。SG−DFB領域AおよびCSG−DBR領域Bが
図2のレーザ領域に相当し、SOA領域Cが
図2のSOA領域に相当する。
【0022】
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が積層された構造を有する。
【0023】
SG−DFB領域A、CSG−DBR領域BおよびSOA領域Cにおいて、基板1、下クラッド層2、および上クラッド層6は、一体的に形成されている。活性層3、光導波層4、および光増幅層19は、同一面上に形成されている。SG−DFB領域AとCSG−DBR領域Bとの境界は、活性層3と光導波層4との境界と対応している。
【0024】
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のリア側端面として機能する。
【0025】
基板1は、例えば、n型InPからなる結晶基板である。下クラッド層2はn型、上クラッド層6はp型であり、それぞれ例えばInPによって構成される。下クラッド層2および上クラッド層6は、活性層3、光導波層4、および光増幅層19を上下で光閉込めしている。
【0026】
活性層3は、利得を有する半導体により構成されている。活性層3は、例えば量子井戸構造を有しており、例えばGa
0.32In
0.68As
0.92P
0.08(厚さ5nm)からなる井戸層と、Ga
0.22In
0.78As
0.47P
0.53(厚さ10nm)からなる障壁層が交互に積層された構造を有する。光導波層4は、例えばバルク半導体層で構成することができ、例えばGa
0.22In
0.78As
0.47P
0.53によって構成することができる。本実施例においては、光導波層4は、活性層3よりも大きいエネルギギャップを有する。
【0027】
光増幅層19は、電極21からの電流注入によって利得が与えられ、それによって光増幅をなす領域である。光増幅層19は、例えば量子井戸構造で構成することができ、例えばGa
0.35In
0.65As
0.99P
0.01(厚さ5nm)の井戸層とGa
0.15In
0.85As
0.32P
0.68(厚さ10nm)の障壁層が交互に積層された構造とすることができる。また、他の構造として、例えばGa
0.44In
0.56As
0.95P
0.05からなるバルク半導体を採用することもできる。なお、光増幅層19と活性層3とを同じ材料で構成することもできる。
【0028】
コンタクト層7,20は、例えばp型Ga
0.47In
0.53As結晶によって構成することができる。絶縁膜9は、窒化シリコン膜(SiN)または酸化シリコン膜(SiO)からなる保護膜である。ヒータ10は、チタンタングステン(TiW)で構成された薄膜抵抗体である。ヒータ10のそれぞれは、CSG−DBR領域Bの複数のセグメントにまたがって形成されていてもよい。
【0029】
電極8,21、電源電極11およびグランド電極12は、金(Au)等の導電性材料からなる。基板1の下部には、裏面電極15が形成されている。裏面電極15は、SG−DFB領域A、CSG−DBR領域BおよびSOA領域Cにまたがって形成されている。
【0030】
端面膜16および端面膜17は、1.0%以下の反射率を有するAR膜であり、実質的にその端面が無反射となる特性を有する。AR膜は、例えばMgF
2およびTiONからなる誘電体膜で構成することができる。なお、本実施例ではレーザの両端がAR膜であったが、端面膜17を有意の反射率を持つ反射膜で構成する場合もある。
図3における端面膜17に接する半導体に光吸収層を備えた構造を設けた場合、端面膜17に有意の反射率を持たせることで、端面膜17から外部に漏洩する光出力を抑制することができる。有意の反射率としては、たとえば10%以上の反射率である。なお、ここで反射率とは、半導体レーザ内部に対する反射率を指す。
【0031】
回折格子(コルゲーション)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の場合、回折格子を構成する材料として、例えばGa
0.22In
0.78As
0.47P
0.53を用いることができる。
【0032】
回折格子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の長さが異なっていてもよい。
【0033】
SG−DFB領域Aにおいては、各セグメントの光学長が実質的に同一となっている。CSG−DBR領域Bにおいては、少なくとも2つのセグメントの光学長が、互いに異なって形成されている。それにより、CSG−DBR領域Bの波長特性のピーク同士の強度は、波長依存性を有するようになる。SG−DFB領域Aのセグメントの平均光学長とCSG−DBR領域Bのセグメントの平均光学長は異なっている。このように、SG−DFB領域A内のセグメントおよびCSG−DBR領域Bのセグメントが半導体レーザ30内において共振器を構成する。
【0034】
SG−DFB領域AおよびCSG−DBR領域Bそれぞれの内部においては、反射した光が互いに干渉する。SG−DFB領域Aには活性層3が設けられており、キャリア注入されると、ピーク強度がほぼ揃った、所定の波長間隔を有する離散的な利得スペクトルが生成される。また、CSG−DBR領域Bにおいては、ピーク強度が異なる、所定の波長間隔を有する離散的な反射スペクトルが生成される。SG−DFB領域AおよびCSG−DBR領域Bにおける波長特性のピーク波長の間隔は異なっている。これら波長特性の組み合わせによって生じるバーニア効果を利用して、発振条件を満たす波長を選択することができる。
【0035】
図2に示すように、半導体レーザ30は、第1温度制御装置31上に配置されている。第1温度制御装置31は、ペルチェ素子を含み、TEC(Thermoelectric cooler)として機能する。第1サーミスタ32は、第1温度制御装置31上に配置されている。第1サーミスタ32は、第1温度制御装置31の温度を検出する。第1サーミスタ32の検出温度に基づいて、半導体レーザ30の温度を特定することができる。
【0036】
波長可変レーザ100においては、波長ロッカ部50が半導体レーザ30のフロント側に配置されており、フロントロッカタイプと呼ぶことができる。波長ロッカ部50は、第1受光素子42、ビームスプリッタ51、エタロン52、第2温度制御装置53、第2受光素子54、および第2サーミスタ55を備える。
【0037】
ビームスプリッタ41は、半導体レーザ30のフロント側からの出力光を分岐する位置に配置されている。ビームスプリッタ51は、ビームスプリッタ41からの光を分岐する位置に配置されている。第1受光素子42は、ビームスプリッタ51によって分岐された2つの光の一方を受光する位置に配置されている。エタロン52は、ビームスプリッタ51によって分岐された2つの光の他一方を透過する位置に配置されている。第2受光素子54は、エタロン52を透過した透過光を受光する位置に配置されている。
【0038】
エタロン52は、入射光の波長に応じて透過率が周期的に変化する特性を有する。本実施例においては、エタロン52としてソリッドエタロンを用いる。なお、ソリッドエタロンの当該周期的な波長特性は、温度が変化することによって変化する。エタロン52は、ビームスプリッタ51によって分岐された2つの光の他方を透過する位置に配置されている。また、エタロン52は、第2温度制御装置53上に配置されている。第2温度制御装置53は、ペルチェ素子を含み、TEC(Thermoelectric cooler)として機能する。
【0039】
第2受光素子54は、エタロン52を透過した透過光を受光する位置に配置されている。第2サーミスタ55は、エタロン52の温度を特定するために設けられている。第2サーミスタ55は、例えば第2温度制御装置53上に配置されている。本実施例では、第2温度制御装置53の温度を第2サーミスタ55で検出することで、エタロン52の温度を特定している。
【0040】
メモリ60は、書換え可能な記憶装置である。書き換え可能な記憶装置としては、典型的にはフラッシュメモリが挙げられる。コントローラ70は、中央演算処理装置(CPU:Central Processing Unit)、RAM(Random Access Memory)、電源などを備える。RAMは、中央演算処理装置が実行するプログラム、中央演算処理装置が処理するデータなどを一時的に記憶するメモリである。
【0041】
メモリ60は、波長可変レーザ100の各部の初期設定値およびフィードバック制御目標値をチャネルに対応させて記憶している。チャネルとは、半導体レーザ30の発振波長に対応する番号である。例えば、各チャネルは、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)のグリッドに対応している。
【0042】
ここで、基本波長とは、1つおきのチャネルに対応し、例えばチャネル1,3,5…n−1に対応する。中間波長とは、隣り合う2つの基本波長間の波長を表し、例えばチャネル2,4,6…nに対応する。本実施例では、奇数番号のチャネルを基本波長とする。メモリ60は、基本波長のチャネルの初期設定値およびフィードバック制御目標値を記憶している。
【0043】
図4は、基本波長および中間波長を表す図である。
図4において、横軸はエタロン52への入力波長(周波数)を示し、縦軸はエタロン52の透過率を示す。
図4に示すように、エタロン52の透過率は、波長に対して周期的に変化する。
図4を参照して、基本チャネルおよび中間チャネルは、エタロン52の透過特性のいずれかのスロープの途中に設定されている。エタロン52の透過特性のスロープとは、最も透過強度の低い点(ボトム)と最も透過強度の高い点(ピーク)とを結ぶ曲線のことである。本実施例においては、最も透過強度の高いピークの周波数と、ピークの周波数よりも高い周波数側の最も透過強度の低いボトムの周波数の中間の周波数(波長)が基本波長Fとして設定されている。すなわち、基本波長は、右側(ピークよりも高周波側)のスロープに設定されている。最も透過強度の低いボトムの周波数と、ボトムの周波数よりも高い周波数側の最も透過強度の高いピークの周波数の中間の周波数(波長)が中間波長Mとして設定されている。本実施例では、中間波長は、左側(ピークよりも低周波側)のスロープに設定されている。本実施例においては、基本波長におけるエタロンの透過率と中間波長におけるエタロンの透過率とが等しい値に設定される。なお、基本波長Fのサポート範囲を基本波長Fの存在するスロープのボトムから中間波長Mの存在するスロープのボトムまでの範囲として説明しているが、基本波長Fのサポート範囲を基本波長Fの互いに隣り合う中間波長Mの間の範囲とすることもできる。前述したそれぞれの範囲は、エタロン52のFSR(自由スペクトル領域)と一致する。
【0044】
図5(a)は、上記初期設定値およびフィードバック制御目標値を示す図である。
図5(a)に示すように、上記初期設定値は、SG−DFB領域Aの電極8に供給される初期電流値I
LD、SOA領域Cの電極21に供給される初期電流値I
SOA、半導体レーザ30の初期温度値T
LD、エタロン52の初期温度値T
Etalon、および各ヒータ10に供給される初期電力値P
Heater1〜P
Heater3を含む。これら初期設定値は、基本波長に対応したチャネルごとに定められている。上記フィードバック制御目標値は、コントローラ70のフィードバック制御を行う際の目標値である。フィードバック制御目標値は、第1受光素子42が出力する光電流の目標値I
m1、および第1受光素子42が出力する光電流I
m1に対する第2受光素子54が出力する光電流I
m2の比の目標値I
m2/I
m1を含む。制御目標値も、基本波長に対応したチャネルごとに定められている。また、メモリ60には、温度補正係数C1が格納されている。温度補正係数C1の詳細については後述する。本実施例においては、温度補正係数C1は、各チャネルに共通の値である。なお、これらの各値は、波長可変レーザ100の出荷前に、波長計を使ったチューニングによって個体ごとに取得される。
【0045】
続いて、要求波長を出力するための波長可変レーザ100の動作について説明する。まず、コントローラ70は、外部から要求波長を示す情報を取得する。コントローラ70は、要求波長を示す情報に基づいて、メモリ60から要求波長に最も近い基本波長を選択する。そして、選択された基本波長に対応したチャネルの初期設定値およびフィードバック制御目標値を更新設定値として、内蔵されたRAMに読み出す。
図5(b)は、RAMに読み出された更新設定値を表している。更新設定値には、基本波長または中間波長を表すフラグが含まれている。基本波長または中間波長を表すフラグの設定手順については後述する。
【0046】
次に、コントローラ70は、半導体レーザ30の電極8に、初期電流値I
LDに応じた電流を供給する。また、コントローラ70は、初期温度値T
LDが実現されるように、第1温度制御装置31に電力を供給する。それにより、半導体レーザ30の温度が初期値に制御される。また、コントローラ70は、各ヒータ10に、チャネルに対応する初期電力値P
Heater1〜P
Heater3の電力を供給する。このように設定された各初期値に基づき、半導体レーザ30はレーザ発振する。ただし、基本波長と発振波長とが一致していることを保証できない。このため、波長および出力光強度のフィードバック制御が実施される。
【0047】
このようなフィードバック制御のためにコントローラ70は、自動出力制御(APC:Auto Power Control)および自動波長制御(AFC:Auto Frequency Control)を行う。具体的には、コントローラ70は、自動出力制御として、第1受光素子42が出力する光電流値がチャネルに対応する目標値I
m1となるように、SOA領域Cの電極21に供給する電流I
SOAをフィードバック制御する。これにより、半導体レーザ30の出力光強度が所望の値に制御される。
【0048】
また、コントローラ70は、自動波長制御として、第1受光素子42が出力する光電流I
m1に対する第2受光素子54が出力する光電流I
m2の比I
m2/I
m1が目標値I
m2/I
m1となるように、半導体レーザ30の温度を制御する。それにより、半導体レーザ30の出力光波長が基本波長に制御される。なお、中間波長を表すフラグが設定されている場合には、基本波長と反対側のスロープを用いる。コントローラ70は、基本波長に対応する初期温度値T
Etalonが実現されるように、第2温度制御装置53の駆動電力を制御している。第2温度制御装置53に供給する電力は、第2サーミスタ56の検知結果に基づくフィードバック制御がなされており、エタロン52の温度は所定の値に制御される。
【0049】
ここで、比I
m2/I
m1を用いた波長制御の原理について説明する。エタロン52は
図6に示す特性を有していることから、エタロン52へ入力される光強度とエタロン52から出力される光強度の比を得ることで、エタロン52に入力される光の波長を特定することができる。エタロン52へ入力される光強度は、第1受光素子42が出力する光電流I
m1によって示される。エタロン52から出力される光強度は、第2受光素子54が出力する光電流I
m2によって示される。このためI
m2/I
m1によってエタロン52に入力される光の波長が特定できる。そこで、比I
m2/I
m1を波長制御のための目標値として、半導体レーザ30のパラメータをフィードバック制御することによって、所望の波長出力が実現される。本実施例の半導体レーザ30では、波長パラメータとして第1温度制御装置31の温度を制御する。
【0050】
続いて、コントローラ70は、要求波長と基本波長との差に基づいて、初期設定値あるいはフィードバック制御目標値を演算する。なお、本実施例において上記基本波長は第1波長と称することができ、前記要求波長は第2波長と称することができる。本実施例では、選択された基本波長の初期設定値のうち、第2温度制御装置53の目標値T
Etalonを演算により修正し、これをもって半導体レーザ30を基本波長と異なる要求波長で発振させる。
【0051】
図7は、本実施例に係る波長制御方法の原理を示す図である。
図7において、横軸は波長を示し、縦軸は比I
m2/I
m1(エタロン52の透過率)の正規化値を示す。
図7において、実線は、エタロン52の初期温度値T
Etalonに対応する波長特性である。また、点線は、エタロン52の温度を第2温度制御装置53によって上昇させた場合の波長特性である。ここで、実線上の黒丸における比I
m2/I
m1がフィードバック目標値として採用されている場合、エタロン52が初期温度値T
Etalonであると、基本波長で発振することになる。一方、エタロン52が点線で示される波長特性に対応した温度であると、比I
m2/I
m1が基本波長を得るための値(点線上の黒丸)であっても、実際の発振波長はエタロン特性の変更分だけ、その基本波長からシフトする。つまり、要求波長と基本波長との波長差だけエタロン特性をシフトすることで、フィードバック目標値である比I
m2/I
m1はそのままで、要求波長を実現することができる。すなわち、本実施例では要求波長と基本波長との波長差分ΔFに基づき、エタロン温度を変更するための演算をし、これをエタロン温度として適用することで、要求波長を実現する。
【0052】
上記したように、エタロン52の波長特性は、その温度にしたがってシフトする。エタロン52における周波数変動量/温度変化量[GHz/℃]を、エタロン52の温度補正係数C1と称する。なお、ここでは波長を周波数で表現している。温度補正係数C1は、波長可変レーザの駆動条件の波長変化に対する変化率に相当する。
【0053】
要求波長の制御を実現するためのエタロン52の設定温度をTetln_A[℃]とする。またエタロン52の初期温度、すなわち選択された基本波長に対応したエタロン52の温度をTetln_B[℃]とする。Tetln_BはT
Etalonに相当し、メモリ60から取得される。さらに、基本波長と要求波長との波長差分(絶対値)をΔF[GHz]とする。この場合、各パラメータの関係は、下記式(1)のように表すことができる。式(1)に基づいて要求波長を得るために必要な設定温度Tetln_Aを求めることができる。
Tetln_A=Tetln_B+ΔF/C1 (1)
第2温度制御装置53の温度を設定温度Tetln_Aに制御することによって、比I
m2/I
m1をそのまま利用して、要求波長を得ることが可能となる。
【0054】
以下に具体例を示す。要求波長とスタートグリット波長の差を求め、これをグリット間隔波長で除した整数部を、チャネル番号Chとして採用する演算が実施される。そして、コントローラ70は、得られたチャネル番号Chに対応した初期設定値のうち、エタロン温度Tetalonをエタロン温度Tetln_Bとして取得する。ここでは、Tetln_Bは40.000[℃]であったとする。また、コントローラ70は、演算によって得られたチャネル番号Chに対応するグリット波長を基本波長として求め、基本波長と要求波長との波長の差(波長差分ΔF)を演算する。基本波長を得るための典型的な演算は、前記チャネル番号Chとして得られた値にグリット間隔波長を乗じた値を前記スタートグリット波長に加算することで実行される。ここでは、基本波長は196.1000[THz]であった。要求波長と、このようにして得られた基本波長との差を演算することで、波長差分ΔFを得ることができる。ここでは、演算によって得られた波長差分ΔFは+7.0[GHz]であった。
【0055】
コントローラ70は、メモリ60から温度補正係数C1を参照する。温度補正係数C1は、エタロン52の特性によって定まっており、メモリ60にあらかじめ記録されるのが典型的である。ここでは温度補正係数C1が−1.800[GHz/℃]であったとする。次に、コントローラ70は、式(1)を用いてTetln_Aを演算する。ここで演算されたTetln_Aは、36.111[℃] となる。
【0056】
次に、コントローラ70は、エタロン52の温度をTetln_Aに定めた状態で、波長可変レーザ100の制御を実行する。これにより、エタロン52の波長特性がシフトする。これを実現するために、エタロン52の温度は可変であることが必要である。
【0057】
この制御において、コントローラ70は、エタロン52の温度がTetln_Aに定められた状態で、フィードバック目標値である比I
m2/I
m1を達成するように半導体レーザ30の波長を制御する。ここで採用されるフィードバック目標値(比I
m2/I
m1)は、基本波長に対応したチャネル番号Chに与えられたフィードバック目標値である。また、波長可変レーザ100の各部に与えられる他の設定値も、同じく基本波長に対応するチャネル番号Chに与えられた初期設定値が採用される。
【0058】
以上の動作を実行することにより、
図7に示すように、エタロン52の特性がシフトした分だけ、基本波長からシフトした波長(要求波長)によって半導体レーザ30をレーザ発振させることができる。
【0059】
図8は、半導体レーザ30の要求波長を実現するための起動手順を説明するためのフローチャートである。
図8に示すように、コントローラ70は、波長要求F´を受ける(ステップS1)。この要求波長F´は、図示しない外部入出力装置からの入力によるものである。典型的にはRS232C規格に対応した入出力装置が採用される。次に、コントローラ70は、要求波長F´に最も近い基本波長Fを選択する(ステップS2)。
【0060】
次に、コントローラ70は、基本波長Fと要求波長F´との波長差分ΔFの絶対値を算出する(ステップS3)。次に、コントローラ70は、波長差分ΔFの絶対値がエタロン52のFSRの1/4未満であるか否かを判定する(ステップS4)。ステップS4で「Yes」と判定された場合、コントローラ70は、基本波長と同じスロープを選択する(ステップS5)。ステップS4で「No」と判定された場合、コントローラ70は、基本波長と反対のスロープを選択する(ステップS6)。
図4の例では、要求波長F´が基本波長Fと同じスロープに位置しているため、|ΔF|がFSRの1/4未満となっている。したがって、基本チャネルと同じスロープが選択されることになる。ここで、スロープを選択するという動作は、この後に実施される自動波長制御(ステップS13)において、半導体レーザ30の駆動条件をフィードバック制御により訂正する場合の制御に関与する。すなわち、基本波長Fと同じスロープに要求波長F’が位置している場合と、このスロープに隣接する別のスロープに位置している場合とでは、波長変化に対するエタロンの出力変化の向きが反転する。すなわち、フィードバック制御を行う際に、半導体レーザ30の駆動条件を訂正するが、この訂正の符号を要求波長F’が基本波長Fと同じスロープであるか否かによって反転するか否かを判定するのである。これによって、要求波長F’が基本波長Fと異なるスロープに位置している場合でも、正常に自動波長制御をなすことができる。
【0061】
ステップS5またはステップS6の実行後、コントローラ70は、半導体レーザ30の更新設定値をRAMに書き込む(ステップS7)。更新設定値は、ステップS2で選択された基本波長の初期設定値から波長差分ΔFを演算した設定値が含まれている。ステップS7では、コントローラ70は、上記式(1)に従って、波長差分ΔFから設定温度Tetln_Aを算出する。波長差分ΔFは、|ΔF|がFSRの4分の1よりも小さい場合、ΔF=F´−Fで求められ、|ΔF|がFSRの4分の1以上の場合、ΔF=F´−(F−FSR/2)で求められる。コントローラ70は、基本波長に対応した初期温度値T
Etalonを初期温度Tetln_Bとして読み込む。また、メモリ60から温度補正係数C1を読み込む。これら読み込んだ値とΔFとに基づいて、設定温度Tetln_Aを算出する。
図3の例では、基本チャネルがフラグとして設定される。
【0062】
次に、コントローラ70は、ステップS7で書き込まれた更新設定値に基づいて、半導体レーザ30を駆動させる(ステップS8)。なお、この時点における第1温度制御装置31の制御は、第1温度制御装置31の温度が目標温度T
LDになるように制御される。なお、SOA領域Cについては、この時点では半導体レーザ30から光が出力されないように制御する。
【0063】
次に、コントローラ70は、第1サーミスタ32の検出温度TH1がT
LDの範囲内にあるか否かを判定する(ステップS9)。ここでT
LDの範囲とは、目標温度T
LDを中心とする所定範囲である。ステップS9において「No」と判定された場合、コントローラ70は、第1サーミスタ32の検出温度TH1が初期温度値T
LD近づくように第1温度制御装置31に供給される電流値を変更する。
【0064】
コントローラ70は、ステップS9と並行して、第2サーミスタ55の検出温度TH2が設定範囲内にあるか否かを判定する(ステップS10)。この場合の設定範囲は、設定温度Tetln_Aに基づいて決定される。例えば、上記設定範囲は、設定温度Tetln_Aを中心とする所定範囲とすることができる。ステップS10において「No」と判定された場合、コントローラ70は、第2サーミスタ55の検出温度TH2が設定温度Tetln_Aに近づくように第2温度制御装置53に供給される電流値を変更する。
【0065】
コントローラ70は、ステップS9およびステップS10の両方で「Yes」と判定されるまで待機する。ステップS9およびステップS10の両方で「Yes」と判定された場合、コントローラ70は、シャッタオープンの動作を行う(ステップS11)。具体的には、SOA領域Cの電極21に供給される電流を初期電流値I
SOAに制御する。それにより、半導体レーザ30から要求波長のレーザ光が出力される。
【0066】
次に、コントローラ70は、第1温度制御装置31によるT
LDを制御目標とした温度制御を終了する(ステップS12)。次に、コントローラ70は、第1温度制御装置31による自動波長制御を開始する(ステップS13)。つまり、第1温度制御装置31の温度が、比I
m2/I
m1を満たすようにフィードバック制御される。エタロン52の入力光と出力光の比(前後比)は、半導体レーザ30の発振波長を示している。また、第1温度制御装置31は半導体レーザ30の波長を制御するパラメータである。すなわちステップS10では、前後比がI
m2/I
m1になるように第1温度制御装置31の温度をフィードバック制御することで、半導体レーザ30の波長を制御する。なお、中間波長を表すフラグが設定されている場合には、基本波長と反対側のスロープを用いる。反対側のスロープを用いる場合、自動波長制御(フィードバック制御)において、半導体レーザ30の駆動条件を訂正するための符号は、基本波長と同じスロープを用いる場合とは反対の符号が採用される。第1温度制御装置31に供給される電流値の制御は、所定の刻み値(固定値)によって実行される。コントローラ70は、比I
m2/I
m1を目標値I
m2/I
m1に近づけるための温度制御符号を発生する。温度制御符号は、温度上昇を示す符号、温度下降を示す符号、温度変更が不要な場合の符号を含む。この符号に基づいて、前記刻み値だけ、第1温度制御装置31へ供給する電流値を増大あるいは減少させる制御がなされる。あるいは比I
m2/I
m1が目標値I
m2/I
m1に対して所定の範囲内に遷移した場合には、温度制御不要の符号がコントローラ70から出力され、第1温度制御装置31の電流量は変更されない。前記したように、エタロン52の温度がステップS4によって算出された値に変更されているので、基本波長における比I
m2/I
m1をフィードバック目標値としてフィードバック制御すると、半導体レーザ30の発振波長は、基本波長ではなく、要求波長になる。
【0067】
コントローラ70は、比I
m2/I
m1がステップS2で選択された基本波長における目標値I
m2/I
m1を中心とする所定範囲内にあることを確認すると、ロックフラグを出力する(ステップS14)。
【0068】
本実施例では、エタロン52としてソリッドエタロンを採用したが、それ以外のエタロンを用いることもできる。例えば、ミラー間に液晶層が介在する液晶エタロンをエタロン52として用いてもよい。この場合、液晶に印加される電圧を制御することによって、液晶エタロンの波長特性をシフトさせることができる。また、印加電圧に応じてミラー間のギャップ長を変更可能なエアギャップエタロンをエタロン52として用いてもよい。この場合、印加電圧を制御することによって、エアギャップエタロンの波長特性をシフトさせることができる。これら液晶エタロンあるいはエアギャップエタロンのいずれの場合であっても、第2温度制御装置53によって温度制御がなされる。ただし、この場合の温度制御は波長特性のシフトのためではなく、温度要因による波長特性の変動を防止するためである。このため温度は一定に制御される。
【0069】
本実施例によれば、要求波長が基本波長と同じスロープに位置していれば、基本波長と同じ傾きのスロープを用いて波長制御がなされる。一方、要求波長が基本波長と異なるスロープに位置していれば、基本波長のスロープを反転させることによって得られる反対の傾きのスロープを用いて波長制御がなされる。それにより、中間波長に対応する初期設定値などをメモリ60に格納しておかなくてもよい。その結果、メモリ60の容量の増大化を抑制することができる。また、中間波長の試験を行わなくてもよくなるため、試験時間の短縮化を図ることができる。
【0070】
(変形例)
上記例では、スロープの選択をしている。スロープの選択は、自動波長制御におけるフィードバック制御により半導体レーザ30の駆動条件を訂正する場合の符号を選択することと同じことを表す。そこで、スロープの選択をせずに、半導体レーザ30の駆動条件を訂正する場合の符号の反転・非反転を判定するだけでもよい。
【0071】
図9は、半導体レーザ30の要求波長を実現するための起動手順の他の例を表すフローチャートである。
図8のフローチャートと異なる点について説明する。ステップS4で「Yes」と判定された場合、コントローラ70は、ステップS13におけるフィードバック制御における半導体レーザ30の駆動条件の訂正に係る符号を反転させない(ステップS5´)。具体的には、コントローラ70は、基本波長のフラグを設定する。ステップS4で「No」と判定された場合、コントローラ70は、ステップS13におけるフィードバック制御における半導体レーザ30の駆動条件の訂正に係る符号を反転させる(ステップS6´)。具体的には、コントローラ70は、中間波長のフラグを設定する。
【0072】
ステップS13においては、コントローラ70は、第1温度制御装置31の温度が、比I
m2/I
m1を満たすようにフィードバック制御を行う。基本波長のフラグが設定されている場合には、コントローラ70は、基本波長のスロープに対応したフィードバック制御を行う。中間波長のフラグが設定されている場合には、コントローラ70は、半導体レーザの駆動条件の訂正に係る符号を反転させて、フィードバック制御を行う。
【0073】
本変形例によれば、半導体レーザ30の駆動条件の訂正に係る符号の反転・非反転を行うだけで、基本波長および中間波長に基づく波長制御を行うことができる。それにより、中間波長に対応する初期設定値などをメモリ60に格納しておかなくてもよい。その結果、メモリ60の容量の増大化を抑制することができる。また、中間波長の試験を行わなくてもよくなるため、試験時間の短縮化を図ることができる。
【実施例2】
【0074】
実施例1では、波長の任意設定制御(グリッドレス制御)について説明したが、波長が固定されたグリッド制御についても本発明を適用することができる。
図10は、半導体レーザ30の要求波長(いずれかのグリッド波長)を実現するための起動手順を説明するためのフローチャートである。
図10に示すように、コントローラ70は、波長要求F´を受ける(ステップS21)。この要求波長F´は、図示しない外部入出力装置からの入力によるものである。典型的にはRS232C規格に対応した入出力装置が採用される。次に、コントローラ70は、要求波長F´が基本波長Fのいずれかであるか否かを判定する(ステップS22)。
【0075】
ステップS22で「Yes」と判定された場合、コントローラ70は、基本波長と同じスロープを選択する(ステップS23)。ステップS22で「No」と判定された場合、コントローラ70は、基本波長と反対のスロープを選択する(ステップS24)。ステップS23またはステップS24の実行後、コントローラ70は、半導体レーザ30の更新設定値をRAMに書き込む(ステップS25)。要求波長が基本波長である場合、更新設定値には、基本波長の初期設定値、フィードバック制御目標値が含まれる。要求波長が中間波長である場合、更新設定値には、中間波長と隣接するいずれかの基本波長の初期設定値、フィードバック制御目標値に加えて、ステップS24で選択されたスロープに関するフラグが含まれている。
【0076】
次に、コントローラ70は、ステップS25で書き込まれた更新設定値に基づいて、半導体レーザ30を駆動させる(ステップS26)。次に、コントローラ70は、第1サーミスタ32の検出温度TH1がT
LDの範囲内にあるか否かを判定する(ステップS27)。ここでT
LDの範囲とは、目標温度T
LDを中心とする所定範囲である。ステップS27において「No」と判定された場合、コントローラ70は、第1サーミスタ32の検出温度TH1が初期温度値T
LD近づくように第1温度制御装置31に供給される電流値を変更する。
【0077】
コントローラ70は、ステップS27と並行して、第2サーミスタ55の検出温度TH2が設定範囲内にあるか否かを判定する(ステップS28)。この場合の設定範囲は、設定温度Tetln_Aに基づいて決定される。例えば、上記設定範囲は、設定温度Tetln_Aを中心とする所定範囲とすることができる。ステップS10において「No」と判定された場合、コントローラ70は、第2サーミスタ55の検出温度TH2が設定温度Tetln_Aに近づくように第2温度制御装置53に供給される電流値を変更する。
【0078】
コントローラ70は、ステップS27およびステップS28の両方で「Yes」と判定されるまで待機する。ステップS27およびステップS28の両方で「Yes」と判定された場合、コントローラ70は、シャッタオープンの動作を行う(ステップS29)。具体的には、SOA領域Cの電極21に供給される電流を初期電流値I
SOAに制御する。それにより、半導体レーザ30から要求波長のレーザ光が出力される。
【0079】
次に、コントローラ70は、第1温度制御装置31によるT
LDを制御目標とした温度制御を終了する(ステップS30)。次に、コントローラ70は、第1温度制御装置31による自動波長制御を開始する。(ステップS31)。つまり、第1温度制御装置31の温度が、比I
m2/I
m1を満たすようにフィードバック制御される。エタロン52の入力光と出力光の比(前後比)は、半導体レーザ30の発振波長を示している。また、第1温度制御装置31は半導体レーザ30の波長を制御するパラメータである。すなわちステップS31では、前後比がI
m2/I
m1になるように第1温度制御装置31の温度をフィードバック制御することで、半導体レーザ30の波長を制御する。なお、中間波長を表すフラグが設定されている場合には、基本波長と反対側のスロープを用いる。第1温度制御装置31に供給される電流値の制御は、所定の刻み値(固定値)によって実行される。コントローラ70は、比I
m2/I
m1を目標値I
m2/I
m1に近づけるための温度制御符号を発生する。温度制御符号は、温度上昇を示す符号、温度下降を示す符号、温度変更が不要な場合の符号を含む。この符号に基づいて、前記刻み値だけ、第1温度制御装置31へ供給する電流値を増大あるいは減少させる制御がなされる。あるいは比I
m2/I
m1が目標値I
m2/I
m1に対して所定の範囲内に遷移した場合には、温度制御不要の符号がコントローラ70から出力され、第1温度制御装置31の電流量は変更されない。
【0080】
コントローラ70は、比I
m2/I
m1がステップS2で選択された基本波長における目標値I
m2/I
m1を中心とする所定範囲内にあることを確認すると、ロックフラグを出力する(ステップS32)。
【0081】
本実施例によれば、要求波長が基本波長と同じスロープに位置していれば、基本波長と同じ傾きのスロープを用いて波長制御がなされる。一方、要求波長が基本波長と異なるスロープに位置していれば、基本波長のスロープを反転させることによって得られる反対の傾きのスロープを用いて波長制御がなされる。それにより、中間波長に対応する初期設定値などをメモリ60に格納しておかなくてもよい。その結果、メモリ60の容量の増大化を抑制することができる。また、中間波長の試験を行わなくてもよくなるため、試験時間の短縮化を図ることができる。
【0082】
(変形例)
上記例では、スロープの選択をしている。スロープの選択は、自動波長制御におけるフィードバック制御により半導体レーザ30の駆動条件を訂正する場合の符号を選択することと同じことを表す。そこで、スロープの選択をせずに、半導体レーザ30の駆動条件を訂正する場合の符号の反転・非反転を判定するだけでもよい。
【0083】
図11は、半導体レーザ30の要求波長を実現するための起動手順の他の例を表すフローチャートである。
図10のフローチャートと異なる点について説明する。ステップS22で「Yes」と判定された場合、コントローラ70は、ステップS31におけるフィードバック制御における半導体レーザ30の駆動条件の訂正に係る符号を反転させない(ステップS23´)。具体的には、コントローラ70は、基本波長のフラグを設定する。ステップS22で「No」と判定された場合、コントローラ70は、ステップS31におけるフィードバック制御における半導体レーザ30の駆動条件の訂正に係る符号を反転させる(ステップS24´)。具体的には、コントローラ70は、中間波長のフラグを設定する。
【0084】
ステップS31においては、コントローラ70は、第1温度制御装置31の温度が、比I
m2/I
m1を満たすようにフィードバック制御を行う。基本波長のフラグが設定されている場合には、コントローラ70は、基本波長のスロープに対応したフィードバック制御を行う。中間波長のフラグが設定されている場合には、コントローラ70は、半導体レーザの駆動条件の訂正に係る符号を反転した状態で、フィードバック制御を行う。
【0085】
本変形例によれば、半導体レーザ30の駆動条件の訂正に係る符号の反転・非反転を行うだけで、基本波長および中間波長に基づく波長制御を行うことができる。それにより、中間波長に対応する初期設定値などをメモリ60に格納しておかなくてもよい。その結果、メモリ60の容量の増大化を抑制することができる。また、中間波長の試験を行わなくてもよくなるため、試験時間の短縮化を図ることができる。
【0086】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。