以下に、本願に開示する光装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
まず、本実施例に示す光装置の概要について、上述した「通常動作時」に光装置が行う光出力の制御について説明し、その後、実施例の概要について説明する。
図1は、通通常動作時の光出力を説明するための図である。通常動作時、光装置のファームウェアは、複雑な演算処理を行っているが、光出力を段階的に増加させている場合に、制御情報は、フィードバック制御開始時からの経過時間別に決定される。
また、光出力の立上げが終了しても、例えば、制御情報は、光装置内の温度別に決定される。以下、具体的に説明する。
図1に示した「T1」と「T2」は、光出力のフィードバック制御の開始時「T0」からの経過時間を示すが、T1に対応する制御情報は300LSBで、T2に対応する制御情報は500LSBといったように、経過時間別に制御情報が決定される。
一方、光出力の立ち上げが終了した時を示す「T3」以降に、光装置内の温度変化が発生した場合においても、同様に、光装置が出力する制御情報は、温度別に決定される。例えば、K0℃の制御情報は「600LSB」で、K1℃の制御情報は「650LSB」といったように、温度別に制御情報が決定される。
(実施例の概要)
本実施例に示す光装置は、ファームウェアのアップグレード中に、光出力の制御をファームウェアの代わりに行う補助制御部を有する。以下、補助制御部の動作の概要について具体的に説明する。
まず、補助制御部は、通常動作時に、光出力の立上げ開始から終了までの経過時間と、ファームウェアが出力する制御情報とを取得し、取得した制御情報を経過時間別に記憶する。
そして、光出力の立上げ中に、ファームウェアのアップグレードが開始されると、補助制御部は、記憶しておいた制御情報を補助制御情報として出力する。この出力された補助制御情報に基づいて、光出力が制御される。
その後、補助制御部は、ファームウェアのアップグレードが完了するまで、補助制御情報を出力する。その結果、光出力を段階的に増加させ、光装置は、光出力の立上げを中断させることなく、終了させている。
また、通常動作時に、補助制御部は、光装置内の温度を示す温度情報と、ファームウェアが出力する制御情報とを取得し、取得した制御情報を温度情報別に記憶し、ファームウェアのアップグレードが開始されると、補助制御部は、記憶しておいた制御情報を補助制御情報として出力する。
そして、光出力は、補助制御部から出力される補助制御情報に基づいて、制御される。この結果、光装置内の温度が変化しても、光出力が、所定の状態に維持される。
このように、光装置内に補助制御部をファームウェアとは別に設けることで、ファームウェアのアップグレードが開始されても、光装置は、光出力を適切に制御することができる。具体的に図を用いて以下説明する。
図2は、実施例の効果を説明するための図である。図2に示した「T10」は、光出力の立上げ中に、ファームウェアのアップグレードが開始された時を示し、「T11」は、T10で開始されたアップグレードが完了する時を示す。
そして、「T12」は、T11以後、アップグレードが開始された時を示し、「T13」は、T12で開始されたアップグレードが完了する時を示す。
T10〜T11の間、光装置のファームウェアは、制御情報の出力を一時的に中断するが、この間、補助制御部が、補助制御情報を出力する。その結果、光装置は、フィードバック制御を一時的に停止することなく、光出力を段階的に増加させている。
T12〜T13の間、光装置のファームウェアは、同様に、制御情報の出力を一時的に中断するが、この間、補助制御部が、補助制御情報を出力する。その結果、光装置は、T12〜T13の間、温度がK10からK11に変化しても、T11に示されていた光出力を維持している。
なお、上述したように、ファームウェアのアップグレード中に、補助制御部が出力する制御情報を補助制御情報とし、その補助制御情報から生成される制御信号を制御補助信号として以下説明する。
次に、実施例1に示す光装置について説明する。図3は、実施例1に係る光装置を示す図である。図3に示した光装置100は、ファームウェアのアップグレード時に、光装置の出力制御を中断せずに実施することで、光出力を光装置内の温度変化に関係なく所定状態に維持する。
そして、光装置100は、光出力部101と、モニタ部102と、フィードバック情報生成部103と、アナログ部104と、ADC(Analog Digital Converter)105と、ファームウェア部106と、補助制御部107と、DAC(Digital Analog Converter)108とを有する。
光出力部101は、光装置100の光出力部を示す。また、この光出力部101には、モニタ部102が取得する光素子(例えば、LDなど)が含まれる。
モニタ部102は、光出力部101の動作状況をモニタし、モニタ出力を示すモニタ情報を取得し、取得したモニタ情報をフィードバック情報生成部103に出力する手段である。
フィードバック情報生成部103は、モニタ部102から入力されたモニタ情報に基づいてフィードバック情報を生成する。このフィードバッグ情報生成部103が生成する情報を以下、フィードバック情報とする。
アナログ部104は、フィードバック情報生成部103が出力したフィードバック情報を受け取り、ADC105に出力し、また、DAC108から入力された制御信号、もしくは制御補助信号を光出力部101に出力する手段である。
ADC105は、フィードバック情報生成部103が生成したフィードバック情報をアナログ情報からデジタル情報に変換し、デジタル情報に変換したフィードバック情報をファームウェア部106に出力する手段である。
ファームウェア部106は、光装置100の各種仕様を記憶し、入力されたフィードバック情報から制御情報を生成し、出力する手段で、記憶部106aと、処理部106bとを有する。
記憶部106aは、光装置100のファームウェアを記憶する記憶手段で、ファームウェア116を有する。このファームウェア116は、光装置100が伝送するデータ量やデータ速度といった各種仕様や、フィードバック情報から制御情報を求める際に使用する各種情報を記憶している。
そして、このファームウェア116の書き換えは、顧客先でのアップグレートにより行われ、このアップグレードの開始から終了まで、ファームウェア部106は、制御情報の生成および出力を停止する。
処理部106bは、ファームウェア116から光装置100の各種仕様を定め、さらに、通常動作時にフィードバック情報から制御情報を生成し、生成した制御情報をDAC108に出力する手段である。
また、処理部106bは、ファームウェア116のアップグレードが開始されると、アップグレードが完了するまでの間、DAC108への制御情報の出力を一時的に停止するとともに、ファームウェア116のアップグレードの開始情報を補助制御部107に出力する。
そして、処理部106bは、ファームウェア116のアップグレードが終了すると、アップグレードが完了した旨を示す情報を補助制御部107に出力する。
なお、ファームウェア116のアップグレードの開始情報を「アップグレード開始情報」とし、ファームウェア116のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。
補助制御部107は、通常動作時に、光装置100内の温度を示す温度情報を取得し、取得した温度情報に対応する制御情報を記憶する。そして、ファームウェア116のアップグレードの開始から完了まで、記憶していた制御情報を補助制御情報として出力する手段である。
そして、補助制御部107は、補助記憶部107aと、温度モニタ部107bと、補助処理部107cとを有する。
補助記憶部107aは、光装置100内の温度情報に対応する制御情報を記憶する手段で、温度別制御テーブル117を有する。この温度別制御テーブル117について図を用いて説明する。
図4は、実施例1に示す温度別制御テーブルのデータ構造の一例を示す図である。図4に示した温度別制御テーブル117は、「温度」、「制御情報」を記憶するテーブルである。
「温度」は、光装置100内の温度情報を示し、温度モニタ部107bが取得する。「制御情報」は、上述したファームウェア部106が、ファームウェア116より生成する情報である。
そして、図4に示した温度別制御テーブル117より、例えば、0℃に対応する制御情報は、1000LSBを示し、1℃に対応する制御情報は、1020LSBを示し、2℃に対応する制御情報は、1040LSBを示している。
なお、図4の示した「温度」には、0℃から70℃までに対応する制御情報が記憶されているが、例えば、0℃から10℃までの制御情報に基づいて、11℃から20℃までに対応する制御情報を算出しても良く、この場合、全ての温度に対して制御情報を記憶する必要はない。
続いて、図3の説明に戻り、温度モニタ部107bについて説明する。温度モニタ部107bは、光出力部101から温度情報を取得する手段である。この温度モニタ部107bは、光装置100がフィードバック制御を開始すると同時に温度情報の取得を開始する。そして、温度モニタ部107bは取得した温度情報を補助記憶部107aに出力する。
補助処理部107cは、温度モニタ部107bが取得した温度情報と、ファームウェア部106が通常時に出力する制御情報とに基づいて、制御情報を温度情報別に温度別制御テーブル117に記憶する手段である。
さらに、補助処理部107cは、ファームウェア116のアップグレードの開始から完了までに、温度別制御テーブル117に記憶されている制御情報を補助制御情報として、DAC108に出力する手段である。
また、補助処理部107cは、アップグレード開始情報が処理部106bから補助制御部107に入力されたら、補助制御情報の出力を開始する。そして、補助処理部107cは、アップグレード完了情報が処理部106bから補助制御部107に入力されたら、補助制御情報の出力を停止する。
次に、上述した温度モニタ部107bや補助処理部107c等の説明に基づき、補助制御部107の動作について図を用いて説明する。図5は、実施例1の補助制御部の動作を説明するための図である。
図5に示した、「T20」は、光装置100が光出力のフィードバック制御を開始する時を示し、「T21」は、ファームウェア116のアップグレード開始時を示し、「T22」は、T21で開始されたアップグレードの完了時を示す。
また、「K10」を40℃とし、「K11」を37℃、「K12」を35℃、「K13」を39℃として、具体的に説明する。
まず、温度モニタ部107bは、光装置100内の温度情報の取得をT20から開始する。そして、取得した温度情報を補助記憶部107aに出力する。また、T20を開始時として、補助処理部107cは、ファームウェア部106が出力する制御情報を取得する。
そして、補助処理部107cは、温度モニタ部107bから入力された温度情報と、ファームウェア部106から出力されている制御情報とに基づいて、制御情報を温度情報別に温度別制御テーブル117に記憶する。
その後、T21に、ファームウェア116のアップグレードが開始されると、処理部106bは、アップグレード開始情報を補助制御部107に出力する。そして、補助処理部107cは、温度別制御テーブル117を参照し、温度別制御テーブル117に記憶されている各種制御情報を補助制御情報としてDAC108に出力する。
例えば、補助処理部107cは、温度情報がK10の場合、40℃に対応する制御情報:2650LSBを出力し、K11の場合、37℃に対応する制御情報:2550LSBを出力し、K12の場合、35℃に対応する制御情報:2500LSBを出力する。
したがって、K10からK11に変化しても、補助処理部107cは、温度別制御テーブル117を参照し、K11[37℃]に対応する制御情報:2550LSBを出力し、K12からK13に変化しても、K13[39℃]に対応する制御情報:2600LSBを出力する。
そして、T22にファームウェア116のアップグレードが終了すると、処理部106bは、アップグレード完了情報を補助処理部107cに通知する。そして、補助処理部107cは、補助制御情報の出力を停止する。
上述したように、T21からT22の間、光装置100内に温度変化が発生したにも関わらず、光装置100は、光出力の制御を行い、その出力状態を立上げ終了時の状態に維持している。
次に、図3の説明に戻り、DAC108について説明する。DAC108は、通常動作時に、ファームウェア部106から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部104に出力する手段である。
一方、DAC108は、ファームウェア116がアップグレードしている間、補助制御部107から入力された補助制御情報から制御補助信号を生成し、アナログ部104に出力する。
次に、光装置100の処理手順について説明する。図6は、実施例1に係る光装置の処理手順を示すフローチャートである。
まず、光装置100がフィードバック制御を開始する(ステップS100)。そして、温度モニタ部107bが光出力部101から温度情報の取得を開始し、取得した温度情報を温度別制御テーブル117に出力する。
また、補助処理部107cは、温度モニタ部107bが取得した温度情報と、ファームウェア部106が通常時に出力する制御情報とに基づいて、制御情報を温度情報別に温度別制御テーブル117に記憶する。(ステップS101)。
そして、ファームウェア116のアップグレードが開始されると(ステップS102、Yes)、補助処理部107cが、補助制御情報の出力を開始する(ステップS103)。
このとき、補助処理部107cが温度別制御テーブル117を参照し、記憶されている制御情報を補助制御情報として出力する。そして、出力された補助制御情報に基づいて、光出力が制御される(ステップS104)。
一方、アップグレードが開始されていない場合(ステップS102、No)、ステップS100に移行する。
その後、ファームウェア116のアップグレードが完了すると(ステップS105)、ファームウェア部106は制御情報の出力を再び開始し(ステップS106)、ステップS100に移行する。
このフローチャートによれば、ファームウェア116のアップグレード中に、光装置100内の温度に変化が生じても、補助制御部107が、補助制御情報を出力することで、光装置は、光出力を維持することができる。
次に、実施例2に示す光装置について説明する。図7は、実施例2に係る光装置を示す図である。図7に示した光装置200は、光出力の立上げが終了する前に、ファームウェアのアップグレードが開始されても、光出力の制御を中断することなく、光出力の立上げを継続させる。
そして、光装置200は、光出力部201と、モニタ部202と、フィードバック情報生成部203と、アナログ部204と、ADC(Analog Digital Converter)205と、ファームウェア部206と、補助制御部207と、DAC(Digital Analog Converter)208とを有する。
光出力部201は、光装置200の光出力部を示す。また、この光出力部201には、モニタ部202が取得する光素子(例えば、LDなど)が含まれる。
モニタ部202は、光出力部201の動作状況をモニタし、モニタ出力を示すモニタ情報を取得し、取得したモニタ情報をフィードバック情報生成部203に出力する手段である。
フィードバック情報生成部203は、モニタ部202から入力されたモニタ情報に基づいてフィードバック情報を生成する手段である。そして、フィードバック情報生成部203は、生成したフィードバック情報をアナログ部204に出力する。
アナログ部204は、フィードバック情報生成部203が出力したフィードバック情報を受け取り、ADC205に出力する手段である。また、DAC208から入力された制御信号もしくは制御補助信号を光出力部201に出力する手段である。
ADC205は、フィードバック情報生成部203が生成したフィードバック情報をアナログ情報からデジタル情報に変換し、デジタル情報に変換したフィードバック情報をファームウェア部206に出力する手段である。
ファームウェア部206は、光装置200の各種仕様を記憶し、さらに、フィードバック情報から制御情報を生成し、出力する手段で、記憶部206aと、処理部206bとを有する。
記憶部206aは、光装置200のファームウェアを記憶する記憶手段で、ファームウェア216を有する。このファームウェア216は、光装置200が伝送するデータ量やデータ速度といった各種仕様や、フィードバック情報から制御情報を求める際に使用する各種情報を記憶している。
そして、このファームウェア216の書き換えは、顧客先でのアップグレートにより行われ、このアップグレードの開始から完了まで、ファームウェア部206は、制御情報の生成および出力を停止する。
処理部206bは、ファームウェア216から光装置200の各種仕様を定め、さらに、通常動作時にフィードバック情報から制御情報を生成し、生成した制御情報をDAC208に出力する手段である。
また、処理部206bは、ファームウェア216のアップグレードが開始されると、アップグレードが完了するまで、DAC208への制御情報の出力を一時的に停止するとともに、ファームウェア216のアップグレードの開始情報を補助制御部207に出力する。
なお、ファームウェア216のアップグレードの開始情報を「アップグレード開始情報」として、ファームウェア216のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。
補助制御部207は、光装置200のフィードバック制御開始から光出力の立上げ終了時までの経過時間を示す時間情報と、ファームウェア部206が出力する制御情報とを取得し、取得した制御情報を時間情報別に記憶する手段である。
そして、補助制御部207は、光出力を段階的に増加させている際に、ファームウェア216のアップグレードが開始された場合、記憶している制御情報を補助制御情報として出力する手段である。
そして、補助制御部207は、補助記憶部207aと、時間モニタ部207bと、補助処理部207cとを有する。
補助記憶部207aは、フィードバック制御の開始から光出力の立上げ終了時までの経過時間ごとに制御情報を記憶する手段で、時間別制御テーブル217を有する。この時間別制御テーブル217について図を用いて説明する。
図8は、実施例2に示す時間別制御テーブルのデータ構造の一例を示す図である。図8に示した時間別制御テーブル217は、「時間」、「制御情報」を記憶するテーブルである。
また、「時間」は、光装置200がフィードバック制御を開始してからの経過時間を示す時間情報[S秒]で、時間モニタ部207bが取得する。「制御情報」は、上述したファームウェア部206が、ファームウェア216より生成する情報である。
図8に示したように、この「制御情報」の単位は「%」である。これは、光装置200に要求される光出力は、ファームウェア216が有する情報等によって異なるため、便宜的に「%」で示している。
したがって、例えば、通常動作時において、光装置200に要求される制御情報が、2000LSBである場合、図8に示した100.0%は2000LSBを示し、20.0%は400LSBに相当し、50.0%は1000LSBに相当する。
そして、図8に示した時間別制御テーブル217より、例えば、100.0%を2000LSBとした場合、0sに対応する制御情報は0.0%[0LSB]を示し、1sに対応する制御情報は20.0%[400LSB]を示し、2sに対応する制御情報は25.0%[500LSB]を示している。
また、図8に示したように、60[s]で、制御情報が100%を示していることから、光出力の立上げが終了するまでに、60[s]要することを示している。
続いて、図7の説明に戻り、時間モニタ部207bについて説明する。時間モニタ部207bは、上述した時間情報を取得する手段である。この時間モニタ部207bは、光装置200がフィードバック制御を開始すると同時に時間情報の取得を開始する。そして、時間モニタ部207bは取得した時間情報を補助記憶部207aに出力する。
補助処理部207cは、時間モニタ部207bが取得した時間情報と、その時間情報に対応する制御情報とに基づいて、制御情報を時間別制御テーブル217に記憶する手段である。
さらに、補助処理部207cは、光出力の立上げ終了前に、ファームウェア216のアップグレードが開始した場合、アップグレードの開始から完了まで、時間別制御テーブル217に記憶されている制御情報を補助制御情報としてDAC208に出力する手段である。
また、補助処理部207cは、アップグレード開始情報が処理部206bから補助制御部207に入力されたら、補助制御情報の出力を開始する。また、アップグレード完了情報が処理部206bから補助制御部207に入力されたら、補助処理部207cは、補助制御情報の出力を停止する。
次に、上述した時間モニタ部207bや補助処理部207c等の説明に基づいて、補助制御部207の動作について図を用いて説明する。図9は、実施例2の補助制御部の動作を説明するための図である。
図9に示した、「T30」は、光装置200が光出力の制御を開始する時を示し、「T31」は、ファームウェア216のアップグレードの開始時を示し、「T32〜T34」は、アップグレード中の時間を示し、「T35」は、T31で開始したアップグレードの完了時を示す。
また、上述した「T31」を「6s」、「T32」を「7s」、「T33」を「8s」、「T34」を「9s」、「T35」を「10s」とし、100%の光出力の状態を示す制御情報を図8で説明したように2000LSBとして以下説明する。
まず、時間モニタ部207bは、T30を開始時として、時間情報の取得を開始する。そして、取得した時間情報を補助記憶部207aに出力する。また、補助処理部207cは、ファームウェア部206が出力する制御情報を取得する。
そして、補助処理部207cは、時間モニタ部207から入力された時間情報と、ファームウェア部206から取得した制御情報とに基づいて、取得した制御情報を時間情報別に時間別制御テーブル217に記憶する。
その後、ファームウェア216のアップグレードが開始されると、処理部206bは、アップグレード開始情報と、T31における制御情報を補助制御部207に出力する。
そして、補助処理部207cは、T31からT35まで、時間別制御テーブル217に記憶されている各種制御情報をT31の制御情報に基づき、補助制御情報として出力する。
このとき、補助処理部207cは、時間別制御テーブル217を参照し、T31に対応する制御情報:910LSBをDAC208に出力する。そして、補助処理部207cは、アップグレードが完了するT35まで制御情報をDAC208に出力する。
例えば、補助処理部207cは、T32では、制御情報:1000LSBを出力し、T33では、制御情報:1100LSB、T34では、制御情報:1200LSB、T35では、制御情報:1300LSBをそれぞれ出力する。
そして、T35にファームウェア216のアップグレードが完了すると、補助処理部207は、補助制御情報の出力を停止する。そのご、処理部206bは、制御情報の出力を再び開始する。
上述したように、T31からT35まで、光装置200は、T31からの経過時間に応じて、制御情報を出力する。その結果、光出力の立上げが終了する前に、ファームウェア216のアップグレードが開始されても、光装置200は、光出力の制御を停止することなく、光出力を段階的に増加させている。
次に、図7の説明に戻り、DAC208について説明する。DAC208は、通常動作時に、ファームウェア部206から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部204に出力する手段である。
一方、ファームウェア216がアップグレードしている間、DAC208は、補助制御部207から補助制御情報を取得し、取得した補助制御情報を制御補助信号に変換して、アナログ部204に出力する。
次に、光装置200の処理手順について説明する。図10は、実施例2に係る光装置の処理手順を示すフローチャートである。
まず、光装置200がフィードバック制御を開始する(ステップS200)。そして、時間モニタ部207bが時間情報の取得を開始し、取得した時間情報を時間別制御テーブル217に出力する。
また、補助処理部207cは、時間モニタ部207bが取得した時間情報と、ファームウェア部206が通常時に出力する制御情報とに基づいて、制御情報を時間情報別に時間別制御テーブル217に記憶する(ステップS201)。
そして、ファームウェア216のアップグレードが開始されると(ステップS202、Yes)、補助処理部207cが、補助制御情報の出力を開始する(ステップS203)。
そして、補助処理部207cが、時間別制御テーブル217を参照し、記憶されている制御情報を補助制御情報として出力する。そして、出力された補助制御情報に基づいて、光出力が制御される(ステップS204)。
一方、ファームウェア216のアップグレードが開始されない場合(ステップS202、No)、光装置200は、ステップS200に移行する。
その後、ファームウェア216のアップグレードが完了すると(ステップS205)、ファームウェア部206は制御情報の出力を開始し(ステップS206)、ステップS200に移行する。
このフローチャートによれば、光出力の立上げが終了する前に、ファームウェア216のアップグレードが開始しても、補助制御部207が、補助制御情報を出力することで、光出力の立上げを中断することなく実施できる。
次に、実施例3に示す光装置について説明する。図11は、実施例3に係る光装置の構成を示す図である。図11に示した光装置300は、フィードバック制御を開始する際に、光出力の立上げ開始から終了までの経過時間と、ファームウェアが出力する制御情報とを取得し、取得した制御情報を経過時間別に記憶する補助制御部をファームウェアとは別に設ける。
また、フィードバック制御を開始する際に、光装置内の温度を示す温度情報について取得し、温度情報に対応する制御情報を温度情報別に記憶する。
そして、ファームウェアのアップグレードが開始されると、補助制御部は、記憶しておいた制御情報を補助制御情報として出力し、ファームウェアのアップグレードが完了するまで行う。その結果、光装置300は、光出力を制御する。
そして、光装置300は、光出力部301と、モニタ部302と、フィードバック情報生成部303と、アナログ部304と、ADC(Analog Digital Converter)305と、ファームウェア部306と、補助制御部307と、DAC(Digital Analog Converter)308とを有する。
光出力部301は、光装置300の光出力部を示す。また、この光出力部301には、モニタ部302が取得する光素子(例えば、LDなど)が含まれる。
モニタ部302は、光出力部301の動作状況をモニタし、モニタ出力を示すモニタ情報を取得し、取得したモニタ情報をフィードバック情報生成部303に出力する手段である。
フィードバック情報生成部303は、モニタ部302から入力されたモニタ情報に基づいてフィードバック情報を生成する手段である。そして、フィードバック情報生成部303は、生成したフィードバック情報をアナログ部304に出力する。
アナログ部304は、フィードバック情報生成部303が出力したフィードバック情報を受け取り、ADC305に出力し、また、DAC308から入力された制御信号もしくは制御補助信号を光出力部301に出力する手段である。
ADC305は、フィードバック情報生成部303が生成したフィードバック情報をアナログ情報からデジタル情報に変換し、デジタル情報に変換したフィードバック情報をファームウェア部306に出力する手段である。
ファームウェア部306は、光装置300の各種仕様を記憶し、フィードバック情報から制御情報を生成し、出力する手段で、記憶部306aと、処理部306bとを有する。
記憶部306aは、光装置300のファームウェアを記憶する記憶手段で、ファームウェア316を有する。このファームウェア316は、光装置300が伝送するデータ量やデータ速度といった各種仕様や、フィードバック情報から制御情報を求める際に使用する各種情報を記憶している。
そして、このファームウェア316の書き換えは、顧客先でのアップグレートにより行われ、ファームウェア部306は、アップグレードの開始から完了まで、制御情報の生成および出力を停止する。
処理部306bは、ファームウェア316から光装置300の各種仕様を定め、さらに、通常動作時に、フィードバック情報から制御情報を生成し、生成した制御情報をDAC308に出力する手段である。
また、処理部306bは、ファームウェア316のアップグレードが開始されると、アップグレードが終了するまでの間、DAC308への制御情報の出力を一時的に停止するとともに、ファームウェア316のアップグレードが開始された旨を示す情報を補助制御部307に出力する。
なお、ファームウェア316のアップグレードの開始情報を「アップグレード開始情報」とし、ファームウェア316のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。
補助制御部307は、通常動作時、光装置300がフィードバック制御を開始してからの経過時間を示す時間情報と、制御情報とを取得し、取得した制御情報を時間情報別に記憶する手段である。
そして、補助制御部307は、光出力の立上げが終了する前に、ファームウェア316のアップグレードが開始されると、記憶しておいた制御情報を補助制御情報として出力する手段である。
また、補助制御部307は、通常動作時、光装置300がフィードバック制御を開始してから、光装置300内の温度を示す温度情報と、制御情報とを取得し、取得した制御情報を温度情報別に記憶する。
そして、補助制御部307は、光出力の立上げが終了した後、ファームウェア316のアップグレードが再び開始された場合、アップグレードの開始から完了までの間、記憶しておいた制御情報を補助制御情報として出力する。
さらに、補助制御部307は、光出力の立上げが終了する前に、光装置300内の温度が変化した場合、温度情報に対応する制御情報と、時間情報に対応する制御情報とを複合的に用いて制御情報を出力する。
そして、補助制御部307は、補助記憶部307aと、温度モニタ部307bと、時間モニタ部307cと、補助処理部307dとを有する。
補助記憶部307aは、フィードバック制御の開始からの経過時間を示す時間情報や、光装置300内の温度情報を記憶する手段で、温度別制御テーブル317と、時間別制御テーブル318とを有する。
そして、温度別制御テーブル317は、図4に示した温度別制御テーブル117と同様のデータ構造を有し、時間別制御テーブル318についても図8に示した時間別制御テーブル217と同様のデータ構造を有するものとする。
温度モニタ部307bは、光装置300内の温度情報を取得する手段である。この温度モニタ部307bは、光装置300がフィードバック制御を開始すると同時に温度情報の取得を開始する。そして、温度モニタ部307bは取得した温度情報を温度別制御テーブル317に出力する。
時間モニタ部307cは、図8に示した時間情報を取得する手段である。この時間モニタ部307cは、フィードバック制御の開始から光出力の立上げが終了するまでの時間情報を取得する。そして、時間モニタ部307cは取得した時間情報を時間別制御テーブル318に出力する。
補助処理部307dは、温度モニタ部307bが取得した温度情報と、その温度情報に対応する制御情報を温度別制御テーブル317に記憶し、ファームウェア316のアップグレードの開始から完了まで、温度別制御テーブル317に記憶されている制御情報を補助制御情報としてDAC308に出力する手段である。
また、補助処理部307dは、時間モニタ部307cが取得した時間情報と、その時間情報に対応する制御情報を時間別制御テーブル318に記憶する。
そして、補助処理部307dは、光出力の立上げが終了する前に、ファームウェア316のアップグレードが開始した場合、ファームウェア316のアップグレードの開始から完了まで、時間別制御テーブル318に記憶されている制御情報を補助制御情報としてDAC308に出力する。
また、補助処理部307dは、アップグレード開始情報が処理部306bから補助制御部307に入力された時、補助制御情報の出力を開始する。そして、補助処理部307dは、アップグレード完了情報が処理部306bから補助制御部307に入力された後、補助制御情報の出力を停止する。
次に、上述した温度モニタ部307bと、時間モニタ部307cと、補助処理部307d等の説明に基づいて、補助制御部307の動作について図を用いて説明する。図12は、実施例3の補助制御部の動作を説明するための図である。
図12に示した、「T40」は、光装置300の光出力のフィードバック制御の開始時を示し、「T41」は、ファームウェア316のアップグレードの開始時を示し、「T42、T43」は、アップグレード中の時間を示し、「T44」は、T41で開始したアップグレードの完了時を示す。
そして、「T45」は、ファームウェア316が、再びアップグレードが開始する時を示し、「T46」は、T45で開始したファームウェア316のアップグレードの完了時を示す。
また、光出力の立上げが終了した状態に対応する制御情報を図8で説明したように2000LSBとし、T41を「6s」、T42を「7s」、T43を「8s」として以下説明する。
まず、時間モニタ部307cは、T40を開始時として、時間情報の取得を開始する。そして、取得した時間情報を時間別制御テーブル318に出力する。また、補助処理部307dは、ファームウェア部306が出力する制御情報について取得する。
そして、補助処理部307dは、時間モニタ部307cから入力された時間情報と、ファームウェア部306から取得した制御情報とに基づいて、取得した制御情報を時間情報別に時間別制御テーブル318に記憶する。
その後、T41に、ファームウェア316のアップグレードが開始されると、処理部306bは、アップグレード開始情報を補助処理部307dに出力する。そして、補助処理部307dは、補助制御情報の出力を開始する。
このとき、補助処理部307dは、アップグレード開始情報の通知を受けた時の時間情報T41に対応する制御情報をDAC308に出力する。そして、補助処理部307dは、時間別制御テーブル318を参照し、アップグレードが完了するT44まで制御情報を補助制御情報として出力する。
この場合、補助処理部307dは、T41には、2000LSBの45.5%に相当する910LSBを、T42には、2000LSBの50.0%に相当する1000LSBを、T43には、2000LSBの55.0%に相当する1100LSBをそれぞれ出力する。
そして、T44にファームウェア316のアップグレードが完了すると、処理部306bは、アップグレード完了情報を補助処理部307dに通知する。この時、補助処理部307dは、アップグレード終了時の制御情報を処理部306bに出力する。
そして、T44に、補助処理部307cは、補助制御情報の出力を停止する。そして、処理部306bは、制御情報の出力を再び開始する。
この結果、T41からT44の間、光装置300は、光出力の出力制御を停止することなく、光出力を段階的に増加させ、光出力の立上げを停止することなく完了させている。
一方、温度モニタ部307bは、T40から光装置300内の温度情報の取得を開始しており、取得した温度情報を温度別情報テーブル317に出力する。そして、補助処理部307dは、T40を開始時として、ファームウェア部306が出力する制御情報について取得する。
そして、補助処理部307dは、温度モニタ部307bから入力された温度情報と、ファームウェア部306から取得した制御情報とに基づいて、取得した制御情報を温度情報別に温度別制御テーブル318に記憶する。
その後、T45に、ファームウェア316のアップグレードが開始されると、処理部306bは、アップグレード開始情報を補助制御部307に出力する。そして、補助処理部307dは、補助制御情報の出力を開始する。
そして、T45からT46まで、補助処理部307dは、温度別制御テーブル317に記憶されている各種制御情報を補助制御情報として出力する。例えば、図12に示した「K20」が、図5に示すK10とした場合、40℃に対応する制御情報:2650LSBを出力する。
一方、「K21」が図5に示すK11とした場合、37℃に対応する制御情報:2550LSBを出力する。また、「K22」が図5に示すK12とした場合、35℃に対応する制御情報:2500LSBを出力する。
そして、T46にファームウェア316のアップグレードが完了すると、処理部306bは、アップグレード完了情報を補助処理部307dに通知する。そして、補助処理部307dは、補助制御情報の出力を停止する。
その後、処理部306bは、補助処理部307dから受け取った制御情報に基づき、制御情報の出力を再び開始する。
上述したように、T45からT46の間、光装置300内に温度変化が発生したにも関わらず、光装置300は、光出力の制御を行い、その出力状態を立ち上げ終了時の状態に維持している。
なお、上述したT41〜T44までの間、温度情報が変化した場合、補助処理部307dは、温度情報に対応する制御情報と、時間情報に対応する制御情報とを複合的に用いて制御情報を生成する。
例えば、所定時間T42の温度情報がK25とした場合、補助処理部307dは、T42からの経過時間別に各種制御情報を補助記憶部307aに記憶し、さらに、K25から温度変化が発生した場合に、それら各種制御情報に加える追加制御情報(例えば、+50LSB)を補助記憶部307aに記憶する。
そして、アップグレードが終了するまでの間、補助処理部307dは、T42からの経過時間と、K25からの温度変化とに対応した追加制御情報とを基にし、制御情報を生成し、生成した制御情報を補助制御情報として出力する。
次に、図11の説明に戻り、DAC308について説明する。DAC308は、通常動作時に、ファームウェア部306から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部304に出力する手段である。
一方、ファームウェア316がアップグレードしている間、DAC308は、補助制御部307から補助制御情報を取得し、取得した補助制御情報を制御補助信号に変換して、アナログ部304に出力する。
次に、光装置300の処理手順について説明する。図13は、実施例3に係る光装置の処理手順を示すフローチャートである。
まず、光装置300がフィードバック制御を開始する(ステップS300)。そして、補助制御部307が温度情報と時間情報の取得を開始し、取得した温度情報と時間情報とを温度別制御テーブル317と、時間別制御テーブル318にそれぞれ記憶する(ステップS301)。
そして、ファームウェア316のアップグレードが開始されると(ステップS302、Yes)、補助制御部307が、補助制御情報の出力を開始する(ステップS303)。
そして、光装置300が光出力の立上げを終了してない場合(ステップS304、Yes)、補助制御部307は、時間別制御テーブル318に記憶されている制御情報を補助制御情報として出力する(ステップS305)。
その後、ファームウェア316のアップグレードが終了すると(ステップS307)、補助制御部307が、補助制御情報の出力を停止する。そして、ファームウェア部306が制御情報の出力を開始し(ステップS308)、ステップS300に移行する。
一方、ステップS302において、ファームウェア316のアップグレードが開始されていない場合(ステップS302、No)、ステップS300へ移行する。
また、光装置300の光出力の立上げが終了している場合(ステップS304、No)、補助制御部307は、温度別制御テーブル317に記憶されている制御情報を補助制御情報として出力する(ステップS306)。
その後、ファームウェア316のアップグレードが終了すると(ステップS307)、補助制御部307が、補助制御情報の出力を停止する。そして、ファームウェア部306が制御情報の出力を開始する(ステップS308)、ステップS300に移行する。
このフローチャートによれば、光出力の立上げが完了する前に、ファームウェア316のアップグレードが開始しても、補助制御部307が、補助制御情報を出力することで、光出力を段階的に増加させることができる。
また、ファームウェア316のアップグレード中に、光装置300内に温度変化が生じても、補助制御部307が、補助制御情報を出力することで、光出力を制御することができる。
次に、実施例4に示す光装置について説明する。図14は、実施例4に係る光装置を示す図である。図14に示した光装置400は、例えば、光装置400の外気温の温度情報や、光装置400の起動開始からの時間情報に基づいてフィードフォワード情報を取得する。
このフィードフォワード情報とは、光装置400内の温度情報と、光装置400の外気温の温度情報とを含む温度情報(以下、単に外部温度情報とする)や、光装置400の起動開始からの経過時間を示す時間情報等に対応する光出力の状態を示す情報である。
そして、光装置400は、光装置400のファームウェアのアップグレードが開始されると、フィードフォワード情報に基づいて、光出力をファームウェアの代わりに制御する。
この光装置400は、光出力部401と、フィードフォワード情報生成部402と、ファームウェア部403と、補助制御部404と、DAC(Digital Analog Converter)405と、アナログ部406とを有する。
光出力部401は、光装置400の光出力部を示す。また、この光出力部401には、モニタ部402が取得する光素子(例えば、LDなど)が含まれる。
フィードフォワード情報生成部402は、例えば、光装置400の起動とともに、外部温度情報や、光装置400の起動開始からの経過時間を示す時間情報を取得し、取得した外部温度情報や時間情報に基づき、フィードフォワード情報を生成し、生成したフィードフォワード情報をファームウェア部403に出力する手段である。
ファームウェア部403は、光装置400の各種仕様を記憶し、また、フィードフォワード情報生成部402から入力されたフィードフォワード情報に基づいて制御情報を生成し、出力する手段で、記憶部403aと、処理部403bとを有する。
記憶部403aは、光装置400のファームウェアを記憶する記憶手段で、ファームウェア413を有する。このファームウェア413は、光装置400が伝送するデータ量やデータ速度といった各種仕様や、フィードフォワード情報から制御情報を求める際に使用する各種情報を記憶している。
そして、このファームウェア413の書き換えは、顧客先でのアップグレートにより行われ、アップグレードの開始から完了まで、ファームウェア部403は、制御情報の生成および出力を停止する。
処理部403bは、ファームウェア413から光装置400の各種仕様を定め、さらに、通常動作時に、フィードフォワード情報から制御情報を生成し、生成した制御情報をDAC405に出力する手段である。
また、処理部403bは、ファームウェア413のアップグレードが開始されると、アップグレードが完了するまで、DAC405への制御情報の出力を一時的に停止するとともに、ファームウェア413のアップグレードが開始された旨を示す情報を補助制御部404に出力する。
なお、ファームウェア413のアップグレードの開始情報を「アップグレード開始情報」とし、ファームウェア413のアップグレードの完了情報を「アップグレード完了情報」として以下説明する。
補助制御部404は、例えば、光装置400の起動開始時からの経過時間を示す時間情報を取得し、取得した時間情報に対応する制御情報を記憶する。そして、光出力を段階的に増加させている際に、ファームウェア413のアップグレードが開始された場合、その制御情報を補助制御情報として出力する手段である。
さらに、補助制御部404は、光装置400の起動開始時から、外部温度情報と、ファームウェア413が出力する制御情報とを取得し、取得した制御情報を外部温度情報別に記憶する。
そして、補助制御部404は、ファームウェア413のアップグレードの開始から完了まで、記憶している制御情報を補助制御情報として出力する。
そして、補助制御部404は、補助記憶部404aと、温度モニタ部404bと、時間モニタ部404cと、補助処理部404dとを有する。
補助記憶部404aは、光装置400の起動開始からの経過時間に対応する制御情報や、外部温度情報を記憶する手段で、温度別制御テーブル414と、時間別制御テーブル415とを有する。
まず、温度別制御テーブル414のデータ構造について説明する。図15は、実施例4に示す温度別制御テーブルのデータ構造の一例を示す図である。図15に示した温度別制御テーブル414は、「温度」、「制御情報」を記憶するテーブルで、補助処理部404dによってデータの入出力が管理される。
「温度」は、光装置400内の温度と光装置400の外気温とを含む外部温度情報を示し、後述する温度モニタ部404bが取得する。「制御情報」は、上述したファームウェア部403が、ファームウェア413より生成する情報である。
そして、図15に示した温度別制御テーブル414より、例えば、K30℃に対応する制御情報は、2000LSBを示し、K31℃に対応する制御情報は、2020LSBを示し、K32℃に対応する制御情報は、2040LSBを示している。
次に、時間別制御テーブル415のデータ構造の一例について説明する。図16は、実施例4に示す時間別制御テーブルのデータ構造の一例を示す図である。図16に示した時間別制御テーブル415は、「時間」、「制御情報」を記憶するテーブルである。
そして、時間別制御テーブル415に記憶される各種情報は、補助処理部404dによってデータの入出力が管理され、「時間」は、光装置400の起動開始からの経過時間[S秒]を示し、時間モニタ部404cが取得する。
「制御情報」は、図15で説明した制御情報と同様で、上述したファームウェア部403が、ファームウェア413より生成する情報で、後述するDAC405が、制御信号を生成する際に使用する情報を示している。
図16に示したように、この「制御情報」の単位は、「%」である。これは、光装置400に要求される光出力は、ファームウェア413が有する情報によって異なるため、便宜的に「%」で示している。
したがって、例えば、光装置400が要求される光出力に対応する制御情報が3000LSBである場合、図16に示した100.0%は3000LSBを示し、20.0%は600LSBに相当し、50.0%は1500LSBに相当する。
そして、図16に示した時間別制御テーブル415より、例えば、100.0%を3000LSBとした場合、0sに対応する制御情報は0.0%[0LSB]を示し、1sに対応する制御情報は10.0%[300LSB]を示し、2sに対応する制御情報は15.0%[450LSB]を示している。
また、図16に示したように、120[s]で、制御情報が100%を示していることから、光出力の立上げから終了までに、120[s]要することを示している。
続いて、図14の説明に戻り、温度モニタ部404bについて説明する。温度モニタ部404bは、図15に示した「温度」を取得する手段である。この温度モニタ部404bは、光装置400の起動開始と同時に外部温度情報の取得を開始し、取得した外部温度情報を温度別制御テーブル414に出力する。
時間モニタ部404cは、図16に示した時間情報を取得する手段である。この時間モニタ部404cは、光装置400が起動を開始すると同時に時間情報の取得を開始する。そして、時間モニタ部404cは取得した時間情報を時間別制御テーブル415に出力する。
そして、補助処理部404dは、アップグレード開始情報が処理部403bから補助制御部404に入力されたら、補助処理部404dは、補助制御情報の出力を開始する。また、アップグレード完了情報が処理部403bから補助制御部404に入力されたら、補助制御情報の出力を停止する。
次に、上述した温度モニタ部404bと、時間モニタ部404cと、補助処理部404d等の説明に基づいて、補助制御部404の動作について図を用いて説明する。図17は、実施例4の補助制御部の動作を説明するための図である。
図17に示した、「T50」は、光装置400の起動時を示し、「T51」は、ファームウェア413のアップグレード開始時を示し、「T52、T53」は、アップグレード中の時間を示し、「T54」は、T51で開始したアップグレードの完了時を示す。
そして、「T55」は、ファームウェア413が再びアップグレードを開始する時を示し、「T56」は、T55で開始したアップグレードの完了時を示す。
まず、時間モニタ部404cは、T50を開始時として、時間情報の取得を開始する。そして、取得した時間情報を補助記憶部404dに出力する。また、補助処理部404dは、ファームウェア部403が出力する制御情報を取得する。
そして、補助処理部404dは、時間モニタ部404cから入力された時間情報と、ファームウェア部403から取得した制御情報とに基づいて、取得した制御情報を時間情報別に時間別制御テーブル415に記憶する。
その後、光出力の立ち上げが終了する前のT51に、ファームウェア413のアップグレードが開始されると、処理部403bは、アップグレード開始情報を補助処理部404dに出力する。そして、補助処理部404dは、補助制御情報の出力を開始する。
そして、T51からT54までの間、補助処理部404dは、時間別制御テーブル415を参照し、各時間情報に対応する各種制御情報を補助制御情報としてDAC405に出力する。
例えば、光出力の立ち上げが終了した状態に対応する制御情報を図16で説明したように3000LSBとし、T51を「1s」、T52を「2s」、として以下説明する。
この場合、補助処理部404dは、T51に3000LSBの10.0%に相当する300LSBを、T52に3000LSBの15.0%に相当する450LSBをそれぞれ出力する。
そして、T54にファームウェア413のアップグレードが終了すると、処理部403bは、アップグレード完了情報を補助処理部404dに通知する。この時、補助処理部404dは、アップグレード終了時の制御情報を処理部403bに出力する。
そして、補助処理部404dは、補助制御情報の出力を停止する。その後、処理部403bは、制御情報の出力を開始する。
この結果、T51からT54の間、光装置400は、光出力の制御を中断させることなく、光出力の立上げを段階的に増加させている。
一方、温度モニタ部404bは、T50から光装置400の外部温度情報の取得を開始しており、取得した外部温度情報を補助処理部404dに出力する。そして、補助処理部404dは、T50を開始時として、ファームウェア部403が出力する制御情報を取得する。
そして、補助処理部404dは、温度モニタ部404bから入力された外部温度情報と、ファームウェア部403から取得した制御情報とに基づいて、取得した制御情報を外部温度情報別に温度別制御テーブル414に記憶する。
その後、T55に、ファームウェア413のアップグレードが開始されると、処理部403bは、アップグレード開始情報を補助制御部404に出力する。そして、補助処理部404dは、補助制御情報の出力を開始する。
この時、補助処理部404dは、アップグレード開始情報の通知を受けた時に示す外部温度情報K33℃に対応する制御情報をDAC405に出力する。そして、補助処理部404は、温度別制御テーブル414を参照し、アップグレードが完了するT56まで制御情報を補助制御情報として出力する。
例えば、図15に示した外部温度情報が「K33」の場合は、補助処理部404dは、K33に対応する制御情報:2060LSBを出力する。一方、外部温度情報が「K31」の場合、K31に対応する制御情報:2020LSBを出力する。そして、外部温度情報が「K32」の場合、K32に対応する制御情報:2040LSBを出力する。
そして、T56にファームウェア413のアップグレードが完了すると、処理部403bは、アップグレード完了情報を補助処理部404dに通知する。そして、補助処理部404dは、制御情報の出力を停止する。その後、処理部403bは、制御情報の出力を開始する。
上述したように、T55からT56の間、光装置400の外部温度情報の変化が発生したにも関わらず、光装置400は、光出力の制御を行うことができ、その出力状態を立上げ終了時の状態に維持している。
次に、図14の説明に戻り、DAC405について説明する。DAC405は、通常動作時に、ファームウェア部403から制御情報を取得し、取得した制御情報を制御信号に変換して、アナログ部406に出力する手段である。
一方、ファームウェア413がアップグレードされている間は、補助制御部404から補助制御情報を取得し、取得した補助制御情報を制御補助信号に変換して、アナログ部406に出力する。
次に、光装置400の処理手順について説明する。図18は、実施例4に係る光装置の処理手順を示すフローチャートである。
まず、光装置400がフィードフォワード情報を取得する(ステップS400)。そして、補助制御部404が外部温度情報と時間情報の取得を開始し、取得した外部温度情報と時間情報とに対応する制御情報を温度別制御テーブル414と、時間別制御テーブル415にそれぞれ記憶する(ステップS401)。
そして、ファームウェア部403が、光出力の制御を行う(ステップS402)。その後、ファームウェア413のアップグレードが開始されると(ステップS403、Yes)、補助制御部404が、補助制御情報の出力を開始する(ステップS404)。
そして、光装置400の光出力の立上げが終了していない場合(ステップS405、Yes)、補助制御部404は、時間別制御テーブル415に記憶されている制御情報を補助制御情報として出力する(ステップS406)。
その後、ファームウェア413のアップグレードが完了すると(ステップS408)、補助制御部404が、補助制御情報の出力を停止し(ステップS409)、ステップS400に移行する。
一方、ステップS403において、ファームウェア413のアップグレードが開始されていない場合(ステップS403、No)、ステップS400へ移行する。
また、光装置400が光出力の立上げを終了している場合(ステップS405、No)、補助制御部404は、温度別制御テーブル414に記憶されている制御情報を補助制御情報として出力する(ステップS407)。
その後、ファームウェア413のアップグレードが完了すると(ステップS408)、補助制御部404が、補助制御情報の出力を停止する。そして、ファームウェア部403が制御情報の出力を開始し(ステップS409)、ステップS400に移行する。
このフローチャートによれば、光出力を立上げている際に、ファームウェア413のアップグレードが開始しても、補助制御部404が、補助制御情報を出力することで、光出力を段階的に増加させることができる。
また、ファームウェア403のアップグレード中に、光装置400の外気温の温度に変化が生じても、補助制御部404が、補助制御情報を出力することで、光出力を維持することができる。
ところで、光装置のファームウェアをアップグレードしている際に、光出力の制御の中断を避ける方法の一例として、ファームウェアを異なる記憶領域に記憶する方法がある。
具体的に図を用いて説明する。図19は、ファームウェアを異なる記憶領域に記憶した場合の例について説明するための図である。図19に示したファームウェア部51の処理内容は、上述した実施例1から実施例4に示したファームウェア部に相当するものとする。
そして、プログラムメモリは、ファームウェアを格納する記憶する領域を示し、例えば、実施例1で示した記憶部106aに相当するものとする。
図19に示したファームウェア部51は、処理部51aと、プログラムメモリ51bと、プログラムメモリ51cとを有し、例えば、通常時は、プログラムメモリ51bに格納されているファームウェアに基づき、フィードバック制御が実行される。
一方、プログラムメモリ51cはスタンバイ領域とし、プログラムメモリ51bが有するファームウェアと同じファームウェアが格納されている。そして、プログラムメモリ51bが有するファームウェアのアップグレードが開始されると、まず、処理部51aがスタンバイ領域に新しいファームウェアの書き込みを行う(ステップS1)。
そして、スタンバイ領域への書き込み終了後、処理部51aは、フィードバック制御を実行するファームウェアとして、プログラムメモリ51bに格納されているファームウェアからプログラムメモリ51cに格納されているファームウェアに切り替える(ステップS2)。
このように、ファームウェア部51は、フィードバック制御を止めることなく、ファームウェアのアップグレードを行うが、ファームウェアのアップグレードのためにプログラムメモリを別途設けることは、低コスト化/小型化が要求される光装置には困難である。
以上、本実施例に示した光装置によれば、光装置内のファームウェアがアップグレード中であっても、光出力の制御を中断することなく、光出力の制御を適切に行うことができる。