(57)【要約】【課題】  光トランシーバモジュールの作動開始後、レーザの光出力パワー・レベルを早期に安定化可能とする。    【解決手段】  光通信用の光トランシーバモジュール３０は、送信機３２、受信機３４、コントローラ３６を有する。コントローラ３６は、送信機３２、受信機３４に接続されており、また、トランシーバ・オペレーション・コードを有する。このトランシーバ・オペレーション・コード中には複数のタスク・コード・モジュールが含まれ、各タスク・コード・モジュールは、光トランシーバ・モジュール３０を制御する複数のタスクのうち、少なくとも一つをそれぞれ備えており、各タスクには優先順位が付与されている。トランシーバ・オペレーション・コードは、各タスク・コードが、付与された優先順位に基づく順番で実行されるように構成された優先順位コードを有する。    【選択図】    図１
2004222295.tif 000002
【特許請求の範囲】
【請求項１】
送信機（３２）と、
受信機（３４）と、
前記送信機（３２）及び前記受信機（３４）に結合され、トランシーバ・オペレーション・コード（４８）を含むコントローラ（３６）が備えられており、前記トランシーバ・オペレーション・コードが、
複数のタスク・コード・モジュールであって、光トランシーバ・モジュールを制御するための複数のタスクのうち少なくとも１つのタスクを実施する命令をそれぞれが含み、それぞれに優先順位が割り当てられている、複数のタスク・コード・モジュールと、
優先度コードであって、前記コントローラが、前記割り当てられた優先順位に基づいて、複数のタスク・コード・モジュールを実行する順番を管理するように構成された優先度コードと、
を備えることを特徴とする、光通信のための光トランシーバ・モジュール（３０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、光トランシーバ・モジュールに関するものであり、とりわけ、トランシーバ・モジュールの動作を制御するコントローラと連係して動作する送信機及び受信機を用いた、光トランシーバ・モジュールに関するものである。
【背景技術】
【０００２】
データ通信における光ファイバ・テクノロジの利用は、急速なペースで拡大し続けている。コンピュータ、電話、及び、計測システムの接続には、光ファイバ伝送リンクが広く用いられている。光ファイバ・システムには、銅の導体を用いたシステムに対して途方もなく大きい利点がある。光ファイバ・システムは、銅による導体システムよりも小さく、軽いだけでなく、完全な電気絶縁性、極めて高速な広帯域機能、ノイズと広スペクトルの干渉の両方に対する完全なイミュニティ（耐性）をもたらす。最も重要なのは、光ファイバ通信リンクが、銅による導体システムよりはるかに低コストという点である。
【０００３】
基本的な光ファイバ通信リンクは、３つのコンポーネント、すなわち、送信機、受信機、及び、光ファイバ・ケーブルを備えている。送信機には、電流を光信号に変換する発光素子が含まれている。発光素子は、一般に、発光ダイオード、レーザ・ダイオード、または、面発光レーザ（ＶＣＳＥＬ）である。受信機には、光信号を変換して、電流に戻す光検出素子（受光素子）が含まれている。光検出素子は、一般に、ＰＩＮダイオード（ｐｏｓｉｔｉｖｅ−ｉｎｔｒｉｎｓｉｃ−ｎｅｇａｔｉｖｅ  ｐｈｏｔｏｄｉｏｄｅ）である。光ファイバ・ケーブルは、送信機と受信機を接続し、それらの間で光信号を伝送する。
【０００４】
しかし、より一般的には、光ファイバ・リンクには、１対の光ファイバ・ケーブルによって結合された１対の光トランシーバが含まれている。光トランシーバは、送信機と受信機を組み合わせて、光データの送信と受信の両方に必要な、全ての所要の電気／光変換を可能にする一つのユニットをなすものである。第１のトランシーバの送信機は、一方の光ファイバ・ケーブルを介して、光信号の形をなすデータを第２のトランシーバの受信機に送り、第２の送信機は、引き続き、光信号を電気信号に変換する。同様に、第２のトランシーバの送信機は、もう一方の光ファイバ・ケーブルを介して、光信号を第１のトランシーバの受信機に送る。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、光トランシーバは、「ハード・コード」された（ハードウェアで組まれた）集積回路として構成されてきた。換言すれば、このようにして構成されるトランシーバには、集積回路をなすように設計された複数の個別回路が含まれており、各個別回路には、単一タスクを実施するように構成された複数のトランジスタが含まれている。ハード・コード化デザインによれば、高速のトランシーバ動作が可能になるが、柔軟性がなく、何らかの理由で、設計基準を満足することができない場合に、修正するのが困難である。回路の機能または動作パラメータを修正または変更するためには、集積回路の再設計及び再製品化が必要になる場合が多い。これは、レーザ・バイアス回路のような、その動作が環境条件に影響されやすい回路に関して、とりわけ重要である。
【０００６】
また、光ファイバ通信の用途が増大し続けるにつれて、トランシーバは、より多くの複雑な機能を果たす設計が施されるようになり、ユーザは、数の増え続けるトランシーバ・モジュールの操作条件及びパラメータに関する測定及び報告を要求するようになっている。従って、こうしたタスクを実施することが要求されるハード・コード化回路は、とりわけ、初期設計が動作基準を満たすことができない場合には、設計及び製造がますます複雑で、コストのかかるものになる。さらに、光テクノロジが、急速なペースで進歩し続けるにつれて、ハード・コード化設計を用いた既存のトランシーバは、新たな進歩の利用に適応することができず、すぐに陳腐化してしまう可能性がある。
【０００７】
とりわけ、レーザを用いる、光トランシーバ・モジュールは、ユーザに対して最適な性能を提供するため、トランシーバが、動的な動作環境により容易に適応し、テクノロジの進歩を組み込むことができるように、より柔軟な制御方式の恩恵に浴することが求められている。
【課題を解決するための手段】
【０００８】
本発明の態様の１つによれば、光通信用の光トランシーバ・モジュールが得られる。光トランシーバ・モジュールには、送信機、受信機、及び、コントローラが含まれている。コントローラは、送信機及び受信機に結合され、トランシーバ・オペレーション・コードを含んでいる。トランシーバ・オペレーション・コードには、複数のタスク・コード・モジュールであって、光トランシーバ・モジュールを制御するための複数のタスクのうち少なくとも１つのタスクを実施する命令をそれぞれが含む、複数のタスク・コード・モジュールが含まれている。各タスクには、優先順位が割り当てられている。トランシーバ・オペレーション・コードには、さらに、割り当てられた優先順位に基づいて、コントローラが複数のタスク・コード・モジュールを実行する順番を管理するように構成された優先度コードが含まれている。
【発明を実施するための最良の形態】
【０００９】
望ましい実施態様に関する下記の詳細な説明では、その一部をなし、例証として、本発明を実施することが可能な特定の実施態様が示されている、添付の図面を参照する。もちろん、他の実施態様を利用することも可能であり、本発明の範囲を逸脱することなく、構造または論理上の変更を加えることも可能である。従って、下記の詳細な説明は、本発明を限定するものととらえるべきではなく、本発明の範囲は、本明細書に添付されている特許請求の範囲によって規定される。
【００１０】
図１には、本発明による光トランシーバ・モジュールの全体が３０で例示されている。光トランシーバ・モジュール３０には、送信機３２、受信機３４、及び、コントローラ３６が含まれている。コントローラ３６は、経路３８を介して、送信機３２及び受信機３４に結合され、通信を行う。送信機３２には、経路４１を介して電気入力信号を受信し、光ファイバ４２を介して送り出される光出力信号に変換するように構成された発光素子４０が含まれている。実施態様の１つでは、発光素子４０はレーザである。実施態様の１つでは、送信機３２は集積回路である。受信機３４には、光ファイバ４６を介して受信する光入力信号を検出し、経路４７を介して送り出される電気信号に変換するように構成された光検出素子４４が含まれている。実施態様の１つでは、受信機３４は、集積回路である。
【００１１】
コントローラ３６には、トランシーバ・オペレーション・コード４８が含まれており、送信機３２及び受信機３４と連係して動作し、光トランシーバ・モジュール３０の動作に関連した複数のタスクを制御するように構成されている。コントローラ３６には、複数のタスク・コード・モジュールを含むトランシーバ・オペレーション・コード４８が含まれている。各タスク・コード・モジュールは、優先レベルが割り当てられており、光トランシーバ・モジュール３０の動作を制御するための複数のタスクのうち、少なくとも１つのタスクを実施する命令を含んでいる。トランシーバ・オペレーション・コード４８にはさらに、割り当てられた優先レベルに基づいて、コントローラ３６が複数のタスク・コード・モジュールを実行する順番を管理するように構成された優先度コードも含まれている。
【００１２】
送信機及び受信機と連係してコントローラを利用することによって、本発明による光トランシーバ・モジュール３０では、「ハード・コード」された集積回路を利用した従来の光トランシーバより柔軟な光トランシーバ設計が可能になる。例えば、光トランシーバ３０は、トランシーバの内部温度、レーザの出力パワー、及び、レーザ・バイアスといった、トランシーバの動作特性をモニタして、ユーザに報告するのにより適した構成になっており、より容易にそれを可能にする。さらに、優先度コードを用いて、割り当てられた優先レベル順にトランシーバ・モジュール３０の制御タスクを実行することによって、ほとんど失敗することなく、優先度の高いタスクを完了することが保証され、同時に、優先度の低いタスクを適時に完了することも保証されるので、コントローラ３６は、信頼性のあるトランシーバの動作をもたらすことになる。
【００１３】
図２には、本発明による光トランシーバ・モジュール３０の典型的な実施態様の１つが例示されている。光トランシ−バ・モジュール３０には、送信機３２、受信機３４、及び、コントローラ３６が含まれており、実施態様の１つでは、コントローラ３６は、中央演算処理装置（ＣＰＵ）６０及びメモリ・ブロック６２を具備し、さらに、メモリ・ブロック６２にトランシーバ・オペレーション・コード４８を含んでいるマイクロコントローラである。実施態様の１つでは、メモリ・ブロック６２は、電気的消去書き込み可能読み出し専用メモリ（ＥＥＰＲＯＭ）素子である。マイクロコントローラ（コントローラ）３６は、２線式直列接続のような、任意の適合するタイプの直列または並列接続である内部接続６４を介して、送信機３４及び受信機３６と電気的に結合されている。適合する直列２線式接続の１つは、ｈｔｔｐ：／／ｗｗｗ．ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ．ｐｈｉｌｉｐｓ．ｃｏｍ／ａｃｒｏｂａｔ／ｖａｒｉｏｕｓ／Ｉ２Ｃ＿Ｂｕｓ＿Ｓｐｅｃｉｆｉｃａｔｉｏｎ＿３．ｐｄｆでＰｈｉｌｌｉｐｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒから入手可能なＩ２Ｃ−Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎによって規定されているＩ２Ｃ接続である。内部接続６４がＩ２Ｃ接続の場合、送信機３２、受信機３４、及び、マイクロコントローラ３６には、それぞれ、上述のＰｈｉｌｌｉｐｓの参考文献に解説されたＩ２Ｃインターフェイスが含まれる。実施態様の１つでは、光トランシーバ・モジュール３０は、参考までに本明細書において援用されている小形差込型（Ｓｍａｌｌ  Ｆｏｒｍ  Ｐｌｕｇｇａｂｌｅ＝ＳＦＰ）トランシーバに関するＳＦＦ−８０７４ｉ規格を遵守している。ＳＦＦ−８０７４ｉ規格は、ｈｔｔｐ：／／ｗｗｗ．ｓｆｆｃｏｍｍｉｔｔｅ．ｃｏｍ、または、ｆｔｐ：／／ｆｔｐ．ｓｅａｇａｔｅ．ｃｏｍ／ｓｆｆ／で入手可能である。
【００１４】
送信機３２には、レーザ７２、レーザ出力パワー検知回路７４、レーザ・バイアス電流検知回路７５、レーザ・バイアス電流制御回路７６、レーザ変調電流制御回路７７、温度検知回路７８、電圧検知回路８０、及び、メモリ・ブロック８２が含まれている。レーザ・バイアス電流制御回路７６は、レーザ７２の平均光パワーを制御し、一方、レーザ変調電流制御回路７７は、Ａ／Ｃ変調を制御する。実施態様の１つでは、送信機３２は、集積回路である。実施態様の１つでは、レーザは、光ファイバ４２に接続可能であり、それを介して光出力信号を送り出す、面発光レーザ（ＶＣＳＥＬ）である。実施態様の１つでは、メモリ・ブロック８２は、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）素子である。実施態様の１つでは、送信機３２は、外部接続８６を介して外部ホスト８４に接続可能である。外部接続８６は、２線式直列接続のような、適合する任意のタイプの直列または並列接続である。適合する２線式直列接続は、ｈｔｔｐ：／／ｗｗｗ．ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ．ｐｈｉｌｉｐｓ．ｃｏｍ／ａｃｒｏｂａｔ／ｖａｒｉｏｕｓ／Ｉ２Ｃ＿Ｂｕｓ＿Ｓｐｅｃｉｆｉｃａｔｉｏｎ＿３．ｐｄｆでＰｈｉｌｌｉｐｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒから入手可能なＩ２Ｃ−Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎによって規定されているＩ２Ｃ接続である。ホスト８４は、カスタマインターフェイスまたはテスト装置とすることが可能である。外部接続８６がＩ２Ｃ接続の場合、送信機３２及びホスト８４には、Ｐｈｉｌｌｉｐｓの参考文献に解説のＩ２Ｃインターフェイスが含まれている。内部接続６４及び外部接続８６が、Ｉ２Ｃ接続として構成される場合、送信機メモリ・ブロック８２は、バッファとして利用され、マイクロコントローラ３６及びホスト８４は、標準Ｉ２Ｃプロトコルを利用し、内部接続６４、メモリ・ブロック８２、及び、外部接続８６を介して通信を行う。
【００１５】
レーザ出力パワー検知回路７４は、レーザ７２によって得られる平均光出力パワーを測定し、その値を送り出すように構成されている。実施態様の１つでは、レーザ出力パワー検知回路７４には、レーザ７２から送り出される光出力信号をサンプリングし、レーザ７２の光出力パワーを表す値を有する電流を生じるフォトダイオードが含まれている。レーザ・バイアス電流検知回路７５は、レーザ７２の平均バイアス電流を測定し、それを表わす値を送り出すように構成されている。温度検知回路７８は、光トランシーバ・モジュール３０の温度を測定し、それを表わす値を送り出すように構成されている。電圧検知回路８０は、送信機３２に対する供給電圧９２を測定し、それを表わす値を送り出すように構成されている。上述の値は、内部接続６４を介して、マイクロコントローラ３６に供給される。
【００１６】
受信機３４には、さらに、光検出素子４４と、光入力パワー検知回路８８が含まれている。実施態様の１つでは、受信機３４は、集積回路である。実施態様の１つでは、光検出素子４４は、光ファイバ４６に接続可能であり、それを介して光入力信号を受信するＰＩＮダイオードである。光入力パワー検知回路８８は、光ファイバ４６を介して受信する光入力信号の平均パワーまたはピーク・ピーク・パワーを測定し、それを表す値を、内部接続６４を介してマイクロコントローラ３６に供給するように構成されている。
【００１７】
使用できるようにするため、まず、光トランシーバ・モジュール３０を初期化して、較正しなければならない。モジュール初期化には、光トランシーバ・モジュール３０の起動毎に行われる複数のタスクの実行が必要になる。初期化時に行われるタスク例には、マイクロコントローラ３６内の複数のレジスタの顧客に合わせた設定、及び、マイクロコントローラ３６内の複数のレジスタのクリアがある。較正は、一般に、製造プロセスの一部として実施され、モジュールを「顧客が使用可能な状態」にするため、光トランシーバ・モジュール３０に一般的な顧客データとモジュール特有の顧客データの両方をアップロードする、複数のタスクを必要とする。換言すれば、光トランシーバ・モジュール３０には、設計及び性能要件に従って、予想される全てのタスクを実施できるようにするデータがアップロードされる。これに関して、本発明による各光トランシーバ・モジュールは、個々の顧客に固有の動作環境における動作に合わせて「調整する」ことが可能である。
【００１８】
モジュールの較正及び初期化が完了すると、光トランシーバ・モジュール３０は、動作可能になり、光データの送受信が可能になる。しかし、信頼性のある動作を可能にするには、マイクロコントローラ３６は、タスク・コード・モジュールに割り当てられた優先レベルに基づいて、光トランシーバ・モジュール３０の動作を制御するための複数のタスク・コード・モジュールを実行しなければならない。実施態様の１つでは、トランシーバ・オペレーション・コード４８の優先度コードには、マイクロコントローラ３６によって複数のタスク・コード・モジュールが実行される、タイミング、順序、及び、頻度を制御する入れ子型ループが含まれている。
【００１９】
実施態様の１つでは、マイクロコントローラ３６には、複数のオペレーション・コード・モジュールが含まれており、各オペレーション・コード・モジュールには、少なくとも１つのタスク・コード・モジュールが含まれている。実施態様の１つでは、複数のオペレーション・コード・モジュールには、少なくともレーザ・モニタ・オペレーション・コード・モジュールと、システム・モニタ・オペレーション・コード・モジュールが含まれている。レーザ・モニタ・オペレーション・コード・モジュールには、レーザ７２の光出力パワーをモニタして、所望の目標レベルに維持するための複数のタスク・コード・モジュールが含まれている。システム・モニタ・オペレーション・コード・モジュールには、複数の光トランシーバ・モジュール３０の動作パラメータをモニタする複数のタスクが含まれている。動作パラメータの例には、トランシーバ・モジュール３０の温度、及び、レーザ７２の平均バイアス電流がある。レーザ７２のモニタは、マイクロコントローラ３６の重要なタスクであり、最高のタスク優先レベルが割り当てられている。システム・モニタ・モジュールに関連したタスクのような他のタスクは、モニタ・レーザ７２のタスクから「時間区分化」されており（ｔｉｍｅ−ｐａｒｔｉｔｉｏｎｅｄ）、レーザ・モニタを制御するタスクに付与されるほど多くのＣＰＵ６０処理時間量は付与されない。
【００２０】
図３は、レーザ・モニタ及びシステム・モニタ・オペレーション・コード・モジュールに関連したタスクの実行に優先順位を付けて、図２に例示の光トランシーバ・モジュール３０の動作を制御するため、マイクロコントローラ３０によって用いられるプロセスの典型的な実施態様の１つを例示した流れ図１００である。プロセス１００は、モジュール較正／初期化の完了後、ステップ１０２から開始される。プロセス１００は、次に、ステップ１１０において、レーザ・モニタ・オペレーション・コード・モジュールに進み、レーザ７２の動作がモニタされ、制御される。ステップ１１０のレーザ・モニタ・オペレーション・コード・モジュールには、レーザ７２の光出力パワー・レベルをモニタして、出力パワーを所望の目標値にほぼ等しいレベルに維持するため、必要に応じて、レーザ・バイアス電流制御回路７６によってレーザ７２に供給されるバイアス電流を調整する複数のタスクが含まれている。
【００２１】
ステップ１１０におけるレーザ・モニタ・オペレーション・コード・モジュールには、さらに、１１１で表示の、レーザ７２を初期化するための複数のタスクが含まれている。レーザ初期化には、レーザ７２をパワー・オフ状態から所望の目標出力パワー・レベルにするためのタスクの実行が必要とされる。レーザ７２の初期化を制御するためのタスクは、一般に、他のレーザ・モニタ・オペレーション・コード・モジュール・タスク程の頻度では実行されない。一般に、レーザ初期化を制御するタスクは、トランシーバ・モジュール３０の初期起動後か、または、システムの障害によってレーザ７２の停止及び再初期化が必要になった後に限って実行される。以下では、レーザ初期化１１１に関連したタスクを含む、ステップ１１０におけるレーザ・モニタ・オペレーション・コード・モジュールに関連したタスクの実行についてさらに詳述することにする。
【００２２】
マイクロコントローラ３６が、ステップ１１０におけるレーザ・モニタ・オペレーション・コード・モジュールに関連した複数のタスクを実行すると、プロセス１００は、ステップ１１２に移行し、レーザ・モニタ・ループ・カウンタが、値１だけインクリメントされる。プロセス１００は、次に、ステップ１１４に進み、マイクロコントローラ３６は、ループ・カウンタがしきい値に等しいか否かを問い合わせる。実施態様の１つでは、レーザ・モニタ・ループ・カウンタに関するしきい値は８である。プロセス１００のステップ１１４において、ループ・カウンタのしきい値が「８」であることが示されるが、この値は、レーザ・モニタ・オペレーション・コード・モジュール・タスクに割り当てることが要求されるＣＰＵ６０処理時間量に応じて、増／減可能である。ステップ１１４において、ループ・カウンタの値が８未満の場合、プロセス１００は、ステップ１１０に戻り、マイクロコントローラ３６は、再び、レーザ・モニタ・オペレーション・コード・モジュールの複数のタスクを実行する。ループ・カウンタの値が８の場合、マイクロコントローラ３６は、レーザ７２が十分に安定しているものと判断し、プロセス１００は、ステップ１１６に進んで、システム・モニタ・オペレーション・コード・モジュールに関連した複数のタスクが実施される。
【００２３】
ステップ１１６におけるシステム・モニタ・オペレーション・コード・モジュールには、光トランシーバ・モジュール３０の動作を制御するのに役立つシステム動作パラメータをモニタして、調整するための複数のタスクが含まれている。さまざまな値をモニタして、調整するが、タスクは、主として、環境条件、及び、システム・エラーの補正に関して光トランシーバ・モジュール３０のシステム動作パラメータを調整することに関連したものである。マイクロコントローラ３６は、システム・モニタ・オペレーション・コード・モジュールの少なくとも１つのタスクを実行すると、レーザ・モニタ・ループ・カウンタを０にセットし、プロセス１００は、ステップ１１０に戻り、もう一度、レーザ７２をモニタするタスクの実行を開始する。ステップ１１６において行われるシステム・モニタ・オペレーション・コード・モジュール・タスクの実行については、さらに詳細に後述することにする。
【００２４】
割り込み・オペレーション・コード・モジュール１１８には、マイクロコントローラ３６がさまざまな送信元から受信するさまざまなタイプの割り込み信号に応答して実行される、複数のタスクを制御するための複数のタスク・コード・モジュールが含まれている。マイクロコントローラ３６は、割り込み信号に応答して、まず、レーザ及びシステム・モニタ・タスクの優先順位付けされたプロセスを中断し、受信した割り込み信号のタイプを判定する。割り込み信号のタイプに応じて、マイクロコントローラ３６は、対応する複数のタスク・コード・モジュールをすぐに実行してから、レーザ及びシステム・モニタ・タスクの優先順位付けされたプロセスを再開するか、あるいは、割り当てられた優先レベルに基づいて、他のタスク・コード・モジュールと共に前記複数のタスク・コード・モジュールを実行する。割り込みモジュール１１８については、さらに詳細に後述する。
【００２５】
図３の流れ図１００には、システム・モニタ・タスクに関連したタスクと対照して、レーザ７２のモニタに関連したタスクを実施するため、マイクロコントローラ３６によって付与された優先順位が例示されている。従って、流れ図１００は、レーザ７２によって送り出される光出力信号のパワーをモニタし、制御する操作のクリティカルな特性を反映している。レーザ・モニタ・ループ・カウンタの値が８の場合、レーザ・モニタ・オペレーション・コード・モジュールに関連したタスクは、システム・モニタ・オペレーション・コード・モジュールに関連したタスクが１回実行される毎に、８回実行される。
【００２６】
図４は、図３のステップ１１２及び１１４で概略を説明した、レーザ７２をモニタするためのプロセス１２０の典型的な実施態様の１つを例示した流れ図である。プロセス１２０は、光トランシーバ・モジュール３０の較正及び初期化が完了した後、ステップ１０２から開始される。プロセス１２０は、次に、ステップ１２２に進み、マイクロコントローラ３６が、レーザ７２がオンか否かを問い合わせる。ステップ１２２の問い合わせに対する返答が「はい」の場合、プロセス１２０はステップ１２４に進む。
【００２７】
ステップ１２４において、マイクロコントローラ３６は、レーザ７２の出力パワーが安定しているか否かを判定する。マイクロコントローラ３６は、レーザ出力パワー検知回路７４から、レーザ７２の現在の出力パワー・レベル表した値を読み取る。マイクロコントローラ３６は、次に、レーザ７２の現在の出力パワー・レベルを表す値と、メモリ・ブロック６２に記憶されているレーザ７２の目標出力パワー・レンジとを比較する。現在の出力パワーを表す値が、目標出力パワー・レンジ内になければ、プロセス１２０は、ステップ１１１におけるレーザ初期化モジュールに進む。上述のように、レーザ初期化には、できるだけ速く、レーザ７２をパワー・オフ状態から所望のレンジ内のパワー・レベルを有する出力信号を送り出せる状態にするための複数のタスクを実行することが必要になる。レーザ７２の初期化については、さらに詳細に後述する。レーザ７２は、ステップ１１１で初期化されると、プロセス１２０はステップ１１２に進む。
【００２８】
ステップ１２４におけるレーザ７２の現在の出力パワーを表す値が、メモリ・ブロック６２に記憶されている目標レンジ内である場合、プロセス１２０は、ステップ１２６に進む。ステップ１２６において、マイクロコントローラ３６は、レーザ・バイアス電流が所望の目標レンジ内であるか否かを判定する。マイクロコントローラ３６は、レーザ・バイアス電流検知回路７５から、レーザ７２の現在のバイアス電流レベルを表わす値を読み取って、現実の値に変換する。マイクロコントローラ３６は、次に、現在のバイアス電流の現実の値とメモリ・ブロック６２に記憶されている目標バイアス電流目標レンジとを比較する。現在のバイアス電流レベルが所望の目標レンジ内であれば、プロセス１２０は、ステップ１１２に進む。
【００２９】
現在のバイアス電流レベルが、所望の目標レンジ内になければ、プロセス１２０は、ステップ１３０に進む。バイアス電流レベルが、所望の目標レンジ未満であれば、マイクロコントローラ３６は、レーザ・バイアス電流制御回路７６が、所定の増分量だけレーザ・バイアス電流を増大させるようにする。バイアス電流レベルが、所望の目標レンジを超えていると、マイクロコントローラ３６は、レーザ・バイアス電流制御回路７６が、所定の増分量だけレーザ・バイアス電流を減少させるようにする。バイアス電流の増／減後、プロセス１２０はステップ１１２に進む。
【００３０】
ステップ１１２において、マイクロコントローラ３６は、レーザ・モニタ・ループ・カウンタを値１だけインクリメントする。次に、プロセス１２０は、ステップ１１４に進み、マイクロコントローラ３６は、ループ・カウンタの値が８か否かを問い合わせる。前述のように、プロセス１２０において、ループ・カウンタのしきい値が８であることが示されるが、この値は、レーザ・モニタに割り当てることが要求されるＣＰＵ６０処理時間量に応じて、増／減可能である。モニタ・ループ・カウンタの値が８未満の場合、プロセス１２０は、ステップ１２２に戻り、レーザ７２のモニタリングに関連したタスクの実行を続ける。モニタ・ループ・カウンタの値が８の場合、レーザ７２は、十分に安定しているとみなされ、プロセス１２０は、ステップ１３２に進み、その時点において、システム・モニタ・オペレーション・コード・モジュールに関連したタスクが実行されることになる。
【００３１】
図５は、本発明による光トランシーバ３０に関するシステム・モニタ・プロセス１４０の典型的な実施態様の１つを例示した流れ図である。システム・モニタには、主として、環境の変化に関するさまざまなトランシーバ・モジュール３０の動作パラメータをモニタして、調整し、システム・エラーを補正し、保守を行うための複数のタスク・コード・モジュールが含まれている。実施態様の１つでは、複数のシステム・モニタ・タスク・コード・モジュールは、細分されて、３つのグループを形成しており、第１のグループは、第１の優先レベルが割り当てられ、第２のグループは、第２の優先レベルが割り当てられ、第３のグループは、第３の優先レベルが割り当てられているが、第１のグループに含まれるタスク・コード・モジュールは、優先順位が最高とみなされ、第３のグループのタスク・コード・モジュールは、優先順位が最低とみなされる。
【００３２】
システム・モニタ・プロセス１４０は、レーザ・モニタ・プロセス１２０のようなレーザ・モニタ・プロセスによって、マイクロコントローラ３６が、レーザ７２の働きを危うくすることなく、ＣＰＵ６０の処理時間をもっぱらシステム・モニタ・タスクに充てるのに十分なほど、レーザ７２が安定しているものとみなされると、ステップ１３２から開始される。プロセス１４０は、次に、ステップ１４２に進み、マイクロコントローラ３６は、第１のグループをなすモニタ・タスクから各タスク・コード・モジュールを実行する。第１のグループ内のタスク・コード・モジュールによって実施されるタスク例には、システム温度に基づいてレーザ７２の出力変調を調整すること、及び、レーザ７２の出力パワーをモニタして、目の防護のために停止できるように、アラームをセットすることがある。
【００３３】
第１のグループのグループをなすタスク・コード・モジュールが、全て、実行されると、プロセス１４０は、ステップ１４４に進み、マイクロコントローラ３６が、第２のグループからのタスク・コード・モジュールの１つを実行する。第２のグループ内のタスク・コード・モジュールによって実施されるタスク例には、レーザ出力パワーの温度調整、及び、送信機の供給電圧障害設定のモニタがある。実施態様の１つでは、マイクロコントローラ３６は、第２のグループからのタスク・コード・モジュールの循環リストを保守し、どのタスク・コード・モジュールが最後に実行されたかを監視する。循環リストの最後のタスク・コード・モジュールが実行されると、マイクロコントローラは、循環リストの最初のタスク・コード・モジュールに戻る。
【００３４】
第２グループからのタスク・コード・モジュールの１つを実行すると、プロセス１４０は、ステップ１４６に進み、システム・モニタ・ループ・カウンタが、値１だけインクリメントされる。プロセス１４０は、次に、ステップ１４８に進み、マイクロコントローラ３６は、システム・モニタ・ループ・カウンタ値が所定のしきい値に等しいか否かを問い合わせる。実施態様の１つでは、システム・モニタ・ループ・カウンタのしきい値は、２である。プロセス１４０のステップ１４８において、システム・モニタ・ループ・カウンタの値が２であると示されるが、この値は、第３グループからのシステム・モニタ・タスク・コード・モジュールの実行に、ＣＰＵ６０の処理時間をどれだけ充てるように要求されるかに応じて、増／減可能である。
【００３５】
システム・モニタ・ループ・カウンタ値が２未満の場合、プロセス１４０はステップ１５２に進む。システム・モニタ・ループ・カウンタ値が２の場合、プロセス１４０はステップ１５０に進み、マイクロコントローラ３６は、第３グループからのシステム・モニタ・タスク・コード・モジュールの１つを実行する。第３グループ内のタスク・コード・モジュールによって実施されるタスク例には、アラーム及び警告フラグのセッティング及びクリアがある。実施態様の１つでは、マイクロコントローラ３６は、第３グループからのタスク・コード・モジュールの循環リストを保守し、どのタスク・コード・モジュールが最後に実行されたかを監視する。循環リストの最後のタスク・コード・モジュールが実行されると、マイクロコントローラは、循環リストの最初のタスク・コード・モジュールに戻る。
【００３６】
第３グループからのタスク・コード・モジュールの１つを実行すると、マイクロコントローラ３６は、システム・モニタ・ループ・カウンタの値を０にセットし、プロセス１４０は、ステップ１５２に進む。ステップ１５２において、プロセス１４０は、レーザ・モニタ・プロセス１２０のようなレーザ・モニタ・プロセスに進む。
【００３７】
１１８における割り込み・オペレーション・コード・モジュールには、さまざまな送信元から受信するさまざまなタイプの割り込み信号に応答して実行される、複数のタスクを制御するための複数のタスク・コード・モジュールが含まれている。割り込み信号には複数のタイプがあり、割り込み信号のタイプに基づいて優先レベルが割り当てられた割り込み信号に応答して実行されるタスクを制御するためのタスク・コード・モジュールが設けられている。実施態様の１つでは、割り込み信号は、第１のタイプまたは第２のタイプである。
【００３８】
割り込み信号の受信に応答して、マイクロコントローラ３６は、まず、レーザ及びシステム・モニタ・タスク優先順位のプロセスを中断し、受信した割り込み信号のタイプを判定する。割り込み信号が第１のタイプであれば、マイクロコントローラ３６は、対応する複数のタスク・コード・モジュールをすぐに実行してから、レーザ及びシステム・モニタ・タスク優先順位のプロセスを再開する。第１のタイプの割り込み信号の例には、レーザ発光禁止信号及び故障信号がある。
【００３９】
割り込み信号が第２のタイプであれば、マイクロコントローラ３６は、レーザ及びシステム・モニタ・タスク優先順位のプロセス内における適正な位置に、対応する複数のタスク・コード・モジュールを配置して、その後、割り込み信号に関連した複数のタスクが、割り当てられた優先レベルに基づいて、他のタスク・コード・モジュールと共に実行される、優先順位付けプロセスを再開する。第２のタイプの割り込み信号例には、メモリにデータを書き込むホスト要求がある。
【００４０】
良質の光トランシーバ・モジュールが得られるようにするため、完璧に実施しなければならないタスクの１つは、レーザを始動させる、すなわち初期化することである。レーザの初期化には、できるだけ速く、レーザ７２をパワー・オフ状態から目標レンジ内のパワー・レベルを備えた出力信号を送り出せる状態にするための複数のタスクを実行することが必要になる。レーザ初期化は、一般に、トランシーバ・モジュール３０の起動後、または、トランシーバのシステム障害の後または発光禁止（ディゼイブル）の解除後に実施される。
【００４１】
図６Ａは、本発明に従ってレーザ７２を初期化するためのプロセス１６０の典型的な実施態様の１つを例示した流れ図である。初期化プロセス１６０は、例えば、図４に例示のレーザ・モニタ・プロセス１２０のステップ１２４におけるように、レーザ・モニタ・プロセスで、レーザ７２の出力パワーが安定していないと判定されると、ステップ１６２から開始される。プロセス１６０は、次に、ステップ１６４に進み、マイクロコントローラ３６によって、メモリ・ブロック６２からレーザ・バイアス電流シード値が読み取られる。シード値は、メーカにおいて、出力パワー・レベルが所望の出力パワー・レベル目標レンジ内の光出力信号をレーザ７２から生じさせることになった、レーザ・バイアス電流の値である。マイクロコントローラ３６は、シード値をレーザ・バイアス電流制御回路７６に記憶しておき、レーザ・バイアス電流制御回路７６によって、シード値にほぼ等しい（シード値にほぼ対応する）値のバイアス電流（ＩBIAS）によるバイアスがレーザ７２にかけられるようにする。
【００４２】
プロセス１６０は、次に、ステップ１６６に進み、マイクロコントローラ３６によって、光出力信号モニタ電流（ＩMON）の値がレーザ出力パワー検知回路７４から読み取られる。実施態様の１つにおいて、レーザ出力パワー検知回路７４には、レーザ７２によって送り出される光出力信号をサンプリングして、レーザ７２の光出力パワーを表す値を有するＩMON電流レベルを生じるフォトダイオードが含まれている。
【００４３】
プロセス１６０は、次に、ステップ１６８に進み、マイクロコントローラ３６によって、ステップ１６６からのＩMON値とメモリ・ブロック６２に記憶されているＩMONの所望の目標レンジが比較される。ＩMON値が所望のレンジ内である場合、プロセス１６０は、ステップ１７０に進み、レーザ・モニタ・プロセス１２０のステップ１１２に進む。ＩMON値が所望のレンジ内にない場合、プロセス１６０はステップ１７２に進む。
【００４４】
ステップ１７２において、マイクロコントローラは、レーザ・バイアス電流制御回路７６に、メモリ・ブロック６２に記憶されている一定値（Ｋ）だけレーザ・バイアス電流をインクリメントさせることによって、レーザ７２にインクリメントされたバイアス電流（ＩBIAS′）がかかるようにする。プロセス１６０は、次に、ステップ１７４に進み、マイクロコントローラ３６によって、レーザ７２にＩBIAS′によるバイアスがかかった後、レーザ出力パワー検知回路７４から送り出される光出力信号モニタ電流の値が読み取られる。光出力信号モニタ電流に関する新しい値は、ＩMON′と呼ばれる。
【００４５】
プロセス１６０は、次に、ステップ１７６に進み、マイクロコントローラ３６によって、ＩBIAS、ＩMON、ＩBIAS′、及び、ＩMON′を用いた数学的な外挿が実施され、結果として、所望の目標レンジ内の出力信号モニタ電流（ＩMON）が得られることになる、出力パワー・レベルを備えた光出力信号をレーザ７２から生じさせる、レーザ・バイアス電流の所望のレベルが計算される。プロセス１６０は、次に、ステップ１７８に進み、マイクロコントローラ３６は、レーザ・バイアス電流に関する計算値をレーザ・バイアス電流制御回路７６に記憶する。レーザ・バイアス電流制御回路７６は、次に、計算されたバイアス電流によってレーザ７２にバイアスをかけ、レーザ７２がほぼ所望のレンジ内の出力パワー・レベルを備えた光出力信号を送り出すようにする。
【００４６】
図６Ｂは、本発明に従ってレーザ７２を初期化するプロセス１８０の典型的な実施態様の１つを例示した流れ図である。プロセス１８０は、例えば、図４に例示のレーザ・モニタ・プロセス１２０のステップ１２４におけるように、レーザ・モニタ・プロセスで、レーザ７２の出力パワーが安定していないと判定されると、ステップ１８２から開始される。プロセス１８０は、次に、ステップ１８４に進み、マイクロコントローラ３６によって、メモリ・ブロック６２からレーザ・バイアス電流のシード値が読み取られる。シード値は、メーカにおいて、出力パワー・レベルが所望の出力パワー・レベル目標レンジ内の光出力信号をレーザ７２から生じさせることになった、レーザ・バイアス電流の値である。マイクロコントローラ３６は、シード値をレーザ・バイアス電流制御回路７６に記憶しておき、レーザ・バイアス電流制御回路７６によって、シード値にほぼ等しい（シード値にほぼ対応する）値のバイアス電流（ＩBIAS）によるバイアスがレーザ７２にかけられるようにする。
【００４７】
プロセス１８０は、次に、ステップ１８６に進み、マイクロコントローラ３６によって、光出力信号モニタ電流（ＩMON）の値がレーザ出力パワー検知回路７４から読み取られる。実施態様の１つにおいて、レーザ出力パワー検知回路７４には、レーザ７２によって送り出される光出力信号をサンプリングして、レーザ７２の光出力パワーを表す値を有するＩMON電流レベルを生じるフォトダイオードが含まれている。
【００４８】
プロセス１８０は、次に、ステップ１８８に進み、マイクロコントローラ３６によって、ステップ１８６において読み取られたＩMONとメモリ・ブロック６２に記憶されているＩMONに関する所望の目標値（ＩTARGET）との差（Δ）が求められる。プロセス１８０は、次に、ステップ１９０に進み、マイクロコントローラ３６は、メモリ・ブロック６２に記憶されるルックアップ・テーブルの索引としてΔ値を利用する。ルックアップ・テーブルには、レーザ７２が所望のレンジ内の出力パワー・レベルを備えた光出力信号を生じるようにするため、ＩBIASに加えなければならないΔ値に基づいた、所定の増分電流値（ＩINC）の索引が納められている。
【００４９】
プロセス１８０は、次に、ステップ１９２に進み、ＩINCの絶対値がメモリ・ブロック６２に記憶されている所望の値（θ）と比較される。ＩINCの絶対値がθ未満の場合、プロセス１８０は、ステップ１９４に進み、図４に例示されたレーザ・モニタ・プロセス１２０のステップ１１２に出る。ＩINCの絶対値がθ以上の場合、プロセス１８０はステップ１９６に進む。ステップ１９６において、マイクロコントローラ３６は、ＩBIASに増分電流値ＩINCを加え、ＩBIASのこの調整値をレーザ・バイアス電流制御回路７６に記憶する。次に、レーザ・バイアス電流制御回路７６は、結果として、レーザ７２からほぼ所望のレンジ内の出力パワー・レベルを備えた光出力信号が生じさせることになる、ＩBIASの調整値にほぼ等しい値のバイアス電流によってレーザ７２にバイアスをかける。
【００５０】
図６Ｃは、本発明に従ってレーザ７２を初期化するプロセス２００の典型的な実施態様の１つを例示した流れ図である。プロセス２００は、例えば、図４に例示のレーザ・モニタ・プロセス１２０のステップ１２４におけるように、レーザ・モニタ・プロセスで、レーザ７２の出力パワーが安定していないと判定されると、ステップ２０２から開始される。プロセス２００は、次に、ステップ２０４に進み、マイクロコントローラ３６によって、メモリ・ブロック６２からレーザ・バイアス電流シード値が読み取られる。シード値は、メーカにおいて、出力パワー・レベルが所望の出力パワー・レベル目標レンジ内の光出力信号をレーザ７２から生じさせることになった、レーザ・バイアス電流の値である。マイクロコントローラ３６は、シード値をレーザ・バイアス電流制御回路７６に記憶しておき、レーザ・バイアス電流制御回路７６によって、シード値にほぼ等しい（シード値にほぼ対応した）値のバイアス電流（ＩBIAS）によるバイアスがレーザ７２にかけられるようにする。
【００５１】
プロセス２００は、次に、ステップ２０６に進み、マイクロコントローラ３６によって、レーザ出力パワー検知回路７４から光出力信号モニタ電流（ＩMON）の値が読み取られる。実施態様の１つにおいて、レーザ出力パワー検知回路７４には、レーザ７２から送り出される光出力信号をサンプリングして、レーザ７２の光出力パワーを表す値を有するＩMON電流レベルを生じるフォトダイオードが含まれている。
【００５２】
プロセス２００は、次に、ステップ２０８に進み、マイクロコントローラ３６は、ステップ２０６において読み取られるＩMONとメモリ・ブロック６２に記憶されているＩMONの所望の目標値（ＩTARGET）との差（Δ）を求め、次に、Δ値に、やはりメモリ・ブロック６２に記憶されている利得値（ゲイン）を掛けて、調整Δ値＝（ＩMON−ＩTARGET）×（利得値）を生成する。
【００５３】
プロセス２００は、次に、ステップ２１０に進み、調整Δ値の絶対値がメモリ・ブロック６２に記憶されている所望の値（θ）と比較される。調整Δ値の絶対値がθ未満の場合、プロセス２００は、ステップ２１２に進み、図４に例示されたレーザ・モニタ・プロセス１２０のステップ１１２に進む。調整Δ値の絶対値がθ以上の場合、プロセス２００はステップ２１４に進む。ステップ２１４において、マイクロコントローラ３６は、ＩBIASから調整Δ値を引き、ＩBIASのこの調整値をレーザ・バイアス制御回路７６に記憶する。次に、バイアス電流制御回路７６は、結果として、ほぼ所望のレンジ内の出力パワー・レベルを備えた光出力信号がレーザ７２から生じさせることになる、ＩBIASの調整値にほぼ等しい値のバイアス電流によってレーザ７２にバイアスをかける。
【００５４】
図６Ｄは、本発明に従ってレーザ７２を初期化するプロセス２２０の典型的な実施態様の１つを例示した流れ図である。プロセス２２０は、例えば、図４に例示のレーザ・モニタ・プロセス１２０のステップ１２４におけるように、レーザ・モニタ・プロセスで、レーザ７２の出力パワーが安定していないと判定されると、ステップ２２２から開始される。プロセス２００は、次に、ステップ２２４に進み、マイクロコントローラ３６によって、メモリ・ブロック６２からレーザ・バイアス電流シード値が読み取られる。シード値は、メーカにおいて、出力パワー・レベルが所望の出力パワー・レベル目標レンジ内の光出力信号をレーザ７２から生じさせることになった、レーザ・バイアス電流に対応する値である。マイクロコントローラ３６は、シード値をレーザ・バイアス電流制御回路７６に記憶しておき、制御回路７６によって、シード値にほぼ等しい（シード値にほぼ対応する）値のバイアス電流（ＩBIAS）によるバイアスがレーザ７２にかけられるようにする。
【００５５】
プロセス２２０は、次に、ステップ２２６に進み、マイクロコントローラ３６によって、レーザ出力パワー検知回路７４から光出力信号モニタ電流（ＩMON）の値が読み取られる。実施態様の１つにおいて、レーザ出力パワー検知回路７４には、レーザ７２から送り出される光出力信号をサンプリングして、レーザ７２の光出力パワーを表す値を有するＩMON電流レベルを生じるフォトダイオードが含まれている。プロセス２２０は、次に、ステップ２２８に進み、マイクロコントローラ３６は、ステップ２０６において読み取られるＩMONとメモリ・ブロック６２に記憶されているＩMONの所望の目標値（ＩTARGET）との差（Δ）を求める。プロセス２２０は、ステップ２３０に進み、Δの絶対値がメモリ・ブロック６２に記憶されている所望の値（θ）と比較される。Δの絶対値がθ未満の場合、プロセス２２０は、ステップ２３２に進み、図４に例示のレーザ・モニタ・プロセス１２０のステップ１１２に進む。Δの絶対値がθ以上の場合、プロセス２２０は、ステップ２３４に進む。ステップ２３４では、マイクロコントローラ３６によって、ＩMONとＩTARGETが比較される。
【００５６】
ＩMONがＩTARGET以下の場合、プロセス２２０はステップ２３６に進む。ステップ２３６において、マイクロコントローラ３６は、メモリ・ブロック６２に記憶されている所定の定数値（Ｋ）をＩBIASに加えて、ＩBIASの調整値をレーザ・バイアス電流制御回路７６に記憶する。次に、レーザ・バイアス電流制御回路７６は、結果として、ほぼ所望のレンジ内の出力パワー・レベルを備えた光出力信号がレーザ７２から生じさせることになる、ＩBIASの調整値にほぼ等しい値のバイアス電流によってレーザ７２にバイアスをかける。
【００５７】
ＩMONがＩTARGETを超えていると、プロセス２２０は、ステップ２３８に進む。ステップ２３８において、マイクロコントローラ３６は、ＩBIASからメモリ・ブロック６２に記憶されている所定の定数値（Ｋ）を引いて、ＩBIASの調整値をレーザ・バイアス制御回路７６に記憶する。次に、バイアス電流制御回路７６は、結果として、ほぼ所望のレンジ内の出力パワー・レベルを備えた光出力信号をレーザ７２から生じさせることになる、ＩBIASの調整値にほぼ等しい値のバイアス電流によってレーザ７２にバイアスをかける。
【００５８】
図６Ｅは、本発明に従ってレーザ７２を初期化するプロセス２４０の典型的な実施態様の１つを例示した流れ図である。プロセス２４０は、例えば、図４に例示のレーザ・モニタ・プロセス１２０のステップ１２４におけるように、レーザ・モニタ・プロセスで、レーザ７２の出力パワーが安定していないと判定されると、ステップ２４２から開始される。プロセス２４０は、次に、ステップ２４４に進み、マイクロコントローラ３６によって、フラグ（Ｆ）が値０にセットされ、変数（Ｋ）が値１０にセットされる。ステップ２４６では、マイクロコントローラ３６によって、メモリ・ブロック６２からレーザ・バイアス電流シード値が読み取られる。シード値は、メーカにおいて、出力パワー・レベルが所望の出力パワー・レベル目標レンジ内の光出力信号をレーザ７２から生じさせることになった、レーザ・バイアス電流の値である。マイクロコントローラ３６は、シード値をレーザ・バイアス電流制御回路７６に記憶しておき、レーザ・バイアス電流制御回路７６によって、シード値にほぼ等しい（シード値にほぼ対応する）値のバイアス電流（ＩBIAS）によるバイアスがレーザ７２にかけられるようにする。
【００５９】
プロセス２４０は、次に、ステップ２４８に進み、マイクロコントローラ３６によって、レーザ出力パワー検知回路７４から光出力信号モニタ電流（ＩMON）の値が読み取られる。実施態様の１つにおいて、レーザ出力パワー検知回路７４には、レーザ７２から送り出される光出力信号をサンプリングして、レーザ７２の光出力パワーを表した値を有するＩMON電流レベルを生じるフォトダイオードが含まれている。ステップ２５０において、マイクロコントローラ３６は、ステップ２０６において読み取られるＩMONとメモリ・ブロック６２に記憶されているＩMONの所望の目標値（ＩTARGET）との差（Δ）を求める。
【００６０】
プロセス２４０は、次に、ステップ２５２に進み、マイクロコントローラ３６は、フラグ（Ｆ）が０に等しいか否かを問い合わせる。返答が「いいえ」の場合、プロセス２４０は、ステップ２５４に進む。返答が「はい」の場合、プロセス２４０は、ステップ２５６に進み、マイクロコントローラ３６によって、フラグ（Ｆ）の値が値１にセットされ、変数（Δ′）の値は差Δに等しい値にセットされる。
【００６１】
ステップ２５４では、マイクロコントローラ３６は、差Δの符号が変数Δ′の符号と同じか否かを問い合わせる。返答が「はい」の場合、プロセス２４０はステップ２５８に進む。返答が「いいえ」の場合、プロセス２４０はステップ２６０に進み、マイクロコントローラ３６によって、変数Ｋが値１にセットされる。
【００６２】
ステップ２５８では、マイクロコントローラ３６は、Δの絶対値がメモリ・ブロック６２に記憶されている所望の値（θ）に比べて小さいか否かを問い合わせる。Δの絶対値がθ未満の場合、プロセス２４０はステップ２６２に進み、図４に例示されたレーザ・モニタ・プロセス１２０のステップ１１２に出る。Δの絶対値がθ以上の場合、プロセス２４０はステップ２６４に進む。
【００６３】
ステップ２６４では、マイクロコントローラ３６は、差Δが値０を超えるか否かを問い合わせる。Δが０以下の場合、プロセス２４０はステップ２６６に進み、マイクロコントローラ３６は、ＩBIASに変数Ｋの値を加えて、レーザ・バイアス制御回路７６にＩBIASのこの調整値を記憶してステップ２４８に戻る。Δが０を超えていると、プロセス２４０はステップ２６８に進み、マイクロコントローラ３６は、ＩBIASから変数Ｋの値を引き、ＩBIASのこの調整値をレーザ・バイアス制御回路７６に記憶する。次に、レーザ・バイアス制御回路７６は、ＩBIASの調整値にほぼ等しい値のバイアス電流によってレーザ７２にバイアスをかけ、プロセス２４０はステップ２４８に戻る。
【００６４】
レーザ７２のようなレーザを利用することに関する利点の１つは、とりわけ、光信号が光ファイバ４２のようなコアの小さい光ファイバに送り込まれる場合に、発光ダイオード（ＬＥＤ）または他の発光素子よりもはるかに高いパワー・レベルの光出力信号が得られるという点である。欠点の１つは、レーザの光出力パワーが温度依存性であるという点である。例えば、レーザにある設定値のバイアス電流によってバイアスをかけると、第１の温度で第１のパワー・レベルの光信号を生じ、第２の温度で第２のパワー・レベルの光信号を生じることになる。
【００６５】
これを考慮して、メモリ・ブロック６２に記憶されるレーザ・バイアス電流シード値を改善する方法の１つは、光トランシーバ・モジュールの製造及びテスト時に生じた温度値において、レーザ７２からパワー・レベルが所望のレンジ内の光信号を生じさせることになったバイアス電流値にすることである。レーザ７２の初期化時における光トランシーバ３０の温度が、製造時の温度と一致する確率は低い。従って、それぞれ、図６Ａ、６Ｂ、６Ｃ、６Ｄ、６Ｅに例示されたレーザ初期化プロセス１６０、１８０、２００、２２０、及び、２４０を改善する方法の１つは、温度検知回路７８によって得られるレーザ７２の初期化時における温度の現在値を利用して、メモリ・ブロック６２に記憶されているレーザ・バイアス電流シード値を調整しておいてから、レーザ・バイアス電流制御回路７６に記憶することである。
【００６６】
図６Ｆは、初期化時に、レーザ７２から所望のレンジにより近い光信号を生じさせることになるレーザ・バイアス電流が得られるようにするため、光トランシーバ・モジュール３０の温度に基づいて、メモリ・ブロック６２に記憶されているレーザ・バイアス・シード値を調整するプロセス２７０の典型的な実施態様の１つを例示した流れ図である。プロセス２７０は、レーザ初期化プロセス１６０、１８０、２００、２２０、及び、２４０の、それぞれ、ステップ１６４、１８４、２０４、２２４、及び、２４６に置き換えられる。
【００６７】
プロセス２７０は、例えば、図４に例示のレーザ・モニタ・プロセス１２０のステップ１２４におけるように、レーザ・モニタ・プロセスで、レーザ７２の出力パワーが安定していないと判定されると、ステップ２７２から開始される。プロセス２７０は、次に、ステップ２７４に進み、マイクロコントローラ３６によって、メモリ・ブロック６２からレーザ・バイアス電流シード値（ＩBIAS）が読み取られる。プロセス２７０は、次に、ステップ２７６に進み、マイクロコントローラ３６によって、温度検知回路７８から、レーザ７２の現在の温度を表す温度値（ＴＥＭＰ）が読み取られる。
【００６８】
プロセス２７０は、次に、ステップ２７８に進み、マイクロコントローラ３６によって、ＩBIASのシード値に、現在のレーザ温度（ＴＥＭＰ）とメモリ・ブロック６２に記憶されている温度定数（ＴＥＭＰＣＯ）との積を加えた値に等しい、ＩBIASに関する温度調整値が求められる。プロセス２７０は、次に、ステップ２８０に進み、マイクロコントローラ３６は、ＩBIASに関する温度調整値をレーザ・バイアス電流制御回路７６に記憶する。次に、レーザ・バイアス電流制御回路７６は、ＩBIASの温度調整値（温度を加味した調整値）によってレーザ７２にバイアスをかける。
【００６９】
プロセス２７０は、次に、レーザ初期化プロセス１６０、１８０、２００、２２０、及び、２４０の、それぞれ、ステップ１６６、１８６、２０６、２２６、及び、２４８に相当する、ステップ２８２に進む。上述のようにプロセス２７０を組み込むことによって、それぞれ、図６Ａ、６Ｂ、６Ｃ、６Ｄ、及び、６Ｅに例示されたレーザ初期化プロセス１６０、１８０、２００、２２０、及び、２４０が改善され、レーザ７２は、所望のパワー値域内の光出力信号をより迅速に生じるようになる。
【００７０】
結論として、送信機及び受信機に連係してコントローラを利用することによって、本発明による光トランシーバ・モジュール３０は、「ハード・コード」された集積回路を利用した従来の光トランシーバよりも柔軟性に優れた光トランシーバ設計をもたらす。例えば、光トランシーバ３０は、トランシーバの内部温度、レーザ出力パワー、及び、レーザ・バイアスといったトランシーバの動作特性をモニタして、ユーザに報告するのにより適した構成になっており、より容易にそれを可能にする。さらに、優先度コードを用いて、割り当てられた優先レベル順にトランシーバ・モジュール３０の制御タスクを実行することによって、ほとんど失敗することなく、優先度の高いタスクを完了することが保証され、同時に、優先度の低いタスクを適時に完了することも保証されるので、コントローラ３６は、信頼性のあるトランシーバの動作をもたらすことになる。
【００７１】
望ましい実施態様について明らかにするため、本明細書では、特定の実施態様について例示し、解説してきたが、通常の当業者であれば明らかなように、本発明の範囲を逸脱することなく、図示及び解説の特定の実施態様の代わりに、同じ目的を実現するように意図された、多種多様な代替及び／または同等実施例を用いることが可能である。化学、機械、電気機械、電気、及び、コンピュータ分野の当業者にはすぐに明らかになるように、本発明は、極めて多種多様な実施態様で実施することが可能である。本願は、本明細書に論述した好ましい実施態様のいかなる改変または変更も対象とすることを意図したものである。従って、本発明は、明らかに、特許請求の範囲及びその同等物のみによって制限されることを意図したものである。
【００７２】
なお、本発明は例として次の態様を含む。（  ）内の数字は添付図面の参照符号に対応する。
［１］  送信機（３２）と、
受信機（３４）と、
前記送信機（３２）及び前記受信機（３４）に結合され、トランシーバ・オペレーション・コード（４８）を含むコントローラ（３６）が備えられており、前記トランシーバ・オペレーション・コードが、
複数のタスク・コード・モジュールであって、光トランシーバ・モジュールを制御する複数のタスクのうち、少なくとも１つのタスクを実施する命令をそれぞれが含み、それぞれに優先順位が割り当てられている、複数のタスク・コード・モジュールと、
優先度コードであって、前記コントローラが、前記割り当てられた優先順位に基づいて、複数のタスク・コード・モジュールを実行する順番を管理するように構成された優先度コードを備えることを特徴とする、光通信のための光トランシーバ・モジュール（３０）。
［２］  前記コントローラは、複数のオペレーション・コード・モジュールを含み、それぞれのオペレーション・コード・モジュールは、少なくとも１つのタスク・コード・モジュールを含み、
前記複数のオペレーション・コード・モジュールは、
レーザ・モニタ・オペレーション・コード・モジュール（１１０）および
システム・モニタ・オペレーション・コード・モジュール（１１６）のうち、
少なくとも一方を含むことを特徴とする、上記［１］に記載の光トランシーバ・モジュール。
［３］  前記システム・モニタ・オペレーション・コード・モジュールは、
複数のタスク・コード・モジュールを含み、前記複数のタスク・コード・モジュールは、細分されて、第１の優先順位が割り当てられた第１のタイプのタスク・コード・モジュールを含む第１のタスク・コード・モジュール・グループ、第２の優先順位が割り当てられた第２のタイプのタスク・コード・モジュールを含む第２のタスク・コード・モジュール・グループ、及び第３の優先順位が割り当てられた第３のタイプのタスク・コード・モジュールを含む第３のタスク・コード・モジュール・グループを形成することを特徴とする、上記［２］に記載の光トランシーバ・モジュール。
［４］  前記コントローラが、第１の時間期間内において第１の優先レベルが割り当てられた前記第１のタイプのタスク・コード・モジュールを完了し、第２の時間期間内において第２の優先レベルが割り当てられた前記第２のタイプのタスク・コード・モジュールを完了し、第３時間期間内において第３の優先レベルが割り当てられた前記第３のタイプのタスク・コード・モジュールを完了するように構成されていることを特徴とする、上記［３］に記載の光トランシーバ・モジュール。
［５］  前記複数のオペレーション・コード・モジュールは、
少なくとも１つの割り込み信号に応答して、少なくとも１つのタスクを制御するための少なくとも１つのタスク・コード・モジュールを具備する、割り込みオペレーション・コード・モジュール（１１８）のうち、
少なくとも１つのオペレーション・コード・モジュールを含むことを特徴とする、上記［２］に記載の光トランシーバ・モジュール。
［６］  前記割り込みオペレーション・コード・モジュール中の少なくとも１つのタスク・コード・モジュールに割り当てられた優先順位は、前記少なくとも１つのタスク・コード・モジュールが応答する割り込み信号の内容に基づいて設定されており、
第１のタイプの割り込み信号に応答する前記割り込みオペレーション・コード・モジュール中の前記少なくとも１つのタスク・コード・モジュールが、他のタスク・コード・モジュールに対して序列をつけて配列され、
第２のタイプの割り込み信号に応答する前記割り込みオペレーション・コード・モジュール中の前記少なくとも１つのタスク・コード・モジュールが、他の全てのタスク・コード・モジュールよりも上位に配列されることを特徴とする、上記［５］に記載の光トランシーバ・モジュール。
［７］  前記コントローラが、内部バス（３８）、（６４）を介して前記送信機（３２）及び受信機（３４）に結合されており、前記送信機（３２）が、外部バス（８６）を介して外部ホスト装置に接続可能であることを特徴とする、上記［１］に記載の光トランシーバ・モジュール。
［８］  前記コントローラに、
前記トランシーバ・オペレーション・コードを格納したメモリ・ブロック（６２）と、
前記コードを実行するための中央演算処理装置（ＣＰＵ）（６０）とを具備することを特徴とする、上記［１］に記載の光トランシーバ・モジュール。
［９］  前記送信機が、さらに、
レーザ（７２）と、
前記レーザの平均パワーの値を測定して、送り出すように構成されたパワー検知回路（７４）と、
前記レーザの平均バイアス電流の値を測定して、送り出すように構成されたバイアス電流検知ブロック（７５）と、
前記送信機の温度値を測定して、送り出すように構成された温度検知回路（７８）と、
送信機に対する供給電圧の値を測定して、送り出すように構成された電圧検知回路（８０）と、
メモリ・ブロック（８２）とを備えていることを特徴とする、上記［１］に記載の光トランシーバ・モジュール。
［１０］  前記受信機が、さらに、
光入力信号を受信して、電気信号に変換するように構成された光検出素子（４４）と、
受信した光信号のパワー値を測定して、送り出すように構成されたパワー検知回路（９０）とを備えることを特徴とする、上記［１］に記載の光トランシーバ・モジュール。
［１１］  光トランシーバ・モジュール（３０）を制御する方法であって、
複数のタスク・コード・モジュール中の各タスク・コード・モジュールに優先順位を割り当てることと、
コントローラにおいて、割り当てられた優先順位に基づく順番で、前記複数のタスク・コード・モジュールを実行して、前記光トランシーバ・モジュールを制御するための複数のタスクを実施することとを有することを特徴とする方法。
［１２］  それぞれが少なくとも１つのタスク・コード・モジュールを含む、複数のオペレーション・コード・モジュールを用意することと、
レーザ・モニタ・オペレーション・コード・モジュール（１１０）およびシステム・モニタ・オペレーション・コード・モジュール（１１６）のうち、少なくとも一方のオペレーション・コード・モジュールを用意することとをさらに有することを特徴とする、上記［１１］に記載の方法。
［１３］  前記システム・モニタ・オペレーション・コード・モジュールを設けることには、さらに、
複数のタスク・コード・モジュールを設けることと、
前記複数のタスク・コード・モジュールを細分して、第１の優先レベルが割り当てられた第１のタイプのタスク・コード・モジュールを含む第１のタスク・コード・モジュール・グループ、第２の優先レベルが割り当てられた第２のタイプのタスク・コード・モジュールを含む第２のタスク・コード・モジュール・グループ、及び、第３の優先レベルが割り当てられた第３のタイプのタスク・コード・モジュールを含む第３のタスク・コード・モジュール・グループを形成することとを有することを特徴とする、上記［１２］に記載の方法。
［１４］  前記複数のオペレーション・コード・モジュールを設けることが、
少なくとも１つの割り込み信号に応答して少なくとも１つのタスクを制御するための少なくとも１つのタスク・コード・モジュールを具備する、割り込みオペレーション・コード・モジュール（１１８）を少なくとも用意することを含むことを特徴とする、上記［１２］に記載の方法。
［１５］  前記少なくとも１つのタスク・コード・モジュールが応答する割り込み信号のタイプに基づいて、前記割り込みオペレーション・コード・モジュールの前記少なくとも１つのタスク・コード・モジュールに優先順位を割り当てることと、
第１のタイプの割り込み信号に応答する前記割り込みオペレーション・コード・モジュール中の前記少なくとも１つのタスク・コード・モジュールを、他のタスク・コード・モジュールに対して序列をつけて配列することと、
第２のタイプの割り込み信号に応答する前記割り込みオペレーション・コード・モジュール中の前記少なくとも１つのタスク・コード・モジュールを、他の全てのタスク・コード・モジュールより上位に配列することとをさらに有することを特徴とする、上記［１４］に記載の方法。
【図面の簡単な説明】
【００７３】
【図１】本発明による光トランシーバ・モジュールの実施態様の１つを例示したブロック図である。
【図２】本発明による光トランシーバ・モジュールの実施態様の１つを例示したブロック図である。
【図３】データ通信中に、本発明による光トランシーバ・モジュールによって用いられる、トランシーバの動作を制御するための複数のタスクに優先順位を付けるプロセスの典型的な実施態様の１つを例示した流れ図である。
【図４】本発明による光トランシーバ・モジュールによって用いられる、レーザをモニタするためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【図５】本発明による光トランシーバ・モジュールによって用いられる、トランシーバ・モジュールのモニタに関連した複数のタスクにより高い優先順位を付与するためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【図６Ａ】本発明による光トランシーバ・モジュールのレーザを初期化するためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【図６Ｂ】本発明による光トランシーバ・モジュールのレーザを初期化するためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【図６Ｃ】本発明による光トランシーバ・モジュールのレーザを初期化するためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【図６Ｄ】本発明による光トランシーバ・モジュールのレーザを初期化するためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【図６Ｅ】本発明による光トランシーバ・モジュールのレーザを初期化するためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【図６Ｆ】本発明による光トランシーバ・モジュールのレーザの初期化を改善するためのプロセスの典型的な実施態様の１つを例示した流れ図である。
【符号の説明】
【００７４】
３０  光トランシーバ・モジュール
３２  送信機
３４  受信機
３６  コントローラ
４４  光検出素子
６０  ＣＰＵ
６２  メモリ・ブロック
７２  レーザ
７４  パワー検知回路
７５  バイアス電流検知ブロック
７８  温度検知回路
８０  電圧検知回路
８２  メモリ・ブロック
９０  パワー検知回路
１１０  レーザ・モニタ・オペレーション・コード・モジュール
１１６  システム・モニタ・オペレーション・コード・モジュール
１１８  割り込みオペレーション・コード・モジュール
【図１】
2004222295.tif 000003
【図２】
2004222295.tif 000004
【図３】
2004222295.tif 000005
【図４】
2004222295.tif 000006
【図５】
2004222295.tif 000007
【図６Ａ】
2004222295.tif 000008
【図６Ｂ】
2004222295.tif 000009
【図６Ｃ】
2004222295.tif 000010
【図６Ｄ】
2004222295.tif 000011
【図６Ｅ】
2004222295.tif 000012
【図６Ｆ】
2004222295.tif 000013