以下、図面を参照して、本発明の信号処理装置の実施の形態について説明する。
<第1の実施の形態の信号処理装置の構成例>
図1は、第1の実施の形態の信号処理装置の概要を示す構成図で、図1(a)は、第1の実施の形態の信号処理装置1Aの模式的な平面図、図1(b)は、信号処理装置1Aの模式的な側面図、図1(c)は、信号処理装置1Aにおける光入出力部の配置を示す模式的な平面図である。
第1の実施の形態の信号処理装置1Aは、光が伝送される光導波路2Aと、光導波路2Aに接続されるマスタ基板3M及びスレーブ基板3Sを備える。
光導波路2Aは、例えば円板形状の外周が光の入出力面となり、入出力面の任意の位置から入力した光が全周方向へ出力する機能を有する。
マスタ基板3Mは、入力された電気信号を光に変換して出力する光出力部として、例えばレーザダイオード(LD)30Mを備えると共に、入力された光を電気信号に変換して出力する光入力部として、フォトディテクタ(PD)31Mを備える。
スレーブ基板3Sは、入力された電気信号を光に変換して出力する光出力部として、例えばレーザダイオード(LD)30Sを備えると共に、入力された光を電気信号に変換して出力する光入力部として、フォトディテクタ(PD)31Sを備える。
信号処理装置1Aは、光導波路2Aの外周に対向した複数個所に、マスタ基板3M及びスレーブ基板3Sが実装される基板接続部10を備える。
基板接続部10は、例えば、マスタ基板3M及びスレーブ基板3Sに電源を供給する電源基板11に、マスタ基板3M及びスレーブ基板3Sが着脱可能なコネクタを備えて構成される。
これにより、信号処理装置1Aは、1枚のマスタ基板3Mと、実現したい機能に応じた任意の枚数のスレーブ基板3Sが、基板接続部10に実装される。
そして、マスタ基板3Mのレーザダイオード30Mから出力された光は、光導波路2Aを伝送されて、任意の位置の基板接続部10に実装されたスレーブ基板3Sのフォトディテクタ31Sに入力される。
また、任意の位置の基板接続部10に実装されたスレーブ基板3Sのレーザダイオード30Sから出力された光は、光導波路2Aを伝送されて、マスタ基板3Mのフォトディテクタ31Mに入力される。
ここで、光導波路2Aに接続されたスレーブ基板3Sのレーザダイオード30Sから一定光量で光を出力したときに、光導波路2Aでは、マスタ基板3Mに対するスレーブ基板3Sの実装位置に応じて光が減衰し、また、スレーブ基板3Sの数に応じて光が加算されることで、マスタ基板3Mでは、フォトディテクタ31Mに入力される光のレベル(強度)が変化する。
同様に、マスタ基板3Mのレーザダイオード30M及びスレーブ基板3Sのレーザダイオード30Sから一定光量で光を出力したときに、光導波路2Aでは、あるスレーブ基板3Sに対するマスタ基板3M及び他のスレーブ基板3Sの実装位置に応じて光が減衰し、また、スレーブ基板3Sの数に応じて光が加算されることで、スレーブ基板3Sでは、フォトディテクタ31Sに入力される光のレベルが変化する。
そこで、信号処理装置1Aでは、マスタ基板3M及びスレーブ基板3Sで入力される光のレベルを利用して、マスタ基板3Mは、配置が未知のスレーブ基板3Sを認識する。
すなわち、マスタ基板3Mは、光導波路2Aに接続された全てのスレーブ基板3Sのレーザダイオード30Sから、一定光量で光を出力させる。
ここで、マスタ基板3Mは、自機のレーザダイオード30M及びスレーブ基板3Sのレーザダイオード30Sに関する諸特性、例えば、波長と発光量と減衰特性を認識している。また、マスタ基板3Mのフォトディテクタ31Mと、各スレーブ基板3Sのフォトディテクタ31Sは、同一のものである。
このため、マスタ基板3Mのフォトディテクタ31Mに入力される光のレベルと、スレーブ基板3Sのフォトディテクタ31Sに入力される光のレベルは、スレーブ基板3Sの数と配置に応じて一意に決まる。
これにより、マスタ基板3Mは、各スレーブ基板3Sから一定光量で光が出力されることで、光導波路2Aを伝送されて自機のフォトディテクタ31Mに入力される光のレベルに基づいて、スレーブ基板3Sの配置と数を決定する。
更に、各スレーブ基板3Sは、自機のフォトディテクタ31Sに入力される光のレベルに応じた入力値を保持すると共に、マスタ基板3Mは、配置が認識された各スレーブ基板3Sでフォトディテクタ31Sに入力される光のレベルを求めて、該当する入力値を持つスレーブ基板3Sに対して固有の識別情報であるIDを付与し、各スレーブ基板3Sを識別する。
さて、光導波路2Aにおいては、光導波路2Aを間にしたある基板の正面位置を中心(0°)にして考えると、±180°の範囲で光が略対称に減衰する。これにより、光導波路2Aを間にしてマスタ基板3Mに対する180°の位置、すなわち、マスタ基板3Mの正面を0°とした場合に、+θt°の位置にあるスレーブ基板3Sからの光のPD入力レベルと、−θt°の位置にあるスレーブ基板3Sからの光のPD入力レベルは略等しくなる。
また、0°〜+180°の範囲及び0°〜−180°の範囲の間にも、PD入力レベルが等しくなる位置がある。
そこで、光導波路2Aにおける光の減衰の対称性を崩して、スレーブ基板3Sの配置が異なる場合で、マスタ基板3Mで入力される光のレベルが同一とならないように、マスタ基板3Mは、本例では、2個のフォトディテクタ31M1とフォトディテクタ31M2を備える。
フォトディテクタ31M1とフォトディテクタ31M2は、同一方向からが光が入力したときにレベルに差が出るように、光導波路2Aの中心に向けた一方のフォトディテクタ31M1に対して他方のフォトディテクタ31M2は、面方向に所定の角度αで傾斜させて配置される。
また、配置が異なるスレーブ基板3Sで、入力される光のレベルが同一とならないように、スレーブ基板3Sは、本例では、2個のフォトディテクタ31S1とフォトディテクタ31S2を備える。
フォトディテクタ31S1とフォトディテクタ31S2は、同一方向からが光が入力したときにレベルに差が出るように、光導波路2Aの中心に向けた一方のフォトディテクタ31S1に対して他方のフォトディテクタ31S2は、面方向に所定の角度αで傾斜させて配置される。
<光導波路の構成例>
図2は、本実施の形態の信号処理装置を構成する光導波路の一例及び減衰特性を示す構成図であり、図2(a)は、光導波路2Aの模式的な断面図、図2(b)は、レーザダイオードに対する角度とフォトディテクタの入力レベルの関係を示すグラフである。
光導波路2Aは、任意の方向から入力された光を、乱反射または散乱によって全周方向から出力させる平面型の光導波路である。ここで、反射とは、進行波あるいは粒子等が、進行中の媒質と異なる媒質あるいは不連続的変化のある境界面に当たって方向を変え、元の媒質中の新しい方向に進む現象で、境界面の凹凸が波長と同程度、あるいはそれより大きければ、反射波は種々の方向に進む。このような反射を乱反射あるいは拡散反射という。
一方、散乱とは、波がその波長に比べてあまり大きくない障害物に当たったときに、それを中心として周囲に広がっていく波ができる現象である。
光導波路2Aは、所定の波長領域において第1の光透過率を有した導光素材で形成された第1の導光部20Aと、第1の光透過率と異なる第2の光透過率を有した導光素材で形成された第2の導光部21Aを備える。第1の導光部20A及び第2の導光部21Aは、本例では共に円板形状で、第1の導光部20Aの側方全周に第2の導光部21Aが設けられる。
第1の導光部20Aは、所定の波長領域において第1の光透過率を有して透明な樹脂材料または空気層等で形成される。また、第2の導光部21Aは、所定の波長領域において第2の光透過率を有して透明な樹脂材料等で形成される。
例えば、第1の導光部20Aと第2の導光部21Aが共に樹脂材料で形成される構成では、第1の導光部20Aと第2の導光部21Aの境界面22で、第1の導光部20Aの外周面と第2の導光部21Aの内周面が接する構成である。
また、第1の導光部20Aが空気層で形成され、第2の導光部21Aが樹脂材料で形成される構成では、第1の導光部20Aと第2の導光部21Aの境界面22で、第2の導光部21Aの内周面が空気層と接する構成である。
ここで、上述したいずれの構成でも、円形の第1の導光部20Aの中心と第2の導光部21Aの中心を合わせて、第1の導光部20Aが第2の導光部21Aの略中心に配置される。
光導波路2Aは、第2の導光部21Aの上下面に反射材23Aを備える。反射材23Aは、第2の導光部21Aの外周面は全周に亘って露出させると共に、光を反射させる反射面を第2の導光部21Aの平面に対向させて、第2の導光部21Aを両面から挟む。
更に、光導波路2Aは、第1の導光部20Aの上下面に乱反射材24を備える。乱反射材24は、光を乱反射させる乱反射面を、例えば空気層である第1の導光部20Aに対向させて、第1の導光部20Aを両面から挟む。
ここで、図2(a)の構成では、第2の導光部21Aを挟んだ反射材23Aを、更に乱反射材24で挟んだ構成で、乱反射材24の第1の導光部20Aに対向した乱反射面と、反射材23Aの第2の導光部21Aに対向した反射面は、反射材23Aの厚みに応じた距離を有する。
なお、乱反射材24の乱反射面と反射材23Aの反射面の距離は、この例に限ることなく、近づけても良いし同一面でも良い。また、乱反射材24の乱反射面が反射材23Aの反射面より内側にあっても良い。
すなわち、乱反射材24の乱反射面と反射材23Aの反射面の距離は、光導波路2Aの外周の任意の位置から第1の導光部20Bに向けて光を入力したときに、光導波路2Aの外周において測定される乱反射光が十分な強度になるという条件を満たす所定の距離ならいくらでも良い。
これにより、光導波路2Aは、第2の導光部21Aの外周面の任意の位置が光の入出力面となり、第2の導光部21Aの外周面から光が入出力されると共に、第2の導光部21Aに入力した光が反射材23Aで反射して、第2の導光部21Aを伝送される。
また、第2の導光部21Aを伝送される光が、乱反射材24での乱反射と、光透過率の異なる第1の導光部20Aと第2の導光部21Aとの境界面22での屈折や反射等により、第1の導光部20Aから全周方向に出力される。
更に、第1の導光部20Aから全周方向に出力された光は、第2の導光部21Aを伝送されて、第2の導光部21Aの外周面から出力される。
従って、光導波路2Aは、外周の任意の位置から第1の導光部20Aに向けて光が入力されると、第1の導光部20Aで全周方向に光が出力されて、外周の任意の位置で受光が可能となる。
これにより、図1(a)に示すマスタ基板3Mとスレーブ基板3Sは、レーザダイオード30M,30Sの図示しない発光部とフォトディテクタ31M,31Sの図示しない受光部を第2の導光部21Aの外周面に対向させて、光導波路2Aの外周に配置される。
図2(b)では、図1(c)に示すように、一方のフォトディテクタ30M1に対する他方のフォトディテクタ31M2の角度αを5°とした時に、レーザダイオード30Sに対する角度θを動かしたときのPD入力レベルの変化を示す。
図2(b)に示すように、2個のフォトディテクタ31Mに傾斜を持たせることで、PD入力レベルに差が生じて、対象性が崩れていることがわかる。ここで、一方のフォトディテクタ31M1に対する他方のフォトディテクタ31M2の傾斜角度は、他方のフォトディテクタ31M2の向きが、光導波路2Aにおいて第1の導光部20Aの内側に入る程度が望ましい。
なお、光導波路2Aは、図2(a)に示す構成に限るものではなく、光導波路2Aの外周の任意の位置から光を入力した時に、光導波路2Aの外周において測定される乱反射光が十分な強度になるという条件を満たすものであれば良い。
また、光導波路2Aは、円形ではなく多角形でも良い。光導波路を多角形とする構成では、多角形の角(頂点)を除く辺部を光の入出力面とすれば良い。
<マスタ基板の制御機能例>
図3は、マスタ基板の制御系の一例を示す機能ブロック図である。マスタ基板3Mは、フォトディテクタ31M1,31M2の入力値を検知するPD入力飽和値検出部32aと、PD入力値からスレーブ基板3Sの位置と数を算出するスレーブ位置・数算出部32bを備える。また、位置が決定したスレーブ基板3SのPD入力値を予測するスレーブPD入力値予測部32cと、PD入力値の予測値を利用してスレーブ基板3Sを区別し、IDを付与するスレーブID割り当て部32dを備える。
<第1の実施の形態の信号処理装置の動作例>
1.マスタ基板がスレーブ基板の存在を認識する処理
次に、電源オン時においてマスタ基板3Mがスレーブ基板3Sの存在を認識するために、マスタ基板3Mとスレーブ基板3Sで実行される処理の概要について説明する。
図4は、電源オン時の処理を示すタイミングチャート、図5は、電源オン時のマスタ基板3Mの処理を示すフローチャート、図6は、電源オン時のマスタ基板3Mにおけるレーザダイオード出力とフォトディテクタ入力のレベル変化を示すタイムチャートである。また、図7は、電源オン時のスレーブ基板3Sの処理を示すフローチャート、図8は、電源オン時のスレーブ基板3Sにおけるレーザダイオード出力とフォトディテクタ入力のレベル変化を示すタイムチャートである。
(1−1)図5のステップSA1で、マスタ基板3Mの電源がオンされる。マスタ基板3Mでは、電源がオンされると、ステップSA2でコンフィギュレーションを開始する。
(1−2)図5のステップSA3で、マスタ基板3Mは、電源がオンされると、自機のレーザダイオード30M(MLD)を点灯させる。
光導波路2Aは、外周の任意の位置から入力した光が全周方向へ出力される機能を有するので、マスタ基板3Mでは、レーザダイオード30Mから出力した光が、自機のフォトディテクタ31M(MPD)に入力する。これにより、フォトディテクタ31Mの入力レベルが、図6のレベルLM1に上昇する。
また、マスタ基板3Mのレーザダイオード30Mが点灯することで、マスタ基板3Mから出力された光が光導波路2Aを伝送されて、スレーブ基板3Sのフォトディテクタ31S(SPD)に入力される。これにより、図7のステップSB1で、光導波路2Aに接続されている各スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが、図8のレベルLS1に上昇する。
スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが上昇すると、ステップSB2で電源をオンし、ステップSB3でコンフィギュレーションを開始する。
(1−3)図7のステップSB4で、各スレーブ基板3Sは、マスタ基板3Mから出力された光が、光導波路2Aを伝送されてフォトディテクタ31Sに入力されることで電源がオンになると、自機のレーザダイオード30Sを点灯させる。
マスタ基板3Mのレーザダイオード30Mの点灯に応答して、各スレーブ基板3Sのレーザダイオード30Sが点灯すると、各スレーブ基板3Sから出力された光が光導波路2Aを伝送されて、マスタ基板3Mのフォトディテクタ31Mに入力される。
各スレーブ基板3Sから出力された光が、マスタ基板3Mのフォトディテクタ31Mに入力することで、マスタ基板3Mでは、フォトディテクタ31Mの入力レベルが上昇する。
図6では、2枚のスレーブ基板3Sが接続されている場合の例を示し、第1のスレーブ基板3Sのレーザダイオード30S(S1LD)が点灯すると、マスタ基板3Mでは、フォトディテクタ31Mの入力レベルがレベルLM2に上昇する。更に、第2のスレーブ基板3Sのレーザダイオード30S(S2LD)が点灯すると、フォトディテクタ31Mの入力レベルがレベルLM3に上昇する。
このように、マスタ基板3Mでは、自機のレーザダイオード30Mの点灯に応答してスレーブ基板3Sでレーザダイオード30Sが点灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が一定値になると、図5のステップSA4で、光導波路2Aに接続されている全てのスレーブ基板3Sの存在を確認する。尚、マスタ基板3Mがスレーブ基板3Sの存在を確認する処理の詳細は後述する。
また、マスタ基板3Mのレーザダイオード30Mの点灯に応答して、各スレーブ基板3Sから光が出力されると、各スレーブ基板3Sでは、フォトディテクタ31Sの入力レベルが上昇する。
例えば、第1のスレーブ基板3Sでは、自機のレーザダイオード30S(S1LD)が点灯することで出力した光が、自機のフォトディテクタ31Sに入力する。これにより、フォトディテクタ31Sの入力レベルが、図8のレベルLS2に上昇する。
また、マスタ基板3Mのレーザダイオード30Mの点灯に応答して、第2のスレーブ基板3Sのレーザダイオード30S(S2LD)が点灯すると、第1のスレーブ基板3Sでは、フォトディテクタ31Sの入力レベルがレベルLS3に上昇する。尚、第2のスレーブ基板側でも、同様の動作である。
(1−4)マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sの存在を確認すると、図5のステップSA5で、自機のレーザダイオード30Mを消灯させる。
マスタ基板3Mのレーザダイオード30Mが消灯することで、スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが、図8のレベルLS3から下降する。
このように、スレーブ基板3Sでは、マスタ基板3Mのレーザダイオード30Mの点灯に応答してレーザダイオード30Sが点灯すると、フォトディテクタ31Sの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そして、マスタ基板3Mが全てのスレーブ基板3Sの存在を確認し、レーザダイオード30Mを消灯すると、各スレーブ基板3Sのフォトディテクタ31Sの入力レベルは、一定値から下降する。
そこで、スレーブ基板3Sは、フォトディテクタ31Sの入力値が一定値から下降すると、図7のステップSB5で、マスタ基板3Mがスレーブ基板3Sの存在の確認を完了したと判断する。尚、マスタ基板3Mでスレーブ基板3Sの存在が確認されたことをスレーブ基板3Sが確認する処理の詳細は後述する。
(1−5)各スレーブ基板3Sは、マスタ基板3Mで全てのスレーブ基板3Sの存在の確認を完了したと判断すると、図7のステップSB6で、自機のレーザダイオード30Sを消灯させる。
各スレーブ基板3Sのレーザダイオード30Sが消灯することで、マスタ基板3Mは、フォトディテクタ31Mの入力レベルが下降する。
このように、マスタ基板3Mでは、自機のレーザダイオード30Mの消灯に応答してスレーブ基板3Sでレーザダイオード30Sが消灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが消灯するまでは下降し、全てのスレーブ基板3Sのレーザダイオード30Sが消灯すると「0」になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が0になると、図5のステップSA6で、全てのスレーブ基板3Sで処理を完了したと判断し、電源オン時の処理を終了する。尚、マスタ基板3Mがスレーブ基板3Sで処理を完了したことを確認する処理の詳細は後述する。
次に、電源オン時のフローチャートで、マスタ基板3Mがスレーブ基板3Sの存在を確認する処理、マスタ基板3Mでスレーブ基板3Sの存在が確認されたことをスレーブ基板3Mが確認する処理、及びマスタ基板3Mがスレーブ基板3Sで処理が完了したことを確認する処理の詳細について説明する。
図9〜図15は、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する方法の一例を示すフローチャートである。
ここで、T=0,1,・・・t,・・・を、Xのサンプリング間隔とする。また、Xの微分係数を、以下の(1)式と定義し、Xの積分値を、以下の(2)式と定義する。尚、εは、十分小さい正の数である。
図9のフローチャートでは、ステップSC1aで、フォトディテクタ31M(フォトディテクタ31S)の入力値PDをサンプリングし、ステップSC2aで、ΔPDtを算出する。
そして、ステップSC3aで、ΔPDt>0か判断することで、入力値PDの微分係数が、正の値から0に変化したことを利用して、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する。
図10のフローチャートでは、ステップSC1bで、フォトディテクタ31M(フォトディテクタ31S)の入力値PDをサンプリングし、ステップSC2bで、ΔPDtを算出する。
そして、ステップSC3bで、ΔPDt<0か判断することで、入力値PDの微分係数が、負の値から0に変化したことを利用して、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する。
図11のフローチャートでは、ステップSC1cで、フォトディテクタ31M(フォトディテクタ31S)の入力値PDをサンプリングし、ステップSC2cで、ΔPDtを算出する。
そして、ステップSC3cで、│ΔPDt│<εか判断することで、入力値PDの値が一定になった(入力値PDの微分係数が0になった)変化を利用して、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する。
図12のフローチャートでは、ステップSC1dで、フォトディテクタ31M(フォトディテクタ31S)の入力値PDをサンプリングし、ステップSC2dで、SumPDtを算出する。
そして、ステップSC3dで、SumPDt>0か判断することで、入力値PDの積分値(平均値)の微分係数が、正の値から0に変化したことを利用して、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する。
図13のフローチャートでは、ステップSC1eで、フォトディテクタ31M(フォトディテクタ31S)の入力値PDをサンプリングし、ステップSC2eで、SumPDtを算出する。
そして、ステップSC3eで、SumPDt<0か判断することで、入力値PDの積分値(平均値)の微分係数が、負の値から0に変化したことを利用して、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する。
図14のフローチャートでは、ステップSC1fで、フォトディテクタ31M(フォトディテクタ31S)の入力値PDをサンプリングし、ステップSC2fで、SumPDtを算出する。
そして、ステップSC3fで、│SumPDt│<εか判断することで、入力値PDの積分値(平均値)が一定になった変化を利用して、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する。
図15のフローチャートでは、ステップSC1gで、フォトディテクタ31M(フォトディテクタ31S)の入力値PDをサンプリングする。
そして、ステップSC2gで、PDt<εか判断することで、入力値PDの値が0になった変化を利用して、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する。
なお、電源オン時のフローチャートにおいて、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する方法としては、この図9〜図15の処理を組み合わせて行っても良い。
次に、マスタ基板3M及びスレーブ基板3Sで処理が完了したことを確認する方法を実現する回路構成について説明する。
図16は、フォトディテクタの入力値の微分値を算出する微分回路の一例を示すブロック図、図17は、微分回路におけるサンプリング間隔を示すクロックの波形図である。
微分回路300は、フリップフロック301,302と、分周器303を備える。
さて、フォトディテクタ31M(31S)のレベル変化は、単調に増加及び減少し、フォトディテクタのレベル上昇は、レーザダイオード31S(31M)の点灯によるものであって、フォトディテクタのレベル上昇は十分短い時間で飽和すると考えられる。
また、各基板でのレーザダイオードの点灯によるフォトディテクタのレベル上昇の間隔は、各基板での回路のコンフィギュレーションが終わる間隔に準じる。このフォトディテクタのレベル上昇の間隔は、レーザダイオードの点灯から飽和するまでの時間に比べれば、十分に長いと考えられる。
従って、微分回路300では、フォトディテクタの入力値のサンプリング間隔(CLK)に比べて長い間隔で、フォトディテクタの入力値の差分をとれば良い。
図18は、フォトディテクタの入力値の積分値を算出する積分回路の一例を示すブロック図、図19は、積分回路におけるサンプリング間隔を示すクロックの波形図である。
積分回路310は、加算器311と分周器312を備える。加算器311は、内部にレジスタを持ち、入力された値を加算した結果を保持する。そして、積分回路310は、図示しないPLL回路から出力されるパルスで加算結果を出力し、値をクリアする。
図20は、フォトディテクタの入力値の積分値を算出し、この積分値の微分値を算出する微分・積分回路の一例を示すブロック図、図21は、微分・積分回路におけるサンプリング間隔を示すクロックの波形図である。
微分・積分回路320は、積分回路を構成する加算器321及び分周器322と、加算器321の出力を微分する微分回路を構成するフリップフロップ323及び分周器324を備える。
図22は、電源オン時のマスタ基板3Mの処理の詳細を示すフローチャートであり、次に、電源オン時におけるマスタ基板3Mの処理の詳細について説明する。なお、図22では、図5のフローチャートで説明した処理ステップと同じ処理については、同じ処理ステップの番号を付してある。
上述したように、マスタ基板3Mでは、図5(図22)のフローチャートのステップSA3での自機のレーザダイオード30Mの点灯に応答して、図7のステップSB4でスレーブ基板3Sのレーザダイオード30Sが点灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そこで、マスタ基板3Mは、図22のステップSA4aで、フォトディテクタ31Mの入力値を取得し、ステップSA4bで、フォトディテクタ31Mの入力値が一定値になったことを、例えば、図9のフローチャートの処理で入力値の微分係数が正から0に変化したか否かで判断する。
そして、フォトディテクタ31Mの入力値の微分係数が正から0に変化すると、マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sの存在を確認したと判断し、図5(図22)のステップSA5で、自機のレーザダイオード30Mを消灯させる。
また、マスタ基板3Mでは、自機のレーザダイオード30Mの消灯に応答して、図7のステップSB6でスレーブ基板3Sのレーザダイオード30Sが消灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが消灯するまでは下降し、全てのスレーブ基板3Sのレーザダイオード30Sが消灯すると「0」になる。
そこで、マスタ基板3Mは、図22のステップSA6aで、フォトディテクタ31Mの入力値を取得し、ステップSA6bで、フォトディテクタ31Mの入力値が0になったか否かを、例えば、図15のフローチャートの処理で判断する。
そして、フォトディテクタ31Mの入力値が0になると、マスタ基板3Mは、全てのスレーブ基板3Sで電源オン時の処理を完了したと判断し、電源オン時の処理を終了する。
図23は、電源オン時のスレーブ基板3Sの処理の詳細を示すフローチャートであり、次に、電源オン時におけるスレーブ基板3Sの処理の詳細について説明する。なお、図23では、図7のフローチャートで説明した処理ステップと同じ処理については、同じ処理ステップの番号を付してある。
上述したように、スレーブ基板3Sでは、図5(図22)のステップSA3でのマスタ基板3Mのレーザダイオード30Mの点灯に応答して、図7(図23)のステップSB4でレーザダイオード30Sが点灯すると、フォトディテクタ31Sの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そして、マスタ基板3Mが全てのスレーブ基板3Sの存在を確認し、ステップSA5でレーザダイオード30Mを消灯すると、各スレーブ基板3Sのフォトディテクタ31Sの入力レベルは、一定値から下降する。
そこで、スレーブ基板3Sは、図23のステップSB5aで、フォトディテクタ31Sの入力値を取得し、ステップSB5bで、フォトディテクタ31Sの入力値が一定値から下降したことを、例えば、図9のフローチャートの処理で入力値の微分係数が正から0に変化した後、0から負に変化したか否かで判断する。
そして、フォトディテクタ31Sの入力値の微分係数が正から0に変化した後、0から負に変化すると、スレーブ基板3Sは、マスタ基板3Mで全てのスレーブ基板3Sの存在を確認したと判断し、図7(図23)のステップSB6で、自機のレーザダイオード30Sを消灯させる。
2.マスタ基板がスレーブ基板の配置と数を決定する処理
次に、マスタ基板3Mがスレーブ基板3Sの配置と数を決定するために、マスタ基板3Mとスレーブ基板3Sで実行される処理の概要について説明する。
図24は、スレーブ基板3Sの配置及び数を決定する処理を示すタイミングチャート、図25は、スレーブ基板3Sの配置及び数を決定する時のマスタ基板3Mの処理を示すフローチャート、図26は、スレーブ基板3Sの配置及び数を決定する時のマスタ基板3Mにおけるレーザダイオード出力とフォトディテクタ入力のレベル変化を示すタイムチャートである。また、図27は、スレーブ基板3Sの配置及び数を決定する時のスレーブ基板3Sの処理を示すフローチャート、図28は、スレーブ基板3Sの配置及び数を決定する時のスレーブ基板3Sにおけるレーザダイオード出力とフォトディテクタ入力のレベル変化を示すタイムチャートである。
(2−1)図25のステップSD1で、マスタ基板3Mは、自機のレーザダイオード30M(MLD)を点灯させる。
上述したように、マスタ基板3Mでは、レーザダイオード30Mから出力した光が、光導波路2Aを伝送されて自機のフォトディテクタ31M(MPD)に入力する。これにより、フォトディテクタ31Mの入力レベルが、図26のレベルLM1に上昇する。
また、マスタ基板3Mのレーザダイオード30Mが点灯することで、マスタ基板3Mから出力された光が光導波路2Aを伝送されて、スレーブ基板3Sのフォトディテクタ31S(SPD)に入力される。これにより、図27のステップSE1で、光導波路2Aに接続されている各スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが、図28のレベルLS1に上昇する。
(2−2)図27のステップSE2で、各スレーブ基板3Sは、マスタ基板3Mから出力された光がフォトディテクタ31Sに入力されることで、フォトディテクタ31Sの入力レベルが所定値(LS1)に上昇すると、自機のレーザダイオード30Sを点灯させる。
マスタ基板3Mのレーザダイオード30Mの点灯に応答して、各スレーブ基板3Sのレーザダイオード30Sが点灯すると、各スレーブ基板3Sから出力された光が光導波路2Aを伝送されて、図25のステップSD2で、マスタ基板3Mのフォトディテクタ31Mに入力される。
各スレーブ基板3Sから出力された光が、マスタ基板3Mのフォトディテクタ31Mに入力することで、マスタ基板3Mでは、フォトディテクタ31Mの入力レベルが上昇する。
図26でも、2枚のスレーブ基板3Sが接続されている場合の例を示し、第1のスレーブ基板3Sのレーザダイオード30S(S1LD)が点灯すると、マスタ基板3Mでは、フォトディテクタ31Mの入力レベルがレベルLM2に上昇する。更に、第2のスレーブ基板3Sのレーザダイオード30S(S2LD)が点灯すると、フォトディテクタ31Mの入力レベルがレベルLM3に上昇する。
上述したように、マスタ基板3Mでは、自機のレーザダイオード30Mの点灯に応答してスレーブ基板3Sでレーザダイオード30Sが点灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が一定値になると、図25のステップSD3で、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認する。尚、マスタ基板3Mがスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認する処理の詳細は後述する。
また、マスタ基板3Mのレーザダイオード30Mの点灯に応答して、各スレーブ基板3Sから光が出力されると、各スレーブ基板3Sでは、フォトディテクタ31Sの入力レベルが上昇する。
例えば、第1のスレーブ基板3Sでは、自機のレーザダイオード30S(S1LD)が点灯することで出力した光が、自機のフォトディテクタ31Sに入力する。これにより、フォトディテクタ31Sの入力レベルが、図28のレベルLS2に上昇する。
また、マスタ基板3Mのレーザダイオード30Mの点灯に応答して、第2のスレーブ基板3Sのレーザダイオード30S(S2LD)が点灯すると、第1のスレーブ基板3Sでは、フォトディテクタ31Sの入力レベルがレベルLS3に上昇する。尚、第2のスレーブ基板側でも、同様の動作である。
マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認すると、図25のステップSD4で、スレーブ基板3Sの配置及び数を算出する。なお、マスタ基板3Mがスレーブ基板3Sの配置及び数を算出する処理の詳細は後述する。
(2−3)マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sの配置及び数を算出すると、図25のステップSD5で、自機のレーザダイオード30Mを消灯させる。
マスタ基板3Mのレーザダイオード30Mが消灯することで、スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが、図28のレベルLS3から下降する。
上述したように、スレーブ基板3Sでは、マスタ基板3Mのレーザダイオード30Mの点灯に応答してレーザダイオード30Sが点灯すると、フォトディテクタ31Sの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そして、マスタ基板3Mが全てのスレーブ基板3Sの配置と数を算出し、レーザダイオード30Mを消灯すると、各スレーブ基板3Sのフォトディテクタ31Sの入力レベルは、一定値から下降する。
そこで、スレーブ基板3Sは、フォトディテクタ31Sの入力値が一定値から下降すると、図27のステップSE3で、マスタ基板3Mがスレーブ基板3Sの配置と数の算出を完了したと判断する。尚、マスタ基板3Mでスレーブ基板3Sの配置と数の算出を完了したことをスレーブ基板3Mが確認する処理の詳細は後述する。
(2−4)各スレーブ基板3Sは、マスタ基板3Mで全てのスレーブ基板3Sの配置と数の算出を完了したと判断すると、図27のステップSE4で、自機のレーザダイオード30Sを消灯させる。
各スレーブ基板3Sのレーザダイオード30Sが消灯することで、マスタ基板3Mは、フォトディテクタ31Mの入力レベルが下降する。
上述したように、マスタ基板3Mでは、自機のレーザダイオード30Mの消灯に応答してスレーブ基板3Sでレーザダイオード30Sが消灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが消灯するまでは下降し、全てのスレーブ基板3Sのレーザダイオード30Sが消灯すると「0」になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が0になると、図25のステップSD6で、全てのスレーブ基板3Sが応答したと判断し、スレーブ基板3Sの配置と数を算出する処理を終了する。尚、マスタ基板3Mがスレーブ基板3Sで応答したことを確認する処理の詳細は後述する。
図29は、スレーブ基板3Sの配置及び数を決定する時のマスタ基板3Mの処理の詳細を示すフローチャートであり、次に、スレーブ基板3Sの配置及び数を決定する時におけるマスタ基板3Mの処理の詳細について説明する。なお、図29では、図25のフローチャートで説明した処理ステップと同じ処理については、同じ処理ステップの番号を付してある。
上述したように、マスタ基板3Mでは、図25(図29)のフローチャートのステップSD1での自機のレーザダイオード30Mの点灯に応答して、図27のステップSE2でスレーブ基板3Sのレーザダイオード30Sが点灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そこで、マスタ基板3Mは、図29のステップSD3aで、フォトディテクタ31Mの入力値を取得し、ステップSD3bで、フォトディテクタ31Mの入力値が一定値になったことを、例えば、上述した図9のフローチャートの処理で入力値の微分係数が正から0に変化したか否かで判断する。
そして、フォトディテクタ31Mの入力値の微分係数が正から0に変化すると、マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認したと判断し、図25(図29)のステップSD4で、スレーブ基板3Sの配置及び数を算出する。
また、マスタ基板3Mでは、自機のレーザダイオード30Mの消灯に応答して、図27のステップSE4でスレーブ基板3Sのレーザダイオード30Sが消灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが消灯するまでは下降し、全てのスレーブ基板3Sのレーザダイオード30Sが消灯すると「0」になる。
そこで、マスタ基板3Mは、図29のステップSD6aで、フォトディテクタ31Mの入力値を取得し、ステップSD6bで、フォトディテクタ31Mの入力値が0になったか否かを、例えば、上述した図15のフローチャートの処理で判断する。
そして、フォトディテクタ31Mの入力値が0になると、マスタ基板3Mは、全てのスレーブ基板3Sが応答したと判断し、スレーブ基板3Sの配置と数を決定する処理を終了する。
図30は、スレーブ基板3Sの配置及び数を決定する時のスレーブ基板3Sの処理の詳細を示すフローチャートであり、次に、スレーブ基板3Sの配置及び数を決定する時におけるスレーブ基板3Sの処理の詳細について説明する。なお、図30では、図27のフローチャートで説明した処理ステップと同じ処理については、同じ処理ステップの番号を付してある。
上述したように、スレーブ基板3Sでは、図25(図29)のステップSD1でのマスタ基板3Mのレーザダイオード30Mの点灯に応答して、図27(図30)のステップSE2でレーザダイオード30Sが点灯すると、フォトディテクタ31Sの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そして、マスタ基板3Mが全てのスレーブ基板3Sの配置と数を決定し、ステップSD5でレーザダイオード30Mを消灯すると、各スレーブ基板3Sのフォトディテクタ31Sの入力レベルは、一定値から下降する。
そこで、スレーブ基板3Sは、図30のステップSE3aで、フォトディテクタ31Sの入力値を取得し、ステップSE3bで、フォトディテクタ31Sの入力値が一定値から下降したことを、例えば、上述した図9のフローチャートの処理で入力値の微分係数が正から0に変化した後、0から負に変化したか否かで判断する。
そして、フォトディテクタ31Sの入力値の微分係数が正から0に変化した後、0から負に変化すると、スレーブ基板3Sは、マスタ基板3Mでスレーブ基板3Sの配置と数を決定したと判断し、後述するID付与で利用するため、図30のステップSE3cで、自機のフォトディテクタ31Sの入力値を保持した後、図27(図30)のステップSE4で、自機のレーザダイオード30Sを消灯させる。
次に、スレーブ基板3Sの配置と数を算出するPD入力レベルテーブルについて説明する。
図31は、フォトディテクタ31Mに入力する光のレベルを示すグラフで、図31では、横軸に受光角度θ(0°〜180°)をとり、縦軸に入力レベルをとっている。
マスタ基板3Mにおいて、フォトディテクタ31M1のレベル分布を角度θによってN分割し、角度θiに対応した入力レベルをPD1θiと定義する。そして、角度θiに対応した入力レベルPD1θiを全ての分割に対して持ったベクトルPD1を、以下の(3)式で定義する。
PD1=(PD1θ1,PD1θ2,・・・PD1θN)・・・(3)
これにより、スレーブ基板3Sの配置を角度θiで規定することで、最大S個のスレーブ基板3Sが配置され得る全ての配置のうち、どこかにスレーブ基板3Sが配置され一定光量でレーザダイオード30Sを点灯させた時に、マスタ基板3Mのフォトディテクタ31M1に入力される光のレベルから、入力レベルテーブルtPD1を予め計算できる。
S個のスレーブ基板3Sは、0〜360°の範囲で2N−1個の配置をとることができる。すなわち、0〜180°をN分割するので、円周上では2N分割される。
ここで、スレーブ基板3Sの配置情報を、以下の(4)式に示す配置ベクトルWmに置き換える。つまり、配置0から配置2N−1をベクトルの要素番号に対応付ける。
Wm=(isNode(θ0),isNode(θ1),・・・,isNode(θ2N-1))・・・(4)
ここで、m=0,1,2,・・・,22N-1−1である。
更に、スレーブ基板3S(マスタ基板3M)が配置されるまたは配置しないという情報を、1または0の値に対応付ける。すなわち、isNode(θi)=1は、θiの位置にスリーブ基板3S(マスタ基板3M)が存在することを表し、isNode(θi)=0は、θiの位置にスリーブ基板3Sが存在しないことを表す。なお、配置0はマスタ基板3Mを表し、この要素は常に1にしておく。
図32は、マスタ基板3Mとスレーブ基板3Sの配置例を示す説明図である。図32では、配置0はマスタ基板3Mが配置される箇所である。また、配置1,2,・・・,2N−1は、スレーブ基板3Sが配置され得る箇所である。
例えば、図32において、配置1,2及び配置kにスレーブ基板3Sが配置されていることを、配置ベクトルWmでは以下の(5)式で表すことが出来る。
Wm=[1,1,1,0,・・・,0,1(配置k),0,・・・,0]・・・(5)
逆に考えると、配置ベクトルWmのうち、値が1に等しい要素番号を調べることで、その要素に対応した位置に、スレーブ基板3Sが配置されていることがわかる。
さて、以下の(6)式に示すように、配置ベクトルWmとベクトルPD1の内積をとることで、スレーブ基板3Sが配置ベクトルWmで特定される位置に配置されている場合、マスタ基板3Mのフォトディテクタ31M1に入力される入力レベルを得ることができる。
tPD1wi=Wm・PD1・・・(6)
1枚のスレーブ基板3Sが配置される場所に関する組み合わせは2N−1箇所あり、それぞれ独立に配置の有無があるので、スレーブ基板3Sが配置される場所に関する組み合わせは22N-1通りある。
この全ての組み合わせのベクトルWに対して、上述したPD1との内積をとることで、以下の(7)式に示す入力レベルテーブルtPD1を計算できる。
ここで、入力レベルテーブルtPD1は、22N-1×1次元のベクトル、配置ベクトルWmは、22N-1×2N次元のベクトル、ベクトルPD1は、2N×1次元のベクトルである。
図33は、フォトディテクタ31M1における入力レベルテーブルtPD1と配置ベクトルWmを対応付けたテーブルの一例を示す説明図で、マスタ基板3Mは、フォトディテクタ31M1における入力レベルテーブルtPD1と配置ベクトルWmの関係におけるテーブルを持つ。フォトディテクタ31M2に関しても、同様のテーブルを予め算出しておく。
これにより、マスタ基板3Mは、自機のフォトディテクタ31M1,31M2の入力値を基にテーブルを検索することで、スレーブ基板3Sの配置ベクトルWを得ることができる。
なお、以上の例では、光導波路2Aの円周方向を等間隔でN分割し、2N−1個の位置にスレーブ基板3Sが存在しえるものとして、入力レベルテーブルを作成した。但し、円周方向の等間隔上の位置をスレーブ基板3Sの存在しえる位置とする必要はない。
すなわち、スレーブ基板3Sの存在しえる位置が等間隔ではなく、偏った配置であっても、スレーブ基板3Sの位置と光のレベルの関係から、上述したように入力レベルテーブルを作成することができる。これにより、スレーブ基板3Sの存在しえる位置が偏った配置であっても、マスタ基板3Mのフォトディテクタ31Mに入力される光のレベルから、スレーブ基板3Sの数と位置を決定することができる。
図34は、マスタ基板3Mでスレーブ基板3Sの配置及び数を算出する処理の一例を示すフローチャートであり、次に、図25(図29)のステップSD4で、スレーブ基板3Sの配置及び数を算出する処理の詳細について説明する。
マスタ基板3Mは、図25(図29)のステップSD3(a,b)で、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認したと判断すると、図34のステップSF1で、フォトディテクタ31M1の入力値PD1_INとフォトディテクタ31M2の入力値PD2_INを取得する。
マスタ基板3Mは、図34のステップSF2aで、スレーブ基板3Sの配置に応じて変化するフォトディテクタ31M1に入力する光のレベルとスレーブ基板3Sの配置情報である配置ベクトルW1が対応付けられた上述したPD入力レベルテーブルtPD1から、フォトディテクタ31M1の入力値PD1_INに基づいて、スレーブ基板3Sの配置ベクトルW1を検索する。
同様に、マスタ基板3Mは、図34のステップSF2bで、スレーブ基板3Sの配置に応じて変化するフォトディテクタ31M2に入力する光のレベルとスレーブ基板3Sの配置情報である配置ベクトルW2が対応付けられたPD入力レベルテーブルtPD2から、フォトディテクタ31M2の入力値PD2_INに基づいて、スレーブ基板3Sの配置ベクトルW2を検索する。
マスタ基板3Mは、図34のステップSF3で、フォトディテクタ31M1の入力値に基づく配置ベクトルW1と、フォトディテクタ31M2の入力値に基づく配置ベクトルW2から、一意に決められるスレーブ基板3Sの配置ベクトルWを得る。
マスタ基板3Mは、図34のステップSF4で、スレーブ基板3Sの配置ベクトルWに基づいて、スレーブ基板3Sの数を算出する。
マスタ基板3Mは、図34のステップSF5で、スレーブ基板3Sの配置ベクトルWに基づいて、スレーブ基板3Sの位置を算出する。
図35は、PD入力レベルテーブルを検索する処理の一例を示すフローチャートであり、次に、図34のステップSF2(a,b)で、PD入力レベルテーブルを検索する処理の詳細について説明する。
PD入力レベルtPD1は、光導波路2Aに接続可能なスレーブ基板3Sの数が2N−1個であるので、スレーブ基板3Sが配置され得る場所に合わせて本例では22N-1通りの組み合わせがある。
このため、マスタ基板3Mは、図35のステップSF21〜SF23で、フォトディテクタ31M1の入力値PD1_INと、i番目のPD入力レベルテーブルtPD1,iとの差を算出して、フォトディテクタ31M1の入力値PD1_INに最も近い要素を検索する。
マスタ基板3Mは、図35のステップSF24で、i番目のPD入力レベルテーブルtPD1,iがPD入力値に十分近いと判断すると、i番目のPD入力レベルテーブルtPD1,iに対応した配置ベクトルW1,iを取得し、図35のステップSF25,SF26で、i+1番目の要素に対して同様に検索を行う。
また、マスタ基板3Mは、全てのPD入力レベルテーブルtPD2に対して、フォトディテクタ31M2の入力値PD2_INに最も近い要素を検索し、入力値に最も近い要素に対応した配置ベクトルW2,iを取得する。
図36は、複数の候補から配置ベクトルを決定する処理の一例を示すフローチャートであり、次に、図34のステップSF3で、配置ベクトルを決定する処理の詳細について説明する。
マスタ基板3Mは、図36のステップSF31〜SF36で、フォトディテクタ31M1の入力値PD1_INから得られたi個の配置ベクトルW1と、フォトディテクタ31M2の入力値PD2_INから得られたj個の配置ベクトルW2を順次比較し、ステップSF37で、配置ベクトルW1と配置ベクトルW2が一致しているものを、最終的な配置ベクトルWとする。
図37は、スレーブ基板3Sの数を決定する処理の一例を示すフローチャートであり、次に、図34のステップSF4で、スレーブ基板3Sの数を決定する処理の詳細について説明する。
マスタ基板3Mは、図37のステップSF43で、決定した配置ベクトルWにおいて基板が存在することを示す値が1である要素の数を検索する処理を、ステップSF41,SF42,SF44,SF45で、マスタ基板以外の全ての要素に対して行う。
図38は、スレーブ基板3Sの位置を決定する処理の一例を示すフローチャートであり、次に、図34のステップSF5で、スレーブ基板3Sの位置を決定する処理の詳細について説明する。
マスタ基板3Mは、図38のステップSF53で、決定した配置ベクトルWにおいて基板が存在することを示す値が1である要素を検索し、ステップSF54で、基板が存在することを示す値が1である要素に対応した角度θでスレーブ基板3Sが存在する位置を特定する処理を、ステップSF51,SF52,SF55,SF56で、マスタ基板以外の全ての要素に対して行う。
ここで、マスタ基板3Mがスレーブ基板3Sの位置及び数を算出する処理は、電源オン時の処理とLDの点灯及び消灯の制御が同じであるので、電源オン時の処理で、マスタ基板3Mが未知のスレーブ基板3Sを発見すると共に、マスタ基板3Mがスレーブ基板3Sの位置及び数を算出する処理を同時に行うことができる。
3.マスタ基板がスレーブ基板にIDを付与する処理
次に、マスタ基板3Mがスレーブ基板3SにIDを付与するために、マスタ基板3Mとスレーブ基板3Sで実行される処理の概要について説明する。
図39は、スレーブ基板3SにIDを付与する処理を示すタイミングチャート、図40は、スレーブ基板3SにIDを付与する時のマスタ基板3Mの処理を示すフローチャート、図41は、スレーブ基板3SにIDを付与する時のスレーブ基板3Sの処理を示すフローチャートである。
マスタ基板3Mは、図40のステップSG1,SG2で、位置が決められた全てのスレーブ基板3Sに対して、順にID付与の処理を行う。
マスタ基板3Mは、光導波路2Aに接続されたスレーブ基板3Sの位置と数が決定すると、上述した電源オン時及び位置と数を決定する処理等で、マスタ基板3Mと全てのスレーブ基板3Sがレーザダイオードを点灯させた時に、各スレーブ基板3Sのフォトディテクタ31S1とフォトディテクタ31S2に入力する光のレベルを求めることができる。
すなわち、マスタ基板3Mは、図40のステップSG3で、全てのスレーブ基板3Sの位置から、i番目に配置されるスレーブ基板3Sに対して、マスタ基板3M及び他のスレーブ基板3Sの配置情報(配置ベクトル)を求める、そして、上述した入力レベルテーブルtPD1,tPD2を利用して、配置情報からi番目のスレーブ基板3Sのフォトディテクタ31S1に入力する光の入力レベルmPD1と、フォトディテクタ31S2に入力する光の入力レベルmPD2を得る。
マスタ基板3Mは、図40のステップSG4で、i番目に配置されるスレーブ基板3Sに対して求めたPD入力レベルmPD1,mPD2とIDの情報をレーザダイオード30Mから出力して、フォトディテクタ31S1,31S2のPD入力レベルがmPD1,mPD2であるスレーブ基板3SにIDを付与する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図41のステップSH1で、マスタ基板3MからPD入力レベルmPD1,mPD2とIDを受信する。
スレーブ基板3Sは、図41のステップSH2で、スレーブ基板3Sの位置と数を決定する処理において、図30のフローチャートのステップSE3cで保持したフォトディテクタ31S1の実際の入力値sPD1とmPD1を比較すると共に、フォトディテクタ31S2の実際の入力値sPD2とmPD2を比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31S1,31S2の入力値と、マスタ基板3Mから取得したPD入力レベルmPD1,mPD2が一致すると、図41のステップSH3でIDが自機に付与されたものと判断して、図41のステップSH4でこのIDを保持し、PD入力値が一致しない場合は、IDを破棄する。
スレーブ基板3Sは、PD入力値が一致することでIDが付与されると、図41のステップSH5で、IDが付与されたことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
マスタ基板3Mは、スレーブ基板3SからIDが付与されたことを示す情報を受信すると、図40のステップSG5で、i番目のスレーブ基板3SにIDが付与されたことを確認し、ステップSG6及びステップSG2で、i+1番目のスレーブ基板3Sがあれば、同様の処理でID付与を行い、IDを付与すべき次のスレーブ基板3Sが無ければ、全てのスレーブ基板3Sに対するID付与が終了する。
図42は、測定誤差を考慮してスレーブ基板3SにIDを付与する時のマスタ基板3Mの処理を示すフローチャート、図43は、測定誤差を考慮してスレーブ基板3SにIDを付与する時のスレーブ基板3Sの処理を示すフローチャートである。
さて、各スレーブ基板3Sにおいて、マスタ基板3Mが持っている入力レベルテーブルtPD1,tPD2によるPD入力レベル分布と、フォトディテクタ31S1,31S2で実際に取得した入力値では、誤差がある場合が考えられる。このため、各フォトディテクタ毎に、誤差の大きさに応じて評価値の重みを付けることで、ID付与の正確性を向上させる。
すなわち、マスタ基板3Mは、図42のステップSI1,SI2で、位置が決められた全てのスレーブ基板3Sに対して、順にID付与の処理を行うため、ステップSI3で、上述した入力レベルテーブルtPD1,tPD2を利用して、配置情報からi番目のスレーブ基板3Sのフォトディテクタ31S1に入力する光の入力レベルmPD1と、フォトディテクタ31S2に入力する光の入力レベルmPD2を得る。
マスタ基板3Mは、図42のステップSI4で、i番目に配置されるスレーブ基板3Sに対して求めたPD入力レベルmPD1,mPD2と、PD入力レベルの誤差許容範囲Δと、フォトディテクタ31S1に対応した評価値算出の重み係数α1と、フォトディテクタ31S2に対応した評価値算出の重み係数α2と、IDの情報mIDをレーザダイオード30Mから出力して、全てのスレーブ基板3Sに対してこれら情報を送信する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図43のステップSJ1で、マスタ基板3MからPD入力レベルmPD1,mPD2と、PD入力レベルの誤差許容範囲Δと、評価値算出の重み係数α1,α2と、mIDを受信する。
スレーブ基板3Sは、図43のステップSJ2で、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31S1,31S2の実際の入力値sPD1,sPD2が、マスタ基板3MからのPD入力レベルmPD1,mPD2に対して誤差許容範囲Δ内に収まっているか判断する。
ここでは、フォトディテクタ31S1の実際の入力値sPD1とmPD1の差に重み係数α1を乗じた値と、フォトディテクタ31S2の実際の入力値sPD2とmPD2の差に重み係数α2を乗じた値の加算値が、誤差許容範囲Δより小さいか比較する。
スレーブ基板3Sは、フォトディテクタ31S1,31S2の実際の入力値sPD1,sPD2が、マスタ基板3MからのPD入力レベルmPD1,mPD2に対して誤差許容範囲Δ内に収まっていると、図43のステップSJ3で、自機のIDとしてマスタ基板3MからのmIDをsIDにセットする。
マスタ基板3Mは、図42のステップSI5で、IDがmIDのスレーブ基板3SからsIDを読み出す取得命令を送信する。
スレーブ基板3Sは、図43のステップSJ4で、マスタ基板3MからIDの取得命令を受信すると、ステップSJ5で、保持しているsIDの情報をレーザダイオード30Sから出力して、sIDをマスタ基板3Mに送信する。
マスタ基板3Mは、図42のステップSI6で、スレーブ基板3SからsIDを取得し、ステップSI7でmIDと比較する。
マスタ基板3Mは、mIDと一致するsIDをスレーブ基板3Sから取得できると、該当するスレーブ基板3SにIDが付与されたこと確認し、図42のSI8及びステップSI2で、i+1番目のスレーブ基板3Sがあれば、同様の処理でID付与を行い、IDを付与すべき次のスレーブ基板3Sが無ければ、全てのスレーブ基板3Sに対するID付与が終了する。
これに対して、マスタ基板3Mは、mIDと一致するsIDをスレーブ基板3Sから取得できなかった場合は、図42のステップSI9で誤差許容範囲Δを更新し、誤差に対する許容範囲を大きくして、同様の処理でID付与を行う。
図44は、配置が一意に決められたスレーブ基板3SにIDを付与する時のマスタ基板3Mの処理の詳細を示すフローチャート、図45は、配置が一意に決められたスレーブ基板3SにIDを付与する時のスレーブ基板3Sの処理の詳細を示すフローチャートである。次に、上述した図34のフローチャートで、スレーブ基板3Sの配置が一意に決められた場合に、スレーブ基板3SにIDを付与する処理の詳細について説明する。
マスタ基板3Mは、図44のステップSK1で、配置iのスレーブ基板3Sに対して、ID付与の処理を開始する。ここで、マスタ基板3Mを含めたノードの数をN個とした時に、マスタ基板3Mは、図44のステップSK2で、自機を除いた数のi=0からi=N−1のスレーブ基板3Sに対して、順にIDを付与する。
マスタ基板3Mは、図44のステップSK3〜SK7で、配置iのスレーブ基板3Sのフォトディテクタ31S1,31S2に、他のスレーブ基板3Sのレーザダイオード30Sから出力された光がどのようなレベルで入力されるか求める。
すなわち、マスタ基板3Mは、図44のステップSK6で、配置i以外の配置jのスレーブ基板3Sのレーザダイオード30Sから出力された光が、配置iのスレーブ基板3Sのフォトディテクタ31S1に入力した場合の入力値PD1(i,j)と、フォトディテクタ31S2に入力した場合の入力値PD2(i,j)を算出し、算出したPD入力値をステップSK7で加算する。
そして、配置i以外の全てのスレーブ基板3SのLD出力に対して、配置iのスレーブ基板3Sのフォトディテクタ31S1におけるPD入力値PD1(i,j)を順次加算することで求められるPD入力値の総和が、配置iのスレーブ基板3Sのフォトディテクタ31S1に入力するPD入力値SumPD1となる。
同様に、配置iのスレーブ基板3Sのフォトディテクタ31S2におけるPD入力値PD2(i,j)を順次加算することで求められるPD入力値の総和が、フォトディテクタ31S2に入力するPD入力値SumPD2となる。
マスタ基板3Mは、図44のステップSK8で、配置iのスレーブ基板3Sに対して求めたPD入力値SumPD1,SumPD2とIDの情報を、レーザダイオード30Mからの光で全てのスレーブ基板3Sに対して送信し、PD入力値としてSumPD1,SumPD2を持つスレーブ基板3SにIDを付与する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図45のステップSL1で、マスタ基板3MからPD入力レベルSumPD1,SumPD2とIDを受信する。
スレーブ基板3Sは、図45のステップSL2で、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31S1の実際の入力値sPD1とSumPD1を比較すると共に、フォトディテクタ31S2の実際の入力値sPD2とSumPD2を比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31S1,31S2の入力値と、マスタ基板3Mから取得したPD入力レベルSumPD1,SumPD2が一致すると、図45のステップSL3でIDが自機に付与されたものと判断して、図45のステップSL4でこのIDを保持し、PD入力値が一致しない場合は、IDを破棄する。
スレーブ基板3Sは、PD入力値が一致することでIDが付与されると、図45のステップSL5で、IDが付与されたことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
マスタ基板3Mは、スレーブ基板3SからIDが付与されたことを示す情報を受信すると、図44のステップSK9で、配置iのスレーブ基板3SにIDが付与されたことを確認し、ステップSK10及びステップSK2で、i+1番目のスレーブ基板3Sがあれば、同様の処理でID付与を行い、IDを付与すべき次のスレーブ基板3Sが無ければ、全てのスレーブ基板3Sに対するID付与が終了する。
なお、本例でも、上述した図42及び図43の処理のように、フォトディテクタ毎に誤差の大きさに応じて評価値の重みを付けることで、ID付与の正確性を向上させることができる。
図46は、PD入力レベルの分布を示すグラフで、図46(a)は、マスタ基板3Mからみた分布を示し、図46(b)及び図46(c)は、配置W(i)のスレーブ基板3Sからみた分布を示す。また、図47は、マスタ基板3Mに対する配置W(i)と配置W(j)のスレーブ基板3Sの配置例を示す説明図である。
次に、スレーブ基板3Sに入力される光のレベルをマスタ基板3Mで算出する処理の詳細について説明する。ここで、配置W(i)のスレーブ基板3Sは、マスタ基板3Mに対して角度θiの位置にあり、配置W(j)のスレーブ基板3Sは、マスタ基板3Mに対して角度θjの位置にあるものとする。
図46(a)では、光導波路2Aを間にしてマスタ基板3Mに対する180°の位置、すなわち、マスタ基板3Mの正面を0°とした場合に、角度θに配置されるスレーブ基板3Sから、マスタ基板3Mのフォトディテクタ31Mに入力される光のレベル分布を示し、マスタ基板3Mは、図46(a)に示すPD入力レベルの分布の情報を、図33に示すようなテーブルとして持つ。
これに対して、配置W(j)のスレーブ基板3Sから、配置W(i)のスレーブ基板3Sに入力される光のレベルを考えると、図47(a)に示すように、θi>θjの場合は、配置W(j)のスレーブ基板3Sは、配置W(i)のスレーブ基板3Sに対してθi−θjの位置にある。
このため、配置W(i)のスレーブ基板3Sが、±180°の位置に配置されると考えると、配置W(j)のスレーブ基板3Sは、180°−(θi−θj)の位置にある。これにより、配置W(j)のスレーブ基板3Sのレーザダイオード30Sから、配置W(i)のスレーブ基板3Sのフォトディテクタ31S1,31S2に入力される光の入力値PD1(i,j),PD2(i,j)は、図46(b)にPDIN_W(i)で示す矢印となる。
一方、図47(b)に示すように、θi<θjの場合は、配置W(j)のスレーブ基板3Sは、配置W(i)のスレーブ基板3Sに対してθj−θiの位置にある。
このため、配置W(i)のスレーブ基板3Sが、±180°の位置に配置されると考えると、配置W(j)のスレーブ基板3Sは、−180°+(θj−θi)の位置にある。これにより、配置W(j)のスレーブ基板3Sのレーザダイオード30Sから、配置W(i)のスレーブ基板3Sのフォトディテクタ31S1,31S2に入力される光の入力値PD1(i,j),PD2(i,j)は、図46(c)にPDIN_W(i)で示す矢印となる。
そこで、配置W(i)と配置W(j)に存在するスレーブ基板3Sのマスタ基板3Mに対する角度をそれぞれθi,θjとすると、θi<θjの時は、以下の(8)式に示すような関数Fを導入し、θi>θjの時は、以下の(9)式に示すような関数Fを導入する。
F(θi,θj)=−180+(θj−θi)・・・(8)
F(θi,θj)=180−(θi−θj)・・・(9)
このとき、配置W(j)にあるスレーブ基板3SのLD出力は、配置W(i)のスレーブ基板3Sに以下の(10)式及び(11)式の値で入力される。
Level=PD(θi,j)・・・(10)
θi,j=F(W(i),W(j))・・・(11)
図48は、配置が一意に決められないスレーブ基板3SにIDを付与する時のマスタ基板3Mの処理の詳細を示すフローチャートで、次に、上述した図34のフローチャートで、スレーブ基板3Sの配置が一意に決められない場合に、スレーブ基板3SにIDを付与する処理の詳細について説明する。なお、スレーブ基板3S側での処理は、図45のフローチャートと同じである。
上述したように、2個のフォトディテクタを備えて、一方に対して他方を傾斜させると、光の減衰の対称性が崩される。但し、図2(b)に示すように、0°〜±180°の範囲の間に、PD入力レベルが等しくなる位置がある。このため、PD入力レベルテーブルには、PD入力レベルが同じで配置ベクトルが異なる要素が存在する。
以下の説明では、スレーブ基板3Sの配置候補WiがN個あるとする。スレーブ基板3Sの配置候補Wi(i=0,1,・・・,N)には、以下の(12)式に示すように、全ての候補の中に確定したスレーブ位置(実線内)と不確定なスレーブ位置(二点鎖線内)の2つの情報が入っているとする。
ここで、スレーブ基板3Sの各配置候補Wiに対して、基板が存在することを示す値が1である位置にスレーブ基板3Sが存在すると仮定する。
そして、スレーブ基板3Sが存在すると仮定したある1つの位置に配置されるスレーブ3Sに入力されるPD入力レベルを予測する。例えば、本例では、0番目の要素に対応する位置のスレーブ基板3SのPD入力レベルを予測し、IDが付与できればスレーブ基板3Sの配置を確定する。一方、IDが付与できなければ、次の要素に対応する位置のスレーブ基板3SのPD入力レベルを予測し、ID付与を行う。この処理を、IDが付与できるまで繰り返す。
すなわち、マスタ基板3Mは、図48のステップSM1で、配置候補Wiのあるスレーブ基板3Sに対して、ID付与の処理を開始する。ここで、スレーブ基板3Sの配置候補数をNとした時に、図48のステップSM2で、i=0からi=Nの配置候補に対して、IDが付与できるまでID付与の処理を行う。
マスタ基板3Mは、図48のステップSM3で、配置候補Wiのあるスレーブ基板3Sのフォトディテクタ31S1,31S2に、他のスレーブ基板3Sのレーザダイオード30Sから入力される光のPD入力値SumPD1,SumPD2を、上述した図44のフローチャートのステップSK3〜SK7の処理で予測する。
マスタ基板3Mは、図48のステップSM4で、配置候補Wiのあるスレーブ基板3Sに対して求めたPD入力値SumPD1,SumPD2とIDの情報を、レーザダイオード30Mからの光で全てのスレーブ基板3Sに対して送信し、PD入力値としてSumPD1,SumPD2を持つスレーブ基板3SにIDを付与する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図45のステップSL1で、マスタ基板3MからPD入力レベルSumPD1,SumPD2とIDを受信する。
スレーブ基板3Sは、図45のステップSL2で、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31S1の実際の入力値sPD1とSumPD1を比較すると共に、フォトディテクタ31S2の実際の入力値sPD2とSumPD2を比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31S1,31S2の入力値と、マスタ基板3Mから取得したPD入力レベルSumPD1,SumPD2が一致すると、図45のステップSL3でIDが自機に付与されたものと判断して、図45のステップSL4でこのIDを保持し、PD入力値が一致しない場合は、IDを破棄する。
スレーブ基板3Sは、PD入力値が一致することでIDが付与されると、図45のステップSL5で、IDが付与されたことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
マスタ基板3Mは、スレーブ基板3SからのIDが付与されたことを示す情報の受信の有無で、図48のステップSM5で、配置候補Wiのあるスレーブ基板3SにIDが付与されたことを確認し、図48のステップSM6で、スレーブ基板3SにIDが付与できたことを確認すると、図48のステップSM7で、スレーブ基板3Sの配置を配置候補Wiであると決定する。
スレーブ基板3Sの配置が決定した後は、マスタ基板3Mは、上述した図44のフローチャートの処理で、全てのスレーブ3SにIDを付与する。
また、図48のステップSM6で、スレーブ基板3SにIDが付与できたことを確認できなかった場合は、マスタ基板3Mは、図48のステップSM2に戻り、次の配置候補Wi+1のあるスレーブ基板3Sに対して、ID付与の処理を行う。
<第2の実施の形態の信号処理装置の構成例>
図49は、第2の実施の形態の信号処理装置の概要を示す構成図で、図49(a)は、第2の実施の形態の信号処理装置1Bにおける光入出力部の配置を示す模式的な平面図、図49(b)は、レーザダイオードを傾斜させた場合のフォトディテクタの入力レベルの関係を示すグラフである。
第2の実施の形態の信号処理装置1Bは、図1(a)に示すように、光が伝送される光導波路2Aと、光導波路2Aに接続されるマスタ基板3M及びスレーブ基板3Sを備える。
マスタ基板3Mは及びスレーブ基板3Sは、それぞれレーザダイオード30M,30Sと、フォトディテクタ31M,31Sを備え、光導波路2Aにおける光の減衰の対称性を崩すため、各基板では、図49(a)に示すように、レーザダイオード30M,30Sが、光導波路2Aの中心に対して、面方向に所定の角度βで傾斜させて配置される。
なお、各基板では、フォトディテクタ31M,31Sは、光導波路2Aの中心に向けて配置され、また、レーザダイオードは各基板に1個ずつ配置され、フォトディテクタは各基板に1個ずつ配置される。
ここで、光導波路2Aに接続されるマスタ基板3M及びスレーブ基板3Sでは、レーザダイオード30M,30Sの傾斜の向きが、円周方向に同一となるように構成される。
図49(b)では、図49(a)に示すように、レーザダイオード30M,30Sの角度βを5°とした時に、フォトディテクタ31S,31Mに対するレーザダイオード30M,30Sの角度θを動かしたときのPD入力レベルの変化を示す。なお、測定範囲は、0°から±125°までの範囲である。
図49(b)に示すように、レーザダイオード30M,30Sに傾斜を持たせることで、0°からプラス側とマイナス側でPD入力レベルに差が生じて、対象性が崩れていることがわかる。
<第2の実施の形態の信号処理装置の動作例>
図50は、スレーブ基板3Sの配置と数を決定する時のマスタ基板3Mの他の処理例を示すフローチャートで、次に、各基板で単一のレーザダイオードを傾けて配置した構成で、スレーブ基板3Sの配置と数を決定する処理について説明する。
マスタ基板3Mは、上述した図25のフローチャートのステップSD1と同様の処理を行い、図50のステップSN1で、光導波路2Aに接続されている全てのスレーブ基板3Sのレーザダイオード30Sを点灯させる。
マスタ基板3Mは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯したことを、例えば、自機のフォトディテクタ31MのPD入力値が飽和したことを検知する等により判断すると、図50のステップSN2で、自機のフォトディテクタ31Mに入力したPD入力値を取得する。
上述した第1の実施の形態と同様に、マスタ基板3Mは、自機のレーザダイオード30M及びスレーブ基板3Sのレーザダイオード30Sに関する諸特性、例えば、波長と発光量と減衰特性を認識している。また、マスタ基板3Mのフォトディテクタ31Mと、各スレーブ基板3Sのフォトディテクタ31Sは、同一のものである。
そして、マスタ基板3Mは、スレーブ基板3Sの配置に応じたPD入力値のレベルテーブルを保持している。このPD入力レベルテーブルは、上述した第1の実施の形態のPD入力レベルテーブルと同様の手順で作成される。但し、第2の実施の形態では、各基板でレーザダイオードとフォトディテクタは1個ずつ備えられているので、マスタ基板3Mでは、単一のフォトディテクタ31Mの入力レベルに応じて作成されるPD入力レベルテーブルを持てば良い。
マスタ基板3Mは、図50のステップSN3で、自機のフォトディテクタ31MのPD入力値から、PD入力レベルテーブルを検索する。
マスタ基板3Mは、図50のステップSN4で、スレーブ基板3SからのPD入力値でPD入力レベルテーブルを検索して配置候補を取得し、スレーブ基板3Sの位置と数を算出する。マスタ基板3Mが、PD入力レベルテーブルからスレーブ基板3Sの配置候補を取得して、スレーブ基板3Sの位置と数を算出する処理は、上述した第1の実施の形態でPD入力レベルテーブルを利用した処理と同様である。
図51は、配置が一意に決められないスレーブ基板3SにIDを付与する時のマスタ基板3Mの他の処理の詳細を示すフローチャートである。
以下の説明では、Lはスレーブ基板3Sの配置候補数を示し、Wiはi番目のスレーブ基板3Sの配置候補における配置ベクトルを示す。
マスタ基板3Mは、図51のステップSO1,SO2で、配置ベクトルWiのスレーブ基板3Sに対して順番にPD入力値を予測する処理を開始し、i=0からi=Lの配置候補に対してPD入力値の予測値と実測値が一致するまで処理を行う。
マスタ基板3Mは、図51のステップSO3で、配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置におけるスレーブ基板3Sの数をNとする。
マスタ基板3Mは、図51のステップSO4〜SO8で、配置ベクトルWiにおけるj番目のスレーブ基板3Sのフォトディテクタ31Sに、他のスレーブ基板3Sのレーザダイオード30Sから入力される光のPD入力値を、j=0からj=Nの全てのスレーブ基板3Sに対して、上述した図44のフローチャートのステップSK3〜SK7の処理で予測する。
マスタ基板3Mは、図51のステップSO7で、配置ベクトルWiのj番目スレーブ基板3Sに対して求めたPD入力値の情報を、レーザダイオード30Mからの光で全てのスレーブ基板3Sに対して送信する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、マスタ基板3MからPD入力値の情報を受信すると、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31Sの実際の入力値と比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31Sの入力値と、マスタ基板3Mから取得したPD入力値が一致すると、PD入力値の予測値と実測値が一致したことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
マスタ基板3Mは、図51のステップSO9で、配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置において、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致したか判断する。
そして、配置ベクトルWiにおいて、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致すると、図51のステップSO10で、スレーブ基板3Sの配置を配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置であると決定する。
スレーブ基板3Sの配置が決定した後は、マスタ基板3Mは、上述した図44のフローチャートの処理で、全てのスレーブ3SにIDを付与する。
また、図51のステップSO11で、配置ベクトルWiにおいて、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致しない場合は、次の配置ベクトルWi+1のスレーブ基板3Sに対して、順番にPD入力値を予測して、実測値との一致を確認する処理を行う。
<第3の実施の形態の信号処理装置の構成例>
図52は、第3の実施の形態の信号処理装置の概要を示す構成図である。
第3の実施の形態の信号処理装置1Cは、光が伝送される光導波路2Aと、光導波路2Aに接続されるマスタ基板3M及びスレーブ基板3Sを備える。
マスタ基板3Mは及びスレーブ基板3Sは、それぞれレーザダイオード(LD)30M,30Sと、フォトディテクタ(PD)31M,31Sを備え、光導波路2Aにおける光の減衰の対称性を崩すため、各基板では、フォトディテクタ31M,31Sが、光導波路2Aの中心に対して、面方向に所定の角度αで傾斜させて配置される。
なお、各基板では、レーザダイオード30M,30Sは、光導波路2Aの中心に向けて配置され、また、レーザダイオードは各基板に1個ずつ配置され、フォトディテクタは各基板に1個ずつ配置される。
ここで、光導波路2Aに接続されるマスタ基板3M及びスレーブ基板3Sでは、フォトディテクタ31M,31Sの傾斜の向きが、円周方向に同一となるように構成される。
<第3の実施の形態の信号処理装置の動作例>
次に、各基板で光導波路2Aの中心に対して傾斜させたフォトディテクタを1個備えた構成において、マスタ基板3Mがスレーブ基板3Sの位置及び数を算出する処理について説明する。
図53は、スレーブ基板3Sの位置及び数を算出する時のマスタ基板3Mの他の処理例を示すフローチャート、図54は、スレーブ基板3Sの位置及び数を算出する時のスレーブ基板3Sの他の処理例を示すフローチャートである。
マスタ基板3Mは、図53のステップSP1で、自機のレーザダイオード30M(MLD)を点灯させる。マスタ基板3Mのレーザダイオード30Mが点灯することで、マスタ基板3Mから出力された光が光導波路2Aを伝送されて、スレーブ基板3Sのフォトディテクタ31S(SPD)で受光される。これにより、図54のステップSQ1で、光導波路2Aに接続されている各スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが上昇する。
各スレーブ基板3Sは、図54のステップSQ2で、マスタ基板3Mから出力された光がフォトディテクタ31Sで受光されることで、フォトディテクタ31Sの入力レベルが所定値に上昇すると、自機のレーザダイオード30Sを点灯させる。
マスタ基板3Mのレーザダイオード30Mの点灯に応答して、各スレーブ基板3Sのレーザダイオード30Sが点灯すると、各スレーブ基板3Sから出力された光が光導波路2Aを伝送されて、図53のステップSP2で、マスタ基板3Mのフォトディテクタ31Mで受光される。
各スレーブ基板3Sから出力された光を、マスタ基板3Mのフォトディテクタ31Mで受光することで、マスタ基板3Mでは、フォトディテクタ31Mの入力レベルが上昇する。
これにより、マスタ基板3Mでは、自機のレーザダイオード30Mの点灯に応答してスレーブ基板3Sでレーザダイオード30Sが点灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が一定値になると、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認する。
すなわち、マスタ基板3Mは、図53のステップSP3aで、フォトディテクタ31Mの入力値を取得し、ステップSP3bで、フォトディテクタ31Mの入力値が一定値になったことを、例えば、上述した図9のフローチャートの処理で入力値の微分係数が正から0に変化したか否かで判断する。
そして、フォトディテクタ31Mの入力値の微分係数が正から0に変化すると、マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認したと判断する。
マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30Sの出力が行われたことを確認すると、図53のステップSP4で、スレーブ基板3Sの位置及び数を算出して、スレーブ基板3Sの配置候補を算出する。
マスタ基板3Mは、光導波路2Aに接続されているスレーブ基板3Sの配置候補を算出すると、図53のステップSP5で、自機のレーザダイオード30Mを消灯させる。
スレーブ基板3Sでは、マスタ基板3Mのレーザダイオード30Mの点灯に応答して、各スレーブ基板3Sから光が出力されると、フォトディテクタ31Sの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが点灯すると一定値になる。
そして、マスタ基板3Mがスレーブ基板3Sの配置候補を算出し、ステップSP5でレーザダイオード30Mを消灯すると、各スレーブ基板3Sのフォトディテクタ31Sの入力レベルは、一定値から下降する。
そこで、スレーブ基板3Sは、フォトディテクタ31Sの入力値が一定値から下降すると、マスタ基板3Mがスレーブ基板3Sの配置候補の算出を完了したと判断する。
すなわち、スレーブ基板3Sは、図54のステップSQ3aで、フォトディテクタ31Sの入力値を取得し、ステップSQ3bで、フォトディテクタ31Sの入力値が一定値から下降したことを、例えば、上述した図9のフローチャートの処理で入力値の微分係数が正から0に変化した後、0から負に変化したか否かで判断する。
そして、フォトディテクタ31Sの入力値の微分係数が正から0に変化した後、0から負に変化すると、スレーブ基板3Sは、マスタ基板3Mでスレーブ基板3Sの配置候補の算出が完了したと判断し、ID付与で利用するため、図54のステップSQ3cで、自機のフォトディテクタ31Sの入力値を保持した後、図54のステップSQ4で、自機のレーザダイオード30Sを消灯させる。
各スレーブ基板3Sのレーザダイオード30Sが消灯することで、マスタ基板3Mは、フォトディテクタ31Mの入力レベルが下降する。
マスタ基板3Mでは、自機のレーザダイオード30Mの消灯に応答してスレーブ基板3Sでレーザダイオード30Sが消灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30Sが消灯するまでは下降し、全てのスレーブ基板3Sのレーザダイオード30Sが消灯すると「0」になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が0になると、全てのスレーブ基板3Sが応答したと判断する。
すなわち、マスタ基板3Mは、図53のステップSP6aで、フォトディテクタ31Mの入力値を取得し、ステップSP6bで、フォトディテクタ31Mの入力値が0になったか否かを、例えば、上述した図15のフローチャートの処理で判断する。
そして、フォトディテクタ31Mの入力値が0になると、マスタ基板3Mは、全てのスレーブ基板3Sが応答したと判断し、スレーブ基板3Sの配置候補を決定する処理を終了する。
図55は、スレーブ基板3Sの配置候補を算出する処理の一例を示すフローチャートであり、次に、図53のステップSP4で、スレーブ基板3Sの配置候補を算出する処理の詳細について説明する。
本例では、マスタ基板3Mは1個のフォトディテクタ31Mを備えるので、マスタ基板3Mは、単一のフォトディテクタ31Mの入力値に対応してPD入力レベルテーブルtPDを保持する。
上述した図33のPD入力レベルテーブルと同様にして算出されるPD入力レベルtPDは、光導波路2Aに接続可能なスレーブ基板3Sの数が2N−1個であるので、本例では22N-1通りの組み合わせがある。
このため、マスタ基板3Mは、図55のステップSR1〜SR3で、フォトディテクタ31Mの入力値PD_INと、i番目のPD入力レベルテーブルtPDiとの差を算出して、フォトディテクタ31Mの入力値PD_INに最も近い要素を検索する。
マスタ基板3Mは、図55のステップSR4で、i番目のPD入力レベルテーブルtPDiがPD入力値に十分近いと判断すると、i番目のPD入力レベルテーブルtPDiに対応した配置ベクトルWiを取得し、図55のステップSR5,SR6で、i+1番目の要素に対して同様に検索を行う。
次に、各基板で光導波路2Aの中心に対して傾斜させたフォトディテクタを1個備えた構成において、配置が一意に決められないスレーブ基板3Sの配置を決定して、マスタ基板3Mがスレーブ基板3SにIDを付与する処理について説明する。
図56は、配置が一意に決められないスレーブ基板3SにIDを付与する時のマスタ基板3Mの他の処理の詳細を示すフローチャート、図57は、配置が一意に決められないスレーブ基板3Sで配置を決定する時のスレーブ基板3Mの他の処理の詳細を示すフローチャート、図58は、配置が一意に決められないスレーブ基板3SにIDを付与する時のスレーブ基板3Mの他の処理の詳細を示すフローチャートである。
以下の説明では、Lはスレーブ基板3Sの配置候補数を示し、Wiはi番目のスレーブ基板3Sの配置候補における配置ベクトルを示す。
マスタ基板3Mは、図56のステップSS1,SS2で、配置ベクトルWiのスレーブ基板3Sに対して順番にPD入力値を予測する処理を開始し、i=0からi=Lの配置候補に対してPD入力値の予測値と実測値が一致するまで処理を行う。
マスタ基板3Mは、図56のステップSS3で、配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置におけるスレーブ基板3Sの数をNとする。
マスタ基板3Mは、図56のステップSS4〜SS8で、配置ベクトルWiにおけるj番目のスレーブ基板3Sのフォトディテクタ31Sに、他のスレーブ基板3Sのレーザダイオード30Sから入力される光のPD入力値を、j=0からj=Nの全てのスレーブ基板3Sに対して、上述した図44のフローチャートのステップSK3〜SK7の処理で予測する。
マスタ基板3Mは、図56のステップSS7で、配置ベクトルWiのj番目スレーブ基板3Sに対して求めたPD入力値の情報を、レーザダイオード30Mからの光で全てのスレーブ基板3Sに対して送信する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図57のステップST1aで、マスタ基板3MからPD入力値Vを受信すると、ステップST2aで、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31Sの実際の入力値と比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31Sの入力値と、マスタ基板3Mから取得したPD入力値が一致すると、図57のステップST3aで、PD入力値の予測値Vと実測値が一致したことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
マスタ基板3Mは、図56のステップSS9で、配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置において、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致したか判断する。
マスタ基板3Mは、配置ベクトルWiにおいて、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致しない場合は、図56のステップSS10で、次の配置ベクトルWi+1のスレーブ基板3Sに対して、順番にPD入力値を予測して、実測値との一致を確認する処理を行う。
また、マスタ基板3Mは、配置ベクトルWiにおいて、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致すると、図56のステップSS11で、スレーブ基板3Sの配置を配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置であると決定する。
マスタ基板3Mは、スレーブ基板3Sの配置が決定すると、図56のステップSS12〜SS16で、配置ベクトルWiにおけるj番目のスレーブ基板3Sのフォトディテクタ31Sに、他のスレーブ基板3Sのレーザダイオード30Sから入力される光のPD入力値を、j=0からj=Nの全てのスレーブ基板3Sに対して、上述した図44のフローチャートのステップSK3〜SK7の処理で予測する。
マスタ基板3Mは、図56のステップSS15で、配置ベクトルWiのj番目スレーブ基板3Sに対して求めたPD入力値とIDの情報を、レーザダイオード30Mからの光で全てのスレーブ基板3Sに対して送信する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図58のステップST1bで、マスタ基板3MからPD入力値VとIDの情報を受信すると、ステップST2bで、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31Sの実際の入力値と比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31Sの入力値と、マスタ基板3Mから取得したPD入力値が一致すると、図57のステップST3bで、PD予測値Vを持つスレーブ基板3SにIDが付与されたことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
<第4の実施の形態の信号処理装置の構成例>
図59は、第4の実施の形態の信号処理装置の概要を示す構成図である。
第4の実施の形態の信号処理装置1Dは、光が伝送される光導波路2Aと、光導波路2Aに接続されるマスタ基板3M及びスレーブ基板3Sを備える。
マスタ基板3Mは及びスレーブ基板3Sは、それぞれレーザダイオード(LD)30M,30Sと、フォトディテクタ(PD)31M,31Sを備え、光導波路2Aにおける光の減衰の対称性を崩すため、マスタ基板3Mは、2個のレーザダイオード30M1とレーザダイオード30M2を備える。
レーザダイオード30M1とレーザダイオード30M2は、一定光量で光を出力した時に、PD入力レベルに差が出るように、一方のレーザダイオード30M1は、光導波路2Aの中心に向けて配置され、他方のレーザダイオード30M2は、一方のレーザダイオード30M1に対して面方向に所定の角度βで傾斜させて配置される。
同様に、スレーブ基板3Sは、2個のレーザダイオード30S1とレーザダイオード30S2を備える。
レーザダイオード30S1とレーザダイオード30S2は、一定光量で光を出力した時に、PD入力レベルに差が出るように、一方のレーザダイオード30S1は、光導波路2Aの中心に向けて配置され、他方のレーザダイオード30S2は、一方のレーザダイオード30S1に対して面方向に所定の角度βで傾斜させて配置される。
なお、各基板では、フォトディテクタ31M,31Sは、光導波路2Aの中心に向けて配置され、また、フォトディテクタは各基板に1個ずつ配置される。
ここで、光導波路2Aに接続されるマスタ基板3M及びスレーブ基板3Sでは、レーザダイオード31M2,31S2の傾斜の向きが、円周方向に同一となるように構成される。
<第4の実施の形態の信号処理装置の動作例>
次に、各基板でレーザダイオードを2個備えた構成において、マスタ基板3Mがスレーブ基板3Sの位置及び数を算出する処理について説明する。
図60は、スレーブ基板3Sの位置及び数を算出する時のマスタ基板3Mの他の処理例を示すフローチャート、図61は、スレーブ基板3Sの位置及び数を算出する時のスレーブ基板3Sの他の処理例を示すフローチャートである。
マスタ基板3Mは、図60のステップSU1で、自機のレーザダイオード30M1(MLD1)を点灯させる。マスタ基板3Mのレーザダイオード30M1が点灯することで、マスタ基板3Mから出力された光が光導波路2Aを伝送されて、スレーブ基板3Sのフォトディテクタ31S(SPD)で受光される。これにより、図61のステップSV1で、光導波路2Aに接続されている各スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが上昇する。
各スレーブ基板3Sは、図61のステップSV2で、マスタ基板3Mから出力された光がフォトディテクタ31Sで受光されることで、フォトディテクタ31Sの入力レベルが所定値に上昇すると、自機のレーザダイオード30S1を点灯させる。
マスタ基板3Mのレーザダイオード30M1の点灯に応答して、各スレーブ基板3Sのレーザダイオード30S1が点灯すると、各スレーブ基板3Sから出力された光が光導波路2Aを伝送されて、図60のステップSU2で、マスタ基板3Mのフォトディテクタ31Mで受光される。
各スレーブ基板3Sから出力された光を、マスタ基板3Mのフォトディテクタ31Mで受光することで、マスタ基板3Mでは、フォトディテクタ31Mの入力レベルが上昇する。
これにより、マスタ基板3Mでは、自機のレーザダイオード30M1の点灯に応答してスレーブ基板3Sでレーザダイオード30S1が点灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30S1が点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが1点灯すると一定値になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が一定値になると、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30S1の出力が行われたことを確認する。
すなわち、マスタ基板3Mは、図60のステップSU3aで、フォトディテクタ31Mの入力値を取得し、ステップSU3bで、フォトディテクタ31Mの入力値が一定値になったことを、例えば、上述した図9のフローチャートの処理で入力値の微分係数が正から0に変化したか否かで判断する。
そして、フォトディテクタ31Mの入力値の微分係数が正から0に変化すると、マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30S1の出力が行われたことを確認したと判断する。
マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30S1の出力が行われたことを確認すると、図60のステップSU4で、スレーブ基板3Sの位置及び数を算出して、スレーブ基板3Sの配置候補を算出する。
マスタ基板3Mは、光導波路2Aに接続されているスレーブ基板3Sの配置候補を算出すると、図60のステップSU5で、自機のレーザダイオード30M1を消灯させる。
スレーブ基板3Sでは、マスタ基板3Mのレーザダイオード30M1の点灯に応答して、各スレーブ基板3Sから光が出力されると、フォトディテクタ31Sの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30S1が点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30S1が点灯すると一定値になる。
そして、マスタ基板3Mがスレーブ基板3Sの配置候補を算出し、ステップSU5でレーザダイオード30M1を消灯すると、各スレーブ基板3Sのフォトディテクタ31Sの入力レベルは、一定値から下降する。
そこで、スレーブ基板3Sは、フォトディテクタ31Sの入力値が一定値から下降すると、マスタ基板3Mがスレーブ基板3Sの配置候補の算出を完了したと判断する。
すなわち、スレーブ基板3Sは、図61のステップSV3aで、フォトディテクタ31Sの入力値を取得し、ステップSV3bで、フォトディテクタ31Sの入力値が一定値から下降したことを、例えば、上述した図9のフローチャートの処理で入力値の微分係数が正から0に変化した後、0から負に変化したか否かで判断する。
そして、フォトディテクタ31Sの入力値の微分係数が正から0に変化した後、0から負に変化すると、スレーブ基板3Sは、マスタ基板3Mでスレーブ基板3Sの配置候補の算出が完了したと判断し、ID付与で利用するため、図61のステップSV3cで、自機のフォトディテクタ31Sの入力値を保持した後、図61のステップSV4で、自機のレーザダイオード30S1を消灯させる。
各スレーブ基板3Sのレーザダイオード30S1が消灯することで、マスタ基板3Mは、フォトディテクタ31Mの入力レベルが下降する。
マスタ基板3Mでは、自機のレーザダイオード30M1の消灯に応答してスレーブ基板3Sでレーザダイオード30S1が消灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30S1が消灯するまでは下降し、全てのスレーブ基板3Sのレーザダイオード30S1が消灯すると「0」になる。
そこで、マスタ基板3Mは、フォトディテクタ31Mの入力値が0になると、全てのスレーブ基板3Sが応答したと判断する。
すなわち、マスタ基板3Mは、図60のステップSU6aで、フォトディテクタ31Mの入力値を取得し、ステップSU6bで、フォトディテクタ31Mの入力値が0になったか否かを、例えば、上述した図15のフローチャートの処理で判断する。
そして、フォトディテクタ31Mの入力値が0になると、マスタ基板3Mは、全てのスレーブ基板3Sが応答したと判断し、他方のレーザダイオードを点灯させて同様の処理を行うため、図60のステップSU7で、自機のレーザダイオード30M2(MLD2)を点灯させる。
マスタ基板3Mのレーザダイオード30M2が点灯することで、マスタ基板3Mから出力された光が光導波路2Aを伝送されて、スレーブ基板3Sのフォトディテクタ31Sで受光される。これにより、図61のステップSV5で、光導波路2Aに接続されている各スレーブ基板3Sは、フォトディテクタ31Sの入力レベルが上昇する。
各スレーブ基板3Sは、図61のステップSV6で、マスタ基板3Mから出力された光がフォトディテクタ31Sで受光されることで、フォトディテクタ31Sの入力レベルが所定値に上昇すると、自機のレーザダイオード30S2を点灯させる。
マスタ基板3Mのレーザダイオード30M2の点灯に応答して、各スレーブ基板3Sのレーザダイオード30S2が点灯すると、各スレーブ基板3Sから出力された光が光導波路2Aを伝送されて、図60のステップSU8で、マスタ基板3Mのフォトディテクタ31Mで受光される。
各スレーブ基板3Sから出力された光を、マスタ基板3Mのフォトディテクタ31Mで受光することで、マスタ基板3Mでは、フォトディテクタ31Mの入力レベルが上昇する。
これにより、マスタ基板3Mでは、自機のレーザダイオード30M2の点灯に応答してスレーブ基板3Sでレーザダイオード30S2が点灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30S2が点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30Sが2点灯すると一定値になる。
このため、マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30S2の出力が行われたことを確認するため、図60のステップSU9aで、フォトディテクタ31Mの入力値を取得し、ステップSU9bで、フォトディテクタ31Mの入力値が一定値になったことを、例えばPD入力値の微分係数が正から0に変化したか否かで判断する。
そして、フォトディテクタ31Mの入力値の微分係数が正から0に変化すると、マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30S2の出力が行われたことを確認したと判断する。
マスタ基板3Mは、光導波路2Aに接続されている全てのスレーブ基板3Sでレーザダイオード30S2の出力が行われたことを確認すると、図60のステップSU10で、スレーブ基板3Sの位置及び数を算出して、スレーブ基板3Sの配置候補を算出する。
マスタ基板3Mは、光導波路2Aに接続されているスレーブ基板3Sの配置候補を算出すると、図60のステップSU11で、自機のレーザダイオード30M2を消灯させる。
スレーブ基板3Sでは、マスタ基板3Mのレーザダイオード30M2の点灯に応答して、各スレーブ基板3Sから光が出力されると、フォトディテクタ31Sの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30S2が点灯するまでは上昇し、全てのスレーブ基板3Sのレーザダイオード30S2が点灯すると一定値になる。
そして、マスタ基板3Mがスレーブ基板3Sの配置候補を算出し、ステップSU11でレーザダイオード30M2を消灯すると、各スレーブ基板3Sのフォトディテクタ31Sの入力レベルは、一定値から下降する。
このため、スレーブ基板3Sは、マスタ基板3Mがスレーブ基板3Sの配置候補の算出を完了したことを確認するため、図61のステップSV7aで、フォトディテクタ31Sの入力値を取得し、ステップSV7bで、フォトディテクタ31Sの入力値が一定値から下降したことを、例えば、PD入力値の微分係数が正から0に変化した後、0から負に変化したか否かで判断する。
そして、フォトディテクタ31Sの入力値の微分係数が正から0に変化した後、0から負に変化すると、スレーブ基板3Sは、マスタ基板3Mでスレーブ基板3Sの配置候補の算出が完了したと判断し、ID付与で利用するため、図61のステップSV7cで、自機のフォトディテクタ31Sの入力値を保持した後、図61のステップSV8で、自機のレーザダイオード30S2を消灯させる。
各スレーブ基板3Sのレーザダイオード30S2が消灯することで、マスタ基板3Mは、フォトディテクタ31Mの入力レベルが下降する。
マスタ基板3Mでは、自機のレーザダイオード30M2の消灯に応答してスレーブ基板3Sでレーザダイオード30S2が消灯されると、マスタ基板3Mのフォトディテクタ31Mの入力レベルは、全てのスレーブ基板3Sのレーザダイオード30S2が消灯するまでは下降し、全てのスレーブ基板3Sのレーザダイオード30S1が消灯すると「0」になる。
このため、マスタ基板3Mは、全てのスレーブ基板3Sが応答したとことを確認するため、図60のステップSU12aで、フォトディテクタ31Mの入力値を取得し、ステップSU12bで、フォトディテクタ31Mの入力値が0になったか否かを判断する。
そして、フォトディテクタ31Mの入力値が0になると、マスタ基板3Mは、全てのスレーブ基板3Sが応答したと判断し、スレーブ基板3Sの配置候補を決定する処理を終了する。
図62は、複数の候補から配置ベクトルを決定する処理の一例を示すフローチャートであり、次に、配置ベクトルを決定する処理の詳細について説明する。
本例では、スレーブ基板3Sは2個のレーザダイオード30S1,30S2を備えるので、マスタ基板3Mは、2個のレーザダイオード30S1,30S2のそれぞれの出力によるフォトディテクタ31Mの入力値に対応してPD入力レベルテーブルtLD1,tLD2を保持する。
ここで、PD入力レベルテーブルtLD1,tLD2は、図33のPD入力レベルテーブルと同様にして算出される。
マスタ基板3Mは、上述した図55のフローチャートと同様の処理を行って、図62のステップSW1で、スレーブ基板3Sのレーザダイオード30S1を点灯させた時に取得したPD入力値と一致するPD入力レベルテーブルtLD1を検索して、配置ベクトル候補W1を取得する。
同様に、マスタ基板3Mは、図62のステップSW2で、スレーブ基板3Sのレーザダイオード30S2を点灯させた時に取得したPD入力値と一致するPD入力レベルテーブルtLD2を検索して、配置ベクトル候補W2を取得する。
マスタ基板3Mは、図62のステップSW3〜SW7で、スレーブ基板3Sのレーザダイオード30S1を点灯させた時に取得したPD入力値から得られたi個の配置ベクトルW1と、スレーブ基板3Sのレーザダイオード30S2を点灯させた時に取得したPD入力値から得られたj個の配置ベクトルW2を順に読み出し、図62のステップSW8で順次比較する。
そして、マスタ基板3Mは、図62のステップSW9で、配置ベクトルW1と配置ベクトルW2で各要素が一致するものを、最終的な候補として、配置ベクトルW1(i)を保持し、ステップSW10で、次の配置候補の検索を行う。
次に、各基板でレーザダイオードを2個備えた構成において、配置が一意に決められないスレーブ基板3Sの配置を決定して、マスタ基板3Mがスレーブ基板3SにIDを付与する処理について説明する。
図63は、配置が一意に決められないスレーブ基板3SにIDを付与する時のマスタ基板3Mの他の処理の詳細を示すフローチャート、図64は、配置が一意に決められないスレーブ基板3Sで配置を決定する時のスレーブ基板3Mの他の処理の詳細を示すフローチャート、図65は、配置が一意に決められないスレーブ基板3SにIDを付与する時のスレーブ基板3Mの他の処理の詳細を示すフローチャートである。
以下の説明では、Lはスレーブ基板3Sの配置候補数を示し、Wiはi番目のスレーブ基板3Sの配置候補における配置ベクトルを示す。
マスタ基板3Mは、図63のステップSX1,SX2で、配置ベクトルWiのスレーブ基板3Sに対して順番にPD入力値を予測する処理を開始し、i=0からi=Lの配置候補に対してPD入力値の予測値と実測値が一致するまで処理を行う。
マスタ基板3Mは、図63のステップSX3で、配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置におけるスレーブ基板3Sの数をNとする。
マスタ基板3Mは、図63のステップSX4〜SX9で、配置ベクトルWiにおけるj番目のスレーブ基板3Sのフォトディテクタ31Sに、他のスレーブ基板3Sのレーザダイオード30Sから入力される光のPD入力値を、上述した図44のフローチャートのステップSK3〜SK7の処理で予測する。
すなわち、マスタ基板3Mは、図63のステップSX6で、配置ベクトルWiにおけるj番目のスレーブ基板3Sのフォトディテクタ31Sに、他のスレーブ基板3Sのレーザダイオード30S1(LD1)から入力される光のPD入力値を、j=0からj=Nの全てのスレーブ基板3Sに対して予測する。
また、マスタ基板3Mは、図63のステップSX7で、配置ベクトルWiにおけるj番目のスレーブ基板3Sのフォトディテクタ31Sに、他のスレーブ基板3Sのレーザダイオード30S2(LD2)から入力される光のPD入力値を、j=0からj=Nの全てのスレーブ基板3Sに対して予測する。
そして、マスタ基板3Mは、図63のステップSX8で、配置ベクトルWiのj番目スレーブ基板3Sに対して求めたPD入力値の予測値V1,V2を、レーザダイオード30Mからの光で全てのスレーブ基板3Sに対して送信する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図64のステップSY1aで、LD1点灯時のPD入力値の予測値V1と、LD2点灯時のPD入力値の予測値V2を、マスタ基板3Mから受信すると、ステップSY2aで、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31Sの実際の入力値と比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31Sの入力値と、マスタ基板3Mから取得したPD入力値の予測値が一致すると、図64のステップSY3aで、PD入力値の予測値V1,V2と実測値が一致したことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
マスタ基板3Mは、図63のステップSX10で、配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置において、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致したか判断する。
マスタ基板3Mは、配置ベクトルWiにおいて、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致しない場合は、図63のステップSX11で、次の配置ベクトルWi+1のスレーブ基板3Sに対して、順番にPD入力値を予測して、実測値との一致を確認する処理を行う。
また、マスタ基板3Mは、配置ベクトルWiにおいて、全てのスレーブ基板3SのPD入力値の予測値と実測値が一致すると、図63のステップSX12で、スレーブ基板3Sの配置を配置ベクトルWiで特定されるi番目のスレーブ基板3Sの配置であると決定する。
マスタ基板3Mは、スレーブ基板3Sの配置が決定すると、図63のステップSX13〜SX17で、配置ベクトルWiにおけるj番目のスレーブ基板3Sのフォトディテクタ31Sに、他のスレーブ基板3Sのレーザダイオード30S1,S2から入力される光のPD入力値を、j=0からj=Nの全てのスレーブ基板3Sに対して予測する。
マスタ基板3Mは、図63のステップSX16で、配置ベクトルWiのj番目スレーブ基板3Sに対して求めたPD入力値の予測値V1,V2とIDの情報を、レーザダイオード30Mからの光で全てのスレーブ基板3Sに対して送信する。
光導波路2Aに接続されている全てのスレーブ基板3Sは、図65のステップSY1bで、マスタ基板3MからPD入力値の予測値V1,V2とIDの情報を受信すると、ステップSY2bで、スレーブ基板3Sの位置と数を決定する処理において保持したフォトディテクタ31Sの実際の入力値と比較する。
そして、スレーブ基板3Sは、自機で保持しているフォトディテクタ31Sの入力値と、マスタ基板3Mから取得したPD入力値の予測値が一致すると、図65のステップSY3bで、PD予測値V1,V2を持つスレーブ基板3SにIDが付与されたことを示す情報をレーザダイオード30Sで出力して、マスタ基板3Mに通知する。
<各実施の形態の信号処理装置の変形例>
上述した各実施の形態において、レーザダイオードとフォトディテクタを1個ずつ備える構成では、双方を光導波路の中心に対して面方向に所定の角度傾斜させても良い。また、レーザダイオードとフォトディテクタを2個ずつ備える構成として、それぞれ一方を光導波路の中心に対して面方向に所定の角度傾斜させても良い。
なお、光導波路2Aにおける減衰の対称性を崩すためには、レーザダイオードから光導波路に入力される光、または、光導波路からフォトディテクタに入力される光が傾斜していれば良い。このため、レーザダイオードやフォトディテクタ自体を傾斜させるのではなく、レーザダイオードまたはフォトディテクタの光路中に、光を所定の角度で傾斜させる光学部品を配置するようにしても良い。
1A〜1D・・・信号処理装置、2A・・・光導波路、3M・・・マスタ基板、3S・・・スレーブ基板、30M,30S・・・レーザダイオード、31M,31S・・・フォトディテクタ