(57)【要約】【課題】ホスト装置から取り外さずに、光通信を維持した状態で、ファームウェアの更新を行うことができる光送信装置の提供。【解決手段】光送信装置１は、ホスト装置２に装着されるもので、ＬＤ１１ａと、ファームウェアによる制御を実行し少なくともＬＤ１１ａの発光強度を所定値に制御するコントローラ１３と、を備える。コントローラ１３は、ホスト装置２からファームウェア書換信号を受信したときに該受信時のファームウェアによる制御に関わる出力値を保存する出力値保存手段２３と、記録されているファームウェアをホスト装置２から送信される新ファームウェアに書き換えている間、ファームウェアによる制御を停止して上記出力値を上記保存した出力値に制御する固定値制御手段２４と、新ファームウェアへの書き換え終了後、その新ファームウェアによる制御を開始するファームウェア制御再開手段２５と、を有する。【選択図】図２
2010130316.tif 000002
【特許請求の範囲】
【請求項１】
信号光を出射する半導体発光素子と、ファームウェアを有し当該ファームウェアによる制御動作を実行し、少なくとも前記半導体発光素子の発光強度を所定値に制御する制御部と、を備え、ホスト装置に装着される光送信装置であって、
前記制御部は、
前記ホスト装置からファームウェア書換信号を受信したときに、該受信時の前記ファームウェアによる制御に関わる出力値を保存する出力値保存手段と、
記録されているファームウェアの前記ホスト装置から送信される新ファームウェアへの書き換え中は、前記ファームウェアによる制御を停止して前記出力値を前記出力値保存手段が保存した出力値に制御する固定値制御手段と、
前記新ファームウェアへの書き換え終了後、該新ファームウェアによる制御を開始するファームウェア制御再開手段と、を有することを特徴とする光送信装置。
【請求項２】
前記新ファームウェアへの書き換え中は、前記ホストとの通信先を前記制御部から前記ファームウェアの記憶部に切り換えるスイッチを備えることを特徴とする請求項１に記載の光送信装置。
【請求項３】
信号光を出射する半導体発光素子と、ファームウェアを有し当該ファームウェアによる制御動作を実行し、少なくとも前記半導体発光素子の発光強度を所定値に制御する制御部と、を備え、ホスト装置に装着される光送信装置のファームウェアの更新方法であって、
前記ホスト装置からファームウェア書換信号を受信し、出力値保存手段により前記ファームウェアによる制御に関わる出力値を保存し、
固定値制御手段により、前記ファームウェアによる制御を停止し当該制御部の前記出力値を前記保存した出力値に固定する制御を開始した後、
記録されているファームウェアを前記ホスト装置から送信される新ファームウェアに書き換え、
書き換え終了後に、ファームウェア制御再開手段により、前記出力値を固定する制御を停止し前記新ファームウェアによる制御を開始することを特徴とするファームウェアの更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光トランシーバ等に適用される光送信装置及び当該光送信装置のファームウェアの更新方法に関する。
【背景技術】
【０００２】
光通信のために信号光を送出する光送信装置は、例えば、図４に示すように、半導体発光素子（ＬＤ：Laser Diode）１０１と、ＬＤ駆動回路１０２と、を備え、ＬＤ駆動回路１０２は、ＬＤ１０１から所定の発光パワーが得られるように直流バイアス電流を生成すると共に、ホスト装置Ｘから受け取る送信信号に基づいて変調電流を生成する。光送信装置１００は、ＬＤ１０１に直流バイアス電流に変調電流を重畳した電流を供給することにより、ＬＤ１０１の発光強度を遷移させて、ＬＤの信号光を変調する。
【０００３】
また、光送信装置１００は、デジタル・アナログ変換部（Ｄ／Ａ）１０３を通じてＬＤ駆動回路１０２にバイアス電流値、変調電流値を与えるデジタル方式のコントローラ１０４を用いて、ＬＤ１０１のオートパワーコントロール（ＡＰＣ：Auto Power Control）制御を行う。具体的には、光送信装置１００では、ＬＤ１０１近傍に配置された半導体受光素子（ＰＤ：Photo Diode）１０５がＬＤ１０１の発光パワーを検出し、検出したパワーに応じた電流値が光量検知回路１０６及びアナログ・デジタル変換部（Ａ／Ｄ）１０７によってデジタル変換され、コントローラ１０４に入力される。そして、コントローラ１０４が、Ａ／Ｄ１０７から入力されたデジタル値及び予めプログラムされた関数に基づいて、検出発光パワーが一定となるようにバイアス電流を決定し、そのバイアス電流の生成に用いる制御信号をＤ／Ａ１０３に入力することで、ＡＰＣ制御が行われる。
【０００４】
このような光送信装置が適用される光トランシーバでは、近年、Ｉ２Ｃ（Inter-Integrated Circuit）、ＭＤＩＯ（Management Data Input/Output）等の通信プロトコルを利用して、光トランシーバの動作状態に関わる動作パラメータをホスト装置に伝えることが一般的になっている（例えば非特許文献１参照）。
また、上述のＡＰＣ制御のような、デジタル方式のコントローラを用いて光送信装置（光トランシーバ）の内蔵部品を制御する手法は、上述の通信プロトコルを利用する形態と親和性が高く、現在では広く用いられ始めている。
【０００５】
デジタル方式のコントローラを用いて装置の内蔵部品を制御するためには、図４の例のコントローラ１０４ように、ＣＰＵ１０４ａ等の演算装置と制御に必要な処理を記述したファームウェアが必要となる。ファームウェアは、例えば、コントローラ１０４に内蔵されるフラッシュメモリ１０４ｂに記憶され（あるいはコントローラ１０４の外に設けられた記憶装置）に格納され、起動時にコントローラ１０４のＲＡＭ１０４ｃにロードされる構成となっている。
【０００６】
従来、ファームウェアの更新を行うためには、光送信装置を一度ホスト装置から取り外して光通信を一旦停止し、専用のツールを用いて行う必要があった。近年、光トランシーバの分野においては、プラガブル型の普及によって、ホスト装置からの取り外しは容易にはなっているものの、ファームウェア更新時はネットワークを停止させる必要があることに変わりはなく、対策が望まれている。
【非特許文献１】ＳＦＦ委員会、「光トランシーバ用診断監視インタフェースのためのＳＦＦ−８４７２仕様書 第１０．３版（SFF-8472 Specification for Diagnostic Monitoring Interface for Optical Xcvrs Rev 10.3）」、［online］、２００７年１２月１日、［２００８年９月１２日検索］、インターネット＜URL:ftp://ftp.seagate.com/sff/SFF-8472.PDF＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述のような実情に鑑みてなされたもので、ホスト装置から取り外すことなく、光通信を維持したままの状態で、ファームウェアの更新を行うことができる光送信装置及び当該光送信装置のファームウェアの更新方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の光送信装置は、信号光を出射する半導体発光素子と、ファームウェアを有し当該ファームウェアによる制御動作を実行し、少なくとも半導体発光素子の発光強度を所定値に制御する制御部と、を備え、ホスト装置に装着される。上記制御部が、ホスト装置からファームウェア書換信号を受信したときに、該受信時のファームウェアによる制御に関わる出力値を保存する出力値保存手段と、記録されているファームウェアのホスト装置から送信される新ファームウェアへの書き換え中は、ファームウェアによる制御を停止して上記出力値を出力値保存手段が保存した出力値に制御する固定値制御手段と、新ファームウェアへの書き換え終了後、その新ファームウェアによる制御を開始するファームウェア制御再開手段と、を有することを特徴とする。
なお、新ファームウェアへの書き換え中は、ホストとの通信先を制御部からファームウェアの記憶部に切り換えるスイッチを備えることが好ましい。
【０００９】
また、本発明の光送信装置のファームウェアの更新方法は、信号光を出射する半導体発光素子と、ファームウェアを有し当該ファームウェアによる制御動作を実行し、少なくとも半導体発光素子の発光強度を所定値に制御する制御部と、を備え、ホスト装置に装着される光送信装置のファームウェアの更新方法である。ホスト装置からファームウェア書換信号を受信し、出力値保存手段によりファームウェアによる制御に関わる出力値を保存し、固定値制御手段により、前記ファームウェアによる制御を停止し当該制御部の出力値を保存した出力値に固定する制御を開始した後、記録されているファームウェアをホスト装置から送信される新ファームウェアに書き換え、書き換え終了後に、ファームウェア制御再開手段により、上記出力値を固定する制御を停止し前記新ファームウェアによる制御を開始することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ホスト装置とファームウェアの記憶部との間の通信を可能としたので、ホスト装置から直接、ファームウェアの書き換えができる。また、更新のためにファームウェアに従った処理を停止させている間は、停止直前の駆動電流値を駆動回路に供給し続けるようにしたので、光通信を維持したままの状態で、ファームウェアの更新を行うことができる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の光送信装置の構成例を説明するブロック図である。光送信装置は、光データリンク等としてモジュール化され、さらに、ホスト装置に接続された状態で用いられる。本発明の光送信装置は、図１の光データリンク１で例示するように、ホスト装置２から電気信号を受け取るための差動入力端子１０ａ，１０ｂが設けられている。これらの端子１０ａ，１０ｂには、相補的な差動入力信号Ｅ＋，Ｅ−がそれぞれ入力される。
【００１２】
光データリンク１は、送信用光モジュール１１と、ＬＤ駆動回路１２と、コントローラ１３と、Ｄ／Ａ１４と、Ａ／Ｄ１５と、光量検知回路１６と、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）１７と、スイッチ１８と、を備える。
【００１３】
送信用光モジュール１１は、信号光を送出するＬＤ１１ａと、ＬＤ１１ａをモニタするＰＤ１１ｂとを有する。ＬＤ１１ａからの信号光は、光学系（図示省略）によって光コネクタ１９に結合され、当該光コネクタ１９を介して光ファイバＦに出力される。ＰＤ１１ｂは、ＬＤ１１ａからの出射光（例えば信号光の一部）を受光し、その光強度を検出し、強度に応じた出力電流信号を生成し、光量検知回路１６に出力される。
【００１４】
ＬＤ１１ａは、ＬＤ駆動回路１２に接続されている。ＬＤ駆動回路１２は、入力信号に応じてＬＤ１１ａを駆動し光出力させる回路であり、駆動電流（直流バイアス電流及び変調電流）をＬＤ１１ａに供給する。ＬＤ駆動回路１２は、差動入力端子１０ａ，１０ｂが接続されており、これらの端子１０ａ，１０ｂから差動入力信号Ｅ＋，Ｅ−を受け取り、それらの差信号に応じて変調された変調電流を生成する。そして、この変調電流をバイアス電流に重畳してＬＤ１１ａに供給する。これによりＬＤ１１ａが駆動され、変調電流に応じて変調された光信号がＬＤ１１ａから出力される。
【００１５】
ＬＤ駆動回路１２は、Ｄ／Ａ１４を介してコントローラ１３に接続されている。コントローラ１３は、駆動電流を制御する制御信号の生成処理及びＬＤ駆動回路１２への上記制御信号の供給処理を含む各種処理を実行する制御部である。コントローラ１３は、通常動作時、ＡＰＣ制御を実行して、ＬＤ１１ａの光出力の平均値を安定化させる。ＡＰＣ制御では、ＰＤ１１ｂによって測定されたＬＤ１１ａの光出力が所定の値と比較され両者の差に応じてバイアス電流と変調電流の大きさが調整される。なお、本発明の光データリンクのコントローラは、上述の通常動作における処理ではなく、ファームウェアの更新時の動作における処理に特徴があるものであるが、その特徴的な処理については後述する。
【００１６】
コントローラ１３は、バイアス電流及び変調電流それぞれの大きさに対応するデジタル値（駆動電流の制御信号）をＤ／Ａ１４に出力する。Ｄ／Ａ１４は、それらのデジタル値をアナログ信号に変換してＬＤ駆動回路１２に供給する。ＬＤ駆動回路１２は、これらのアナログ信号に従ってバイアス電流と変調電流の大きさを調整する。
【００１７】
さらに、コントローラ１３には、Ａ／Ｄ１５を介して光量検知回路１６が接続されている。
光量検知回路１６は、ＰＤ１１ｂの出力電流信号を、それに対応するアナログ電圧信号に変換する。Ａ／Ｄ１５は、上記アナログ電圧信号をデジタル値に変換し、コントローラ１３に送る。デジタル値は、上述のようにＰＤ１１ｂの出力電流信号に対応しており、したがって、ＰＤ１１ｂによって検出された光出力を示している。このデジタル値を以下では、出力モニタ値と呼ぶ。
【００１８】
また、コントローラ１３には、ＥＥＰＲＯＭ１７が接続されている。ＥＥＰＲＯＭ１７は、ファームウェアを記憶する記憶部である。なお、光データリンク１におけるファームウェアは、ＬＤ１１ａの信号光を所定の強度にするための制御信号の生成処理（すなわちＡＰＣ制御処理）を含む通常動作におけるコントローラ１３の処理を記述したもの、言い換えると、ＬＤ制御、モニタ制御など光送信動作に関わる処理を記述したアプリケーションプログラムを含むものである。ファームウェアは、例えば、光データリンク１の起動時及びファームウェア書き換え終了時に、コントローラ１３によってＥＥＰＲＯＭ１７から実行可能な形態でロードされる。つまり、ＥＥＰＲＯＭ１７から読み出され、当該コントローラ１３のＲＡＭ（Random Access Memory）１３ｃに展開されて実行される。
【００１９】
コントローラ１３及びＥＥＰＲＯＭ１７は、ホスト装置２との通信を行うためのシリアル通信（ポート）端子２０にスイッチ１８を介して接続されている。コントローラ１３は、通常動作時に、シリアル通信端子２０を介してホスト装置２から命令を受け取り、その命令に応答して、光データリンク１の動作状況を示すデータ（例えば、出力モニタ値）を、シリアル通信端子２０を通じて、ホスト装置２に出力する。一方、ＥＥＰＲＯＭ１７は、ファームウェアの更新時に、ホスト装置２からシリアル通信端子２０を介して新しいファームウェアを受信し、当該ファームウェアで古いファームウェアが書き換えられる。なお、光データリンク１とホスト装置２との間のシリアル通信端子２０を介した通信は、Ｉ２Ｃ、ＭＤＩＯ等の通信プロトコルを利用して行われる。
【００２０】
このようなシリアル通信端子２０とコントローラ１３及びＥＥＰＲＯＭ１７との間に位置するスイッチ１８は、当該端子２０の接続先を、コントローラ１３またはＥＥＰＲＯＭ１７に切り換える。スイッチ１８は、ファームウェアの書き換え中であることを通知するための信号（書換信号）の入力端子である書換信号端子２１が接続されており、書換信号の状態に応じて、接続先を切り替える。
【００２１】
上述のＥＥＰＲＯＭ１７やスイッチ１８等に接続されるコントローラ１３は、演算装置として、例えばＣＰＵ１３ａを有し、さらに、ファームウェアの更新時における当該コントローラ１３の処理を記述した更新用プラグラム等を記憶するフラッシュメモリ１３ｂを有する。フラッシュメモリ１３ｂには、上記更新用プラグラムの他に、光データリンク１の起動時のコントローラ１３の処理を記述した起動時プログラムが記憶される。これら更新用プログラムや起動時プログラム等の基本プログラムは、光データリンク１の起動時等に適宜、コントローラ１３によってフラッシュメモリ１３ｂから読み出され、当該コントローラ１３のＲＡＭ１３ｃに展開されて実行される。
【００２２】
ＲＡＭ１３ｃは、各種データを一時的に記憶する領域から構成され、更新用プログラムやファームウェアの展開領域として用いられ、さらに、上記更新プログラムやファームウェアに記述の処理を実行する際に使用するデータを格納するデータ領域としても用いられる。
このように構成されるコントローラ１３は、更新用プログラムをＣＰＵ１３ａで実行することにより、後述の更新用制御装置１３ｄとして機能する。
【００２３】
また、コントローラ１３には、上述のようにスイッチ１８にも接続される書換信号端子２１が接続されている。
この書換信号端子２１は、ファームウェアの書き換え中にホスト装置がコントローラ１３やスイッチ１８に書換信号を入力するためのものである。書換信号は、ファームウェアの書き換えをしている期間のみ入力され（アサートされ）、光データリンク１の通常動作中は入力が解除される（デアサートされる）。
【００２４】
書換信号の入力及び入力解除の前後のスイッチ１８及びコントローラ１３の動作は、以下で、図２を用いて説明するように、本発明における特徴的な動作であるファームウェア更新のための動作を含む。
スイッチ１８は、書換信号の入力が解除されているとき、シリアル通信端子２０の接続先をコントローラ１３にし、書換信号が入力されているときは、接続先をＥＥＰＲＯＭ１７にし、ホスト装置２によるＥＥＰＲＯＭ１７内のファームウェアの書き換えを可能とする。
【００２５】
コントローラ１３は、ファームウェア更新のため、更新用プログラムを実行することにより、信号入力／入力解除検出手段２２、出力値保存手段２３、固定値制御手段２４、ファームウェア制御再開手段２５を有する更新用制御装置１３ｄとして機能する。
信号入力／入力解除検出手段２２は、書換信号の入力及び入力解除を検出する。出力値保存手段２３は、所定のタイミングで（例えば、上記検出手段２２が書換信号の入力を検出したとき（すなわち書換信号を受信したとき））、その時のファームウェアによる制御に関わる出力値を保存する。また、固定値制御手段２４は、ＥＥＰＲＯＭ１７に記録されているファームウェアを、ホスト装置から送信される新ファームウェアへ書き換えている間は、ファームウェアによる制御を停止して上記出力値を出力値保存手段２３が保存した出力値で固定するよう制御する。ファームウェア制御再開手段２５は、信号入力／入力解除検出手段２２で書換信号の入力解除が検出され、新ファームウェアへの書き換え終了が検知されると、固定値制御手段２４による制御を停止し、該新ファームウェアによる制御を実行（開始）する。
【００２６】
このように機能するコントローラ１３は、書換信号の入力が解除されているとき、Ａ／Ｄ１５からの出力モニタ値に基づいてファームウェアに記述のＡＰＣ制御処理を実行し、また、上記シリアル通信端子２０を介してホスト装置２から命令を受け取った場合は、その命令に応答して、ホスト装置２に出力モニタ値等を出力する。
【００２７】
また、コントローラ１３は、書換信号が入力された時に、その時のファームウェアによる制御に関わる出力値を保存し、そのファームウェアによる制御を停止して上記出力値を保存した値に固定する。より具体的には、ファームウェアに記述のＡＰＣ制御処理を停止させ、ＡＰＣ制御処理停止直前の駆動電流の制御信号をＤ／Ａ１４（すなわちＬＤ駆動回路１２）に継続入力し、ＬＤ１１ａから信号光の出射を継続させる。そして、コントローラ１３は、書換信号の入力が解除されると、書き換えられたファームウェアをＥＥＰＲＯＭ１７から読み出し、当該新ファームウェアに記述のＡＰＣ制御処理を開始する。当該新ファームウェアのＡＰＣ制御処理を開始するまでの間、上述の制御信号の入力及び信号光の送信は継続して行われる。
【００２８】
以上のような、スイッチ１８やコントローラ１３の動作により、ファームウェアの更新が行われる。
本光データリンク１では、上述のように、ホスト装置２からのファームウェアの書き換えを可能とし、また、ファームウェアの更新のためにＡＰＣ制御処理を停止している間は、停止直前の駆動電流値をＬＤ駆動回路１２に供給し続けるようにしたので、ホスト装置２から取り外すことなく、また、光通信をダウンさせることなく、ファームウェアの更新を行うことができる。
【００２９】
次に、図１の光データリンク１のファームウェアの更新方法の一例について、図３のフローチャートを用いて説明する。
ファームウェアを更新する場合、図示するように、まず、ホスト装置２が、光データリンク１のスイッチ１８とコントローラ１３とに書換信号端子２１を介して書換信号を入力する（ステップＳ１）。
【００３０】
書換信号が入力されたスイッチ１８が、シリアル通信端子２０の接続先をＥＥＰＲＯＭ１７に切り換える（ステップＳ２）ので、ホスト装置２は、ＥＥＰＲＯＭ１７に格納されていたファームウェアを消去させ、新しいファームウェアのＥＥＰＲＯＭ１７への送信を開始し、ファームウェアの書き換えを開始する（ステップＳ３）。
また、スイッチ１８に入力された書換信号は上述のようにコントローラ１３にも接続されており、当該コントローラ１３は、ＲＡＭ１３ｃ上に展開された更新用プログラムに従って、書換信号の入力後に、新ファームウェア展開前処理を実行する（ステップＳ４）。この新ファームウェア展開前処理は、新ファームウェアを読み込んで展開するときに光通信を停止させないための処理であり、旧ファームウェアに従ったＡＰＣ制御処理の停止処理、停止前の最終の制御信号（Ｄ／Ａ値）の保存処理と、保存した制御信号を固定値とした固定値制御処理（オープンループ制御処理）を含む。言い換えると、更新用制御装置１３ｄの出力値保存手段２３や固定値制御手段２４として行う処理を含む。
【００３１】
この新ファームウェア展開前処理は、例えば、書換信号の入力直後に開始され、その場合、光データリンク１における制御信号（すなわちＬＤ１１ａの駆動電流）は、書換信号が入力される直前のもので固定される。ＬＤ１１ａは、周囲環境温度が一定の条件下では、バイアス電流、変調電流は固定されていても、光信号品質は保たれる。ファームウェアを更新する時間（高々１０秒）内に周囲温度が急激に変化することは考えられず、固定値制御処理でも十分に実用に足りる光信号品質は保たれる。
【００３２】
ホスト装置２は、新ファームウェアのＥＥＰＲＯＭ１７への書き込みが終了しファームウェアの書き換えが終了した後に、書換信号の入力を解除する（ステップＳ５）。光データリンク１のコントローラ１３は、書換信号の入力の解除を検知した後、新ファームウェアをＥＥＰＲＯＭ１７から読み出し、ＲＡＭ１３ｃ上に展開する（ステップＳ６）。展開後、コントローラ１３は、保存したＡＰＣ制御処理の停止前の最終の制御信号（Ｄ／Ａ値）をスタート値として、新ファームウェアに従ったＡＰＣ制御処理を開始する（ステップＳ７）。これで、ファームウェアの更新が完了する。なお、ステップＳ６、ステップＳ７の処理も更新用プログラムに記述されるものであり、これらの処理は、コントローラ１３が更新用制御装置１３ｄのファームウェア制御再開手段２５として行うものである。また、更新完了時、書換信号の入力が解除されたスイッチ１８により、シリアル通信端子２０の接続先はコントローラ１３に切り換えられている。
【００３３】
なお、以上では、光送信装置を送信機能のみ持つ光データリンクに適用した例で説明したが、本発明の光送信装置は、送信及び受信の両方の機能を持つ光トランシーバにも適用することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の光送信装置の構成例を説明するブロック図である。
【図２】本発明の光送信装置の特徴的な動作を説明するためのブロック図である。
【図３】図１の光送信装置のファームウェアの更新方法の一例について説明するフローチャートである。
【図４】従来の光送信装置の構成例を説明するブロック図である。
【符号の説明】
【００３５】
１…光データリンク、２…ホスト装置、１０ａ，１０ｂ…差動入力端子、１１…送信用光モジュール、１１ａ…ＬＤ、１１ｂ…ＰＤ、１２…ＬＤ駆動回路、１３…コントローラ、１３ａ…ＣＰＵ、１３ｂ…フラッシュメモリ、１３ｃ…ＲＡＭ、１３ｄ…更新用制御装置、１４…Ｄ／Ａ、１５…Ａ／Ｄ、１６…光量検知回路、１７…ＥＥＰＲＯＭ、１８…スイッチ、１９…光コネクタ、２０…シリアル通信端子、２１…書換信号端子、２２…信号入力／入力解除検出手段、２３…出力値保存手段、２４…固定値制御手段、２５…ファームウェア制御再開手段。
【図１】
2010130316.tif 000003
【図２】
2010130316.tif 000004
【図３】
2010130316.tif 000005
【図４】
2010130316.tif 000006