(57)【要約】  光装置が有するファームウェアがアップグレード中でも、フィードバック制御を実現し、光出力の出力制御を適切に行うことを課題とする。この課題を解決するために、光装置内にファームウェアとは別に補助制御部を設ける。この補助制御部が、フィードバック時に、ファームウェアが出力する制御情報を記憶しておき、ファームウェアのアップグレードが開始されたら、記憶しておいた制御情報を出力し、光出力の出力制御をファームウェアの代わりに行うことで、光出力を適切に制御することができる。
2010116476.tif 000002
【特許請求の範囲】
【請求項１】
光出力部と、
前記光出力部に制御情報を供給し、前記光出力部の出力強度を制御する制御部と、
前記光出力の動作状況をモニタ出力として出力するモニタ部と、
前記モニタ出力および前記制御情報を記録する制御補助部とを備え、
前記制御部が前記制御情報の供給を停止するとき、前記制御補助部は前記記録された前記モニタ出力および前記制御情報の関係に基づいて前記光出力部に前記制御情報を出力することを特徴とする光装置。
【請求項２】
前記光出力部から温度情報を取得する温度情報取得部を更に有し、前記制御補助部は、前記温度情報に対応付けて前記制御情報を記録し、前記制御部が前記制御情報の供給を停止している間の温度情報をキーにして、当該温度情報に対応する制御情報を前記光出力部に出力する請求項１に記載の光装置。
【請求項３】
光出力の立上げからの経過時間を示す時間情報を取得する時間情報取得部を更に有し、前記制御補助部は、前記時間情報に対応付けて前記制御情報を記録し、前記制御部が前記制御情報の供給を停止している間の時間情報をキーにして、当該時間情報に対応する制御情報を前記光出力部に出力する請求項１に記載の光装置。
【請求項４】
温度情報と、光出力の立上げからの経過時間を示す時間情報とを取得する温度／時間情報取得部を更に有し、前記制御補助部は、前記温度情報または前記時間情報に対応付けて前記制御情報を記録し、前記制御部が前記制御情報の供給を停止している間の前記温度情報または前記時間情報をキーにして、当該温度情報または当該時間情報に対応する制御情報を前記光出力部に出力する請求項１に記載の光装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、光装置に関する。本発明は、例えば、光装置のファームウェアのアップグレード時に、ファームウェアの代わりに光出力を行う光装置に関する。
【背景技術】
【０００２】
近年、光ファイバを使用した光通信が、ブロードバンド回線に広く普及している。そして、光ファイバと各種通信機器との接続を行う機器に、光トランシーバが広く使用されている。【０００３】
光トランシーバは、光ファイバ内を流れる光信号を電気信号に変換する光受信機や、電気信号を光信号に変換し、上位装置に出力する光送信機等を有し、大容量かつ高速なデータ伝送に対応する仕様が要求され、さらに、小型化や低コスト化等が求められている。【０００４】
これらの要求に対応するため、光装置内にファームウェアを設け、このファームウェアを書換えることで、光装置自体の交換や部品の追加を行うことなく、光装置の機能や信頼性を向上させている。【０００５】
さらに、光装置のファームウェアは、出荷後にバグ等の不具合が多く発生するため、顧客先でのアップグレードが強く要求されている。【０００６】
光装置に要求される制御として、２つの制御が例として挙げられる。まず、第１の制御として、光出力の制御が挙げられる。これは、光装置内に温度変化等が発生し、光出力に変化が生ずるからである。【０００７】
次に、第２の制御として、光出力を段階的に増加させることが挙げられる。例えば、上位装置等の起動時に、光装置から急激な光出力を発生させると、定格以上の電流が流れ、光装置の故障等を招く恐れがあるからである。【０００８】
そして、第１の制御と第２の制御とを行うために、通常、光装置は、光出力に対してフィードバック制御を行う。このフィードバック制御について図を用いて説明する。【０００９】
図２０は、フィードバック制御を説明するための図である。まず、モニタ部５０ｂが、光出力部５０ａ内に含まれる光素子（例えば、ＬＤなど）を取得する。【００１０】
そして、モニタ部５０ｂが、光出力の動作状況をモニタし、モニタした出力を示すモニタ情報をフィードバック情報生成部５０ｃに出力する。【００１１】
そして、フィードバック情報生成部５０ｃは、モニタ部５０ｂから入力されたモニタ情報に基づいてフィードバック情報を生成し、生成したフィードバック情報をアナログ部５０ｄに出力する。このように、フィードバック情報生成部５０ｃが生成する情報を以下、フィードバック情報とする。【００１２】
そして、アナログ部５０ｄは、フィードバック情報をＡＤＣ（Analog  Digital  Converter）５０ｅに出力する。その後、ＡＤＣ５０ｅは、アナログ部５０ｄから取得したフィードバック情報をアナログ情報からデジタル情報に変換し、ファームウェア部５０ｆに出力する。【００１３】
ファームウェア部５０ｆは、光装置５０の各種仕様を定めるファームウェアを有し、ＡＤＣ５０ｅからデジタル化されたフィードバック情報を取得する。なお、ファームウェア部５０ｆが有するファームウェアを単にファームウェアとして以下説明する。【００１４】
そして、ファームウェア部５０ｆは、取得したフィードバック情報から、光出力部５０ａの出力強度を制御する制御情報を生成する。このように「制御情報」とは、光出力を制御する情報を示し、光装置のファームウェアが、フィードバック情報から生成する情報を示す。【００１５】
なお、制御情報の一例としては、１０４０ＬＳＢ（Least  Significant  Bit）といった情報が挙げられ、このＬＳＢとは、最も小さなデジタル単位を示し、例えば、１Ｖ（ボルト）を１０００分割した場合に、１ｍＶ（ミリボルト）が１ＬＳＢとなる。【００１６】
そして、ファームウェア部５０ｆは、ＤＡＣ（Digital  Analog  Converter）５０ｇに生成した制御情報を出力する。その後、ＤＡＣ５０ｇは、ファームウェア部５０ｆから取得した制御情報をアナログ情報に変換し、変換した情報をアナログ部５０ｄに出力する。【００１７】
その後、アナログ部５０ｄは、ＤＡＣ５０ｇから取得した情報（例えば、制御信号）を光出力部５０ａに出力し、光出力の制御を行う。このように、光装置５０は、光出力の制御を行うフィードバック制御を行っている。【００１８】
次に、ファームウェアのアップグレード時に、光装置５０が行う制御について説明する。図２１は、アップグレード時における光装置の制御について説明するための図である。【００１９】
なお、図に示した「ｔ０」は、光出力の立上げが開始する時と、フィードバック制御が開始する時とを示し、「ｔ１」は、光出力の立上げが終了する時を示すものとする。【００２０】
また、「ｔ２」は、ファームウェアのアップグレードが開始する時を示し、「ｔ３」は、ｔ２で開始されたファームウェアのアップグレードが完了する時を示す。【００２１】
まず、ｔ０からｔ１の間、ファームウェア部５０ｆは、光出力を急激に増加させず、段階的に増加させるように、制御情報を出力する。そして、ｔ１に示された光出力を制御する制御情報を出力する。【００２２】
その後、ｔ２において、ファームウェアのアップグレードが開始されると、ファームウェア部５０ｆは、制御情報をファームウェアのアップグレードがされる直前の制御情報（例えば、１０４０ＬＳＢ）に保持する。【００２３】
そして、ファームウェア部５０ｆは、ファームウェアのアップグレードが完了するまで、制御情報の出力を停止し、アップグレードが完了するｔ３まで制御情報を１０４０ＬＳＢに保持する。【００２４】
なお、ｔ０からｔ２までの間、ファームウェアのアップグレードが実施されておらず、このアップグレードが実施されていない時のファームウェアの動作状態を「通常動作時」とする。【００２５】
その後、アップグレードが完了すると、ファームウェア部５０ｆは、アップグレード開始前に保持していた制御情報（１０４０ＬＳＢ）の出力を再び開始し、光装置５０は、フィードバック制御を再び開始する。【００２６】
このように、光装置５０は、アップグレード開始時に、フィードバック制御を停止し、アップグレード直前の制御情報を単に保持するだけの制御を行う。そして、アップグレード終了後に、保持していた制御情報に基づき、フィードバック制御を再び開始する。【００２７】
なお、情報処理システムで使用するファームウェアの更新処理を行う技術として、最新バージョンのファームウェアを記憶する装置と、実行中のファームウェアを記憶する装置とを設け、例えば、情報処理システムで実行中のファームウェアが最新バージョンのファームウェアと異なると判定された場合に、最新バージョンのファームウェアをダウンロードし、実行中のファームウェアの更新処理を行うという技術が公開されている（例えば、特許文献１）。【００２８】
【特許文献１】特開平１１−３２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２９】
しかしながら、上述した従来の技術では、ファームウェアのアップグレード中に、光装置がフィードバック制御を行うことができず、光出力を適切に制御することができないという問題があった。【００３０】
具体的に図２０及び図２２を用いて説明する。図２２は、アップグレード時の光出力の状態を説明するための図である。【００３１】
図２２に示した「ｔ１０」は、光出力の立上げと、光装置５０のフィードバック制御が開始された時を示し、「ｔ１１」は、光出力の立上げが終了する前に、ファームウェアのアップグレードが開始された時を示し、「ｔ１２」は、ｔ１１で開始されたファームウェアのアップグレードが完了する時を示す。【００３２】
そして、「ｔ１３」は、ｔ１０で開始された光出力の立上げ終了時を示す。「ｔ１４」は、通常動作時に、ファームウェアのアップグレードが再び開始された時を示し、「ｔ１５」は、ｔ１４で開始されたファームウェアのアップグレードが完了する時を示す。【００３３】
まず、ｔ１１において、光装置５０は、光出力の制御を行うフィードバック制御を一時的に停止し、ファームウェアのアップグレードが開始される直前の制御情報を保持し、ｔ１２に光出力の出力制御を再び開始する。【００３４】
したがって、ｔ１１〜ｔ１２の間、光装置５０は、光出力に対するフィードバック制御を行わず、光出力の制御が一時的に停止する。その結果、ファームウェアのアップグレードがなければ、ｔ１３以前に光出力の立上げが終了していたが、アップグレードの影響を受けて、光出力の立上げ終了が遅れてしまう。【００３５】
一方、ｔ１４〜ｔ１５の間に、例えば、光装置５０内の温度変化が発生した場合、温度変化の影響を受け、ｔ１４に示す光出力と、ｔ１５に示す光出力とが異なっている。【００３６】
ｔ１４〜ｔ１５の間、光装置５０は、ｔ１４における制御情報を保持し、フィードバック制御を一時的に停止しているので、ｔ１５に示す光出力に対応する制御情報を有していない。【００３７】
その結果、アップグレードが完了し、光装置５０が再びフィードバック制御を開始しても、アップグレード後の温度変化に対応した制御情報を有しておらず、温度変化に対応した光出力の制御ができない。【００３８】
開示の技術は、上記に鑑みてなされたものであって、光装置のファームウェアがアップグレード中でも、フィードバック制御を実現し、光出力の制御を適切に行う光装置を提供することを目的とする。
【課題を解決するための手段】
【００３９】
上述した課題を解決し、目的を達成するため、光装置は、光出力部と、前記光出力部に制御情報を供給し、前記光出力部の出力強度を制御する制御部と、前記光出力の動作状況をモニタ出力として出力するモニタ部と、前記モニタ出力および前記制御情報を記録する制御補助部とを備え、前記制御部が前記制御情報の供給を停止するとき、前記制御補助部は前記記録された前記モニタ出力および前記制御情報の関係に基づいて前記光出力部に前記制御情報を出力することを要件とする。
【発明の効果】
【００４０】
本願に開示する光装置によれば、光装置内のファームウェアがアップグレード中であっても、光出力の制御を中断することなく、光出力の制御を適切に行うことができる。
【図面の簡単な説明】
【００４１】
【図１】図１は、通常動作時の光出力を説明するための図である。
【図２】図２は、実施例の効果を説明するための図である。
【図３】図３は、実施例１に係る光装置を示す図である。
【図４】図４は、実施例１に示す温度別制御テーブルのデータ構造の一例を示す図である。
【図５】図５は、実施例１の補助制御部の動作を説明するための図である。
【図６】図６は、実施例１に係る光装置の処理手順を示す図である。
【図７】図７は、実施例２に係る光装置を示す図である。
【図８】図８は、実施例２に示す時間別制御テーブルのデータ構造の一例を示す図である。
【図９】図９は、実施例２の補助制御部の動作を説明するための図である。
【図１０】図１０は、実施例２に係る光装置の処理手順を示す図である。
【図１１】図１１は、実施例３に係る光装置を示す図である。
【図１２】図１２は、実施例３の補助制御部の動作を説明するための図である。
【図１３】図１３は、実施例３に係る光装置の処理手順を示す図である。
【図１４】図１４は、実施例４に係る光装置を示す図である。
【図１５】図１５は、実施例４に示す温度別制御テーブルのデータ構造の一例を示す図である。
【図１６】図１６は、実施例４に示す時間別制御テーブルのデータ構造の一例を示す図である。
【図１７】図１７は、実施例４の補助制御部の動作を説明するための図である。
【図１８】図１８は、実施例４に係る光装置の処理手順を示す図である。
【図１９】図１９は、ファームウェアを異なる記憶領域に記憶した場合の例について説明するための図である。
【図２０】図２０は、フィードバック制御を説明するための図である。
【図２１】図２１は、アップグレード時における光装置の制御について説明するための図である。
【図２２】図２２は、アップグレード時の光出力の状態を説明するための図である。
【符号の説明】
【００４２】
５０ｆ、５１、１０６、２０６、３０６、４０３  ファームウェア部
５１ｂ、５１ｃ  プログラムメモリ
５０、１００、２００、３００、４００  光装置
５０ａ、１０１、２０１、３０１、４０１  光出力部
５０ｂ、１０２、２０２、３０２  モニタ部
５０ｃ、１０３、２０３、３０３  フィードバック情報生成部
５０ｄ、１０４、２０４、３０４、４０６  アナログ部
５０ｅ、１０５、２０５、３０５  ＡＤＣ
１０６ａ、２０６ａ、３０６ａ、４０３ａ  記憶部
５１ａ、１０６ｂ、２０６ｂ、３０６ｂ、４０３ｂ  処理部
１０７、２０７、３０７、４０４  補助制御部
１０７ａ、２０７ａ、３０７ａ、４０４ａ  補助記憶部
１０７ｂ、３０７ｂ、４０４ｂ  温度モニタ部
１０７ｃ、２０７ｃ、３０７ｄ、４０４ｄ  補助処理部
５０ｇ、１０８、２０８、３０８、４０５  ＤＡＣ
１１６、２１６、３１６、４１３  ファームウェア
１１７、３１７、４１４  温度別制御テーブル
２０７ｂ、３０７ｃ、４０４ｃ  時間モニタ部
２１７、３１８、４１５  時間別制御テーブル
４０２  フィードフォワード情報生成部
Ｋ０、Ｋ１、Ｋ１０、Ｋ１１、Ｋ１２、Ｋ１３、Ｋ２０、Ｋ２１、Ｋ２２、Ｋ３１、Ｋ３２、Ｋ３３  温度
ｔ０、ｔ１、ｔ２、ｔ３、ｔ１０、ｔ１１、ｔ１２、ｔ１３、ｔ１４、ｔ１５、Ｔ０、Ｔ１、Ｔ２、Ｔ３、Ｔ１０、Ｔ１１、Ｔ１２、Ｔ１３、Ｔ２０、Ｔ２１、Ｔ２２、Ｔ３０、Ｔ３１、Ｔ３２、Ｔ３３、Ｔ３４、Ｔ３５、Ｔ４０、Ｔ４１、Ｔ４２、Ｔ４３、Ｔ４４、Ｔ４５、Ｔ４６、Ｔ５０、Ｔ５１、Ｔ５２、Ｔ５３、Ｔ５４、Ｔ５５、Ｔ５６  時間
【発明を実施するための最良の形態】
【００４３】
以下に、本願に開示する光装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。【００４４】
まず、本実施例に示す光装置の概要について、上述した「通常動作時」に光装置が行う光出力の制御について説明し、その後、実施例の概要について説明する。【００４５】
図１は、通通常動作時の光出力を説明するための図である。通常動作時、光装置のファームウェアは、複雑な演算処理を行っているが、光出力を段階的に増加させている場合に、制御情報は、フィードバック制御開始時からの経過時間別に決定される。【００４６】
また、光出力の立上げが終了しても、例えば、制御情報は、光装置内の温度別に決定される。以下、具体的に説明する。【００４７】
図１に示した「Ｔ１」と「Ｔ２」は、光出力のフィードバック制御の開始時「Ｔ０」からの経過時間を示すが、Ｔ１に対応する制御情報は３００ＬＳＢで、Ｔ２に対応する制御情報は５００ＬＳＢといったように、経過時間別に制御情報が決定される。【００４８】
一方、光出力の立ち上げが終了した時を示す「Ｔ３」以降に、光装置内の温度変化が発生した場合においても、同様に、光装置が出力する制御情報は、温度別に決定される。例えば、Ｋ０℃の制御情報は「６００ＬＳＢ」で、Ｋ１℃の制御情報は「６５０ＬＳＢ」といったように、温度別に制御情報が決定される。【００４９】
（実施例の概要）
本実施例に示す光装置は、ファームウェアのアップグレード中に、光出力の制御をファームウェアの代わりに行う補助制御部を有する。以下、補助制御部の動作の概要について具体的に説明する。【００５０】
まず、補助制御部は、通常動作時に、光出力の立上げ開始から終了までの経過時間と、ファームウェアが出力する制御情報とを取得し、取得した制御情報を経過時間別に記憶する。【００５１】
そして、光出力の立上げ中に、ファームウェアのアップグレードが開始されると、補助制御部は、記憶しておいた制御情報を補助制御情報として出力する。この出力された補助制御情報に基づいて、光出力が制御される。【００５２】
その後、補助制御部は、ファームウェアのアップグレードが完了するまで、補助制御情報を出力する。その結果、光出力を段階的に増加させ、光装置は、光出力の立上げを中断させることなく、終了させている。【００５３】
また、通常動作時に、補助制御部は、光装置内の温度を示す温度情報と、ファームウェアが出力する制御情報とを取得し、取得した制御情報を温度情報別に記憶し、ファームウェアのアップグレードが開始されると、補助制御部は、記憶しておいた制御情報を補助制御情報として出力する。【００５４】
そして、光出力は、補助制御部から出力される補助制御情報に基づいて、制御される。この結果、光装置内の温度が変化しても、光出力が、所定の状態に維持される。【００５５】
このように、光装置内に補助制御部をファームウェアとは別に設けることで、ファームウェアのアップグレードが開始されても、光装置は、光出力を適切に制御することができる。具体的に図を用いて以下説明する。【００５６】
図２は、実施例の効果を説明するための図である。図２に示した「Ｔ１０」は、光出力の立上げ中に、ファームウェアのアップグレードが開始された時を示し、「Ｔ１１」は、Ｔ１０で開始されたアップグレードが完了する時を示す。【００５７】
そして、「Ｔ１２」は、Ｔ１１以後、アップグレードが開始された時を示し、「Ｔ１３」は、Ｔ１２で開始されたアップグレードが完了する時を示す。【００５８】
Ｔ１０〜Ｔ１１の間、光装置のファームウェアは、制御情報の出力を一時的に中断するが、この間、補助制御部が、補助制御情報を出力する。その結果、光装置は、フィードバック制御を一時的に停止することなく、光出力を段階的に増加させている。【００５９】
Ｔ１２〜Ｔ１３の間、光装置のファームウェアは、同様に、制御情報の出力を一時的に中断するが、この間、補助制御部が、補助制御情報を出力する。その結果、光装置は、Ｔ１２〜Ｔ１３の間、温度がＫ１０からＫ１１に変化しても、Ｔ１１に示されていた光出力を維持している。【００６０】
なお、上述したように、ファームウェアのアップグレード中に、補助制御部が出力する制御情報を補助制御情報とし、その補助制御情報から生成される制御信号を制御補助信号として以下説明する。【００６１】
次に、実施例１に示す光装置について説明する。図３は、実施例１に係る光装置を示す図である。図３に示した光装置１００は、ファームウェアのアップグレード時に、光装置の出力制御を中断せずに実施することで、光出力を光装置内の温度変化に関係なく所定状態に維持する。【００６２】
そして、光装置１００は、光出力部１０１と、モニタ部１０２と、フィードバック情報生成部１０３と、アナログ部１０４と、ＡＤＣ（Analog  Digital  Converter）１０５と、ファームウェア部１０６と、補助制御部１０７と、ＤＡＣ（Digital  Analog  Converter）１０８とを有する。【００６３】
光出力部１０１は、光装置１００の光出力部を示す。また、この光出力部１０１には、モニタ部１０２が取得する光素子（例えば、ＬＤなど）が含まれる。【００６４】
モニタ部１０２は、光出力部１０１の動作状況をモニタし、モニタ出力を示すモニタ情報を取得し、取得したモニタ情報をフィードバック情報生成部１０３に出力する手段である。【００６５】
フィードバック情報生成部１０３は、モニタ部１０２から入力されたモニタ情報に基づいてフィードバック情報を生成する。このフィードバッグ情報生成部１０３が生成する情報を以下、フィードバック情報とする。【００６６】
アナログ部１０４は、フィードバック情報生成部１０３が出力したフィードバック情報を受け取り、ＡＤＣ１０５に出力し、また、ＤＡＣ１０８から入力された制御信号、もしくは制御補助信号を光出力部１０１に出力する手段である。【００６７】
ＡＤＣ１０５は、フィードバック情報生成部１０３が生成したフィードバック情報をアナログ情報からデジタル情報に変換し、デジタル情報に変換したフィードバック情報をファームウェア部１０６に出力する手段である。【００６８】
ファームウェア部１０６は、光装置１００の各種仕様を記憶し、入力されたフィードバック情報から制御情報を生成し、出力する手段で、記憶部１０６ａと、処理部１０６ｂとを有する。【００６９】
記憶部１０６ａは、光装置１００のファームウェアを記憶する記憶手段で、ファームウェア１１６を有する。このファームウェア１１６は、光装置１００が伝送するデータ量やデータ速度といった各種仕様や、フィードバック情報から制御情報を求める際に使用する各種情報を記憶している。【００７０】
そして、このファームウェア１１６の書き換えは、顧客先でのアップグレートにより行われ、このアップグレードの開始から終了まで、ファームウェア部１０６は、制御情報の生成および出力を停止する。【００７１】
処理部１０６ｂは、ファームウェア１１６から光装置１００の各種仕様を定め、さらに、通常動作時にフィードバック情報から制御情報を生成し、生成した制御情報をＤＡＣ１０８に出力する手段である。【００７２】
また、処理部１０６ｂは、ファームウェア１１６のアップグレードが開始されると、アップグレードが完了するまでの間、ＤＡＣ１０８への制御情報の出力を一時的に停止するとともに、ファームウェア１１６のアップグレードの開始情報を補助制御部１０７に出力する。【００７３】
そして、処理部１０６ｂは、ファームウェア１１６のアップグレードが終了すると、アップグレードが完了した旨を示す情報を補助制御部１０７に出力する。【００７４】
なお、ファームウェア１１６のアップグレードの開始情報を「アップグレード開始情報」とし、ファームウェア１１６のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。【００７５】
補助制御部１０７は、通常動作時に、光装置１００内の温度を示す温度情報を取得し、取得した温度情報に対応する制御情報を記憶する。そして、ファームウェア１１６のアップグレードの開始から完了まで、記憶していた制御情報を補助制御情報として出力する手段である。【００７６】
そして、補助制御部１０７は、補助記憶部１０７ａと、温度モニタ部１０７ｂと、補助処理部１０７ｃとを有する。【００７７】
補助記憶部１０７ａは、光装置１００内の温度情報に対応する制御情報を記憶する手段で、温度別制御テーブル１１７を有する。この温度別制御テーブル１１７について図を用いて説明する。【００７８】
図４は、実施例１に示す温度別制御テーブルのデータ構造の一例を示す図である。図４に示した温度別制御テーブル１１７は、「温度」、「制御情報」を記憶するテーブルである。【００７９】
「温度」は、光装置１００内の温度情報を示し、温度モニタ部１０７ｂが取得する。「制御情報」は、上述したファームウェア部１０６が、ファームウェア１１６より生成する情報である。【００８０】
そして、図４に示した温度別制御テーブル１１７より、例えば、０℃に対応する制御情報は、１０００ＬＳＢを示し、１℃に対応する制御情報は、１０２０ＬＳＢを示し、２℃に対応する制御情報は、１０４０ＬＳＢを示している。【００８１】
なお、図４の示した「温度」には、０℃から７０℃までに対応する制御情報が記憶されているが、例えば、０℃から１０℃までの制御情報に基づいて、１１℃から２０℃までに対応する制御情報を算出しても良く、この場合、全ての温度に対して制御情報を記憶する必要はない。【００８２】
続いて、図３の説明に戻り、温度モニタ部１０７ｂについて説明する。温度モニタ部１０７ｂは、光出力部１０１から温度情報を取得する手段である。この温度モニタ部１０７ｂは、光装置１００がフィードバック制御を開始すると同時に温度情報の取得を開始する。そして、温度モニタ部１０７ｂは取得した温度情報を補助記憶部１０７ａに出力する。【００８３】
補助処理部１０７ｃは、温度モニタ部１０７ｂが取得した温度情報と、ファームウェア部１０６が通常時に出力する制御情報とに基づいて、制御情報を温度情報別に温度別制御テーブル１１７に記憶する手段である。【００８４】
さらに、補助処理部１０７ｃは、ファームウェア１１６のアップグレードの開始から完了までに、温度別制御テーブル１１７に記憶されている制御情報を補助制御情報として、ＤＡＣ１０８に出力する手段である。【００８５】
また、補助処理部１０７ｃは、アップグレード開始情報が処理部１０６ｂから補助制御部１０７に入力されたら、補助制御情報の出力を開始する。そして、補助処理部１０７ｃは、アップグレード完了情報が処理部１０６ｂから補助制御部１０７に入力されたら、補助制御情報の出力を停止する。【００８６】
次に、上述した温度モニタ部１０７ｂや補助処理部１０７ｃ等の説明に基づき、補助制御部１０７の動作について図を用いて説明する。図５は、実施例１の補助制御部の動作を説明するための図である。【００８７】
図５に示した、「Ｔ２０」は、光装置１００が光出力のフィードバック制御を開始する時を示し、「Ｔ２１」は、ファームウェア１１６のアップグレード開始時を示し、「Ｔ２２」は、Ｔ２１で開始されたアップグレードの完了時を示す。【００８８】
また、「Ｋ１０」を４０℃とし、「Ｋ１１」を３７℃、「Ｋ１２」を３５℃、「Ｋ１３」を３９℃として、具体的に説明する。【００８９】
まず、温度モニタ部１０７ｂは、光装置１００内の温度情報の取得をＴ２０から開始する。そして、取得した温度情報を補助記憶部１０７ａに出力する。また、Ｔ２０を開始時として、補助処理部１０７ｃは、ファームウェア部１０６が出力する制御情報を取得する。【００９０】
そして、補助処理部１０７ｃは、温度モニタ部１０７ｂから入力された温度情報と、ファームウェア部１０６から出力されている制御情報とに基づいて、制御情報を温度情報別に温度別制御テーブル１１７に記憶する。【００９１】
その後、Ｔ２１に、ファームウェア１１６のアップグレードが開始されると、処理部１０６ｂは、アップグレード開始情報を補助制御部１０７に出力する。そして、補助処理部１０７ｃは、温度別制御テーブル１１７を参照し、温度別制御テーブル１１７に記憶されている各種制御情報を補助制御情報としてＤＡＣ１０８に出力する。【００９２】
例えば、補助処理部１０７ｃは、温度情報がＫ１０の場合、４０℃に対応する制御情報：２６５０ＬＳＢを出力し、Ｋ１１の場合、３７℃に対応する制御情報：２５５０ＬＳＢを出力し、Ｋ１２の場合、３５℃に対応する制御情報：２５００ＬＳＢを出力する。【００９３】
したがって、Ｋ１０からＫ１１に変化しても、補助処理部１０７ｃは、温度別制御テーブル１１７を参照し、Ｋ１１［３７℃］に対応する制御情報：２５５０ＬＳＢを出力し、Ｋ１２からＫ１３に変化しても、Ｋ１３［３９℃］に対応する制御情報：２６００ＬＳＢを出力する。【００９４】
そして、Ｔ２２にファームウェア１１６のアップグレードが終了すると、処理部１０６ｂは、アップグレード完了情報を補助処理部１０７ｃに通知する。そして、補助処理部１０７ｃは、補助制御情報の出力を停止する。【００９５】
上述したように、Ｔ２１からＴ２２の間、光装置１００内に温度変化が発生したにも関わらず、光装置１００は、光出力の制御を行い、その出力状態を立上げ終了時の状態に維持している。【００９６】
次に、図３の説明に戻り、ＤＡＣ１０８について説明する。ＤＡＣ１０８は、通常動作時に、ファームウェア部１０６から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部１０４に出力する手段である。【００９７】
一方、ＤＡＣ１０８は、ファームウェア１１６がアップグレードしている間、補助制御部１０７から入力された補助制御情報から制御補助信号を生成し、アナログ部１０４に出力する。【００９８】
次に、光装置１００の処理手順について説明する。図６は、実施例１に係る光装置の処理手順を示すフローチャートである。【００９９】
まず、光装置１００がフィードバック制御を開始する（ステップＳ１００）。そして、温度モニタ部１０７ｂが光出力部１０１から温度情報の取得を開始し、取得した温度情報を温度別制御テーブル１１７に出力する。【０１００】
また、補助処理部１０７ｃは、温度モニタ部１０７ｂが取得した温度情報と、ファームウェア部１０６が通常時に出力する制御情報とに基づいて、制御情報を温度情報別に温度別制御テーブル１１７に記憶する。（ステップＳ１０１）。【０１０１】
そして、ファームウェア１１６のアップグレードが開始されると（ステップＳ１０２、Ｙｅｓ）、補助処理部１０７ｃが、補助制御情報の出力を開始する（ステップＳ１０３）。【０１０２】
このとき、補助処理部１０７ｃが温度別制御テーブル１１７を参照し、記憶されている制御情報を補助制御情報として出力する。そして、出力された補助制御情報に基づいて、光出力が制御される（ステップＳ１０４）。【０１０３】
一方、アップグレードが開始されていない場合（ステップＳ１０２、Ｎｏ）、ステップＳ１００に移行する。【０１０４】
その後、ファームウェア１１６のアップグレードが完了すると（ステップＳ１０５）、ファームウェア部１０６は制御情報の出力を再び開始し（ステップＳ１０６）、ステップＳ１００に移行する。【０１０５】
このフローチャートによれば、ファームウェア１１６のアップグレード中に、光装置１００内の温度に変化が生じても、補助制御部１０７が、補助制御情報を出力することで、光装置は、光出力を維持することができる。【０１０６】
次に、実施例２に示す光装置について説明する。図７は、実施例２に係る光装置を示す図である。図７に示した光装置２００は、光出力の立上げが終了する前に、ファームウェアのアップグレードが開始されても、光出力の制御を中断することなく、光出力の立上げを継続させる。【０１０７】
そして、光装置２００は、光出力部２０１と、モニタ部２０２と、フィードバック情報生成部２０３と、アナログ部２０４と、ＡＤＣ（Analog  Digital  Converter）２０５と、ファームウェア部２０６と、補助制御部２０７と、ＤＡＣ（Digital  Analog  Converter）２０８とを有する。【０１０８】
光出力部２０１は、光装置２００の光出力部を示す。また、この光出力部２０１には、モニタ部２０２が取得する光素子（例えば、ＬＤなど）が含まれる。【０１０９】
モニタ部２０２は、光出力部２０１の動作状況をモニタし、モニタ出力を示すモニタ情報を取得し、取得したモニタ情報をフィードバック情報生成部２０３に出力する手段である。【０１１０】
フィードバック情報生成部２０３は、モニタ部２０２から入力されたモニタ情報に基づいてフィードバック情報を生成する手段である。そして、フィードバック情報生成部２０３は、生成したフィードバック情報をアナログ部２０４に出力する。【０１１１】
アナログ部２０４は、フィードバック情報生成部２０３が出力したフィードバック情報を受け取り、ＡＤＣ２０５に出力する手段である。また、ＤＡＣ２０８から入力された制御信号もしくは制御補助信号を光出力部２０１に出力する手段である。【０１１２】
ＡＤＣ２０５は、フィードバック情報生成部２０３が生成したフィードバック情報をアナログ情報からデジタル情報に変換し、デジタル情報に変換したフィードバック情報をファームウェア部２０６に出力する手段である。【０１１３】
ファームウェア部２０６は、光装置２００の各種仕様を記憶し、さらに、フィードバック情報から制御情報を生成し、出力する手段で、記憶部２０６ａと、処理部２０６ｂとを有する。【０１１４】
記憶部２０６ａは、光装置２００のファームウェアを記憶する記憶手段で、ファームウェア２１６を有する。このファームウェア２１６は、光装置２００が伝送するデータ量やデータ速度といった各種仕様や、フィードバック情報から制御情報を求める際に使用する各種情報を記憶している。【０１１５】
そして、このファームウェア２１６の書き換えは、顧客先でのアップグレートにより行われ、このアップグレードの開始から完了まで、ファームウェア部２０６は、制御情報の生成および出力を停止する。【０１１６】
処理部２０６ｂは、ファームウェア２１６から光装置２００の各種仕様を定め、さらに、通常動作時にフィードバック情報から制御情報を生成し、生成した制御情報をＤＡＣ２０８に出力する手段である。【０１１７】
また、処理部２０６ｂは、ファームウェア２１６のアップグレードが開始されると、アップグレードが完了するまで、ＤＡＣ２０８への制御情報の出力を一時的に停止するとともに、ファームウェア２１６のアップグレードの開始情報を補助制御部２０７に出力する。【０１１８】
なお、ファームウェア２１６のアップグレードの開始情報を「アップグレード開始情報」として、ファームウェア２１６のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。【０１１９】
補助制御部２０７は、光装置２００のフィードバック制御開始から光出力の立上げ終了時までの経過時間を示す時間情報と、ファームウェア部２０６が出力する制御情報とを取得し、取得した制御情報を時間情報別に記憶する手段である。【０１２０】
そして、補助制御部２０７は、光出力を段階的に増加させている際に、ファームウェア２１６のアップグレードが開始された場合、記憶している制御情報を補助制御情報として出力する手段である。【０１２１】
そして、補助制御部２０７は、補助記憶部２０７ａと、時間モニタ部２０７ｂと、補助処理部２０７ｃとを有する。【０１２２】
補助記憶部２０７ａは、フィードバック制御の開始から光出力の立上げ終了時までの経過時間ごとに制御情報を記憶する手段で、時間別制御テーブル２１７を有する。この時間別制御テーブル２１７について図を用いて説明する。【０１２３】
図８は、実施例２に示す時間別制御テーブルのデータ構造の一例を示す図である。図８に示した時間別制御テーブル２１７は、「時間」、「制御情報」を記憶するテーブルである。【０１２４】
また、「時間」は、光装置２００がフィードバック制御を開始してからの経過時間を示す時間情報［Ｓ秒］で、時間モニタ部２０７ｂが取得する。「制御情報」は、上述したファームウェア部２０６が、ファームウェア２１６より生成する情報である。【０１２５】
図８に示したように、この「制御情報」の単位は「％」である。これは、光装置２００に要求される光出力は、ファームウェア２１６が有する情報等によって異なるため、便宜的に「％」で示している。【０１２６】
したがって、例えば、通常動作時において、光装置２００に要求される制御情報が、２０００ＬＳＢである場合、図８に示した１００．０％は２０００ＬＳＢを示し、２０．０％は４００ＬＳＢに相当し、５０．０％は１０００ＬＳＢに相当する。【０１２７】
そして、図８に示した時間別制御テーブル２１７より、例えば、１００．０％を２０００ＬＳＢとした場合、０ｓに対応する制御情報は０．０％［０ＬＳＢ］を示し、１ｓに対応する制御情報は２０.０％［４００ＬＳＢ］を示し、２ｓに対応する制御情報は２５.０％［５００ＬＳＢ］を示している。【０１２８】
また、図８に示したように、６０［ｓ］で、制御情報が１００％を示していることから、光出力の立上げが終了するまでに、６０[ｓ]要することを示している。【０１２９】
続いて、図７の説明に戻り、時間モニタ部２０７ｂについて説明する。時間モニタ部２０７ｂは、上述した時間情報を取得する手段である。この時間モニタ部２０７ｂは、光装置２００がフィードバック制御を開始すると同時に時間情報の取得を開始する。そして、時間モニタ部２０７ｂは取得した時間情報を補助記憶部２０７ａに出力する。【０１３０】
補助処理部２０７ｃは、時間モニタ部２０７ｂが取得した時間情報と、その時間情報に対応する制御情報とに基づいて、制御情報を時間別制御テーブル２１７に記憶する手段である。【０１３１】
さらに、補助処理部２０７ｃは、光出力の立上げ終了前に、ファームウェア２１６のアップグレードが開始した場合、アップグレードの開始から完了まで、時間別制御テーブル２１７に記憶されている制御情報を補助制御情報としてＤＡＣ２０８に出力する手段である。【０１３２】
また、補助処理部２０７ｃは、アップグレード開始情報が処理部２０６ｂから補助制御部２０７に入力されたら、補助制御情報の出力を開始する。また、アップグレード完了情報が処理部２０６ｂから補助制御部２０７に入力されたら、補助処理部２０７ｃは、補助制御情報の出力を停止する。【０１３３】
次に、上述した時間モニタ部２０７ｂや補助処理部２０７ｃ等の説明に基づいて、補助制御部２０７の動作について図を用いて説明する。図９は、実施例２の補助制御部の動作を説明するための図である。【０１３４】
図９に示した、「Ｔ３０」は、光装置２００が光出力の制御を開始する時を示し、「Ｔ３１」は、ファームウェア２１６のアップグレードの開始時を示し、「Ｔ３２〜Ｔ３４」は、アップグレード中の時間を示し、「Ｔ３５」は、Ｔ３１で開始したアップグレードの完了時を示す。【０１３５】
また、上述した「Ｔ３１」を「６ｓ」、「Ｔ３２」を「７ｓ」、「Ｔ３３」を「８ｓ」、「Ｔ３４」を「９ｓ」、「Ｔ３５」を「１０ｓ」とし、１００％の光出力の状態を示す制御情報を図８で説明したように２０００ＬＳＢとして以下説明する。【０１３６】
まず、時間モニタ部２０７ｂは、Ｔ３０を開始時として、時間情報の取得を開始する。そして、取得した時間情報を補助記憶部２０７ａに出力する。また、補助処理部２０７ｃは、ファームウェア部２０６が出力する制御情報を取得する。【０１３７】
そして、補助処理部２０７ｃは、時間モニタ部２０７から入力された時間情報と、ファームウェア部２０６から取得した制御情報とに基づいて、取得した制御情報を時間情報別に時間別制御テーブル２１７に記憶する。【０１３８】
その後、ファームウェア２１６のアップグレードが開始されると、処理部２０６ｂは、アップグレード開始情報と、Ｔ３１における制御情報を補助制御部２０７に出力する。【０１３９】
そして、補助処理部２０７ｃは、Ｔ３１からＴ３５まで、時間別制御テーブル２１７に記憶されている各種制御情報をＴ３１の制御情報に基づき、補助制御情報として出力する。【０１４０】
このとき、補助処理部２０７ｃは、時間別制御テーブル２１７を参照し、Ｔ３１に対応する制御情報：９１０ＬＳＢをＤＡＣ２０８に出力する。そして、補助処理部２０７ｃは、アップグレードが完了するＴ３５まで制御情報をＤＡＣ２０８に出力する。【０１４１】
例えば、補助処理部２０７ｃは、Ｔ３２では、制御情報：１０００ＬＳＢを出力し、Ｔ３３では、制御情報：１１００ＬＳＢ、Ｔ３４では、制御情報：１２００ＬＳＢ、Ｔ３５では、制御情報：１３００ＬＳＢをそれぞれ出力する。【０１４２】
そして、Ｔ３５にファームウェア２１６のアップグレードが完了すると、補助処理部２０７は、補助制御情報の出力を停止する。そのご、処理部２０６ｂは、制御情報の出力を再び開始する。【０１４３】
上述したように、Ｔ３１からＴ３５まで、光装置２００は、Ｔ３１からの経過時間に応じて、制御情報を出力する。その結果、光出力の立上げが終了する前に、ファームウェア２１６のアップグレードが開始されても、光装置２００は、光出力の制御を停止することなく、光出力を段階的に増加させている。【０１４４】
次に、図７の説明に戻り、ＤＡＣ２０８について説明する。ＤＡＣ２０８は、通常動作時に、ファームウェア部２０６から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部２０４に出力する手段である。【０１４５】
一方、ファームウェア２１６がアップグレードしている間、ＤＡＣ２０８は、補助制御部２０７から補助制御情報を取得し、取得した補助制御情報を制御補助信号に変換して、アナログ部２０４に出力する。【０１４６】
次に、光装置２００の処理手順について説明する。図１０は、実施例２に係る光装置の処理手順を示すフローチャートである。【０１４７】
まず、光装置２００がフィードバック制御を開始する（ステップＳ２００）。そして、時間モニタ部２０７ｂが時間情報の取得を開始し、取得した時間情報を時間別制御テーブル２１７に出力する。【０１４８】
また、補助処理部２０７ｃは、時間モニタ部２０７ｂが取得した時間情報と、ファームウェア部２０６が通常時に出力する制御情報とに基づいて、制御情報を時間情報別に時間別制御テーブル２１７に記憶する（ステップＳ２０１）。【０１４９】
そして、ファームウェア２１６のアップグレードが開始されると（ステップＳ２０２、Ｙｅｓ）、補助処理部２０７ｃが、補助制御情報の出力を開始する（ステップＳ２０３）。【０１５０】
そして、補助処理部２０７ｃが、時間別制御テーブル２１７を参照し、記憶されている制御情報を補助制御情報として出力する。そして、出力された補助制御情報に基づいて、光出力が制御される（ステップＳ２０４）。【０１５１】
一方、ファームウェア２１６のアップグレードが開始されない場合（ステップＳ２０２、Ｎｏ）、光装置２００は、ステップＳ２００に移行する。【０１５２】
その後、ファームウェア２１６のアップグレードが完了すると（ステップＳ２０５）、ファームウェア部２０６は制御情報の出力を開始し（ステップＳ２０６）、ステップＳ２００に移行する。【０１５３】
このフローチャートによれば、光出力の立上げが終了する前に、ファームウェア２１６のアップグレードが開始しても、補助制御部２０７が、補助制御情報を出力することで、光出力の立上げを中断することなく実施できる。【０１５４】
次に、実施例３に示す光装置について説明する。図１１は、実施例３に係る光装置の構成を示す図である。図１１に示した光装置３００は、フィードバック制御を開始する際に、光出力の立上げ開始から終了までの経過時間と、ファームウェアが出力する制御情報とを取得し、取得した制御情報を経過時間別に記憶する補助制御部をファームウェアとは別に設ける。【０１５５】
また、フィードバック制御を開始する際に、光装置内の温度を示す温度情報について取得し、温度情報に対応する制御情報を温度情報別に記憶する。【０１５６】
そして、ファームウェアのアップグレードが開始されると、補助制御部は、記憶しておいた制御情報を補助制御情報として出力し、ファームウェアのアップグレードが完了するまで行う。その結果、光装置３００は、光出力を制御する。【０１５７】
そして、光装置３００は、光出力部３０１と、モニタ部３０２と、フィードバック情報生成部３０３と、アナログ部３０４と、ＡＤＣ（Analog  Digital  Converter）３０５と、ファームウェア部３０６と、補助制御部３０７と、ＤＡＣ（Digital  Analog  Converter）３０８とを有する。【０１５８】
光出力部３０１は、光装置３００の光出力部を示す。また、この光出力部３０１には、モニタ部３０２が取得する光素子（例えば、ＬＤなど）が含まれる。【０１５９】
モニタ部３０２は、光出力部３０１の動作状況をモニタし、モニタ出力を示すモニタ情報を取得し、取得したモニタ情報をフィードバック情報生成部３０３に出力する手段である。【０１６０】
フィードバック情報生成部３０３は、モニタ部３０２から入力されたモニタ情報に基づいてフィードバック情報を生成する手段である。そして、フィードバック情報生成部３０３は、生成したフィードバック情報をアナログ部３０４に出力する。【０１６１】
アナログ部３０４は、フィードバック情報生成部３０３が出力したフィードバック情報を受け取り、ＡＤＣ３０５に出力し、また、ＤＡＣ３０８から入力された制御信号もしくは制御補助信号を光出力部３０１に出力する手段である。【０１６２】
ＡＤＣ３０５は、フィードバック情報生成部３０３が生成したフィードバック情報をアナログ情報からデジタル情報に変換し、デジタル情報に変換したフィードバック情報をファームウェア部３０６に出力する手段である。【０１６３】
ファームウェア部３０６は、光装置３００の各種仕様を記憶し、フィードバック情報から制御情報を生成し、出力する手段で、記憶部３０６ａと、処理部３０６ｂとを有する。【０１６４】
記憶部３０６ａは、光装置３００のファームウェアを記憶する記憶手段で、ファームウェア３１６を有する。このファームウェア３１６は、光装置３００が伝送するデータ量やデータ速度といった各種仕様や、フィードバック情報から制御情報を求める際に使用する各種情報を記憶している。【０１６５】
そして、このファームウェア３１６の書き換えは、顧客先でのアップグレートにより行われ、ファームウェア部３０６は、アップグレードの開始から完了まで、制御情報の生成および出力を停止する。【０１６６】
処理部３０６ｂは、ファームウェア３１６から光装置３００の各種仕様を定め、さらに、通常動作時に、フィードバック情報から制御情報を生成し、生成した制御情報をＤＡＣ３０８に出力する手段である。【０１６７】
また、処理部３０６ｂは、ファームウェア３１６のアップグレードが開始されると、アップグレードが終了するまでの間、ＤＡＣ３０８への制御情報の出力を一時的に停止するとともに、ファームウェア３１６のアップグレードが開始された旨を示す情報を補助制御部３０７に出力する。【０１６８】
なお、ファームウェア３１６のアップグレードの開始情報を「アップグレード開始情報」とし、ファームウェア３１６のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。【０１６９】
補助制御部３０７は、通常動作時、光装置３００がフィードバック制御を開始してからの経過時間を示す時間情報と、制御情報とを取得し、取得した制御情報を時間情報別に記憶する手段である。【０１７０】
そして、補助制御部３０７は、光出力の立上げが終了する前に、ファームウェア３１６のアップグレードが開始されると、記憶しておいた制御情報を補助制御情報として出力する手段である。【０１７１】
また、補助制御部３０７は、通常動作時、光装置３００がフィードバック制御を開始してから、光装置３００内の温度を示す温度情報と、制御情報とを取得し、取得した制御情報を温度情報別に記憶する。【０１７２】
そして、補助制御部３０７は、光出力の立上げが終了した後、ファームウェア３１６のアップグレードが再び開始された場合、アップグレードの開始から完了までの間、記憶しておいた制御情報を補助制御情報として出力する。【０１７３】
さらに、補助制御部３０７は、光出力の立上げが終了する前に、光装置３００内の温度が変化した場合、温度情報に対応する制御情報と、時間情報に対応する制御情報とを複合的に用いて制御情報を出力する。【０１７４】
そして、補助制御部３０７は、補助記憶部３０７ａと、温度モニタ部３０７ｂと、時間モニタ部３０７ｃと、補助処理部３０７ｄとを有する。【０１７５】
補助記憶部３０７ａは、フィードバック制御の開始からの経過時間を示す時間情報や、光装置３００内の温度情報を記憶する手段で、温度別制御テーブル３１７と、時間別制御テーブル３１８とを有する。【０１７６】
そして、温度別制御テーブル３１７は、図４に示した温度別制御テーブル１１７と同様のデータ構造を有し、時間別制御テーブル３１８についても図８に示した時間別制御テーブル２１７と同様のデータ構造を有するものとする。【０１７７】
温度モニタ部３０７ｂは、光装置３００内の温度情報を取得する手段である。この温度モニタ部３０７ｂは、光装置３００がフィードバック制御を開始すると同時に温度情報の取得を開始する。そして、温度モニタ部３０７ｂは取得した温度情報を温度別制御テーブル３１７に出力する。【０１７８】
時間モニタ部３０７ｃは、図８に示した時間情報を取得する手段である。この時間モニタ部３０７ｃは、フィードバック制御の開始から光出力の立上げが終了するまでの時間情報を取得する。そして、時間モニタ部３０７ｃは取得した時間情報を時間別制御テーブル３１８に出力する。【０１７９】
補助処理部３０７ｄは、温度モニタ部３０７ｂが取得した温度情報と、その温度情報に対応する制御情報を温度別制御テーブル３１７に記憶し、ファームウェア３１６のアップグレードの開始から完了まで、温度別制御テーブル３１７に記憶されている制御情報を補助制御情報としてＤＡＣ３０８に出力する手段である。【０１８０】
また、補助処理部３０７ｄは、時間モニタ部３０７ｃが取得した時間情報と、その時間情報に対応する制御情報を時間別制御テーブル３１８に記憶する。【０１８１】
そして、補助処理部３０７ｄは、光出力の立上げが終了する前に、ファームウェア３１６のアップグレードが開始した場合、ファームウェア３１６のアップグレードの開始から完了まで、時間別制御テーブル３１８に記憶されている制御情報を補助制御情報としてＤＡＣ３０８に出力する。【０１８２】
また、補助処理部３０７ｄは、アップグレード開始情報が処理部３０６ｂから補助制御部３０７に入力された時、補助制御情報の出力を開始する。そして、補助処理部３０７ｄは、アップグレード完了情報が処理部３０６ｂから補助制御部３０７に入力された後、補助制御情報の出力を停止する。【０１８３】
次に、上述した温度モニタ部３０７ｂと、時間モニタ部３０７ｃと、補助処理部３０７ｄ等の説明に基づいて、補助制御部３０７の動作について図を用いて説明する。図１２は、実施例３の補助制御部の動作を説明するための図である。【０１８４】
図１２に示した、「Ｔ４０」は、光装置３００の光出力のフィードバック制御の開始時を示し、「Ｔ４１」は、ファームウェア３１６のアップグレードの開始時を示し、「Ｔ４２、Ｔ４３」は、アップグレード中の時間を示し、「Ｔ４４」は、Ｔ４１で開始したアップグレードの完了時を示す。【０１８５】
そして、「Ｔ４５」は、ファームウェア３１６が、再びアップグレードが開始する時を示し、「Ｔ４６」は、Ｔ４５で開始したファームウェア３１６のアップグレードの完了時を示す。【０１８６】
また、光出力の立上げが終了した状態に対応する制御情報を図８で説明したように２０００ＬＳＢとし、Ｔ４１を「６ｓ」、Ｔ４２を「７ｓ」、Ｔ４３を「８ｓ」として以下説明する。【０１８７】
まず、時間モニタ部３０７ｃは、Ｔ４０を開始時として、時間情報の取得を開始する。そして、取得した時間情報を時間別制御テーブル３１８に出力する。また、補助処理部３０７ｄは、ファームウェア部３０６が出力する制御情報について取得する。【０１８８】
そして、補助処理部３０７ｄは、時間モニタ部３０７ｃから入力された時間情報と、ファームウェア部３０６から取得した制御情報とに基づいて、取得した制御情報を時間情報別に時間別制御テーブル３１８に記憶する。【０１８９】
その後、Ｔ４１に、ファームウェア３１６のアップグレードが開始されると、処理部３０６ｂは、アップグレード開始情報を補助処理部３０７ｄに出力する。そして、補助処理部３０７ｄは、補助制御情報の出力を開始する。【０１９０】
このとき、補助処理部３０７ｄは、アップグレード開始情報の通知を受けた時の時間情報Ｔ４１に対応する制御情報をＤＡＣ３０８に出力する。そして、補助処理部３０７ｄは、時間別制御テーブル３１８を参照し、アップグレードが完了するＴ４４まで制御情報を補助制御情報として出力する。【０１９１】
この場合、補助処理部３０７ｄは、Ｔ４１には、２０００ＬＳＢの４５．５％に相当する９１０ＬＳＢを、Ｔ４２には、２０００ＬＳＢの５０．０％に相当する１０００ＬＳＢを、Ｔ４３には、２０００ＬＳＢの５５．０％に相当する１１００ＬＳＢをそれぞれ出力する。【０１９２】
そして、Ｔ４４にファームウェア３１６のアップグレードが完了すると、処理部３０６ｂは、アップグレード完了情報を補助処理部３０７ｄに通知する。この時、補助処理部３０７ｄは、アップグレード終了時の制御情報を処理部３０６ｂに出力する。【０１９３】
そして、Ｔ４４に、補助処理部３０７ｃは、補助制御情報の出力を停止する。そして、処理部３０６ｂは、制御情報の出力を再び開始する。【０１９４】
この結果、Ｔ４１からＴ４４の間、光装置３００は、光出力の出力制御を停止することなく、光出力を段階的に増加させ、光出力の立上げを停止することなく完了させている。【０１９５】
一方、温度モニタ部３０７ｂは、Ｔ４０から光装置３００内の温度情報の取得を開始しており、取得した温度情報を温度別情報テーブル３１７に出力する。そして、補助処理部３０７ｄは、Ｔ４０を開始時として、ファームウェア部３０６が出力する制御情報について取得する。【０１９６】
そして、補助処理部３０７ｄは、温度モニタ部３０７ｂから入力された温度情報と、ファームウェア部３０６から取得した制御情報とに基づいて、取得した制御情報を温度情報別に温度別制御テーブル３１８に記憶する。【０１９７】
その後、Ｔ４５に、ファームウェア３１６のアップグレードが開始されると、処理部３０６ｂは、アップグレード開始情報を補助制御部３０７に出力する。そして、補助処理部３０７ｄは、補助制御情報の出力を開始する。【０１９８】
そして、Ｔ４５からＴ４６まで、補助処理部３０７ｄは、温度別制御テーブル３１７に記憶されている各種制御情報を補助制御情報として出力する。例えば、図１２に示した「Ｋ２０」が、図５に示すＫ１０とした場合、４０℃に対応する制御情報：２６５０ＬＳＢを出力する。【０１９９】
一方、「Ｋ２１」が図５に示すＫ１１とした場合、３７℃に対応する制御情報：２５５０ＬＳＢを出力する。また、「Ｋ２２」が図５に示すＫ１２とした場合、３５℃に対応する制御情報：２５００ＬＳＢを出力する。【０２００】
そして、Ｔ４６にファームウェア３１６のアップグレードが完了すると、処理部３０６ｂは、アップグレード完了情報を補助処理部３０７ｄに通知する。そして、補助処理部３０７ｄは、補助制御情報の出力を停止する。【０２０１】
その後、処理部３０６ｂは、補助処理部３０７ｄから受け取った制御情報に基づき、制御情報の出力を再び開始する。【０２０２】
上述したように、Ｔ４５からＴ４６の間、光装置３００内に温度変化が発生したにも関わらず、光装置３００は、光出力の制御を行い、その出力状態を立ち上げ終了時の状態に維持している。【０２０３】
なお、上述したＴ４１〜Ｔ４４までの間、温度情報が変化した場合、補助処理部３０７ｄは、温度情報に対応する制御情報と、時間情報に対応する制御情報とを複合的に用いて制御情報を生成する。【０２０４】
例えば、所定時間Ｔ４２の温度情報がＫ２５とした場合、補助処理部３０７ｄは、Ｔ４２からの経過時間別に各種制御情報を補助記憶部３０７ａに記憶し、さらに、Ｋ２５から温度変化が発生した場合に、それら各種制御情報に加える追加制御情報（例えば、＋５０ＬＳＢ）を補助記憶部３０７ａに記憶する。【０２０５】
そして、アップグレードが終了するまでの間、補助処理部３０７ｄは、Ｔ４２からの経過時間と、Ｋ２５からの温度変化とに対応した追加制御情報とを基にし、制御情報を生成し、生成した制御情報を補助制御情報として出力する。【０２０６】
次に、図１１の説明に戻り、ＤＡＣ３０８について説明する。ＤＡＣ３０８は、通常動作時に、ファームウェア部３０６から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部３０４に出力する手段である。【０２０７】
一方、ファームウェア３１６がアップグレードしている間、ＤＡＣ３０８は、補助制御部３０７から補助制御情報を取得し、取得した補助制御情報を制御補助信号に変換して、アナログ部３０４に出力する。【０２０８】
次に、光装置３００の処理手順について説明する。図１３は、実施例３に係る光装置の処理手順を示すフローチャートである。【０２０９】
まず、光装置３００がフィードバック制御を開始する（ステップＳ３００）。そして、補助制御部３０７が温度情報と時間情報の取得を開始し、取得した温度情報と時間情報とを温度別制御テーブル３１７と、時間別制御テーブル３１８にそれぞれ記憶する（ステップＳ３０１）。【０２１０】
そして、ファームウェア３１６のアップグレードが開始されると（ステップＳ３０２、Ｙｅｓ）、補助制御部３０７が、補助制御情報の出力を開始する（ステップＳ３０３）。【０２１１】
そして、光装置３００が光出力の立上げを終了してない場合（ステップＳ３０４、Ｙｅｓ）、補助制御部３０７は、時間別制御テーブル３１８に記憶されている制御情報を補助制御情報として出力する（ステップＳ３０５）。【０２１２】
その後、ファームウェア３１６のアップグレードが終了すると（ステップＳ３０７）、補助制御部３０７が、補助制御情報の出力を停止する。そして、ファームウェア部３０６が制御情報の出力を開始し（ステップＳ３０８）、ステップＳ３００に移行する。【０２１３】
一方、ステップＳ３０２において、ファームウェア３１６のアップグレードが開始されていない場合（ステップＳ３０２、Ｎｏ）、ステップＳ３００へ移行する。【０２１４】
また、光装置３００の光出力の立上げが終了している場合（ステップＳ３０４、Ｎｏ）、補助制御部３０７は、温度別制御テーブル３１７に記憶されている制御情報を補助制御情報として出力する（ステップＳ３０６）。【０２１５】
その後、ファームウェア３１６のアップグレードが終了すると（ステップＳ３０７）、補助制御部３０７が、補助制御情報の出力を停止する。そして、ファームウェア部３０６が制御情報の出力を開始する（ステップＳ３０８）、ステップＳ３００に移行する。【０２１６】
このフローチャートによれば、光出力の立上げが完了する前に、ファームウェア３１６のアップグレードが開始しても、補助制御部３０７が、補助制御情報を出力することで、光出力を段階的に増加させることができる。【０２１７】
また、ファームウェア３１６のアップグレード中に、光装置３００内に温度変化が生じても、補助制御部３０７が、補助制御情報を出力することで、光出力を制御することができる。【０２１８】
次に、実施例４に示す光装置について説明する。図１４は、実施例４に係る光装置を示す図である。図１４に示した光装置４００は、例えば、光装置４００の外気温の温度情報や、光装置４００の起動開始からの時間情報に基づいてフィードフォワード情報を取得する。【０２１９】
このフィードフォワード情報とは、光装置４００内の温度情報と、光装置４００の外気温の温度情報とを含む温度情報（以下、単に外部温度情報とする）や、光装置４００の起動開始からの経過時間を示す時間情報等に対応する光出力の状態を示す情報である。【０２２０】
そして、光装置４００は、光装置４００のファームウェアのアップグレードが開始されると、フィードフォワード情報に基づいて、光出力をファームウェアの代わりに制御する。【０２２１】
この光装置４００は、光出力部４０１と、フィードフォワード情報生成部４０２と、ファームウェア部４０３と、補助制御部４０４と、ＤＡＣ（Digital  Analog  Converter）４０５と、アナログ部４０６とを有する。【０２２２】
光出力部４０１は、光装置４００の光出力部を示す。また、この光出力部４０１には、モニタ部４０２が取得する光素子（例えば、ＬＤなど）が含まれる。【０２２３】
フィードフォワード情報生成部４０２は、例えば、光装置４００の起動とともに、外部温度情報や、光装置４００の起動開始からの経過時間を示す時間情報を取得し、取得した外部温度情報や時間情報に基づき、フィードフォワード情報を生成し、生成したフィードフォワード情報をファームウェア部４０３に出力する手段である。【０２２４】
ファームウェア部４０３は、光装置４００の各種仕様を記憶し、また、フィードフォワード情報生成部４０２から入力されたフィードフォワード情報に基づいて制御情報を生成し、出力する手段で、記憶部４０３ａと、処理部４０３ｂとを有する。【０２２５】
記憶部４０３ａは、光装置４００のファームウェアを記憶する記憶手段で、ファームウェア４１３を有する。このファームウェア４１３は、光装置４００が伝送するデータ量やデータ速度といった各種仕様や、フィードフォワード情報から制御情報を求める際に使用する各種情報を記憶している。【０２２６】
そして、このファームウェア４１３の書き換えは、顧客先でのアップグレートにより行われ、アップグレードの開始から完了まで、ファームウェア部４０３は、制御情報の生成および出力を停止する。【０２２７】
処理部４０３ｂは、ファームウェア４１３から光装置４００の各種仕様を定め、さらに、通常動作時に、フィードフォワード情報から制御情報を生成し、生成した制御情報をＤＡＣ４０５に出力する手段である。【０２２８】
また、処理部４０３ｂは、ファームウェア４１３のアップグレードが開始されると、アップグレードが完了するまで、ＤＡＣ４０５への制御情報の出力を一時的に停止するとともに、ファームウェア４１３のアップグレードが開始された旨を示す情報を補助制御部４０４に出力する。【０２２９】
なお、ファームウェア４１３のアップグレードの開始情報を「アップグレード開始情報」とし、ファームウェア４１３のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。【０２３０】
補助制御部４０４は、例えば、光装置４００の起動開始時からの経過時間を示す時間情報を取得し、取得した時間情報に対応する制御情報を記憶する。そして、光出力を段階的に増加させている際に、ファームウェア４１３のアップグレードが開始された場合、その制御情報を補助制御情報として出力する手段である。【０２３１】
さらに、補助制御部４０４は、光装置４００の起動開始時から、外部温度情報と、ファームウェア４１３が出力する制御情報とを取得し、取得した制御情報を外部温度情報別に記憶する。【０２３２】
そして、補助制御部４０４は、ファームウェア４１３のアップグレードの開始から完了まで、記憶している制御情報を補助制御情報として出力する。【０２３３】
そして、補助制御部４０４は、補助記憶部４０４ａと、温度モニタ部４０４ｂと、時間モニタ部４０４ｃと、補助処理部４０４ｄとを有する。【０２３４】
補助記憶部４０４ａは、光装置４００の起動開始からの経過時間に対応する制御情報や、外部温度情報を記憶する手段で、温度別制御テーブル４１４と、時間別制御テーブル４１５とを有する。【０２３５】
まず、温度別制御テーブル４１４のデータ構造について説明する。図１５は、実施例４に示す温度別制御テーブルのデータ構造の一例を示す図である。図１５に示した温度別制御テーブル４１４は、「温度」、「制御情報」を記憶するテーブルで、補助処理部４０４ｄによってデータの入出力が管理される。【０２３６】
「温度」は、光装置４００内の温度と光装置４００の外気温とを含む外部温度情報を示し、後述する温度モニタ部４０４ｂが取得する。「制御情報」は、上述したファームウェア部４０３が、ファームウェア４１３より生成する情報である。【０２３７】
そして、図１５に示した温度別制御テーブル４１４より、例えば、Ｋ３０℃に対応する制御情報は、２０００ＬＳＢを示し、Ｋ３１℃に対応する制御情報は、２０２０ＬＳＢを示し、Ｋ３２℃に対応する制御情報は、２０４０ＬＳＢを示している。【０２３８】
次に、時間別制御テーブル４１５のデータ構造の一例について説明する。図１６は、実施例４に示す時間別制御テーブルのデータ構造の一例を示す図である。図１６に示した時間別制御テーブル４１５は、「時間」、「制御情報」を記憶するテーブルである。【０２３９】
そして、時間別制御テーブル４１５に記憶される各種情報は、補助処理部４０４ｄによってデータの入出力が管理され、「時間」は、光装置４００の起動開始からの経過時間［Ｓ秒］を示し、時間モニタ部４０４ｃが取得する。【０２４０】
「制御情報」は、図１５で説明した制御情報と同様で、上述したファームウェア部４０３が、ファームウェア４１３より生成する情報で、後述するＤＡＣ４０５が、制御信号を生成する際に使用する情報を示している。【０２４１】
図１６に示したように、この「制御情報」の単位は、「％」である。これは、光装置４００に要求される光出力は、ファームウェア４１３が有する情報によって異なるため、便宜的に「％」で示している。【０２４２】
したがって、例えば、光装置４００が要求される光出力に対応する制御情報が３０００ＬＳＢである場合、図１６に示した１００．０％は３０００ＬＳＢを示し、２０．０％は６００ＬＳＢに相当し、５０．０％は１５００ＬＳＢに相当する。【０２４３】
そして、図１６に示した時間別制御テーブル４１５より、例えば、１００．０％を３０００ＬＳＢとした場合、０ｓに対応する制御情報は０．０％［０ＬＳＢ］を示し、１ｓに対応する制御情報は１０.０％［３００ＬＳＢ］を示し、２ｓに対応する制御情報は１５.０％［４５０ＬＳＢ］を示している。【０２４４】
また、図１６に示したように、１２０［ｓ］で、制御情報が１００％を示していることから、光出力の立上げから終了までに、１２０［ｓ］要することを示している。【０２４５】
続いて、図１４の説明に戻り、温度モニタ部４０４ｂについて説明する。温度モニタ部４０４ｂは、図１５に示した「温度」を取得する手段である。この温度モニタ部４０４ｂは、光装置４００の起動開始と同時に外部温度情報の取得を開始し、取得した外部温度情報を温度別制御テーブル４１４に出力する。【０２４６】
時間モニタ部４０４ｃは、図１６に示した時間情報を取得する手段である。この時間モニタ部４０４ｃは、光装置４００が起動を開始すると同時に時間情報の取得を開始する。そして、時間モニタ部４０４ｃは取得した時間情報を時間別制御テーブル４１５に出力する。【０２４７】
そして、補助処理部４０４ｄは、アップグレード開始情報が処理部４０３ｂから補助制御部４０４に入力されたら、補助処理部４０４ｄは、補助制御情報の出力を開始する。また、アップグレード完了情報が処理部４０３ｂから補助制御部４０４に入力されたら、補助制御情報の出力を停止する。【０２４８】
次に、上述した温度モニタ部４０４ｂと、時間モニタ部４０４ｃと、補助処理部４０４ｄ等の説明に基づいて、補助制御部４０４の動作について図を用いて説明する。図１７は、実施例４の補助制御部の動作を説明するための図である。【０２４９】
図１７に示した、「Ｔ５０」は、光装置４００の起動時を示し、「Ｔ５１」は、ファームウェア４１３のアップグレード開始時を示し、「Ｔ５２、Ｔ５３」は、アップグレード中の時間を示し、「Ｔ５４」は、Ｔ５１で開始したアップグレードの完了時を示す。【０２５０】
そして、「Ｔ５５」は、ファームウェア４１３が再びアップグレードを開始する時を示し、「Ｔ５６」は、Ｔ５５で開始したアップグレードの完了時を示す。【０２５１】
まず、時間モニタ部４０４ｃは、Ｔ５０を開始時として、時間情報の取得を開始する。そして、取得した時間情報を補助記憶部４０４ｄに出力する。また、補助処理部４０４ｄは、ファームウェア部４０３が出力する制御情報を取得する。【０２５２】
そして、補助処理部４０４ｄは、時間モニタ部４０４ｃから入力された時間情報と、ファームウェア部４０３から取得した制御情報とに基づいて、取得した制御情報を時間情報別に時間別制御テーブル４１５に記憶する。【０２５３】
その後、光出力の立ち上げが終了する前のＴ５１に、ファームウェア４１３のアップグレードが開始されると、処理部４０３ｂは、アップグレード開始情報を補助処理部４０４ｄに出力する。そして、補助処理部４０４ｄは、補助制御情報の出力を開始する。【０２５４】
そして、Ｔ５１からＴ５４までの間、補助処理部４０４ｄは、時間別制御テーブル４１５を参照し、各時間情報に対応する各種制御情報を補助制御情報としてＤＡＣ４０５に出力する。【０２５５】
例えば、光出力の立ち上げが終了した状態に対応する制御情報を図１６で説明したように３０００ＬＳＢとし、Ｔ５１を「１ｓ」、Ｔ５２を「２ｓ」、として以下説明する。【０２５６】
この場合、補助処理部４０４ｄは、Ｔ５１に３０００ＬＳＢの１０．０％に相当する３００ＬＳＢを、Ｔ５２に３０００ＬＳＢの１５．０％に相当する４５０ＬＳＢをそれぞれ出力する。【０２５７】
そして、Ｔ５４にファームウェア４１３のアップグレードが終了すると、処理部４０３ｂは、アップグレード完了情報を補助処理部４０４ｄに通知する。この時、補助処理部４０４ｄは、アップグレード終了時の制御情報を処理部４０３ｂに出力する。【０２５８】
そして、補助処理部４０４ｄは、補助制御情報の出力を停止する。その後、処理部４０３ｂは、制御情報の出力を開始する。【０２５９】
この結果、Ｔ５１からＴ５４の間、光装置４００は、光出力の制御を中断させることなく、光出力の立上げを段階的に増加させている。【０２６０】
一方、温度モニタ部４０４ｂは、Ｔ５０から光装置４００の外部温度情報の取得を開始しており、取得した外部温度情報を補助処理部４０４ｄに出力する。そして、補助処理部４０４ｄは、Ｔ５０を開始時として、ファームウェア部４０３が出力する制御情報を取得する。【０２６１】
そして、補助処理部４０４ｄは、温度モニタ部４０４ｂから入力された外部温度情報と、ファームウェア部４０３から取得した制御情報とに基づいて、取得した制御情報を外部温度情報別に温度別制御テーブル４１４に記憶する。【０２６２】
その後、Ｔ５５に、ファームウェア４１３のアップグレードが開始されると、処理部４０３ｂは、アップグレード開始情報を補助制御部４０４に出力する。そして、補助処理部４０４ｄは、補助制御情報の出力を開始する。【０２６３】
この時、補助処理部４０４ｄは、アップグレード開始情報の通知を受けた時に示す外部温度情報Ｋ３３℃に対応する制御情報をＤＡＣ４０５に出力する。そして、補助処理部４０４は、温度別制御テーブル４１４を参照し、アップグレードが完了するＴ５６まで制御情報を補助制御情報として出力する。【０２６４】
例えば、図１５に示した外部温度情報が「Ｋ３３」の場合は、補助処理部４０４ｄは、Ｋ３３に対応する制御情報：２０６０ＬＳＢを出力する。一方、外部温度情報が「Ｋ３１」の場合、Ｋ３１に対応する制御情報：２０２０ＬＳＢを出力する。そして、外部温度情報が「Ｋ３２」の場合、Ｋ３２に対応する制御情報：２０４０ＬＳＢを出力する。【０２６５】
そして、Ｔ５６にファームウェア４１３のアップグレードが完了すると、処理部４０３ｂは、アップグレード完了情報を補助処理部４０４ｄに通知する。そして、補助処理部４０４ｄは、制御情報の出力を停止する。その後、処理部４０３ｂは、制御情報の出力を開始する。【０２６６】
上述したように、Ｔ５５からＴ５６の間、光装置４００の外部温度情報の変化が発生したにも関わらず、光装置４００は、光出力の制御を行うことができ、その出力状態を立上げ終了時の状態に維持している。【０２６７】
次に、図１４の説明に戻り、ＤＡＣ４０５について説明する。ＤＡＣ４０５は、通常動作時に、ファームウェア部４０３から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部４０６に出力する手段である。【０２６８】
一方、ファームウェア４１３がアップグレードされている間は、補助制御部４０４から補助制御情報を取得し、取得した補助制御情報を制御補助信号に変換して、アナログ部４０６に出力する。【０２６９】
次に、光装置４００の処理手順について説明する。図１８は、実施例４に係る光装置の処理手順を示すフローチャートである。【０２７０】
まず、光装置４００がフィードフォワード情報を取得する（ステップＳ４００）。そして、補助制御部４０４が外部温度情報と時間情報の取得を開始し、取得した外部温度情報と時間情報とに対応する制御情報を温度別制御テーブル４１４と、時間別制御テーブル４１５にそれぞれ記憶する（ステップＳ４０１）。【０２７１】
そして、ファームウェア部４０３が、光出力の制御を行う（ステップＳ４０２）。その後、ファームウェア４１３のアップグレードが開始されると（ステップＳ４０３、Ｙｅｓ）、補助制御部４０４が、補助制御情報の出力を開始する（ステップＳ４０４）。【０２７２】
そして、光装置４００の光出力の立上げが終了していない場合（ステップＳ４０５、Ｙｅｓ）、補助制御部４０４は、時間別制御テーブル４１５に記憶されている制御情報を補助制御情報として出力する（ステップＳ４０６）。【０２７３】
その後、ファームウェア４１３のアップグレードが完了すると（ステップＳ４０８）、補助制御部４０４が、補助制御情報の出力を停止し（ステップＳ４０９）、ステップＳ４００に移行する。【０２７４】
一方、ステップＳ４０３において、ファームウェア４１３のアップグレードが開始されていない場合（ステップＳ４０３、Ｎｏ）、ステップＳ４００へ移行する。【０２７５】
また、光装置４００が光出力の立上げを終了している場合（ステップＳ４０５、Ｎｏ）、補助制御部４０４は、温度別制御テーブル４１４に記憶されている制御情報を補助制御情報として出力する（ステップＳ４０７）。【０２７６】
その後、ファームウェア４１３のアップグレードが完了すると（ステップＳ４０８）、補助制御部４０４が、補助制御情報の出力を停止する。そして、ファームウェア部４０３が制御情報の出力を開始し（ステップＳ４０９）、ステップＳ４００に移行する。【０２７７】
このフローチャートによれば、光出力を立上げている際に、ファームウェア４１３のアップグレードが開始しても、補助制御部４０４が、補助制御情報を出力することで、光出力を段階的に増加させることができる。【０２７８】
また、ファームウェア４０３のアップグレード中に、光装置４００の外気温の温度に変化が生じても、補助制御部４０４が、補助制御情報を出力することで、光出力を維持することができる。【０２７９】
ところで、光装置のファームウェアをアップグレードしている際に、光出力の制御の中断を避ける方法の一例として、ファームウェアを異なる記憶領域に記憶する方法がある。【０２８０】
具体的に図を用いて説明する。図１９は、ファームウェアを異なる記憶領域に記憶した場合の例について説明するための図である。図１９に示したファームウェア部５１の処理内容は、上述した実施例１から実施例４に示したファームウェア部に相当するものとする。【０２８１】
そして、プログラムメモリは、ファームウェアを格納する記憶する領域を示し、例えば、実施例１で示した記憶部１０６ａに相当するものとする。【０２８２】
図１９に示したファームウェア部５１は、処理部５１ａと、プログラムメモリ５１ｂと、プログラムメモリ５１ｃとを有し、例えば、通常時は、プログラムメモリ５１ｂに格納されているファームウェアに基づき、フィードバック制御が実行される。【０２８３】
一方、プログラムメモリ５１ｃはスタンバイ領域とし、プログラムメモリ５１ｂが有するファームウェアと同じファームウェアが格納されている。そして、プログラムメモリ５１ｂが有するファームウェアのアップグレードが開始されると、まず、処理部５１ａがスタンバイ領域に新しいファームウェアの書き込みを行う（ステップＳ１）。【０２８４】
そして、スタンバイ領域への書き込み終了後、処理部５１ａは、フィードバック制御を実行するファームウェアとして、プログラムメモリ５１ｂに格納されているファームウェアからプログラムメモリ５１ｃに格納されているファームウェアに切り替える（ステップＳ２）。【０２８５】
このように、ファームウェア部５１は、フィードバック制御を止めることなく、ファームウェアのアップグレードを行うが、ファームウェアのアップグレードのためにプログラムメモリを別途設けることは、低コスト化／小型化が要求される光装置には困難である。【０２８６】
以上、本実施例に示した光装置によれば、光装置内のファームウェアがアップグレード中であっても、光出力の制御を中断することなく、光出力の制御を適切に行うことができる。
【図１】
2010116476.tif 000003
【図２】
2010116476.tif 000004
【図３】
2010116476.tif 000005
【図４】
2010116476.tif 000006
【図５】
2010116476.tif 000007
【図６】
2010116476.tif 000008
【図７】
2010116476.tif 000009
【図８】
2010116476.tif 000010
【図９】
2010116476.tif 000011
【図１０】
2010116476.tif 000012
【図１１】
2010116476.tif 000013
【図１２】
2010116476.tif 000014
【図１３】
2010116476.tif 000015
【図１４】
2010116476.tif 000016
【図１５】
2010116476.tif 000017
【図１６】
2010116476.tif 000018
【図１７】
2010116476.tif 000019
【図１８】
2010116476.tif 000020
【図１９】
2010116476.tif 000021
【図２０】
2010116476.tif 000022
【図２１】
2010116476.tif 000023
【図２２】
2010116476.tif 000024
【国際調査報告】
2010116476.tif 000025
2010116476.tif 000026
2010116476.tif 000027
2010116476.tif 000028