(57)【要約】【課題】複数の処理部を備える光トランシーバの外部装置との通信における遅延を抑制すること。【解決手段】第１電気信号を第１光信号に変換する光送信回路と、第２光信号を第２電気信号に変換する光受信回路と、第１アドレス領域に含まれる第１ＭＤＩＯレジスタを有し、光送信回路および光受信回路のうち一部を制御する第１処理部と、第２アドレス領域に含まれる第２ＭＤＩＯレジスタを有し、光送信回路および光受信回路のうち別の一部を制御する第２処理部と、外部装置と第１処理部および第２処理部とを接続するＭＤＩＯ通信バスと、を備え、第１処理部は、外部装置からＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報に基づき、アドレス情報が第１アドレス領域に含まれるときは、第１処理部がＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答し、アドレス情報が第２アドレス領域に含まれるときは、第２処理部にＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答させる、光トランシーバ。【選択図】図１
2019133417.tif 000002
【特許請求の範囲】
【請求項１】
第１電気信号を第１光信号に変換する光送信回路と、
第２光信号を第２電気信号に変換する光受信回路と、
第１アドレス領域に含まれる第１ＭＤＩＯレジスタを有し、前記光送信回路および前記光受信回路のうち一部を制御する第１処理部と、
第２アドレス領域に含まれる第２ＭＤＩＯレジスタを有し、前記光送信回路および前記光受信回路のうち別の一部を制御する第２処理部と、
外部装置と前記第１処理部および前記第２処理部とを接続するＭＤＩＯ通信バスと、
を備え、
前記第１処理部は、前記外部装置から前記ＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報に基づき、前記アドレス情報が前記第１アドレス領域に含まれるときは、前記第１処理部が前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答し、前記アドレス情報が前記第２アドレス領域に含まれるときは、前記第２処理部に前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答させる、光トランシーバ。
【請求項２】
前記第１ＭＤＩＯレジスタは、前記光送信回路および前記光受信回路のうち前記一部を制御するための情報を保持し、
前記第２ＭＤＩＯレジスタは、前記光送信回路および前記光受信回路のうち前記別の一部を制御するための情報を保持する請求項１に記載の光トランシーバ。
【請求項３】
前記ＭＤＩＯ通信バスを介し前記外部装置から伝送された前記第１処理部のファームウェアを格納するためのメモリをさらに備え、
前記第１処理部は、前記外部装置から受信した前記ファームウェアの分割データを前記メモリに保存し、前記メモリ内に前記ファームウェアが再構成されたときに、前記第２処理部に前記ＭＤＩＯ通信バスを介して前記外部装置と通信させ、並行して前記メモリ内に再構成された前記ファームウェアを取得する、請求項２に記載の光トランシーバ。
【請求項４】
第１電気信号を第１光信号に変換する光送信回路と、第２光信号を第２電気信号に変換する光受信回路と、前記光送信回路および前記光受信回路のうち一部を制御する第１処理部と、前記光送信回路および前記光受信回路のうち別の一部を制御する第２処理部と、外部装置と前記第１処理部および前記第２処理部とを接続するＭＤＩＯ通信バスと、を備える光トランシーバの制御方法であって、
前記外部装置から前記ＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報が前記第１処理部の有するＭＤＩＯレジスタを含むアドレス領域に含まれるとき、選択信号を第１値に設定し、前記ＭＤＩＯフレームに含まれるアドレス情報が前記第２処理部の有するＭＤＩＯレジスタを含むアドレス領域に含まれるとき、前記選択信号を第２値に設定するステップと、
前記選択信号が前記第１値に設定されているとき、前記第１処理部が前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答し、前記選択信号が前記第２値に設定されてとき、前記第２処理部が前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答するステップと、
を含む光トランシーバの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光トランシーバおよびその制御方法に関し、例えば複数の処理部を有する光トランシーバおよびその制御方法に関する。
【背景技術】
【０００２】
光トランシーバは、入力された電気信号を光信号に変換して送信し、受信した光信号を電気信号に変換して出力する。光トランシーバが複数の処理部を有することが知られている（例えば特許文献１）。光トランシーバがファームウェアを実装することが知られている（例えば特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２９７６８２号公報
【特許文献２】特表２００８−５１２９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
光トランシーバが複数の処理部を備える場合、外部装置とのシリアル通信は、例えば複数の処理部のうち１つの処理部が行う。複数の処理部のうち他の処理部の処理する情報に関して１つの処理部が外部装置と通信を行う場合、一つの処理部が他の処理部にアクセスするための通信が必要となり、その通信に要する時間により外部装置との通信に遅延が生じ得る。
【０００５】
本発明は、複数の処理部を備える光トランシーバの外部装置との通信における遅延を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
本願発明の一実施形態は、第１電気信号を第１光信号に変換する光送信回路と、第２光信号を第２電気信号に変換する光受信回路と、第１アドレス領域に含まれる第１ＭＤＩＯレジスタを有し、前記光送信回路および前記光受信回路のうち一部を制御する第１処理部と、第２アドレス領域に含まれる第２ＭＤＩＯレジスタを有し、前記光送信回路および前記光受信回路のうち別の一部を制御する第２処理部と、外部装置と前記第１処理部および前記第２処理部とを接続するＭＤＩＯ通信バスと、を備え、前記第１処理部は、前記外部装置から前記ＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報に基づき、前記アドレス情報が前記第１アドレス領域に含まれるときは、前記第１処理部が前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答し、前記アドレス情報が前記第２アドレス領域に含まれるときは、前記第２処理部に前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答させる、光トランシーバである。
【発明の効果】
【０００７】
本発明の一実施形態によれば、複数の処理部を備える光トランシーバの外部装置との通信における遅延を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１に係る光トランシーバの構成を示すブロック図である。
【図２】図２は、実施例１における処理部の内部構成を示すブロック図である。
【図３】図３（ａ）は、実施例１におけるＭＤＩＯフレームを示す図、図３（ｂ）は、ＭＤＩＯフレームにて使用されるオペレーションコードＯＰおよびアドレス／データの種別を示す表である。
【図４】図４は、実施例１においてＭＤＩＯレジスタに保持されている情報の例である。
【図５】図５は、実施例１における処理部１０の処理を示すフローチャートである。
【図６】図６は、実施例１における処理部１２の処理を示すフローチャートである。
【図７】図７は、実施例１における処理部１０および１２の処理を示すタイミングチャートである。
【図８】図８は、実施例２における処理部内のＲＯＭの領域を示す図である。
【図９】図９は、実施例２における処理部１０の処理を示すフローチャートである。
【図１０】図１０は、実施例２における処理を示すシーケンス図である。
【図１１】図１１は、比較例１に係る光トランシーバのブロック図である。
【発明を実施するための形態】
【０００９】
［本願発明の実施形態の説明］
最初に本願発明の実施形態の内容を列記して説明する。
【００１０】
（１）本願発明の一実施形態は、第１電気信号を第１光信号に変換する光送信回路と、第２光信号を第２電気信号に変換する光受信回路と、第１アドレス領域に含まれる第１ＭＤＩＯレジスタを有し、前記光送信回路および前記光受信回路のうち一部を制御する第１処理部と、第２アドレス領域に含まれる第２ＭＤＩＯレジスタを有し、前記光送信回路および前記光受信回路のうち別の一部を制御する第２処理部と、外部装置と前記第１処理部および前記第２処理部とを接続するＭＤＩＯ通信バスと、を備え、前記第１処理部は、前記外部装置から前記ＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報に基づき、前記アドレス情報が前記第１アドレス領域に含まれるときは、前記第１処理部が前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答し、前記アドレス情報が前記第２アドレス領域に含まれるときは、前記第２処理部に前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答させる、光トランシーバである。これにより、外部装置と光トランシーバとの間の通信の遅延を抑制することができる。
（２）前記第１ＭＤＩＯレジスタは、前記光送信回路および前記光受信回路のうち前記一部を制御するための情報を保持し、前記第２ＭＤＩＯレジスタは、前記光送信回路および前記光受信回路のうち前記別の一部を制御するための情報を保持してもよい。これにより、第１処理部は、外部装置とＭＤＩＯシリアル通信バスを介し通信を行う処理部を適切に選択することができる。
（３）前記ＭＤＩＯ通信バスを介し前記外部装置から伝送された前記第１処理部のファームウェアを格納するためのメモリをさらに備え、前記第１処理部は、前記外部装置から受信した前記ファームウェアの分割データを前記メモリに保存し、前記メモリ内に前記ファームウェアが再構成されたときに、前記第２処理部に前記ＭＤＩＯ通信バスを介して前記外部装置と通信させ、並行して前記メモリ内に再構成された前記ファームウェアを取得することが好ましい。これにより、メモリに保存したファームウェアを処理部に書き込んでいる間に、外部装置から問い合わせがあっても、他の処理部が応答することができる。
（４）本願発明の一実施形態は、第１電気信号を第１光信号に変換する光送信回路と、第２光信号を第２電気信号に変換する光受信回路と、前記光送信回路および前記光受信回路のうち一部を制御する第１処理部と、前記光送信回路および前記光受信回路のうち別の一部を制御する第２処理部と、外部装置と前記第１処理部および前記第２処理部とを接続するＭＤＩＯ通信バスと、を備える光トランシーバの制御方法であって、前記外部装置から前記ＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報が前記第１処理部の有するＭＤＩＯレジスタを含むアドレス領域に含まれるとき、選択信号を第１値に設定し、前記ＭＤＩＯフレームに含まれるアドレス情報が前記第２処理部の有するＭＤＩＯレジスタを含むアドレス領域に含まれるとき、前記選択信号を第２値に設定するステップと、前記選択信号が前記第１値に設定されているとき、前記第１処理部が前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答し、前記選択信号が前記第２値に設定されてとき、前記第２処理部が前記ＭＤＩＯフレームの次に受信するＭＤＩＯフレームに対して応答するステップと、を含む光トランシーバの制御方法である。
【００１１】
［本願発明の実施形態の詳細］
本発明の実施形態にかかる光モジュールの具体例を、以下に図面を参照しつつ説明する。図面の説明において、同一又は相当する要素には同一の符号を付し、重複する説明を省略する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【実施例１】
【００１２】
実施例として、業界規格のＣＦＰ（100G Form-factor Pluggable）４  ＭＳＡ（Multi-Source Agreement）に準拠する１００Ｇｂｐｓ用光トランシーバを例に説明する。光トランシーバは、送信部および受信部を備える。送信部および受信部は、それぞれが４つのレーンを有する。それぞれのレーンの伝送速度は例えば２５Ｇｂｐｓである。レーンは、例えば、情報を伝送するための電気信号、または電気信号の経路を意味する。一つのレーンは、他のレーンと独立な情報を伝送する。ＣＦＰ４  ＭＳＡ以外の規格に準拠する場合には、レーン数は４レーン以外でもよく、規格に応じて例えば８レーン、１０レーンまたは１６レーンでもよい。
【００１３】
［ブロック図の説明］
図１は、実施例１に係る光トランシーバの構成を示すブロック図である。図１に示すように、実施例１に係る光トランシーバ１００は、処理部１０、１２、メモリ１４、光送信回路（送信部）１６および光受信回路（受信部）１８を備えている。処理部１０は、例えばＣＰＵ（Central Processing Unit）またはマイクロコンピュータ等のプロセッシングユニットであり、例えば光送信回路（送信部）１６を制御する。処理部１２は、例えばＣＰＵ（Central Processing Unit）またはマイクロコンピュータ等のプロセッシングユニットであり、光受信回路１８（受信部）を制御する。
【００１４】
処理部１０と１２は、例えば、ＰＬＤ（Programmable Logic Device）、ＣＰＬＤ（Complex Programmable Logic Device）、およびＦＰＧＡ（Field Programmable Gate Array）などのプログラム可能なロジックデバイスであってもよい。プログラマブルロジックデバイスは、ファームウェアの代わりに内部の回路構成を指定する回路情報を変更することによって機能を変更したり、追加したりすることができる。プログラマブルロジックデバイスには、マイクロコンピュータと同様に内部に不揮発性メモリ（例えばフラッシュＲＯＭ（Read-Only Memory））を備え、マイクロコンピュータのファームウェアの書き換えと同様に回路情報の書き換えを行うものがある。
【００１５】
メモリ１４は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の不揮発性メモリであり、初期設定および／または制御に用いるデータおよび／またはファームウェアを記憶することができる。
【００１６】
光送信回路１６は、外部装置である制御装置３０から伝送された４レーンの電気信号を互いに異なる波長を有する４つの光信号に変換し、それら４つの光信号を１つの波長分割多重（ＷＤＭ：Wavelength Division Multiplexing）信号に波長多重し光ファイバ（不図示）に出力する。光送信回路１６は、例えば信号処理回路２０、駆動回路２１および発光回路２２を備えている。信号処理回路２０は、例えばＣＤＲ（Clock Data Recovery）回路であり、制御装置３０から伝送された４つのレーンの電気信号を処理する。電気信号の処理としては、例えば波形整形およびタイミング再生である。駆動回路２１は、例えばＬＤＤ(Laser Diode Driver)回路であり、信号処理回路２０が処理した電気信号を増幅して駆動信号を生成し、駆動信号によって発光回路２２を駆動する。発光回路２２は、例えばＴＯＳＡ（Transmitter Optical Subassembly）であり、駆動回路２１から入力された駆動信号によって光信号を変調し、変調された光信号を多重化して光ファイバ等の光導波路（図示せず）に出力する。光信号は波長分割多重信号（ＷＤＭ信号）となる。
【００１７】
受光回路２３は、光ファイバ等から受信した光信号（波長多重分割信号）を４レーンの電気信号に変換し制御装置３０に出力する。光受信回路１８は、例えば、受光回路２３、増幅回路２４および信号処理回路２５を備えている。受光回路２３は、例えばＲＯＳＡ（Receiver Optical Subassembly）であり、光ファイバを伝送した光信号（波長多重分割信号）を４レーンの電流信号（光電流）に変換する。増幅回路２４は、例えばＴＩＡ（Transimpedance. Amplifier）であり、受光回路２３が変換した電流信号を電圧信号に変換する。信号処理回路２５は変換された電圧信号を処理し、制御装置３０に出力する。
【００１８】
制御装置３０と処理部１０および１２とは、ＭＤＩＯ（Management Data Input/Output）通信バス等のシリアル通信バスを介して電気的に接続されている。処理部１０および１２はシリアル通信バスに並列に接続（バス接続）されている。ＭＤＩＯ通信バスは、クロック信号線ＭＤＣとデータ信号線ＭＤＩＯを含んでいる。クロック信号線ＭＤＣは、同期を取るための一定周期の繰り返し信号（クロック信号）を伝送する。データ信号線ＭＤＩＯは、クロック信号線ＭＤＣのクロック信号に同期した２値のデジタル信号（データ信号）であり、後述するＭＤＩＯフレームはデータ信号線ＭＤＩＯによって伝送される。
【００１９】
ＰＲＴＡＤＲは、ＭＤＩＯ通信のための光トランシーバ１００のアドレスを指定する信号線である。ＰＲＴＡＤＲは、５本の信号線を有する。処理部１０は、Ｉ２Ｃ（Inter-integrated Circuit）等のシリアル通信によって信号処理回路２０および駆動回路２１と通信する。例えば、処理部１０は、Ｉ２Ｃバスを介して信号処理回路２０および駆動回路２１と電気的に接続されている。また、処理部１０は、ＴｘＤＩＳＡＢＬＥ信号を用い駆動回路２１内の特定のレーンを非活性化する。非活性化によって特定のレーンに対応する光信号の送信が停止される。さらに、処理部１０は、光送信回路１６からＴｘバイアスモニタ値およびＴｘパワーモニタ値等のモニタ値および／または信号を取得する。Ｔｘバイアスモニタ値は、例えば発光回路２２が備える４つのレーンのレーザダイオードのバイアス電流の大きさを検出した値である。Ｔｘパワーモニタ値は、発光回路２２から出力される光信号（波長分割多重信号）の強度を検出した値である。なお、Ｔｘパワーモニタ値は、波長分割多重信号に含まれる４つのレーンの光信号のそれぞれの強度を検出した値でもよい。
【００２０】
処理部１２は、Ｉ２Ｃ等のシリアル通信によって信号処理回路２５および増幅回路２４と通信する。例えば、処理部１２は、Ｉ２Ｃバスを介して信号処理回路２５および増幅回路２４と電気的に接続されている。また、処理部１２は、光受信回路１８からＲｘパワーモニタ値およびＲｘＬＯＳ（Lost of Signal）信号等のモニタ値および／または信号を取得する。Ｒｘパワーモニタ値は、例えば４つのレーンの光信号の強度を検出した値である。ＲｘＬＯＳ信号は、光受信回路１８の４つのレーンの光信号の強度が所定値以下であることを示す信号である。処理部１２は、制御装置３０にＲｘＬＯＳ信号を出力する。ＲｘＬＯＳ信号は、光ファイバから受光回路２３が受信している光信号が消失した（強度が所定の値よりも小さい状態になった）ことを警告するためのものである。ＲｘＬＯＳ信号は、緊急性の高い信号のためシリアル通信バスを介さずに制御装置３０に出力される。例えば、ＲｘＬＯＳ信号はバイナリ信号で、正常時は“Ｈ”となっており、異常時に“Ｌ”となる。
【００２１】
処理部１０および処理部１２はＳＰＩ（Serial Peripheral Interface）等のシリアル通信によってメモリ１４と通信する。例えば、処理部１０および処理部１２は、Ｉ２Ｃバスを介してメモリ１４と電気的に接続されている。処理部１０と１２との間は選択線により接続されている。処理部１０は、選択線を用いて選択信号（ハイレベルまたはローレベル）を処理部１２に送信する。選択信号については、後で詳細に説明する。
【００２２】
［処理部の説明］
図２は、実施例１における処理部の内部構成を示すブロック図である。図２に示すように、処理部１０および１２は、プロセッサ（演算回路）４０、記憶回路４１、温度センサ４４ａ、通信インターフェース（Ｉ／Ｆ）４４ｂ−４４ｄ、タイマカウント４４ｅ、ＡＤＣ（アナログ／デジタル変換回路）４４ｆ、外部入力回路４４ｇ、外部出力回路４４ｈ、選択線４４ｉおよび内部バス４６を備える。プロセッサ４０は例えばＣＰＵコアであり、記憶回路４１に格納されたプログラム（ファームウェア）を実行して各種処理を行なう。記憶回路４１は、ＲＯＭ（Read Only Memory）４１ａおよびＲＡＭ（Random Access Memory）４１ｂを備える。ＲＯＭ４１ａは各種データ４２ａおよびファームウェア等のプログラム４２ｂを格納する。ＲＯＭ４１ａは、例えばフラッシュメモリである。
【００２３】
温度センサ４４ａは処理部内の温度を検知し、プロセッサ４０からの問合せに応じて温度情報をプロセッサ４０に出力する。通信Ｉ／Ｆ４４ｂは例えばＭＤＩＯ用インターフェースであり、制御装置３０と通信を行なうためのインターフェースである。通信Ｉ／Ｆ４４ｃは、例えばＩ２Ｃ用インターフェースであり、光送信回路１６または光受信回路１８と通信等を行なうためのインターフェースである。通信Ｉ／Ｆ４４ｄは、例えばＳＰＩ用インターフェースであり、処理部１２または１０がメモリ１４と通信を行うためのインターフェースである。
【００２４】
タイマカウント４４ｅは、例えばカウンタ回路を使用したタイマーである。タイマカウント４４ｅは、カウントの数に応じて所定の時間を計測したり、設定した時間に割込み処理を発生させる。ＡＤＣ４４ｆは、光送信回路１６または光受信回路１８から入力されるアナログ信号をデジタル信号に変換する。デジタル信号に変換されるアナログ信号としては、例えばＴｘバイアスモニタ値、Ｔｘパワーモニタ値およびＲｘパワーモニタ値等である。外部入力回路４４ｇは、制御装置３０からＰＲＴＡＤＲ等を受信する。外部出力回路４４ｈは、制御装置３０にＲｘＬＯＳ等のアラーム信号を出力する。選択線４４ｉは、処理部１０のとき処理部１２に選択信号を出力し、処理部１２のとき処理部１０から選択信号が入力する。
【００２５】
処理部１０および１２のＲＡＭ４１ｂはＭＤＩＯレジスタを有する。制御装置３０から光トランシーバ１００に特定の動作を行わせるための情報（制御コマンド）を入力したり、制御コマンドに応じて光トランシーバ１００から制御装置３０へ内部の動作状態に関する情報を出力したりする際に、ＭＤＩＯレジスタがそれらの情報のやり取りに使用される。より詳細には、ＭＤＩＯレジスタ空間内の特定のＭＤＩＯレジスタをアドレスによって指定し、その指定されたＭＤＩＯレジスタへの情報（例えば、制御コマンド）の書き込みとＭＤＩＯレジスタに格納されている情報（例えば、制御データ）の読み出しとによって制御装置３０による光トランシーバ１００の監視および制御が行われる。制御データおよび制御コマンドとＭＤＩＯレジスタ領域との関係は、例えば業界規格であるＣＦＰ  ＭＳＡ（Multiple Source Agreement）にて規定されている。
【００２６】
［ＭＤＩＯフレームの説明］
次に、制御装置３０からの処理部１０および１２内のＭＤＩＯレジスタの読み書きに係るＭＤＩＯフレームの構成について説明する。図３（ａ）は、実施例１におけるＭＤＩＯフレームを示す図、図３（ｂ）は、ＭＤＩＯフレームにて使用されるオペレーションコードＯＰおよびアドレス／データの種別を示す表である。図３（ａ）に示すように、ＭＤＩＯフレーム５０は全長６４ビットのバイナリデータによって構成される。ＭＤＩＯフレーム５０内の所定の位置に２ビットのオペレーションコードＯＰ５２と１６ビットのアドレス／データ５４とが含まれる。なお、この１６ビットのバイナリデータをペイロードと呼ぶ。
【００２７】
図３（ｂ）に示すように、ＯＰ５２の２ビットが「００ｂ」のとき、アクセスタイプ（ＭＤＩＯレジスタに対する操作）は「アドレス」となる。ｂは数値がバイナリ（２進数）であることを意味する。このとき、制御装置３０から処理部１０に送信されるペイロードには特定のＭＤＩＯレジスタのアドレスが格納される。ＯＰ５２の２ビットが「０１ｂ」のとき、アクセスタイプは「ライト」となる。このとき、制御装置３０から処理部１０に送信されるペイロードには１６ビットのデータが格納される。このデータは、先に「アドレス」によって指定された特定のＭＤＩＯレジスタに書き込まれる。
【００２８】
ＯＰ５２の２ビットが「１１ｂ」のとき、アクセスタイプは「リード」となる。このとき、先に「アドレス」によって指定された特定のＭＤＩＯレジスタに格納されているデータが処理部１０から制御装置３０にペイロードの位置（２ビットのターンアラウンドＴＡの直後）に合わせて送信される。すなわち、読み出しが行われる。ＯＰ５２の２ビットが「１０ｂ」のとき、アクセスタイプは「リードインクリメントアドレス」である。このとき、上述の「リード」と同様に読み出しが行われるが、読み出した後に今読み出したＭＤＩＯレジスタの次のアドレスが指定された状態となる（読み出し後にアドレスが１つ増える）。
【００２９】
ＣＦＰのＭＤＩＯインターフェース仕様では、ＭＤＩＯフレーム５０には、ＯＰ５２およびアドレス／データ５４以外に５ビットの物理ポートアドレス（ＰＨＹＡＤＲ）および５ビットのＭＤＩＯデバイスアドレス（ＤＥＶＡＤＲ）が含まれる。
【００３０】
［ＭＤＩＯレジスタの説明］
図４は、実施例１においてＭＤＩＯレジスタに保持されている情報の例である。図４に示すように、ＭＤＩＯレジスタのアドレスＡ２Ａ０ｈからＡ２Ａ３ｈには、レーン０からレーン３のＴｘバイアスモニタ値が割り当てられている。アドレスＡ２Ｂ０ｈからＡ２Ｂ３ｈには、レーン０からレーン３のＴｘパワーモニタ値が割り当てられている。アドレスＡ２Ｃ０ｈからＡ２Ｃ３ｈには、レーン０からレーン３のレーザダイオードの温度のモニタ値であるＬＤ温度モニタ値が割り当てられている。アドレスＡ２Ｄ０ｈからＡ２Ｄ３ｈには、レーン０からレーン３のＲｘパワーモニタ値が割り当てられている。ＭＤＩＯレジスタのうち例えば領域（第１ＭＤＩＯアドレス領域）５６には光送信回路１６に関する制御コマンド（設定値）および制御データ（モニタ値）等が保持されている。処理部１０は、領域５６に含まれるＭＤＩＯレジスタ（第１ＭＤＩＯレジスタ）を有する。例えば領域（第２ＭＤＩＯアドレス領域）５８には光受信回路１８に関する制御コマンド（設定値）および制御データ（モニタ値）等が保持されている。処理部１２は、領域５８に含まれるＭＤＩＯレジスタ（第２ＭＤＩＯレジスタ）を有する。なお、ＭＤＩＯアドレス領域５６および５８は、各々連続したアドレス領域で構成されずに、互いに不連続な複数のアドレス領域によって構成されていてもよい。
【００３１】
［選択処理の説明］
図５は、実施例１における処理部１０の処理を示すフローチャートである。図５に示すように、制御装置３０から処理部１０にＭＤＩＯフレーム５０が入力される（ステップＳ１０）。処理部１０は、ＯＰ５２がアドレスか否か判定する（ステップＳ１２）。処理部１０は、ＯＰ５２が「００ｂ」のときＹｅｓと判定し、「００ｂ」以外のときＮｏと判定する。Ｙｅｓのとき、処理部１０は、フレーム５０内のアドレス／データ５４のアドレスを取得し処理部１０内のＲＡＭ４１ｂの所定のレジスタ（ＭＤＩＯアドレスレジスタ）に保持する（ステップＳ１４）。処理部１０は、受信したＭＤＩＯフレーム５０のアドレス／データ５４のアドレスが図４の領域５６および５８のいずれの領域に含まれるかを判定する（ステップＳ１６）。処理部１０は、領域５６と判定したとき、選択信号をローレベルとする（ステップＳ１８）。処理部１０は、領域５８と判定したとき、選択信号をハイレベルとする（ステップＳ２０）。その後終了する。なお、領域５６および５８は、光送信回路１６および光受信回路１８に係る情報だけに限定せず、他の情報を含んでいてもよい。例えば、領域５６は、処理部１０によって扱われる情報を含むＭＤＩＯレジスタの領域であり、領域５８は、処理部１２によって扱われる情報を含むＭＤＩＯレジスタの領域であるとして設定されてもよい。
【００３２】
ステップＳ１２においてＮｏのとき、処理部１０は、指定されているＭＤＩＯレジスタのアドレスに応じて選択信号をローレベルかハイレベルに設定する（ステップＳ２２）。選択信号をローレベルに設定したとき、処理部１０は、ステップＳ１４において指定されたアドレスにペイロードのデータを格納（ライト）するか、または、指定されたアドレスからデータを読み出し、制御装置３０に送信する（ステップＳ２４）。選択信号をハイレベルに設定したとき、処理部１０は、返信データ用レジスタに「ＦＦＦＦｈ」をセットする（ステップＳ２６）。その後終了する。ｈは、数値が１６進数であることを意味する。
【００３３】
図６は、実施例１における処理部１２の処理を示すフローチャートである。図６に示すように、処理部１２にＭＤＩＯフレーム５０が入力する（ステップＳ３０）。処理部１２は、ＯＰ５２がアドレスか否か判定する（ステップＳ３２）。処理部１０は、ＯＰ５２が「００ｂ」のときＹｅｓと判定し、「００ｂ」以外のときＮｏと判定する。Ｙｅｓのとき、処理部１２は、アドレス／データ５４のアドレスを取得し処理部１２内のＲＡＭ４１ｂの所定のレジスタ（ＭＤＩＯアドレスレジスタ）に保持する（ステップＳ３４）。その後終了する。
【００３４】
ステップＳ３２においてＮｏのとき、処理部１２は、処理部１０から送信された選択信号がローレベルかハイレベルか判定する（ステップＳ３６）。選択信号がローレベルのとき、処理部１２は、返信データ用レジスタに「ＦＦＦＦｈ」をセットする（ステップＳ３８）。選択信号がハイレベルのとき、処理部１２は、ステップＳ３４において指定されたアドレスにペイロードのデータを格納（ライト）するか、または、指定されたアドレスからデータを読み出し、制御装置３０に送信する（ステップＳ４０）。その後終了する
【００３５】
図７は、実施例１における処理部１０および１２の処理を示すタイミングチャートである。図７に示すように、選択信号は例えば最初ローレベルである。処理部１０にＭＤＩＯフレーム５０ａが入力される（図５のステップＳ１０および図６のステップＳ３０）。ＯＰ５２は「００ｂ」であり、アドレス／データ（ペイロード）５４はアドレス情報であり、例えば「Ａ２Ｃ３ｈ」である。処理部１０は、図５のステップＳ１２においてＹｅｓと判定する。処理部１０は、図５のステップＳ１４において所定のレジスタ（ＭＤＩＯアドレスレジスタ）にアドレス情報「Ａ２Ｃ３ｈ」を保持する。処理部１０は、図５のステップＳ１６において領域５６か５８かを判定する。図４においてレジスタアドレス情報「Ａ２Ｃ３ｈ」は領域５６に含まれる。よって、処理部１０は、領域５６と判定する。処理部１０は、図５のステップＳ１８において、選択信号をローレベルに設定する。処理部１２は、図６のステップＳ３２においてＹｅｓと判定し、ステップＳ３４において所定のレジスタ（ＭＤＩＯアドレスレジスタ）にアドレス情報「Ａ２Ｃ３ｈ」を保持する。処理部１０および１２は、制御装置３０からＭＤＩＯ通信バスを介して同じＭＤＩＯフレーム５０ａを受ける。より詳細には、処理部１０および１２は、それぞれ、クロック信号線ＭＤＣから同一のクロック信号を受け、データ信号線ＭＤＩＯから同一のデータ信号を受ける。従って、処理部１０および１２は、ほぼ同じタイミングでほぼ同じ速度でＭＤＩＯフレームに応じた処理を並行して行う。
【００３６】
図７のように、次にＭＤＩＯフレーム５０ｂが入力する。フレーム５０ｂのＯＰ５２は「１１ｂ」（リード）である。処理部１０は、図５のステップＳ１２においてＮｏと判定する。処理部１０は、図５のステップＳ２２において選択信号がローレベルかハイレベルか判定する。一つ前のＭＤＩＯフレームによって指定されたアドレスＡ２Ｃ３ｈは領域５６に含まれているので、選択信号はローレベルに設定される。なお、選択信号は最初ローレベルなので、ローレベルのままとなっている。
【００３７】
処理部１０は、図５のステップＳ２４において、保持したアドレス情報「Ａ２Ｃ３ｈ」に対応するＭＤＩＯレジスタに格納されている任意のデータ「ＸＸＸＸｈ」（００００ｈ〜ＦＦＦＦｈ）（レーン３ＬＤ温度モニタ値）を返信用レジスタにセットする。返信用レジスタにセットされたデータは、ＭＤＩＯフレーム内のＴＡに合わせてデータ信号線ＭＤＩＯに出力され、それを制御装置３０が受信する。このようにして、フレーム５０ｂに応じて読み出し（リード）が行われる。処理部１２は、図６のステップＳ３２において処理部１０と同様にＮｏと判定し、ステップＳ３６において処理部１０によってローレベルに設定された選択信号をローレベルと判定する。
【００３８】
処理部１２は、図６のステップＳ３８において返信用レジスタに「ＦＦＦＦｈ」をセットする。この「ＦＦＦＦｈ」は、一つの値ではあるが、ハイレベルが１６個連続する状態に相当する。データ信号線ＭＤＩＯは、制御装置３０および処理部１０と１２からデータが出力されていない状態では、ハイレベルとなるように構成されている。従って、返信用レジスタに「ＦＦＦＦｈ」がセットされているとき、処理部１２は、データを出力していないのと同じ状態であり、処理部１２からのデータの出力を妨げない。すなわち、処理部１０と１２とが、いわゆるバスコンフリクトを起こさない状態となっている。
【００３９】
このように、制御装置３０から処理部１０および１２にＭＤＩＯフレーム５０ｂが入力すると、処理部１０は、返信用レジスタにアドレス情報「Ａ２Ｃ３ｈ」のＭＤＩＯレジスタに格納されているデータ「ＸＸＸＸｈ」をセットする。処理部１２は、返信用レジスタに「ＦＦＦＦｈ」をセットする。
【００４０】
図７のように、次にＭＤＩＯフレーム５０ｃが入力する。フレーム５０ｃのＯＰ５２は「００ｂ」（アドレス）である。アドレス／データ（ペイロード）５４はアドレス情報であり、例えば「Ａ２Ｄ０ｈ」である。処理部１０は、図５のステップＳ１２においてＹｅｓと判定する。処理部１０は、図５のステップＳ１４において、フレーム５０内のアドレス／データ５４のアドレス情報「Ａ２Ｄ０ｈ」を取得し、処理部１０内のＲＡＭ４１ｂの所定のレジスタ（ＭＤＩＯアドレスレジスタ）に保持する。処理部１０は、図５のステップＳ１６において領域５６か５８かを判定する。図４においてレジスタアドレス「Ａ２Ｄ０ｈ」は領域５８に含まれる。よって、処理部１０は、領域５８と判定する。処理部１０は、図５のステップＳ２０において、選択信号をハイレベルに設定する。処理部１２は、図６のステップＳ３２においてＹｅｓと判定し、ステップＳ３４においてアドレス情報「Ａ２Ｄ０ｈ」を処理部１２内のＲＡＭ４１ｂの所定のレジスタ（ＭＤＩＯアドレスレジスタ）に保持する。
【００４１】
このように、制御装置３０から処理部１０および１２にフレーム５０ｃが入力すると、処理部１０は、選択信号をハイレベルに切り換える（図７では、次のフレーム５０ｄのときに選択信号がハイレベルに切り換えられている）。選択信号の切り換えは、ＭＤＩＯフレームに応じて処理部１２が図６のステップＳ３６を行う前までに行われればよい。
【００４２】
図７のように、次にＭＤＩＯフレーム５０ｄが入力する。フレーム５０ｄのＯＰ５２は「１１ｂ」（リード）である。処理部１０は、図５のステップＳ１２においてＮｏと判定する。処理部１０は、図５のステップＳ２２において選択信号がローレベルかハイレベルか判定する。一つ前のＭＤＩＯフレーム５０ｃによって指定されたアドレスＡ２Ｄ０ｈは領域５８に含まれているので、選択信号はハイレベルに設定される。処理部１０は、図５のステップＳ２６において、「ＦＦＦＦｈ」を返信用レジスタにセットする。処理部１２は、図６のステップＳ３２においてＮｏと判定する。ステップＳ３６において、処理部１２は、処理部１０によってハイレベルに設定された選択信号をハイレベルと判定する。処理部１２は、図６のステップＳ４０において保持したアドレス情報「Ａ２Ｄ０ｈ」に対応するＭＤＩＯレジスタに格納されている任意のデータ「ＸＸＸＸｈ」（レーン０Ｒｘパワーモニタ値）を返信用レジスタにセットする。返信用レジスタにセットされたデータは、ＭＤＩＯフレーム内のＴＡに合わせてデータ信号線ＭＤＩＯに出力され、それを制御装置３０が受信する。このようにして、フレーム５０ｄに応じて読み出し（リード）が行われる。
【００４３】
このように、制御装置３０から処理部１０および１２にフレーム５０ｄが入力すると、処理部１０は、返信用レジスタに「ＦＦＦＦｈ」をセットする。処理部１２は、アドレス「Ａ２Ｄ０ｈ」に対応するデータ「ＸＸＸＸｈ」をセットする。返信用レジスタに「ＦＦＦＦｈ」がセットされているとき、処理部１０はデータを出力していないのと同じ状態であり、処理部１２からのデータの出力を妨げない。すなわち、処理部１０と１２とは、ＭＤＩＯ通信バスにおいて、バスコンフリクトを起こさない状態となっている。
【００４４】
なお、ＯＰ５２が「００ｂ」および「１１ｂ」を例に説明したが、ＯＰ５２が「０１ｂ」（ライト）のとき、フレーム５０のアドレス／データ５４のデータ（例えば制御コマンド）が先に所定のレジスタ（ＭＤＩＯアドレスレジスタ）に保持されたレジスタアドレスのＭＤＩＯレジスタに書き込まれる。データの書き込みは、処理部１０および１２の両方に先に指定されたアドレスのＭＤＩＯレジスタがあれば、それぞれのＭＤＩＯレジスタに書き込んでもよいし、選択信号により選択された処理部１０または１２のＭＤＩＯレジスタに書き込んでもよい。
【００４５】
ＯＰ５２が「１０ｂ」のとき、処理部１０および１２は所定のレジスタ（ＭＤＩＯアドレスレジスタ）に保持されたアドレスを１つインクリメントして、対応するＭＤＩＯレジスタのデータを返信用レジスタにセットする。
【００４６】
上記にて、選択信号によって選択されていないときの処理部１２、または、選択信号によって処理部１２が選択されているときの処理部１０は、「ＦＦＦＦｈ」を返信用レジスタにセットする例を説明したが、選択されない処理部１０（または１２）は、選択された処理部１２（または１０）と制御装置３０との通信に影響しないデータを返信用レジスタにセットすればよい。
【００４７】
[実施例２]
「ファームウェアのダウンロードの説明」
次に、実施例２について説明する。実施例２に係る光トランシーバの構成は、図１に示す実施例１に係る光トランシーバの構成と同じである。また、実施例２に係る処理部１０および１２の内部構成も図２に示す実施例１に係る処理部の内部構成と同じである。図８は、実施例２における処理部内のＲＯＭの領域を示す図である。図８に示すように、処理部１０および１２のＲＯＭ４１ａ内の領域は、バンク０、バンクＡおよびバンクＢを含む。なお、バンクは、メモリバンクとも言い、一定の容量を持ったメモリ（記憶素子）の集合を意味する。メモリバンクは、メモリの物理的な構造が複数のバンクに分割されて構成されていてもよい。以下に記載するように、メモリバンクは、メモリを管理する単位であり、メモリバンクを切り替えて読み書きを行う。
【００４８】
バンク０は、例えばアドレス空間においてアドレス００００ｈから７ＦＦＦｈに割り当てられた領域である。バンクＡとＢとはアドレス空間においてアドレス８０００ｈからＦＦＦＦｈに割り当てられた領域である。バンク０は、ブートプログラム領域、バンク切替情報領域およびデータ領域を含む。バンクＡおよびＢはそれぞれアプリケーションＡ領域およびアプリケーションＢ領域を含む。バンク０、ＡおよびＢの記憶容量は例えばそれぞれ３２ｋバイトである。
【００４９】
光トランシーバ１００が起動し、処理部１０および１２に電力が供給されると、ブートプログラム領域に格納されたブートプログラムが起動し、バンク切替情報領域に格納された情報に基づきバンクＡまたはＢに格納されたファームウェアが例えばＲＡＭ４１ｂの所定の領域に書き込まれ、ファームウェアを実行し始める。いわゆるブート動作を行う。例えばアプリケーションＡ領域に格納されているファームウェアが動作しているときに、アプリケーションＢ領域に格納されているファームウェアを書き換えることができる。以下では、例えばアプリケーションＢ領域に新しいファームウェアを書き込む場合について説明する。
【００５０】
図９は、実施例２における処理部１０の処理を示すフローチャートである。図９に示すように、処理部１０は、制御装置３０から送信されたファームウェアをメモリ１４に保存する（ステップＳ５０）。より詳細には、ファームウェアの大きさは、最大でバンクＢの記憶容量と同じ３２ｋバイトになる。ファームウェアは、制御装置３０からＭＤＩＯ通信バスで送るために、ＭＤＩＯフレームのペイロードに収納できるよう２バイト（１６ビット）ずつに分割されて送信される。処理部１０は、特定のＭＤＩＯレジスタに書き込んだファームウェアの分割データをＳＰＩバスを介してメモリ１４の所定の領域に順次書き込み、最終的に分割される前の新しいファームウェアをメモリ１４内に再現する。そのようにしてメモリ１４に保存された新しいファームウェアは、処理部１０または１２によりチェックされる。チェック項目としては、例えばイメージ形式が一貫しているかの検査、およびチェックサムまたはＣＲＣ（Cyclic Redundancy Check）等の誤り検査である。チェックに問題がない場合、次に進む。
【００５１】
処理部１０は、処理部１２を制御装置３０とのＭＤＩＯ通信の通信担当とする（ステップＳ５２）。そのため、例えば処理部１０は、選択信号をハイレベルに設定する。処理部１０は、メモリ１４に保存されたファームウェアを処理部１０のバンクＢに書き込む（ステップＳ５４）。その間、処理部１２は、制御装置３０から送信されるＭＤＩＯフレームに対して返信する。実施例１では、オペレーションコードＯＰに「００ｂ」（アドレス）が設定されたＭＤＩＯフレームのペイロードに格納されたアドレス情報に応じて処理部１０は選択信号を切り替えていたが、実施例２において、処理部１２が通信を担当している間は処理部１２がアドレス情報の全ての範囲に対して応答する。その際、処理部１０は、処理部１２の返信を妨げないよう返信データ用レジスタに常に「ＦＦＦＦｈ」をセットする。書き込みが終了すると、処理部１０は、処理部１０を制御装置３０とのＭＤＩＯ通信の通信担当とする（ステップＳ５６）。例えば処理部１０は、選択信号をローレベルに設定する。処理部１０は、メモリ１４に保存されたファームウェアを処理部１２のバンクＢに書き込む（ステップＳ５８）。なお、このとき、処理部１２がメモリ１４に保存されたファームウェアを処理部１２のバンクＢに書き込んでもよい。その後終了する。
【００５２】
図１０は、実施例２における処理を示すシーケンス図である。図１０に示すように、制御装置３０と処理部１０および制御装置３０と処理部１２との通信はＭＤＩＯ通信バスを介して行われる。処理部１０とメモリ１４および処理部１０と１２との通信はＳＰＩバスを介して行われる。
【００５３】
光トランシーバ１００が通常の動作をしているときは、処理部１０は、実施例１のときと同様にＭＤＩＯフレームに含まれるアドレス情報に応じて選択信号をローレベルあるいはハイレベルに切り換える。しかし、説明を簡単にするため、図１０では、通常の動作時には選択信号はローレベルに設定されている。従って、制御装置３０から送信されるＭＤＩＯフレームに対して、常に処理部１０が応答を行っている。このとき、処理部１２は、返信用レジスタに常に「ＦＦＦＦｈ」をセットする。制御装置３０から処理部１０にファームウェアがＭＤＩＯ通信バスを介し伝送される（ステップＳ５０ａ）。処理部１０はファームウェアをそのままＳＰＩバスを介しメモリ１４に保存する（ステップＳ５０ｂ）。１つのＭＤＩＯフレームを用い伝送できるデータは２バイトである。このため、例えばファームウェアの大きさが３２ｋバイトの場合、それを２バイト毎に分割し、ステップＳ５０ａおよびＳ５０ｂを１６０００回行う。なお、このとき、上述したように、処理部１０は、ＭＤＩＯフレームで送られた２バイトの分割データを一旦、処理部１０内部のＲＡＭ４１ｂに保存し、次にＲＡＭ４１ｂから保存した分割データを読み出してメモリ１４に保存してもよい。制御装置３０から分割したデータが全て送信されると、メモリ１４内に新しいファームウェアが再現（複製）される。
【００５４】
次に、制御装置３０から処理部１０にファームウェア保存命令が送信される（ステップＳ５３）。処理部１０は、選択信号をハイレベルに設定する（ステップＳ５２ａ）。処理部１０は、メモリ１４にファームウェアの出力を指示し（ステップＳ５４ａ）、メモリ１４に保存されたファームウェアを処理部１０のバンクＢに書き込む（ステップＳ５４ｂ）。ステップＳ５４ａおよびＳ５４ｂを繰り返している間に、処理部１０が制御する光送信回路１６に関するデータ（例えば、図４の領域５６に含まれるデータ）を制御装置３０と通信することがある。このような場合、選択信号がハイレベルであるため、処理部１２はＭＤＩＯ通信バスを介し処理部１０を介さず制御装置３０と通信する（ステップＳ５５ａ）。例えば、処理部内のＲＯＭ４１ａに書き込みを行う場合、書き込みにＭＤＩＯ通信の周期よりも長い時間が掛かる場合がある。そのような場合に、処理部１２が応答することによって処理部１０が所定の時間内に応答できない場合でも制御装置３０とのＭＤＩＯ通信を正常に継続することができる。処理部１２は、必要に応じ処理部１０とＳＰＩバスを介し通信を行う（ステップＳ５５ｂ）。
【００５５】
処理部１０へのファームウェアの書き込みが終了すると、処理部１０は、選択信号をローレベルに設定する（ステップＳ５２ｂ）。処理部１０は、メモリ１４にファームウェアの出力を指示し（ステップＳ５６ａ）、処理部１０はメモリ１４に保存されたファームウェアを取得し（ステップＳ５６ｂ）、ファームウェアを処理部１２のバンクＢに書き込む（ステップＳ５６ｃ）。あるいは、処理部１０の代わりに、処理部１２がメモリ１４に保存されたファームウェアを取得し（ステップＳ５６ｂに相当）、ファームウェアを処理部１２のバンクＢに書き込んでもよい（ステップＳ５６ｃに相当）ステップＳ５６ａからＳ５６ｃを繰り返している間に、処理部１２が制御する光受信回路１８に関するデータ（例えば、図４の領域５８に含まれるデータ）を制御装置３０と通信することがある。このような場合、選択信号がローレベルのままにしておき、処理部１０はＭＤＩＯ通信バスを介し制御装置３０と通信する（ステップＳ５７ａ）。処理部１０は、必要に応じ処理部１２とＳＰＩバスを介し通信を行う（ステップＳ５７ｂ）。なお、処理部１２に新しいファームウェアを書き込まない場合は、ステップＳ５６ａ，Ｓ５６ｂ，Ｓ５６ｃ，Ｓ５７ａ，およびＳ５７ｂ（ステップＳ５６）を省略してもよい。
【００５６】
なお、ステップＳ５６において、処理部１０は、ファームウェアをＳＰＩバスを介して取得した後に処理部１２に送信しているが、上述したように処理部１２とメモリ１４とがＳＰＩバスを介し直接通信可能である場合、メモリ１４から処理部１０を介さず処理部１２に直接ファームウェアを転送してもよい。
【００５７】
[比較例１]
図１１は、比較例１に係る光トランシーバのブロック図である。図１１に示すように、光トランシーバ１１０では、ＭＤＩＯ通信バス等の制御装置３０と通信するためのシリアル通信バスは処理部１０と接続され、処理部１２には接続されていない。また、処理部１０から処理部１２への選択線が設けられていない。その他の構成は実施例１の図１と同じであり説明を省略する。
【００５８】
比較例１では、シリアル通信バスを介した制御装置３０との通信は処理部１０が担当している。このため、処理部１２が制御装置３０と通信するときには、処理部１０を経由することになる。これにより、制御装置３０と処理部１２とが直接通信するのに比べて情報伝達が遅延する。また、メモリ１４に保存したファームウェアを処理部１０に書き込んでいる間に、制御装置３０から問い合わせがあっても、書き込みに必要な時間がＭＤＩＯ通信の周期より長い場合、所定の時間内に応答することが難しい。それによって、例えば、ＭＤＩＯ通信が中断することによって制御装置３０が異常を検出する虞がある。
【００５９】
[実施例１の効果]
実施例１によれば、図１のように、処理部１０（第１処理部）は、光送信回路１６を制御する。処理部１２（第２処理部）は、光受信回路１８を制御する。シリアル通信バスは、制御装置３０（外部装置）と処理部１０とを接続し、処理部１０と並列に制御装置３０と処理部１２とを接続する。図５のステップＳ２２からＳ２６のように、処理部１０は、制御装置３０からシリアル通信バスを介し受信したデータに基づき処理部１０および処理部１２のうち制御装置３０とシリアル通信バスを介し通信を行う処理部を選択する。
【００６０】
これにより、処理部１０は、制御装置３０と通信する処理部を適切に設定できる。よって、例えば、処理部１０が制御装置３０と通信する処理部として処理部１２を選択したとき、処理部１２は処理部１０を介さずに制御装置３０と通信できる。また、処理部１０が制御装置３０と通信する処理部として処理部１０を選択したとき、処理部１０は処理部１２を介さずに制御装置３０と通信できる。これにより、シリアル通信バスを介した制御装置３０と光トランシーバ１００との通信の遅延を抑制できる。
【００６１】
実施例１では、処理部１０は光送信回路１６を制御し、処理部１２は光受信回路１８を制御する例を説明したが、処理部１０は、光送信回路１６および光受信回路１８のうち一部を制御し、処理部１２は、光送信回路１６および光受信回路１８のうち別の一部を制御すればよい。すなわち、図４の領域５６のＭＤＩＯレジスタは、光送信回路１６および光受信回路１８のうち一部を制御するための情報を保持する。図４の領域５８のＭＤＩＯレジスタは、光送信回路１６および光受信回路１８のうち別の一部を制御するための情報を保持する。処理部１０と１２の担当は、レーンで分けてもよい。例えば処理部１０は光送信回路１６および光受信回路１８のうちレーン０およびレーン１に関する機能を制御し、処理部１２はレーン２およびレーン３に関する機能を制御してもよい。また、処理部１０と１２の担当は、機能で分けてもよい。例えば処理部１０は信号処理回路２０および２５を担当し、処理部１２は駆動回路２１、発光回路２２、増幅回路２４および受光回路２３を担当してもよい。あるいは、ＭＤＩＯレジスタのアドレス空間を適当に２分割して、一方の領域を処理部１０に担当させ、残りの領域を処理部１２に担当させてもよい。例えば、境界となるＭＤＩＯレジスタのアドレスを決めて、それよりもアドレスが小さい領域を処理部１０が担当し、そのアドレスとそれよりもアドレスが大きい領域を処理部１２が担当してもよい。そのようにすることで、処理信号の切替えの判定を簡単にし、処理時間を短くすることができる。
【００６２】
図５のステップＳ１４からＳ２０のように、シリアル通信バスは、ＭＤＩＯ通信バスである。これにより、ＭＤＩＯ通信バスを介した制御装置３０と光トランシーバ１００との通信の遅延を抑制できる。処理部１０は、ＭＤＩＯフレームに含まれるアドレスに基づき、処理部１０および１２のうち制御装置３０とＭＤＩＯ通信バスを介し通信を行う処理部を選択する。これにより、処理部１０は、ＭＤＩＯ通信バスを介し通信を行う処理部を適切に選択できる。
【００６３】
さらに、図５のステップＳ１６からＳ２０のように、処理部１０は、ＭＤＩＯフレームに含まれるアドレスが光送信回路１６および光受信回路１８のうち処理部１２が制御する一部に関するアドレスのとき、シリアル通信バスを介し通信を行う処理部として処理部１０を選択する。ＭＤＩＯフレームに含まれるアドレスが光送信回路１６よび光受信回路１８のうち処理部１２が制御する別の一部に関するアドレスのとき、シリアル通信バスを介し通信を行う処理部として処理部１２を選択する。
【００６４】
例えば、図４のように、領域５６（第１アドレス領域）は第１ＭＤＩＯレジスタを含み、領域５８（第２アドレス領域）は第２ＭＤＩＯレジスタを含む。図５のように、処理部１０は、制御装置３０からＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報（例えば図７のフレーム５０ａのアドレス／データ５４）に基づき、アドレス情報が領域５６に含まれるときは、処理部１０がＭＤＩＯフレームの次に受信するＭＤＩＯフレーム（例えば図７のフレーム５０ｂ）に対して応答し、アドレス情報（例えば図７のフレーム５０ｃのアドレス／データ５４）が第２アドレス領域に含まれるときは、処理部１２にＭＤＩＯフレームの次に受信するＭＤＩＯフレーム（例えば図７のフレーム５０ｄ）に対して応答させる。
【００６５】
例えば、制御装置３０からＭＤＩＯ通信バスを介し受信したＭＤＩＯフレームに含まれるアドレス情報（例えば図７のフレーム５０ａのアドレス／データ５４）が処理部１０の有するＭＤＩＯレジスタを含むアドレス領域５６に含まれるとき、選択信号を第１値（例えば図７のローレベル）に設定する。ＭＤＩＯフレームに含まれるアドレス情報（例えば図７のフレーム５０ｃのアドレス／データ５４）が処理部１２の有するＭＤＩＯレジスタを含むアドレス領域に含まれるとき、選択信号を第２値（例えば図７のハイレベル）に設定する。選択信号が第１値（例えばローレベル）に設定されているとき、処理部１０がＭＤＩＯフレーム（例えば図７のフレーム５０ａ）の次に受信するＭＤＩＯフレーム（例えば図７のフレーム５０ｂ）に対して応答する。選択信号が第２値（例えば図７のハイレベル）に設定されているとき、処理部１２がＭＤＩＯフレーム（例えば図７のフレーム５０ｃ）の次に受信するＭＤＩＯフレーム（例えば図７のフレーム５０ｄ）に対して応答する。
【００６６】
これにより、処理部１０は、ＭＤＩＯ通信バスを介し通信を行う処理部をより適切に選択できる。
【００６７】
図９および図１０のステップＳ５０のように、メモリ１４は、シリアル通信バスを介し制御装置３０から伝送された処理部１０および１２のファームウェアを格納する。ステップＳ５４のように処理部１０がメモリ１４に格納されたファームウェアを取得する期間において、ステップＳ５５ａのように処理部１２がシリアル通信バスを介し制御装置３０と通信を行う。ステップＳ５６のように処理部１２がメモリ１４に格納されたファームウェアを取得する期間において、ステップＳ５７ａのように処理部１０がシリアル通信バスを介し制御装置３０と通信を行う。
【００６８】
例えば、図１０のステップＳ５０ｂのように、処理部１０は、制御装置３０から受信したファームウェアの分割データをメモリ１４に保存する。図１０のステップＳ５２ａのように、メモリ１４内にファームウェアが再構成されたときに、処理部１０は、処理部１２にＭＤＩＯ通信バスを介して制御装置３０と通信させる。図１０のステップＳ５４ａおよびＳ５４ｂのように、処理部１０は、並行してメモリ１４内に再構成されたファームウェアを取得する。
【００６９】
これにより、メモリ１４に保存したファームウェアを処理部１０に書き込んでいる間に、制御装置３０から問い合わせがあっても、処理部１２が応答することができる。
【００７０】
実施例１では、光トランシーバが処理部１０および１２を有する例を説明したが処理部は３つ以上でもよい。処理部１０は、制御装置３０からシリアル通信バスを介し受信したデータに基づき３つ以上の処理部のうち制御装置３０とシリアル通信バスを介し通信を行う処理部を選択すればよい。例えば、選択した処理部に選択線によってその処理部が選択されたことを伝え、選択されていない処理部には他の選択線によってその処理部が選択されていないことを伝えることで速く処理部の切替えを高速に行うことができる。
【００７１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７２】
１０、１２  処理部
１４  メモリ
１６  光送信回路
１８  光受信回路
２０、２５  信号処理回路
２１  駆動回路
２２  発光回路
２３  受光回路
２４  増幅回路
３０  制御装置
４０  プロセッサ
４１  記憶回路
４１ａ  ＲＯＭ
４１ｂ  ＲＡＭ
４２ａ  データ
４２ｂ  プログラム
４４ａ  温度センサ
４４ｂ−４４ｄ  通信Ｉ／Ｆ
４４ｅ  タイマカウント
４４ｆ  ＡＤＣ
４４ｇ  外部入力回路
４４ｈ  外部出力回路
４４ｉ  選択線
５０、５０ａ−５０ｄ  フレーム
５２  ＯＰ
５４  アドレス／データ
５６、５８  領域
１００、１１０  光トランシーバ
【図１】
2019133417.tif 000003
【図２】
2019133417.tif 000004
【図３】
2019133417.tif 000005
【図４】
2019133417.tif 000006
【図５】
2019133417.tif 000007
【図６】
2019133417.tif 000008
【図７】
2019133417.tif 000009
【図８】
2019133417.tif 000010
【図９】
2019133417.tif 000011
【図１０】
2019133417.tif 000012
【図１１】
2019133417.tif 000013