(57)【要約】      （修正有）【課題】信号処理回路用のプログラムを高速に書き込むこと。【解決手段】外部装置に活線挿抜可能な光トランシーバ１００であって、光受信回路１８と、光送信回路２２と、信号処理回路と、専用メモリと、光送信回路、光受信回路及び信号処理回路を制御するプロセッサと、外部装置に光トランシーバが挿入されたことを検出させるための挿入検出端子２８ｂと、リセット端子２８ｃと、プロセッサが外部装置にアラーム信号を送信するためのアラーム端子２８ｄと、を備える。挿入検出端子の電圧値が所定の値よりも低いとき、プロセッサは、外部装置からのリセット信号を受信可能な状態になり、挿入検出端子の電圧値が所定の値よりも高いとき、リセット端子を介してクロック信号を受信すると共にアラーム端子を介してクロック信号に同期したデータ信号を受信することによって外部装置からプログラムを受信し、外部装置から受信したプログラムを専用メモリに格納する。【選択図】図１
2020088522.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に活線挿抜可能な光トランシーバであって、
外部から受信した光信号を電気信号に変換して前記外部装置に出力する光受信回路と、
前記外部装置から入力された電気信号を光信号に変換して前記外部に送信する光送信回路と、
電源投入時にプログラムを読み込み、前記外部装置から入力される電気信号および前記外部装置に出力する電気信号のそれぞれを前記プログラムに基づいて信号処理する信号処理回路と、
電力の供給を受けない状態でも前記プログラムを記憶する専用メモリと、
前記光送信回路、前記光受信回路および前記信号処理回路を制御するコントローラと、
前記外部装置に前記光トランシーバが挿入されたことを前記外部装置に検出させるための挿入検出端子と、
前記コントローラが前記外部装置からリセット信号を受信するためのリセット端子と、
前記コントローラが前記外部装置にアラーム信号を送信するためのアラーム端子と、
を備え、
前記挿入検出端子の電圧値が所定の値よりも低いとき、前記コントローラは前記外部装置からの前記リセット信号を受信可能な状態になり、前記挿入検出端子の電圧値が前記所定の値よりも高いとき、前記コントローラは前記リセット端子を介してクロック信号を受信すると共に前記アラーム端子を介して前記クロック信号に同期したデータ信号を受信することによって前記外部装置から前記プログラムを受信し、前記外部装置から受信した前記プログラムを前記専用メモリに格納する、光トランシーバ。
【請求項２】
前記挿入検出端子および前記リセット端子に電気的に接続され、前記挿入検出端子の電圧値が前記所定の値よりも低いときは、前記リセット端子を前記コントローラのリセット端子に電気的に接続し、前記挿入検出端子の電圧値が前記所定の値よりも高いときは、前記リセット端子を前記コントローラの前記クロック信号を受信するためのクロック入力端子に電気的接続するスイッチをさらに備え、
前記挿入検出端子は、抵抗素子によって前記光トランシーバのグランドにプルダウンされている、請求項１に記載の光トランシーバ。
【請求項３】
前記リセット端子、前記アラーム端子および前記挿入検出端子は、ＱＳＦＰ２８規格準拠のＲＥＳＥＴ端子、ＩＮＴ端子およびＭＯＤＰＲＳ端子である請求項１または２に記載の光トランシーバ。
【請求項４】
前記コントローラは、前記信号処理回路のシリアル通信機能を停止させて前記プログラムを前記専用メモリに格納する請求項１から３のいずれか一項に記載の光トランシーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光トランシーバに関し、例えば光通信システムで使用される光トランシーバに関する。
【背景技術】
【０００２】
光トランシーバは、光通信システムを構成する装置（ホスト装置）に挿入されて使用される。光トランシーバがホスト装置に挿入された状態では、光トランシーバの外形の一部はホスト装置の外部に露出し、その露出した部分に外部から光ファイバケーブルの先端に設けられた光コネクタを接続することができる。光トランシーバは、ホスト装置から入力された電気信号を光信号に変換して一つの光ファイバケーブルに送信し、他の光ファイバケーブルから受信した光信号を電気信号に変換してホスト装置に出力する。このように、光トランシーバは２本の光ファイバケーブルによって２芯双方向通信を行うことができる。光トランシーバは、一種の組込みシステムであり、内部にマイコン等のコントローラ（プロセッサ）を内蔵する。光トランシーバのコントローラに実装するプログラムを特殊な端子を介し外部から取得することが知られている（例えば特許文献１、２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１８７７１４号公報
【特許文献２】特開２０１３−２３６１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
光通信システムの高速大容量化に伴い、伝送速度を向上するために光トランシーバに信号処理ＩＣ（Integrated Circuit）等の信号処理回路を搭載することが求められている。信号処理ＩＣ用の専用プログラムは信号処理ＩＣとは別の部品の専用メモリに格納されており、電源投入時に専用メモリから信号処理ＩＣに専用プログラムが実装される。専用メモリには、不揮発性メモリが使用される。信号処理ＩＣは、不揮発性メモリを持たないため、予め専用メモリに格納された専用プログラムを電源投入の度に読み込んで所定の信号処理動作を行う。光トランシーバが工場から出荷された後に信号処理ＩＣの機能の修正や追加を行うために専用プログラムを書き換えるときには、光トランシーバの外部から内部の専用メモリにプログラムを書き込む必要がある。しかしながら、光トランシーバをホスト装置と接続する電気コネクタはＭＳＡ（Multi-Source Agreement）等の業界規格により用意される端子の機能と配置が定まっている。専用プログラムを専用メモリに書き込むための端子は前述の規格では用意されておらず、専用プログラムを専用メモリに高速に書き込むことは難しい。
【０００５】
本発明は、信号処理回路用のプログラムを高速に書き込むことを目的とする。
【課題を解決するための手段】
【０００６】
本願発明の一実施形態は、外部装置に活線挿抜可能な光トランシーバであって、外部から受信した光信号を電気信号に変換して前記外部装置に出力する光受信回路と、前記外部装置から入力された電気信号を光信号に変換して前記外部に送信する光送信回路と、電源投入時にプログラムを読み込み、前記外部装置から入力される電気信号および前記外部装置に出力する電気信号のそれぞれを前記プログラムに基づいて信号処理する信号処理回路と、電力の供給を受けない状態でも前記プログラムを記憶する専用メモリと、前記光送信回路、前記光受信回路および前記信号処理回路を制御するコントローラと、前記外部装置に前記光トランシーバが挿入されたことを前記外部装置に検出させるための挿入検出端子と、前記コントローラが前記外部装置からリセット信号を受信するためのリセット端子と、前記コントローラが前記外部装置にアラーム信号を送信するためのアラーム端子と、を備え、前記挿入検出端子の電圧値が所定の値よりも低いとき、前記コントローラは前記外部装置からの前記リセット信号を受信可能な状態になり、前記挿入検出端子の電圧値が前記所定の値よりも高いとき、前記コントローラは前記リセット端子を介してクロック信号を受信すると共に前記アラーム端子を介して前記クロック信号に同期したデータ信号を受信することによって前記外部装置から前記プログラムを受信し、前記外部装置から受信した前記プログラムを前記専用メモリに格納する、光トランシーバである。
【発明の効果】
【０００７】
本発明の一実施形態によれば、製品として工場から出荷された後でも信号処理回路用のプログラムを高速に書き込むことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例における光トランシーバの構成を示すブロック図である。
【図２】図２は、実施例における端子の配列を示す図である。
【図３】図３は、実施例における光トランシーバ内部のプロセッサ周辺のブロック図である。
【図４】図４は、実施例においてホスト装置に光トランシーバを接続したときの接続関係を示すブロック図である。
【図５】図５は、実施例においてプログラムの書き込み装置を光トランシーバに接続したときの接続関係を示すブロック図である。
【図６】図６は、実施例における書き込み装置によって専用メモリへプログラムを書き込むときのシーケンス図である。
【図７】図７は、実施例におけるプロセッサの内部メモリおよび専用メモリのメモリ領域を示す図である。
【図８】図８は、実施例におけるプロセッサの内部メモリおよび専用メモリのメモリ領域を示す図である。
【図９】図９は、比較例１における光トランシーバの一部のブロック図である。
【図１０】図１０は、比較例２における光トランシーバの一部のブロック図である。
【発明を実施するための形態】
【０００９】
［本願発明の実施形態の説明］
最初に本願発明の実施形態の内容を列記して説明する。
【００１０】
（１）本願発明の一実施形態は、外部装置に活線挿抜可能な光トランシーバであって、外部から受信した光信号を電気信号に変換して前記外部装置に出力する光受信回路と、前記外部装置から入力された電気信号を光信号に変換して前記外部に送信する光送信回路と、電源投入時にプログラムを読み込み、前記外部装置から入力される電気信号および前記外部装置に出力する電気信号のそれぞれを前記プログラムに基づいて信号処理する信号処理回路と、電力の供給を受けない状態でも前記プログラムを記憶する専用メモリと、前記光送信回路、前記光受信回路および前記信号処理回路を制御するコントローラと、前記外部装置に前記光トランシーバが挿入されたことを前記外部装置に検出させるための挿入検出端子と、前記コントローラが前記外部装置からリセット信号を受信するためのリセット端子と、前記コントローラが前記外部装置にアラーム信号を送信するためのアラーム端子と、を備え、前記挿入検出端子の電圧値が所定の値よりも低いとき、前記コントローラは前記外部装置からの前記リセット信号を受信可能な状態になり、前記挿入検出端子の電圧値が前記所定の値よりも高いとき、前記コントローラは前記リセット端子を介してクロック信号を受信すると共に前記アラーム端子を介して前記クロック信号に同期したデータ信号を受信することによって前記外部装置から前記プログラムを受信し、前記外部装置から受信した前記プログラムを前記専用メモリに格納する、光トランシーバである。これにより、信号処理回路用の専用プログラムを高速に書き込むができる。
（２）前記挿入検出端子および前記リセット端子に電気的に接続され、前記挿入検出端子の電圧値が前記所定の値よりも低いときは、前記リセット端子を前記コントローラのリセット端子に電気的に接続し、前記挿入検出端子の電圧値が前記所定の値よりも高いときは、前記リセット端子を前記コントローラの前記クロック信号を受信するためのクロック入力端子に電気的接続するスイッチをさらに備え、前記挿入検出端子は、抵抗素子によって前記光トランシーバのグランドにプルダウンされていることが好ましい。
（３）前記リセット端子、前記アラーム端子および前記挿入検出端子は、ＱＳＦＰ２８規格準拠のＲＥＳＥＴ端子、ＩＮＴ端子およびＭＯＤＰＲＳ端子であることが好ましい。
（４）前記コントローラは、前記信号処理回路のシリアル通信機能を停止させて前記プログラムを前記専用メモリに格納することが好ましい。
【００１１】
［本願発明の実施形態の詳細］
本発明の実施形態にかかる光トランシーバの具体例を、以下に図面を参照しつつ説明する。図面の説明において、同一又は相当する要素には同一の符号を付し、重複する説明を省略する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【実施例】
【００１２】
実施例として、業界規格のＱＳＦＰ（Quad Small Form-Factor Pluggable）２８規格に準拠する光トランシーバを例に説明する。
【００１３】
［ブロック図］
図１は、実施例における光トランシーバの構成を示すブロック図である。図１に示すように、実施例に係る光トランシーバ１００は、プロセッサ（コントローラ）１０、信号処理回路（信号処理ＩＣ）１２、メモリ（専用メモリ）１４、スイッチ１６、光受信回路１８、光送信回路２２および温度調整器２６を備えている。
【００１４】
プロセッサ１０は、例えばＣＰＵ（Central Processing Unit）またはマイクロコンピュータ等の予め内部のメモリに格納されているソフトウェア（ファームウェア）を実行するコントロールユニットであり、例えば信号処理回路１２、光受信回路１８および光送信回路２２を制御する。
【００１５】
信号処理回路１２は、例えばＣＤＲ（Clock Data Recovery）回路であり、光受信回路１８が出力する複数のレーン（チャネル）の電気受信信号を処理し外部装置（ホスト装置）３０に出力する。また、信号処理回路１２は、外部装置３０から伝送された複数のレーンの電気送信信号を処理し光送信回路２２に出力する。電気受信信号および電気送信信号の処理としては、例えば波形整形およびタイミング再生である。信号処理回路１２は、例えば、２つのバイナリ信号から一つのＰＡＭ４（4level Pulse Amplitude Modulation）信号を生成し、同時に一つのＰＡＭ４信号から２つのバイナリ信号を生成する信号処理ＩＣ等であってもよい。信号処理回路１２は信号処理回路１２の内部メモリに格納された専用プログラムにより所定の信号処理を行う。なお、信号処理回路１２は、ＣＰＬＤ（Complex Programmable Logic Device）またはＦＰＧＡ（Field Programmable Gate Array)等のロジックデバイスであってもよく、その場合には専用プログラムは内部のロジック回路の構成（コンフィグレーション）を規定する回路情報に相当する。また、専用プログラムは信号処理に必要なパラメータの設定値やルックアップテーブル等のデータを含んでいてもよい。
【００１６】
メモリ（専用メモリ）１４は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の不揮発性メモリであり、信号処理回路１２に用いる専用プログラムを格納する。信号処理回路１２は、電源投入時等にメモリ１４から専用プログラムを取得し、内部メモリに格納する。メモリ１４は、プロセッサ１０のデータ、プログラム、および／または信号処理回路１２のデータを格納してもよい。メモリ１４は、電源の供給を受けていなくても専用プログラムの情報を半永久的に記憶することができる。なお、光トランシーバ１００が活線挿抜可能なプラガブル光トランシーバである場合、光トランシーバ１００が外部装置３０に挿入されることで、光トランシーバ１００と外部装置３０とが電気的に接続される。それにより、光トランシーバ１００は電源に接続されて起動する。従って、光トランシーバ１００は、外部装置３０に挿入されることで電源投入が行われる。
【００１７】
スイッチ１６は、端子２８ｂの信号レベルに基づき、端子２８ｃが電気的に接続されるプロセッサ１０の端子を切り替える。スイッチ１６は、例えばアナログスイッチである。詳細は後述する。
【００１８】
光受信回路１８は、受光回路２０および増幅回路１９を備えている。受光回路２０は、例えばＲＯＳＡ（Receiver Optical Subassembly）であり、光ファイバ等の光導波路から受信した波長分割多重信号を複数のレーンの光受信信号に分離し、それぞれ電流信号に変換する。増幅回路１９は、例えばＴＩＡ（Transimpedance Amplifier）であり、受光回路２０から出力された電流信号（光電流）を電気受信信号である電圧信号に変換し信号処理回路１２に出力する。プロセッサ１０は、例えば増幅回路１９からＬＯＳ（Loss Of Signal）信号を受信する。ＬＯＳ信号はレーンごとに電気受信信号の信号強度が所定値以下であることを示す信号である。プロセッサ１０は、例えば受光回路２０内の受光素子のバイアス電圧を調整してもよい。
【００１９】
光送信回路２２は、駆動回路２３および発光回路２４を備えている。駆動回路２３は、例えばＬＤＤ（Laser Diode Driver）であり、信号処理回路１２が処理した電気送信信号を増幅して発光素子を駆動するための駆動信号を生成する。電気送信信号が複数のときは、それぞれに応じて複数の駆動信号を生成する。プロセッサ１０は、例えば駆動回路２３にレーンごとに動作を停止させる停止信号（ディスエーブル信号）を送信する。発光回路２４は、例えばＴＯＳＡ（Transmitter Optical Subassembly）であり、複数の駆動信号によって複数の光送信信号を生成し、生成された複数の光送信信号を多重化して光ファイバ等の光導波路（不図示）に出力する。多重化された複数の光信を号は波長分割多重信号（ＷＤＭ信号）となる。
【００２０】
温度調整器２６は、例えばＴＥＣ（Thermoelectric Cooler）であり、発光回路２４に含まれる発光素子（不図示）の温度を調整する。プロセッサ１０は、例えば温度調整器２６を制御し、発光素子を所望温度とする。発光素子の発振波長（ピーク波長）は、発光素子の動作温度によって変化するため、温度調整によって各レーンの光信号の波長を所定の値に安定化することができる。なお、各レーンの波長グリッドの間隔が発光素子の温度変化による波長範囲よりも広い等の場合には、発光素子の温度調整は省略されてもよい。
【００２１】
端子２８ａから２８ｄはプロセッサ１０と外部装置３０とを電気的に接続する端子である。端子２８ａから２８ｄはそれぞれ監視制御用のインターフェース（Ｉ／Ｆ）、ＱＳＦＰ２８規格準拠のＭＯＤＰＲＳＬ端子、ＲＥＳＥＴＬ端子およびＩＮＴＬ端子である。
【００２２】
［ＱＳＦＰ光トランシーバの端子の例］
ＱＳＦＰ２８規格に準拠した端子の例を説明する。図２は、実施例における端子の配列を示す図である。上図および下図は外部装置３０と接続される基板２７の表面および裏面を示す。基板２７は、光トランシーバ１００に含まれている。例えば、図１に示されるプロセッサ１０、信号処理回路１２、メモリ１４、およびスイッチ１６等は基板２７に実装されている。図２に示すように、基板２７の表面および裏面に端子２８が設けられている。端子２８の横に記載された符号は端子２８の名称である。ＧＮＤはグランド接続される端子である。最初にＶｃｃと記載された端子は電源電圧が供給される端子である。最初にＲＸと記載された端子は電気受信信号が出力する端子である。最初にＴＸと記載された端子は電気送信信号が入力する端子である。図２に示される端子の配列は電気プラグを構成する、電気プラグは、光トランシーバ１００の筐体から外部に露出している。光トランシーバ１００を外部装置３０に挿入すると、外部装置内の電気コネクタと図２の電気プラグとが嵌合して光トランシーバ１００と外部装置３０とが電気的に接続される。図２においてＧＮＤのパターンが他の端子のパターンよりも長くなっていることによって、光トランシーバ１００を外部装置３０に挿入したときに他の端子よりも先にＧＮＤが外部装置３０のグランドと電気的に接続される。
【００２３】
ＳＣＬおよびＳＤＡは監視制御Ｉ／Ｆに対応するＩ２Ｃ（Inter-integrated Circuit）シリアルバス用の端子２８ａであり、それぞれクロック線およびデータ線に対応する。図１では一つの端子として簡略に図示しているが、実際にはＳＣＬとＳＤＡとでそれぞれ一つずつ端子が用意される。ＱＳＦＰ２８規格では監視制御Ｉ／Ｆのクロック周波数は最大４００ｋＨｚである。ＭＯＤＰＲＳＬ、ＲＥＳＥＴＬおよびＩＮＴＬはそれぞれ端子２８ｂ、２８ｃおよび２８ｄに対応する。
【００２４】
［プロセッサ周辺の接続］
図３は、実施例におけるプロセッサ周辺のブロック図である。図３に示すように、端子２８ａのクロック端子およびデータ端子はプロセッサ１０に電気的に接続される。端子２８ｂは抵抗素子Ｒを介し接地される。抵抗素子Ｒの抵抗値は、例えば数１０〜数１００Ωに設定される。端子２８ｂはさらにスイッチ１６の制御線に電気的に接続される。スイッチ１６は、端子２８ａの信号レベルに基づき、端子２８ｃをプロセッサ１０のＳＷＣＬＫ端子およびＲＥＳＥＴＬ端子のいずれか一方に接続する。例えば、端子２８ａの電圧値がハイレベル（あるいはローレベル）に相当するときは、端子２８ｃはＳＷＣＬＫ端子に電気的に接続され、端子２８ａの電圧値がローレベル（あるいはハイレベル）に相当するときは、端子２８ｃはＲＥＳＥＴＬ端子に電気的に接続される。端子２８ｄはプロセッサ１０のＩＮＴＬ端子およびＳＷＤＩＯ端子に電気的に接続される。
【００２５】
プロセッサ１０は、例えばＡＲＭアーキテクチャに基づいて構成されたＣＰＵコアを内蔵するプロセッサである。外部からの信号によってＲＥＳＥＴＬ端子の電圧値がローレベルとなるとプロセッサ１０がリセットされる。プロセッサ１０は予め設定されたアラームが生じると、ＩＮＴＬ端子の電圧値をローレベルとする。すなわち、ＩＮＩＬ端子からローレベルに設定されたＩＮＩＬ信号を出力する。ＳＷＣＬＫおよびＳＷＤＩＯはデータ送受信用のシリアル通信バスを接続するための端子であり、それぞれクロック端子およびデータ端子に相当する。クロック周波数は例えば最大１０ＭＨｚである。
【００２６】
プロセッサ１０と信号処理回路１２とはＩ２Ｃ方式のシリアル通信バスにより電気的に接続されている。プロセッサ１０は、Ｉ２Ｃバスを介してシリアルデータを送受信して信号処理回路１２を制御する。プロセッサ１０のＰＨＹ＿ＲＥＳＥＴ端子が信号処理回路１２に接続されている。プロセッサ１０はＰＨＹ＿ＲＥＳＥＴ端子を活性化することで、信号処理回路１２をリセット状態にし、再起動させる。信号処理回路１２とメモリ１４とはＳＰＩ（Serial Peripheral Interface）方式の通信バスにより電気的に接続されている。信号処理回路１２はメモリ１４からＳＰＩバスを介し専用プログラムを取得する。プロセッサ１０とメモリ１４とは、信号処理回路１２を介さずＳＰＩバスにより接続されている。プロセッサ１０はＳＰＩバスを介し信号処理回路１２を介さず専用プログラムをメモリ１４に格納する。ここで、シリアル通信方式として、Ｉ２Ｃ方式とＳＰＩ方式について述べたが、必ずしもそれらの方式に限定されず、他のシリアル通信方式を使用してもよい。
【００２７】
［外部装置の接続］
外部装置３０を光トランシーバ１００に挿入して互いに電気的に接続したときの各端子２８ｂから２８ｄについて説明する。図４は、実施例において外部装置に光トランシーバを接続したときのブロック図である。図４に示すように、端子２８ｂから２８ｄは外部装置３０のそれぞれＭＯＤＰＲＳＬ端子、ＲＥＳＥＴＬ端子およびＩＮＴＬ端子に接続される。
【００２８】
外部装置３０のＭＯＤＰＲＳＬ端子は抵抗素子Ｒの抵抗値に比べハイインピーダンスに設定されている。これにより、端子２８ｂが外部装置３０のＭＯＤＰＲＳＬ端子と電気的に接続されると、端子２８ｂは抵抗素子ＲによってプルダウンされてローレベルＬとなる。外部装置３０はＭＯＤＰＲＳＬ端子の電圧値がローレベルＬとなることで、光トランシーバ１００が装着されたことを検出できる。
【００２９】
端子２８ｂがローレベルＬとなると、スイッチ１６は端子２８ｃをプロセッサ１０のＲＥＳＥＴＬ端子に接続する。これにより、外部装置３０がＲＥＳＥＴＬ端子の電圧値をローレベルとすると、プロセッサ１０がリセットされる。プロセッサ１０は所定のアラームを検出すると、ＩＮＴＬ端子の電圧値をローレベルとする。これにより、外部装置３０は光トランシーバ１００が発出したアラームを検知できる。ＩＮＴＬ端子はプロセッサ１０のＳＷＤＩＯ端子にも接続されるが、ＳＷＣＬＫ端子にクロック信号が入力していないため、ＩＮＴＬ端子の電圧値がローレベルとなってもプロセッサ１０がそれを特定の命令やデータとして受け取ることはなく、問題になることはない。従って、図３に示される光トランシーバ１００の構成によれば、ＭＯＤＰＲＳＬ端子、ＲＥＳＥＴＬ端子およびＩＮＴＬ端子のいずれの端子もＱＳＦＰ２８規格に定められた通りの機能を果たすことができる。
【００３０】
［書き込み装置の接続］
メモリ１４内に格納されている信号処理回路１２用の専用プログラムを新しく書き換える（アップグレード）するときには、書き込み装置３２に光トランシーバ１００を接続する。書き込み装置３２は、外部装置３０と同様に光トランシーバ１００を挿入できる機構（例えばケージ）を備えており、光トランシーバ１００を書き込み装置３２に挿入することで光トランシーバ１００と書き込み装置３２とは電気的に接続される。書き込み装置３２を光トランシーバ１００に接続したときの各端子２８ｂから２８ｄについて説明する。図５は、実施例において書き込み装置に光トランシーバを接続したときのブロック図である。図５に示すように、端子２８ｂから２８ｄは書き込み装置３２のそれぞれＳＷ端子、ＣＬＯＣＫ端子およびＤＡＴＡ端子に電気的に接続される。
【００３１】
書き込み装置３２が信号処理回路１２の専用プログラムを書き込むときには、書き込み装置３２はＳＷ端子の電圧値をハイレベルＨに相当する値に設定する。これにより、端子２８ｂがハイレベルＨとなる。このことを、以下では便宜的に、「書き込み装置３２はＳＷ端子にハイレベルＨを出力する」という。スイッチ１６は、ＳＷ端子から端子２８ｂを介して制御線にハイレベルＨが入力されたため、内部の接続を切り替えて端子２８ｃをプロセッサ１０のＳＷＣＬＫ端子に電気的に接続する。その状態にて、書き込み装置３２がＣＬＯＣＫ端子からクロック信号を出力するとプロセッサ１０のＳＷＣＬＫ端子にクロック信号が入力される。書き込み装置３２がクロック信号に同期してＤＡＴＡ端子から所定のプロトコルに従ってデータを出力すると、プロセッサ１０のＳＷＤＩＯ端子にデータが入力される。このように、図３に示される光トランシーバ１００の構成によれば、端子２８ｂ〜２８ｄをＱＳＦＰ２８規格に定められた機能以外に専用プログラムの書き込みのために利用することができる。
【００３２】
［シーケンス図］
次に、書き込み装置３２が信号処理回路１２用の専用プログラムの書き込むときの処理について説明する。図６は、実施例におけるシーケンス図である。図６は、図の上側から下側に向かって行くにつれて時間の経過を表している。図６に示すように、書き込み装置３２は、プロセッサ１０に専用プログラムの書き込みを指示する（ステップＳ１０）。書き込み装置３２はＭＯＤＰＲＳＬ端子をハイレベルにする（ステップＳ１２）。これにより、スイッチ１６は、書き込み装置３２のＣＬＯＣＫ端子をプロセッサ１０のＳＷＣＬＫ端子に電気的に接続する。プロセッサ１０はＰＨＹ＿ＲＥＳＥＴを活性化する（ステップＳ１４）。これにより、信号処理回路１２はリセットされてＳＰＩバスに影響しなくなる。すなわち、信号処理回路１２は、ＳＰＩバスには電気的に接続されているが、プロセッサ１０がＳＰＩバスにシリアルデータを送出しても応答しない状態（シリアル通信機能が停止した状態）となる。
【００３３】
書き込み装置３２は、さらに端子２８ｃおよび２８ｄを介し信号処理回路１２の専用プログラムをプロセッサ１０に送信する（ステップＳ１６）。プロセッサ１０は受信した信号処理回路１２の専用プログラムをプロセッサ１０内のメモリに一旦保持した後、ＳＰＩバスを介しメモリ１４に格納する（ステップＳ１８）。専用プログラムのメモリ１４への格納が終了したら、書き込み装置３２から光トランシーバ１００を取り外す。専用プログラムのアップグレードが終了した光トランシーバ１００を外部装置３０に挿入すると、光トランシーバに電源が投入され、信号処理回路１２はＳＰＩバスを介してメモリ１４からアップグレードされた専用プログラムを読み込む。
【００３４】
［プロセッサおよびメモリ内のデータの説明］
図７および図８は、実施例におけるプロセッサの内部メモリおよび専用メモリのメモリ領域を示す図である。図７および図８において、プロセッサ１０は、プロセッサ１０の内部メモリに保持された情報を示し、メモリ１４はメモリ１４に格納された情報を示す。
【００３５】
図７に示すように、プロセッサ１０は、内部メモリ内に書き込み装置３２によって書き込まれた転送プログラム５２と信号処理回路１２用の専用プログラムを含むプログラムデータ５０を格納する。転送プログラム５２は、プログラムデータ５０をメモリ１４に転送するためのプログラムである。プロセッサ１０は転送プログラム５２を実行することで、内部メモリ内に格納されているプログラムデータ５０をメモリ１４に書き込む。
【００３６】
図８に示すように、転送プログラム５２とプログラムデータ５０の合計の大きさがプロセッサ１０の内部メモリの容量より大きい場合、書き込み装置３２は、プロセッサ１０にプログラムデータを分割して分割されたプログラムデータを送信する。
【００３７】
書き込み装置３２は、転送プログラム５２ａ、開始位置データ５４ａおよび長さがＬ１のプログラムデータ５０ａをプロセッサ１０に送信する。開始位置データ５４ａはメモリ１４内にプログラムデータ５０ａを書き込むときの開始位置（開始アドレス）であり、例えば０である。プロセッサ１０は、転送プログラム５２ａに従い、メモリ１４のアドレス０を開始位置としプログラムデータ５０ａを書き込む。
【００３８】
次に、書き込み装置３２は、転送プログラム５２ｂ、開始位置データ５４ｂおよび長さがＬ２のプログラムデータ５０ｂをプロセッサ１０に送信する。なお、転送プログラム５２ｂは、転送プログラム５２ａと同一の場合には、転送プログラム５２ｂのプロセッサ１０への送信は省略してもよい。その場合は、転送プログラム５２ａに続いて開始位置データ５４ｂおよびプログラムデータ５０ｂの書き込みを行う。開始位置データ（開始アドレス）５４ｂは例えばＬ１である。プロセッサ１０は、転送プログラム５２ｂ（あるいは転送プログラム５２ａ）に従い、メモリ１４のアドレスＬ１を開始位置としプログラムデータ５０ｂを書き込む。なお、この場合には、プログラムデータ５０ａは、アドレス０〜アドレスＬ−１のメモリ領域に格納されている。
【００３９】
以上のように、プログラムデータは、プログラムデータ５０ａとプログラムデータ５０ｂとに分割してメモリ１４に書き込みすることができる。上述したように転送プログラム５２ａで転送プログラム５２ｂを代用できる場合は、転送プログラム５２ｂはメモリ１４に書きこまなくてもよい。
【００４０】
［比較例］
実施例の効果を説明するため比較例について説明する。図９は、比較例１における光トランシーバの一部分のブロック図である。図９に示すように、光トランシーバ１１０内に信号処理回路１２を設けることが求められている。信号処理回路１２用の専用プログラムはメモリ１４に格納されており、信号処理回路１２の電源が投入されたときに、信号処理回路１２はメモリ１４から専用プログラムを取得する。専用プログラムをアップグレードするときには、例えば、メモリ１４内の既に専用プログラムが格納されているメモリ領域にアップグレードされた専用プログラムを書き換えることになる。比較例１の光トランシーバ１１０では、端子２８ｅを設ける。矢印６０のように書き込み装置３２は端子２８ｅを介しアップグレードされた専用プログラムをメモリ１４に書き込む。
【００４１】
しかし、光トランシーバの端子の数はＱＳＦＰ等の規格により定められている。例えばＱＳＦＰ２８規格では図２のように端子２８の個数が定められている。このため、新しい端子２８ｅを設けることができない。また、仮に新しい端子２８ｅを光トランシーバの規格に加えた場合に、専用プログラムのアップグレードという頻度の低い事象に対して端子２８ｅを用意することは光トランシーバ１１０の小型化の妨げとなり、好ましくないと考えられる。
【００４２】
図１０は、比較例２における光トランシーバの一部分のブロック図である。図１０に示すように、比較例２の光トランシーバ１１２では、矢印６２のように書き込み装置３２は監視制御Ｉ／Ｆ用の端子２８ａを介しプロセッサ１０にプログラムを送信し、プロセッサ１０はメモリ１４にプログラムを書き込む。これにより、端子数を増やすことなく、信号処理回路１２用の専用プログラムを書き込むことができる。
【００４３】
しかしながら、監視制御Ｉ／Ｆのクロックは例えばＩ２Ｃシリアル通信方式の場合、最大４００ｋＨｚと遅い。このため、プログラムの送信に時間がかかる。例えば信号処理回路１２の専用プログラムのサイズを１２８ｋバイトとし、図７における１回のプログラムデータの大きさを２５６バイトとした一例では、書き込み装置３２からプロセッサ１０への専用プログラムの伝送に約３０秒、プロセッサ１０からメモリ１４への専用プログラムの伝送に約３０秒かかる。よって、専用プログラムの書き込みに必要な合計時間は約６０秒である。
【００４４】
［実施例の効果］
一方、実施例の光トランシーバ１００では、例えばＳＷＤ（Serial Wire Debug）シリアル通信方式によるデータ転送のクロックは例えば最大１０ＭＨｚである。これにより、書き込み装置３２からプロセッサ１０への専用プログラムの伝送を約２秒とすることができる。よって、プロセッサ１０からメモリ１４への専用プログラムの伝送にかかる時間は約３０秒のままだとしても、専用プログラムの書き込みに必要な合計時間を約３２秒と、比較例２より短くできる。
【００４５】
実施例によれば、外部装置３０に活線挿抜可能な光トランシーバにおいて、光受信回路１８は、外部から受信した光受信信号（光信号）を電気受信信号（電気信号）に変換して外部装置３０に出力する。光送信回路２２は、外部装置３０から入力された電気送信信号（電気信号）を光送信信号（光信号）に変換して外部に送信する。信号処理回路１２は、電源投入時に専用プログラム（プログラム）を読み込み、外部装置３０から入力される電気送信信号および外部装置３０に出力する電気受信信号のそれぞれを専用プログラムに基づいて信号処理する。メモリ１４（専用メモリ）は、電力の供給を受けない状態でも専用プログラムを記憶する。プロセッサ１０（コントローラ）は、光送信回路２２、光受信回路１８および信号処理回路１２を制御する。端子２８ｃ（リセット端子）は、プロセッサ１０が外部装置３０からリセット信号を受信するための端子である。端子２８ｄ（アラーム端子）は、プロセッサ１０が外部装置３０にアラーム信号を送信するための端子である。端子２８ｂ（挿入検出端子）は、外部装置３０に光トランシーバ１００が挿入されたことを外部装置３０に検出させるための端子である。
【００４６】
このような光トランシーバにおいて、端子２８ｂの電圧値が所定の値よりも低い（例えばローレベルの）とき、プロセッサ１０は外部装置３０からのリセット信号を受信可能な状態になる。端子２８ｂの電圧値が所定の値よりも高い（例えばハイレベルの）とき、プロセッサ１０は端子２８ｃを介してクロック信号を受信すると共に端子２８ｄを介してクロック信号に同期したデータ信号を受信することによって外部装置３０から専用プログラムを受信し、外部装置３０から受信した専用プログラムをメモリ１４に格納する。このように、端子２８ｂを用いることで、端子２８ｃをプロセッサ１０のリセット用と書き込み装置３２からの専用プログラムの書き込み用とに用いることができる。よって、書き込み装置３２からプロセッサ１０の信号処理回路１２用の専用プログラムを伝送できる。よって、信号処理回路１２用の専用プログラムを高速に書き込むことができる。
【００４７】
スイッチ１６は、端子２８ｂおよび端子２８ｃに電気的に接続され、端子２８ｂの電圧値が所定の値よりも低いときは、端子２８ｃをプロセッサ１０のＲＥＳＥＴＬ端子（リセット端子）に電気的に接続し、端子２８ｂの電圧値が所定の値よりも高いときは、端子２８ｃをプロセッサ１０のクロック信号を受信するためのＳＷＣＬＫ端子（クロック入力端子）に電気的接続する。端子２８ｂは、抵抗素子Ｒによって光トランシーバ１００のグランドにプルダウンされている。このように、端子２８ｂを用いることで、外部装置３０に光トランシーバ１００を挿入したときには端子２８ｃをプロセッサ１０のリセット用に使用し、書き込み装置３２に光トランシーバ１００を挿入したときには専用プログラムの書き込み用に使用することができる。
【００４８】
端子２８ｃ、２８ｄおよび２８ｂは、ＱＳＦＰ２８規格準拠のそれぞれＲＥＳＥＴＬ端子、ＩＮＴＬ端子およびＭＯＤＰＲＳＬ端子である。これにより、ＲＥＳＥＴＬ端子、ＩＮＴＬ端子およびＭＯＤＰＲＳＬ端子を用い書き込み装置３２からプロセッサ１０にプログラムを伝送できる。なお、端子２８ｂから２８ｄの名称の最後の”Ｌ”は、ローレベルとなったときに信号が活性（Active）であることを示している。よって、より一般的には、端子２８ｃ、２８ｄおよび２８ｂは、それぞれＲＥＳＥＴ端子、ＩＮＴ端子およびＭＯＤＰＲＳ端子である。光トランシーバ１００を外部装置３０に挿入して通常の状態で動作させるときに、ＲＥＳＥＴＬ端子、ＩＮＴＬ端子およびＭＯＤＰＲＳＬ端子はそれぞれＱＳＦＰ２８規格に準拠した機能を果たす。
【００４９】
プロセッサ１０は、信号処理回路１２のシリアル通信機能を停止させてプログラムを専用メモリ１４に格納する。このように、プロセッサ１０は、専用プログラムを信号処理回路１２に影響を与えることなくメモリ１４に書き込む。これにより、プロセッサ１０の内部メモリからメモリ１４に効率的に専用プログラムを格納できる。
【００５０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００５１】
１０  プロセッサ（コントローラ）
１２  信号処理回路（信号処理ＩＣ）
１４  メモリ（専用メモリ）
１６  スイッチ
１８  光受信回路
１９  増幅回路
２０  受光回路
２２  光送信回路
２３  駆動回路
２４  発光回路
２６  温度調整器
２７  基板
２８、２８ａ−２８ｅ  端子（信号端子）
３０  外部装置（ホスト装置）
３２  外部装置（書き込み装置）
５０、５０ａ、５０ｂ  プログラムデータ（専用プログラム）
５２、５２ａ、５２ｂ  転送プログラム
５４ａ、５４ｂ  開始位置データ（書み込み開始アドレス）
１００、１１０、１１２  光トランシーバ
【図１】
2020088522.tif 000003
【図２】
2020088522.tif 000004
【図３】
2020088522.tif 000005
【図４】
2020088522.tif 000006
【図５】
2020088522.tif 000007
【図６】
2020088522.tif 000008
【図７】
2020088522.tif 000009
【図８】
2020088522.tif 000010
【図９】
2020088522.tif 000011
【図１０】
2020088522.tif 000012