(57)【特許請求の範囲】
【請求項１】
複数の光源と、
前記複数の光源にそれぞれ対応して設けられ、各々がバスを介して他の光源制御装置と通信可能に設けられた複数の光源制御装置とを備え、
前記複数の光源制御装置は、他の光源制御装置に命令信号を送信する複数のメイン光源制御装置を含み、
各前記メイン光源制御装置は、
前記バスを介して送信する前記命令信号のデータが衝突したか否かを判断する衝突判定回路と、
前記衝突判定回路の判定結果に基づいてデータが衝突した場合に復帰動作を実行する復帰回路とを含み、
前記衝突判定回路は、
前記命令信号のデータを示す信号の変化タイミングを検出するエッジ検出回路と、
前記エッジ検出回路で検出した変化タイミングに応じて衝突判定エリアを設定するエリア設定回路と、
前記エリア設定回路で設定された前記衝突判定エリアでの前記命令信号のデータの衝突の有無を検出する衝突検出回路とを含む、光源制御システム。
【請求項２】
前記エリア設定回路は、前記衝突判定エリアの範囲を設定するためのパラメータを設定するためのレジスタを含む、請求項１記載の光源制御システム。
【請求項３】
前記エリア設定回路は、前記衝突判定エリアと、前記データを正常に検出するデータ検出エリアとを設定する、請求項１記載の光源制御システム。
【請求項４】
前記エリア設定回路は、前記衝突判定エリアと、前記データ検出エリアと、前記衝突判定エリアおよび前記データ検出エリアのいずれか一方に設定可能な可変エリアとを設定する、請求項３記載の光源制御システム。
【請求項５】
前記衝突判定エリアは、第１判定エリアと、第２判定エリアとを含み、
前記復帰回路は、
前記第１判定エリアでの前記命令信号の衝突が生じた場合には、第１の復帰動作を実行し、
前記第２判定エリアでの前記命令信号の衝突が生じた場合には、第２の復帰動作を実行する、請求項１記載の光源制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、照明装置を調光する装置に関する。
【背景技術】
【０００２】
従来、調光指示信号としてのＰＷＭ信号を入力し、そのオンデューティに応じて光源の調光をする調光方法、或いは調光指示信号として０〜１０Ｖ制御信号を入力し、そのアナログ値に応じて光源の調光をする調光方法が知られている。
【０００３】
一方、近年、ヨーロッパを中心に照明制御システムとして、調光指示信号としてのＤＡＬＩ（Digital Addressable Lighting Interface）規格に準拠した信号を送信して照明装置を制御するシステム（照明制御システム）が開発されている。
【０００４】
この点で、特開２０１３−４４８４号公報においては、ＤＡＬＩ規格に準拠した照明制御システムが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−４４８４公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方で、バス上に複数のマスタとなる制御装置が設けられた場合に、バス上で送信信号が衝突（コリジョンとも称する）する現象が生じる。これにより、バスを介したデータの送受信が正常に行われず、機器間でのデータ通信を実行することができないという状態が生じるため衝突を検出する必要がある。
【０００７】
本開示は、上記の課題を解決するためになされたものであって、データの衝突を検出することが可能な光源制御システムを提供することを目的とする。
【０００８】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
一実施例によれば、光源制御システムは、複数の光源と、複数の光源にそれぞれ対応して設けられ、各々がバスを介して他の光源制御装置と通信可能に設けられた複数の光源制御装置とを備える。複数の光源制御装置は、他の光源制御装置に命令信号を送信する複数のメイン光源制御装置を含む。各メイン光源制御装置は、バスを介して送信する命令信号のデータが衝突したか否かを判断する衝突判定回路と、衝突判定回路の判定結果に基づいてデータが衝突した場合に復帰動作を実行する復帰回路とを含む。衝突判定回路は、命令信号のデータを示す信号の変化タイミングを検出するエッジ検出回路と、エッジ検出回路で検出した変化タイミングに応じて衝突判定エリアを設定するエリア設定回路と、エリア設定回路で設定された衝突判定エリアでの命令信号のデータの衝突の有無を検出する衝突検出回路とを含む。
【発明の効果】
【００１０】
一実施例によれば、光源制御システムは、命令信号のデータを示す信号の変化タイミングを検出するエッジ検出回路と、エッジ検出回路で検出した変化タイミングに応じて衝突判定エリアを設定するエリア設定回路と、エリア設定回路で設定された衝突判定エリアでの命令信号のデータの衝突の有無を検出する衝突検出回路とを含み、データの衝突を検出することが可能である。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に基づく光源制御システム１の構成について説明する図である。
【図２】実施形態１に基づくコントローラ１０およびその周辺回路の構成を説明する図である。
【図３】実施形態１に基づくＤＡＬＩ通信インタフェースモジュール４の構成を説明する図である。
【図４】実施形態１に基づく衝突判定回路１３の構成を説明する図である。
【図５】実施形態１に基づく１ビットのデータ波形を説明する図である。
【図６】実施形態１に基づく１ビットのデータの衝突を判定する方式を説明する図である。
【図７】実施形態１に基づく衝突判定処理を実行するフロー図である。
【図８】実施形態１に基づく衝突判定回路１３の第１および第２のコリジョン判定を実行するフロー図である。
【図９】実施形態１に基づくカウント処理のサブルーチン処理について説明するフロー図である。
【図１０】実施形態１に基づく復帰処理について説明するフロー図である。
【図１１】実施形態２に基づく衝突判定回路１３＃の構成を説明する図である。
【図１２】実施形態２に基づく衝突判定回路１３＃の第１および第２のコリジョン判定を実行するフロー図である。
【図１３】実施形態３に基づくビット中間でコリジョンが発生した場合の例を説明する図である。
【図１４】実施形態３に基づく復帰処理について説明するフロー図である。
【発明を実施するための形態】
【００１２】
実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００１３】
（実施形態１）
＜Ａ．全体構成＞
＜ａ１．光源制御システム１の構成＞
図１は、実施形態１に基づく光源制御システム１の構成について説明する図である。
【００１４】
図１を参照して、光源制御システム１は、複数の光源ブロック１００と、サーバ２とを備える。
【００１５】
サーバ２は、バスＢＳ２を介して複数の光源ブロック１００と接続される。
各光源ブロック１００は、バスＢＳ１を介するＤＡＬＩ規格に準拠した信号を送受信することにより制御される。
【００１６】
光源ブロック１００は、複数の光源３と、複数の光源３にそれぞれ対応して設けられる複数のコントローラ１０とを含む。また、複数のコントローラ１０にそれぞれ対応して設けられ、バスＢＳ２と対応するコントローラ１０との間に設けられる複数の通信インタフェースモジュール５と、バスＢＳ１と対応するコントローラ１０との間に設けられる複数のＤＡＬＩ通信インタフェースモジュール４とをさらに含む。
【００１７】
なお、通信インタフェースモジュール５とコントローラ１０とは一対一である必要はない。
【００１８】
バスＢＳ１とバスＢＳ２とは通信規格が異なるものとする。
複数のＤＡＬＩ通信インタフェースモジュール４は、バスＢＳ２を介して互いにデータの授受が可能に設けられている。
【００１９】
各コントローラ１０は、ＤＡＬＩ通信インタフェースモジュール４を介して受信される光源３の点灯または消灯の命令信号に基づき光源３を制御する。
【００２０】
また、各コントローラ１０は、通信インタフェースモジュール５を介してバスＢＳ２と接続されたサーバ２に情報を送信する。また、サーバ２は、バスＢＳ２を介して各コントローラ１０と通信可能に設けられている。
【００２１】
なお、コントローラ１０の一つがサーバ２の代替として使用する場合もあり得る。
本例においては、一例として、Ｎ＋１個の光源３が設けられている場合が示されている。そして、０番目〜Ｎ番目の光源３を表記する方式として、一例として、０番目の光源３については、光源３−０として標記している。他のコントローラ１０、ＤＡＬＩ通信インタフェースモジュール４、通信インタフェースモジュール５についても同様である。
【００２２】
また、本例においては、複数のコントローラ１０のうち１つのコントローラ１０がマスタとなり、他のコントローラ１０がスレーブとなるのではなく、複数のコントローラ１０がマスタとなり（マルチマスタ）、それ以外のコントローラ１０がスレーブとなる構成について説明する。
【００２３】
したがって、バスＢＳ１上においてデータの衝突（コリジョン）が生じる場合について説明する。
【００２４】
＜ａ２．コントローラ１０の構成＞
図２は、実施形態１に基づくコントローラ１０およびその周辺回路の構成を説明する図である。
【００２５】
図２を参照して、半導体装置であるコントローラ１０は、光源３、ＤＡＬＩ通信インタフェースモジュール４および通信インタフェースモジュール５と接続されている。
【００２６】
ＤＡＬＩ通信インタフェースモジュール４は、バスＢＳ１を介してＤＡＬＩ通信規格に準拠した信号により他の半導体装置であるコントローラ１０と通信可能に設けられている。
【００２７】
通信インタフェースモジュール５は、バスＢＳ２を介してＤＡＬＩ通信規格と異なる例えばEthernet（登録商標）を利用してサーバ２と通信可能に設けられる。なお、有線接続に限られず無線接続の方式を採用することも可能である。
【００２８】
コントローラ１０は、駆動回路部１１と、信号処理部１２とを含む。
駆動回路部１１は、光源３を駆動する。
【００２９】
信号処理部１２は、ＤＡＬＩ通信インタフェースモジュール４を介して受信される信号を処理して駆動回路部１１に指示する。
【００３０】
また、信号処理部１２は、データが衝突したか否かを判断する衝突判定回路１３と、衝突判定回路の判定結果に基づいてデータが衝突した場合に復帰動作を実行する復帰回路１４とを含む。
【００３１】
駆動回路部１１は、信号処理部１２からの指示に従って光源３の消灯または点灯等の調光制御を実行する。
【００３２】
また、信号処理部１２は、通信インタフェースモジュール５と接続され、必要に応じてサーバ２に対してデータを送信する。
【００３３】
＜ａ３．ＤＡＬＩ通信インタフェースモジュール４の構成＞
図３は、実施形態１に基づくＤＡＬＩ通信インタフェースモジュール４の構成を説明する図である。
【００３４】
図３を参照して、ＤＡＬＩ通信インタフェースモジュール４は、ダイオードブリッジ２０と、フォトカプラ２１，２２と、抵抗２３，２４，２５，２８，２９，３１と、コンデンサ２６と、ダイオード２７と、ツェナーダイオード３０と、バイポーラトランジスタ３２とを含む。
【００３５】
ダイオードブリッジ２０は、２本のラインで構成されるバスＢＳ１、およびノードＮ０，Ｎ２と接続される。
【００３６】
コントローラ１０の送信端子ＴＰは、抵抗２３を介してフォトカプラ２１と接続される。
【００３７】
フォトカプラ２１は、発光ダイオードと、フォトトランジスタとを含む。電源電圧と抵抗２３との間の発光ダイオードが設けられる。フォトトランジスタの一端側はノードＮ３と接続される。他端側は抵抗２４を介してノードＮ１と接続される。
【００３８】
ノードＮ２とノードＮ１との間には抵抗２５が接続される。ノードＮ０とノードＮ２との間には、抵抗２８と、バイポーラトランジスタ３２とが直列に接続される。バイポーラトランジスタ３２のゲート電極はノードＮ１と接続される。ノードＮ３とノードＮ０との間にはダイオード２７が設けられる。ノードＮ３とノードＮ２との間には、コンデンサ２６が接続される。
【００３９】
ノードＮ０は、抵抗２９を介してフォトカプラ２２と接続される。
フォトカプラ２２は、発光ダイオードと、フォトトランジスタとを含む。
【００４０】
発光ダイオードのアノード側は抵抗２９と接続される。カソード側はツェナーダイオード３０と接続される。
【００４１】
フォトカプラ２２の一端側は電源電圧と接続される。他端側はコントローラ１０の受信端子ＲＰと接続される。また、受信端子ＲＰと接地電圧との間に抵抗３１が接続される。
【００４２】
本実施形態においては、ＤＡＬＩ通信インタフェースモジュール４を介して受信される信号に基づいてデータの衝突を衝突したか否かを判断する。
【００４３】
＜ａ４．衝突判定回路１３の構成＞
図４は、実施形態１に基づく衝突判定回路１３の構成を説明する図である。
【００４４】
図４を参照して、衝突判定回路１３は、受信端子と接続されるエッジ検出回路３０１と、ビット境界判定回路３０２と、時間カウンタ回路３０３と、比較回路３０４と、レジスタ群３０５と、エリアカウンタ回路３０６と、コリジョン判定回路３０７とを含む。
【００４５】
エッジ検出回路３０１は、受信端子を介して受信する信号の立ち上がりあるいは立ち下がり（エッジ）を検出する。
【００４６】
ビット境界判定回路３０２は、当該エッジがビット境界のエッジであるか否かを判断する。
【００４７】
時間カウンタ回路３０３は、エッジの検出に従って時間をカウントする。
比較回路３０４は、時間カウンタ回路３０３からのカウント値と、レジスタ群３０５により設定された所定の値とを比較する。比較回路３０４は、カウント値が所定の値以上となった場合に比較結果信号をエリアカウンタ回路３０６に出力する。
【００４８】
エリアカウンタ回路３０６は、比較回路３０４からの比較結果信号に基づいてエリアカウンタをインクリメントする。
【００４９】
コリジョン判定回路３０７は、エリアカウンタ回路３０６からのエリアカウンタ値と、エッジ検出回路３０１からのエッジ検出信号に基づいてコリジョン判定を実行する。
【００５０】
コリジョン判定回路３０７は、コリジョン判定を実行してコリジョンと判定した場合には、コリジョン割込信号を出力する。
【００５１】
一例として、時間カウンタ回路３０３、比較回路３０４、レジスタ群３０５およびエリアカウンタ回路３０６は、エッジ検出回路３０１で検出した変化タイミングに応じて衝突判定エリアを設定するエリア設定回路を構成する。
【００５２】
＜Ｂ．コリジョン判定の説明＞
＜ｂ１．データ判定＞
図５は、実施形態１に基づく１ビットのデータ波形を説明する図である。
【００５３】
図５（Ａ）を参照して、本例においてはＤＡＬＩ規格に準拠した通信データは、マンチェスターコーディングされているものとする。
【００５４】
ここでは、データ「０」の場合のデータ波形が示されている。
正常波形の場合には、１ビットに割り当てられている周期期間の略中央付近において「Ｈ」レベルから「Ｌ」レベルに立ち下がるデータ波形が示されている。
【００５５】
本例においては、一例として、「Ｈ」レベルから「Ｌ」レベルの立ち下がりエッジ（変化タイミング）を検出して、データ「０」とする。
【００５６】
同様に、図５（Ｂ）を参照して、ここでは、データ「１」の場合のデータ波形が示されている。
【００５７】
正常波形の場合には、１ビットに割り当てられている周期期間の略中央付近において「Ｌ」レベルから「Ｈ」レベルに立ち上がるデータ波形が示されている。
【００５８】
本例においては、一例として、「Ｌ」レベルから「Ｈ」レベルの立ち上がりエッジ（変化タイミング）を検出して、データ「１」とする。
【００５９】
＜ｂ２．コリジョン判定＞
図６は、実施形態１に基づく１ビットのデータの衝突を判定する方式を説明する図である。
【００６０】
図６（Ａ）を参照して、本例においては、データ「１」、「０」のデータの衝突を判定する場合が示されている。
【００６１】
通信データは、マンチェスターコーディングされているためエッジは、ビット境界の場合とデータを示す場合とで２つの状況が発生する。
【００６２】
ここでは、最初の検出したエッジがビット境界である場合におけるデータの衝突の判定（第１のコリジョン判定）を説明する。
【００６３】
区間（０）〜（５）が割り当てられている。それぞれの区間の長さは、レジスタ群３０５に格納されている。
【００６４】
具体的には、エッジがビット境界である場合、ビット境界からタイミング値Ｍまでが区間（０）に割り当てられる。
【００６５】
タイミング値Ｍ〜Ｎまでが区間（１）、タイミング値Ｎ〜Ｏまでが区間（２）、タイミング値Ｏ〜Ｐまでが区間（３）、タイミング値Ｐ〜Ｑまでが区間（４）、タイミング値Ｑ以降が区間（５）に割り当てられている。
【００６６】
区間（１）、区間（５）は、デストロイ区間であり、この区間でエッジが検出された場合にはコリジョン有りと判定される。
【００６７】
区間（３）は、有効区間であり、この区間でのエッジの検出は、データを示すものであり、コリジョンは無しと判定される。
【００６８】
区間（０）、（２）、（４）は、グレイ区間であり、これらの区間は、デストロイ区間あるいは有効区間のいずれか一方に可変に設定可能な区間である。
【００６９】
一例として、グレイ区間をデストロイ区間に設定した場合について説明する。
図６（Ｂ）を参照して、最初の検出したエッジがビットの中央である場合におけるデータの衝突の判定（第２のコリジョン判定）を説明する。
【００７０】
本例においては、データ「１」、「０」のデータの衝突を判定する場合が示されている。
【００７１】
区間（０）〜（９）が割り当てられている。それぞれの区間の長さは、レジスタ群３０５に格納されている。
【００７２】
具体的には、エッジがビットの中央である場合、ビットの中央からタイミング値Ｒまでが区間（０）に割り当てられる。
【００７３】
タイミング値Ｒ〜Ｓまでが区間（１）、タイミング値Ｓ〜Ｔまでが区間（２）、タイミング値Ｔ〜Ｕまでが区間（３）、タイミング値Ｕ〜Ｖまでが区間（４）、タイミング値Ｖ〜Ｗまでが区間（５）、タイミング値Ｗ〜Ｘまでが区間（６）、タイミング値Ｘ〜Ｙまでが区間（７）、タイミング値Ｙ〜Ｚまで区間（８）、タイミング値Ｚ以降が区間（９）に割り当てられている。
【００７４】
区間（１）、区間（５）、区間（９）は、デストロイ区間であり、この区間でエッジが検出された場合にはコリジョン有りと判定される。
【００７５】
区間（３）、区間（７）は、有効区間であり、この区間でのエッジの検出は、データあるいはビットの区切り（境界）を示すものであり、コリジョンは無しと判定される。
【００７６】
区間（０）、（２）、（４）、（６）、（８）は、グレイ区間であり、これらの区間は、デストロイ区間あるいは有効区間のいずれか一方に可変に設定可能な区間である。
【００７７】
一例として、グレイ区間をデストロイ区間に設定した場合について説明する。
なお、レジスタ群３０５には、第１および第２のコリジョン判定のタイミング値がそれぞれ格納されている。
【００７８】
＜ｂ３．フロー＞
図７は、実施形態１に基づく衝突判定処理を実行するフロー図である。
【００７９】
当該処理は、コントローラ１０の衝突判定回路１３における処理である。
図７を参照して、衝突判定回路１３は、受信端子を介してエッジを検出したかどうかを判断する（ステップＳ４）。具体的には、エッジ検出回路３０１は、受信端子を介してエッジを検出したかどうかを判断し、検出信号をビット境界判定回路３０２、時間カウンタ回路３０３、エリアカウンタ回路３０６、コリジョン判定回路３０７にそれぞれ出力する。
【００８０】
ステップＳ４において、衝突判定回路１３は、エッジを検出するまで（ステップＳ４においてＮＯ）は、ステップＳ４を維持する。
【００８１】
そして、衝突判定回路１３は、エッジを検出した場合（ステップＳ４においてＹＥＳ）には、エッジがビット境界かあるいはビット中間かを判断する（ステップＳ６）。ビット境界判定回路３０２は、エッジ検出回路３０１からのエッジの検出信号に従ってエッジがビット境界か否かを判定する。通信開始の場合の最初のエッジはスタートビットとなるので、ビット境界と判定し、コリジョン判定せずにステップＳ６に戻る。
【００８２】
ステップＳ６において、衝突判定回路１３は、エッジがビット境界であると判断した場合には、第１のコリジョン判定を実行する（ステップＳ８）。
【００８３】
具体的には、図６（Ａ）で説明した区間（０）〜（５）でのコリジョン判定を実行する。第１のコリジョン判定については後述する。
【００８４】
次に、衝突判定回路１３は、コリジョンを検出したかどうかを判定する（ステップＳ１０）。コリジョン判定回路３０７は、第１のコリジョン判定を実行し、コリジョンを検出したかどうかを判定する。
【００８５】
ステップＳ１０において、衝突判定回路１３は、コリジョンを検出したと判定した場合（ステップＳ１０においてＹＥＳ）には、コリジョン割込信号を生成する（ステップＳ１２）。コリジョン判定回路３０７は、コリジョンを検出したと判定した場合には、コリジョン割込信号を生成する。そして、処理を終了する（エンド）。
【００８６】
一方、ステップＳ１０において、衝突判定回路１３は、コリジョンを検出しないと判定した場合（ステップＳ１０においてＮＯ）には、ステップＳ６に戻り、上記の第１あるいは第２のコリジョン判定を実行する。
【００８７】
一方、ステップＳ６において、衝突判定回路１３は、エッジがビット中間であると判断した場合には、第２のコリジョン判定を実行する（ステップＳ１４）。
【００８８】
具体的には、図６（Ｂ）で説明した区間（０）〜（９）でのコリジョン判定を実行する。第２のコリジョン判定については後述する。
【００８９】
次に、衝突判定回路１３は、コリジョンを検出したかどうかを判定する（ステップＳ１０）。コリジョン判定回路３０７は、第２のコリジョン判定を実行し、コリジョンを検出したかどうかを判定する。
【００９０】
ステップＳ１０において、衝突判定回路１３は、コリジョンを検出したと判定した場合（ステップＳ１０においてＹＥＳ）には、コリジョン割込信号を生成する（ステップＳ１２）。コリジョン判定回路３０７は、コリジョンを検出したと判定した場合には、コリジョン割込信号を生成する。そして、処理を終了する（エンド）。
【００９１】
一方、ステップＳ１０において、衝突判定回路１３は、コリジョンを検出しなかったと判定した場合（ステップＳ１０においてＮＯ）には、ステップＳ６へ戻る。
【００９２】
図８は、実施形態１に基づく衝突判定回路１３の第１および第２のコリジョン判定を実行するフロー図である。
【００９３】
図８を参照して、カウンタ値を初期化する（ステップＳ２０）。具体的には、時間カウンタ回路３０３およびエリアカウンタ回路３０６を初期化（リセット）する。初期化の値は０にすることが可能である。
【００９４】
次に、カウント処理を実行する（ステップＳ２１）。カウント処理の詳細については、後述する。
【００９５】
次に、受信端子を介してエッジを検出したかどうかを判断する（ステップＳ２２）。具体的には、エッジ検出回路３０１は、受信端子を介してエッジを検出したかどうかを判断し、検出した場合には、検出信号をビット境界判定回路３０２、時間カウンタ回路３０３、エリアカウンタ回路３０６、コリジョン判定回路３０７にそれぞれ出力する。
【００９６】
ステップＳ２２において、衝突判定回路１３は、エッジを検出していないと判断した場合（ステップＳ２２においてＮＯ）には、エリアカウンタ値がＭａｘ値以上であるか否かを判断する（ステップＳ２６）。
【００９７】
本例においては、第１のコリジョン判定および第２のコリジョン判定でそれぞれＭａｘ値が設定されている。具体的には、第１のコリジョン判定の場合には、「５」に設定される。また、第２のコリジョン判定の場合には、「９」に設定される。
【００９８】
ステップＳ２６において、エリアカウンタ値がＭａｘ値以上であると判断した場合（ステップＳ２６においてＹＥＳ）には、コリジョンを検出と判断する（ステップＳ２４）。
【００９９】
そして、処理を終了する（リターン）。
一方、ステップＳ２６において、エリアカウンタ値がＭａｘ値以上でないと判断した場合（ステップＳ２６においてＮＯ）には、ステップＳ２１に戻り、カウント処理を継続する。
【０１００】
一方、ステップＳ２２において、衝突判定回路１３は、エッジを検出したと判断した場合（ステップＳ２２においてＹＥＳ）には、エリアカウンタ値はデストロイ区間か否かを判断する（ステップＳ２３）。
【０１０１】
ステップＳ２３において、エリアカウンタ値がデストロイ区間であると判断した場合（ステップＳ２３においてＹＥＳ）には、コリジョンを検出と判断する（ステップＳ２４）。
【０１０２】
そして、処理を終了する（リターン）。
一方、ステップＳ２３において、エリアカウンタ値がデストロイ区間で無いと判断した場合（ステップＳ２３においてＮＯ）には、ステップＳ２４をスキップして処理を終了する（リターン）。この場合は、有効区間での検出であり、コリジョンは発生していない。
【０１０３】
例えば、第１のコリジョン判定の場合に区間（３）でエッジが検出された場合には、有効区間での検出であり、コリジョンは発生していない。
【０１０４】
そして、図７のステップＳ１０において、コリジョン検出無しと判断されて、ステップＳ６に戻り同様の処理を繰り返す。たとえば、第１のコリジョン判定の場合に区間（３）でエッジが検出された場合には、次回は、第２のコリジョン判定が実行される。
【０１０５】
例えば、第２のコリジョン判定の場合に区間（３）でエッジが検出された場合には、有効区間での検出であり、コリジョンは発生していない。
【０１０６】
そして、図７のステップＳ１０において、コリジョン検出無しと判断されて、ステップＳ６に戻り同様の処理を繰り返す。たとえば、第２のコリジョン判定の場合に区間（３）でエッジが検出された場合には、次回は、第１のコリジョン判定が実行される。
【０１０７】
また、第２のコリジョン判定の場合に区間（７）でエッジが検出された場合には、有効区間での検出であり、コリジョンは発生していない。
【０１０８】
そして、図７のステップＳ１０において、コリジョン検出無しと判断されて、ステップＳ６に戻り同様の処理を繰り返す。たとえば、第２のコリジョン判定の場合に区間（７）でエッジが検出された場合には、次回は、第２のコリジョン判定が実行される。
【０１０９】
図９は、実施形態１に基づくカウント処理のサブルーチン処理について説明するフロー図である。
【０１１０】
図９を参照して、時間カウンタ値は、比較値以上であるか否かを判断する（ステップＳ３６）。比較回路３０４は、時間カウンタ回路３０３の時間カウンタ値と、比較値とを比較し、時間カウンタ値は比較値以上であるか否かを判断する。
【０１１１】
なお、比較値の初期値は、レジスタ群３０５により設定されているものとする。具体的には、第１のコリジョン判定の場合には、タイミング値Ｍが設定される。第２のコリジョン判定の場合には、タイミング値Ｒが設定される。
【０１１２】
ステップＳ３６において、時間カウンタ値は、比較値以上で無いと判断した場合（ステップＳ３６においてＮＯ）には、ステップＳ３８，Ｓ４０をスキップして、ステップＳ４１に進む。
【０１１３】
ステップＳ４１において、時間カウンタ回路３０３は、時間カウンタ値をカウントアップする。
【０１１４】
そして、処理を終了する（リターン）。
一方、ステップＳ３６において、時間カウンタ値は、比較値以上であると判断した場合（ステップＳ３６においてＹＥＳ）には、エリアカウンタ値をカウントアップする（ステップＳ３８）。具体的には、比較回路３０４は、比較結果に基づく信号をエリアカウンタ回路３０６に出力する。エリアカウンタ回路３０６は、比較結果に基づく信号に基づいてエリアカウンタ値をカウントアップする。初期値は０であり区間（０）を示す。
【０１１５】
次に、比較値を設定する（ステップＳ４０）。
具体的には、レジスタ群３０５は、比較結果に基づく信号を受けて、レジスタ群３０５に格納されている次の比較値を比較回路３０４に設定する。
【０１１６】
次に、ステップＳ４１において、時間カウンタ回路３０３は、時間カウンタ値をカウントアップする。
【０１１７】
そして、処理を終了する（リターン）。
例えば、時間カウンタ値がタイミング値Ｍに到達した場合に、エリアカウンタ値がカウントアップする。すなわち、区間（０）から区間（１）に遷移する。同様に、時間カウンタ値がタイミング値Ｎに到達した場合に、エリアカウンタ値がカウントアップする。すなわち、区間（１）から区間（２）に遷移する。
【０１１８】
当該処理により、現在の時点がどの区間であるかを認識できる。
したがって、エリアカウンタ値がカウントアップして、Ｍａｘ値以上となった場合には、第１および第２のコリジョン判定においてコリジョン有りと判定することができる。
【０１１９】
＜Ｃ．復帰処理の説明＞
コリジョンが発生した場合の復帰処理について説明する。
【０１２０】
コリジョンが発生した場合には、データの送受信が正常に行なえないため、他のマスタにもそのことを通知し、データの送信を停止させる。
【０１２１】
そして、所定期間経過後に再び送信動作を実行する復帰処理を実行する。
図１０は、実施形態１に基づく復帰処理について説明するフロー図である。
【０１２２】
図１０を参照して、当該処理は、主にコントローラ１０の復帰回路１４で主に実行される処理である。
【０１２３】
復帰回路１４は、コリジョン割込信号が有るかどうかを判断する（ステップＳ４０）。
具体的には、衝突判定回路１３からのコリジョン割込信号の入力が有るかどうかを判断する。
【０１２４】
ステップＳ４０において、復帰回路１４は、衝突判定回路１３からのコリジョン割込信号の入力が有ると判断した場合（ステップＳ４０においてＹＥＳ）には、送信を停止する（ステップＳ４１）。復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介するバスＢＳ１へのデータの送信を停止させる。
【０１２５】
次に、復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介してバスＢＳ１に「Ｌ」レベルのデータを出力する（ステップＳ４４）。
【０１２６】
そして、復帰回路１４は、その状態で所定期間待機する（ステップＳ４６）。
これにより、他のマスタである他のコントローラ１０の送信データにおいてもコリジョンが発生し、他のマスタである他のコントローラ１０についてもバスＢＳ１上におけるコリジョンの発生を検知させる。
【０１２７】
そして、同様の処理を実行させる。
次に、復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介してバスＢＳ１に「Ｈ」レベルのデータを出力する（ステップＳ４８）。
【０１２８】
次に、復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介するバスＢＳ１からの受信信号が「Ｈ」レベルであるか否かを判断する（ステップＳ５０）。
【０１２９】
ステップＳ５０において、復帰回路１４は、受信信号が「Ｈ」レベルであると判断した場合（ステップＳ５０においてＹＥＳ）には、他のマスタである他のコントローラ１０から「Ｌ」レベルのデータが出力されていないと判断することが可能である。
【０１３０】
そして、復帰回路１４は、復帰動作を実行する（ステップＳ５４）。具体的には、再び、コントローラ１０からのデータの送信を再開する。なお、復帰動作の際に、他のコントローラ１０とのコリジョンを抑制するためにさらに所定期間待機してから復帰動作を開始するようにしても良い。
【０１３１】
そして、処理を終了する（エンド）。
一方、ステップＳ５０において、復帰回路１４は、受信信号が「Ｈ」レベルで無いと判断した場合（ステップＳ５０においてＮＯ）には、他のマスタである他のコントローラ１０から「Ｌ」レベルのデータが出力されていると判断することが可能である。その場合には、受信信号が「Ｈ」レベルとなるまで待機する。
【０１３２】
そして、ステップＳ５０において、受信信号が「Ｈ」レベルとなるまで待機し、受信信号が「Ｈ」レベルとなった後、上記の復帰動作を実行する。
【０１３３】
そして、処理を終了する（エンド）。
当該処理により、他のマスタとの間でのコリジョンが生じた場合に、コリジョンが継続して生じる状況を回避することによりコリジョンの発生を抑止し、安定したデータ通信を実行することが可能である。
【０１３４】
なお、上記の実施形態では、レジスタ群３０５にタイミング値が格納されている場合について説明したが、タイミング値に限られず、各区間の差分値が格納されていても良い。また、当該タイミング値は任意に変更可能であり、区間（境界値）を自由に設定することが可能である。
【０１３５】
したがって、光源制御システム１の各光源ブロック１００や各構成部品のばらつきに従って区間を調整することが可能である。また、電気的特性や経年劣化にもあわせて区間を調整することにより安定したデータ通信を実行することが可能である。
【０１３６】
また、本例においては、エリアカウンタ回路３０６を用いて、エッジ検出のタイミングにおいて、どのエリアにいるのかを判定する方式について説明したが、時間カウンタ回路３０３の時間カウント値のみで、エッジ検出のタイミングの区間を判断することも可能である。そして、当該判断に基づいてコリジョンを判定することも可能である。
【０１３７】
（実施形態２）
＜ａ５．衝突判定回路１３＃の構成＞
図１１は、実施形態２に基づく衝突判定回路１３＃の構成を説明する図である。
【０１３８】
図１１を参照して、衝突判定回路１３＃は、図４の衝突判定回路１３と比較して、レジスタ群４００を設けた点と、コリジョン判定回路３０７をコリジョン判定回路３０７＃に置換した点が異なる。その他の構成については図４で説明したのと同様であるのでその詳細な説明については繰り返さない。
【０１３９】
レジスタ群４００は、図６で説明したグレイ区間を有効区間あるいはデストロイ区間に設定することが可能なレジスタである。
【０１４０】
コリジョン判定回路３０７＃は、当該レジスタ群４００に設定された情報に基づいて第１および第２のコリジョン判定を実行する。
【０１４１】
＜ｂ４．フロー＞
図１２は、実施形態２に基づく衝突判定回路１３＃の第１および第２のコリジョン判定を実行するフロー図である。
【０１４２】
図１２を参照して、図８で説明したフロー図と比較して、ステップＳ２７，Ｓ２８を追加した点が異なる。その他のフローについては同様であるのでその詳細な説明については繰り返さない。
【０１４３】
ステップＳ２３において、エリアカウンタ値がデストロイ区間で無いと判断した場合（ステップＳ２３においてＮＯ）には、エリアカウンタ値がグレイ区間であるかどうかを判断する（ステップＳ２７）。レジスタ群４００に格納されている設定されている情報に基づいて判断することが可能である。
【０１４４】
ステップＳ２７において、エリアカウンタ値がグレイ区間で無いと判断した場合（ステップＳ２７においてＮＯ）には、ステップＳ２４をスキップして処理を終了する（リターン）。この場合は、有効区間での検出であり、コリジョンは発生していない。
【０１４５】
一方、ステップＳ２７において、エリアカウンタ値がグレイ区間であると判断した場合（ステップＳ２７においてＹＥＳ）には、グレイ区間はデストロイ区間であるか否かを判断する（ステップＳ２８）。レジスタ群４００に格納されている設定されている情報に基づいて判断することが可能である。
【０１４６】
ステップＳ２８において、グレイ区間はデストロイ区間であると判断した場合（ステップＳ２８においてＹＥＳ）には、コリジョンを検出と判断する（ステップＳ２４）。
【０１４７】
一方、ステップＳ２８において、グレイ区間はデストロイ区間でないと判断した場合（ステップＳ２８においてＮＯ）には、ステップＳ２４をスキップして処理を終了する（リターン）。この場合は、有効区間での検出とみなし、コリジョンは発生していない。
【０１４８】
例えば、第１のコリジョン判定の場合に区間（２）、（４）の区間について、レジスタ群４００により有効区間に設定した場合に、当該区間でエッジが検出された場合には、有効区間での検出であり、コリジョンは発生していない。
【０１４９】
そして、図７のステップＳ１０において、コリジョン検出無しと判断されて、ステップＳ６に戻り同様の処理を繰り返す。たとえば、第１のコリジョン判定の場合に区間（３）でエッジが検出された場合には、次回は、第２のコリジョン判定が実行される。
【０１５０】
グレイ区間を可変に有効区間あるいはデストロイ区間に可変に設定することを可能とすることによりユーザの設計の自由度を向上させることが可能である。
【０１５１】
（実施形態３）
上記の実施形態においては、コリジョン割込信号の入力に従って復帰動作を実行する方式について説明したが、さらに精度の高い復帰動作を実行する方式について説明する。
【０１５２】
具体的には、コリジョン判定回路３０７＃は、コリジョン割込信号とともにコリジョン情報を生成して復帰回路１４に出力する。
【０１５３】
復帰回路１４は、コリジョン割込信号およびコリジョン情報に基づいて復帰動作を実行する。
【０１５４】
図１３は、実施形態３に基づくビット中間でコリジョンが発生した場合の例を説明する図である。
【０１５５】
図１３を参照して、ここでは、送信信号と、受信信号（通常）、受信信号（コリジョン）、コリジョン割込信号の例が示されている。
【０１５６】
図１３（Ａ）を参照して、送信データとして、データ「０」を出力した場合が示されている。
【０１５７】
通常時の受信信号は、区間（３）で立ち下がる。
一方、コリジョン時の受信信号は、区間（０）で立ち下がった場合が示されている。
【０１５８】
そして、これに応答してコリジョン割込信号が生じた場合が示されている。
この場合、コリジョン割込信号とともに、コリジョン情報を生成する。
【０１５９】
例えば、コリジョン情報として、コリジョン検出時の送信信号のレベル、受信信号のエッジの立上り(Rise)か立下り(Fall)かに関する情報、コリジョン判定がエッジ起因か否かに関する情報、コリジョン判定に関する情報、コリジョン検出区間に関する情報を生成する。
【０１６０】
コリジョン判定がエッジ起因で無い場合とは、エッジの検出が無くデストロイ区間となった場合を意味する。
【０１６１】
本例においては、コリジョン情報として、コリジョン検出時の送信信号は「Ｈ」レベルである。受信信号のエッジは「Ｈ」レベルから「Ｌ」レベルへの立ち下がり（Ｆａｌｌ）である。コリジョン判定はエッジ起因による。コリジョン判定は、第1のコリジョン判定である。コリジョン検出区間は（０）である。
【０１６２】
当該コリジョンは、通常のデータ衝突に起因するものである。
図１３（Ｂ）を参照して、送信データとして、データ「０」を出力した場合が示されている。
【０１６３】
また、通常時の受信信号は、区間（３）で立ち下がる。
一方、コリジョン時の受信信号は、区間（２）で立ち下がった場合が示されている。
【０１６４】
そして、これに応答してコリジョン割込信号が生じた場合が示されている。
この場合、コリジョン割込信号とともに、コリジョン情報を生成する。
【０１６５】
本例においては、コリジョン情報として、コリジョン検出時の送信信号は「Ｌ」レベルである。受信信号のエッジは「Ｈ」レベルから「Ｌ」レベルへの立ち下がり（Ｆａｌｌ）である。コリジョン判定はエッジ起因による。コリジョン判定は、第1のコリジョン判定である。コリジョン検出区間は（２）である。
【０１６６】
通常時の受信信号は、区間（３）で立ち下がるにもかかわらず、それよりも早い区間で立ち下がるということは、当該コリジョンは、データ遅延によるものではなく、通常のデータ衝突に起因するものである。
【０１６７】
図１３（Ｃ）を参照して、送信データとして、データ「１」を出力した場合が示されている。
【０１６８】
また、通常時の受信信号は、区間（３）で立ちあがる。
一方、コリジョン時の受信信号は、区間（４）で立ちあがった場合が示されている。
【０１６９】
そして、これに応答してコリジョン割込信号が生じた場合が示されている。
この場合、コリジョン割込信号とともに、コリジョン情報を生成する。
【０１７０】
本例においては、コリジョン情報として、コリジョン検出時の送信信号は「Ｈ」レベルである。受信信号のエッジは、「Ｌ」レベルから「Ｈ」レベルへの立ち上がり（Ｒｉｓｅ）である。コリジョン判定は、エッジ起因による。コリジョン判定は、第１のコリジョン判定である。コリジョン検出区間は（４）である。
【０１７１】
通常時の受信信号は、区間（３）で立ち上がるにもかかわらず、それよりも遅い区間で立ち上がるということは、当該コリジョンは、データ遅延の可能性が高い。したがって、コリジョンではないと判定することが可能である。
【０１７２】
図１３（Ｄ）を参照して、送信データとして、データ「１」を出力した場合が示されている。
【０１７３】
また、通常時の受信信号は、区間（３）で立ちあがる。
一方、コリジョン時の受信信号は、区間（５）を経過しても立ち上がらない場合が示されている。
【０１７４】
そして、これに応答してコリジョン割込信号が生じた場合が示されている。
この場合、コリジョン割込信号とともに、コリジョン情報を生成する。
【０１７５】
本例においては、コリジョン情報として、コリジョン検出時の送信信号は「Ｈ」レベルである。受信信号のエッジは、発生しないので無効である。コリジョン判定は、エッジ起因によらないコリジョン検出である。コリジョン判定は、第1のコリジョン判定である。コリジョン検出区間は（５）である。
【０１７６】
通常時の受信信号は、区間（３）で立ち上がるにもかかわらず、立ち上がりを検出しないということは、データ衝突に起因するものである。
【０１７７】
図１４は、実施形態３に基づく復帰処理について説明するフロー図である。
図１４を参照して、当該処理は、主にコントローラ１０の復帰回路１４で主に実行される処理である。
【０１７８】
復帰回路１４は、コリジョン割込信号が有るかどうかを判断する（ステップＳ４０）。
具体的には、衝突判定回路１３からのコリジョン割込信号の入力が有るかどうかを判断する。
【０１７９】
ステップＳ４０において、復帰回路１４は、衝突判定回路１３からのコリジョン割込信号の入力が有ると判断した場合（ステップＳ４０においてＹＥＳ）には、コリジョン情報を確認する（ステップＳ６０）。復帰回路１４は、コリジョン判定回路３０７＃から出力されたコリジョン情報の内容を確認する。
【０１８０】
次に、復帰回路１４は、デストロイ区間でコリジョンが発生したか否かを判断する（ステップＳ６２）。復帰回路１４は、上記のコリジョン検出区間を確認し、デストロイ区間か否かを判断する。上記の図１３（Ｄ）の場合には、コリジョン検出区間は（５）であるためデストロイ区間と判断される。
【０１８１】
次に、復帰回路１４は、デストロイ区間でコリジョンが発生したと判断した場合（ステップＳ６２においてＹＥＳ）には、送信を停止する（ステップＳ６３）。復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介するバスＢＳ１へのデータの送信を停止させる。
【０１８２】
次に、復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介してバスＢＳ１に「Ｌ」レベルのデータを出力する（ステップＳ４４）。
【０１８３】
そして、復帰回路１４は、その状態で所定期間待機する（ステップＳ４６）。
これにより、他のマスタである他のコントローラ１０の送信データにおいてもコリジョンが発生し、他のマスタである他のコントローラ１０についてもバスＢＳ１上におけるコリジョンの発生を検知させる。
【０１８４】
そして、同様の処理を実行させる。
次に、復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介してバスＢＳ１に「Ｈ」レベルのデータを出力する（ステップＳ４８）。
【０１８５】
次に、復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介するバスＢＳ１からの受信信号が「Ｈ」レベルであるか否かを判断する（ステップＳ５０）。
【０１８６】
ステップＳ５０において、復帰回路１４は、受信信号が「Ｈ」レベルであると判断した場合（ステップＳ５０においてＹＥＳ）には、他のマスタである他のコントローラ１０から「Ｌ」レベルのデータが出力されていないと判断することが可能である。
【０１８７】
次に、復帰回路１４は、コリジョン情報をクリアする（ステップＳ５２）。
そして、復帰回路１４は、復帰動作を実行する（ステップＳ５４）。具体的には、再び、コントローラ１０からのデータの送信を再開する。なお、復帰動作の際に、他のコントローラ１０とのコリジョンを抑制するためにさらに所定期間待機してから復帰動作を開始するようにしても良い。
【０１８８】
そして、処理を終了する（エンド）。
一方、ステップＳ５０において、復帰回路１４は、受信信号が「Ｈ」レベルで無いと判断した場合（ステップＳ５０においてＮＯ）には、他のマスタである他のコントローラ１０から「Ｌ」レベルのデータが出力されていると判断することが可能である。その場合には、受信信号が「Ｈ」レベルとなるまで待機する。
【０１８９】
そして、ステップＳ５０において、受信信号が「Ｈ」レベルとなるまで待機し、受信信号が「Ｈ」レベルとなった後、上記の復帰動作を実行する。
【０１９０】
そして、処理を終了する（エンド）。
一方、ステップＳ６２において、復帰回路１４は、デストロイ区間でコリジョンが発生していないと判断した場合（ステップＳ６２においてＮＯ）には、コリジョンが発生しているか否かを判断する（ステップＳ６４）。上記の図１３（Ａ），（Ｂ），（Ｃ）の場合には、コリジョン検出区間はそれぞれ（０）、（２）、（４）であるためデストロイ区間ではなく、グレイ区間とされる。そして、コリジョン情報に基づいてコリジョンが発生しているか否かを判断する。
【０１９１】
ステップＳ６４において、コリジョンが発生していると判断した場合（ステップＳ６４においてＹＥＳ）には、送信を停止する（ステップＳ６５）。復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介するバスＢＳ１へのデータの送信を停止させる。
【０１９２】
次に、復帰回路１４は、ＤＡＬＩ通信インタフェースモジュール４を介するバスＢＳ１からの受信信号が「Ｈ」レベルであるか否かを判断する（ステップＳ６８）。
【０１９３】
ステップＳ６８において、復帰回路１４は、受信信号が「Ｈ」レベルであると判断した場合（ステップＳ６８においてＹＥＳ）には、他のマスタである他のコントローラ１０から「Ｌ」レベルのデータが出力されていないと判断することが可能である。
【０１９４】
次に、復帰回路１４は、コリジョン情報をクリアする（ステップＳ７０）。
そして、復帰回路１４は、復帰動作を実行する（ステップＳ７４）。具体的には、再び、コントローラ１０からのデータの送信を再開する。なお、復帰動作の際に、他のコントローラ１０とのコリジョンを抑制するためにさらに所定期間待機してから復帰動作を開始するようにしても良い。
【０１９５】
一方、ステップＳ６８において、復帰回路１４は、受信信号が「Ｈ」レベルで無いと判断した場合（ステップＳ６８においてＮＯ）には、他のマスタである他のコントローラ１０から「Ｌ」レベルのデータが出力されていると判断することが可能である。その場合には、受信信号が「Ｈ」レベルとなるまで待機する。
【０１９６】
そして、ステップＳ６８において、受信信号が「Ｈ」レベルとなるまで待機し、受信信号が「Ｈ」レベルとなった後、上記の復帰動作を実行する。
【０１９７】
一方、ステップＳ６４において、コリジョンが発生していないと判断した場合（ステップＳ６４においてＮＯ）には、コリジョン情報をクリアする（ステップＳ７６）。
【０１９８】
そして、処理を終了する（エンド）。
当該処理により、上記の図１３（Ａ），（Ｂ）の場合には、コリジョン検出区間はそれぞれ（０）、（２）であり、コリジョン情報に基づいてコリジョンが発生していると判断される。その場合には、送信が停止される。そして、その後、受信信号が「Ｈ」レベルであると判断した場合には、復帰動作を実行する。
【０１９９】
また、上記の図１３（Ｃ）の場合には、コリジョンが発生していないと判断される。したがって、送信は停止されない。
【０２００】
それゆえ、コリジョン割込信号が入力された場合に、コリジョン情報に基づいてコリジョンか否かが適切に判断されて、精度の高い復帰動作が実行される。一方で、コリジョン割込信号が入力された場合に、コリジョン情報に基づいてコリジョンでないと判断された場合には、送信は停止されないためデータ通信を安定的に継続することが可能である。
【０２０１】
また、グレイ区間でコリジョンが生じた場合には、一時的にコリジョンが発生した可能性も考えられるため、「Ｌ」レベルのデータを出力して他のマスタである他のコントローラ１０についてもバスＢＳ１上におけるコリジョンの発生を検知させることはしない。これによりシステム全体の復帰動作を高速に実行することが可能である。
【０２０２】
＜他の実施形態＞
上記の例においては、通信インタフェースモジュールの部品としてフォトカプラを用いた例について説明したが、特に当該部品に限られず、例えば、フォトカプラの代わりにiCoupler（登録商標）を用いた場合にも同様に適用可能である。
【０２０３】
上記の信号処理の一部をアプリケーションプログラムで実現することも可能である。すなわち、実施形態におけるプログラムとして、コントローラで実行可能なアプリケーションを提供してもよい。このとき、本実施の形態に係るプログラムは、コントローラのコンピュータ上で実行される各種アプリケーションの一部の機能（モジュール）として組み込まれてもよい。
【０２０４】
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０２０５】
１  光源制御システム、２  サーバ、３  光源、４  ＤＡＬＩ通信インタフェースモジュール、５  通信インタフェースモジュール、１０，１０Ａ，１０Ｂ  コントローラ、１１  駆動回路部、１２，１２Ａ，１２Ｂ  信号処理部、１３  衝突判定回路、１４  復帰回路、３０１  エッジ検出回路、３０２  ビット境界判定回路、３０３  時間カウンタ回路、３０４  比較回路、３０５，４００  レジスタ群、３０６  エリアカウンタ回路、３０７  コリジョン判定回路。
【図１】
0006586382.tif 000002
【図２】
0006586382.tif 000003
【図３】
0006586382.tif 000004
【図４】
0006586382.tif 000005
【図５】
0006586382.tif 000006
【図６】
0006586382.tif 000007
【図７】
0006586382.tif 000008
【図８】
0006586382.tif 000009
【図９】
0006586382.tif 000010
【図１０】
0006586382.tif 000011
【図１１】
0006586382.tif 000012
【図１２】
0006586382.tif 000013
【図１３】
0006586382.tif 000014
【図１４】
0006586382.tif 000015