以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.データ通信システム、通信制御装置
1−1.データ通信システムの第1の構成例
図1は、本実施形態のデータ通信システムの第1の構成例について説明するための図である。本実施形態のデータ通信システム1は、当該構成要素(各部)の一部を省略した構成としてもよい。
データ通信システム1は、マスタースレーブ方式による所与の通信プロトコルに基づいてマスターとスレーブの間でデータ通信を行う。マスタースレーブ方式による通信プロトコルは、例えば、I2Cバス通信プロトコルであってもよい。
データ通信システム1は、マスター装置10を含む。マスター装置10は、マスタースレーブ方式による通信プロトコルにおけるマスターとして機能する。また、データ通信システム1は、通信制御装置20を含む。通信制御装置20は、マスター装置10及びスレーブ装置1〜n(50−1〜50−n)に接続され、マスター装置10とスレーブ装置1〜n(50−1〜50−n)の間のデータ通信を制御する。
マスター装置10は、マスター処理部12を含む。マスター処理部12は、スレーブ装置1〜n(50−1〜50−n)とデータ通信を行う前にスレーブ選択レジスタ36にデータ通信の対象となるスレーブ装置(データ通信対象装置)を選択するための選択情報を設定するコマンド(スレーブ選択コマンド)を通信制御装置20に送信する。
また、マスター処理部12は、スレーブ装置1〜n(50−1〜50−n)とデータ通信を行う前に、通信用アドレス設定レジスタ32に通信用のアドレス値(マスター装置10とスレーブ装置1〜n(50−1〜50−n)の間で送受信するデータについて通信制御装置20をスルーさせるための所定のアドレス値)(以下、スルーIDという)を設定するコマンド(スルーID設定コマンド)を通信制御装置20に送信するようにしてもよい。
また、マスター処理部12は、スレーブ装置1〜n(50−1〜50−n)とデータ通信を行う前に、スレーブアドレス設定レジスタ34にデータ通信対象装置のアドレス値を設定するコマンド(スレーブアドレス設定コマンド)を通信制御装置20に送信するようにしてもよい。
また、マスター処理部12は、スレーブ装置1〜n(50−1〜50−n)とデータ通信を行う際には、スレーブアドレスにスルーIDが指定されたコマンド(データ通信用コマンド)を通信制御装置20に送信する。
また、マスター処理部12は、スレーブ装置1〜n(50−1〜50−n)とデータ通信を行う際には、スルーIDが指定された第1のスレーブアドレスと所定のアドレス値が指定された第2のスレーブアドレスとを含むデータ通信用のコマンドを送信するようにしてもよい。
通信制御装置20は、レジスタファイル30にスレーブ選択レジスタ36を含む。また、通信制御装置20は、レジスタファイル30に通信用アドレス設定レジスタ32及びスレーブアドレス設定レジスタ34を含んでもよい。通信用アドレス設定レジスタ32にはスルーIDが設定される。スレーブアドレス設定レジスタ34にはデータ通信対象装置のアドレス値が設定される。スレーブ選択レジスタ36にはデータ通信対象装置を選択するための選択情報が設定される。
通信制御装置20は、通信制御処理部40を含む。通信制御処理部40は、例えば、スレーブ処理部42、データ変換処理部44、通信経路選択部46を含んで構成されていてもよい。
通信制御装置20は、マスタースレーブ方式による通信プロトコルにおけるスレーブとして機能してもよく、スレーブ処理部42がスレーブの機能を実現する。スレーブ処理部42は、例えば、マスター装置10が送信するコマンドに含まれるスレーブアドレスが通信制御装置20のアドレス値と一致した場合には当該コマンドを受信し、コマンドの指示に応じた処理を行う。例えば、スレーブ処理部42は、スルーID設定コマンドを受信した場合は通信用アドレス設定レジスタ32にスルーIDを設定する処理を行い、スレーブアドレス設定コマンドを受信した場合はスレーブアドレス設定レジスタ34にデータ通信対象装置のアドレス値を設定する処理を行い、スレーブ選択コマンドを受信した場合はスレーブ選択レジスタ36に選択情報を設定する処理を行う。
また、スレーブ処理部42は、マスター装置10から受信したコマンドに含まれるスレーブアドレスがスルーIDと一致した場合には、当該コマンドを受信し、データ変換部44に送信する処理を行う。例えば、マスター装置10から受信したコマンドに含まれるスレーブアドレスが通信用アドレス設定レジスタ32の設定値と一致した場合には、当該コマンドを受信し、データ変換部44に送信する処理を行うようにしてもよい。スレーブ処理部42は、マスター装置10からコマンドを受信した場合は、マスター装置10にアクノリッジ信号を送信するようにしてもよい。
データ変換処理部44は、スレーブ処理部42がマスター装置10から受信したコマンドをスレーブアドレスに通信経路選択部46が選択したスレーブ装置のアドレス値が指定されたコマンドに変換する処理を行う。例えば、データ変換処理部44は、当該コマンドをスレーブアドレスにスレーブアドレス設定レジスタ34の設定値が指定されたコマンドに変換する処理を行うようにしてもよい。
また、データ変換処理部44は、スレーブ処理部42がマスター装置10から受信したデータ通信用のコマンドに含まれる第1のスレーブアドレスを削除し、第2のスレーブアドレスに指定された所定のアドレス値を通信経路選択部46が選択したスレーブ装置のアドレス値に置き換える処理を行うようにしてもよい。
通信経路選択部46は、スレーブ選択レジスタ36の設定値に基づいてスレーブ装置1〜n(50−1〜50−n)のいずれかを選択し、データ変換処理部44が変換したコマンドを選択したスレーブ装置に送信する処理を行う。
通信制御装置20は、スレーブ選択レジスタ36の各設定値と当該各設定値に応じて選択されるスレーブ装置のアドレス値との対応関係を規定する対応テーブルを含んでもよい。この場合、データ変換処理部44は、マスター装置10から受信したコマンドに含まれるスレーブアドレスがスルーIDと一致した場合には、対応テーブルに基づいてスレーブ選択レジスタ36の設定値に対応づけられたアドレス値を選択し、当該コマンドをスレーブアドレスに通信経路選択部46が選択したスレーブ装置のアドレス値が指定されたコマンドに変換する処理を行うようにしてもよい。
1−2.データ通信システムの第2の構成例
図2は、本実施形態のデータ通信システムの第2の構成例について説明するための図である。本実施形態のデータ通信システム2は、当該構成要素(各部)の一部を省略した構成としてもよい。
データ通信システム2は、マスター装置10及びN個(Nは2以上の整数)の通信制御装置1〜N(20−1〜20−N)を含んで構成されている。マスター装置10は、図1で説明したデータ通信システム1のマスター装置10及びスレーブ装置1〜n(50−1〜50−n)と同じ構成であり、説明を省略する。
通信制御装置1(第1の通信制御装置)(20−1)は、マスター装置10及び通信制御装置2(第2の通信制御装置)(20−2)に接続されている。通信制御装置k(第kの通信制御装置)(20−k)(kは2以上N−1以下の整数)は、通信制御装置k−1(第k−1の通信制御装置)(20−(k−1))及び通信制御装置k+1(第k+1の通信制御装置)(20−(k+1))に接続されている。通信制御装置N(第Nの通信制御装置)(20−N)は、通信制御装置N−1(第N−1の通信制御装置)(20−(N−1))及びスレーブ装置1〜n(50−1〜50−n)に接続されている。通信制御装置1〜N(20−1〜20−N)は、マスター装置10とスレーブ装置1〜n(50−1〜50−n)の間のデータ通信を制御する。通信制御装置1〜N(20−1〜20−N)は、マスタースレーブ方式による通信プロトコルにおけるスレーブとして機能してもよい。
各通信制御装置j(jは1〜Nのいずれか)は、図1で説明したデータ通信システム1の通信制御装置20と同じ構成であってもよい。すなわち、通信用アドレス設定レジスタ32−j、スレーブアドレス設定レジスタ34−j、スレーブ選択レジスタ36−j、通信制御処理部40−jを含んでいてもよい。
通信制御装置1(20−1)は通信制御処理部40−1において、マスター装置10から受信したコマンドに含まれるスレーブアドレスと第1の通信用のアドレス値(スルーID1)を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第2の通信用のアドレス値(スルーID2)が指定されたコマンドに変換して通信制御装置2(20−2)に送信するか否かを制御する。
通信制御装置k(20−k)は、通信制御処理部40−kにおいて、通信制御装置k−1(20−(k−1))から受信したコマンドに含まれるスレーブアドレスと第kの通信用のアドレス値(スルーID(k))を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに第k+1の通信用のアドレス値(スルーID(k+1))が指定されたコマンドに変換して通信制御装置k+1(20−(k+1))に送信するか否かを制御する。
通信制御装置N(20−N)は、通信制御処理部40−Nにおいて、スレーブ選択レジスタ36−Nの設定値に基づいてスレーブ装置1〜n(50−1〜50−n)のいずれかを選択し、通信制御装置N−1(20−(N−1))とスレーブ装置1〜n(50−1〜50−n)の間のデータ通信を制御する。通信制御処理部40−Nは、通信制御装置N−1(20−(N−1))から受信したコマンドに含まれるスレーブアドレスと第Nの通信用のアドレス値(スルーID(N))を比較し、比較結果に基づいて、当該コマンドをスレーブアドレスに選択したスレーブ装置(スレーブ装置1〜n(50−1〜50−n)のいずれか)のアドレス値が指定されたコマンドに変換して当該スレーブ装置に送信するか否かを制御する。
マスター装置10は、マスター処理部12において、スレーブ装置1〜n(50−1〜50−n)とデータ通信を行う前にスレーブ選択レジスタ36−Nに選択情報を設定するコマンド(スレーブ選択コマンド)を通信制御装置1(20−1)に送信する。
また、マスター装置10は、マスター処理部12において、スレーブ装置1〜n(50−1〜50−n)とデータ通信を行う際にはスレーブアドレスにスルーID1が指定されたコマンド(データ通信用コマンド)を通信制御装置1(20−1)に送信する。
なお、各通信制御装置j(20−j)(jは1〜N−1のいずれか)は、図1で説明した通信制御装置20と同様の構成とすることにより、それぞれ複数のスレーブ装置を接続することができる。ここで、通信制御装置もスレーブ装置として機能するので、各通信制御装置はスレーブ装置として複数の通信制御装置を接続することができる。すなわち、多数の通信制御装置をツリー状に接続し、ツリーの各経路の終端にスレーブ装置を接続するように構成することもできる。従って、データ通信システム2によれば、マスター装置10とデータ通信可能なスレーブ装置の数を無限に増やすことができる。マスター装置10は、各通信制御装置の通信用アドレス設定レジスタ、スレーブアドレス設定レジスタ、スレーブ選択レジスタの設定値に従って選択されたスレーブ装置又は通信制御装置とデータ通信を行うことができる(通信制御装置もスレーブ装置の1つとして選択される)。
2.データ通信システムの処理手順
図3及び図4は、図1で説明した本実施の形態のデータ通信システム1において、データ通信を実現するためのマスター装置10及び通信制御装置20の処理手順の一例についてそれぞれ説明するためのフローチャートである。
まず、マスター装置10は、通信制御装置20にスルーID設定コマンドを送信する(図3のステップS10)。通信制御装置20は、マスター装置10からスルーID設定コマンドを受信し、通信用アドレス設定レジスタ32にスルーIDを設定する(図4のステップS20)。
次に、マスター装置10は、通信制御装置20にスレーブアドレス設定コマンドを送信する(図3のステップS12)。通信制御装置20は、マスター装置10からスレーブアドレス設定コマンドを受信し、スレーブアドレス設定レジスタ34にデータ通信対象装置のアドレス値を設定する(図4のステップS22)。
次に、マスター装置10は、通信制御装置20にスレーブ選択コマンドを送信する(図3のステップS14)。通信制御装置20は、マスター装置10からスレーブ選択コマンドを受信し、スレーブ選択レジスタ36に選択情報を設定する(図4のステップS24)。
次に、マスター装置10(マスター処理部12)は、スレーブアドレスにスルーIDが指定されたデータ通信用コマンドを通信制御装置20に送信する(図3のステップS16)。通信制御装置20は、マスター装置10からデータ通信用コマンドを受信する(図4のステップS26)。
次に、通信制御装置20は、受信したデータ通信用コマンドにおいて指定されたスレーブアドレスと通信用アドレス設定レジスタ32の設定値が一致するか否かを判断する(図4のステップS28)。データ通信用コマンドにおいて指定されたスレーブアドレスと通信用アドレス設定レジスタ32の設定値が一致しないと判断した場合(図4のステップS28でNoの場合)は、通信制御装置20はスレーブ装置1〜n(50−1〜50−n)とデータ通信を行わずに処理を終了する。
データ通信用コマンドにおいて指定されたスレーブアドレスと通信用アドレス設定レジスタ32の設定値が一致すると判断した場合(図4のステップS28でYesの場合)は、通信制御装置20は、マスター装置10から受信したデータ通信用コマンドを、スレーブアドレスにスレーブアドレス設定レジスタ34の設定値が指定されたコマンドに変換する(図4のステップS30)。
なお、データ通信用コマンドが2つのスレーブアドレスを含むように取り決めておいてもよい。この場合、マスター装置10は、図3のステップS16において、最初のスレーブアドレス(第1のスレーブアドレス)にスルーIDが指定され、次のスレーブアドレス(第2のスレーブアドレス)に所定のアドレス値(以下、ダミーのアドレス値という)が指定されたデータ通信用コマンドを送信するようにしてもよい。ダミーのアドレス値として、例えばスルーIDを選択してもよい。そして、通信制御装置20は、図4のステップS26において当該データ通信用コマンドを受信し、図4のステップS28において当該データ通信用コマンドに含まれる第1のスレーブアドレス(スルーID)が通信用アドレス設定レジスタ32の設定値と一致するか否かを判断し、一致すると判断した場合は、図4のステップS30において、第1のスレーブアドレスを削除し、第2のスレーブアドレスに指定されたダミーのアドレス値をスレーブアドレス設定レジスタ34の設定値に置き換えるようにしてもよい。
最後に、通信制御装置20は、スレーブ選択レジスタ36の設定値に基づいてスレーブ装置1〜n(50−1〜50−n)のいずれかを選択し、選択したスレーブ装置に図4のステップS30で変換したデータ通信用コマンドを送信する(図4のステップS32)。ここで、図4のステップS24において、スレーブ選択レジスタ36にはデータ通信対象装置を選択するための選択情報が設定されている。そのため、マスター装置10は、図3のステップS16において、スレーブアドレスにスルーIDが指定されたデータ通信用コマンドを送信することにより、データ通信対象装置との間の通信経路が確立され、データ通信対象装置との間でデータ通信を行うことができるようになる。
図4のステップS32において選択されたスレーブ装置は、データ通信用コマンドを受信し、データ通信用コマンドによりマスター装置10が指示する処理(内部レジスタに対する書き込みや読み出し等)を行う。このようにして、通信制御装置20を介して(スルーさせて)マスター装置10とスレーブ装置1〜n(50−1〜50−n)との間でデータ通信を行うことができる。
なお、スルーIDはマスター装置10に接続されるスレーブとして機能するすべての装置(通信制御装置20等)のアドレス値と異なるアドレス値であればよい。従って、スルーIDはマスター装置10に接続される装置を変更しない限り固定のアドレス値にしておいてもよい。この場合、マスター装置10は、図3のステップS10におけるスルーID設定コマンドの送信を、通信制御装置20の起動後に1回だけ行えばよい。また、スレーブ装置1〜n(50−1〜50−n)のアドレス値がすべて同じであれば、マスター装置10は、図3のステップS12におけるスレーブアドレス設定コマンドの送信を、通信制御装置20の起動後に1回だけ行えばよい。一方、マスター装置10は、図3のステップS14におけるスレーブ選択コマンドの送信については、データ通信対象装置を切り替える度に行う。
なお、図3及び図4のフローチャートは、図2で説明した本実施の形態のデータ通信システム2において、データ通信を実現するためのマスター装置10及び通信制御装置20−1〜20−Nの処理手順としても同様に適用できる。
3.第1のデータ通信システムの動作説明
3−1.第1のデータ通信システムの構成
図5は、I2Cバス通信プロトコルに基づいてデータ通信を行うデータ通信システムの第1の構成例について説明するための図である。図5のデータシステム101の構成は、図1で説明したデータ通信システム1の構成に対応する。
データ通信システム101は、マスター装置110、通信制御装置120、スレーブ装置1〜8(150−1〜150−4、160〜190)を含んで構成されている。マスター装置110のSCL出力端子は、シリアルバス112を介して通信制御装置120及びスレーブ装置5〜8(160〜190)のSCL入力端子と接続されている。また、マスター装置110のSDA入出力端子は、シリアルバス114を介して通信制御装置120及びスレーブ装置5〜8(160〜190)のSDA入力端子と接続されている。また、シリアルバス112及び114はそれぞれ抵抗器116及び118を介して電源にプルアップ接続されている。
通信制御装置120のSCL1出力端子及びSDA1入出力端子は、それぞれ、クロック信号線122−1及びデータ信号線124−1によりスレーブ装置1(150−1)のSCL入力端子及びSDA入出力端子と接続されている。同様に、通信制御装置120のSCL2出力端子及びSDA2入出力端子は、それぞれ、クロック信号線122−2及びデータ信号線124−2によりスレーブ装置2(150−2)のSCL入力端子及びSDA入出力端子と接続されている。同様に、通信制御装置120のSCL3出力端子及びSDA3入出力端子は、それぞれ、クロック信号線122−3及びデータ信号線124−3によりスレーブ装置3(150−3)のSCL入力端子及びSDA入出力端子と接続されている。同様に、通信制御装置120のSCL4出力端子及びSDA4入出力端子は、それぞれ、クロック信号線122−4及びデータ信号線124−4によりスレーブ装置4(150−4)のSCL入力端子及びSDA入出力端子と接続されている。
マスター装置110はI2Cバス通信プロトコルにおけるマスターとして機能し、通信制御装置120及びスレーブ装置1〜8(150−1〜150−4、160〜190)はI2Cバス通信プロトコルにおけるスレーブとして機能する。すなわち、マスター装置110がデータ通信の主導権を有する。マスター装置110は、データ通信を行う時にはSCL出力端子からシリアルバス112にクロック信号を出力(送信)する。マスター装置110がSCL出力端子からクロック信号を出力しない時はバス112は解放されるため抵抗器116を介してプルアップされてHレベルの電位(電源電位)になる。通信制御装置120及びスレーブ装置5〜8(160〜190)はシリアルバス112にクロック信号を出力することはできない。
マスター装置110、通信制御装置120及びスレーブ装置5〜8(160〜190)は、SDA入出力端子を介してシリアルバス114にデータを出力する(送信する)ことができるし、シリアルバス114のデータを入力(受信)することもできる。マスター装置110、通信制御装置120及びスレーブ装置5〜8(160〜190)の2つ以上の装置がシリアルバス114に同時にデータを出力することはできないが、マスター装置110、通信制御装置120及びスレーブ装置5〜8(160〜190)のいずれもシリアルバス114にデータを出力しなくてもよい(この場合、シリアルバス114は解放されるため抵抗器118を介してプルアップされてHレベルの電位になる)。
データ通信を開始するまでは、シリアルバス112及び114はいずれもHレベルの電位にプルアップされている。データ通信を開始する場合には、マスター装置110は、シリアルバス112(クロック信号)がHレベルの時に、シリアルバス114にHレベルからLレベルに遷移するデータを出力することにより、スタートコンディションを送信する。マスター装置110は、スタートコンディションを送信した後、所定のコマンドを送信することにより通信制御装置120及びスレーブ装置5〜8(160〜190)とデータ通信を開始することができる。また、マスター装置110は、図3及び図4のフローチャートに従って通信制御装置120のレジスタ設定を行った後は、スレーブ装置1〜4(150−1〜150−4)とデータ通信を行うこともできる。
データ通信を終了する場合には、マスター装置110は、シリアルバス112(クロック信号)がHレベルの時に、シリアルバス114にLレベルからHレベルに遷移するデータを出力することにより、ストップコンディションを送信する。
3−2.第1のデータ通信システムのコマンド形式
図6(A)、図6(B)は、図5で説明したマスター装置110が通信制御装置120及びスレーブ装置5〜8(160〜190)のいずれかとデータ通信する時に送信するコマンドの形式の一例を示す図である。
図6(A)は、書き込みコマンドの形式の一例である。書き込みコマンド200は、スタートコンディション202により開始し、ストップコンディション222により終了する。
まず、マスター装置110は、スタートコンディション202を送信した後、7ビットのスレーブアドレス204及び1ビットのライト信号206(Lレベル)を送信する。ここで、マスター装置110は、シリアルバス112に8クロック分のクロック信号を出力して7ビットのスレーブアドレス204及び1ビットのライト信号206の計8ビットのデータをクロック信号に同期させて送信する。同時に、通信制御装置120及びスレーブ装置5〜8(160〜190)は、この8クロック分のクロック信号に同期してスレーブアドレス204及びライト信号206を受信する。マスター装置110は、スレーブアドレス204及びライト信号206を送信した後、シリアルバス114を解放する。
次に、スレーブアドレス204が自己のアドレス値と一致した通信制御装置120及びスレーブ装置5〜8(160〜190)のいずれかの装置(書き込み対象装置)が1ビットのアクノリッジ信号208を送信する。ここで、マスター装置110は、シリアルバス112に1クロック分のクロック信号を出力し、書き込み対象装置が1ビットのアクノリッジ信号208をクロック信号に同期させて送信する。同時に、マスター装置110は、この1クロック分のクロック信号に同期してアクノリッジ信号208を受信する。書き込み対象装置は、アクノリッジ信号208を送信した後、シリアルバス114を解放する。
次に、マスター装置110は、書き込み対象装置の書き込み対象となる内部レジスタ(書き込み対象レジスタ)のアドレスの上位8ビット分のデータ210を送信した後、シリアルバス114を解放する。書き込み対象装置は、書き込み対象レジスタのアドレスの上位8ビット分のデータ210を受信し、アクノリッジ信号212を送信した後、シリアルバス114を解放する。
次に、マスター装置110は、書き込み対象レジスタのアドレスの下位8ビット分のデータ214を送信した後、シリアルバス114を解放する。書き込み対象装置は、書き込み対象レジスタのアドレスの下位8ビット分のデータ214を受信し、アクノリッジ信号216を送信した後、シリアルバス114を解放する。書き込み対象装置は、書き込み対象レジスタのアドレスの上位8ビット分のデータ210及び下位8ビット分のデータ214を内部のアドレスレジスタにセットする。
次に、マスター装置110は、書き込み対象レジスタに書き込むmバイト分のデータのうち最初の1バイト分のデータ218−1を送信した後、シリアルバス114を解放する。書き込み対象装置は、最初の1バイト分のデータ218−1を受信し、アクノリッジ信号220−1を送信した後、シリアルバス114を解放する。以降は、マスター装置110は1バイトずつデータを送信し、書き込み対象装置は1バイトずつデータを受信してアクノリッジ信号を送信した後シリアルバス114を解放する処理を繰り返す。そして、マスター装置110による最後の1バイト分のデータ218−mの送信及び書き込み対象装置による最後の1バイト分のデータ218−mの受信に対するアクノリッジ信号220−mの送信が終了する。ここで、書き込み対象装置は、1バイト分のデータ218−k(kは1〜mのいずれか)の受信が終了する毎に、アドレスレジスタにセットされたアドレスに割り当てられた内部レジスタ(すなわち、書き込み対象レジスタ)に1バイト分のデータを書き込む処理を繰り返し行ってもよい。また、書き込み対象装置は、mバイト分のデータ218−1〜218−mの受信が終了した後に、書き込み対象レジスタにmバイト分のデータを書き込む処理を行ってもよい。
最後に、マスター装置110は、ストップコンディション222を送信した後シリアルバス114を解放して書き込みコマンドの送信を終了する。
図6(B)は、読み出しコマンドの形式の一例である。読み出しコマンド250は、スタートコンディション252により開始し、ストップコンディション280により終了する。
スタートコンディション252〜アクノリッジ信号266は、図6(A)で説明したスタートコンディション202〜アクノリッジ信号216と同じであるので、説明を省略する。スレーブアドレス254が自己のアドレス値と一致した通信制御装置120及びスレーブ装置5〜8(160〜190)のいずれかの装置(読み出し対象装置)は、アクノリッジ信号266の送信を終了した時点で、その内部のアドレスレジスタに読み出し対象となる内部レジスタ(読み出し対象レジスタ)の上位8ビットアドレス260及び下位8ビットアドレス264をセットしている。
次に、マスター装置110は、スタートコンディション268を再度送信した後、7ビットのスレーブアドレス270(スレーブアドレス254と同一のスレーブアドレス)及び1ビットのリード信号272(Hレベル)を送信する。ここで、マスター装置110は、シリアルバス112に8クロック分のクロック信号を出力して7ビットのスレーブアドレス270及び1ビットのリード信号272の計8ビットのデータをクロック信号に同期させて送信する。同時に、通信制御装置120及びスレーブ装置5〜8(160〜190)は、この8クロック分のクロック信号に同期してスレーブアドレス270及びリード信号272を受信する。マスター装置110は、スレーブアドレス270及びリード信号272を送信した後、シリアルバス114を解放する。
次に、読み出し対象装置は、スレーブアドレス270が自己のアドレス値と一致するので1ビットのアクノリッジ信号274を送信する。ここで、マスター装置110は、シリアルバス112に1クロック分のクロック信号を出力し、読み出し対象装置が1ビットのアクノリッジ信号274をクロック信号に同期させて送信する。同時に、マスター装置110は、この1クロック分のクロック信号に同期してアクノリッジ信号274を受信する。読み出し対象装置は、アクノリッジ信号274を送信した後、シリアルバス114を解放する。
次に、読み出し対象装置は、読み出し対象レジスタからmバイト分のデータを読み出し、最初の1バイト分のデータ276−1を送信した後、シリアルバス114を解放する。マスター装置110は、最初の1バイト分のデータ276−1を受信し、アクノリッジ信号278−1を送信した後、シリアルバス114を解放する。以降は、読み出し対象装置は読み出したデータを1バイトずつ送信し、マスター装置110は1バイトずつデータを受信してアクノリッジ信号を送信した後シリアルバス114を解放する処理を繰り返す。そして、読み出し対象装置が最後の1バイト分のデータ276−mを送信すると、マスター装置110は1バイト分のデータ276−mを受信した後、アクノリッジ信号の反転信号(ノットアクノリッジ信号)278−mを送信する。読み出し対象装置は、ノットアクノリッジ信号278−mを受信する(すなわち、アクノリッジ信号を受信しない)ので次の1バイト分の読み出しデータの送信を行わず、mバイト分の読み出しデータの送信を終了する。
最後に、マスター装置110は、ストップコンディション280を送信した後シリアルバス114を解放して読み出しコマンドの送信を終了する。
図7(A)、図7(B)は、図5で説明したマスター装置110がスレーブ装置1〜4(150−1〜150−4)のいずれかとデータ通信する時に送信するコマンド(データ通信用コマンド)の形式の一例を示す図である。なお、マスター装置110が図7(A)、図7(B)のコマンドを送信する前に、図3及び図4のフローチャートに従って通信用アドレス設定レジスタ32には通信制御装置120をスルーさせるためのスルーIDが設定されているものとする。また、スレーブアドレス設定レジスタ34にはデータ通信対象装置(書き込み対象装置又は読み出し対象装置)のアドレス値が設定されているものとする。さらに、スレーブ選択レジスタ36には接続先としてデータ通信対象装置(書き込み対象装置又は読み出し対象装置)を選択するための選択情報が設定されているものとする。
図7(A)は、書き込みコマンドの形式の一例である。書き込みコマンド300は、スタートコンディション302により開始し、ストップコンディション330により終了する。
まず、マスター装置110は、スタートコンディション302を送信した後、スレーブアドレス304及びライト信号306を送信し、通信制御装置120及びスレーブ装置5〜8(160〜190)はスレーブアドレス304及びライト信号306を受信する。ここで、マスター装置110は、スレーブアドレス304としてスルーIDを送信する。スルーIDは、通信制御装置120及びスレーブ装置5〜8(160〜190)のアドレス値と異なるアドレス値が選択される。マスター装置110は、スレーブアドレス304及びライト信号306を送信した後、シリアルバス114を解放する。
通信制御装置120は、受信したスレーブアドレス304(スルーID)が通信用アドレス設定レジスタ32の設定値(スルーID)と一致するので、その動作モードをこれ以降の受信データを書き込み対象装置に送信可能なスルーモードに設定する。そして、通信制御装置120はアクノリッジ信号308を送信し、マスター装置110はアクノリッジ信号308を受信する。通信制御装置120は、アクノリッジ信号308を送信した後、シリアルバス114を解放する。
次に、マスター装置110は、スタートコンディション310を再度送信し、スレーブアドレス312及びライト信号314を送信した後シリアルバス114を解放し、通信制御装置120はスレーブアドレス312及びライト信号314を受信する。ここで、マスター装置110は、スレーブアドレス312として、通信制御装置120及びスレーブ装置5〜8(160〜190)のアドレス値と異なる任意のアドレス値(ダミーのアドレス値)を送信する。例えば、ダミーのアドレス値としてスルーIDを使用してもよく、この場合はスレーブアドレス312はスレーブアドレス304と同一のデータになる。通信制御装置120の動作モードがスルーモードであるので、スレーブアドレス312をスレーブアドレス設定レジスタ34の設定値(書き込み対象装置のアドレス値)に変更し、スレーブ選択レジスタ36の設定値に従って選択したスレーブ装置(書き込み対象装置)に対して変更後のスレーブアドレス312(書き込み対象装置のアドレス値)及びライト信号314を送信する。
書き込み対象装置は、通信制御装置120から変更後のスレーブアドレス312(書き込み対象装置のアドレス値)及びライト信号314を受信し、変更後のスレーブアドレス312(書き込み対象装置のアドレス値)が自己のアドレス値と一致するので通信制御装置120にアクノリッジ信号316を送信する。ここで、書き込み対象装置は、その動作モードをライトモードにセットする。通信制御装置120は、書き込み対象装置から受信したアクノリッジ信号316をマスター装置110に送信した後、シリアルバス114を解放する。これ以降、マスター装置110は書き込み対象装置とデータ通信を行うことができる。
次に、マスター装置110は、書き込み対象装置の書き込み対象となる内部レジスタ(書き込み対象レジスタ)の上位8ビットアドレス318を送信した後、シリアルバス114を解放する。通信制御装置120は、上位8ビットアドレス318を受信し、書き込み対象装置に送信する。書き込み対象装置は、通信制御装置120から上位8ビットアドレス318を受信し、通信制御装置120にアクノリッジ信号320を送信する。通信制御装置120は、書き込み対象装置から受信したアクノリッジ信号320をマスター装置110に送信した後、シリアルバス114を解放する。
次に、マスター装置110は、書き込み対象レジスタの下位8ビットアドレス322を送信した後、シリアルバス114を解放する。通信制御装置120は、下位8ビットアドレス322を受信し、書き込み対象装置に送信する。書き込み対象装置は、通信制御装置120から下位8ビットアドレス322を受信し、通信制御装置120にアクノリッジ信号324を送信する。ここで、書き込み対象装置は、上位8ビットアドレス318及び下位8ビットアドレス322を内部のアドレスレジスタにセットする。通信制御装置120は、書き込み対象装置から受信したアクノリッジ信号324をマスター装置110に送信した後、シリアルバス114を解放する。
次に、マスター装置110は、書き込み対象レジスタに書き込むmバイトデータのうち最初の1バイトデータ326−1を送信した後、シリアルバス114を解放する。通信制御装置120は、最初の1バイトデータ326−1を受信し、書き込み対象装置に送信する。書き込み対象装置は、通信制御装置120から最初の1バイトデータ326−1を受信し、通信制御装置120にアクノリッジ信号328−1を送信する。通信制御装置120は、書き込み対象装置から受信したアクノリッジ信号328−1をマスター装置110に送信した後、シリアルバス114を解放する。以降は、マスター装置110は1バイトずつデータを送信し、通信制御装置120は1バイトずつデータを受信して書き込み対象装置に送信し、書き込み対象装置は通信制御装置120から1バイトデータを受信する毎に通信制御装置120にアクノリッジ信号を送信し、通信制御装置120は書き込み対象装置から受信したアクノリッジ信号をマスター装置110に送信した後シリアルバス114を解放する処理を繰り返す。そして、マスター装置110による最後の1バイトデータ326−mの送信、書き込み対象装置による最後の1バイトデータ326−mの受信及びアクノリッジ信号328−mの送信が終了する。ここで、書き込み対象装置は、1バイトデータ326−k(kは1〜mのいずれか)の受信が終了する毎に、アドレスレジスタにセットされたアドレスに割り当てられた内部レジスタ(すなわち、書き込み対象レジスタ)に1バイトデータを書き込む処理を繰り返し行ってもよい。また、書き込み対象装置は、mバイトデータ(326−1〜326−m)の受信が終了した後に、書き込み対象レジスタにmバイトデータを書き込む処理を行ってもよい。
最後に、マスター装置110は、ストップコンディション330を送信した後シリアルバス114を解放し、書き込みコマンドの送信を終了する。
図7(B)は、読み出しコマンドの形式の一例である。読み出しコマンド350は、スタートコンディション352により開始し、ストップコンディション388により終了する。
スタートコンディション352〜アクノリッジ信号374は、図7(A)で説明したスタートコンディション302〜アクノリッジ信号324と同じであるので、説明を省略する。通信制御装置120は、アクノリッジ信号374の送信を終了した時点でその動作モードがスルーモードに設定されている。また、読み出し対象装置は、その内部のアドレスレジスタに読み出し対象レジスタの上位8ビットアドレス368及び下位8ビットアドレス372をセットしている。
次に、マスター装置110は、スタートコンディション376を再度送信し、スレーブアドレス378及びリード信号380を送信した後シリアルバス114を解放し、通信制御装置120はスレーブアドレス378及びリード信号380を受信する。ここで、マスター装置110は、スレーブアドレス378として、ダミーのアドレス値を送信する。例えば、ダミーのアドレス値としてスルーIDを使用してもよく、この場合はスレーブアドレス378はスレーブアドレス354と同一のデータになる。通信制御装置120の動作モードがスルーモードであるので、スレーブアドレス378をスレーブアドレス設定レジスタ34の設定値(読み出し対象装置のアドレス値)に変更し、スレーブ選択レジスタ36の設定値に従って選択したスレーブ装置(読み出し対象装置)に対して変更後のスレーブアドレス378(読み出し対象装置のアドレス値)及びリード信号380を送信する。
読み出し対象装置は、通信制御装置120から変更後のスレーブアドレス378(読み出し対象装置のアドレス値)及びリード信号380を受信し、変更後のスレーブアドレス378(読み出し対象装置のアドレス値)が自己のアドレス値と一致するので通信制御装置120にアクノリッジ信号382を送信する。ここで、読み出し対象装置は、その動作モードをリードモードにセットする。通信制御装置120は、読み出し対象装置から受信したアクノリッジ信号382をマスター装置110に送信した後、シリアルバス114を解放する。
次に、読み出し対象装置は、アドレスレジスタにセットされたアドレスに割り当てられた内部レジスタ(すなわち、読み出し対象レジスタ)からmバイトデータを読み出し、最初の1バイトデータ384−1を通信制御装置120に送信する。通信制御装置120は、読み出し対象装置から最初の1バイトデータ384−1を受信し、マスター装置110に送信する。マスター装置110は、通信制御装置120から最初の1バイトデータ384−1を受信し、通信制御装置120にアクノリッジ信号386−1を送信した後、シリアルバス114を解放する。通信制御装置120は、マスター装置110から受信したアクノリッジ信号386−1を読み出し対象装置に送信する。以降は、読み出し対象装置は読み出したデータを1バイトずつ送信し、通信制御装置120は1バイトずつデータを受信してマスター装置110に送信し、マスター装置110は通信制御装置120から1バイトデータを受信する毎に通信制御装置120にアクノリッジ信号を送信し、通信制御装置120はマスター装置110から受信したアクノリッジ信号を読み出し対象装置に送信した後シリアルバス114を解放する処理を繰り返す。そして、通信制御装置120が読み出し対象装置から受信した最後の1バイトデータ384−mを送信すると、マスター装置110は1バイトデータ384−mを受信し、ノットアクノリッジ信号386−mを送信する。通信制御装置120は、マスター装置110から受信したノットアクノリッジ信号386−mを読み出し対象装置に送信する。読み出し対象装置は、通信制御装置120からノットアクノリッジ信号384−mを受信する(すなわち、アクノリッジ信号を受信しない)ので。次の1バイトデータの送信を行わず、mバイトデータの送信を終了する。
最後に、マスター装置110は、ストップコンディション388を送信した後シリアルバス114を解放して書き込みコマンドの送信を終了する。
3−3.第1のデータ通信システムのコマンドシーケンス
図8は、図5で説明したデータ通信システム101において、マスター装置110がスレーブ装置1〜4(150−1〜150−4)の内部レジスタを順に設定するために送信するコマンドシーケンスの第1の例を示す図である。図8の説明において、スレーブ装置1〜4(150−1〜150−4)のアドレス値はすべて40Hであるものとする。また、図8及び後述する図9、図10の説明において、通信制御装置120のアドレス値は36Hであり、スレーブ装置5〜8(160〜190)のアドレス値はそれぞれ40H、41H、42H、43Hであり、通信用アドレス設定レジスタ32、スレーブアドレス設定レジスタ34、スレーブ選択レジスタ36の内部アドレスは、それぞれ0010H、0014H、0004Hであるものとする。
なお、図8及び後述する図9、図10のコマンドシーケンスにおける書き込みコマンド200−1〜200−11は、図6(A)で説明した形式のコマンド(m=1の場合)である。また、図8及び後述する図9、図10のコマンドシーケンスにおける書き込みコマンド300−1〜300−4は、図7(A)で説明した形式のコマンド(m=2の場合)である。
書き込みコマンド200−1は通信制御装置120の通信用アドレス設定レジスタ32(アドレス0010H)に2FH(スルーID)を設定するためのコマンド(スルーID設定コマンド)である。
書き込みコマンド200−2は通信制御装置120のスレーブアドレス設定レジスタ34(アドレス0014H)に40H(スレーブ装置1〜4(150−1〜150−4)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド200−3は通信制御装置120のスレーブ選択レジスタ36(アドレス0004H)に01H(接続先としてスレーブ装置1(150−1)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド300−1はスレーブ装置1(150−1)の内部レジスタ(アドレス0020H)に2バイトデータ0123Hを設定するためのコマンドである。
書き込みコマンド200−4は通信制御装置120のスレーブ選択レジスタ36(アドレス0004H)に02H(接続先としてスレーブ装置2(150−2)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド300−2はスレーブ装置2(150−2)の内部レジスタ(アドレス0020H)に2バイトデータ4567Hを設定するためのコマンドである。
書き込みコマンド200−5は通信制御装置120のスレーブ選択レジスタ36(アドレス0004H)に04H(接続先としてスレーブ装置3(150−3)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド300−3はスレーブ装置3(150−3)の内部レジスタ(アドレス0020H)に2バイトデータ89ABHを設定するためのコマンドである。
書き込みコマンド200−6は通信制御装置120のスレーブ選択レジスタ36(アドレス0004H)に08H(接続先としてスレーブ装置4(150−4)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド300−4はスレーブ装置4(150−4)の内部レジスタ(アドレス0020H)に2バイトデータCDEFHを設定するためのコマンドである。
なお、書き込みコマンド200−1〜200−9において、図6(A)で説明したスレーブアドレス204に36H(通信制御装置120のアドレス値)が指定されているので、マスター装置110は通信制御装置120の内部レジスタを設定することができる。
また、書き込みコマンド300−1〜300−4において、図7(A)で説明したスレーブアドレス204及び212に2FH(スルーID)が指定されているので、マスター装置110は通信制御装置120をスルーしてそれぞれスレーブ装置1〜4(150−1〜150−4)の内部レジスタを設定することができる。
図9は、図5で説明したデータ通信システム101において、マスター装置110がスレーブ装置1〜4(150−1〜150−4)の内部レジスタを順に設定するために送信するコマンドシーケンスの第2の例を示す図である。図9の説明において、スレーブ装置1、2(150−1、150−2)のアドレス値は40Hであり、スレーブ装置3、4(150−3、150−4)のアドレス値は41Hであるものとする。
図9のコマンドシーケンスにおいて、書き込みコマンド200−1〜200−6、300−1〜300−4は図8のコマンドシーケンスと全く同じであるため同じ符号を付しており、説明を省略する。
書き込みコマンド200−7は通信制御装置120のスレーブアドレス設定レジスタ34(アドレス0014H)に41H(スレーブ装置3、4(150−3、150−4)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
図9のコマンドシーケンスによれば、書き込みコマンド200−7によって、スレーブアドレス設定レジスタ34の設定値を前のデータ通信対象のスレーブ装置2(150−2)のアドレス値(40H)から次のデータ通信対象のスレーブ装置3(150−3)のアドレス値(41H)に変更するだけで、アドレス値の異なるスレーブ装置に対しても簡単にデータ通信を行うことができる。
図10は、図5で説明したデータ通信システム101において、マスター装置110がスレーブ装置1〜4(150−1〜150−4)の内部レジスタを順に設定するために送信するコマンドシーケンスの第3の例を示す図である。図10の説明において、スレーブ装置1〜4(150−1〜4)のアドレス値はそれぞれ40H、41H、42H、43Hであるものとする。また、通信制御装置120は、スレーブ装置1〜4(150−1〜150−4)に対応して4つのスレーブアドレス設定レジスタ50、52、54、56を有し、スレーブアドレス設定レジスタ50、52、54、56の内部アドレスは、それぞれ0014H、0018H、001CH、0020Hであるものとする。さらに、通信制御装置120は、スレーブ選択レジスタ36の設定値に従い選択するスレーブ装置1〜4(150−1〜150−4)に対して、図7(A)で説明したスレーブアドレス312を、対応するスレーブアドレス設定レジスタ50、52、54、56の設定値にそれぞれ変更してスレーブ装置1〜4(150−1〜150−4)に送信するものとする。
図10のコマンドシーケンスにおいて、書き込みコマンド200−1、200−3〜200−6、300−1〜300−4は図8のコマンドシーケンスと全く同じであるため同じ符号を付しており、説明を省略する。
書き込みコマンド200−8は通信制御装置120のスレーブアドレス設定レジスタ50(アドレス0014H)に40H(スレーブ装置1(150−1)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド200−9は通信制御装置120のスレーブアドレス設定レジスタ52(アドレス0018H)に41H(スレーブ装置2(150−2)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド200−10は通信制御装置120のスレーブアドレス設定レジスタ54(アドレス001CH)に42H(スレーブ装置3(150−3)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド200−11は通信制御装置120のスレーブアドレス設定レジスタ56(アドレス0020H)に43H(スレーブ装置4(150−4)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
図10のコマンドシーケンスによれば、書き込みコマンド200−8、200−9、200−10、200−11によって、スレーブアドレス設定レジスタ50、52、54、56の設定値をそれぞれ設定することにより、スレーブ選択レジスタ36の設定値に従って選択されるスレーブ装置とそのアドレス値の対応テーブルが通信制御装置120に作成される。そのため、図10のコマンドシーケンスによれば、書き込みコマンド200−3、200−4、200−5、200−6によってデータ通信対象のスレーブ装置の選択を変更するだけでアドレス値の異なるスレーブ装置に対しても簡単にデータ通信を行うことができる。
このように、本実施の形態のデータ通信システム101によれば、マスター装置110はスレーブ装置1〜4(150−1〜150−4)とデータ通信を行う前にスレーブ選択レジスタ36に選択情報を設定するスレーブ選択コマンドを通信制御装置120に送信し、通信制御装置120はスレーブ選択レジスタ36の設定値に基づいてデータ通信対象装置を選択する。従って、スレーブ装置1〜4(150−1〜150−4)が同一のアドレス値を有していても、マスター装置110はスレーブ選択レジスタ36の設定値を変更することによりスレーブ装置1〜4(150−1〜150−4)のいずれかを選択してデータ通信を行うことができる。
また、本実施の形態のデータ通信システム101によれば、マスター装置110はスレーブ装置1〜4(150−1〜150−4)とデータ通信を行う際にはスレーブアドレスにスルーIDが指定されたデータ通信用コマンドを通信制御装置120に送信し、通信制御装置120はマスター装置110から受信したコマンドに含まれるスレーブアドレスとスルーIDの比較結果に基づいて、当該コマンドに変換処理を施してスレーブ装置1〜4(150−1〜150−4)に送信するか否かを制御する。すなわち、スレーブ装置1〜4(150−1〜150−4)のいずれかのアドレス値とスレーブ装置5〜8(160〜190)のいずれかのアドレス値が同じであったとしても、マスター装置110は、スレーブ装置1〜4(150−1〜150−4)とデータ通信を行うことができる。
また、本実施の形態のデータ通信システム101によれば、マスター装置110はスレーブ装置1〜4(150−1〜150−4)とデータ通信を行う前にスルーID設定コマンドを通信制御装置120に送信する。従って、スルーIDを可変に設定できるので、データ通信システム101の構成を変更しても柔軟に対応することができる。
また、本実施の形態のデータ通信システム101によれば、マスター装置110はスレーブ装置1〜4(150−1〜150−4)とデータ通信を行う前にスレーブアドレス設定コマンドを通信制御装置120に送信する。従って、スレーブ装置1〜4(150−1〜150−4)の2つ以上が異なるアドレス値を有していても、マスター装置110はスレーブアドレス設定レジスタ34の設定値を変更することにより、スレーブ装置1〜4(150−1〜150−4)とデータ通信を行うことができる。
また、本実施の形態のデータ通信システム101によれば、マスター装置110が送信するデータ通信用コマンドには、スルーIDが指定された第1のスレーブアドレス304(354)とダミーのアドレス値が指定された第2のスレーブアドレス312(362)が含まれる。そのため、通信制御装置120は第1のスレーブアドレス304(354)により当該コマンドを変換してスレーブ装置1〜4(150−1〜150−4)に送信するか否かを判断した後、第2のスレーブアドレス312(362)を、スレーブ装置1〜4(150−1〜150−4)のいずれかのアドレス値に置き換えて送信することができる。従って、通信制御装置120は、データ通信用コマンドをスレーブ装置1〜4(150−1〜150−4)にリアルタイムに送信することができる。
4.第2のデータ通信システムの動作説明
4−1.第2のデータ通信システムの構成
図11は、I2Cバス通信プロトコルに基づいてデータ通信を行うデータ通信システムの第2の構成例について説明するための図である。図11のデータシステム102の構成は、図2で説明したデータ通信システム2の構成に対応する。なお、図5のデータ通信システム101と同じ構成については、同じ符号を付しており説明を省略する。
データ通信システム102は、マスター装置110、通信制御装置1〜3(120−1〜120−3)、スレーブ装置1〜8(150−1〜150−4、160〜190)を含んで構成されている。
通信制御装置1〜3(120−1〜120−3)の内部構成は図5で説明した通信制御装置120と同じである。すなわち、通信制御装置1(120−1)は、通信用アドレス設定レジスタ32−1、スレーブアドレス設定レジスタ34−1、スレーブ選択レジスタ36−1等を含み、通信制御装置2(120−2)は、通信用アドレス設定レジスタ32−2、スレーブアドレス設定レジスタ34−2、スレーブ選択レジスタ36−2等を含み、通信制御装置3(120−3)は、通信用アドレス設定レジスタ32−3、スレーブアドレス設定レジスタ34−3、スレーブ選択レジスタ36−3等を含んでいる。
マスター装置110のSCL出力端子は、シリアルバス112を介して通信制御装置1(120−1)及びスレーブ装置5〜8(160〜190)のSCL入力端子と接続されている。また、マスター装置110のSDA入出力端子は、シリアルバス114を介して通信制御装置1(120−1)及びスレーブ装置5〜8(160〜190)のSDA入力端子と接続されている。
通信制御装置1(120−1)のSCL1出力端子及びSDA1入出力端子は、それぞれ、クロック信号線122及びデータ信号線124により通信制御装置2(120−2)のSCL入力端子及びSDA入出力端子と接続されている。通信制御装置2(120−2)のSCL1出力端子及びSDA1入出力端子は、それぞれ、クロック信号線126及びデータ信号線128により通信制御装置3(120−3)のSCL入力端子及びSDA入出力端子と接続されている。通信制御装置3(120−3)のSCL1出力端子及びSDA1入出力端子は、それぞれ、クロック信号線130−1及びデータ信号線132−1によりスレーブ装置1(150−1)のSCL入力端子及びSDA入出力端子と接続されている。同様に、通信制御装置3(120−3)のSCL2出力端子及びSDA2入出力端子は、それぞれ、クロック信号線130−2及びデータ信号線132−2によりスレーブ装置2(150−2)のSCL入力端子及びSDA入出力端子と接続されている。同様に、通信制御装置3(120−3)のSCL3出力端子及びSDA3入出力端子は、それぞれ、クロック信号線130−3及びデータ信号線132−3によりスレーブ装置3(150−3)のSCL入力端子及びSDA入出力端子と接続されている。同様に、通信制御装置3(120−3)のSCL4出力端子及びSDA4入出力端子は、それぞれ、クロック信号線130−4及びデータ信号線132−4によりスレーブ装置4(150−4)のSCL入力端子及びSDA入出力端子と接続されている。
マスター装置110は、スタートコンディションを送信した後、所定のコマンドを送信することにより通信制御装置1(120−1)及びスレーブ装置5〜8(160〜190)とデータ通信を開始することができる。また、マスター装置110は、図3及び図4のフローチャートに従って通信制御装置1(120−1)のレジスタ設定を行った後は、通信制御装置2(120−2)とデータ通信を行うことができる。また、マスター装置110は、図3及び図4のフローチャートに従って通信制御装置1、2(120−1、120−2)のレジスタ設定を行った後は、通信制御装置3(120−3)とデータ通信を行うことができる。また、マスター装置110は、図3及び図4のフローチャートに従って通信制御装置1〜3(120−1〜120−3)のレジスタ設定を行った後は、スレーブ装置1〜4(150−1〜150−4)とデータ通信を行うこともできる。
データ通信を終了する場合には、マスター装置110はストップコンディションを送信する。
なお、図示しないが、通信制御装置1(120−1)のSCL2出力端子及びSDA2入出力端子、SCL3出力端子及びSDA3入出力端子、SCL4出力端子及びSDA4入出力端子にはそれぞれスレーブ装置又は通信制御装置を接続することができる。同様に、通信制御装置2(120−2)のSCL2出力端子及びSDA2入出力端子、SCL3出力端子及びSDA3入出力端子、SCL4出力端子及びSDA4入出力端子にはそれぞれスレーブ装置又は通信制御装置を接続することができる。従って、複数の通信制御装置を縦続接続することによりマスター装置110とデータ通信可能なスレーブ装置の数を増やすことができる。
4−2.第2のデータ通信システムのコマンド形式
図12(A)、図12(B)は、図11で説明したマスター装置110がスレーブ装置1〜4(150−1〜150−4)のいずれかとデータ通信する時に送信するコマンドの形式の一例を示す図である。なお、マスター装置110が図12(A)、図12(B)のコマンドを送信する前に、図3及び図4のフローチャートに従って通信用アドレス設定レジスタ32−1、32−2、32−3には、通信制御装置1(120−2)、通信制御装置2(120−2)、通信制御装置3(120−3)をそれぞれスルーさせるためのスルーID1、スルーID2、スルーID3が設定されているものとする。また、スレーブアドレス設定レジスタ34−1、34−2、34−3には、それぞれスルーID2、スルーID3、データ通信対象装置(書き込み対象装置又は読み出し対象装置)のアドレス値が設定されているものとする。さらに、スレーブ選択レジスタ36−1、36−2、36−3には、それぞれ接続先として通信制御装置2(120−2)、通信制御装置3(120−3)、データ通信対象装置(書き込み対象装置又は読み出し対象装置)を選択するための選択情報が設定されているものとする。
図12(A)は、書き込みコマンドの形式の一例である。書き込みコマンド400は、スタートコンディション402により開始し、ストップコンディション430により終了する。
まず、マスター装置110は、スタートコンディション402を送信した後、スレーブアドレス404及びライト信号406を送信し、通信制御装置1(120−1)及びスレーブ装置5〜8(160〜190)はスレーブアドレス404及びライト信号406を受信する。ここで、マスター装置110は、スレーブアドレス404としてスルーID1を送信する。スルーID1は、通信制御装置1(120−1)及びスレーブ装置5〜8(160〜190)のアドレス値と異なるアドレス値が選択される。マスター装置110は、スレーブアドレス404及びライト信号406を送信した後、シリアルバス114を解放する。
通信制御装置1(120−1)は、受信したスレーブアドレス404(スルーID1)が通信用アドレス設定レジスタ32の設定値(スルーID1)と一致するので、その動作モードをこれ以降の受信データを通信制御装置2(120−2)に送信可能なスルーモードに設定する。そして、通信制御装置1(120−1)はアクノリッジ信号408をマスター装置110に送信し、マスター装置110はアクノリッジ信号408を受信する。通信制御装置1(120−1)は、アクノリッジ信号408を送信した後、シリアルバス114を解放する。
次に、マスター装置110は、スタートコンディション410−1を再度送信し、スレーブアドレス412−1及びライト信号414−1を送信した後シリアルバス114を解放する。通信制御装置1(120−1)はスレーブアドレス412−1及びライト信号414−1を受信する。通信制御装置1(120−1)は、その動作モードがスルーモードになっているので、スレーブアドレス412−1をスレーブアドレス設定レジスタ34−1の設定値(スルーID2)に変更し、スレーブ選択レジスタ36−1の設定値に従って選択した通信制御装置2(120−2)に対して変更後のスレーブアドレス412−1(スルーID2)及びライト信号414−1を送信する。
通信制御装置2(120−2)は、通信制御装置1(120−1)から変更後のスレーブアドレス412−1(スルーID2)及びライト信号414−1を受信し、変更後のスレーブアドレス412−1(スルーID2)が通信用アドレス設定レジスタ32−2の設定値(スルーID2)と一致するので、その動作モードをこれ以降の受信データを通信制御装置3(120−3)に送信可能なスルーモードに設定する。そして、通信制御装置2(120−2)は、通信制御装置1(120−1)にアクノリッジ信号416−1を送信する。通信制御装置1(120−1)は、通信制御装置2(120−2)から受信したアクノリッジ信号416−1をマスター装置110に送信した後、シリアルバス114を解放する。
次に、マスター装置110は、スタートコンディション410−2を再度送信し、スレーブアドレス412−2及びライト信号414−2を送信した後シリアルバス114を解放する。通信制御装置1(120−1)の動作モードがスルーモードになっているので、通信制御装置2(120−2)は、通信制御装置1(120−1)から変更後のスレーブアドレス412−2(スルーID2)及びライト信号414−2を受信する。通信制御装置2(120−2)は、その動作モードがスルーモードになっているので、スレーブアドレス412−2をスレーブアドレス設定レジスタ34−2の設定値(スルーID3)に変更し、スレーブ選択レジスタ36−2の設定値に従って選択した通信制御装置3(120−3)に対して変更後のスレーブアドレス412−2(スルーID3)及びライト信号414−2を送信する。
通信制御装置3(120−3)は、通信制御装置2(120−2)から変更後のスレーブアドレス412−2(スルーID3)及びライト信号414−2を受信し、変更後のスレーブアドレス412−2(スルーID3)が通信用アドレス設定レジスタ32−3の設定値(スルーID3)と一致するので、その動作モードをこれ以降の受信データをスレーブ装置1〜4(150−1〜150−4)のいずれかに送信可能なスルーモードに設定する。そして、通信制御装置3(120−3)は、通信制御装置2(120−2)にアクノリッジ信号416−2を送信する。通信制御装置2(120−2)は、通信制御装置3(120−3)から受信したアクノリッジ信号416−2を通信制御装置1(120−1)に送信する。通信制御装置1(120−1)は、通信制御装置2(120−2)から受信したアクノリッジ信号416−2をマスター装置110に送信した後、シリアルバス114を解放する。
次に、マスター装置110は、スタートコンディション410−3を再度送信し、スレーブアドレス412−3及びライト信号414−3を送信した後シリアルバス114を解放する。通信制御装置1、2(120−1、120−2)の動作モードがスルーモードになっているので、通信制御装置3(120−3)は、通信制御装置2(120−2)から変更後のスレーブアドレス412−3(スルーID3)及びライト信号414−3を受信する。通信制御装置3(120−3)は、その動作モードがスルーモードになっているので、スレーブアドレス412−3をスレーブアドレス設定レジスタ34−3の設定値(書き込み対象装置のアドレス値)に変更し、スレーブ選択レジスタ36−3の設定値に従って選択したスレーブ装置(書き込み対象装置)に対して変更後のスレーブアドレス412−3(書き込み対象装置のアドレス値)及びライト信号414−3を送信する。
書き込み対象装置は、通信制御装置3(120−3)から変更後のスレーブアドレス412−3(書き込み対象装置のアドレス値)及びライト信号414−3を受信し、変更後のスレーブアドレス412−3(書き込み対象装置のアドレス値)が自己のアドレス値と一致するので通信制御装置3(120−3)にアクノリッジ信号416−3を送信する。通信制御装置3(120−3)は、書き込み対象装置から受信したアクノリッジ信号416−3を通信制御装置2(120−2)に送信する。通信制御装置2(120−2)は、通信制御装置3(120−3)から受信したアクノリッジ信号416−3を通信制御装置1(120−1)に送信する。通信制御装置1(120−1)は、通信制御装置2(120−2)から受信したアクノリッジ信号416−3をマスター装置110に送信した後、シリアルバス114を解放する。
この時点において通信制御装置1〜3(120−1〜3)の動作モードはすべてスルーモードに設定されており、これ以降、マスター装置110は書き込み対象装置とデータ通信を行うことができる。内部アドレス418〜ストップコンディション430は、図7(A)で説明した内部アドレス318〜ストップコンディション330と同じであるので、以降の説明は省略する。
なお、マスター装置110による通信制御装置1(12−1)の内部レジスタへの書き込みコマンドは、図12(A)の書き込みコマンド400において、スタートコンディション410−1〜アクノリッジ信号416−1、スタートコンディション410−2〜アクノリッジ信号416−2及びスタートコンディション410−3〜アクノリッジ信号416−3を削除したコマンドに相当する。また、マスター装置110による通信制御装置2(12−2)の内部レジスタへの書き込みコマンドは、図12(A)の書き込みコマンド400において、スタートコンディション410−2〜アクノリッジ信号416−2及びスタートコンディション410−3〜アクノリッジ信号416−3を削除したコマンドに相当する。また、マスター装置110による通信制御装置3(12−3)の内部レジスタへの書き込みコマンドは、図12(A)の書き込みコマンド400において、スタートコンディション410−3〜アクノリッジ信号416−3を削除したコマンドに相当する。
図12(B)は、読み出しコマンドの形式の一例である。読み出しコマンド450は、スタートコンディション452により開始し、ストップコンディション488により終了する。スタートコンディション452〜アクノリッジ信号466−3は、図12(A)で説明したスタートコンディション402〜アクノリッジ信号416−3と同じであるので、説明を省略する。アクノリッジ信号466−3の送信を終了した時点で、通信制御装置1〜3(120−1〜3)の動作モードはすべてスルーモードに設定されており、これ以降、マスター装置110は読み出し対象装置とデータ通信を行うことができる。内部アドレス468〜ストップコンディション488は、図7(B)で説明した内部アドレス368〜ストップコンディション388と同じであるので、以降の説明は省略する。
なお、マスター装置110による通信制御装置1(12−1)の内部レジスタへの読み出しコマンドは、図12(B)の読み出しコマンド450において、スタートコンディション460−1〜アクノリッジ信号466−1、スタートコンディション460−2〜アクノリッジ信号466−2及びスタートコンディション460−3〜アクノリッジ信号466−3を削除したコマンドに相当する。また、マスター装置110による通信制御装置2(12−2)の内部レジスタへの読み出しコマンドは、図12(B)の読み出しコマンド450において、スタートコンディション460−2〜アクノリッジ信号466−2及びスタートコンディション460−3〜アクノリッジ信号466−3を削除したコマンドに相当する。また、マスター装置110による通信制御装置3(12−3)の内部レジスタへの読み出しコマンドは、図12(B)の読み出しコマンド450において、スタートコンディション460−3〜アクノリッジ信号466−3を削除したコマンドに相当する。
4−3.第2のデータ通信システムのコマンドシーケンス
図13は、図11で説明したデータ通信システム102において、マスター装置110がスレーブ装置1〜4(150−1〜150−4)とのデータ通信の前に通信制御装置1〜3(120−1〜120−3)の内部レジスタを設定するために送信するコマンドシーケンスの一例を示す図である。図13及び後述する図14の説明において、通信制御装置1〜3(120−1〜120−3)のアドレス値はすべて36Hであり、スレーブ装置1〜4(150−1〜150−4)のアドレス値はそれぞれ40H、41H、42H、43Hであり、スレーブ装置5〜8(160〜190)のアドレス値はそれぞれ40H、41H、42H、43Hであるものとする。また、通信用アドレス設定レジスタ32−1〜32−3の内部アドレスはすべて0010Hであり、スレーブアドレス設定レジスタ34−1〜34−3の内部アドレスはすべて0014Hであり、スレーブ選択レジスタ36−1〜36−3の内部アドレスはすべて0004Hであるものとする。
なお、図13のコマンドシーケンスにおける書き込みコマンド400−1〜400−13及び後述する図14のコマンドシーケンスにおける書き込みコマンド400−14〜400−23は、図12(A)で説明した形式のコマンド(m=1又は2の場合)である。ただし、書き込みコマンド400−1〜400−23において、図12(A)で説明したように、スタートコンディション410−1〜アクノリッジ信号416−1、スタートコンディション410−2〜アクノリッジ信号416−2及びスタートコンディション410−3〜アクノリッジ信号416−3の一部又は全部は必要に応じて削除されている。
書き込みコマンド400−1は通信制御装置1(120−1)の通信用アドレス設定レジスタ32−1(アドレス0010H)に2FH(スルーID1)を設定するためのコマンド(スルーID設定コマンド)である。
書き込みコマンド400−2は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に36H(通信制御装置2(120−2)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−3は通信制御装置1(120−1)のスレーブ選択レジスタ36−1(アドレス0004H)に01H(接続先として通信制御装置2(120−2)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド400−4は通信制御装置2(120−2)の通信用アドレス設定レジスタ32−2(アドレス0010H)に2EH(スルーID2)を設定するためのコマンド(スルーID設定コマンド)である。
書き込みコマンド400−5は通信制御装置2(120−2)のスレーブアドレス設定レジスタ34−2(アドレス0014H)に36H(通信制御装置3(120−3)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−6は通信制御装置2(120−2)のスレーブ選択レジスタ36−2(アドレス0004H)に01H(接続先として通信制御装置3(120−3)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド400−7は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に2EH(スルーID2)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−8は通信制御装置3(120−3)の通信用アドレス設定レジスタ32−3(アドレス0010H)に2DH(スルーID3)を設定するためのコマンド(スルーID設定コマンド)である。
書き込みコマンド400−9は通信制御装置3(120−3)のスレーブアドレス設定レジスタ34−3(アドレス0014H)に40H(スレーブ装置1(150−1)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−10は通信制御装置3(120−3)のスレーブ選択レジスタ36−3(アドレス0004H)に01H(接続先としてスレーブ装置1(150−1)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド400−11は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に36H(通信制御装置2(120−2)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−12は通信制御装置2(120−2)のスレーブアドレス設定レジスタ34−2(アドレス0014H)に2DH(スルーID3)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−13は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に2EH(スルーID2)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
なお、書き込みコマンド400−1〜400−3、400−7、400−11、400−13において、図12(A)で説明したスレーブアドレス404に36H(通信制御装置1(120−1)のアドレス値)が指定されているので、マスター装置110は通信制御装置1(120−1)の内部レジスタを設定することができる。
また、書き込みコマンド400−4〜400−6、400−12において、図12(A)で説明したスレーブアドレス404及び412−1に2FH(スルーID1)が指定されている。さらに、書き込みコマンド400−4〜400−6、400−12の実行時には、スレーブアドレス設定レジスタ34−1に36H(通信制御装置2(120−2)のアドレス値)が設定され、スレーブ選択レジスタ36−1に01H(接続先として通信制御装置2(120−2)を選択するための選択情報)が設定されている。そのため、マスター装置110は通信制御装置1(120−1)をスルーして通信制御装置2(120−2)の内部レジスタを設定することができる。
また、書き込みコマンド400−8〜400−10において、図12(A)で説明したスレーブアドレス404、412−1及び412−2に2FH(スルーID1)が指定されている。さらに、書き込みコマンド400−8〜400−10の実行時には、スレーブアドレス設定レジスタ34−1及びスレーブアドレス設定レジスタ34−2にそれぞれ2EH(スルーID2)及び36H(通信制御装置3(120−3)のアドレス値)が設定され、スレーブ選択レジスタ36−1及び36−2にそれぞれ01H(接続先として通信制御装置2(120−2)を選択するための選択情報)及び01H(接続先として通信制御装置3(120−3)を選択するための選択情報)が設定されている。そのため、マスター装置110は通信制御装置1(120−1)及び通信制御装置2(120−2)をスルーして通信制御装置3(120−3)の内部レジスタを設定することができる。
図13のコマンドシーケンスを実行することにより、通信制御装置1(120−1)の通信用アドレス設定レジスタ32−1、スレーブアドレス設定レジスタ34−1、スレーブ選択レジスタ36−1にはそれぞれ、2FH(スルーID1)、2EH(スルーID2)、01H(接続先として通信制御装置2(120−2)を選択するための選択情報)が設定される。また、通信制御装置2(120−2)の通信用アドレス設定レジスタ32−2、スレーブアドレス設定レジスタ34−2、スレーブ選択レジスタ36−2にはそれぞれ、2EH(スルーID2)、2DH(スルーID3)、01H(接続先として通信制御装置3(120−3)を選択するための選択情報)が設定される。さらに、通信制御装置3(120−3)の通信用アドレス設定レジスタ32−3、スレーブアドレス設定レジスタ34−3、スレーブ選択レジスタ36−3にはそれぞれ、2DH(スルーID3)、40H(スレーブ装置1(150−1)のアドレス値)、01H(接続先としてスレーブ装置1(150−1)を選択するための選択情報)が設定される。
図14は、図11で説明したデータ通信システム102において、マスター装置110がスレーブ装置1(150−1)の内部レジスタ、スレーブ装置2(150−2)の内部レジスタの順に設定するために送信するコマンドシーケンスの一例を示す図である。図14のコマンドシーケンスを実行する前に図13のコマンドシーケンスが実行されているものとする。
書き込みコマンド400−14はスレーブ装置1(150−1)の内部レジスタ(アドレス0020H)に2バイトデータ0123Hを設定するためのコマンドである。
書き込みコマンド400−15は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に36H(通信制御装置2(120−2)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−16は通信制御装置2(120−2)のスレーブアドレス設定レジスタ34−2(アドレス0014H)に36H(通信制御装置3(120−3)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−17は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に2EH(スルーID2)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−18は通信制御装置3(120−3)のスレーブアドレス設定レジスタ34−3(アドレス0014H)に41H(スレーブ装置2(150−2)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−19は通信制御装置3(120−3)のスレーブ選択レジスタ36−3(アドレス0004H)に02H(接続先としてスレーブ装置2(150−2)を選択するための選択情報)を設定するためのコマンド(スレーブ選択コマンド)である。
書き込みコマンド400−20は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に36H(通信制御装置2(120−2)のアドレス値)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−21は通信制御装置2(120−2)のスレーブアドレス設定レジスタ34−2(アドレス0014H)に2DH(スルーID3)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−22は通信制御装置1(120−1)のスレーブアドレス設定レジスタ34−1(アドレス0014H)に2EH(スルーID2)を設定するためのコマンド(スレーブアドレス設定コマンド)である。
書き込みコマンド400−23はスレーブ装置2(150−2)の内部レジスタ(アドレス0020H)に2バイトデータ4567Hを設定するためのコマンドである。
以下、書き込みコマンド400−15〜400−22と同様のコマンドを実行してスレーブ選択レジスタ36−3及びスレーブアドレス設定レジスタ36−4の設定を変更すれば、マスター装置110は通信制御装置1(120−1)、通信制御装置2(120−2)及び通信制御装置3(120−3)をスルーしてスレーブ装置3、4(150−3、150−4)の内部レジスタを設定することができる。
なお、書き込みコマンド400−14、400−23において、図12(A)で説明したスレーブアドレス404、412−1、412−2及び412−3に2FH(スルーID1)が指定されている。さらに、書き込みコマンド400−14、400−23の実行時には、スレーブアドレス設定レジスタ34−1、34−2及び34−3にそれぞれ2EH(スルーID2)、2DH(スルーID3)及び40H(スレーブ装置1(150−1)のアドレス値)(又は41H(スレーブ装置2(150−2)のアドレス値))が設定され、スレーブ選択レジスタ36−1、36−2及び36−3にそれぞれ01H(接続先として通信制御装置2(120−2)を選択するための選択情報)、01H(接続先として通信制御装置3(120−3)を選択するための選択情報)及び01H(接続先としてスレーブ装置1(150−1)を選択するための選択情報)(又は02H(接続先としてスレーブ装置2(150−2)を選択するための選択情報))が設定されている。そのため、マスター装置110は通信制御装置1(120−1)、通信制御装置2(120−2)及び通信制御装置3(120−3)をスルーしてスレーブ装置1、2(150−1、150−2)の内部レジスタを設定することができる。
このように、本実施の形態のデータ通信システム102によれば、マスター装置110はスレーブ装置1〜4(150−1〜150−4)とデータ通信を行う前に通信制御装置3(120−3)のスレーブ選択レジスタ36−3に選択情報を設定するスレーブ選択コマンドを送信し、通信制御装置3(120−3)はスレーブ選択レジスタ36−3の設定値に基づいてデータ通信対象装置を選択する。従って、スレーブ装置1〜4(150−1〜150−4)が同一のアドレス値を有していても、マスター装置110はスレーブ選択レジスタ36−3の設定値を変更することによりスレーブ装置1〜4(150−1〜150−4)のいずれかを選択してデータ通信を行うことができる。
また、本実施の形態のデータ通信システム102によれば、マスター装置110とスレーブ装置1〜4(150−1〜150−4)の間でデータ通信を行う際には、マスター装置110はスレーブアドレスにスルーID1が指定されたデータ通信用コマンドを通信制御装置1(120−1)に送信し、通信制御装置1、2(120−1、120−2)はそれぞれスレーブアドレスにスルーID2、スルーID3が指定されたコマンドを通信制御装置2、3(120−2、120−3)に送信し、通信制御装置3(120−3)は、通信制御装置2(120−2)から受信したコマンドに含まれるスレーブアドレスに基づいて、マスター装置110とスレーブ装置1〜4(150−1〜150−4)の間のデータ通信を制御する。すなわち、マスター装置110は、スレーブ装置1〜4(150−1〜150−4)のアドレス値がスレーブアドレスに指定されたコマンドを送信することなくスレーブ装置1〜4(150−1〜150−4)とデータ通信を行うので、スレーブ装置1〜4(150−1〜150−4)がスレーブ装置5〜8(160〜190)と同一のアドレス値を有していても当該データ通信を行うことができる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
1 データ通信システム、2 データ通信システム、10 マスター装置、12 マスター処理部、20 通信制御装置、20−1〜20−N 通信制御装置、30 レジスタファイル、32 通信用アドレス設定レジスタ、34 スレーブアドレス設定レジスタ、36 スレーブ選択レジスタ、40 通信制御処理部、42 スレーブ処理部、44 データ変換処理部、46 通信経路選択部、50−1〜50−n スレーブ装置、101 データ通信システム、102 データ通信システム、110 マスター装置、112 シリアルバス、114 シリアルバス、116 抵抗器、118 抵抗器、120 通信制御装置、120−1〜120−3 通信制御装置、122 クロック信号線、122−1〜122−4 クロック信号線、124 データ信号線、124−1〜124−4 データ信号線、126 クロック信号線、128 データ信号線、130−1〜130−4 クロック信号線、132−1〜132−4 データ信号線、150−1〜150−4 スレーブ装置、160 スレーブ装置、170 スレーブ装置、180 スレーブ装置、190 スレーブ装置