(57)【要約】【課題】  シリアルデバイス回路に関して、同一シリアルＩ／Ｆを持つ複数のデバイスを一つのＩ／Ｆにより全ての接続デバイスと通信を確立できるシリアルデバイス回路を提供する。【解決手段】  本発明のシリアルデバイス回路の一例の機能ブロック図を示す。図１は、シリアルＩ／Ｆを持つデバイス１と、デバイス１と通信を行うコントローラ２と、デバイス１とコントローラ２を接続する信号線の間に存在し複数のデバイス１との通信制御を行う制御デバイス３から構成される。このコントローラとデバイスとの間にＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のデバイスを介する事により、コントローラからは一つのＩ／Ｆで複数のデバイスと容易に通信を確立することができる。【選択図】  図１
2005100015.tif 000002
【特許請求の範囲】
【請求項１】
複数のシリアルＩ／Ｆを持つデバイスと、
前記複数のデバイスと通信を行うコントローラと、
前記複数のデバイスと前記コントローラを接続する信号線の間に存在し、前記複数のデバイスとの通信制御を行う制御デバイスと、
を備えることを特徴とするシリアルデバイス回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルデバイス回路に関して、同一シリアルＩ／Ｆを持つ複数のデバイスを一つのＩ／Ｆにより全ての接続デバイスと通信を確立できるシリアルデバイス回路に関するものである。
【背景技術】
【０００２】
従来、システム内で１つのシリアルバス上に複数のデバイスを接続して制御する場合は、既知のＩ２Ｃバスシステム（Ｉ２Ｃ方式）を用いている。このＩ２Ｃバスシステムは、１９９５年のフィリップス・データ・ハンドブックＩＣ２２の９４頁より記載される「Ｔｈｅ  Ｉ２Ｃ−ｂｕｓ  ａｎｄ  ｈｏｗ  ｔｏ  ｕｓｅ  ｉｔ（ｉｎｃｌｕｄｉｎｇ  ｓｐｅｃｉｆｉｃａｔｉｏｎｓ）」等に示されている（非特許文献１参照）。
【０００３】
【非特許文献１】フィリップス・データ・ハンドブックＩＣ２２（９４頁「Ｔｈｅ  Ｉ２Ｃ−ｂｕｓ  ａｎｄ  ｈｏｗ  ｔｏ  ｕｓｅ  ｉｔ（ｉｎｃｌｕｄｉｎｇ  ｓｐｅｃｉｆｉｃａｔｉｏｎｓ）」）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、上記バスシステムを使用しない製品等では、シリアルＩ／Ｆを持つ同一デバイスを複数個使用し一つのコントローラ（ＣＰＵ，ＭＰＵ等）で通信・制御を行う際、コントローラに複数のＩ／Ｆが用意されていなかったり、また、コントローラから各デバイスへ制御線を接続し、当該対象デバイスを意識して制御を行ったりと、制約やコントローラへの負荷が発生してしまい設計を行う上での障害となる場合が存在する。
【０００５】
本発明は、上述の問題を解消し、コントローラとデバイスとの間にＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のデバイスを介する事により、コントローラからは一つのＩ／Ｆで複数のデバイスと容易に通信を確立するシリアルデバイス回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の請求項１記載のシリアルデバイス回路は、複数のシリアルＩ／Ｆを持つデバイスと、前記複数のデバイスと通信を行うコントローラと、前記複数のデバイスと前記コントローラを接続する信号線の間に存在し、前記複数のデバイスとの通信制御を行う制御デバイスと、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明のシリアルデバイス回路によれば、コントローラやＰＣ等の端末からは、一つのＩ／Ｆ又はコネクタ等の接続口で複数のデバイスと容易に通信を確立することが可能となり、設計時における制限が軽減され容易に拡張も行うことが出来るようになる。また、制御デバイスへの設定も接続デバイスと同一プロトコルで行えるため、ソフトウェアに対する負荷も軽減される。
【発明を実施するための最良の形態】
【０００８】
以下、実施例を通じて本発明を説明するが、以下の実施例は請求項に係る発明を限定するものではなく、また実施例の中で説明されている特長の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【実施例１】
【０００９】
図１は、本発明のシリアルデバイス回路の一例の機能ブロック図を示す。図１は、シリアルＩ／Ｆを持つデバイス１と、デバイス１と通信を行うコントローラ２と、デバイス１とコントローラ２を接続する信号線の間に存在し複数のデバイス１との通信制御を行う制御デバイス３から構成される。デバイス１は複数個存在するものとし、本例では３個存在している場合を示すこととし、それぞれ１−１、１−２、１−３と表記する。制御デバイス３は、ＰＬＤやＦＰＧＡのような書き換え可能なものでもワンタイムのものであっても、機能が実現できるものであれば良いこととする。またコントローラ２は、ＣＰＵやＭＰＵのようなデバイスでも、ＰＣのような端末でも良い。
【００１０】
ここで、通常、シリアルＩ／Ｆは多種存在するため、本例では、以下に３線方式とＩ２Ｃ方式と呼ばれるものについて説明するが、他の方式においても同様の方法又は回路を使用することで実現可能である。
【００１１】
また、通常、シリアルＩ／Ｆを持つデバイス１と通信する目的は、デバイス１内にあるレジスタやメモリの内容を読み書きするためであり、それぞれ固有のアドレスが割り振られている。複数の同一デバイス１を１個のコントローラ２に接続する場合、３線方式であればＣＬＫ（クロック）信号，ＤＡＴＡ（クロック信号に同期したデータ）信号は共有できてもＳＴＬＢ（ストローブ）信号を各デバイス１へ接続しコントローラ２にてＳＴＬＢ信号の制御を行うため通信するデバイス１を意識して制御しなければならない。また、Ｉ２Ｃ方式であればスレーブアドレスが固定されてしまっている際には、複数個のデバイス１を同一Ｉ／Ｆ上に接続不可であるため、コントローラ２には接続したいデバイス１の数だけＩ／Ｆを用意しなければならない。
【００１２】
つまり、これらの事を解消するため、コントローラ２には１つのＩ／Ｆのみを用意し、各デバイス１のレジスタやメモリのアドレスと重複しないレジスタアドレスを持つ制御デバイス３を介する事により、複数同一デバイス１との通信が可能となる。
【００１３】
次に、本発明を３線方式に適用した場合について詳細に説明する。図２は、本発明のシリアルデバイス回路に３線方式を適用した機能ブロックの一例を示す図である。また、図２では、デバイス１が３個の場合について説明する。３線方式は、コントローラ２から送られるクロック信号（ＣＬＫ）に同期したデータ（ＤＡＴＡ）をデバイス１が受信し、ストローブ信号（ＳＴＬＢ）の立上り又は立下りによりそれ以前に受信したデータの数ビットを有効データとして認識する方式である。ＳＴＬＢが入力されるまでは、受信したＤＡＴＡは無効であるため、制御デバイス３からデバイス１−１〜３へＳＴＬＢ１〜３を接続し制御する。また、電源投入直後は、ＳＴＬＢはどのデバイス１−１〜３にも接続されていないこととする。更に、デバイス１−１〜３は、アドレスに対応したレジスタ値を持つものとし、レジスタは複数存在することとする。レジスタのアドレス及びデータは固定長（例：８ｂｉｔ）とし、制御デバイス３のもつレジスタのアドレス及びデータも同様な固定長とする。また、デバイス１−１〜３のレジスタおよび制御デバイス３のレジスタのアドレスは重複しないこととする。制御デバイス３のレジスタは、デバイス１−１〜３を選択するためのレジスタとし、デバイス１−１〜３のシリアルＩ／Ｆと同じＩ／Ｆで通信できるものとする。制御デバイス３のレジスタの各ビットをデバイス１−１〜３に対応させ、“１”をセットしたビットに対応するデバイスが選択されることとすることにより、全選択／全非選択および複数デバイス選択も可能となる。またこの場合の構成（データ長:８ｂｉｔ）では、最大８個のデバイスまで接続・制御可能となる。電源投入直後は、最初の通信の前には全非選択なので必ずデバイス選択を行ない、通信を行うデバイスを変更する際にはその都度制御デバイス３のレジスタを変更することで、コントローラ２は１つのＩ／Ｆでデバイス１−１〜３と通信できる。
【００１４】
以上のような処理を行うことで、本発明のシリアルデバイス回路に３線方式を適用した構成において、コントローラからは一つのＩ／Ｆで複数のデバイスと容易に通信を確立することが可能となる。
【００１５】
次に、本発明をＩ２Ｃ方式に適用した場合について詳細に説明する。図３は、本発明のシリアルデバイス回路にＩ２Ｃ方式を適用した機能ブロックの一例を示す図である。また、図３では、デバイス１が３個の場合について説明する。Ｉ２Ｃ方式は、コントローラ２から送られるクロック信号（ＣＬＫ）に同期したデータ（ＤＡＴＡ）をデバイス１が受信し、予め決められたビット数を受信したところでその内容を認識する方式である。各デバイス１はそれぞれ固有のスレーブアドレスを持つため、異なるスレーブアドレスのデバイスを同一Ｉ／Ｆ上に接続しても問題無いが、モジュール部品などに予め組み込まれてしまっていたり固定されている場合には変更ができないため、同一Ｉ／Ｆ上に複数の同一デバイスを接続することは不可能である。本発明においては、後者の場合についての解決方法を提案する。また、ＣＬＫがデバイス１へ入力されなければ受信したＤＡＴＡは無効であるため、制御デバイス３からデバイス１−１〜３へＣＬＫ１〜３を接続し制御する。また、電源投入直後は、ＣＬＫはどのデバイス１−１〜３にも接続されていないこととする。更に、デバイス１−１〜３及び制御デバイス３のスレーブアドレスは７ｂｉｔであり、デバイス１−１〜３は同一アドレスで制御デバイス３は異なるアドレスを持つこととする。ここで、各アドレスは、特殊使用に予約されたアドレスと重複しないこととする。制御デバイス３は、デバイス１−１〜３を選択するためのレジスタを持ち（８ｂｉｔ、アドレス値は動作に問題が無ければ特に指定しない）、各ビットをデバイス１−１〜３に対応させ、“１”をセットしたビットに対応するデバイスが選択されることとすることにより、全選択／全非選択および複数デバイス選択も可能となる。またこの場合の構成では、最大８個のデバイスまで接続・制御可能となる。電源投入直後は、最初の通信の前には全非選択なので必ずデバイス選択を行ない、通信を行うデバイスを変更する際にはその都度制御デバイス３のレジスタを変更することで、コントローラ２は１つのＩ／Ｆでデバイス１−１〜３と通信できる。
【００１６】
以上のような処理を行うことで、本発明のシリアルデバイス回路にＩ２Ｃ方式を適用した構成において、コントローラからは一つのＩ／Ｆで複数のデバイスと容易に通信を確立することが可能となる。
【００１７】
また、本発明では、コントローラとしてＰＣ等の端末を用いてシステムの外部から接続デバイスをモニタ／デバッグする場合にも適用できる。図４は、ＰＣ等の端末を用いてシステムの外部から接続デバイスをモニタ／デバッグする一例を示した図である。図４で、他のシステムと同一の機能を有するものには同一符号を記載する。図４は、その他に端末４と、端末４とシステムに備えられた制御デバイス等と接続するための接続口（コネクタ等）５を備えている。図４のシステムでは、図２又は図３のコントローラの役割を端末４に持たせることによって、同様に、１つの接続口で全デバイスと通信でき、作業効率も向上する。
【００１８】
以上のように本発明によれば、ＣＰＵやＭＰＵ等のコントローラが接続デバイスに対応するシリアルＩ／Ｆを１つしか持っていなくても、同一複数のデバイスを接続・通信することができるため、設計時における制限が軽減され容易に拡張も行うことが出来るようになる。また、制御デバイスへの設定も接続デバイスと同一プロトコルで行えるため、ソフトウェアに対する負荷も軽減される。
【図面の簡単な説明】
【００１９】
【図１】本発明のシリアルデバイス回路の一例の機能ブロック図を示す。
【図２】本発明のシリアルデバイス回路に３線方式を適用した機能ブロックの一例を示す図である。
【図３】本発明のシリアルデバイス回路にＩ２Ｃ方式を適用した機能ブロックの一例を示す図である。
【図４】ＰＣ等の端末を用いてシステムの外部から接続デバイスをモニタ／デバッグする一例を示した図である。
【符号の説明】
【００２０】
１    シリアルＩ／Ｆデバイス
２    コントローラ
３    制御デバイス
４    端末
５    接続口
【図１】
2005100015.tif 000003
【図２】
2005100015.tif 000004
【図３】
2005100015.tif 000005
【図４】
2005100015.tif 000006