(57)【要約】【課題】製品出荷前の調整工程等において、光トランシーバにおける不揮発性メモリ（ＥＥＰＲＯＭなど）への書き込み回数を低減することができるメモリ書き込み方法を提供する。【解決手段】光送信サブアセンブリと、光受信サブアセンブリと、ＥＥＰＲＯＭと、ＲＡＭと、ＥＥＰＲＯＭ及びＲＡＭにアクセス可能なコントローラ部とを備えた光トランシーバによるメモリ書き込み方法であって、コントローラ部が、光トランシーバの調整データの書き込み要求に対して（Ｓ１２）、調整データをＲＡＭに保存し（Ｓ１３）、調整データに対するチェックコードの書き込み要求に対して（Ｓ１４）、チェックコードと共に、ＲＡＭに保存された調整データをＥＥＰＲＯＭに書き込む（Ｓ１５）。【選択図】図２
2010160679.tif 000002
【特許請求の範囲】
【請求項１】
光信号を外部に送信する光送信サブアセンブリと、外部からの光信号を受信する光受信サブアセンブリと、不揮発性の第１のメモリと、第２のメモリと、前記第１のメモリ及び前記第２のメモリにアクセス可能なコントローラ部とを備えた光トランシーバによるメモリ書き込み方法であって、
前記コントローラ部が、前記光トランシーバの調整データの書き込み要求に対して、前記調整データを前記第２のメモリに保存し、前記調整データに対するチェックコードの書き込み要求に対して、前記チェックコードと共に、前記第２のメモリに保存された前記調整データを前記第１のメモリに書き込むことを特徴とするメモリ書き込み方法。
【請求項２】
前記コントローラ部が、電源起動時あるいはリセット時に、前記第１のメモリに書き込まれた調整データを前記第２のメモリにコピーし、該第２のメモリにコピーされた調整データに対してチェックコードを算出し、該算出したチェックコードが前記第１のメモリに書き込まれたチェックコードと一致するか否かを判定し、不一致の場合に、前記光トランシーバの光信号の出力を停止させることを特徴とする請求項１に記載のメモリ書き込み方法。
【請求項３】
光信号を外部に送信する光送信サブアセンブリと、外部からの光信号を受信する光受信サブアセンブリとを備えた光トランシーバであって、
該光トランシーバの調整データ及び該調整データに対するチェックコードを記憶する不揮発性の第１のメモリと、第２のメモリと、前記第１のメモリ及び前記第２のメモリにアクセス可能なコントローラ部とを備え、
該コントローラ部は、前記調整データの書き込み要求に対して、前記調整データを前記第２のメモリに保存し、前記調整データに対するチェックコードの書き込み要求に対して、前記チェックコードと共に、前記第２のメモリに保存された前記調整データを前記第１のメモリに書き込むことを特徴とする光トランシーバ。
【請求項４】
前記コントローラ部は、電源起動時あるいはリセット時に、前記第１のメモリに書き込まれた調整データを前記第２のメモリにコピーし、該第２のメモリにコピーされた調整データに対してチェックコードを算出し、該算出したチェックコードが前記第１のメモリに書き込まれたチェックコードと一致するか否かを判定し、不一致の場合に、前記光トランシーバの光信号の出力を停止させることを特徴とする請求項３に記載の光トランシーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光通信を行うための光トランシーバによるメモリ書き込み方法及び光トランシーバに関する。
【背景技術】
【０００２】
一般的な光トランシーバは、光送信サブアセンブリ（Transmitter Optical Sub-Assembly:ＴＯＳＡ）と、光受信サブアセンブリ（Receiver Optical Sub-Assembly:ＲＯＳＡ）と、これらのサブアセンブリと電気的に結合し電気信号を処理する電子回路を搭載した回路基板と、この回路基板を搭載したフレームとを含んで構成されている。
【０００３】
そして、電子回路としては、光送信サブアセンブリ内に搭載されている半導体レーザ（Laser Diode:ＬＤ）を駆動するための駆動（送信）回路、光受信サブアセンブリ内に搭載されているフォトダイオード（Photo Diode:ＰＤ）により光信号から変換された電気信号を増幅、再生する受信回路、これら駆動回路、受信回路を制御する制御回路などがある。このような光トランシーバに関し、下記の特許文献１に記載のものが知られている。
【０００４】
図３は、特許文献１に記載の光トランシーバの構成を説明するためのブロック図である。図中、１１０はホスト、１２０は光トランシーバを示す。光トランシーバ１２０は、大きく分けて、送信機１２２、受信機１２４、コントローラ１２６、光インターフェイス１２８により構成される。送信機１２２はキャッシュメモリ１３４を備え、コントローラ１２６はＥＥＰＲＯＭ(Electrically Erasable and Programmable Read Only Memory)１４６を備える。そして、コントローラ１２６がＥＥＰＲＯＭ１４６に格納されている情報を、ＥＥＰＲＯＭ１４６からキャッシュメモリ１３４へコピーするようにしている。
【０００５】
上記のように構成することで、ホスト１１０が、ＥＥＰＲＯＭ１４６へ直接接続することなく、かつ、高速でＥＥＰＲＯＭ１４６に格納された情報に対してアクセス可能な光トランシーバを実現している。すなわち、光トランシーバ１２０は、ＥＥＰＲＯＭ１４６中に格納された情報のコピーを記憶するためのキャッシュメモリ１３４を有し、ホスト１１０からＥＥＰＲＯＭ１４６にアクセスするように設定されたトランザクションを受信するように構成されている。
【０００６】
光トランシーバ１２０は、ホスト１１０からＥＥＰＲＯＭ１４６に対する読み出しトランザクションに応答した場合、情報はＥＥＰＲＯＭ１４６からではなく、キャッシュメモリ１３４からホスト１１０に提供される。また、ＥＥＰＲＯＭ１４６に対する書き込みトランザクションに応答した場合、情報はホスト１１０から受信され、ＥＥＰＲＯＭ１４６及びキャッシュメモリ１３４に記憶される。
【０００７】
図４は、図３に示した構成を取り入れた光トランシーバの一例を示すブロック図である。図中、２００はホストコントローラ、２１０は光トランシーバを示す。光トランシーバ２１０は、大きく分けて、光ファイバ（図示せず）へ光信号を送信するためのＬＤを有するＴＯＳＡ２１１と、光ファイバからの光信号を受信するためのＰＤを有するＲＯＳＡ２１２と、ホストコントローラ２００と通信可能に接続されるコントローラＩＣ２１３と、コントローラＩＣ２１３によりアクセスされるＥＥＰＲＯＭ２１４と、コントローラＩＣ２１３と接続され、ＴＯＳＡ２１１及びＲＯＳＡ２１２を制御するトランシーバＩＣ２１５とにより構成される。
【０００８】
また、トランシーバＩＣ２１５は、ＴＯＳＡ２１１のＬＤを駆動制御するＬＤＤ(Laser Diode Driver)２１５ａと、ＬＤの駆動出力をモニタしこのＬＤ駆動出力を自動的に調整するためのＡＰＣ(Automatic Power Control)２１５ｂと、デジタル／アナログ変換を行うＤＡＣ(Digital Analog Converter)２１５ｃと、デジタル信号を処理するためのデジタルコア２１５ｄと、ＲＯＳＡ２１２のＰＤで受信した光信号を増幅するＬＩＡ(Limiting Amplifier)２１５ｅとを備える。
【０００９】
本例では、図３に示したキャッシュメモリの代わりに、コントローラＩＣ（所謂１チップＣＰＵ）内蔵のＲＡＭで代用させている。また、モニタ用のＡＰＣ２１５ｂや、レーザ設定用のＤＡＣ２１５ｃも、トランシーバＩＣ２１５に内蔵し、コントローラＩＣ２１３よりモニタ・制御可能な構成としている。
【００１０】
図５は、図４に示したコントローラＩＣ２１３の内部構成例を示すブロック図である。図中、コントローラＩＣ２１３は、所謂１チップＣＰＵとして構成され、ＣＰＵ２１３ａと、ＲＯＭ２１３ｂと、ＲＡＭ２１３ｃと、温度センサ２１３ｄと、上位ホストコントローラ２００と通信するための通信Ｉ／Ｆ（Ｉ２Ｃ）２１３ｅと、トランシーバＩＣ２１５と通信するための通信Ｉ／Ｆ（Ｉ２Ｃ）２１３ｆと、ＥＥＰＲＯＭ２１４と通信するための通信Ｉ／Ｆ（ＳＰＩ）２１３ｇと、温度モニタ・電圧モニタ等の値をＡ／Ｄ変換するＡ／Ｄ変換２１３ｈと、ＴｘＤｉｓａｂｌｅ（Ｉ）を入力する外部入力ピン２１３ｉと、ＴｘＦａｕｌｔ（Ｏ）及びＴｘＤｉｓａｂｌｅ（Ｏ）を出力する外部出力ピン２１３ｊとを備える。なお、Ｉ２ＣはInter-Integrated Circuit、ＳＰＩはSerial Peripheral Interfaceであり、いずれもシリアル通信を行うためのバスである。
【００１１】
図４，図５において、ＬＤＤ２１５aは、図示しないシステム機器から、ＴＤ＋、ＴＤ−の相補的（位相が１８０°異なる）信号を受け、これに対応してＬＤを駆動して光ファイバに対して信号光を発生する。また、コントローラＩＣ２１３において、外部から外部入力ピン２１３ｉへの情報信号又は外部出力ピン２１３ｊから外部への情報信号として、ＴｘＤｉｓａｂｌｅ（Ｉ）や、ＴｘＤｉｓａｂｌｅ（Ｏ），ＴｘＦａｕｌｔ（Ｏ）が設定されている。ＴｘＤｉｓａｂｌｅ（Ｉ），ＴｘＤｉｓａｂｌｅ（Ｏ）は、ＬＤの発光を強制的に断とする信号であり、ＴｘＦａｕｌｔ（Ｏ）は、ＬＤ自体、あるいはＬＤからの発光をモニタする回路等にエラーが発生し、ＬＤの発光強度の積分値を一定にするための帰還制御（ＡＰＣ）が正常に機能していないことを外部に知らせるための信号である。
【００１２】
また、ＬＩＡ２１５ｅは、光ファイバからの信号をＰＤで受信し、この受信信号から正規のデータ信号（ＲＤ＋，ＲＤ−）を再生して出力する。また、デジタルコア２１５ｄは、受信信号が微弱過ぎて正常にデータ信号を再生できないことを示すＬＯＳ（Loss Of Signal）信号を出力する。
【００１３】
図６は、従来の光トランシーバにおける、上位ホストコントローラからのデータ書き込み時、及びコントローラＩＣ起動時における処理例を説明するためのフロー図である。図６（Ａ）はコントローラＩＣの起動時におけるフローであり、図６（Ｂ）はホストコントローラからのデータ書き込み時（すなわち、Ｉ２Ｃ受信時）におけるフローである。
【００１４】
図４，図５において、コントローラＩＣ２１３は、起動時に、ＥＥＰＲＯＭ２１４に格納された各調整パラメータ値を読み込み、トランシーバＩＣ２１５のＴｘバイアス電流や変調電流を各レジスタ値へ設定する。また、コントローラＩＣ２１３は、上位ホストコントローラ２００からの書き込み要求を受信した場合は、ＲＡＭ２１３ｃ及びＥＥＰＲＯＭ２１４への書き込みを行う。
【００１５】
図６（Ａ）の起動時において、コントローラＩＣ２１３は、ＣＰＵ２１３ａによりポートを設定し、ＴｘＤｉｓａｂｌｅを“Ｈｉｇｈ（Ｄｉｓａｂｌｅ，光信号オフ）”にする（ステップＳ１０１）。そして、ＥＥＰＲＯＭ２１４に格納されている情報を取得し、ＲＡＭ２１３ｃにコピーする（ステップＳ１０２）。次に、ＲＡＭ２１３ｃにコピーした情報をトランシーバＩＣ２１５に送信し、トランシーバＩＣ２１５はこれをレジスタに書き込む（ステップＳ１０３）。最後に、ＣＰＵ２１３ａによりポートを設定し、ＴｘＤｉｓａｂｌｅを“Ｌｏｗ（Ｅｎａｂｌｅ，光信号オン）”にする（ステップＳ１０４）。
【００１６】
図６（Ｂ）のデータ書き込み時において、コントローラＩＣ２１３は、ホストコントローラ２００からＩ２Ｃバスを介してデータを受信すると、ＥＥＰＲＯＭ２１４のアドレスをチェックし（ステップＳ１１１）、ＥＥＰＲＯＭ２１４の書き込み可能レベルをチェックする（ステップＳ１１２）。ここで、レベルが“Ｌｅｖｅｌ０”である場合、そのまま終了し、また、レベルが“Ｌｅｖｅｌ２”である場合、ホストコントローラ２００からの受信データを取得し、ＲＡＭ２１３ｃへコピーし（ステップＳ１１３）、さらに、ＲＡＭ２１３ｃにコピーしたデータをＥＥＰＲＯＭ２１４に書き込む（ステップＳ１１４）。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００４−２２２２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
このように、従来の光トランシーバによれば、ホストコントローラからのＥＥＰＲＯＭ書き込みトランザクションに応答する際に、一旦、データをＲＡＭ（キャッシュ）にコピーしてから、その都度ＲＡＭのデータをＥＥＰＲＯＭ（不揮発性メモリ）へ書き込んでいた。
【００１９】
ここで、例えば、Ｔｘバイアス電流や変調電流の設定値(ＤＡＣ値)、温度補正用のメモリマップ（Look-Up Table）、各モニタ値換算用の補正パラメータ等のパラメータ（以下、総称して調整データという）は、製品出荷前に工場での調整工程で最適値に設定される。これらの調整データは、調整しながら設定値が繰り返し更新されるため、更新・設定のたびに、ＥＥＰＲＯＭへ書き込みトランザクションが生じることになる。ＥＥＰＲＯＭはその性質上、書き込み回数に制限があるため、調整時の書き込み回数が増大した場合、製品出荷された後の書き込み許容回数を低減させてしまうという問題がある。
また、ＥＥＰＲＯＭの特定の１ｂｙｔｅが壊れた場合でも、壊れた値で、トランシーバＩＣに設定し、動作するため、Eye Safety（目に対する安全性）の観点からも問題がある。
【００２０】
本発明は、上述のような実情に鑑みてなされたもので、製品出荷前の調整工程等において、光トランシーバにおける不揮発性メモリ（ＥＥＰＲＯＭなど）への書き込み回数を低減することができるメモリ書き込み方法及び光トランシーバを提供すること、を目的とする。
【課題を解決するための手段】
【００２１】
本発明によるメモリ書き込み方法は、光信号を外部に送信する光送信サブアセンブリと、外部からの光信号を受信する光受信サブアセンブリと、不揮発性の第１のメモリと、第２のメモリと、第１のメモリ及び第２のメモリにアクセス可能なコントローラ部とを備えた光トランシーバによるメモリ書き込み方法であって、コントローラ部が、光トランシーバの調整データの書き込み要求に対して、調整データを第２のメモリに保存し、調整データに対するチェックコードの書き込み要求に対して、チェックコードと共に、第２のメモリに保存された調整データを第１のメモリに書き込む。
【００２２】
本発明による光トランシーバは、光信号を外部に送信する光送信サブアセンブリと、外部からの光信号を受信する光受信サブアセンブリとを備えた光トランシーバであって、光トランシーバの調整データ及び調整データに対するチェックコードを記憶する不揮発性の第１のメモリと、第２のメモリと、第１のメモリ及び第２のメモリにアクセス可能なコントローラ部とを備える。コントローラ部は、調整データの書き込み要求に対して、調整データを第２のメモリに保存し、調整データに対するチェックコードの書き込み要求に対して、チェックコードと共に、第２のメモリに保存された調整データを第１のメモリに書き込む。
【発明の効果】
【００２３】
本発明によれば、工場での調整工程等において、不揮発性メモリ（ＥＥＰＲＯＭなど）に記憶しているＴｘバイアス電流、変調電流の設定値や、温度補正用のメモリマップ（Look-Up Table）等の調整データを更新する際に、その都度更新中のデータを不揮発性メモリに書き込まなくてよいため、不揮発性メモリへの書き込み回数を少なくすることができる。
【００２４】
また、不揮発性メモリに記憶されたデータが化けたり、壊れた場合でも、チェックコードが付与されているため、光トランシーバが誤った値で、動作し、発光することを防止することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の光トランシーバが備えるコントローラＩＣにおけるメモリマップの一例を示す図である。
【図２】本発明の光トランシーバにおける、上位ホストコントローラからのデータ書き込み時、及びコントローラＩＣ起動時における処理例を説明するためのフロー図である。
【図３】特許文献１に記載の光トランシーバの構成を説明するためのブロック図である。
【図４】図３に示した構成を取り入れた光トランシーバの一例を示すブロック図である。
【図５】図４に示したコントローラＩＣの内部構成例を示すブロック図である。
【図６】従来の光トランシーバにおける、上位ホストコントローラからのデータ書き込み時、及びコントローラＩＣ起動時における処理例を説明するためのフロー図である。
【発明を実施するための形態】
【００２６】
以下、添付図面を参照しながら、本発明のメモリ書き込み方法及び光トランシーバに係る好適な実施の形態について説明する。
【００２７】
図１は、本発明の光トランシーバが備えるコントローラＩＣにおけるメモリマップの一例を示す図である。本例では、前述の図４，図５に示した光トランシーバの構成に基づいて説明するものとする。図４，図５において、光トランシーバ２１０は、ＴＯＳＡ２１１と、ＲＯＳＡ２１２と、不揮発性の第１のメモリの一例であるＥＥＰＲＯＭ２１４と、第２のメモリの一例であるＲＡＭ２１３Ｃと、ＥＥＰＲＯＭ２１４及びＲＡＭ２１３ｃにアクセス可能なコントローラ部に相当するコントローラＩＣ２１３とを備える。なお、第２のメモリは揮発性のＲＡＭに限定されず、不揮発性メモリを用いてもよい。
【００２８】
ＥＥＰＲＯＭ２１４は、光トランシーバ２１０の調整データを記憶する調整データ領域（アドレス１２８〜２５４に対応する領域）と、調整データに対するチェックコードを記憶するチェックコード領域（アドレス２５５に対応する領域）とを有している。そして、コントローラＩＣ２１３は、調整データの書き込み要求に対して、調整データをＲＡＭ２１３ｃに保存し、調整データに対するチェックコードの書き込み要求に対して、チェックコードと共に、ＲＡＭ２１３ｃに保存された調整データをＥＥＰＲＯＭ２１４に書き込む。
【００２９】
すなわち、チェックコードの書き込み要求があった場合にのみ、ＲＡＭ２１３ｃに保存された調整データがＥＥＰＲＯＭ２１４に書き込まれるため、従来のように調整データの更新（書き込み）の都度、ＥＥＰＲＯＭ２１４への書き込みが行われないため、ＥＥＰＲＯＭ２１４への書き込み回数を低減することができる。例えば、ＲＡＭ２１３ｃに保存される光トランシーバ２１０のＴｘバイアス電流や変調電流などの設定値等（図１におけるテーブル，ＦＥｈ，ＦＦｈ）は、工場で最適値になるように調整され、確定した段階で、チェックコードがアドレス２５５に書き込まれると、ＥＥＰＲＯＭ２１４に書き込まれ保存される。
【００３０】
図１に示すメモリマップについて説明する。図１（Ａ）に示すメモリマップは光トランシーバ２１０としてのメモリマップであり、ＥＥＰＲＯＭ２１４あるいはＲＡＭ２１３ｃに対応しており、スレーブアドレスＡ０ｈを使ってコントローラＩＣ２１３がアクセスするものである。このメモリマップは２５６バイトの情報を含んでおり、図中、アドレス０〜９５に対応する領域１は、ＳＦＰ(Small Form factor Pluggable) ＭＳＡ（Multi Source Agreement）の定義するシリアル識別（ＩＤ）情報用の記憶領域であり、アドレス９６〜１２７に対応する領域２は、ベンダ別情報用の記憶領域であり、アドレス１２８〜２５５に対応する領域３は、ＳＦＰ ＭＳＡにより留保（リザーブ）される記憶領域である。
【００３１】
また、図１（Ｂ）に示すメモリマップは光トランシーバ２１０としてのメモリマップであり、ＥＥＰＲＯＭ２１４あるいはＲＡＭ２１３ｃに対応しており、スレーブアドレスＡ２ｈを使ってコントローラＩＣ２１３がアクセスするものである。このメモリマップは２５６バイトの情報を含んでおり、図中、アドレス０〜５５に対応する領域４は、アラーム及び警告閾値情報用の記憶領域（５６ｂｙｔｅ）であり、アドレス５６〜９５に対応する領域５は、校正定数用の記憶領域（４０ｂｙｔｅ）であり、アドレス９６〜１１９に対応する領域６は、リアルタイム診断インターフェイス情報用の記憶領域（２４ｂｙｔｅ）である。
【００３２】
また、アドレス１２０〜１２２に対応する領域７は、ベンダ別情報用の記憶領域であり、アドレス１２３〜１２６に対応する領域８は、パスワード用の記憶領域であり、アドレス１２７に対応する領域９は、テーブル用の記憶領域である。
【００３３】
さらに、アドレス１２８〜２４７に対応するユーザ書き込み可能ＥＥＰＲＯＭ用の領域１０と、アドレス２４８〜２５５に対応するベンダ別情報用の領域１１とには、スレーブアドレス００ｈ又は０１ｈによりアクセスすることができる。
【００３４】
また、図１（Ｂ）において、スレーブアドレスＦＥｈにより第１調整エリア１２及び第１チェックサムエリア１３にアクセスされ、スレーブアドレスＦＦｈにより第２調整エリア１４及び第２チェックサムエリア１５にアクセスされる。アドレス１２８〜２５４の第１調整エリア１２に対応する調整データ領域(Table ＦＥｈ)や、アドレス１２８〜２５４の第２調整エリア１４に対応するLook-Up Table領域(Table ＦＦｈ)には、上記Ｔｘバイアス電流や変調電流の設定値や、温度補正用のメモリマップ、各モニタ値換算用の補正パラメータ等を含む調整データが記憶されており、各Ｔａｂｌｅのアドレス１２８〜２５４に対するチェックコードをチェックサム値としてアドレス２５５に割り当てている。
【００３５】
本例では、チェックコードとして、アドレス１２８〜２５４のデータを加算した下位１ｂｙｔｅを記憶するが、ＸＯＲ論理で計算した結果に１引いた値を格納する算出方法や、ＣＲＣ−８を格納する方式としても良い。
【００３６】
図２は、本発明の光トランシーバにおける、上位ホストコントローラからのデータ書き込み時、及びコントローラＩＣ起動時における処理例を説明するためのフロー図である。図２（Ａ）はコントローラＩＣの起動時におけるフローであり、図２（Ｂ）はホストコントローラからのデータ書き込み時（すなわち、Ｉ２Ｃ受信時）におけるフローである。なお、本例では、前述の図４，図５に示した光トランシーバの構成に基づいて説明するものとする。
【００３７】
図２（Ａ）の起動時（あるいはリセット時）において、コントローラＩＣ２１３は、ＣＰＵ２１３ａによりポートを設定し、ＴｘＤｉｓａｂｌｅを“Ｈｉｇｈ（Ｄｉｓａｂｌｅ，光信号オフ）”、ＴｘＦａｕｌｔを“Ｌｏｗ（正常）”にする（ステップＳ１）。そして、ＥＥＰＲＯＭ２１４に格納されている調整データ（アドレス１２８〜２５４に対応）を取得し、この調整データをＲＡＭ２１３ｃの調整データ領域にコピーする（ステップＳ２）。
【００３８】
次に、コントローラＩＣ２１３は、ＲＡＭ２１３ｃにコピーされた調整データに対してチェックコードとして、チェックサム値を計算する（ステップＳ３）。そして、算出したチェックサム値がＥＥＰＲＯＭ２１４に書き込まれたチェックサム値（アドレス２５５に対応）と一致するか否かを判定する（ステップＳ４）。
【００３９】
コントローラＩＣ２１３は、ステップＳ４において、両者が一致する場合（一致の場合）、ＲＡＭ２１３ｃにコピーした調整データをトランシーバＩＣ２１５に送信し、トランシーバＩＣ２１５はこれをレジスタに書き込む（ステップＳ５）。そして、ＣＰＵ２１３ａによりポートを設定し、ＴｘＤｉｓａｂｌｅを“Ｌｏｗ（Ｅｎａｂｌｅ，光信号オン）”、ＴｘＦａｕｌｔを“Ｌｏｗ（正常）”にする（ステップＳ６）。
【００４０】
また、コントローラＩＣ２１３は、ステップＳ４において、両者が一致しない場合（不一致の場合）、ＣＰＵ２１３ａによりポートを設定し、ＴｘＤｉｓａｂｌｅを“Ｈｉｇｈ（Ｄｉｓａｂｌｅ，光信号オフ）”、ＴｘＦａｕｌｔを“Ｈｉｇｈ（異常）”にする（ステップＳ７）。
【００４１】
このように、コントローラＩＣ２１３が、電源起動時あるいはリセット時に、ＥＥＰＲＯＭ２１４に書き込まれた調整データをＲＡＭ２１３ｃにコピーし、ＲＡＭ２１３ｃにコピーされた調整データに対してチェックコードを算出し、算出したチェックコードがＥＥＰＲＯＭ２１４に書き込まれたチェックコードと一致するか否かを判定し、不一致の場合に、光トランシーバの光信号の出力を停止させる。
【００４２】
上記のチェックコードを付与することにより、ＥＥＰＲＯＭに記憶されたデータが化けたり、壊れた場合に、光トランシーバが誤った値で、動作し、発光することを防止することができる。
【００４３】
図２（Ｂ）のデータ書き込み時において、コントローラＩＣ２１３は、ホストコントローラ２００からＩ２Ｃバスを介してデータを受信すると、ＥＥＰＲＯＭ２１４のアドレスをチェックし（ステップＳ１１）、受信データがアドレス１２８〜２５４の調整データ領域に書き込むべきデータであるか否かを判定する（ステップＳ１２）。ここで、受信データが調整データ領域に書き込むべきデータであると判定した場合（ＹＥＳの場合）、ホストコントローラ２００からの受信データを取得し、ＲＡＭ２１３ｃへコピーする（ステップ１３）。
【００４４】
次に、コントローラＩＣ２１３は、ＲＡＭ２１３ｃにコピーした受信データのアドレスを判定し（ステップＳ１４）、受信データのアドレスがアドレス１２８〜２５４である場合（図中、アドレス１２８〜２５４の場合）、そのまま終了し、また、受信データのアドレスがアドレス２５５である場合（図中、アドレス２５５の場合）、その受信データ（チェックサム値：アドレス２５５に対応）と共に、ＲＡＭ２１３ｃに保存した受信データ（アドレス１２８〜２５４に対応）をＥＥＰＲＯＭ２１４に書き込む（ステップＳ１５）。なお、本例では、アドレス２５５のチェックサム値を、上位（ホストコントローラ）側で算出しておくものとする。
【００４５】
また、コントローラＩＣ２１３は、ステップＳ１２において、受信データが調整データ領域に書き込むべきデータではないと判定した場合（ＮＯの場合）、ホストコントローラ２００からの受信データを取得し、ＲＡＭ２１３ｃへコピーする（ステップＳ１６）。
【００４６】
このように、コントローラＩＣ２１３が、光トランシーバの調整データの書き込み要求に対して、調整データをＲＡＭ２１３ｃに保存し、調整データに対するチェックコードの書き込み要求に対して、チェックコード（チェックサム値）と共に、ＲＡＭ２１３ｃに保存された調整データをＥＥＰＲＯＭ２１４に書き込む。
【００４７】
これにより、工場での調整工程等において、ＥＥＰＲＯＭに記憶しているＴｘバイアス電流、変調電流の設定値や、温度補正用のメモリマップ（Look-Up Table）等の調整データを更新する際に、その都度更新中のデータをＥＥＰＲＯＭに書き込まなくてよいため、ＥＥＰＲＯＭへの書き込み回数を少なくすることができる。
【符号の説明】
【００４８】
１１０…ホスト、１２０…光トランシーバ、１２１…送信機、１２４…受信機、１２６…コントローラ、１２８…光インターフェイス、１３４…キャッシュメモリ、１４６…ＥＥＰＲＯＭ、２００…ホストコントローラ、２１０…光トランシーバ、２１１…ＴＯＳＡ、２１２…ＲＯＳＡ、２１３…コントローラＩＣ、２１３ａ…ＣＰＵ、２１３ｂ…ＲＯＭ、２１３ｃ…ＲＡＭ、２１３ｄ…温度センサ、２１３ｅ〜２１３ｇ…通信Ｉ／Ｆ、２１３ｈ…Ａ／Ｄ変換、２１３ｉ…外部入力ピン、２１３ｊ…外部出力ピン、２１４…ＥＥＰＲＯＭ、２１５…トランシーバＩＣ、２１５ａ…ＬＤＤ、２１５ｂ…ＡＰＣ、２１５ｃ…ＤＡＣ、２１５ｄ…デジタルコア、２１５ｅ…ＬＩＡ。
【図１】
2010160679.tif 000003
【図２】
2010160679.tif 000004
【図３】
2010160679.tif 000005
【図４】
2010160679.tif 000006
【図５】
2010160679.tif 000007
【図６】
2010160679.tif 000008