本発明を実施するための形態例について説明する前に先ず比較例を示す。
[比較例]
一例として図13に示すように、比較例に係る通信システム100は、OLT102、PON104、ONU1061、・・・・及びONU106n、並びに、外部装置108を含む。本比較例では、外部装置108の一例としてPCを採用しているが、これに限らず、例えば、スマートデバイス、画像処理装置、又はサーバ装置等であってもよい。
なお、以下では、説明の便宜上、ONU1061、・・・・及びONU106nを区別して説明する必要がない場合、「ONU106」と称する。
OLT102は、インターネット等のコアネットワーク(図示省略)に接続されている。PON104は、OLT102とONU106との間での情報光の授受を媒介する双方向通信用の光回線であり、OLT102とONU106とを接続している。なお、「情報光」とは、OLT102及びONU106の一方から他方への送信対象とされる送信対象情報を示す光を指す。
PON104は、基幹伝送路110、スターカプラ112、及び分岐光伝送路114を含む。基幹伝送路110及び分岐光伝送路114は何れも、光ファイバによる伝送路である。基幹伝送路110の一端はOLT102に接続され、基幹伝送路110の他端はスターカプラ112に接続されている。分岐光伝送路114は、ONU106毎に設けられており、各分岐光伝送路114の一端はスターカプラ112に接続されており、ONU106の各々に対して、対応する分岐光伝送路114の他端が接続されている。
ONU106は、BOSA116、光受信制御部118、光送信制御部120、及び光回線終端部122を含む。BOSA116は、光受信制御部118及び光送信制御部120に接続されており、光受信制御部118及び光送信制御部120は、光回線終端部122に接続されている。
BOSA116は、発光素子124、モニタ用受光素子126、受光素子128、プリアンプ130、及びWDMフィルタ132を含む。なお、本比較例では、発光素子124の一例としてLDが採用されており、モニタ用受光素子126及び受光素子128の一例としてPDが採用されている。
モニタ用受光素子126は、発光素子124から発せられる光を受光し、受光結果が発光素子124の発光状態の監視に供される。
WDMフィルタ132は、発光素子124から発せられたバースト状の光信号を情報光として分岐光伝送路114に出力し、分岐光伝送路114から供給された光信号を情報光として受光素子128に出力する。なお、以下では、説明の便宜上、発光素子124から発せられるバースト状の光信号を送信用情報光と称し、分岐光伝送路114から受光素子128に出力される情報光を受信用情報光と称する。また、送信用情報光及び受信用情報光を区別して説明する必要がない場合、「情報光」と証する。
受光素子128は、プリアンプ130に接続されている。受光素子128は、WDMフィルタ132から入力された受信用情報光を受光し、受光した受信用情報光を光電変換し、光電変換して得た電気信号である受信信号をプリアンプ130に出力する。プリアンプ130は、入力された受信信号を増幅して出力する。
光受信制御部118は、ポストアンプ134を含んでおり、ポストアンプ134は、プリアンプ130及び後述のPON用通信部144に接続されている。従って、プリアンプ130で増幅された受信信号が入力され、入力された受信信号を増幅して後述のPON用通信部144に出力する。
光送信制御部120は、ソフトウェア構成とハードウェア構成との組み合わせによって実現され、光回線終端部122の制御下で、BOSA112による送信用情報光の送信を制御する。なお、光送信制御部120に適用されるハードウェア構成は、ASIC又はプログラマブルロジックデバイス等によって実現される。
光送信制御部120は、発光素子ドライバ136、送信光特性制御回路138、及び二次記憶部139を含み、発光素子ドライバ136は、DAC136Aを備えており、DAC136Aは発光素子124に接続されている。また、発光素子ドライバ136は、後述のPON用通信部144に接続されている。
送信光特性制御回路138は、発光素子ドライバ136、二次記憶部139、及び後述のPON用通信部144に接続されている。なお、本比較例では、二次記憶部139の一例としてEEPROMが採用されているが、これに限らず、既存の不揮発性メモリであればよい。
光回線終端部122は、電源部142、PON用通信部144、RAM146、二次記憶部148、及び通信I/F150を含む。
電源部142は、商用電源等の外部電源(図示省略)から供給された電圧をONU106で使用可能な電圧に変換し、変換して得た電圧をONU106内の各部の電子部品に供給する。
PON用通信部144は、ソフトウェア構成とハードウェア構成との組み合わせによって実現され、ONU106の全体を制御する。なお、PON用通信部144に適用されるハードウェア構成は、ASIC又はプログラマブルロジックデバイス等によって実現される。
PON用通信部144には、RAM146、二次記憶部148、及び通信I/F150が接続されている。通信I/F150は、PON用通信部144及び外部装置108に接続されており、PON用通信部144と外部装置108との間での各種情報の授受を司る。なお、本比較例では、通信I/F150の一例としてPHYが採用されている。
一例として図14に示すように、PON用通信部144は、CPU158及びマスタ用通信回路160を含み、CPU158及びマスタ用通信回路160は、バスライン164に接続されている。また、RAM146及び二次記憶部148もバスライン164に接続されている。
CPU158は、光回線終端部122の全体を制御する。二次記憶部148は、基本プログラム149を記憶している。CPU158は、二次記憶部148から基本プログラム149を読み出して、揮発性のワークメモリであるRAM146に展開し、基本プログラム149を実行することでONU106の基本動作を実現する。ここで、基本動作とは、例えば、従来のONU106が有する既知の各種機能を働かせるための動作を意味する。
なお、本比較例では、二次記憶部148の一例としてフラッシュメモリが採用されている。
PON用通信部144は、送信対象とされる情報である送信対象情報とバースト状の信号であるバースト信号とを発光素子ドライバ136に出力する。発光素子ドライバ136は、バースト信号が有意な期間に入力された送信対象情報に応じて発光素子124に駆動用電流を供給することで発光素子124を駆動させる。
なお、駆動用電流の一例としては、LDバイアス電流及びLD変調電流が挙げられる。LDバイアス電流とは、発光素子124に対するバイアス電流を指し、LD変調電流とは、発光素子124に対する変調電流を指す。
一例として図14に示すように、送信光特性制御回路138は、スレーブ用通信回路152、温度センサ154、及びマスタ用通信回路156を含む。なお、スレーブ用通信回路152、マスタ用通信回路156,160及び二次記憶部139は何れも、2線式シリアル通信方式であるI2Cバスインタフェース規格に対応している。
マスタ用通信回路160は、スレーブ用通信回路152と1対1で対応した通信回路であり、CPU158の指示に従ってスレーブ用通信回路152に指示データを出力する。
指示データは、光送信制御部120に対して、光送信制御部120の動作開始を指示したり、光送信制御部120における送信光特性制御回路138の温度センサ154が温度測定を実行する周期を指示したりするデータである。
温度センサ154は、光送信制御部120の既定領域の温度を測定する。ここで言う「既定領域」とは、発光素子124の特性に影響を及ぼす領域を指す。なお、「既定領域」は、実機による試験及びシミュレーション等によって得られた結果から、発光素子124の特性に影響を及ぼす領域として導き出された領域である。また、本比較例では、発光素子124の特性に影響を及ぼす領域として光送信制御部120の既定領域を採用しているが、これに限らず、例えば、発光素子ドライバ136での特定の領域であってもよいし、ONU106の外側の領域であってもよい。
二次記憶部139の記憶容量は、二次記憶部148の記憶容量よりも小さく、二次記憶部139には、電流制御用テーブル140が記憶されている。
ところで、ONU106は、温度に応じて発光素子124を制御する発光素子制御機能を備えており、発光素子制御機能は、光送信制御部120が電流制御用テーブル140(図15参照)を用いて発光素子124を制御することで実現される。
一例として図15に示すように、電流制御用テーブル140は、LDバイアス電流用テーブル140AとLD変調電流用テーブル140Bとに大別される。
LDバイアス電流用テーブル140Aは、温度センサ154により測定された温度である温度実測値とLDバイアス電流制御用DAC出力値との対応関係を示すテーブルである。ここで、LDバイアス電流制御用DAC出力値とは、発光素子124のバイアス電流の制御に用いられるDAC出力値を指す。
LDバイアス電流用テーブル140Aは、温度実測値が−40℃以下の場合に用いられるLDバイアス電流制御用DAC出力値を下限値とし、温度実測値が+120℃以上の場合に用いられるLDバイアス電流制御用DAC出力値を上限値としたテーブルである。また、LDバイアス電流用テーブル140Aでは、−38℃から+118℃までの温度実測値の範囲において、2℃毎にLDバイアス電流制御用DAC出力値が規定されている。なお、LDバイアス電流用テーブル140Aに規定されていない温度実測値に対応するLDバイアス電流制御用DAC出力値は、線形補間又は非線形補間等の補間法により導出される。
LD変調電流用テーブル140Bは、温度実測値とLD変調電流制御用DAC出力値との対応関係を示すテーブルである。ここで、LD変調電流制御用DAC出力値とは、発光素子124の変調電流の制御に用いられるDAC出力値を指す。
LD変調電流用テーブル140Bは、温度実測値が−40℃以下の場合に用いられるLD変調電流制御用DAC出力値を下限値とし、温度実測値が+120℃以上の場合に用いられるLD変調電流制御用DAC出力値を上限値としたテーブルである。また、LD変調電流用テーブル140Bでは、−38℃から+118℃までの温度実測値の範囲において、2℃毎にLD変調電流制御用DAC出力値が規定されている。なお、LD変調電流用テーブル140Bに規定されていない温度実測値に対応するLD変調電流制御用DAC出力値は、線形補間又は非線形補間等の補間法により導出される。
なお、以下では、説明の便宜上、LDバイアス電流制御用DAC出力値とLD変調電流制御用DAC出力値とを区別して説明する必要がない場合、「電流制御用DAC出力値」と称する。
マスタ用通信回路156は、温度センサ154から取得した温度実測値に応じて、2線式シリアル通信方式であるI2Cバスインタフェース規格の読み出しコマンドを用いて電流制御用テーブル140から電流制御用DAC出力値を読み出す。なお、マスタ用通信回路156が電流制御用テーブル140から電流制御用DAC出力値を読み出すために用いるコマンドとしては、図6に示すシーケンスで表現されるコマンドが例示できる。
このように構成されたONU106では、送信光特性制御回路138が、温度センサ154から取得した温度実測値に対応する電流制御用DAC出力値を二次記憶部139から読み出し、送信光特性制御回路138は、読み出した電流制御用DAC出力値を発光素子ドライバ136に出力する。発光素子ドライバ136は、DAC136AのDAC出力値が、送信光特性制御回路138から入力された電流制御用DAC出力値になるようにDAC136Aを制御する。
しかしながら、本比較例に係るONU106では、2つの二次記憶部、すなわち、二次記憶部139,148が内蔵されているため、二次記憶部139,148の存在に起因して装置全体が大型化してしまう、という問題点がある。二次記憶部を複数内在することは、ONU106の小型化を妨げる要因になることは言うまでもない。
以下、図1〜図11及び図15を参照して、本発明に係る第1実施形態の一例、及び本発明に係る第2実施形態の一例を詳細に説明する。なお、以下の説明では、上記の比較例で説明した構成要素と同一の構成要素については同一の符号を付してその説明を省略する。
[第1実施形態]
一例として図1に示すように、本第1実施形態に係る通信システム10は、上記比較例に係る通信システム100に比べ、OLT102に代えてOLT12を有する点、及び、ONU106に代えてONU16を有する点が異なる。なお、ONU16は、本発明に係る光回線終端装置及び加入者側終端装置の一例である。
ONU16は、制御部17、二次記憶部19、実行部21、発光素子124、及びRAM146を含む。
制御部17は、送信対象情報及び制御値23に基づいて発光素子を制御する。制御値23とは、発光素子124の特性に影響を及ぼす領域の温度に応じて発光素子124を制御可能に定められた値を指す。
二次記憶部19は、制御値23及び既定情報25を記憶している。既定情報25は、制御値23とは異なる情報である。なお、本第1実施形態に係る既定情報25は、上記比較例で説明した基本プログラム149を含む情報とされている。また、既定情報25には、基本プログラム149の他に、基本プログラム149の実行で要する各種パラメータが含まれている。
実行部21は、二次記憶部19から既定情報25を読み出して既定情報25に基づく処理である既定処理を実行する。既定処理とは、例えば、ONU16の基本動作の実現に要する処理を指す。なお、ONU16の基本動作は、上記比較例で説明したONU106の基本動作と同一である。また、実行部21は、二次記憶部19から制御値23を読み出し、読み出した制御値23を制御部17の要求に応じて制御部17に供給する処理を更に実行する。
実行部21は、一次記憶部27、供給部29、及びCPU158を含む。CPU158は、二次記憶部19から基本プログラム149を読み出し、読み出した基本プログラム149をRAM146に展開し、基本プログラム149を実行することでONU16の基本動作を実現する。
また、CPU158は、二次記憶部19から制御値23を読み出し、読み出した制御値23を一次記憶部27に記憶させる。供給部29は、制御部17の要求に応じて一次記憶部27から制御値23を読み出して制御部17に供給する。
一例として図2に示すように、ONU16は、ONU106に比べ、光送信制御部120に代えて、光送信制御部20を有する点が異なる。また、ONU16は、ONU106に比べ、光回線終端部122に代えて光回線終端部22を有する点が異なる。
光送信制御部20は、光送信制御部120に比べ、二次記憶部139を有しない点、及び、送信光特性制御回路138に代えて送信光特性制御回路38を有する点が異なる。なお、光送信制御部20は、図1に示す制御部17として動作する。
光回線終端部22は、光回線終端部122に比べ、PON用通信部144に代えてPON用通信部44を有する点が異なる。また、光回線終端部22は、光回線終端部122に比べ、二次記憶部148に代えて二次記憶部19を有する点が異なる。本第1実施形態では、二次記憶部19の一例として、不揮発性メモリとしてのフラッシュメモリが採用されている。
一例として図3に示すように、送信光特性制御回路38は、送信光特性制御回路138に比べ、マスタ用通信回路156に代えてマスタ用通信回路56を有する点が異なる。マスタ用通信回路56は、マスタ用通信回路156に比べ、二次記憶部139が接続されていない点、及び、後述のスレーブ用通信回路72に接続されている点が異なる。
PON用通信部44は、PON用通信部144に比べ、一次記憶部27を有する点が異なる。また、PON用通信部44は、PON用通信部144に比べ、スレーブ用通信回路72を有する点が異なる。なお、一次記憶部27及びスレーブ用通信回路72は、バスライン164に接続されている。また、本第1実施形態では、一次記憶部27の一例として、スレーブ用通信回路72に紐付けされたスタティックRAMが採用されている。
スレーブ用通信回路72は、マスタ用通信回路56と1対1で対応した通信回路であり、図1に示す供給部29として動作する。マスタ用通信回路56及びスレーブ用通信回路72は何れも、2線式シリアル通信方式であるI2Cバスインタフェース規格に対応している。
二次記憶部19は、二次記憶部148に比べ、本発明に係るプログラムの一例である光回線終端部側プログラム74、及び電流制御用テーブル140を更に記憶している点が異なる。
CPU158は、二次記憶部19から光回線終端部側プログラム74を読み出して、RAM146に展開し、光回線終端部側プログラム74を実行する。光回線終端部側プログラム74がCPU158によって実行されることで後述の光回線終端部側処理(図5参照)が実現される。
次に、ONU16の作用について説明する。
先ず、送信光特性制御回路38によって実行される光送信制御部側処理について、図4を参照して説明する。
図4に示す光送信制御部側処理では、先ず、ステップ200で、送信光特性制御回路38は、マスタ用通信回路56に対して温度センサ154から温度実測値を取得させるタイミングである温度取得タイミングが到来したか否かを判定する。温度取得タイミングとしては、1秒間隔のタイミングが例示できる。
ステップ200において、温度取得タイミングが到来していない場合は、判定が否定されて、本ステップ200の判定が再び行われる。ステップ200において、温度取得タイミングが到来した場合は、判定が肯定されて、ステップ208へ移行する。
ステップ208で、送信光特性制御回路38は、マスタ用通信回路56に対して、温度センサ154から温度実測値を取得させ、その後、ステップ210へ移行する。
ステップ210で、送信光特性制御回路38は、マスタ用通信回路56に対して、要求信号を生成させ、生成させた要求信号をスレーブ用通信回路72に送信させ、その後、ステップ212へ移行する。ここで、要求信号とは、ステップ208の処理が実行されることで取得された温度実測値に対応する電流制御用DAC出力値の送信をスレーブ用通信回路72に要求する信号を指す。なお、電流制御用DAC出力値は、図1に示す制御値23の一例である。
本ステップ210の処理が実行されることでスレーブ用通信回路72に要求信号が送信されると、後述の光回線終端部側処理に含まれるステップ254の処理が実行される。そして、後述の光回線終端部側処理に含まれるステップ260の処理及びステップ266の処理が選択的に実行されることでスレーブ用通信回路72から応答信号が送信される。
そこで、ステップ212で、送信光特性制御回路38は、マスタ用通信回路56によって応答信号が受信されたか否かを判定する。ステップ212において、マスタ用通信回路56によって応答信号が受信されていない場合は、判定が否定されて、本ステップ212の判定が再び行われる。ステップ212において、マスタ用通信回路56によって応答信号が受信された場合は、判定が肯定されて、ステップ214へ移行する。
応答信号は、正常応答信号と異常応答信号とに大別される。正常応答信号は、ステップ208の処理が実行されることで取得された温度実測値に対応する電流制御用DAC出力値に対するパリティチェック結果で、電流制御用DAC出力値に誤りがないと判定された場合にスレーブ用通信回路72により送信される信号である。異常応答信号は、ステップ208の処理が実行されることで取得された温度実測値に対応する電流制御用DAC出力値に対するパリティチェック結果で、電流制御用DAC出力値に誤りがあると判定された場合にスレーブ用通信回路72により送信される信号である。
なお、ここで言う「パリティチェック結果」とは、後述の光回線終端部側処理に含まれるステップ256の処理が実行されることで実施されるパリティのチェックの結果を指す。
図6には、マスタ用通信回路56が要求信号を送信してから正常応答信号を受信するまでのマスタ用通信回路56とスレーブ用通信回路72との間での通信処理の流れの一例が示されている。また、図7には、マスタ用通信回路56が要求信号を送信してから異常応答信号を受信するまでのマスタ用通信回路56とスレーブ用通信回路72との間での通信処理の流れの一例が示されている。
一例として図6及び図7に示すように、要求信号には、スレーブアドレスとメモリアドレスとが含まれている。スレーブアドレスとは、スレーブ用通信回路72を特定するアドレスを指す。メモリアドレスとは、電流制御用テーブル140に格納されている電流制御用DAC出力値のうち、ステップ208の処理で取得した温度実測値に対応する電流制御用DAC出力値の格納場所を特定するアドレスを指す。なお、図6及び図7に示す例において、ハッチング箇所は、スレーブ用通信回路72によるコマンドであり、スレーブ用通信回路72が応答する。ハッチング箇所以外の箇所はマスタ用通信回路56によるコマンドであり、マスタ用通信回路56が応答する。
また、一例として図6及び図7に示すように、正常応答信号には、データα及びデータβが含まれているのに対し、異常応答信号には、データα及びデータβが含まれていない。データαとは、LDバイアス電流制御用DAC出力値を指し、データβとは、LD変調電流制御用DAC出力値を指す。
すなわち、図6に示す例は、パリティチェック結果で電流制御用DAC出力値に誤りがないと判定された場合に、電流制御用DAC出力値がマスタ用通信回路56に提供されることを意味する。これに対し、図7に示す例は、パリティチェック結果で電流制御用DAC出力値に誤りがあると判定された場合に、電流制御用DAC出力値がマスタ用通信回路56に提供されないことを意味する。
ステップ214で、送信光特性制御回路38は、マスタ用通信回路56によって受信された応答信号が正常応答信号か否かを判定する。正常応答信号であるか否かは、例えば、図6に示すように、正常応答信号にデータα及びデータβが含まれているか否かによって判定される。ステップ214において、マスタ用通信回路56によって受信された応答信号が正常応答信号の場合は、判定が肯定されて、ステップ216へ移行する。ステップ214において、マスタ用通信回路56によって受信された応答信号が異常応答信号の場合は、判定が否定されて、ステップ220へ移行する。
ステップ216で、送信光特性制御回路38は、スレーブ用通信回路72から送信された電流制御用DAC出力値をマスタ用通信回路56で受領し、その後、ステップ218へ移行する。
ステップ218で、送信光特性制御回路38は、ステップ216の処理で受領した電流制御用DAC出力値を発光素子ドライバ136に設定し、その後、ステップ220へ移行する。
このように、本ステップ218の処理が実行されることで電流制御用DAC出力値が発光素子ドライバ136に設定されると、発光素子ドライバ136は、DAC136AのDAC出力値が電流制御用DAC出力値になるようにDAC136Aを制御する。
ステップ220で、送信光特性制御回路38は、光送信制御部側処理を終了する条件を満足したか否かを判定する。光送信制御部側処理を終了する条件の一例としては、ONU16に対してOLT12から登録削除(リンク切断)の指示が与えられた場合や、ONU16の故障によりONU16の動作が停止する場合などが挙げられる。
ステップ220において、光送信制御部側処理を終了する条件を満足していない場合は、判定が否定されて、ステップ200へ移行する。ステップ220において、光送信制御部側処理を終了する条件を満足した場合は、判定が肯定されて、光送信制御部側処理を終了する。
次に、ONU16の電源スイッチ(図示省略)がオンされた場合に、CPU158が光回線終端部側プログラム74を実行することで実現される光回線終端部側処理について、図5を参照して説明する。
図5に示す光回線終端部側処理では、先ず、ステップ250で、CPU158は電流制御用テーブル140を一次記憶部27に記憶することで確保する条件であるテーブル確保条件を満足したか否かを判定する。テーブル確保条件の一例としては、ONU16が起動して初期化処理が実行されたとの条件等が挙げられる。
ステップ250において、テーブル確保条件を満足していない場合は、判定が否定されて、ステップ250の判定が再び行われる。ステップ250において、テーブル確保条件を満足した場合は、判定が肯定されて、ステップ252へ移行する。
ステップ252で、CPU158は、二次記憶部19から電流制御用テーブル140を読み出して一次記憶部27に記憶し、その後、ステップ254へ移行する。なお、一次記憶部27に既に電流制御用テーブル140が記憶されている状態で、本ステップ252の処理が実行された場合、CPU158は、二次記憶部19から読み出した電流制御用テーブル140を一次記憶部27に上書き保存する。このように、電流制御用テーブル140が一次記憶部27に上書き保存されることで、一次記憶部27の電流制御用テーブル140が更新される。
なお、一次記憶部27には、パリティメモリが備えられており、CPU158は、電流制御用テーブル140を一次記憶部27に記憶する際に、パリティメモリにパリティを付与する。
ステップ254で、スレーブ用通信回路72は、図4に示す光送信制御部側処理に含まれるステップ210の処理が実行されることで送信される要求信号がスレーブ用通信回路72によって受信されたか否かを判定する。ステップ254において、図4に示す光送信制御部側処理に含まれるステップ210の処理が実行されることで送信される要求信号がスレーブ用通信回路72によって受信されていない場合は、判定が否定されて、本ステップ254の判定が再び行われる。ステップ254において、図4に示す光送信制御部側処理に含まれるステップ210の処理が実行されることで送信される要求信号がスレーブ用通信回路72によって受信された場合は、判定が肯定されて、ステップ256へ移行する。
ステップ256で、スレーブ用通信回路72は、一次記憶部27の電流制御用テーブル140に格納されている電流制御用DAC出力値のうち、要求信号に応じた電流制御用DAC出力値に対するパリティのチェックを実施する。
このように、パリティのチェックを実施するのは、宇宙線などに起因するデータのビット反転、いわゆる、ソフトエラーに対する耐力が、二次記憶部139(図13参照)よりも一次記憶部27の方が劣っているからである。
なお、本ステップ256において、「要求信号に応じた電流制御用DAC出力値」とは、ステップ208の処理が実行されることで取得された温度実測値に対応する電流制御用DAC出力値を意味する。従って、要求信号に含まれるメモリアドレス(図6及び図7参照)によって特定される電流制御用DAC出力値がパリティのチェック対象とされる。
次のステップ258で、スレーブ用通信回路72は、ステップ256の処理が実行されることで実施されたパリティのチェック結果が正常であるか否かを判定する。ここで、パリティのチェック結果が正常とは、パリティのチェック対象とされた電流制御DAC出力値に誤りがないことを意味する。これに対し、パリティのチェック結果が異常とは、パリティのチェック対象とされた電流制御DAC出力値に誤りがあることを意味する。
ステップ258において、ステップ256の処理が実行されることで実施されたパリティのチェック結果が異常である場合は、判定が否定されて、ステップ260へ移行する。ステップ258において、ステップ256の処理が実行されることで実施されたパリティのチェック結果が正常である場合は、判定が肯定されて、ステップ264へ移行する。
ステップ260で、スレーブ用通信回路72は、要求信号に応じた電流制御用DAC出力値に対するパリティのチェック結果が異常であることを示す異常応答信号を生成してマスタ用通信回路56に送信する。また、スレーブ用通信回路72は、CPU158に、異常応答信号をマスタ用通信回路56に送信したことを通知する。なお、スレーブ用通信回路72がCPU158に通知を行う方法の一例としては、割り込み処理が挙げられる。
次のステップ262で、CPU158は、スレーブ用通信回路72からの通知を受けて、二次記憶部19から電流制御用テーブル140を読み出す。そして、CPU158は、読み出した電流制御用テーブル140を一次記憶部27に上書き保存することで一次記憶部27の電流制御用テーブル140を更新し、その後、ステップ268へ移行する。
なお、ステップ258にてステップ256の処理が実行されることで実施されたパリティのチェック結果が異常である場合は、その後のステップ260及びステップ262にて、発光素子ドライバ136に設定される電流制御用DAC出力値が更新されず、発光素子ドライバ136は既に設定されている電流制御用DAC出力値に基づいて動作を継続する。
ステップ264で、スレーブ用通信回路72は、一次記憶部27の電流制御用テーブル140から、要求信号に応じた電流制御用DAC出力値を読み出し、その後、ステップ266へ移行する。
ステップ266で、スレーブ用通信回路72は、ステップ264の処理が実行されることで読み出された電流制御用DAC出力値を含む正常応答信号を生成する。そして、スレーブ用通信回路72は、生成した正常応答信号をマスタ用通信回路56に送信し、その後、ステップ268へ移行する。
ステップ268で、CPU158は、光回線終端部側処理を終了する条件を満足したか否かを判定する。光回線終端部側処理を終了する条件の一例としては、ONU16に対してOLT12から登録削除(リンク切断)の指示が与えられた場合や、ONU16の故障によりONU16の動作が停止する場合などが挙げられる。
ステップ268において、光回線終端部側処理を終了する条件を満足していない場合は、判定が否定されて、ステップ254へ移行する。ステップ268において、光回線終端部側処理を終了する条件を満足した場合は、判定が肯定されて、光回線終端部側処理を終了する。
以上説明したように、ONU16では、光送信制御部20により、送信対象情報と、電流制御用テーブル140に格納されている電流制御用DAC出力値とに基づいて発光素子124が制御される。また、基本プログラム149が記憶された二次記憶部19に電流制御用テーブル140が記憶されており、PON用通信部44によって二次記憶部19から基本プログラム149が読み出されて実行される。更に、二次記憶部19には電流制御用テーブル140が記憶されており、PON用通信部44によって二次記憶部19から電流制御用テーブル140が読み出される(ステップ252)。そして、電流制御用テーブル140に格納されている電流制御用DAC出力値が光送信制御部20の要求に応じてPON用通信部44によって光送信制御部20に供給される(ステップ266)。
従って、ONU16によれば、上記比較例に比べ、装置規模の大型化を抑制することができる。
また、ONU16では、電流制御用テーブル140が一次記憶部27に記憶される(ステップ252)。そして、光送信制御部20の要求に応じてスレーブ用通信回路72によって一次記憶部27の電流制御用テーブル140から電流制御用DAC出力値が読み出されて光送信制御部20に供給される(ステップ266)。
従って、ONU16によれば、電流制御用DAC出力値が一次記憶部27に記憶されない場合に比べ、電流制御用DAC出力値を光送信制御部20に迅速に供給することができる。
また、ONU16では、一次記憶部27に記憶されている電流制御用テーブル140の電流制御用DAC出力値に対してパリティのチェックが実施される(ステップ256)。そして、チェック結果が異常の場合に、電流制御用DAC出力値が光送信制御部20に供給されず、チェック結果が正常の場合に、電流制御用DAC出力値が光送信制御部20に供給される。
従って、ONU16では、電流制御用DAC出力値が誤りを有しているにも拘わらず電流制御用DAC出力値が光送信制御部20に供給される場合に比べ、発光素子124の誤作動を抑制することができる。
また、ONU16では、一次記憶部27に記憶されている電流制御用テーブル140の電流制御用DAC出力値のうち、光送信制御部20から要求された電流制御用DAC出力値に対してパリティのチェックが実施される(ステップ256)。そして、チェック結果が異常の場合に、一次記憶部27の電流制御用テーブル140が更新される(ステップ262)。
従って、ONU16によれば、ONU16がOLT12に対して提供する通信サービスを中断せずに通信サービスを続行することができる。
なお、上記第1実施形態では、温度取得タイミングが到来した場合に温度実測値が取得されて要求信号が光回線終端部22に送信される場合を例示したが、本発明はこれに限定されるものではない。例えば、温度実測値が一定値以上変化した場合に要求信号が光回線終端部22に送信され、これに応じて、光回線終端部22から光送信制御部20に供給された電流制御用DAC出力値が発光素子ドライバ136に設定されるようにしてもよい。ここで、電流制御用DAC出力値が設定されるとは、発光素子ドライバ136が現時点で保持しているDAC出力値を、光回線終端部22から供給された電流制御用DAC出力値に置き換えることで、発光素子ドライバ136が保持するDAC出力値を更新することを意味する。
温度実測値が変化した場合に発光素子ドライバ136のDAC出力値が更新されるようにするには、例えば、図8に示す光送信制御部側処理が送信光特性制御回路38によって実行される。図8に示す光送信制御部側処理は、図4に示す光送信制御部側処理に比べ、ステップ208の処理とステップ210の処理との間にステップ209の処理を有する点が異なる。
図8に示す光送信制御部側処理では、ステップ209で、送信光特性制御回路38は、温度実測値が一定値以上変化したか否かを判定する。ここで、「温度実測値が一定値以上変化した」とは、ステップ208の処理で取得した最新の温度実測値と、ステップ208の処理で前回に取得した温度実測値との差分値の絶対値が一定以上の値であることを意味する。ステップ209において、温度実測値が一定値以上変化した場合は、判定が肯定されて、ステップ210へ移行する。ステップ209において、温度実測値が変化していない場合は、判定が否定されて、ステップ220へ移行する。
このように、ステップ209において判定が肯定されると、要求信号が光回線終端部22に送信され(ステップ210)、これに応じて、光回線終端部22から光送信制御部20に電流制御用DAC出力値が供給される(ステップ214:Y)。そして、供給された電流制御用DAC出力値が発光素子ドライバ136に設定されることで(ステップ218)、発光素子ドライバ136のDAC出力値が更新される。これにより、温度実測値の一定値以上の変化とは無関係にDAC出力値が更新される場合に比べ、DAC出力値の不要な更新が抑制される。
なお、温度センサ154の温度測定に係る分解能に基づいて、一定値を決定するようにしてもよい。この場合、ステップ208の処理で前回に取得した温度実測値との差分値の絶対値が、温度センサ154の温度測定に係る分解能から決定される一定値以上であるか否かが判定される。
また、上記第1実施形態では、一次記憶部27に電流制御用テーブル140が記憶される場合を例示したが、本発明はこれに限定されるものではなく、RAM146に電流制御用テーブル140が記憶されるようにしてもよい。但し、この場合、PON用通信部44の構成(例えば、ソフトウェア構成)が複雑化する上、メモリアクセスの競合発生時のレイテンシの増加による影響で、マスタ用通信回路56とスレーブ用通信回路72との間の応答性が悪化する虞がある。そのため、このような事態の発生を回避すべく、上記第1実施形態で説明したように、RAM146とは別に一次記憶部27を設けて、一次記憶部27に電流制御用テーブル140が記憶されるようにすることが好ましい。
[第2実施形態]
上記第1実施形態では、要求信号に応じてパリティのチェックを実施する場合を例示したが、本第2実施形態では、上記第1実施形態のようにスレーブ用通信回路が要求信号を受信した場合に限らず、所定の時期、一例として所定周期でパリティのチェックを実施する場合について説明する。なお、本第2実施形態では、上記第1実施形態と異なる部分のみ説明する。
一例として図1に示すように、本第2実施形態に係る通信システム300は、上記第1実施形態に係る通信システム10に比べ、ONU16に代えてONU316を有する点が異なる。
一例として図2に示すように、ONU316は、ONU16に比べ、光送信制御部20に代えて光送信制御部320を有する点が異なる。ONU316は、ONU16に比べ、光回線終端部22に代えて光回線終端部322を有する点が異なる。
一例として図9に示すように、光送信制御部320は、光送信制御部20に比べ、送信光特性制御回路38に代えて送信光特性制御回路338を有する点が異なる。送信光特性制御回路338は、送信光特性制御回路38に比べ、マスタ用通信回路56に代えてマスタ用通信回路356を有する点が異なる。
一例として図9に示すように、光回線終端部322は、光回線終端部22に比べ、PON用通信部44に代えてPON用通信部344を有する点が異なる。光回線終端部322は、光回線終端部22に比べ、二次記憶部19に代えて二次記憶部319を有する点が異なる。PON用通信部344は、PON用通信部44に比べ、スレーブ用通信回路72に代えてスレーブ用通信回路372を有する点が異なる。
マスタ用通信回路356は、マスタ用通信回路56に比べ、パリティのチェックの実施を要求するチェック要求信号を更にスレーブ用通信回路372に送信する点が異なる。
スレーブ用通信回路372は、スレーブ用通信回路72に比べ、更にチェック要求信号を受信する点が異なる。
二次記憶部319は、二次記憶部19に比べ、テーブル更新プログラム80を更に記憶している点が異なる。
CPU158は、二次記憶部319からテーブル更新プログラム80を読み出して、RAM146に展開し、テーブル更新プログラム80を実行する。テーブル更新プログラム80がCPU158によって実行されることで後述のテーブル更新処理(図11参照)が実現される。
次に、ONU316の作用について説明する。
先ず、送信光特性制御回路338によって実行されるパリティチェック要求処理について、図10を参照して説明する。
図10に示すパリティチェック要求処理では、先ず、ステップ400で、送信光特性制御回路338は、パリティチェックタイミングが到来したか否かを判定する。ここで、パリティチェックタイミングとは、一次記憶部27に記憶されている電流制御用テーブル140に格納されている電流制御用DAC出力値に対するパリティのチェックを実施するタイミングを指す。パリティチェックタイミングとしては、例えば、要求信号の送信タイミングと重ならず、かつ、既定の周期で定められたタイミングを指す。既定の周期とは、例えば、60秒毎に到来する周期を指す。
ステップ400において、パリティチェックタイミングが到来していない場合は、判定が否定されて、ステップ404へ移行する。ステップ400において、パリティチェックタイミングが到来した場合は、判定が肯定されて、ステップ402へ移行する。
ステップ402で、送信光特性制御回路338は、マスタ用通信回路356に対して、チェック要求信号をスレーブ用通信回路372に送信させ、その後、ステップ404へ移行する。
ステップ404で、送信光特性制御回路338は、パリティチェック要求処理を終了する条件を満足したか否かを判定する。パリティチェック要求処理を終了する条件の一例としては、ONU316に対してOLT12から登録削除(リンク切断)の指示が与えられた場合や、ONU316の故障によりONU316の動作が停止する場合などが挙げられる。
ステップ404において、パリティチェック要求処理を終了する条件を満足していない場合は、判定が否定されて、ステップ400へ移行する。ステップ404において、パリティチェック要求処理を終了する条件を満足した場合は、判定が肯定されて、パリティチェック要求処理を終了する。
次に、ONU316の電源スイッチ(図示省略)がオンされた場合に、CPU158がテーブル更新プログラム80を実行することで実現されるテーブル更新処理について、図11を参照して説明する。
図11に示すテーブル更新処理では、先ず、ステップ410で、スレーブ用通信回路372は、パリティチェック要求処理に含まれるステップ402の処理が実行されることで送信されるチェック要求信号がスレーブ用通信回路372によって受信されたか否かを判定する。
ステップ410において、パリティチェック要求処理に含まれるステップ402の処理が実行されることで送信されるチェック要求信号がスレーブ用通信回路372によって受信されていない場合は、判定が否定されて、ステップ410の判定が再び行われる。ステップ410において、パリティチェック要求処理に含まれるステップ402の処理が実行されることで送信されるチェック要求信号がスレーブ用通信回路372によって受信された場合は、判定が肯定されて、ステップ412へ移行する。
ステップ412で、スレーブ用通信回路372は、一次記憶部27の電流制御用テーブル140に格納されている電流制御用DAC出力値の全てに対するパリティのチェックを実施し、その後、ステップ414へ移行する。
なお、本ステップ412では、電流制御用DAC出力値の全てがパリティのチェック対象とされているが、本発明はこれに限定されるものではない。例えば、電流制御用テーブル140に格納されている電流制御用DAC出力値のうちの一部がパリティのチェック対象とされてもよい。
具体的には、一次記憶部27の電流制御用テーブル140に格納されている電流制御用DAC出力値のうち、予め定められた順序で選択された電流制御用DAC出力値がパリティのチェック対象とされてもよい。
この他にも、例えば、マスタ用通信回路356によって要求された電流制御用DAC出力値がパリティのチェック対象とされてもよい。この場合、例えば、パリティのチェック対象とされる電流制御用DAC出力値に対応するメモリアドレスがチェック要求信号に含まれるようにすればよい。
ステップ414で、スレーブ用通信回路372は、ステップ412の処理が実行されることで実施されたパリティのチェック結果が異常であるか否かを判定する。ステップ414において、ステップ412の処理が実行されることで実施されたパリティのチェック結果が正常である場合は、判定が否定されて、ステップ418へ移行する。ステップ414において、ステップ412の処理が実行されることで実施されたパリティのチェック結果が異常である場合は、判定が肯定されて、ステップ416へ移行する。また、スレーブ用通信回路372は、CPU158に、パリティのチェック結果が異常であることを通知する。スレーブ用通信回路372がCPU158に通知を行う方法の一例としては、割り込み処理が挙げられる。
ステップ416で、CPU158は、スレーブ用通信回路372からの通知を受けて、二次記憶部319から電流制御用テーブル140を読み出す。そして、CPU158は、読み出した電流制御用テーブル140を一次記憶部27に上書き保存することで一次記憶部27の電流制御用テーブル140を更新し、その後、ステップ418へ移行する。
ステップ418で、CPU158は、テーブル更新処理を終了する条件を満足したか否かを判定する。テーブル更新処理を終了する条件の一例としては、OLT12から登録削除(リンク切断)の指示が与えられた場合や、ONU316の故障によりONU316の動作が停止する場合などが挙げられる。
ステップ418において、テーブル更新処理を終了する条件を満足していない場合は、判定が否定されて、ステップ410へ移行する。ステップ418において、テーブル更新処理を終了する条件を満足した場合は、判定が肯定されて、テーブル更新処理を終了する。
以上説明したように、ONU316では、一次記憶部27に記憶されている電流制御用テーブル140の電流制御用DAC出力値に対してパリティのチェックが実施される(ステップ412)。そして、チェック結果が異常の場合に、一次記憶部27の電流制御用テーブル140が更新される(ステップ416)。
従って、ONU316によれば、電流制御用DAC出力値が誤りを有しているにも拘わらず一次記憶部27の電流制御用テーブル140が更新されない場合に比べ、発光素子124の誤作動を抑制することができる。
なお、上記第2実施形態では、チェック要求信号が送信されることを条件にパリティのチェックが実施される場合を例示したが、本発明はこれに限定されるものではない。例えば、上述したパリティチェックタイミングとは無関係に、10秒毎又は30秒毎等の既定の時間間隔毎にパリティのチェックが行われるようにしてもよい。また、ONU316のユーザによって与えられた指示に応じてパリティのチェックが実施されるようにしてもよい。
また、上記各実施形態では、PON用通信部44(344)に一次記憶部27が内蔵されている場合を例示したが、本発明はこれに限定されるものではない。例えば、一次記憶部27は、例えば、PON用通信部44(344)の外側でバスライン164に接続されている等のように、CPU158及びスレーブ用通信回路72(372)によって使用可能な状態で光回線終端部22(322)設けられていればよい。
また、上記各実施形態では、PON用通信部44(344)の外側にRAM146が設けられている場合を例示したが、本発明はこれに限定されるものではなく、PON用通信部44(344)にRAM146が内蔵されていてもよい。
また、上記各実施形態では、電流制御用DAC出力値に対する誤り検出として、パリティのチェックの実施を例示したが、本発明はこれに限定されるものではなく、例えば、チェックサム等の他の方式による誤り検出が行われるようにしてもよい。
また、上記各実施形態では、光回線終端部側プログラム74を二次記憶部19(319)から読み出す場合を例示したが、必ずしも最初から二次記憶部19(319)に記憶させておく必要はない。例えば、図12に示すように、任意の調整用端末500に光回線終端部側プログラム74が記憶されており、調整用端末500に記憶される光回線終端部側プログラム74がONU16(316)の二次記憶部19(319)に格納(インストール)され、格納された光回線終端部側プログラム74がCPU158等によって実行されてもよい。
また、PONを含むネットワーク(図示省略)を介してOLT12に接続される他のコンピュータ又はサーバ装置等の記憶部に光回線終端部側プログラム74を記憶させておき、光回線終端部側プログラム74がOLT12またはONU16(316)の要求に応じて、OLT12を経由してONU16(316)ダウンロードされるようにしてもよい。この場合、ダウンロードされた光回線終端部側プログラム74がCPU158等によって実行される。
また、上記第2実施形態では、テーブル更新プログラム80を二次記憶部319から読み出す場合を例示したが、必ずしも最初から二次記憶部319に記憶させておく必要はない。例えば、図12に示すように、任意の調整用端末500にテーブル更新プログラム80が記憶されており、調整用端末500に記憶されるテーブル更新プログラム80がONU16(316)に格納(インストール)され、格納されたテーブル更新プログラム80がCPU158等によって実行されてもよい。
また、PONを含むネットワーク(図示省略)を介してOLT12に接続される他のコンピュータ又はサーバ装置等の記憶部にテーブル更新プログラム80を記憶させておき、テーブル更新プログラム80がOLT12またはONU16(316)の要求に応じて、OLT12を経由してONU16(316)にダウンロードされるようにしてもよい。この場合、ダウンロードされたテーブル更新プログラム80がCPU158等によって実行される。
また、図1及び図3を参照して説明した、ONU16の発光素子124を光送信制御部20により、送信対象情報と、電流制御用テーブル140に格納されている電流制御用DAC出力値とに基づいて制御する構成は、OLTが備える発光素子の制御にも適用することができる。
OLTが備える発光素子の制御に適用する場合は、OLTは、図1に示す発光素子124、制御部17、実行部21、二次記憶部19、及びRAM146と同等の構成を備える。また、OLTは、図3に示す光送信制御部20及び光回線終端部22と同等の構成を備える。OLTでは、基本プログラムが記憶された二次記憶部に電流制御用テーブルが記憶されており、PON用通信部によって二次記憶部から基本プログラムが読み出されて実行される。OLTでは、更に、PON用通信部によって二次記憶部から電流制御用テーブルが読み出される。そして、電流制御用テーブルに格納されている電流制御用DAC出力値が光送信制御部の要求に応じてPON用通信部によって光送信制御部に供給される。OLTが備える発光素子は、連続した光信号としての情報光を、OLTに接続されたスターカプラに向けて出力する。なお、OLTは、図1及び図3に示す構成と同様の構成を有すると共に、図1及び図3に図示されないOLTの機能特有の構成を備えていてもよい。
なお、図1及び図3に示す構成と同様の構成を有するOLT及び上記実施形態で説明したONU16(316)は、本発明に係る光回線終端装置の一例である。
また、上記第1実施形態で説明した光送信制御部側処理(図4参照)は、あくまでも一例である。従って、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。なお、光回線終端部側処理(図5参照)、パリティチェック要求処理(図10参照)、及びテーブル更新処理(図11参照)についても同様である。
また、上記第1実施形態では、送信制御部側処理がソフトウェア構成とハードウェア構成と組み合わせにより実現される場合を例示したが、これは、あくまでも一例である。送信制御部側処理は、ソフトウェア構成で実現されてもよいし、ハードウェア構成で実現されてもよい。なお、上記第2実施形態で説明したパリティチェック要求処理についても同様である。
また上記第1実施形態では、光回線終端部側処理がソフトウェア構成で実現される場合を指示したが、これは、あくまでも一例である。光回線終端部側処理は、ハードウェア構成で実現されてもよいし、ハードウェア構成とソフトウェア構成の組み合わせにより実現されてもよい。なお、上記第2実施形態で説明したテーブル更新処理についても同様である。