(57)【特許請求の範囲】
【請求項１】
マスタースレーブ方式による所与の通信プロトコルに基づいてデータ通信を行うためのデータ通信システムであって、
前記通信プロトコルにおけるマスターとして機能するマスター装置と、
前記マスター装置及び前記通信プロトコルにおけるスレーブとして機能する複数のスレーブ装置に接続され、前記マスター装置と前記複数のスレーブ装置の間のデータ通信を制御する通信制御装置と、を含み、
前記通信制御装置は、
データ通信の対象となるスレーブ装置を選択するための選択情報が設定されるスレーブ選択レジスタと、前記スレーブ選択レジスタの設定値に基づいてスレーブ装置を選択し、前記マスター装置と前記選択したスレーブ装置の間のデータ通信を制御する通信制御処理部と、を含み、
前記マスター装置は、
前記複数のスレーブ装置とデータ通信を行う前に前記スレーブ選択レジスタに前記選択情報を設定するコマンドを前記通信制御装置に送信し、前記複数のスレーブ装置とデータ通信を行う際にはスレーブアドレスに所定の通信用のアドレス値が指定されたコマンドを前記通信制御装置に送信するマスター処理部を含み、
前記通信制御装置の前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれるスレーブアドレスと前記通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するか否かを制御することを特徴とするデータ通信システム。
【請求項２】
請求項１において、
前記通信制御装置は、
前記通信用のアドレス値が設定される通信用アドレス設定レジスタを含み、
前記マスター装置の前記マスター処理部は、
前記複数のスレーブ装置とデータ通信を行う前に、前記通信用アドレス設定レジスタに前記通信用のアドレス値を設定するコマンドを前記通信制御装置に送信し、
前記通信制御装置の前記通信制御処理部は、
前記通信用アドレス設定レジスタの設定値を前記通信用のアドレス値として前記比較処理を行うことを特徴とするデータ通信システム。
【請求項３】
請求項１又は２において、
前記通信制御装置は、
データ通信の対象となるスレーブ装置のアドレス値が設定されるスレーブアドレス設定レジスタを含み、
前記マスター装置の前記マスター処理部は、
前記複数のスレーブ装置とデータ通信を行う前に、前記スレーブアドレス設定レジスタにデータ通信の対象となるスレーブ装置のアドレス値を設定するコマンドを前記通信制御装置に送信し、
前記通信制御装置の前記通信制御処理部は、
前記スレーブアドレス設定レジスタの設定値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とするデータ通信システム。
【請求項４】
請求項１又は２において、
前記通信制御装置は、
前記スレーブ選択レジスタの各設定値と当該各設定値に応じて選択されるスレーブ装置のアドレス値との対応関係を規定する対応テーブルを含み、
前記通信制御装置の前記通信制御処理部は、
前記対応テーブルに基づいて、前記スレーブ選択レジスタの設定値に対応づけられたアドレス値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とするデータ通信システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記マスター装置の前記マスター処理部は、
前記複数のスレーブ装置とデータ通信を行う際には、前記通信用のアドレス値が指定された第１のスレーブアドレスと所定のアドレス値が指定された第２のスレーブアドレスとを含むデータ通信用のコマンドを送信し、
前記通信制御装置の前記通信制御処理部は、
前記第１のスレーブアドレスを前記通信用のアドレス値と比較することにより前記比較処理を行い、前記第１のスレーブアドレスを削除し、前記第２のスレーブアドレスに指定された前記所定のアドレス値を前記選択したスレーブ装置のアドレス値に置き換えることにより前記変換処理を行うことを特徴とするデータ通信システム。
【請求項６】
マスタースレーブ方式による所与の通信プロトコルに基づいてデータ通信を行うためのデータ通信システムであって、
前記通信プロトコルにおけるマスターとして機能するマスター装置と、
前記マスター装置と前記通信プロトコルにおけるスレーブとして機能する複数のスレーブ装置の間のデータ通信を制御するＮ個（Ｎは２以上の整数）の通信制御装置と、を含み、
第１の通信制御装置は、
前記マスター装置及び第２の通信制御装置に接続され、前記マスター装置と前記第２の通信制御装置の間のデータ通信を制御する通信制御処理部を含み、
第ｋ（ｋは２以上Ｎ−１以下の整数）の通信制御装置は、
第ｋ−１の通信制御装置及び第ｋ＋１の通信制御装置に接続され、前記第ｋ−１の通信制御装置と前記第ｋ＋１の通信制御装置の間のデータ通信を制御する通信制御処理部を含み、
第Ｎの通信制御装置は、
第Ｎ−１の通信制御装置及び前記複数のスレーブ装置に接続され、データ通信の対象となるスレーブ装置を選択するための選択情報が設定されるスレーブ選択レジスタと、前記スレーブ選択レジスタの設定値に基づいてスレーブ装置を選択し、前記第Ｎ−１の通信制御装置と前記選択したスレーブ装置の間のデータ通信を制御する通信制御処理部と、を含み、
前記マスター装置は、
前記複数のスレーブ装置とデータ通信を行う前に前記スレーブ選択レジスタに前記選択情報を設定するコマンドを前記第１の通信制御装置に送信し、前記複数のスレーブ装置とデータ通信を行う際にはスレーブアドレスに第１の通信用のアドレス値が指定されたコマンドを前記第１の通信制御装置に送信するマスター処理部を含み、
前記第１の通信制御装置の前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれるスレーブアドレスと前記第１の通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第２の通信用のアドレス値が指定されたコマンドに変換して前記第２の通信制御装置に送信するか否かを制御し、
前記第ｋの通信制御装置の前記通信制御処理部は、
前記第ｋ−１の通信制御装置から受信したコマンドに含まれるスレーブアドレスと第ｋの通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第ｋ＋１の通信用のアドレス値が指定されたコマンドに変換して前記第ｋ＋１の通信制御装置に送信するか否かを制御し、
前記第Ｎの通信制御装置の通信制御処理部は、
前記第Ｎ−１の通信制御装置から受信したコマンドに含まれるスレーブアドレスと第Ｎの通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するか否かを制御することを特徴とするデータ通信システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記通信プロトコルはＩ２Ｃバス通信プロトコルであることを特徴とするデータ通信システム。
【請求項８】
マスタースレーブ方式による所与の通信プロトコルにおけるマスターとして機能するマスター装置と前記通信プロトコルにおけるスレーブとして機能する複数のスレーブ装置の間のデータ通信を制御する通信制御装置であって、
データ通信の対象となるスレーブ装置を選択するための選択情報が設定されるスレーブ選択レジスタと、前記スレーブ選択レジスタの設定値に基づいてスレーブ装置を選択し、前記マスター装置と前記選択したスレーブ装置の間のデータ通信を制御する通信制御処理部と、を含み、
前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれるスレーブアドレスと所定の通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するか否かを制御することを特徴とする通信制御装置。
【請求項９】
請求項８において、
前記通信用のアドレス値が設定される通信用アドレス設定レジスタを含み、
前記通信制御処理部は、
前記通信用アドレス設定レジスタの設定値を前記通信用のアドレス値として前記比較処理を行うことを特徴とする通信制御装置。
【請求項１０】
請求項８又は９において、
データ通信の対象となるスレーブ装置のアドレス値が設定されるスレーブアドレス設定レジスタを含み、
前記通信制御処理部は、
前記スレーブアドレス設定レジスタの設定値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とする通信制御装置。
【請求項１１】
請求項８又は９において、
前記スレーブ選択レジスタの各設定値と当該各設定値に応じて選択されるスレーブ装置のアドレス値との対応関係を規定する対応テーブルを含み、
前記通信制御処理部は、
前記対応テーブルに基づいて、前記スレーブ選択レジスタの設定値に対応づけられたアドレス値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とする通信制御装置。
【請求項１２】
請求項８乃至１１のいずれかにおいて、
前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれる第１のスレーブアドレスを前記通信用のアドレス値と比較することにより前記比較処理を行い、前記第１のスレーブアドレスを削除し、前記コマンドに含まれる第２のスレーブアドレスに指定された所定のアドレス値を前記選択したスレーブ装置のアドレス値に置き換えることにより前記変換処理を行うことを特徴とする通信制御装置。
【請求項１３】
請求項８乃至１２のいずれかにおいて、
前記通信プロトコルはＩ２Ｃバス通信プロトコルであることを特徴とする通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信システム及び通信制御装置に関する。
【背景技術】
【０００２】
近年、マスタースレーブ方式によるＩ２Ｃバス通信プロトコルに準拠したインターフェースを有するデバイスが急速に普及している。Ｉ２Ｃバスは１本のクロック信号線と１本のデータ信号線からなる２本のシリアルバスで構成され、これらの信号線に１つのマスターデバイスと複数のスレーブデバイスを共通接続することにより低コストで高速のデータ通信システムを構築することができる。Ｉ２Ｃバス通信プロトコルにおいては、マスターデバイスがデータ通信の主導権を握り、Ｉ２Ｃバスに接続された１つのスレーブデバイスとデータ通信を行う。マスターデバイスは同時に複数のスレーブデバイスとデータ通信することはできないため、マスターデバイスが送信するコマンドにはスレーブアドレスとよばれる各スレーブデバイスを識別するためのアドレス値（ＩＤ）が含まれる。そして、マスターデバイスが送信するコマンドに含まれるスレーブアドレスが自己のＩＤと一致するスレーブデバイスがマスターデバイスにアクノリッジ信号を返信することにより、以降はマスターデバイスと当該スレーブデバイスの間でデータ通信が行われる。ここで、同じアドレス値を有する複数のスレーブデバイスをＩ２Ｃバスに接続することができない。スレーブデバイスのタイプによってはアドレス値がほぼ固定されている場合もあり、そのようなタイプのスレーブデバイスをＩ２Ｃバスに複数個接続することができないという問題がある。
【０００３】
１つの解決策として、ボード上に配置したバススイッチを手動で切り替えることにより同一アドレスを有する複数のスレーブデバイスから１つのスレーブデバイスを選択してＩ２Ｃバスに接続した後、マスター装置と選択したスレーブ装置との間でデータ通信を行うことができる。しかし、この方法では、スイッチの切り替えを手動で行うため全体としてデータ通信の速度が低下し、バススイッチの切り替えミスによる誤動作も考えられる。また、バススイッチが必要になるためコストが増大する。
【０００４】
他の解決策として、マスターデバイスとスレーブデバイスの間にブリッジデバイスを接続し、通信プロトコルを拡張することにより接続可能なスレーブデバイスの数を増加する手法が提案されている。
【特許文献１】特開２００２−１７５２６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載されたブリッジデバイスは、スレーブデバイスを制御するためにマスターとして機能するため、マスターの機能を実現するための複雑な回路が必要でありコストの増加をもたらすという問題がある。
【０００６】
本発明は、以上のような問題点に鑑みてなされたものであり、マスタースレーブ方式による通信プロトコルに基づいてデータ通信を行い、簡単な構成でありながら同一のアドレス値を有するスレーブデバイスを複数個接続することができるデータ通信システム等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）本発明は、
マスタースレーブ方式による所与の通信プロトコルに基づいてデータ通信を行うためのデータ通信システムであって、
前記通信プロトコルにおけるマスターとして機能するマスター装置と、
前記マスター装置及び前記通信プロトコルにおけるスレーブとして機能する複数のスレーブ装置に接続され、前記マスター装置と前記複数のスレーブ装置の間のデータ通信を制御する通信制御装置と、を含み、
前記通信制御装置は、
データ通信の対象となるスレーブ装置を選択するための選択情報が設定されるスレーブ選択レジスタと、前記スレーブ選択レジスタの設定値に基づいてスレーブ装置を選択し、前記マスター装置と前記選択したスレーブ装置の間のデータ通信を制御する通信制御処理部と、を含み、
前記マスター装置は、
前記複数のスレーブ装置とデータ通信を行う前に前記スレーブ選択レジスタに前記選択情報を設定するコマンドを前記通信制御装置に送信し、前記複数のスレーブ装置とデータ通信を行う際にはスレーブアドレスに所定の通信用のアドレス値が指定されたコマンドを前記通信制御装置に送信するマスター処理部を含み、
前記通信制御装置の前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれるスレーブアドレスと前記通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するか否かを制御することを特徴とする。
【０００８】
通信用のアドレス値は、通信制御装置のアドレス値及びマスター装置に直接接続される他のスレーブ装置のアドレス値のいずれとも異なるアドレス値（ＩＤ）であればよい。
【０００９】
前記通信制御装置の前記通信制御処理部は、前記マスター装置から受信したコマンドに含まれるスレーブアドレスと前記通信用のアドレス値を比較し、当該スレーブアドレスと前記通信用のアドレス値が一致した場合には、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するようにしてもよい。
【００１０】
本発明によれば、マスター装置はスレーブ装置とデータ通信を行う前にスレーブ選択レジスタに選択情報を設定するコマンドを通信制御装置に送信し、通信制御装置はスレーブ選択レジスタの設定値に基づいてデータ通信の対象となるスレーブ装置を選択する。従って、通信制御装置に接続される複数のスレーブ装置が同一のアドレス値を有していても、マスター装置はスレーブ選択レジスタの設定値を変更することにより複数のスレーブ装置のいずれか１つの装置を選択してデータ通信を行うことができる。
【００１１】
また、本発明によれば、マスター装置はスレーブ装置とデータ通信を行う際にはスレーブアドレスに通信用のアドレス値が指定されたコマンドを通信制御装置に送信し、通信制御装置はマスター装置から受信したコマンドに含まれるスレーブアドレスと通信用のアドレス値の比較結果に基づいて、当該コマンドに変換処理を施してスレーブ装置に送信するか否かを制御する。すなわち、通信制御装置に接続されるスレーブ装置のアドレス値とマスター装置に直接接続される他のスレーブ装置のアドレス値が同じであったとしても、マスター装置は、通信制御装置に接続されるスレーブ装置とデータ通信を行うことができる。
【００１２】
（２）本発明のデータ通信システムは、
前記通信制御装置は、
前記通信用のアドレス値が設定される通信用アドレス設定レジスタを含み、
前記マスター装置の前記マスター処理部は、
前記複数のスレーブ装置とデータ通信を行う前に、前記通信用アドレス設定レジスタに前記通信用のアドレス値を設定するコマンドを前記通信制御装置に送信し、
前記通信制御装置の前記通信制御処理部は、
前記通信用アドレス設定レジスタの設定値を前記通信用のアドレス値として前記比較処理を行うことを特徴とする。
【００１３】
前記通信制御装置の前記通信制御処理部は、前記マスター装置から受信したコマンドに含まれるスレーブアドレスと前記通信用アドレス設定レジスタの設定値を比較し、当該スレーブアドレスと前記通信用アドレス設定レジスタの設定値が一致した場合には、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するようにしてもよい。
【００１４】
本発明によれば、マスター装置はスレーブ装置とデータ通信を行う前に通信用アドレス設定レジスタに通信用のアドレス値を設定するコマンドを通信制御装置に送信する。従って、通信用のアドレス値を可変に設定できるので、データ通信システムの構成を変更しても柔軟に対応することができる。
【００１５】
（３）本発明のデータ通信システムは、
前記通信制御装置は、
データ通信の対象となるスレーブ装置のアドレス値が設定されるスレーブアドレス設定レジスタを含み、
前記マスター装置の前記マスター処理部は、
前記複数のスレーブ装置とデータ通信を行う前に、前記スレーブアドレス設定レジスタにデータ通信の対象となるスレーブ装置のアドレス値を設定するコマンドを前記通信制御装置に送信し、
前記通信制御装置の前記通信制御処理部は、
前記スレーブアドレス設定レジスタの設定値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とする。
【００１６】
本発明によれば、マスター装置はスレーブ装置とデータ通信を行う前にスレーブアドレス設定レジスタにデータ通信の対象となるスレーブ装置のアドレス値を設定するコマンドを通信制御装置に送信する。従って、通信制御装置に接続される２つ以上のスレーブ装置が異なるアドレス値を有していても、マスター装置はスレーブアドレス設定レジスタの設定値を変更することにより、すべてのスレーブ装置とデータ通信を行うことができる。
【００１７】
（４）本発明のデータ通信システムは、
前記通信制御装置は、
前記スレーブ選択レジスタの各設定値と当該各設定値に応じて選択されるスレーブ装置のアドレス値との対応関係を規定する対応テーブルを含み、
前記通信制御装置の前記通信制御処理部は、
前記対応テーブルに基づいて、前記スレーブ選択レジスタの設定値に対応づけられたアドレス値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とする。
【００１８】
例えば、通信制御装置がスレーブ選択レジスタに設定可能な設定値の数に等しい数のスレーブアドレス設定レジスタを有し、スレーブ選択レジスタの各設定値と各スレーブアドレス設定レジスタを対応づけ、スレーブ選択レジスタの各設定値に従って選択されるスレーブ装置のアドレス値を対応するスレーブアドレス設定レジスタに設定することにより対応テーブルを実現してもよい。
【００１９】
本発明によれば、通信制御装置はスレーブ装置に送信するコマンドのスレーブアドレスを対応テーブルに基づいて選択したアドレス値に自動的に変換する。従って、通信制御装置に接続される２つ以上のスレーブ装置が異なるアドレス値を有していても、マスター装置はスレーブ選択レジスタの設定値を変更するだけですべてのスレーブ装置とデータ通信を行うことができる。
【００２０】
（５）本発明のデータ通信システムは、
前記マスター装置の前記マスター処理部は、
前記複数のスレーブ装置とデータ通信を行う際には、前記通信用のアドレス値が指定された第１のスレーブアドレスと所定のアドレス値が指定された第２のスレーブアドレスとを含むデータ通信用のコマンドを送信し、
前記通信制御装置の前記通信制御処理部は、
前記第１のスレーブアドレスを前記通信用のアドレス値と比較することにより前記比較処理を行い、前記第１のスレーブアドレスを削除し、前記第２のスレーブアドレスに指定された前記所定のアドレス値を前記選択したスレーブ装置のアドレス値に置き換えることにより前記変換処理を行うことを特徴とする。
【００２１】
第２のスレーブアドレスに指定される所定のアドレス値は、通信制御装置のアドレス値及びマスター装置に直接接続される他のスレーブ装置のアドレス値のいずれとも異なるアドレス値であればよく、例えば通信用のアドレス値と同じアドレス値であってもよい。
【００２２】
本発明によれば、マスター装置が送信するデータ通信用のコマンドには、通信用のアドレス値が指定された第１のスレーブアドレスと所定のアドレス値が指定された第２のスレーブアドレスが含まれる。そのため、通信制御装置は、第１のスレーブアドレスにより当該コマンドを変換してスレーブ装置に送信するか否かを判断した後、第２のスレーブアドレスを当該スレーブ装置のアドレス値に置き換えて当該コマンドを送信することができる。従って、通信制御装置は、データ通信用のコマンドをスレーブ装置にリアルタイムに送信することができる。
【００２３】
（６）本発明は、
マスタースレーブ方式による所与の通信プロトコルに基づいてデータ通信を行うためのデータ通信システムであって、
前記通信プロトコルにおけるマスターとして機能するマスター装置と、
前記マスター装置と前記通信プロトコルにおけるスレーブとして機能する複数のスレーブ装置の間のデータ通信を制御するＮ個（Ｎは２以上の整数）の通信制御装置と、を含み、
第１の通信制御装置は、
前記マスター装置及び第２の通信制御装置に接続され、前記マスター装置と前記第２の通信制御装置の間のデータ通信を制御する通信制御処理部を含み、
第ｋ（ｋは２以上Ｎ−１以下の整数）の通信制御装置は、
第ｋ−１の通信制御装置及び第ｋ＋１の通信制御装置に接続され、前記第ｋ−１の通信制御装置と前記第ｋ＋１の通信制御装置の間のデータ通信を制御する通信制御処理部を含み、
第Ｎの通信制御装置は、
第Ｎ−１の通信制御装置及び前記複数のスレーブ装置に接続され、データ通信の対象となるスレーブ装置を選択するための選択情報が設定されるスレーブ選択レジスタと、前記スレーブ選択レジスタの設定値に基づいてスレーブ装置を選択し、前記第Ｎ−１の通信制御装置と前記選択したスレーブ装置の間のデータ通信を制御する通信制御処理部と、を含み、
前記マスター装置は、
前記複数のスレーブ装置とデータ通信を行う前に前記スレーブ選択レジスタに前記選択情報を設定するコマンドを前記第１の通信制御装置に送信し、前記複数のスレーブ装置とデータ通信を行う際にはスレーブアドレスに第１の通信用のアドレス値が指定されたコマンドを前記第１の通信制御装置に送信するマスター処理部を含み、
前記第１の通信制御装置の前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれるスレーブアドレスと前記第１の通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第２の通信用のアドレス値が指定されたコマンドに変換して前記第２の通信制御装置に送信するか否かを制御し、
前記第ｋの通信制御装置の前記通信制御処理部は、
前記第ｋ−１の通信制御装置から受信したコマンドに含まれるスレーブアドレスと第ｋの通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第ｋ＋１の通信用のアドレス値が指定されたコマンドに変換して前記第ｋ＋１の通信制御装置に送信するか否かを制御し、
前記第Ｎの通信制御装置の通信制御処理部は、
前記第Ｎ−１の通信制御装置から受信したコマンドに含まれるスレーブアドレスと第Ｎの通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するか否かを制御することを特徴とする。
【００２４】
第１〜第Ｎの通信用のアドレス値は同一のアドレス値（ＩＤ）であってもよい。
【００２５】
本発明によれば、マスター装置は、スレーブ装置とデータ通信を行う前に第Ｎの通信制御装置のスレーブ選択レジスタに選択情報を設定するコマンドを送信し、第Ｎの通信制御装置はスレーブ選択レジスタの設定値に基づいてデータ通信の対象となるスレーブ装置を選択する。従って、第Ｎの通信制御装置に接続される複数のスレーブ装置が同一のアドレス値を有していても、マスター装置はスレーブ選択レジスタの設定値を変更することにより複数のスレーブ装置のいずれか１つの装置を選択してデータ通信を行うことができる。
【００２６】
また、本発明によれば、マスター装置とスレーブ装置の間でデータ通信を行う際には、マスター装置はスレーブアドレスに第１の通信用のアドレス値が指定されたコマンドを第１の通信制御装置に送信し、第１〜第Ｎ−１の通信制御装置はそれぞれスレーブアドレスに第２〜第Ｎの通信用のアドレス値が指定されたコマンドを第２〜第Ｎの通信制御装置に送信し、第Ｎの通信制御装置は、第Ｎ−１の通信制御装置から受信したコマンドに含まれるスレーブアドレスに基づいて、マスター装置と前記複数のスレーブ装置の間のデータ通信を制御する。すなわち、マスター装置は、第Ｎの通信制御装置に接続されるスレーブ装置のアドレス値がスレーブアドレスに指定されたコマンドを送信することなく当該スレーブ装置とデータ通信を行うので、第Ｎの通信制御装置に接続されるスレーブ装置がマスター装置に直接接続される他のスレーブ装置と同一のアドレス値を有していても当該データ通信を行うことができる。
【００２７】
（７）本発明のデータ通信システムは、
前記通信プロトコルはＩ２Ｃバス通信プロトコルであることを特徴とする。
【００２８】
（８）本発明は、
マスタースレーブ方式による所与の通信プロトコルにおけるマスターとして機能するマスター装置と前記通信プロトコルにおけるスレーブとして機能する複数のスレーブ装置の間のデータ通信を制御する通信制御装置であって、
データ通信の対象となるスレーブ装置を選択するための選択情報が設定されるスレーブ選択レジスタと、前記スレーブ選択レジスタの設定値に基づいてスレーブ装置を選択し、前記マスター装置と前記選択したスレーブ装置の間のデータ通信を制御する通信制御処理部と、を含み、
前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれるスレーブアドレスと所定の通信用のアドレス値を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに前記選択したスレーブ装置のアドレス値が指定されたコマンドに変換して前記選択したスレーブ装置に送信するか否かを制御することを特徴とする。
【００２９】
（９）本発明の通信制御装置は、
前記通信用のアドレス値が設定される通信用アドレス設定レジスタを含み、
前記通信制御処理部は、
前記通信用アドレス設定レジスタの設定値を前記通信用のアドレス値として前記比較処理を行うことを特徴とする。
【００３０】
（１０）本発明の通信制御装置は、
データ通信の対象となるスレーブ装置のアドレス値が設定されるスレーブアドレス設定レジスタを含み、
前記通信制御処理部は、
前記スレーブアドレス設定レジスタの設定値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とする。
【００３１】
（１１）本発明の通信制御装置は、
前記スレーブ選択レジスタの各設定値と当該各設定値に応じて選択されるスレーブ装置のアドレス値との対応関係を規定する対応テーブルを含み、
前記通信制御処理部は、
前記対応テーブルに基づいて、前記スレーブ選択レジスタの設定値に対応づけられたアドレス値を前記選択したスレーブ装置のアドレス値として前記変換処理を行うことを特徴とする。
【００３２】
（１２）本発明の通信制御装置は、
前記通信制御処理部は、
前記マスター装置から受信したコマンドに含まれる第１のスレーブアドレスを前記通信用のアドレス値と比較することにより前記比較処理を行い、前記第１のスレーブアドレスを削除し、前記コマンドに含まれる第２のスレーブアドレスに指定された所定のアドレス値を前記選択したスレーブ装置のアドレス値に置き換えることにより前記変換処理を行うことを特徴とする。
【００３３】
（１３）本発明の通信制御装置は、
前記通信プロトコルはＩ２Ｃバス通信プロトコルであることを特徴とする。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００３５】
１．データ通信システム、通信制御装置
１−１．データ通信システムの第１の構成例
図１は、本実施形態のデータ通信システムの第１の構成例について説明するための図である。本実施形態のデータ通信システム１は、当該構成要素（各部）の一部を省略した構成としてもよい。
【００３６】
データ通信システム１は、マスタースレーブ方式による所与の通信プロトコルに基づいてマスターとスレーブの間でデータ通信を行う。マスタースレーブ方式による通信プロトコルは、例えば、Ｉ２Ｃバス通信プロトコルであってもよい。
【００３７】
データ通信システム１は、マスター装置１０を含む。マスター装置１０は、マスタースレーブ方式による通信プロトコルにおけるマスターとして機能する。また、データ通信システム１は、通信制御装置２０を含む。通信制御装置２０は、マスター装置１０及びスレーブ装置１〜ｎ（５０−１〜５０−ｎ）に接続され、マスター装置１０とスレーブ装置１〜ｎ（５０−１〜５０−ｎ）の間のデータ通信を制御する。
【００３８】
マスター装置１０は、マスター処理部１２を含む。マスター処理部１２は、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行う前にスレーブ選択レジスタ３６にデータ通信の対象となるスレーブ装置（データ通信対象装置）を選択するための選択情報を設定するコマンド（スレーブ選択コマンド）を通信制御装置２０に送信する。
【００３９】
また、マスター処理部１２は、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行う前に、通信用アドレス設定レジスタ３２に通信用のアドレス値（マスター装置１０とスレーブ装置１〜ｎ（５０−１〜５０−ｎ）の間で送受信するデータについて通信制御装置２０をスルーさせるための所定のアドレス値）（以下、スルーＩＤという）を設定するコマンド（スルーＩＤ設定コマンド）を通信制御装置２０に送信するようにしてもよい。
【００４０】
また、マスター処理部１２は、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行う前に、スレーブアドレス設定レジスタ３４にデータ通信対象装置のアドレス値を設定するコマンド（スレーブアドレス設定コマンド）を通信制御装置２０に送信するようにしてもよい。
【００４１】
また、マスター処理部１２は、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行う際には、スレーブアドレスにスルーＩＤが指定されたコマンド（データ通信用コマンド）を通信制御装置２０に送信する。
【００４２】
また、マスター処理部１２は、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行う際には、スルーＩＤが指定された第１のスレーブアドレスと所定のアドレス値が指定された第２のスレーブアドレスとを含むデータ通信用のコマンドを送信するようにしてもよい。
【００４３】
通信制御装置２０は、レジスタファイル３０にスレーブ選択レジスタ３６を含む。また、通信制御装置２０は、レジスタファイル３０に通信用アドレス設定レジスタ３２及びスレーブアドレス設定レジスタ３４を含んでもよい。通信用アドレス設定レジスタ３２にはスルーＩＤが設定される。スレーブアドレス設定レジスタ３４にはデータ通信対象装置のアドレス値が設定される。スレーブ選択レジスタ３６にはデータ通信対象装置を選択するための選択情報が設定される。
【００４４】
通信制御装置２０は、通信制御処理部４０を含む。通信制御処理部４０は、例えば、スレーブ処理部４２、データ変換処理部４４、通信経路選択部４６を含んで構成されていてもよい。
【００４５】
通信制御装置２０は、マスタースレーブ方式による通信プロトコルにおけるスレーブとして機能してもよく、スレーブ処理部４２がスレーブの機能を実現する。スレーブ処理部４２は、例えば、マスター装置１０が送信するコマンドに含まれるスレーブアドレスが通信制御装置２０のアドレス値と一致した場合には当該コマンドを受信し、コマンドの指示に応じた処理を行う。例えば、スレーブ処理部４２は、スルーＩＤ設定コマンドを受信した場合は通信用アドレス設定レジスタ３２にスルーＩＤを設定する処理を行い、スレーブアドレス設定コマンドを受信した場合はスレーブアドレス設定レジスタ３４にデータ通信対象装置のアドレス値を設定する処理を行い、スレーブ選択コマンドを受信した場合はスレーブ選択レジスタ３６に選択情報を設定する処理を行う。
【００４６】
また、スレーブ処理部４２は、マスター装置１０から受信したコマンドに含まれるスレーブアドレスがスルーＩＤと一致した場合には、当該コマンドを受信し、データ変換部４４に送信する処理を行う。例えば、マスター装置１０から受信したコマンドに含まれるスレーブアドレスが通信用アドレス設定レジスタ３２の設定値と一致した場合には、当該コマンドを受信し、データ変換部４４に送信する処理を行うようにしてもよい。スレーブ処理部４２は、マスター装置１０からコマンドを受信した場合は、マスター装置１０にアクノリッジ信号を送信するようにしてもよい。
【００４７】
データ変換処理部４４は、スレーブ処理部４２がマスター装置１０から受信したコマンドをスレーブアドレスに通信経路選択部４６が選択したスレーブ装置のアドレス値が指定されたコマンドに変換する処理を行う。例えば、データ変換処理部４４は、当該コマンドをスレーブアドレスにスレーブアドレス設定レジスタ３４の設定値が指定されたコマンドに変換する処理を行うようにしてもよい。
【００４８】
また、データ変換処理部４４は、スレーブ処理部４２がマスター装置１０から受信したデータ通信用のコマンドに含まれる第１のスレーブアドレスを削除し、第２のスレーブアドレスに指定された所定のアドレス値を通信経路選択部４６が選択したスレーブ装置のアドレス値に置き換える処理を行うようにしてもよい。
【００４９】
通信経路選択部４６は、スレーブ選択レジスタ３６の設定値に基づいてスレーブ装置１〜ｎ（５０−１〜５０−ｎ）のいずれかを選択し、データ変換処理部４４が変換したコマンドを選択したスレーブ装置に送信する処理を行う。
【００５０】
通信制御装置２０は、スレーブ選択レジスタ３６の各設定値と当該各設定値に応じて選択されるスレーブ装置のアドレス値との対応関係を規定する対応テーブルを含んでもよい。この場合、データ変換処理部４４は、マスター装置１０から受信したコマンドに含まれるスレーブアドレスがスルーＩＤと一致した場合には、対応テーブルに基づいてスレーブ選択レジスタ３６の設定値に対応づけられたアドレス値を選択し、当該コマンドをスレーブアドレスに通信経路選択部４６が選択したスレーブ装置のアドレス値が指定されたコマンドに変換する処理を行うようにしてもよい。
【００５１】
１−２．データ通信システムの第２の構成例
図２は、本実施形態のデータ通信システムの第２の構成例について説明するための図である。本実施形態のデータ通信システム２は、当該構成要素（各部）の一部を省略した構成としてもよい。
【００５２】
データ通信システム２は、マスター装置１０及びＮ個（Ｎは２以上の整数）の通信制御装置１〜Ｎ（２０−１〜２０−Ｎ）を含んで構成されている。マスター装置１０は、図１で説明したデータ通信システム１のマスター装置１０及びスレーブ装置１〜ｎ（５０−１〜５０−ｎ）と同じ構成であり、説明を省略する。
【００５３】
通信制御装置１（第１の通信制御装置）（２０−１）は、マスター装置１０及び通信制御装置２（第２の通信制御装置）（２０−２）に接続されている。通信制御装置ｋ（第ｋの通信制御装置）（２０−ｋ）（ｋは２以上Ｎ−１以下の整数）は、通信制御装置ｋ−１（第ｋ−１の通信制御装置）（２０−（ｋ−１））及び通信制御装置ｋ＋１（第ｋ＋１の通信制御装置）（２０−（ｋ＋１））に接続されている。通信制御装置Ｎ（第Ｎの通信制御装置）（２０−Ｎ）は、通信制御装置Ｎ−１（第Ｎ−１の通信制御装置）（２０−（Ｎ−１））及びスレーブ装置１〜ｎ（５０−１〜５０−ｎ）に接続されている。通信制御装置１〜Ｎ（２０−１〜２０−Ｎ）は、マスター装置１０とスレーブ装置１〜ｎ（５０−１〜５０−ｎ）の間のデータ通信を制御する。通信制御装置１〜Ｎ（２０−１〜２０−Ｎ）は、マスタースレーブ方式による通信プロトコルにおけるスレーブとして機能してもよい。
【００５４】
各通信制御装置ｊ（ｊは１〜Ｎのいずれか）は、図１で説明したデータ通信システム１の通信制御装置２０と同じ構成であってもよい。すなわち、通信用アドレス設定レジスタ３２−ｊ、スレーブアドレス設定レジスタ３４−ｊ、スレーブ選択レジスタ３６−ｊ、通信制御処理部４０−ｊを含んでいてもよい。
【００５５】
通信制御装置１（２０−１）は通信制御処理部４０−１において、マスター装置１０から受信したコマンドに含まれるスレーブアドレスと第１の通信用のアドレス値（スルーＩＤ１）を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第２の通信用のアドレス値（スルーＩＤ２）が指定されたコマンドに変換して通信制御装置２（２０−２）に送信するか否かを制御する。
【００５６】
通信制御装置ｋ（２０−ｋ）は、通信制御処理部４０−ｋにおいて、通信制御装置ｋ−１（２０−（ｋ−１））から受信したコマンドに含まれるスレーブアドレスと第ｋの通信用のアドレス値（スルーＩＤ（ｋ））を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第ｋ＋１の通信用のアドレス値（スルーＩＤ（ｋ＋１））が指定されたコマンドに変換して通信制御装置ｋ＋１（２０−（ｋ＋１））に送信するか否かを制御する。
【００５７】
通信制御装置Ｎ（２０−Ｎ）は、通信制御処理部４０−Ｎにおいて、スレーブ選択レジスタ３６−Ｎの設定値に基づいてスレーブ装置１〜ｎ（５０−１〜５０−ｎ）のいずれかを選択し、通信制御装置Ｎ−１（２０−（Ｎ−１））とスレーブ装置１〜ｎ（５０−１〜５０−ｎ）の間のデータ通信を制御する。通信制御処理部４０−Ｎは、通信制御装置Ｎ−１（２０−（Ｎ−１））から受信したコマンドに含まれるスレーブアドレスと第Ｎの通信用のアドレス値（スルーＩＤ（Ｎ））を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに選択したスレーブ装置（スレーブ装置１〜ｎ（５０−１〜５０−ｎ）のいずれか）のアドレス値が指定されたコマンドに変換して当該スレーブ装置に送信するか否かを制御する。
【００５８】
マスター装置１０は、マスター処理部１２において、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行う前にスレーブ選択レジスタ３６−Ｎに選択情報を設定するコマンド（スレーブ選択コマンド）を通信制御装置１（２０−１）に送信する。
【００５９】
また、マスター装置１０は、マスター処理部１２において、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行う際にはスレーブアドレスにスルーＩＤ１が指定されたコマンド（データ通信用コマンド）を通信制御装置１（２０−１）に送信する。
【００６０】
なお、各通信制御装置ｊ（２０−ｊ）（ｊは１〜Ｎ−１のいずれか）は、図１で説明した通信制御装置２０と同様の構成とすることにより、それぞれ複数のスレーブ装置を接続することができる。ここで、通信制御装置もスレーブ装置として機能するので、各通信制御装置はスレーブ装置として複数の通信制御装置を接続することができる。すなわち、多数の通信制御装置をツリー状に接続し、ツリーの各経路の終端にスレーブ装置を接続するように構成することもできる。従って、データ通信システム２によれば、マスター装置１０とデータ通信可能なスレーブ装置の数を無限に増やすことができる。マスター装置１０は、各通信制御装置の通信用アドレス設定レジスタ、スレーブアドレス設定レジスタ、スレーブ選択レジスタの設定値に従って選択されたスレーブ装置又は通信制御装置とデータ通信を行うことができる（通信制御装置もスレーブ装置の１つとして選択される）。
【００６１】
２．データ通信システムの処理手順
図３及び図４は、図１で説明した本実施の形態のデータ通信システム１において、データ通信を実現するためのマスター装置１０及び通信制御装置２０の処理手順の一例についてそれぞれ説明するためのフローチャートである。
【００６２】
まず、マスター装置１０は、通信制御装置２０にスルーＩＤ設定コマンドを送信する（図３のステップＳ１０）。通信制御装置２０は、マスター装置１０からスルーＩＤ設定コマンドを受信し、通信用アドレス設定レジスタ３２にスルーＩＤを設定する（図４のステップＳ２０）。
【００６３】
次に、マスター装置１０は、通信制御装置２０にスレーブアドレス設定コマンドを送信する（図３のステップＳ１２）。通信制御装置２０は、マスター装置１０からスレーブアドレス設定コマンドを受信し、スレーブアドレス設定レジスタ３４にデータ通信対象装置のアドレス値を設定する（図４のステップＳ２２）。
【００６４】
次に、マスター装置１０は、通信制御装置２０にスレーブ選択コマンドを送信する（図３のステップＳ１４）。通信制御装置２０は、マスター装置１０からスレーブ選択コマンドを受信し、スレーブ選択レジスタ３６に選択情報を設定する（図４のステップＳ２４）。
【００６５】
次に、マスター装置１０（マスター処理部１２）は、スレーブアドレスにスルーＩＤが指定されたデータ通信用コマンドを通信制御装置２０に送信する（図３のステップＳ１６）。通信制御装置２０は、マスター装置１０からデータ通信用コマンドを受信する（図４のステップＳ２６）。
【００６６】
次に、通信制御装置２０は、受信したデータ通信用コマンドにおいて指定されたスレーブアドレスと通信用アドレス設定レジスタ３２の設定値が一致するか否かを判断する（図４のステップＳ２８）。データ通信用コマンドにおいて指定されたスレーブアドレスと通信用アドレス設定レジスタ３２の設定値が一致しないと判断した場合（図４のステップＳ２８でＮｏの場合）は、通信制御装置２０はスレーブ装置１〜ｎ（５０−１〜５０−ｎ）とデータ通信を行わずに処理を終了する。
【００６７】
データ通信用コマンドにおいて指定されたスレーブアドレスと通信用アドレス設定レジスタ３２の設定値が一致すると判断した場合（図４のステップＳ２８でＹｅｓの場合）は、通信制御装置２０は、マスター装置１０から受信したデータ通信用コマンドを、スレーブアドレスにスレーブアドレス設定レジスタ３４の設定値が指定されたコマンドに変換する（図４のステップＳ３０）。
【００６８】
なお、データ通信用コマンドが２つのスレーブアドレスを含むように取り決めておいてもよい。この場合、マスター装置１０は、図３のステップＳ１６において、最初のスレーブアドレス（第１のスレーブアドレス）にスルーＩＤが指定され、次のスレーブアドレス（第２のスレーブアドレス）に所定のアドレス値（以下、ダミーのアドレス値という）が指定されたデータ通信用コマンドを送信するようにしてもよい。ダミーのアドレス値として、例えばスルーＩＤを選択してもよい。そして、通信制御装置２０は、図４のステップＳ２６において当該データ通信用コマンドを受信し、図４のステップＳ２８において当該データ通信用コマンドに含まれる第１のスレーブアドレス（スルーＩＤ）が通信用アドレス設定レジスタ３２の設定値と一致するか否かを判断し、一致すると判断した場合は、図４のステップＳ３０において、第１のスレーブアドレスを削除し、第２のスレーブアドレスに指定されたダミーのアドレス値をスレーブアドレス設定レジスタ３４の設定値に置き換えるようにしてもよい。
【００６９】
最後に、通信制御装置２０は、スレーブ選択レジスタ３６の設定値に基づいてスレーブ装置１〜ｎ（５０−１〜５０−ｎ）のいずれかを選択し、選択したスレーブ装置に図４のステップＳ３０で変換したデータ通信用コマンドを送信する（図４のステップＳ３２）。ここで、図４のステップＳ２４において、スレーブ選択レジスタ３６にはデータ通信対象装置を選択するための選択情報が設定されている。そのため、マスター装置１０は、図３のステップＳ１６において、スレーブアドレスにスルーＩＤが指定されたデータ通信用コマンドを送信することにより、データ通信対象装置との間の通信経路が確立され、データ通信対象装置との間でデータ通信を行うことができるようになる。
【００７０】
図４のステップＳ３２において選択されたスレーブ装置は、データ通信用コマンドを受信し、データ通信用コマンドによりマスター装置１０が指示する処理（内部レジスタに対する書き込みや読み出し等）を行う。このようにして、通信制御装置２０を介して（スルーさせて）マスター装置１０とスレーブ装置１〜ｎ（５０−１〜５０−ｎ）との間でデータ通信を行うことができる。
【００７１】
なお、スルーＩＤはマスター装置１０に接続されるスレーブとして機能するすべての装置（通信制御装置２０等）のアドレス値と異なるアドレス値であればよい。従って、スルーＩＤはマスター装置１０に接続される装置を変更しない限り固定のアドレス値にしておいてもよい。この場合、マスター装置１０は、図３のステップＳ１０におけるスルーＩＤ設定コマンドの送信を、通信制御装置２０の起動後に１回だけ行えばよい。また、スレーブ装置１〜ｎ（５０−１〜５０−ｎ）のアドレス値がすべて同じであれば、マスター装置１０は、図３のステップＳ１２におけるスレーブアドレス設定コマンドの送信を、通信制御装置２０の起動後に１回だけ行えばよい。一方、マスター装置１０は、図３のステップＳ１４におけるスレーブ選択コマンドの送信については、データ通信対象装置を切り替える度に行う。
【００７２】
なお、図３及び図４のフローチャートは、図２で説明した本実施の形態のデータ通信システム２において、データ通信を実現するためのマスター装置１０及び通信制御装置２０−１〜２０−Ｎの処理手順としても同様に適用できる。
【００７３】
３．第１のデータ通信システムの動作説明
３−１．第１のデータ通信システムの構成
図５は、Ｉ２Ｃバス通信プロトコルに基づいてデータ通信を行うデータ通信システムの第１の構成例について説明するための図である。図５のデータシステム１０１の構成は、図１で説明したデータ通信システム１の構成に対応する。
【００７４】
データ通信システム１０１は、マスター装置１１０、通信制御装置１２０、スレーブ装置１〜８（１５０−１〜１５０−４、１６０〜１９０）を含んで構成されている。マスター装置１１０のＳＣＬ出力端子は、シリアルバス１１２を介して通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のＳＣＬ入力端子と接続されている。また、マスター装置１１０のＳＤＡ入出力端子は、シリアルバス１１４を介して通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のＳＤＡ入力端子と接続されている。また、シリアルバス１１２及び１１４はそれぞれ抵抗器１１６及び１１８を介して電源にプルアップ接続されている。
【００７５】
通信制御装置１２０のＳＣＬ１出力端子及びＳＤＡ１入出力端子は、それぞれ、クロック信号線１２２−１及びデータ信号線１２４−１によりスレーブ装置１（１５０−１）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。同様に、通信制御装置１２０のＳＣＬ２出力端子及びＳＤＡ２入出力端子は、それぞれ、クロック信号線１２２−２及びデータ信号線１２４−２によりスレーブ装置２（１５０−２）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。同様に、通信制御装置１２０のＳＣＬ３出力端子及びＳＤＡ３入出力端子は、それぞれ、クロック信号線１２２−３及びデータ信号線１２４−３によりスレーブ装置３（１５０−３）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。同様に、通信制御装置１２０のＳＣＬ４出力端子及びＳＤＡ４入出力端子は、それぞれ、クロック信号線１２２−４及びデータ信号線１２４−４によりスレーブ装置４（１５０−４）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。
【００７６】
マスター装置１１０はＩ２Ｃバス通信プロトコルにおけるマスターとして機能し、通信制御装置１２０及びスレーブ装置１〜８（１５０−１〜１５０−４、１６０〜１９０）はＩ２Ｃバス通信プロトコルにおけるスレーブとして機能する。すなわち、マスター装置１１０がデータ通信の主導権を有する。マスター装置１１０は、データ通信を行う時にはＳＣＬ出力端子からシリアルバス１１２にクロック信号を出力（送信）する。マスター装置１１０がＳＣＬ出力端子からクロック信号を出力しない時はバス１１２は解放されるため抵抗器１１６を介してプルアップされてＨレベルの電位（電源電位）になる。通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）はシリアルバス１１２にクロック信号を出力することはできない。
【００７７】
マスター装置１１０、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）は、ＳＤＡ入出力端子を介してシリアルバス１１４にデータを出力する（送信する）ことができるし、シリアルバス１１４のデータを入力（受信）することもできる。マスター装置１１０、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）の２つ以上の装置がシリアルバス１１４に同時にデータを出力することはできないが、マスター装置１１０、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のいずれもシリアルバス１１４にデータを出力しなくてもよい（この場合、シリアルバス１１４は解放されるため抵抗器１１８を介してプルアップされてＨレベルの電位になる）。
【００７８】
データ通信を開始するまでは、シリアルバス１１２及び１１４はいずれもＨレベルの電位にプルアップされている。データ通信を開始する場合には、マスター装置１１０は、シリアルバス１１２（クロック信号）がＨレベルの時に、シリアルバス１１４にＨレベルからＬレベルに遷移するデータを出力することにより、スタートコンディションを送信する。マスター装置１１０は、スタートコンディションを送信した後、所定のコマンドを送信することにより通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）とデータ通信を開始することができる。また、マスター装置１１０は、図３及び図４のフローチャートに従って通信制御装置１２０のレジスタ設定を行った後は、スレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行うこともできる。
【００７９】
データ通信を終了する場合には、マスター装置１１０は、シリアルバス１１２（クロック信号）がＨレベルの時に、シリアルバス１１４にＬレベルからＨレベルに遷移するデータを出力することにより、ストップコンディションを送信する。
【００８０】
３−２．第１のデータ通信システムのコマンド形式
図６（Ａ）、図６（Ｂ）は、図５で説明したマスター装置１１０が通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のいずれかとデータ通信する時に送信するコマンドの形式の一例を示す図である。
【００８１】
図６（Ａ）は、書き込みコマンドの形式の一例である。書き込みコマンド２００は、スタートコンディション２０２により開始し、ストップコンディション２２２により終了する。
【００８２】
まず、マスター装置１１０は、スタートコンディション２０２を送信した後、７ビットのスレーブアドレス２０４及び１ビットのライト信号２０６（Ｌレベル）を送信する。ここで、マスター装置１１０は、シリアルバス１１２に８クロック分のクロック信号を出力して７ビットのスレーブアドレス２０４及び１ビットのライト信号２０６の計８ビットのデータをクロック信号に同期させて送信する。同時に、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）は、この８クロック分のクロック信号に同期してスレーブアドレス２０４及びライト信号２０６を受信する。マスター装置１１０は、スレーブアドレス２０４及びライト信号２０６を送信した後、シリアルバス１１４を解放する。
【００８３】
次に、スレーブアドレス２０４が自己のアドレス値と一致した通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のいずれかの装置（書き込み対象装置）が１ビットのアクノリッジ信号２０８を送信する。ここで、マスター装置１１０は、シリアルバス１１２に１クロック分のクロック信号を出力し、書き込み対象装置が１ビットのアクノリッジ信号２０８をクロック信号に同期させて送信する。同時に、マスター装置１１０は、この１クロック分のクロック信号に同期してアクノリッジ信号２０８を受信する。書き込み対象装置は、アクノリッジ信号２０８を送信した後、シリアルバス１１４を解放する。
【００８４】
次に、マスター装置１１０は、書き込み対象装置の書き込み対象となる内部レジスタ（書き込み対象レジスタ）のアドレスの上位８ビット分のデータ２１０を送信した後、シリアルバス１１４を解放する。書き込み対象装置は、書き込み対象レジスタのアドレスの上位８ビット分のデータ２１０を受信し、アクノリッジ信号２１２を送信した後、シリアルバス１１４を解放する。
【００８５】
次に、マスター装置１１０は、書き込み対象レジスタのアドレスの下位８ビット分のデータ２１４を送信した後、シリアルバス１１４を解放する。書き込み対象装置は、書き込み対象レジスタのアドレスの下位８ビット分のデータ２１４を受信し、アクノリッジ信号２１６を送信した後、シリアルバス１１４を解放する。書き込み対象装置は、書き込み対象レジスタのアドレスの上位８ビット分のデータ２１０及び下位８ビット分のデータ２１４を内部のアドレスレジスタにセットする。
【００８６】
次に、マスター装置１１０は、書き込み対象レジスタに書き込むｍバイト分のデータのうち最初の１バイト分のデータ２１８−１を送信した後、シリアルバス１１４を解放する。書き込み対象装置は、最初の１バイト分のデータ２１８−１を受信し、アクノリッジ信号２２０−１を送信した後、シリアルバス１１４を解放する。以降は、マスター装置１１０は１バイトずつデータを送信し、書き込み対象装置は１バイトずつデータを受信してアクノリッジ信号を送信した後シリアルバス１１４を解放する処理を繰り返す。そして、マスター装置１１０による最後の１バイト分のデータ２１８−ｍの送信及び書き込み対象装置による最後の１バイト分のデータ２１８−ｍの受信に対するアクノリッジ信号２２０−ｍの送信が終了する。ここで、書き込み対象装置は、１バイト分のデータ２１８−ｋ（ｋは１〜ｍのいずれか）の受信が終了する毎に、アドレスレジスタにセットされたアドレスに割り当てられた内部レジスタ（すなわち、書き込み対象レジスタ）に１バイト分のデータを書き込む処理を繰り返し行ってもよい。また、書き込み対象装置は、ｍバイト分のデータ２１８−１〜２１８−ｍの受信が終了した後に、書き込み対象レジスタにｍバイト分のデータを書き込む処理を行ってもよい。
【００８７】
最後に、マスター装置１１０は、ストップコンディション２２２を送信した後シリアルバス１１４を解放して書き込みコマンドの送信を終了する。
【００８８】
図６（Ｂ）は、読み出しコマンドの形式の一例である。読み出しコマンド２５０は、スタートコンディション２５２により開始し、ストップコンディション２８０により終了する。
【００８９】
スタートコンディション２５２〜アクノリッジ信号２６６は、図６（Ａ）で説明したスタートコンディション２０２〜アクノリッジ信号２１６と同じであるので、説明を省略する。スレーブアドレス２５４が自己のアドレス値と一致した通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のいずれかの装置（読み出し対象装置）は、アクノリッジ信号２６６の送信を終了した時点で、その内部のアドレスレジスタに読み出し対象となる内部レジスタ（読み出し対象レジスタ）の上位８ビットアドレス２６０及び下位８ビットアドレス２６４をセットしている。
【００９０】
次に、マスター装置１１０は、スタートコンディション２６８を再度送信した後、７ビットのスレーブアドレス２７０（スレーブアドレス２５４と同一のスレーブアドレス）及び１ビットのリード信号２７２（Ｈレベル）を送信する。ここで、マスター装置１１０は、シリアルバス１１２に８クロック分のクロック信号を出力して７ビットのスレーブアドレス２７０及び１ビットのリード信号２７２の計８ビットのデータをクロック信号に同期させて送信する。同時に、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）は、この８クロック分のクロック信号に同期してスレーブアドレス２７０及びリード信号２７２を受信する。マスター装置１１０は、スレーブアドレス２７０及びリード信号２７２を送信した後、シリアルバス１１４を解放する。
【００９１】
次に、読み出し対象装置は、スレーブアドレス２７０が自己のアドレス値と一致するので１ビットのアクノリッジ信号２７４を送信する。ここで、マスター装置１１０は、シリアルバス１１２に１クロック分のクロック信号を出力し、読み出し対象装置が１ビットのアクノリッジ信号２７４をクロック信号に同期させて送信する。同時に、マスター装置１１０は、この１クロック分のクロック信号に同期してアクノリッジ信号２７４を受信する。読み出し対象装置は、アクノリッジ信号２７４を送信した後、シリアルバス１１４を解放する。
【００９２】
次に、読み出し対象装置は、読み出し対象レジスタからｍバイト分のデータを読み出し、最初の１バイト分のデータ２７６−１を送信した後、シリアルバス１１４を解放する。マスター装置１１０は、最初の１バイト分のデータ２７６−１を受信し、アクノリッジ信号２７８−１を送信した後、シリアルバス１１４を解放する。以降は、読み出し対象装置は読み出したデータを１バイトずつ送信し、マスター装置１１０は１バイトずつデータを受信してアクノリッジ信号を送信した後シリアルバス１１４を解放する処理を繰り返す。そして、読み出し対象装置が最後の１バイト分のデータ２７６−ｍを送信すると、マスター装置１１０は１バイト分のデータ２７６−ｍを受信した後、アクノリッジ信号の反転信号（ノットアクノリッジ信号）２７８−ｍを送信する。読み出し対象装置は、ノットアクノリッジ信号２７８−ｍを受信する（すなわち、アクノリッジ信号を受信しない）ので次の１バイト分の読み出しデータの送信を行わず、ｍバイト分の読み出しデータの送信を終了する。
【００９３】
最後に、マスター装置１１０は、ストップコンディション２８０を送信した後シリアルバス１１４を解放して読み出しコマンドの送信を終了する。
【００９４】
図７（Ａ）、図７（Ｂ）は、図５で説明したマスター装置１１０がスレーブ装置１〜４（１５０−１〜１５０−４）のいずれかとデータ通信する時に送信するコマンド（データ通信用コマンド）の形式の一例を示す図である。なお、マスター装置１１０が図７（Ａ）、図７（Ｂ）のコマンドを送信する前に、図３及び図４のフローチャートに従って通信用アドレス設定レジスタ３２には通信制御装置１２０をスルーさせるためのスルーＩＤが設定されているものとする。また、スレーブアドレス設定レジスタ３４にはデータ通信対象装置（書き込み対象装置又は読み出し対象装置）のアドレス値が設定されているものとする。さらに、スレーブ選択レジスタ３６には接続先としてデータ通信対象装置（書き込み対象装置又は読み出し対象装置）を選択するための選択情報が設定されているものとする。
【００９５】
図７（Ａ）は、書き込みコマンドの形式の一例である。書き込みコマンド３００は、スタートコンディション３０２により開始し、ストップコンディション３３０により終了する。
【００９６】
まず、マスター装置１１０は、スタートコンディション３０２を送信した後、スレーブアドレス３０４及びライト信号３０６を送信し、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）はスレーブアドレス３０４及びライト信号３０６を受信する。ここで、マスター装置１１０は、スレーブアドレス３０４としてスルーＩＤを送信する。スルーＩＤは、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のアドレス値と異なるアドレス値が選択される。マスター装置１１０は、スレーブアドレス３０４及びライト信号３０６を送信した後、シリアルバス１１４を解放する。
【００９７】
通信制御装置１２０は、受信したスレーブアドレス３０４（スルーＩＤ）が通信用アドレス設定レジスタ３２の設定値（スルーＩＤ）と一致するので、その動作モードをこれ以降の受信データを書き込み対象装置に送信可能なスルーモードに設定する。そして、通信制御装置１２０はアクノリッジ信号３０８を送信し、マスター装置１１０はアクノリッジ信号３０８を受信する。通信制御装置１２０は、アクノリッジ信号３０８を送信した後、シリアルバス１１４を解放する。
【００９８】
次に、マスター装置１１０は、スタートコンディション３１０を再度送信し、スレーブアドレス３１２及びライト信号３１４を送信した後シリアルバス１１４を解放し、通信制御装置１２０はスレーブアドレス３１２及びライト信号３１４を受信する。ここで、マスター装置１１０は、スレーブアドレス３１２として、通信制御装置１２０及びスレーブ装置５〜８（１６０〜１９０）のアドレス値と異なる任意のアドレス値（ダミーのアドレス値）を送信する。例えば、ダミーのアドレス値としてスルーＩＤを使用してもよく、この場合はスレーブアドレス３１２はスレーブアドレス３０４と同一のデータになる。通信制御装置１２０の動作モードがスルーモードであるので、スレーブアドレス３１２をスレーブアドレス設定レジスタ３４の設定値（書き込み対象装置のアドレス値）に変更し、スレーブ選択レジスタ３６の設定値に従って選択したスレーブ装置（書き込み対象装置）に対して変更後のスレーブアドレス３１２（書き込み対象装置のアドレス値）及びライト信号３１４を送信する。
【００９９】
書き込み対象装置は、通信制御装置１２０から変更後のスレーブアドレス３１２（書き込み対象装置のアドレス値）及びライト信号３１４を受信し、変更後のスレーブアドレス３１２（書き込み対象装置のアドレス値）が自己のアドレス値と一致するので通信制御装置１２０にアクノリッジ信号３１６を送信する。ここで、書き込み対象装置は、その動作モードをライトモードにセットする。通信制御装置１２０は、書き込み対象装置から受信したアクノリッジ信号３１６をマスター装置１１０に送信した後、シリアルバス１１４を解放する。これ以降、マスター装置１１０は書き込み対象装置とデータ通信を行うことができる。
【０１００】
次に、マスター装置１１０は、書き込み対象装置の書き込み対象となる内部レジスタ（書き込み対象レジスタ）の上位８ビットアドレス３１８を送信した後、シリアルバス１１４を解放する。通信制御装置１２０は、上位８ビットアドレス３１８を受信し、書き込み対象装置に送信する。書き込み対象装置は、通信制御装置１２０から上位８ビットアドレス３１８を受信し、通信制御装置１２０にアクノリッジ信号３２０を送信する。通信制御装置１２０は、書き込み対象装置から受信したアクノリッジ信号３２０をマスター装置１１０に送信した後、シリアルバス１１４を解放する。
【０１０１】
次に、マスター装置１１０は、書き込み対象レジスタの下位８ビットアドレス３２２を送信した後、シリアルバス１１４を解放する。通信制御装置１２０は、下位８ビットアドレス３２２を受信し、書き込み対象装置に送信する。書き込み対象装置は、通信制御装置１２０から下位８ビットアドレス３２２を受信し、通信制御装置１２０にアクノリッジ信号３２４を送信する。ここで、書き込み対象装置は、上位８ビットアドレス３１８及び下位８ビットアドレス３２２を内部のアドレスレジスタにセットする。通信制御装置１２０は、書き込み対象装置から受信したアクノリッジ信号３２４をマスター装置１１０に送信した後、シリアルバス１１４を解放する。
【０１０２】
次に、マスター装置１１０は、書き込み対象レジスタに書き込むｍバイトデータのうち最初の１バイトデータ３２６−１を送信した後、シリアルバス１１４を解放する。通信制御装置１２０は、最初の１バイトデータ３２６−１を受信し、書き込み対象装置に送信する。書き込み対象装置は、通信制御装置１２０から最初の１バイトデータ３２６−１を受信し、通信制御装置１２０にアクノリッジ信号３２８−１を送信する。通信制御装置１２０は、書き込み対象装置から受信したアクノリッジ信号３２８−１をマスター装置１１０に送信した後、シリアルバス１１４を解放する。以降は、マスター装置１１０は１バイトずつデータを送信し、通信制御装置１２０は１バイトずつデータを受信して書き込み対象装置に送信し、書き込み対象装置は通信制御装置１２０から１バイトデータを受信する毎に通信制御装置１２０にアクノリッジ信号を送信し、通信制御装置１２０は書き込み対象装置から受信したアクノリッジ信号をマスター装置１１０に送信した後シリアルバス１１４を解放する処理を繰り返す。そして、マスター装置１１０による最後の１バイトデータ３２６−ｍの送信、書き込み対象装置による最後の１バイトデータ３２６−ｍの受信及びアクノリッジ信号３２８−ｍの送信が終了する。ここで、書き込み対象装置は、１バイトデータ３２６−ｋ（ｋは１〜ｍのいずれか）の受信が終了する毎に、アドレスレジスタにセットされたアドレスに割り当てられた内部レジスタ（すなわち、書き込み対象レジスタ）に１バイトデータを書き込む処理を繰り返し行ってもよい。また、書き込み対象装置は、ｍバイトデータ（３２６−１〜３２６−ｍ）の受信が終了した後に、書き込み対象レジスタにｍバイトデータを書き込む処理を行ってもよい。
【０１０３】
最後に、マスター装置１１０は、ストップコンディション３３０を送信した後シリアルバス１１４を解放し、書き込みコマンドの送信を終了する。
【０１０４】
図７（Ｂ）は、読み出しコマンドの形式の一例である。読み出しコマンド３５０は、スタートコンディション３５２により開始し、ストップコンディション３８８により終了する。
【０１０５】
スタートコンディション３５２〜アクノリッジ信号３７４は、図７（Ａ）で説明したスタートコンディション３０２〜アクノリッジ信号３２４と同じであるので、説明を省略する。通信制御装置１２０は、アクノリッジ信号３７４の送信を終了した時点でその動作モードがスルーモードに設定されている。また、読み出し対象装置は、その内部のアドレスレジスタに読み出し対象レジスタの上位８ビットアドレス３６８及び下位８ビットアドレス３７２をセットしている。
【０１０６】
次に、マスター装置１１０は、スタートコンディション３７６を再度送信し、スレーブアドレス３７８及びリード信号３８０を送信した後シリアルバス１１４を解放し、通信制御装置１２０はスレーブアドレス３７８及びリード信号３８０を受信する。ここで、マスター装置１１０は、スレーブアドレス３７８として、ダミーのアドレス値を送信する。例えば、ダミーのアドレス値としてスルーＩＤを使用してもよく、この場合はスレーブアドレス３７８はスレーブアドレス３５４と同一のデータになる。通信制御装置１２０の動作モードがスルーモードであるので、スレーブアドレス３７８をスレーブアドレス設定レジスタ３４の設定値（読み出し対象装置のアドレス値）に変更し、スレーブ選択レジスタ３６の設定値に従って選択したスレーブ装置（読み出し対象装置）に対して変更後のスレーブアドレス３７８（読み出し対象装置のアドレス値）及びリード信号３８０を送信する。
【０１０７】
読み出し対象装置は、通信制御装置１２０から変更後のスレーブアドレス３７８（読み出し対象装置のアドレス値）及びリード信号３８０を受信し、変更後のスレーブアドレス３７８（読み出し対象装置のアドレス値）が自己のアドレス値と一致するので通信制御装置１２０にアクノリッジ信号３８２を送信する。ここで、読み出し対象装置は、その動作モードをリードモードにセットする。通信制御装置１２０は、読み出し対象装置から受信したアクノリッジ信号３８２をマスター装置１１０に送信した後、シリアルバス１１４を解放する。
【０１０８】
次に、読み出し対象装置は、アドレスレジスタにセットされたアドレスに割り当てられた内部レジスタ（すなわち、読み出し対象レジスタ）からｍバイトデータを読み出し、最初の１バイトデータ３８４−１を通信制御装置１２０に送信する。通信制御装置１２０は、読み出し対象装置から最初の１バイトデータ３８４−１を受信し、マスター装置１１０に送信する。マスター装置１１０は、通信制御装置１２０から最初の１バイトデータ３８４−１を受信し、通信制御装置１２０にアクノリッジ信号３８６−１を送信した後、シリアルバス１１４を解放する。通信制御装置１２０は、マスター装置１１０から受信したアクノリッジ信号３８６−１を読み出し対象装置に送信する。以降は、読み出し対象装置は読み出したデータを１バイトずつ送信し、通信制御装置１２０は１バイトずつデータを受信してマスター装置１１０に送信し、マスター装置１１０は通信制御装置１２０から１バイトデータを受信する毎に通信制御装置１２０にアクノリッジ信号を送信し、通信制御装置１２０はマスター装置１１０から受信したアクノリッジ信号を読み出し対象装置に送信した後シリアルバス１１４を解放する処理を繰り返す。そして、通信制御装置１２０が読み出し対象装置から受信した最後の１バイトデータ３８４−ｍを送信すると、マスター装置１１０は１バイトデータ３８４−ｍを受信し、ノットアクノリッジ信号３８６−ｍを送信する。通信制御装置１２０は、マスター装置１１０から受信したノットアクノリッジ信号３８６−ｍを読み出し対象装置に送信する。読み出し対象装置は、通信制御装置１２０からノットアクノリッジ信号３８４−ｍを受信する（すなわち、アクノリッジ信号を受信しない）ので。次の１バイトデータの送信を行わず、ｍバイトデータの送信を終了する。
【０１０９】
最後に、マスター装置１１０は、ストップコンディション３８８を送信した後シリアルバス１１４を解放して書き込みコマンドの送信を終了する。
【０１１０】
３−３．第１のデータ通信システムのコマンドシーケンス
図８は、図５で説明したデータ通信システム１０１において、マスター装置１１０がスレーブ装置１〜４（１５０−１〜１５０−４）の内部レジスタを順に設定するために送信するコマンドシーケンスの第１の例を示す図である。図８の説明において、スレーブ装置１〜４（１５０−１〜１５０−４）のアドレス値はすべて４０Ｈであるものとする。また、図８及び後述する図９、図１０の説明において、通信制御装置１２０のアドレス値は３６Ｈであり、スレーブ装置５〜８（１６０〜１９０）のアドレス値はそれぞれ４０Ｈ、４１Ｈ、４２Ｈ、４３Ｈであり、通信用アドレス設定レジスタ３２、スレーブアドレス設定レジスタ３４、スレーブ選択レジスタ３６の内部アドレスは、それぞれ００１０Ｈ、００１４Ｈ、０００４Ｈであるものとする。
【０１１１】
なお、図８及び後述する図９、図１０のコマンドシーケンスにおける書き込みコマンド２００−１〜２００−１１は、図６（Ａ）で説明した形式のコマンド（ｍ＝１の場合）である。また、図８及び後述する図９、図１０のコマンドシーケンスにおける書き込みコマンド３００−１〜３００−４は、図７（Ａ）で説明した形式のコマンド（ｍ＝２の場合）である。
【０１１２】
書き込みコマンド２００−１は通信制御装置１２０の通信用アドレス設定レジスタ３２（アドレス００１０Ｈ）に２ＦＨ（スルーＩＤ）を設定するためのコマンド（スルーＩＤ設定コマンド）である。
【０１１３】
書き込みコマンド２００−２は通信制御装置１２０のスレーブアドレス設定レジスタ３４（アドレス００１４Ｈ）に４０Ｈ（スレーブ装置１〜４（１５０−１〜１５０−４）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１１４】
書き込みコマンド２００−３は通信制御装置１２０のスレーブ選択レジスタ３６（アドレス０００４Ｈ）に０１Ｈ（接続先としてスレーブ装置１（１５０−１）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１１５】
書き込みコマンド３００−１はスレーブ装置１（１５０−１）の内部レジスタ（アドレス００２０Ｈ）に２バイトデータ０１２３Ｈを設定するためのコマンドである。
【０１１６】
書き込みコマンド２００−４は通信制御装置１２０のスレーブ選択レジスタ３６（アドレス０００４Ｈ）に０２Ｈ（接続先としてスレーブ装置２（１５０−２）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１１７】
書き込みコマンド３００−２はスレーブ装置２（１５０−２）の内部レジスタ（アドレス００２０Ｈ）に２バイトデータ４５６７Ｈを設定するためのコマンドである。
【０１１８】
書き込みコマンド２００−５は通信制御装置１２０のスレーブ選択レジスタ３６（アドレス０００４Ｈ）に０４Ｈ（接続先としてスレーブ装置３（１５０−３）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１１９】
書き込みコマンド３００−３はスレーブ装置３（１５０−３）の内部レジスタ（アドレス００２０Ｈ）に２バイトデータ８９ＡＢＨを設定するためのコマンドである。
【０１２０】
書き込みコマンド２００−６は通信制御装置１２０のスレーブ選択レジスタ３６（アドレス０００４Ｈ）に０８Ｈ（接続先としてスレーブ装置４（１５０−４）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１２１】
書き込みコマンド３００−４はスレーブ装置４（１５０−４）の内部レジスタ（アドレス００２０Ｈ）に２バイトデータＣＤＥＦＨを設定するためのコマンドである。
【０１２２】
なお、書き込みコマンド２００−１〜２００−９において、図６（Ａ）で説明したスレーブアドレス２０４に３６Ｈ（通信制御装置１２０のアドレス値）が指定されているので、マスター装置１１０は通信制御装置１２０の内部レジスタを設定することができる。
【０１２３】
また、書き込みコマンド３００−１〜３００−４において、図７（Ａ）で説明したスレーブアドレス２０４及び２１２に２ＦＨ（スルーＩＤ）が指定されているので、マスター装置１１０は通信制御装置１２０をスルーしてそれぞれスレーブ装置１〜４（１５０−１〜１５０−４）の内部レジスタを設定することができる。
【０１２４】
図９は、図５で説明したデータ通信システム１０１において、マスター装置１１０がスレーブ装置１〜４（１５０−１〜１５０−４）の内部レジスタを順に設定するために送信するコマンドシーケンスの第２の例を示す図である。図９の説明において、スレーブ装置１、２（１５０−１、１５０−２）のアドレス値は４０Ｈであり、スレーブ装置３、４（１５０−３、１５０−４）のアドレス値は４１Ｈであるものとする。
【０１２５】
図９のコマンドシーケンスにおいて、書き込みコマンド２００−１〜２００−６、３００−１〜３００−４は図８のコマンドシーケンスと全く同じであるため同じ符号を付しており、説明を省略する。
【０１２６】
書き込みコマンド２００−７は通信制御装置１２０のスレーブアドレス設定レジスタ３４（アドレス００１４Ｈ）に４１Ｈ（スレーブ装置３、４（１５０−３、１５０−４）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１２７】
図９のコマンドシーケンスによれば、書き込みコマンド２００−７によって、スレーブアドレス設定レジスタ３４の設定値を前のデータ通信対象のスレーブ装置２（１５０−２）のアドレス値（４０Ｈ）から次のデータ通信対象のスレーブ装置３（１５０−３）のアドレス値（４１Ｈ）に変更するだけで、アドレス値の異なるスレーブ装置に対しても簡単にデータ通信を行うことができる。
【０１２８】
図１０は、図５で説明したデータ通信システム１０１において、マスター装置１１０がスレーブ装置１〜４（１５０−１〜１５０−４）の内部レジスタを順に設定するために送信するコマンドシーケンスの第３の例を示す図である。図１０の説明において、スレーブ装置１〜４（１５０−１〜４）のアドレス値はそれぞれ４０Ｈ、４１Ｈ、４２Ｈ、４３Ｈであるものとする。また、通信制御装置１２０は、スレーブ装置１〜４（１５０−１〜１５０−４）に対応して４つのスレーブアドレス設定レジスタ５０、５２、５４、５６を有し、スレーブアドレス設定レジスタ５０、５２、５４、５６の内部アドレスは、それぞれ００１４Ｈ、００１８Ｈ、００１ＣＨ、００２０Ｈであるものとする。さらに、通信制御装置１２０は、スレーブ選択レジスタ３６の設定値に従い選択するスレーブ装置１〜４（１５０−１〜１５０−４）に対して、図７（Ａ）で説明したスレーブアドレス３１２を、対応するスレーブアドレス設定レジスタ５０、５２、５４、５６の設定値にそれぞれ変更してスレーブ装置１〜４（１５０−１〜１５０−４）に送信するものとする。
【０１２９】
図１０のコマンドシーケンスにおいて、書き込みコマンド２００−１、２００−３〜２００−６、３００−１〜３００−４は図８のコマンドシーケンスと全く同じであるため同じ符号を付しており、説明を省略する。
【０１３０】
書き込みコマンド２００−８は通信制御装置１２０のスレーブアドレス設定レジスタ５０（アドレス００１４Ｈ）に４０Ｈ（スレーブ装置１（１５０−１）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１３１】
書き込みコマンド２００−９は通信制御装置１２０のスレーブアドレス設定レジスタ５２（アドレス００１８Ｈ）に４１Ｈ（スレーブ装置２（１５０−２）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１３２】
書き込みコマンド２００−１０は通信制御装置１２０のスレーブアドレス設定レジスタ５４（アドレス００１ＣＨ）に４２Ｈ（スレーブ装置３（１５０−３）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１３３】
書き込みコマンド２００−１１は通信制御装置１２０のスレーブアドレス設定レジスタ５６（アドレス００２０Ｈ）に４３Ｈ（スレーブ装置４（１５０−４）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１３４】
図１０のコマンドシーケンスによれば、書き込みコマンド２００−８、２００−９、２００−１０、２００−１１によって、スレーブアドレス設定レジスタ５０、５２、５４、５６の設定値をそれぞれ設定することにより、スレーブ選択レジスタ３６の設定値に従って選択されるスレーブ装置とそのアドレス値の対応テーブルが通信制御装置１２０に作成される。そのため、図１０のコマンドシーケンスによれば、書き込みコマンド２００−３、２００−４、２００−５、２００−６によってデータ通信対象のスレーブ装置の選択を変更するだけでアドレス値の異なるスレーブ装置に対しても簡単にデータ通信を行うことができる。
【０１３５】
このように、本実施の形態のデータ通信システム１０１によれば、マスター装置１１０はスレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行う前にスレーブ選択レジスタ３６に選択情報を設定するスレーブ選択コマンドを通信制御装置１２０に送信し、通信制御装置１２０はスレーブ選択レジスタ３６の設定値に基づいてデータ通信対象装置を選択する。従って、スレーブ装置１〜４（１５０−１〜１５０−４）が同一のアドレス値を有していても、マスター装置１１０はスレーブ選択レジスタ３６の設定値を変更することによりスレーブ装置１〜４（１５０−１〜１５０−４）のいずれかを選択してデータ通信を行うことができる。
【０１３６】
また、本実施の形態のデータ通信システム１０１によれば、マスター装置１１０はスレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行う際にはスレーブアドレスにスルーＩＤが指定されたデータ通信用コマンドを通信制御装置１２０に送信し、通信制御装置１２０はマスター装置１１０から受信したコマンドに含まれるスレーブアドレスとスルーＩＤの比較結果に基づいて、当該コマンドに変換処理を施してスレーブ装置１〜４（１５０−１〜１５０−４）に送信するか否かを制御する。すなわち、スレーブ装置１〜４（１５０−１〜１５０−４）のいずれかのアドレス値とスレーブ装置５〜８（１６０〜１９０）のいずれかのアドレス値が同じであったとしても、マスター装置１１０は、スレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行うことができる。
【０１３７】
また、本実施の形態のデータ通信システム１０１によれば、マスター装置１１０はスレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行う前にスルーＩＤ設定コマンドを通信制御装置１２０に送信する。従って、スルーＩＤを可変に設定できるので、データ通信システム１０１の構成を変更しても柔軟に対応することができる。
【０１３８】
また、本実施の形態のデータ通信システム１０１によれば、マスター装置１１０はスレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行う前にスレーブアドレス設定コマンドを通信制御装置１２０に送信する。従って、スレーブ装置１〜４（１５０−１〜１５０−４）の２つ以上が異なるアドレス値を有していても、マスター装置１１０はスレーブアドレス設定レジスタ３４の設定値を変更することにより、スレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行うことができる。
【０１３９】
また、本実施の形態のデータ通信システム１０１によれば、マスター装置１１０が送信するデータ通信用コマンドには、スルーＩＤが指定された第１のスレーブアドレス３０４（３５４）とダミーのアドレス値が指定された第２のスレーブアドレス３１２（３６２）が含まれる。そのため、通信制御装置１２０は第１のスレーブアドレス３０４（３５４）により当該コマンドを変換してスレーブ装置１〜４（１５０−１〜１５０−４）に送信するか否かを判断した後、第２のスレーブアドレス３１２（３６２）を、スレーブ装置１〜４（１５０−１〜１５０−４）のいずれかのアドレス値に置き換えて送信することができる。従って、通信制御装置１２０は、データ通信用コマンドをスレーブ装置１〜４（１５０−１〜１５０−４）にリアルタイムに送信することができる。
【０１４０】
４．第２のデータ通信システムの動作説明
４−１．第２のデータ通信システムの構成
図１１は、Ｉ２Ｃバス通信プロトコルに基づいてデータ通信を行うデータ通信システムの第２の構成例について説明するための図である。図１１のデータシステム１０２の構成は、図２で説明したデータ通信システム２の構成に対応する。なお、図５のデータ通信システム１０１と同じ構成については、同じ符号を付しており説明を省略する。
【０１４１】
データ通信システム１０２は、マスター装置１１０、通信制御装置１〜３（１２０−１〜１２０−３）、スレーブ装置１〜８（１５０−１〜１５０−４、１６０〜１９０）を含んで構成されている。
【０１４２】
通信制御装置１〜３（１２０−１〜１２０−３）の内部構成は図５で説明した通信制御装置１２０と同じである。すなわち、通信制御装置１（１２０−１）は、通信用アドレス設定レジスタ３２−１、スレーブアドレス設定レジスタ３４−１、スレーブ選択レジスタ３６−１等を含み、通信制御装置２（１２０−２）は、通信用アドレス設定レジスタ３２−２、スレーブアドレス設定レジスタ３４−２、スレーブ選択レジスタ３６−２等を含み、通信制御装置３（１２０−３）は、通信用アドレス設定レジスタ３２−３、スレーブアドレス設定レジスタ３４−３、スレーブ選択レジスタ３６−３等を含んでいる。
【０１４３】
マスター装置１１０のＳＣＬ出力端子は、シリアルバス１１２を介して通信制御装置１（１２０−１）及びスレーブ装置５〜８（１６０〜１９０）のＳＣＬ入力端子と接続されている。また、マスター装置１１０のＳＤＡ入出力端子は、シリアルバス１１４を介して通信制御装置１（１２０−１）及びスレーブ装置５〜８（１６０〜１９０）のＳＤＡ入力端子と接続されている。
【０１４４】
通信制御装置１（１２０−１）のＳＣＬ１出力端子及びＳＤＡ１入出力端子は、それぞれ、クロック信号線１２２及びデータ信号線１２４により通信制御装置２（１２０−２）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。通信制御装置２（１２０−２）のＳＣＬ１出力端子及びＳＤＡ１入出力端子は、それぞれ、クロック信号線１２６及びデータ信号線１２８により通信制御装置３（１２０−３）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。通信制御装置３（１２０−３）のＳＣＬ１出力端子及びＳＤＡ１入出力端子は、それぞれ、クロック信号線１３０−１及びデータ信号線１３２−１によりスレーブ装置１（１５０−１）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。同様に、通信制御装置３（１２０−３）のＳＣＬ２出力端子及びＳＤＡ２入出力端子は、それぞれ、クロック信号線１３０−２及びデータ信号線１３２−２によりスレーブ装置２（１５０−２）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。同様に、通信制御装置３（１２０−３）のＳＣＬ３出力端子及びＳＤＡ３入出力端子は、それぞれ、クロック信号線１３０−３及びデータ信号線１３２−３によりスレーブ装置３（１５０−３）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。同様に、通信制御装置３（１２０−３）のＳＣＬ４出力端子及びＳＤＡ４入出力端子は、それぞれ、クロック信号線１３０−４及びデータ信号線１３２−４によりスレーブ装置４（１５０−４）のＳＣＬ入力端子及びＳＤＡ入出力端子と接続されている。
【０１４５】
マスター装置１１０は、スタートコンディションを送信した後、所定のコマンドを送信することにより通信制御装置１（１２０−１）及びスレーブ装置５〜８（１６０〜１９０）とデータ通信を開始することができる。また、マスター装置１１０は、図３及び図４のフローチャートに従って通信制御装置１（１２０−１）のレジスタ設定を行った後は、通信制御装置２（１２０−２）とデータ通信を行うことができる。また、マスター装置１１０は、図３及び図４のフローチャートに従って通信制御装置１、２（１２０−１、１２０−２）のレジスタ設定を行った後は、通信制御装置３（１２０−３）とデータ通信を行うことができる。また、マスター装置１１０は、図３及び図４のフローチャートに従って通信制御装置１〜３（１２０−１〜１２０−３）のレジスタ設定を行った後は、スレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行うこともできる。
【０１４６】
データ通信を終了する場合には、マスター装置１１０はストップコンディションを送信する。
【０１４７】
なお、図示しないが、通信制御装置１（１２０−１）のＳＣＬ２出力端子及びＳＤＡ２入出力端子、ＳＣＬ３出力端子及びＳＤＡ３入出力端子、ＳＣＬ４出力端子及びＳＤＡ４入出力端子にはそれぞれスレーブ装置又は通信制御装置を接続することができる。同様に、通信制御装置２（１２０−２）のＳＣＬ２出力端子及びＳＤＡ２入出力端子、ＳＣＬ３出力端子及びＳＤＡ３入出力端子、ＳＣＬ４出力端子及びＳＤＡ４入出力端子にはそれぞれスレーブ装置又は通信制御装置を接続することができる。従って、複数の通信制御装置を縦続接続することによりマスター装置１１０とデータ通信可能なスレーブ装置の数を増やすことができる。
【０１４８】
４−２．第２のデータ通信システムのコマンド形式
図１２（Ａ）、図１２（Ｂ）は、図１１で説明したマスター装置１１０がスレーブ装置１〜４（１５０−１〜１５０−４）のいずれかとデータ通信する時に送信するコマンドの形式の一例を示す図である。なお、マスター装置１１０が図１２（Ａ）、図１２（Ｂ）のコマンドを送信する前に、図３及び図４のフローチャートに従って通信用アドレス設定レジスタ３２−１、３２−２、３２−３には、通信制御装置１（１２０−２）、通信制御装置２（１２０−２）、通信制御装置３（１２０−３）をそれぞれスルーさせるためのスルーＩＤ１、スルーＩＤ２、スルーＩＤ３が設定されているものとする。また、スレーブアドレス設定レジスタ３４−１、３４−２、３４−３には、それぞれスルーＩＤ２、スルーＩＤ３、データ通信対象装置（書き込み対象装置又は読み出し対象装置）のアドレス値が設定されているものとする。さらに、スレーブ選択レジスタ３６−１、３６−２、３６−３には、それぞれ接続先として通信制御装置２（１２０−２）、通信制御装置３（１２０−３）、データ通信対象装置（書き込み対象装置又は読み出し対象装置）を選択するための選択情報が設定されているものとする。
【０１４９】
図１２（Ａ）は、書き込みコマンドの形式の一例である。書き込みコマンド４００は、スタートコンディション４０２により開始し、ストップコンディション４３０により終了する。
【０１５０】
まず、マスター装置１１０は、スタートコンディション４０２を送信した後、スレーブアドレス４０４及びライト信号４０６を送信し、通信制御装置１（１２０−１）及びスレーブ装置５〜８（１６０〜１９０）はスレーブアドレス４０４及びライト信号４０６を受信する。ここで、マスター装置１１０は、スレーブアドレス４０４としてスルーＩＤ１を送信する。スルーＩＤ１は、通信制御装置１（１２０−１）及びスレーブ装置５〜８（１６０〜１９０）のアドレス値と異なるアドレス値が選択される。マスター装置１１０は、スレーブアドレス４０４及びライト信号４０６を送信した後、シリアルバス１１４を解放する。
【０１５１】
通信制御装置１（１２０−１）は、受信したスレーブアドレス４０４（スルーＩＤ１）が通信用アドレス設定レジスタ３２の設定値（スルーＩＤ１）と一致するので、その動作モードをこれ以降の受信データを通信制御装置２（１２０−２）に送信可能なスルーモードに設定する。そして、通信制御装置１（１２０−１）はアクノリッジ信号４０８をマスター装置１１０に送信し、マスター装置１１０はアクノリッジ信号４０８を受信する。通信制御装置１（１２０−１）は、アクノリッジ信号４０８を送信した後、シリアルバス１１４を解放する。
【０１５２】
次に、マスター装置１１０は、スタートコンディション４１０−１を再度送信し、スレーブアドレス４１２−１及びライト信号４１４−１を送信した後シリアルバス１１４を解放する。通信制御装置１（１２０−１）はスレーブアドレス４１２−１及びライト信号４１４−１を受信する。通信制御装置１（１２０−１）は、その動作モードがスルーモードになっているので、スレーブアドレス４１２−１をスレーブアドレス設定レジスタ３４−１の設定値（スルーＩＤ２）に変更し、スレーブ選択レジスタ３６−１の設定値に従って選択した通信制御装置２（１２０−２）に対して変更後のスレーブアドレス４１２−１（スルーＩＤ２）及びライト信号４１４−１を送信する。
【０１５３】
通信制御装置２（１２０−２）は、通信制御装置１（１２０−１）から変更後のスレーブアドレス４１２−１（スルーＩＤ２）及びライト信号４１４−１を受信し、変更後のスレーブアドレス４１２−１（スルーＩＤ２）が通信用アドレス設定レジスタ３２−２の設定値（スルーＩＤ２）と一致するので、その動作モードをこれ以降の受信データを通信制御装置３（１２０−３）に送信可能なスルーモードに設定する。そして、通信制御装置２（１２０−２）は、通信制御装置１（１２０−１）にアクノリッジ信号４１６−１を送信する。通信制御装置１（１２０−１）は、通信制御装置２（１２０−２）から受信したアクノリッジ信号４１６−１をマスター装置１１０に送信した後、シリアルバス１１４を解放する。
【０１５４】
次に、マスター装置１１０は、スタートコンディション４１０−２を再度送信し、スレーブアドレス４１２−２及びライト信号４１４−２を送信した後シリアルバス１１４を解放する。通信制御装置１（１２０−１）の動作モードがスルーモードになっているので、通信制御装置２（１２０−２）は、通信制御装置１（１２０−１）から変更後のスレーブアドレス４１２−２（スルーＩＤ２）及びライト信号４１４−２を受信する。通信制御装置２（１２０−２）は、その動作モードがスルーモードになっているので、スレーブアドレス４１２−２をスレーブアドレス設定レジスタ３４−２の設定値（スルーＩＤ３）に変更し、スレーブ選択レジスタ３６−２の設定値に従って選択した通信制御装置３（１２０−３）に対して変更後のスレーブアドレス４１２−２（スルーＩＤ３）及びライト信号４１４−２を送信する。
【０１５５】
通信制御装置３（１２０−３）は、通信制御装置２（１２０−２）から変更後のスレーブアドレス４１２−２（スルーＩＤ３）及びライト信号４１４−２を受信し、変更後のスレーブアドレス４１２−２（スルーＩＤ３）が通信用アドレス設定レジスタ３２−３の設定値（スルーＩＤ３）と一致するので、その動作モードをこれ以降の受信データをスレーブ装置１〜４（１５０−１〜１５０−４）のいずれかに送信可能なスルーモードに設定する。そして、通信制御装置３（１２０−３）は、通信制御装置２（１２０−２）にアクノリッジ信号４１６−２を送信する。通信制御装置２（１２０−２）は、通信制御装置３（１２０−３）から受信したアクノリッジ信号４１６−２を通信制御装置１（１２０−１）に送信する。通信制御装置１（１２０−１）は、通信制御装置２（１２０−２）から受信したアクノリッジ信号４１６−２をマスター装置１１０に送信した後、シリアルバス１１４を解放する。
【０１５６】
次に、マスター装置１１０は、スタートコンディション４１０−３を再度送信し、スレーブアドレス４１２−３及びライト信号４１４−３を送信した後シリアルバス１１４を解放する。通信制御装置１、２（１２０−１、１２０−２）の動作モードがスルーモードになっているので、通信制御装置３（１２０−３）は、通信制御装置２（１２０−２）から変更後のスレーブアドレス４１２−３（スルーＩＤ３）及びライト信号４１４−３を受信する。通信制御装置３（１２０−３）は、その動作モードがスルーモードになっているので、スレーブアドレス４１２−３をスレーブアドレス設定レジスタ３４−３の設定値（書き込み対象装置のアドレス値）に変更し、スレーブ選択レジスタ３６−３の設定値に従って選択したスレーブ装置（書き込み対象装置）に対して変更後のスレーブアドレス４１２−３（書き込み対象装置のアドレス値）及びライト信号４１４−３を送信する。
【０１５７】
書き込み対象装置は、通信制御装置３（１２０−３）から変更後のスレーブアドレス４１２−３（書き込み対象装置のアドレス値）及びライト信号４１４−３を受信し、変更後のスレーブアドレス４１２−３（書き込み対象装置のアドレス値）が自己のアドレス値と一致するので通信制御装置３（１２０−３）にアクノリッジ信号４１６−３を送信する。通信制御装置３（１２０−３）は、書き込み対象装置から受信したアクノリッジ信号４１６−３を通信制御装置２（１２０−２）に送信する。通信制御装置２（１２０−２）は、通信制御装置３（１２０−３）から受信したアクノリッジ信号４１６−３を通信制御装置１（１２０−１）に送信する。通信制御装置１（１２０−１）は、通信制御装置２（１２０−２）から受信したアクノリッジ信号４１６−３をマスター装置１１０に送信した後、シリアルバス１１４を解放する。
【０１５８】
この時点において通信制御装置１〜３（１２０−１〜３）の動作モードはすべてスルーモードに設定されており、これ以降、マスター装置１１０は書き込み対象装置とデータ通信を行うことができる。内部アドレス４１８〜ストップコンディション４３０は、図７（Ａ）で説明した内部アドレス３１８〜ストップコンディション３３０と同じであるので、以降の説明は省略する。
【０１５９】
なお、マスター装置１１０による通信制御装置１（１２−１）の内部レジスタへの書き込みコマンドは、図１２（Ａ）の書き込みコマンド４００において、スタートコンディション４１０−１〜アクノリッジ信号４１６−１、スタートコンディション４１０−２〜アクノリッジ信号４１６−２及びスタートコンディション４１０−３〜アクノリッジ信号４１６−３を削除したコマンドに相当する。また、マスター装置１１０による通信制御装置２（１２−２）の内部レジスタへの書き込みコマンドは、図１２（Ａ）の書き込みコマンド４００において、スタートコンディション４１０−２〜アクノリッジ信号４１６−２及びスタートコンディション４１０−３〜アクノリッジ信号４１６−３を削除したコマンドに相当する。また、マスター装置１１０による通信制御装置３（１２−３）の内部レジスタへの書き込みコマンドは、図１２（Ａ）の書き込みコマンド４００において、スタートコンディション４１０−３〜アクノリッジ信号４１６−３を削除したコマンドに相当する。
【０１６０】
図１２（Ｂ）は、読み出しコマンドの形式の一例である。読み出しコマンド４５０は、スタートコンディション４５２により開始し、ストップコンディション４８８により終了する。スタートコンディション４５２〜アクノリッジ信号４６６−３は、図１２（Ａ）で説明したスタートコンディション４０２〜アクノリッジ信号４１６−３と同じであるので、説明を省略する。アクノリッジ信号４６６−３の送信を終了した時点で、通信制御装置１〜３（１２０−１〜３）の動作モードはすべてスルーモードに設定されており、これ以降、マスター装置１１０は読み出し対象装置とデータ通信を行うことができる。内部アドレス４６８〜ストップコンディション４８８は、図７（Ｂ）で説明した内部アドレス３６８〜ストップコンディション３８８と同じであるので、以降の説明は省略する。
【０１６１】
なお、マスター装置１１０による通信制御装置１（１２−１）の内部レジスタへの読み出しコマンドは、図１２（Ｂ）の読み出しコマンド４５０において、スタートコンディション４６０−１〜アクノリッジ信号４６６−１、スタートコンディション４６０−２〜アクノリッジ信号４６６−２及びスタートコンディション４６０−３〜アクノリッジ信号４６６−３を削除したコマンドに相当する。また、マスター装置１１０による通信制御装置２（１２−２）の内部レジスタへの読み出しコマンドは、図１２（Ｂ）の読み出しコマンド４５０において、スタートコンディション４６０−２〜アクノリッジ信号４６６−２及びスタートコンディション４６０−３〜アクノリッジ信号４６６−３を削除したコマンドに相当する。また、マスター装置１１０による通信制御装置３（１２−３）の内部レジスタへの読み出しコマンドは、図１２（Ｂ）の読み出しコマンド４５０において、スタートコンディション４６０−３〜アクノリッジ信号４６６−３を削除したコマンドに相当する。
【０１６２】
４−３．第２のデータ通信システムのコマンドシーケンス
図１３は、図１１で説明したデータ通信システム１０２において、マスター装置１１０がスレーブ装置１〜４（１５０−１〜１５０−４）とのデータ通信の前に通信制御装置１〜３（１２０−１〜１２０−３）の内部レジスタを設定するために送信するコマンドシーケンスの一例を示す図である。図１３及び後述する図１４の説明において、通信制御装置１〜３（１２０−１〜１２０−３）のアドレス値はすべて３６Ｈであり、スレーブ装置１〜４（１５０−１〜１５０−４）のアドレス値はそれぞれ４０Ｈ、４１Ｈ、４２Ｈ、４３Ｈであり、スレーブ装置５〜８（１６０〜１９０）のアドレス値はそれぞれ４０Ｈ、４１Ｈ、４２Ｈ、４３Ｈであるものとする。また、通信用アドレス設定レジスタ３２−１〜３２−３の内部アドレスはすべて００１０Ｈであり、スレーブアドレス設定レジスタ３４−１〜３４−３の内部アドレスはすべて００１４Ｈであり、スレーブ選択レジスタ３６−１〜３６−３の内部アドレスはすべて０００４Ｈであるものとする。
【０１６３】
なお、図１３のコマンドシーケンスにおける書き込みコマンド４００−１〜４００−１３及び後述する図１４のコマンドシーケンスにおける書き込みコマンド４００−１４〜４００−２３は、図１２（Ａ）で説明した形式のコマンド（ｍ＝１又は２の場合）である。ただし、書き込みコマンド４００−１〜４００−２３において、図１２（Ａ）で説明したように、スタートコンディション４１０−１〜アクノリッジ信号４１６−１、スタートコンディション４１０−２〜アクノリッジ信号４１６−２及びスタートコンディション４１０−３〜アクノリッジ信号４１６−３の一部又は全部は必要に応じて削除されている。
【０１６４】
書き込みコマンド４００−１は通信制御装置１（１２０−１）の通信用アドレス設定レジスタ３２−１（アドレス００１０Ｈ）に２ＦＨ（スルーＩＤ１）を設定するためのコマンド（スルーＩＤ設定コマンド）である。
【０１６５】
書き込みコマンド４００−２は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に３６Ｈ（通信制御装置２（１２０−２）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１６６】
書き込みコマンド４００−３は通信制御装置１（１２０−１）のスレーブ選択レジスタ３６−１（アドレス０００４Ｈ）に０１Ｈ（接続先として通信制御装置２（１２０−２）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１６７】
書き込みコマンド４００−４は通信制御装置２（１２０−２）の通信用アドレス設定レジスタ３２−２（アドレス００１０Ｈ）に２ＥＨ（スルーＩＤ２）を設定するためのコマンド（スルーＩＤ設定コマンド）である。
【０１６８】
書き込みコマンド４００−５は通信制御装置２（１２０−２）のスレーブアドレス設定レジスタ３４−２（アドレス００１４Ｈ）に３６Ｈ（通信制御装置３（１２０−３）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１６９】
書き込みコマンド４００−６は通信制御装置２（１２０−２）のスレーブ選択レジスタ３６−２（アドレス０００４Ｈ）に０１Ｈ（接続先として通信制御装置３（１２０−３）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１７０】
書き込みコマンド４００−７は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に２ＥＨ（スルーＩＤ２）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１７１】
書き込みコマンド４００−８は通信制御装置３（１２０−３）の通信用アドレス設定レジスタ３２−３（アドレス００１０Ｈ）に２ＤＨ（スルーＩＤ３）を設定するためのコマンド（スルーＩＤ設定コマンド）である。
【０１７２】
書き込みコマンド４００−９は通信制御装置３（１２０−３）のスレーブアドレス設定レジスタ３４−３（アドレス００１４Ｈ）に４０Ｈ（スレーブ装置１（１５０−１）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１７３】
書き込みコマンド４００−１０は通信制御装置３（１２０−３）のスレーブ選択レジスタ３６−３（アドレス０００４Ｈ）に０１Ｈ（接続先としてスレーブ装置１（１５０−１）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１７４】
書き込みコマンド４００−１１は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に３６Ｈ（通信制御装置２（１２０−２）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１７５】
書き込みコマンド４００−１２は通信制御装置２（１２０−２）のスレーブアドレス設定レジスタ３４−２（アドレス００１４Ｈ）に２ＤＨ（スルーＩＤ３）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１７６】
書き込みコマンド４００−１３は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に２ＥＨ（スルーＩＤ２）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１７７】
なお、書き込みコマンド４００−１〜４００−３、４００−７、４００−１１、４００−１３において、図１２（Ａ）で説明したスレーブアドレス４０４に３６Ｈ（通信制御装置１（１２０−１）のアドレス値）が指定されているので、マスター装置１１０は通信制御装置１（１２０−１）の内部レジスタを設定することができる。
【０１７８】
また、書き込みコマンド４００−４〜４００−６、４００−１２において、図１２（Ａ）で説明したスレーブアドレス４０４及び４１２−１に２ＦＨ（スルーＩＤ１）が指定されている。さらに、書き込みコマンド４００−４〜４００−６、４００−１２の実行時には、スレーブアドレス設定レジスタ３４−１に３６Ｈ（通信制御装置２（１２０−２）のアドレス値）が設定され、スレーブ選択レジスタ３６−１に０１Ｈ（接続先として通信制御装置２（１２０−２）を選択するための選択情報）が設定されている。そのため、マスター装置１１０は通信制御装置１（１２０−１）をスルーして通信制御装置２（１２０−２）の内部レジスタを設定することができる。
【０１７９】
また、書き込みコマンド４００−８〜４００−１０において、図１２（Ａ）で説明したスレーブアドレス４０４、４１２−１及び４１２−２に２ＦＨ（スルーＩＤ１）が指定されている。さらに、書き込みコマンド４００−８〜４００−１０の実行時には、スレーブアドレス設定レジスタ３４−１及びスレーブアドレス設定レジスタ３４−２にそれぞれ２ＥＨ（スルーＩＤ２）及び３６Ｈ（通信制御装置３（１２０−３）のアドレス値）が設定され、スレーブ選択レジスタ３６−１及び３６−２にそれぞれ０１Ｈ（接続先として通信制御装置２（１２０−２）を選択するための選択情報）及び０１Ｈ（接続先として通信制御装置３（１２０−３）を選択するための選択情報）が設定されている。そのため、マスター装置１１０は通信制御装置１（１２０−１）及び通信制御装置２（１２０−２）をスルーして通信制御装置３（１２０−３）の内部レジスタを設定することができる。
【０１８０】
図１３のコマンドシーケンスを実行することにより、通信制御装置１（１２０−１）の通信用アドレス設定レジスタ３２−１、スレーブアドレス設定レジスタ３４−１、スレーブ選択レジスタ３６−１にはそれぞれ、２ＦＨ（スルーＩＤ１）、２ＥＨ（スルーＩＤ２）、０１Ｈ（接続先として通信制御装置２（１２０−２）を選択するための選択情報）が設定される。また、通信制御装置２（１２０−２）の通信用アドレス設定レジスタ３２−２、スレーブアドレス設定レジスタ３４−２、スレーブ選択レジスタ３６−２にはそれぞれ、２ＥＨ（スルーＩＤ２）、２ＤＨ（スルーＩＤ３）、０１Ｈ（接続先として通信制御装置３（１２０−３）を選択するための選択情報）が設定される。さらに、通信制御装置３（１２０−３）の通信用アドレス設定レジスタ３２−３、スレーブアドレス設定レジスタ３４−３、スレーブ選択レジスタ３６−３にはそれぞれ、２ＤＨ（スルーＩＤ３）、４０Ｈ（スレーブ装置１（１５０−１）のアドレス値）、０１Ｈ（接続先としてスレーブ装置１（１５０−１）を選択するための選択情報）が設定される。
【０１８１】
図１４は、図１１で説明したデータ通信システム１０２において、マスター装置１１０がスレーブ装置１（１５０−１）の内部レジスタ、スレーブ装置２（１５０−２）の内部レジスタの順に設定するために送信するコマンドシーケンスの一例を示す図である。図１４のコマンドシーケンスを実行する前に図１３のコマンドシーケンスが実行されているものとする。
【０１８２】
書き込みコマンド４００−１４はスレーブ装置１（１５０−１）の内部レジスタ（アドレス００２０Ｈ）に２バイトデータ０１２３Ｈを設定するためのコマンドである。
【０１８３】
書き込みコマンド４００−１５は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に３６Ｈ（通信制御装置２（１２０−２）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１８４】
書き込みコマンド４００−１６は通信制御装置２（１２０−２）のスレーブアドレス設定レジスタ３４−２（アドレス００１４Ｈ）に３６Ｈ（通信制御装置３（１２０−３）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１８５】
書き込みコマンド４００−１７は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に２ＥＨ（スルーＩＤ２）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１８６】
書き込みコマンド４００−１８は通信制御装置３（１２０−３）のスレーブアドレス設定レジスタ３４−３（アドレス００１４Ｈ）に４１Ｈ（スレーブ装置２（１５０−２）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１８７】
書き込みコマンド４００−１９は通信制御装置３（１２０−３）のスレーブ選択レジスタ３６−３（アドレス０００４Ｈ）に０２Ｈ（接続先としてスレーブ装置２（１５０−２）を選択するための選択情報）を設定するためのコマンド（スレーブ選択コマンド）である。
【０１８８】
書き込みコマンド４００−２０は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に３６Ｈ（通信制御装置２（１２０−２）のアドレス値）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１８９】
書き込みコマンド４００−２１は通信制御装置２（１２０−２）のスレーブアドレス設定レジスタ３４−２（アドレス００１４Ｈ）に２ＤＨ（スルーＩＤ３）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１９０】
書き込みコマンド４００−２２は通信制御装置１（１２０−１）のスレーブアドレス設定レジスタ３４−１（アドレス００１４Ｈ）に２ＥＨ（スルーＩＤ２）を設定するためのコマンド（スレーブアドレス設定コマンド）である。
【０１９１】
書き込みコマンド４００−２３はスレーブ装置２（１５０−２）の内部レジスタ（アドレス００２０Ｈ）に２バイトデータ４５６７Ｈを設定するためのコマンドである。
【０１９２】
以下、書き込みコマンド４００−１５〜４００−２２と同様のコマンドを実行してスレーブ選択レジスタ３６−３及びスレーブアドレス設定レジスタ３６−４の設定を変更すれば、マスター装置１１０は通信制御装置１（１２０−１）、通信制御装置２（１２０−２）及び通信制御装置３（１２０−３）をスルーしてスレーブ装置３、４（１５０−３、１５０−４）の内部レジスタを設定することができる。
【０１９３】
なお、書き込みコマンド４００−１４、４００−２３において、図１２（Ａ）で説明したスレーブアドレス４０４、４１２−１、４１２−２及び４１２−３に２ＦＨ（スルーＩＤ１）が指定されている。さらに、書き込みコマンド４００−１４、４００−２３の実行時には、スレーブアドレス設定レジスタ３４−１、３４−２及び３４−３にそれぞれ２ＥＨ（スルーＩＤ２）、２ＤＨ（スルーＩＤ３）及び４０Ｈ（スレーブ装置１（１５０−１）のアドレス値）（又は４１Ｈ（スレーブ装置２（１５０−２）のアドレス値））が設定され、スレーブ選択レジスタ３６−１、３６−２及び３６−３にそれぞれ０１Ｈ（接続先として通信制御装置２（１２０−２）を選択するための選択情報）、０１Ｈ（接続先として通信制御装置３（１２０−３）を選択するための選択情報）及び０１Ｈ（接続先としてスレーブ装置１（１５０−１）を選択するための選択情報）（又は０２Ｈ（接続先としてスレーブ装置２（１５０−２）を選択するための選択情報））が設定されている。そのため、マスター装置１１０は通信制御装置１（１２０−１）、通信制御装置２（１２０−２）及び通信制御装置３（１２０−３）をスルーしてスレーブ装置１、２（１５０−１、１５０−２）の内部レジスタを設定することができる。
【０１９４】
このように、本実施の形態のデータ通信システム１０２によれば、マスター装置１１０はスレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行う前に通信制御装置３（１２０−３）のスレーブ選択レジスタ３６−３に選択情報を設定するスレーブ選択コマンドを送信し、通信制御装置３（１２０−３）はスレーブ選択レジスタ３６−３の設定値に基づいてデータ通信対象装置を選択する。従って、スレーブ装置１〜４（１５０−１〜１５０−４）が同一のアドレス値を有していても、マスター装置１１０はスレーブ選択レジスタ３６−３の設定値を変更することによりスレーブ装置１〜４（１５０−１〜１５０−４）のいずれかを選択してデータ通信を行うことができる。
【０１９５】
また、本実施の形態のデータ通信システム１０２によれば、マスター装置１１０とスレーブ装置１〜４（１５０−１〜１５０−４）の間でデータ通信を行う際には、マスター装置１１０はスレーブアドレスにスルーＩＤ１が指定されたデータ通信用コマンドを通信制御装置１（１２０−１）に送信し、通信制御装置１、２（１２０−１、１２０−２）はそれぞれスレーブアドレスにスルーＩＤ２、スルーＩＤ３が指定されたコマンドを通信制御装置２、３（１２０−２、１２０−３）に送信し、通信制御装置３（１２０−３）は、通信制御装置２（１２０−２）から受信したコマンドに含まれるスレーブアドレスに基づいて、マスター装置１１０とスレーブ装置１〜４（１５０−１〜１５０−４）の間のデータ通信を制御する。すなわち、マスター装置１１０は、スレーブ装置１〜４（１５０−１〜１５０−４）のアドレス値がスレーブアドレスに指定されたコマンドを送信することなくスレーブ装置１〜４（１５０−１〜１５０−４）とデータ通信を行うので、スレーブ装置１〜４（１５０−１〜１５０−４）がスレーブ装置５〜８（１６０〜１９０）と同一のアドレス値を有していても当該データ通信を行うことができる。
【０１９６】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１９７】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【図面の簡単な説明】
【０１９８】
【図１】本実施形態のデータ通信システムの第１の構成例について説明するための図。
【図２】本実施形態のデータ通信システムの第２の構成例について説明するための図。
【図３】データ通信を実現するためのマスター装置の処理手順の一例について説明するためのフローチャート。
【図４】データ通信を実現するための通信制御装置の処理手順の一例について説明するためのフローチャート。
【図５】Ｉ２Ｃバス通信プロトコルに基づいてデータ通信を行うデータ通信システムの第１の構成例について説明するための図。
【図６】図６（Ａ）は、マスター装置が通信制御装置に送信する書き込みコマンドの形式の一例であり、図６（Ｂ）は、マスター装置が通信制御装置に送信する読み出しコマンドの形式の一例である。
【図７】図７（Ａ）は、マスター装置がスレーブ装置に送信する書き込みコマンドの形式の一例であり、図７（Ｂ）は、マスター装置がスレーブ装置に送信する読み出しコマンドの形式の一例である。
【図８】データ通信システムの第１の構成例において、マスター装置がスレーブ装置の内部レジスタを設定するために送信するコマンドシーケンスの第１の例を示す図。
【図９】データ通信システムの第１の構成例において、マスター装置がスレーブ装置の内部レジスタを設定するために送信するコマンドシーケンスの第２の例を示す図。
【図１０】データ通信システムの第１の構成例において、マスター装置がスレーブ装置の内部レジスタを設定するために送信するコマンドシーケンスの第３の例を示す図。
【図１１】Ｉ２Ｃバス通信プロトコルに基づいてデータ通信を行うデータ通信システムの第２の構成例について説明するための図。
【図１２】図１２（Ａ）は、マスター装置がスレーブ装置に送信する書き込みコマンドの形式の一例であり、図１２（Ｂ）は、マスター装置がスレーブ装置に送信する読み出しコマンドの形式の一例である。
【図１３】データ通信システムの第２の構成例において、マスター装置が通信制御装置の内部レジスタを設定するために送信するコマンドシーケンスの例を示す図。
【図１４】データ通信システムの第２の構成例において、マスター装置がスレーブ装置の内部レジスタを設定するために送信するコマンドシーケンスの例を示す図。
【符号の説明】
【０１９９】
１  データ通信システム、２  データ通信システム、１０  マスター装置、１２  マスター処理部、２０  通信制御装置、２０−１〜２０−Ｎ  通信制御装置、３０  レジスタファイル、３２  通信用アドレス設定レジスタ、３４  スレーブアドレス設定レジスタ、３６  スレーブ選択レジスタ、４０  通信制御処理部、４２  スレーブ処理部、４４  データ変換処理部、４６  通信経路選択部、５０−１〜５０−ｎ  スレーブ装置、１０１  データ通信システム、１０２  データ通信システム、１１０  マスター装置、１１２  シリアルバス、１１４  シリアルバス、１１６  抵抗器、１１８  抵抗器、１２０  通信制御装置、１２０−１〜１２０−３  通信制御装置、１２２  クロック信号線、１２２−１〜１２２−４  クロック信号線、１２４  データ信号線、１２４−１〜１２４−４  データ信号線、１２６  クロック信号線、１２８  データ信号線、１３０−１〜１３０−４  クロック信号線、１３２−１〜１３２−４  データ信号線、１５０−１〜１５０−４  スレーブ装置、１６０  スレーブ装置、１７０  スレーブ装置、１８０  スレーブ装置、１９０  スレーブ装置
【図１】
0004978421.tif 000002
【図２】
0004978421.tif 000003
【図３】
0004978421.tif 000004
【図４】
0004978421.tif 000005
【図５】
0004978421.tif 000006
【図６】
0004978421.tif 000007
【図７】
0004978421.tif 000008
【図８】
0004978421.tif 000009
【図９】
0004978421.tif 000010
【図１０】
0004978421.tif 000011
【図１１】
0004978421.tif 000012
【図１２】
0004978421.tif 000013
【図１３】
0004978421.tif 000014
【図１４】
0004978421.tif 000015