JP2014016907A - 通信システムおよびアドレス割当て方法 - Google Patents
通信システムおよびアドレス割当て方法 Download PDFInfo
- Publication number
- JP2014016907A JP2014016907A JP2012154984A JP2012154984A JP2014016907A JP 2014016907 A JP2014016907 A JP 2014016907A JP 2012154984 A JP2012154984 A JP 2012154984A JP 2012154984 A JP2012154984 A JP 2012154984A JP 2014016907 A JP2014016907 A JP 2014016907A
- Authority
- JP
- Japan
- Prior art keywords
- address
- slave device
- slave
- assigned
- signal line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】課題は、I2C通信プロトコル自体に改変が不要な上、アドレスが割当てられているスレーブ装置と、アドレスが割当てられていないスレーブ装置とが混在する場合、後者のスレーブ装置にアドレスを容易に割当てることができる技術を提供することである。
【解決手段】通信システム(1)は、マスタ装置(3)と、第1アドレスが割当てられている第1スレーブ装置(41)と、アドレスが割当てられていない第2スレーブ装置(42)と、I2Cバス(2)とを備える。マスタ装置は、割当てデータ(311)を参照して、第1アドレス以外のアドレスを生成し、生成された第2アドレスをI2Cバスに送信する。そして、第2スレーブ装置は、I2Cバス上の第2アドレスを受信する。第2スレーブ装置は、I2Cバスを監視しており、I2Cバスの信号レベルに変化がない場合に、受信された第2アドレスを第2スレーブ装置のアドレスとして記憶する。
【選択図】図1
【解決手段】通信システム(1)は、マスタ装置(3)と、第1アドレスが割当てられている第1スレーブ装置(41)と、アドレスが割当てられていない第2スレーブ装置(42)と、I2Cバス(2)とを備える。マスタ装置は、割当てデータ(311)を参照して、第1アドレス以外のアドレスを生成し、生成された第2アドレスをI2Cバスに送信する。そして、第2スレーブ装置は、I2Cバス上の第2アドレスを受信する。第2スレーブ装置は、I2Cバスを監視しており、I2Cバスの信号レベルに変化がない場合に、受信された第2アドレスを第2スレーブ装置のアドレスとして記憶する。
【選択図】図1
Description
本発明は、通信システムおよびアドレス割当て方法に関し、例えばI2C(Inter Integrated Circuit)通信技術に関する。
複数の装置間でシリアル通信を行うためのI2C通信が知られている。I2C通信には、2本の信号線を備えるI2Cバスが使用される。必要な信号線の数が2本であるため、I2Cバスは、小型化が要求される電子機器等に好適である。この他、システム設計が容易であるという利点もある。
I2Cバスには、マスタ装置に加え、少なくとも1つのスレーブ装置が接続される。マスタ装置は、I2Cバスに接続されている全てのスレーブ装置を制御する役割を持つ。多くの場合、複数のスレーブ装置がI2Cバスに接続される。したがって、複数のスレーブ装置の各々は、重複しないアドレスを持つ必要がある。そのため、I2C通信の確立に先だって、マスタ装置は、複数のスレーブ装置の各々に異なるアドレスを割当てる。
しかしながら、2つまたはそれ以上のスレーブ装置に同一のアドレスが割当てられることがある。このことは、アドレスの競合をもたらす。その発生原因の一つには、I2Cバスに追加されたスレーブ装置が既存のスレーブ装置と同一の機種であった場合が挙げられる。その結果、同一のアドレスに設定されたスレーブ装置は、正常に動作しない。そこで、アドレスの競合を防止するための種々の技術が提案されてきた(特許文献1、2)。
特許文献1は、通信制御装置を備えるデ−タ通信システムを開示している。この通信制御装置は、マスタ装置および複数のスレーブ装置に接続されており、マスタ装置および複数のスレーブ装置間のデ−タ通信を制御する。特許文献2は、対象スレーブ装置のアドレスをプログラミングにより変更する技術を開示している。
特許文献1によれば、対象のスレーブ装置を選択するための特別なコマンド等が必要である。そのため、I2C通信プロトコル自体に改変が必要である。一方、特許文献2の技術では、アドレスが割当てられているスレーブ装置と、アドレスが割当てられていないスレーブ装置とが混在する場合、後者のスレーブ装置にアドレスを割当てることが難しい。
通信システムは、マスタ装置と、第1スレーブ装置と、第2スレーブ装置と、I2Cバスとを備える。第1スレーブ装置には、第1アドレスが割当てられている。一方、第2スレーブ装置には、アドレスが割当てられていない。
マスタ装置は、第2スレーブ装置にアドレスを割当てるとき、次の処理を実行する。マスタ装置は、第1アドレスが第1スレーブ装置に関連付けられた割当てデータを記憶しているマスタ装置記憶部を備える。マスタ装置は、割当てデータを参照して、第1スレーブ装置に使用されている第1アドレス以外の第2アドレスを生成し、第2アドレスをI2Cバスに送信する。
第2スレーブ装置は、第2アドレスを受信すると、次の処理を実行する。第2スレーブ装置は、I2Cバスを監視している。第2スレーブ装置は、第1スレーブ装置からの応答がないことを検出した場合、受信した第2アドレスを第2スレーブ装置のアドレスとして使用する。
その他の課題と新たな特徴は、本明細書の記述と添付図面から明らかになるであろう。
I2C通信プロトコルの改変が不要である。その上、アドレスが割当てられているスレーブ装置と、アドレスが割当てられていないスレーブ装置とが混在する場合、後者のスレーブ装置にアドレスを容易に割当てることができる。
以下、実施の形態を図面に関連づけて説明する。全ての実施の形態において、同一の要素には原則として同一の符号が付されている。
1.第1の実施の形態
第1の実施の形態について説明する。
第1の実施の形態について説明する。
1.1.概要
1.1.1.通信システムの構成
図1は、第1の実施の形態に係る通信システムの構成を例示するブロック図である。通信システム1は、I2Cバス2と、マスタ装置3と、第1スレーブ装置41と、第2スレーブ装置42とを備える。I2Cバス2には、マスタ装置3と、第1スレーブ装置41と、第2スレーブ装置42とが共通に接続されている。
1.1.1.通信システムの構成
図1は、第1の実施の形態に係る通信システムの構成を例示するブロック図である。通信システム1は、I2Cバス2と、マスタ装置3と、第1スレーブ装置41と、第2スレーブ装置42とを備える。I2Cバス2には、マスタ装置3と、第1スレーブ装置41と、第2スレーブ装置42とが共通に接続されている。
通信システム1は、I2C通信プロトコルにより、マスタ装置3が第1および第2スレーブ装置41,42の双方とシリアル通信するシステムである。この他、通信システム1は、以下のアドレス割当て機能を持つ。
例えば、第1および第2スレーブ装置41,42が互いに同一の機種である場合、両者は、同一のアドレスを持つことが多い。同一のアドレスを持つ両者がI2Cバス2に共通に接続された場合、アドレスの競合が起こる。そのため、例えば、通信システム1の起動時に、互いに異なるアドレスを第1および第2スレーブ装置41,42にそれぞれ割当てる必要がある。この他、第1および第2スレーブ装置41,42が始めから異なるアドレスを持っていても、両者に既に割当てられているアドレスをマスタ装置3が書き換えたい場合がある。
通信システム1は、このような場合に対処できるように、第1および第2スレーブ装置41,42のアドレスを任意に設定できる。以下の説明では、このアドレス割当て機能に焦点を当てる。
マスタ装置3は、コントロ−ラとして、第1および第2スレーブ装置41,42をそれぞれ制御する役割を持つ。マスタ装置3は、互いに異なるアドレスを第1および第2スレーブ装置41,42にそれぞれ割当てる。アドレスの割当ては、典型的には、通信システム1の起動時に実行される。
第1および第2スレーブ装置41,42は、所定の機能を持つ。この機能は、例えば、センサ、画像処理、音声処理等であって、任意である。第1および第2スレーブ装置41,42は、互いに同一の構成をとっていてもよい。逆に、第1および第2スレーブ装置41,42が互いに異なる構成をとっていてもよい。第1および第2スレーブ装置41,42は、I2Cバス2を介してマスタ装置3と通信する。
本実施の形態では、説明を明確にするため、次の初期条件を仮定する。具体的には、第1スレーブ装置41には、第1アドレスAD1が既に割当てられている。これは、第1スレーブ装置41のアドレスが第1アドレスAD1に確定されていることを意味する。これに対し、第2スレーブ装置42には、アドレスが割当てられていない。これは、第2スレーブ装置42のアドレスが未確定であることを意味する。ただし、通信システム1の安定を図るため、第2スレーブ装置42は、任意の初期アドレスを持つ。
以下適宜、アドレスが割当てられているスレーブ装置を「割当て済みのスレーブ装置」と呼ぶ。これに対し、アドレスが割当てられていないスレーブ装置を「未割当てのスレーブ装置」と呼ぶ。
1.1.2.マスタ装置の構成
マスタ装置3は、記憶部31と、アドレス生成部32と、送信部33とを備える。記憶部31は、「マスタ装置記憶部」とも呼ばれる。
マスタ装置3は、記憶部31と、アドレス生成部32と、送信部33とを備える。記憶部31は、「マスタ装置記憶部」とも呼ばれる。
記憶部31は、通信システム1のシステム構成データを記憶している。システム構成データは、割当てデータ311を含んでいる。割当てデータ311は、アドレスが割当てられている全てのスレーブ装置と、これら各々のアドレスとの対応関係を示すデータである。初期段階では、第1アドレスAD1が第1スレーブ装置41に関連付けられている。
アドレス生成部32は、記憶部31の割当てデータ311を参照して、未使用の第2アドレスAD2を生成する。第2アドレスAD2は、第1スレーブ装置41で使用されている第1アドレスAD1以外のアドレスである。
送信部33は、アドレス生成部32によって生成された第2アドレスAD2をI2Cバス2に送信する。このことにより、I2Cバス2に第2アドレスAD2が供給される。
1.1.3.第1スレーブ装置
第1スレーブ装置41は、確定された第1アドレスAD1を持っている。マスタ装置3が第2アドレスAD2をI2Cバス2に送信したとき、第1スレーブ装置41は、I2Cバス2上の第2アドレスAD2を受信する。そして、第1スレーブ装置41は、受信した第2アドレスAD2を自身の第1アドレスAD1と比較する。この場合、両者のアドレスが互いに異なる。そのため、第1スレーブ装置41は、ACK(ACKnowledgement)信号=“H(ハイレベル)”をI2Cバス2に送信する。ACK信号=“H”は、第1スレーブ装置41がマスタ装置3の送信に対して応答しないことを意味する。ACK信号の詳細については後述する。
第1スレーブ装置41は、確定された第1アドレスAD1を持っている。マスタ装置3が第2アドレスAD2をI2Cバス2に送信したとき、第1スレーブ装置41は、I2Cバス2上の第2アドレスAD2を受信する。そして、第1スレーブ装置41は、受信した第2アドレスAD2を自身の第1アドレスAD1と比較する。この場合、両者のアドレスが互いに異なる。そのため、第1スレーブ装置41は、ACK(ACKnowledgement)信号=“H(ハイレベル)”をI2Cバス2に送信する。ACK信号=“H”は、第1スレーブ装置41がマスタ装置3の送信に対して応答しないことを意味する。ACK信号の詳細については後述する。
もし、マスタ装置3が第1アドレスAD1をI2Cバス2に送信した場合、第1スレーブ装置41は、受信した第1アドレスAD1を自身の第1アドレスAD1と比較する。この場合、両者のアドレスが互いに一致する。そこで、第1スレーブ装置41は、ACK信号=“L(ローレベル)”をI2Cバス2に送信する。しかしながら、上述したように、マスタ装置3が第1アドレスAD1以外の第2アドレスAD2をI2Cバス2に送信している。したがって、第1スレーブ装置41がマスタ装置3の送信に対して応答することはない。
1.1.4.第2スレーブ装置の構成
第2スレーブ装置42は、受信部412と、監視部422と、記憶部432とを備える。受信部412は、マスタ装置3が第2アドレスAD2を送信した場合、I2Cバス2上の第2アドレスAD2を受信する。
第2スレーブ装置42は、受信部412と、監視部422と、記憶部432とを備える。受信部412は、マスタ装置3が第2アドレスAD2を送信した場合、I2Cバス2上の第2アドレスAD2を受信する。
監視部422は、I2Cバス2の信号レベルを監視している。この信号レベルは、ACK信号の“H”または=“L”を指す。マスタ装置3が第2アドレスAD2を送信した場合、第1スレーブ装置41は、ACK信号=“H”をI2Cバス2に送信する。この場合、監視部422は、ACK信号=“H”を検出する。
記憶部432は、監視部422による監視の結果、ACK信号=“H”が検出された場合、監視部422の制御に従って、受信部412によって受信された第2アドレスAD2を第2スレーブ装置42のアドレスとして記憶する。この第2アドレスAD2は、第2スレーブ装置42のアドレスとして使用される。このことにより、第2スレーブ装置42のアドレスが第2アドレスAD2に確定する。
1.1.5.アドレス割当て方法
図2は、第1の実施の形態に係るアドレス割当て方法のシーケンス図である。本アドレス割当て方法は、マスタ装置3が第2スレーブ装置42にアドレスを割当てる割当てステップを備える。割当てステップの詳細は、以下の通りである。
図2は、第1の実施の形態に係るアドレス割当て方法のシーケンス図である。本アドレス割当て方法は、マスタ装置3が第2スレーブ装置42にアドレスを割当てる割当てステップを備える。割当てステップの詳細は、以下の通りである。
先ず、マスタ装置3は、以下の処理を行う。初期段階で、記憶部31は、割当てデータ311を記憶している(ステップS1)。そして、アドレス生成部32は、割当てデータ311を参照して、未使用の第2アドレスAD2を生成する(ステップS2)。そして、送信部33は、アドレス生成部32によって生成された第2アドレスAD2をI2Cバス2に送信する(ステップS3)。
ステップS3の後、第1スレーブ装置41は、I2Cバス2上の第2アドレスAD2を受信する(ステップS4)。そして、第1スレーブ装置41は、受信した第2アドレスAD2を自身の第1アドレスAD1と比較する(ステップS5)。両者のアドレスが互いに異なるため、第1スレーブ装置41は、ACK信号=“H”をI2Cバス2に送信する(ステップS6)。
ステップS6の後、第2スレーブ装置42は、以下の処理を行う。受信部412は、I2Cバス2上の第2アドレスAD2を受信する(ステップS7)。一方、監視部422は、I2Cバス2の信号レベルを監視している。ステップS6で、ACK信号は、“H”である。監視部422がACK信号=“H”を検出すると(ステップS8)、記憶部432は、第2アドレスAD2を第2スレーブ装置42のアドレスとして記憶する(ステップS9)。ステップS9により、第2スレーブ装置42のアドレスが第2アドレスAD2に確定する。
上述のように、マスタ装置3が第1スレーブ装置41に使用されているアドレス以外のアドレスを生成する。そのため、アドレスが割当てられているスレーブ装置と、アドレスが割当てられていないスレーブ装置とが混在していても、後者のスレーブ装置にアドレスをより確実に割当てることができる。ひいては、I2C通信におけるアドレスの競合をより確実に防止することができる。
その上、監視部422が未割当ての第2スレーブ装置42に設けられている。そのため、監視部422による監視の結果、第1スレーブ装置41の応答がない場合、第2スレーブ装置42が自主的に第2アドレスAD2を取り込むことができる。もし、監視部422がマスタ装置3に設けられている場合、第2スレーブ装置42にアドレスを割当てるために、特別な通信プロトコル(例えばコマンド)が必要となる。これに対し、本実施の形態によれば、I2C通信プロトコルの改変が不要である。
1.2.アドレス割当て方法の詳細
1.2.1.マスタ装置3の動作
第1の実施の形態に係るアドレス割当て方法をより詳細に説明する。図3は、マスタ装置3の動作例を示す詳細なフローチャートである。ここでも、上述の初期条件が置かれている。
1.2.1.マスタ装置3の動作
第1の実施の形態に係るアドレス割当て方法をより詳細に説明する。図3は、マスタ装置3の動作例を示す詳細なフローチャートである。ここでも、上述の初期条件が置かれている。
記憶部31のシステム構成データは、割当てデータ311に加え、通信システム1における全てのスレーブ装置の個数Mを示すデータを含んでいる。本実施の形態では、スレーブ装置の個数Mは、M=2である。
一方、割当てデータ311は、初期段階で、第1アドレスAD1と第1スレーブ装置41との関係を示している。つまり、割当てデータ311は、初期段階で、第1アドレスAD1に対する第1スレーブ装置41の組を一組備える。この組の数から、アドレスが割当てられている割当済みスレーブ装置の個数Lが分かる。このことにより、現段階でマスタ装置3がアドレスを割当てるべきスレーブ装置の個数Nを求めることができる。この個数Nを「未割付け数」と言う。
先ず、アドレス生成部32は、システム構成データを記憶部31から読み出す(ステップS11)。このことにより、アドレス生成部32は、全てのスレーブ装置の個数Mをシステム構成データから取得する。これに加え、アドレス生成部32は、システム構成データに含まれる割当てデータ311を読み出して、第1スレーブ装置41が第1アドレスAD1を持つことを取得する。そして、アドレス生成部32は、全てのスレーブ装置の個数Mから割当済みスレーブ装置の個数Lを減算することにより、未割付け数N(=M−L)を算出する(ステップS12)。
ステップS12の段階で、未割付け数Nは、N(=2−1)=1個である。未割付け数NがN>0を満たす場合(ステップS13;YES)、アドレス生成部32は、上述したように、割当てデータ311を参照して、未使用の第2アドレスAD2を生成する(ステップS14)。そして、送信部33は、第2アドレスAD2をI2Cバス2に送信する(ステップS15)。
ステップS15により、第2スレーブ装置42がI2Cバス2上の第2アドレスAD2を受信する。この段階では、第2スレーブ装置42には、まだアドレスが割当てられていない。したがって、割当済みの第1スレーブ装置41のみが応答を返すことができる。
割当て済みの第1スレーブ装置41から応答が無い場合(ステップS16;NO)、これは、第1スレーブ装置41が第1アドレスAD1をI2Cバス2上の第2アドレスAD2と比較した結果、両者が互いに一致しなかったことを意味する。詳細については後述するが、この段階では、第2スレーブ装置42のアドレスは未確定である。この場合、送信部33は、同じ第2アドレスAD2を再度I2Cバス2に送信する(ステップS17)。
再び、割当て済みの第1スレーブ装置41から応答が無い場合(ステップS18;NO)、この段階で第2スレーブ装置42のアドレスは、確定している。そこで、アドレス生成部32は、割当てデータ311を更新する(ステップS19)。更新にあたって、アドレス生成部32は、第2アドレスAD2に対する第2スレーブ装置42の組を関連付けとして割当てデータ311に追記する。
ステップS19の後、未割付け数Nは、N=N−1(個)である(ステップS110)。マスタ装置3は、未割付け数NがN=0になるまで(ステップS13;NO)、ステップS14−S19を繰り返す。本実施の形態では、初期段階での未割付け数NがN=1個である。そのため、第2スレーブ装置42のアドレスが確定された段階で、アドレスの割当てが終了する。このように、アドレス生成部32は、割当てデータ311を参照して、現段階での未割付け数Nを取得する。そして、アドレス生成部32は、未割付け数分の未割当てスレーブ装置の各々に対して重複しない未使用のアドレスを未割当て数分生成する。
上述したように、マスタ装置3は、第2アドレスAD2を2回送信している。これは、以下の理由による。1回目の送信は(ステップS15参照)、割当済みの第1スレーブ装置41が正常に動作するかと言うことをマスタ装置3が調べるためにある。ステップS15で、マスタ装置3は、未使用の第2アドレスAD2を送信している。したがって、原則的に、第1スレーブ装置41から応答は無い。しかしながら、何らかの原因で、第1スレーブ装置4が正常に動作せず、第1スレーブ装置41から応答がある場合がある。その場合(ステップS16;YES)、通信システム1は、異常終了する。早期に異常終了することで、通信システム1の安定した動作が確保される。ステップS18も、基本的にはステップS16と同様である。
1.2.2.第2スレーブ装置の動作
図4は、第2スレーブ装置42の動作例を示す詳細なフローチャートである。マスタ装置3が未使用の第2アドレスAD2を送信した後(ステップS15参照)、割当て済みの第1スレーブ装置41は、ACK信号=“H”をI2Cバス2に送信する。その後、未割当ての第2スレーブ装置42は、以下の書き換え処理を行う。
図4は、第2スレーブ装置42の動作例を示す詳細なフローチャートである。マスタ装置3が未使用の第2アドレスAD2を送信した後(ステップS15参照)、割当て済みの第1スレーブ装置41は、ACK信号=“H”をI2Cバス2に送信する。その後、未割当ての第2スレーブ装置42は、以下の書き換え処理を行う。
先ず、受信部412は、I2Cバス2上の第2アドレスAD2を受信する(ステップS21)。そして、監視部422は、I2Cバス2上のACK信号=“H”を検出する。なお、この段階で、監視部422は、ACK信号=“H”を検出するのみである。また、この段階では、記憶部432が第2アドレスAD2を記憶する必要はない。もし、この段階で記憶部432が第2アドレスAD2を記憶する場合、後述のステップS25で、記憶部432が第2アドレスAD2を再度記憶すればよい。
その後、ステップS15で述べたように、マスタ装置3が未使用の第2アドレスAD2をI2Cバス2に再度送信する。そのため、受信部412は、第2アドレスAD2をI2Cバス2を介して再度受信する(ステップS23)。
そして、割当て済みの第1スレーブ装置41から応答がない場合(ステップS24;NO)、監視部422は、I2Cバス2上のACK信号=“H”を検出する。この場合、記憶部432は、第2アドレスAD2を第2スレーブ装置42のアドレスとして記憶する(ステップS25)。
以上述べたように、マスタ装置3では、送信部33が第2アドレスADを2回送信する。そして、記憶部432が2回目に送信された第2アドレスAD2を記憶する。アドレスの割当て対象の第2スレーブ装置42が2回目に送信された第2アドレスAD2を使用することで、通信の安定性を図ることができる。
なお、上述のアドレス割当て方法は、プログラムを用いてソフトウェア的に実行することも、ハードウェア的に実行するもできる。
2.第2の実施の形態
第2の実施の形態について説明する。第1の実施の形態では、初期段階で未割当てのスレーブ装置が1個ある場合を例に挙げた。本実施の形態では、初期段階で未割当てのスレーブ装置が複数個ある場合について説明する。
第2の実施の形態について説明する。第1の実施の形態では、初期段階で未割当てのスレーブ装置が1個ある場合を例に挙げた。本実施の形態では、初期段階で未割当てのスレーブ装置が複数個ある場合について説明する。
2.1.概要
図5は、第2の実施の形態に係る通信システムの構成を例示するブロック図である。通信システム1Aは、I2Cバス2およびマスタ装置3に加え、M個(≧2)のスレーブ装置41−4Mを備える。以下適宜、M個のスレーブ装置41−4Mのうち、M番目のスレーブ装置4Mを「第Mスレーブ装置4M」と呼ぶ。
図5は、第2の実施の形態に係る通信システムの構成を例示するブロック図である。通信システム1Aは、I2Cバス2およびマスタ装置3に加え、M個(≧2)のスレーブ装置41−4Mを備える。以下適宜、M個のスレーブ装置41−4Mのうち、M番目のスレーブ装置4Mを「第Mスレーブ装置4M」と呼ぶ。
以下、通信システム1Aを次の初期条件の下で説明する。第1に、第1スレーブ装置41には、第1アドレスAD1が既に割当てられている。第2に、第2から第Mスレーブ装置42−4Mの各々には、アドレスが割当てられていない。
マスタ装置3は、第2から第Mスレーブ装置42−4Mの各々にアドレスを順番に割当てていく。ここでは、アドレスの割当て対象が第2スレーブ装置42である場合について説明する。
第2スレーブ装置42のアドレスの割当てに先立って、未割当ての第2から第Mスレーブ装置42−4Mのうちで第2スレーブ装置42のみがI2Cバス2(詳細には、後述のクロック信号線21)に接続される。このことにより、未割当ての第2から第Mスレーブ装置42−4Mのうち、第2スレーブ装置42のみが通信可能な状態にある。これに対し、第3から第Mスレーブ装置43−4Mは、I2Cバス2から実質的に解放されている。そのため、第3から第Mスレーブ装置43−4Mは、それぞれ通信不能な状態にある。図5の破線矢印は、第3から第Mスレーブ装置43−4Mが通信不能な状態であることを表している。マスタ装置3は、この状態で第2スレーブ装置42に第1スレーブ装置41以外のアドレスを割当てる。
もし、全てのスレーブ装置41−4MがI2Cバス2に接続されている状態でマスタ装置3が第2スレーブ装置42にアドレスを割当てる場合、そのアドレスが他のスレーブ装置43−4Mのいずれかのアドレスと競合する恐れがある。それは、マスタ装置3が他のスレーブ装置43−4Mの各々のアドレスを把握しているとは限らないからである。そこで、マスタ装置3は、上述した状態で第2スレーブ装置42にアドレスを割当てる。なお、割当済みの第1スレーブ装置41は、通信不能であっても差し支えはない。それは、マスタ装置3が初期段階で第1スレーブ装置41の第1アドレスAD1を取得しており、予め第1アドレスAD1以外のアドレスを第2スレーブ装置42に割当てるからである。
2.2.I2C通信プロトコル
通信システム1Aで使用されるI2C通信プロトコルについて説明する。図6は、I2C通信プロトコルを説明するためのブロック図である。ここでは、説明を簡単にするため、一般的なマスタ装置MAおよび一般的なスレーブ装置SLを例に挙げる。
通信システム1Aで使用されるI2C通信プロトコルについて説明する。図6は、I2C通信プロトコルを説明するためのブロック図である。ここでは、説明を簡単にするため、一般的なマスタ装置MAおよび一般的なスレーブ装置SLを例に挙げる。
I2Cバス2は、クロック信号線21と、デ−タ信号線22とを備える。クロック信号線21は、クロックSCLを供給するための信号線である。クロック信号線21の一端は、プルアップ抵抗R1に接続されている。他方、デ−タ信号線22は、アドレスを始めとする各種デ−タSDAを供給するための信号線である。デ−タ信号線22の一端は、プルアップ抵抗R2に接続されている。
マスタ装置MAは、クロック信号線21と、デ−タ信号線22とに接続されている。一般的なスレーブ装置SLも、クロック信号線21と、デ−タ信号線22とに接続されている。I2C通信プロトコルが用いられる通信システムは、基本的に、図6に示す構成をとる。
マスタ装置Aは、以下のように、一般的なスレーブ装置SLにアドレスADnを割当てる。なお、一般的なスレーブ装置SLは、初期アドレスADxを持っている。アドレスの割当てに先立って、マスタ装置MAは、クロックSCLをクロック信号線21に送信(供給)している。マスタ装置MAは、そのクロックSCLに同期して、アドレスADnをデ−タ信号線22に送信する。
一方、一般的なスレーブ装置SLは、以下のように動作する。一般的なスレーブ装置SLは、クロック信号線21に供給されたクロックSCLを受信する。これと共に、一般的なスレーブ装置SLは、クロックSCLに同期して、デ−タ信号線22上のアドレスADnを受信する。そして、一般的なスレーブ装置SLは、初期アドレスADxが受信したアドレスADnと一致するかを検出する。両者が互いに一致する場合、一般的なスレーブ装置SLは、アドレスADnを使用する。このことにより、一般的なスレーブ装置SLのアドレスが確定する。
図7(A)および(B)は、I2C通信プロトコルのタイミングチャートである。図7(A)は、クロックSCLを示す。図7(B)は、デ−タSDA(具体的には、アドレス)を示す。
I2C通信プロトコルにおいて、デ−タSDAは、8ビット単位で処理される。8ビットのデ−タのうち、最上位ビット(MSB)から2ビット目までは、7ビットのデータ(A0−A6で構成されている)を示す。ここで、7ビットのデータは、アドレスADnであるとする。最下位ビット(LSB)は、処理内容が読み出し(Read)または書き込み(/Write)のいずれかであることを示す。
(スタ−トコンディションSC)
I2C通信プロトコルによれば、アドレスの割当ては、スタ−トコンディション(SC)により開始される。スタ−トコンディション以前、マスタ装置MAは、クロックSCLの送信を停止している。そのため、クロック信号線21は、プルアップ抵抗R1によって、”H”に保持されている。スタ−トコンディションの実行にあたって、マスタ装置MAは、クロックSCLの供給を開始する。クロックSCL(0)が”H”のとき、マスタ装置MAは、”L”の信号をデ−タ信号線22に供給することで、デ−タ信号線22を”H”から”L”に切替える。
I2C通信プロトコルによれば、アドレスの割当ては、スタ−トコンディション(SC)により開始される。スタ−トコンディション以前、マスタ装置MAは、クロックSCLの送信を停止している。そのため、クロック信号線21は、プルアップ抵抗R1によって、”H”に保持されている。スタ−トコンディションの実行にあたって、マスタ装置MAは、クロックSCLの供給を開始する。クロックSCL(0)が”H”のとき、マスタ装置MAは、”L”の信号をデ−タ信号線22に供給することで、デ−タ信号線22を”H”から”L”に切替える。
(アドレス転送)
続いて、マスタ装置MAは、クロックSCL(0)が”H”から”L”に切り替わったとき、7ビットのアドレスADn(A6−A0)を含む8ビットのデ−タを最上位ビットから順にデ−タ信号線22に送信する。一般的なスレーブ装置SLは、クロックSCL(1−8)に同期して、デ−タ信号線22上の8ビットのデータを最上位ビットから順に受信する。
続いて、マスタ装置MAは、クロックSCL(0)が”H”から”L”に切り替わったとき、7ビットのアドレスADn(A6−A0)を含む8ビットのデ−タを最上位ビットから順にデ−タ信号線22に送信する。一般的なスレーブ装置SLは、クロックSCL(1−8)に同期して、デ−タ信号線22上の8ビットのデータを最上位ビットから順に受信する。
(ACK)
一般的なスレーブ装置SLは、受信したアドレスADn(A6−A0)を初期アドレスADxと比較する。両者が互いに一致する場合、一般的なスレーブ装置SLは、その旨の応答をする。その際に、一般的なスレーブ装置SLは、クロックSCL(9)に同期して、ACK信号=”L”をデ−タ信号線22に送信する。その送信の前には、データ信号線22が“H”に保持されている。したがって、デ−タ信号線22の信号レベルが“L”から“H”に変化する。この変化は、マスタ装置MAの送信に対して一般的なスレーブ装置SLの応答があったことを意味する。一方、両者が互いに一致しない場合、一般的なスレーブ装置SLは、クロックSCL(9)に同期して、ACK信号=”H”をデ−タ信号線22に送信する。したがって、デ−タ信号線22の信号レベルは、変化しない。このことは、上述したように、マスタ装置MAの送信に対して一般的なスレーブ装置SLの応答が無いことを意味する。図7(A)は、一般的なスレーブ装置SLから応答がある場合を示している。なお、両者が互いに一致しない場合、デ−タ信号線22が“H”に保持されていれば差し支えない。このように、デ−タ信号線22の信号レベルの変化を調べることにより、応答の有無が分かる。
一般的なスレーブ装置SLは、受信したアドレスADn(A6−A0)を初期アドレスADxと比較する。両者が互いに一致する場合、一般的なスレーブ装置SLは、その旨の応答をする。その際に、一般的なスレーブ装置SLは、クロックSCL(9)に同期して、ACK信号=”L”をデ−タ信号線22に送信する。その送信の前には、データ信号線22が“H”に保持されている。したがって、デ−タ信号線22の信号レベルが“L”から“H”に変化する。この変化は、マスタ装置MAの送信に対して一般的なスレーブ装置SLの応答があったことを意味する。一方、両者が互いに一致しない場合、一般的なスレーブ装置SLは、クロックSCL(9)に同期して、ACK信号=”H”をデ−タ信号線22に送信する。したがって、デ−タ信号線22の信号レベルは、変化しない。このことは、上述したように、マスタ装置MAの送信に対して一般的なスレーブ装置SLの応答が無いことを意味する。図7(A)は、一般的なスレーブ装置SLから応答がある場合を示している。なお、両者が互いに一致しない場合、デ−タ信号線22が“H”に保持されていれば差し支えない。このように、デ−タ信号線22の信号レベルの変化を調べることにより、応答の有無が分かる。
2.3.通信システム1Aの構成
上述のI2C通信プロトコルを踏まえて、通信システム1Aを説明する。図8は、第2の実施の形態に係る通信システムの構成例を示すブロック図である。通信システム1Aは、一般的なスレーブ装置SLと、マスタ装置3と、第1から第3スレーブ装置41−43とを備える。全てのスレーブ装置の個数M=4は、一例である。なお、マスタ装置3の内部の図示が省略されている。更に、第1から第3スレーブ装置41−43の主要部のみが図示されている。
上述のI2C通信プロトコルを踏まえて、通信システム1Aを説明する。図8は、第2の実施の形態に係る通信システムの構成例を示すブロック図である。通信システム1Aは、一般的なスレーブ装置SLと、マスタ装置3と、第1から第3スレーブ装置41−43とを備える。全てのスレーブ装置の個数M=4は、一例である。なお、マスタ装置3の内部の図示が省略されている。更に、第1から第3スレーブ装置41−43の主要部のみが図示されている。
一般的なスレーブ装置SLは、I2Cバス2に既存のスレーブ装置が接続されていても、本実施の形態を適用することができることを示すために設けられている。説明を明確にするため、以下の初期条件をおく。第1に、一般的なスレーブ装置SLには、アドレスAD0が既に割当てられている。第2に、第1から第3スレーブ装置41−43の各々には、アドレスが割当てられていない。
(接続構成)
通信システム1Aの接続構成について説明する。一般的なスレーブ装置SLは、デ−タ入出力端子C1と、クロック入力端子C2とを備える。デ−タ入出力端子C1は、デ−タ信号線22に接続されている。クロック入力端子C2は、クロック信号線21に接続されている。
通信システム1Aの接続構成について説明する。一般的なスレーブ装置SLは、デ−タ入出力端子C1と、クロック入力端子C2とを備える。デ−タ入出力端子C1は、デ−タ信号線22に接続されている。クロック入力端子C2は、クロック信号線21に接続されている。
マスタ装置3は、デ−タ入出力端子C1と、クロック入力端子C2とを備える。デ−タ入出力端子C1は、デ−タ信号線22に接続されている。クロック入力端子C2は、クロック信号線21に接続されている。
第1から第3スレーブ装置41−43の各々は、デ−タ入出力端子C1と、クロック入力端子C2とを備える。この点については、一般的なスレーブ装置SLと同じである。ただし、第1から第3スレーブ装置41−43の各々は、以下の点で、一般的なスレーブ装置SLと異なる。
1つ目は、端子の個数である。2つ目は、第1から第3スレーブ装置41−43の各々がクロック信号線21に共通に接続されていないことである。第1から第3スレーブ装置41−43は、クロック信号線21に関して、実質的に直列に接続されている。3つ目は、2つのスイッチに関する。2つのスイッチが第1から第3スレーブ装置41−43の各々に設けられている。2つのスイッチは、互いに相補的にオン/オフする。
第1スレーブ装置41に着目する。第1スレーブ装置41は、デ−タ入出力端子C11と、クロック入力端子C21と、中継端子C31と、第1スイッチSW11と,第2スイッチSW21とを更に備える。第1スレーブ装置41は、クロック信号線21に接続されている。第1スレーブ装置41は、クロック信号線21からクロックを直接受信し、受信したクロックを後段の第2スレーブ装置42に転送可能である。その詳細は、以下の通りである。
デ−タ入出力端子C11は、デ−タ信号線22に接続されている。クロック入力端子C21は、クロック信号線21に直接接続されている。また、クロック入力端子C21は、第1スレーブ装置41の内部でノ−ドND11に接続されている。中継端子C31は、後段の第2スレーブ装置42のクロック入力端子C22にクロック信号線21Aで接続されている。
第1スイッチSW11について述べる。第1スイッチSW11は、例えば、NMOSトランジスタである。他のスレーブ装置の第1スイッチSW12,SW13も、これと同様である。第1スイッチSW11の一端は、ノ−ドND11を介してクロック入力端子C21に接続されている。第1スイッチSW11の他端は、ノ−ドND21を介して中継端子C31に接続されている。第1スイッチSW11は、経路P1を断続する。ここで、経路P1は、クロック入力端子C21から第1スイッチSW11を経由した中継端子C31までの電気的な経路である。第1スレーブ装置41にアドレスが割当てられていない段階では、第1スイッチSW11は、オフに保持されている。このとき、経路P1は電気的に遮断されている。第1スレーブ装置41のアドレスが確定した段階で、第1スイッチSW11は、オフからオンに切り替わる。このとき、遮断されていた経路P1が復帰する。大局的には、第1スイッチSW11は、クロック信号線21Aを断続するとも言える。
第2スイッチSW21について述べる。第2スイッチSW21は、例えば、PMOSトランジスタである。他のスレーブ装置の第2スイッチSW22,SW23も、これと同様である。第2スイッチSW21の一端は、ノ−ドND21に接続されている。第2スイッチSW21の他端は、グラウンド線(GND)に接続されている。第2スイッチSW21は、第1スイッチSW11に対して相補的にオン/オフする。したがって、第1スイッチSW11がオフのとき、第2スイッチSW21は、オンである。逆に、第1スイッチSW11がオンのとき、第2スイッチSW21は、オフである。第2スイッチSW21は、第1スイッチSW11がオフのとき、クロック信号線21Aを“L”(グラウンド電位)に保持するためにある。
第2スレーブ装置42に着目する。第2スレーブ装置42は、デ−タ入出力端子C12と、クロック入力端子C22と、中継端子C32と、第1スイッチSW12と、第2スイッチSW22とを更に備える。
第2スレーブ装置42は、第1スレーブ装置42と同様の構成をとる。以下、両者の相違点を主に述べる。デ−タ入出力端子C12は、デ−タ信号線22に接続されている。クロック入力端子C22は、クロック信号線21Aで第1スレーブ装置41の中継端子C31に接続されている。中継端子C32は、後段の第3スレーブ装置43のクロック入力端子C223にクロック信号線21Bで接続されている。第2スレーブ装置42は、クロック信号線21からクロックを間接的に受信し、受信したクロックを後段の第3スレーブ装置42に転送可能である。その詳細は、以下の通りである。
第1スイッチSW12は、経路P2を断続する。ここで、経路P2は、クロック入力端子C22から第1スイッチSW12を経由して中継端子C32までの電気的な経路である。第2スレーブ装置42にアドレスが割当てられていない段階では、第1スイッチSW12は、オフに保持されている。第2スレーブ装置42のアドレスが確定した段階で、第1スイッチSW12は、オフからオンに切り替わる。第1スイッチSW12は、クロック信号線21に供給されたクロックSCLを第2スレーブ装置42から後段の第3スレーブ装置43まで転送するための経路を断続するとも言える。なお、この経路は、経路P2とクロック信号線21Bの経路とを指す。大局的には、第1スイッチSW12は、クロック信号線21Bを断続するとも言える。
第3スレーブ装置43に着目する。第3スレーブ装置43は、デ−タ入出力端子C13と、クロック入力端子C23と、中継端子C33と、第1スイッチSW13と、第2スイッチSW23とを更に備える。
第3スレーブ装置43も、第1および第2スレーブ装置41,42と同様の構成をとる。以下、第3スレーブ装置43と上述の各スレーブ装置との相違点を主に述べる。デ−タ入出力端子C13は、デ−タ信号線22に接続されている。クロック入力端子C23は、クロック信号線21Bで第2スレーブ装置42の中継端子C32に接続されている。第3スレーブ装置43は、最終段である。そのため、中継端子C32は、いずれのスレーブ装置にも接続されていない。
第1スイッチSW13は、経路P3を断続する。ここで、経路P3は、クロック入力端子C23から第1スイッチSW13を経由した中継端子C32までの経路である。ただし、第3スレーブ装置43は、最終段である。そのため、第1スイッチSW13のオン/オフは、問われない。本実施の形態では、初期段階でオフに保持されている。
(I2Cバスへの接続)
第1から第3スレーブ装置41−43の各々のアドレスは、その順に確定される。先ず、第1スレーブ装置41がアドレスの割当て対象である場合について述べる。この場合、第1スレーブ装置41のアドレスが確定されるまで、第1から第3スイッチSW11,SW12,SW13の各々は、オフに保持される。第1スレーブ装置41にアドレスが割当てられるとき、第1から第3スレーブ装置41−43の中では、第1スレーブ装置41のみがクロック信号線21に接続されている。一方、第2および第3スレーブ装置42,43の双方は、クロック信号線21から切り離されている。したがって、第2および第3スレーブ装置42,43の双方は、クロックSCLを受信することができない。そのため、第2および第3スレーブ装置42,43の各々は、正常に動作しない。つまり、第2および第3スレーブ装置42,43の双方は、実質的にI2Cバス2から解放されている。
第1から第3スレーブ装置41−43の各々のアドレスは、その順に確定される。先ず、第1スレーブ装置41がアドレスの割当て対象である場合について述べる。この場合、第1スレーブ装置41のアドレスが確定されるまで、第1から第3スイッチSW11,SW12,SW13の各々は、オフに保持される。第1スレーブ装置41にアドレスが割当てられるとき、第1から第3スレーブ装置41−43の中では、第1スレーブ装置41のみがクロック信号線21に接続されている。一方、第2および第3スレーブ装置42,43の双方は、クロック信号線21から切り離されている。したがって、第2および第3スレーブ装置42,43の双方は、クロックSCLを受信することができない。そのため、第2および第3スレーブ装置42,43の各々は、正常に動作しない。つまり、第2および第3スレーブ装置42,43の双方は、実質的にI2Cバス2から解放されている。
次に、第2スレーブ装置42がアドレスの割当て対象である場合について述べる。この場合、第2スレーブ装置42のアドレスが確定されるまで、第2および第3スイッチSW12,SW13の双方は、オフに保持される。一方、第1スイッチSW12は、オンに保持される。そのため、第2スレーブ装置42にアドレスが割当てられるとき、第1および第2スレーブ装置41,42は、クロック信号線21に接続されている。一方、第3スレーブ装置43は、クロック信号線21から切り離されている。したがって、第3スレーブ装置43は、クロックSCLを受信することができない。つまり、第3スレーブ装置43は、実質的にI2Cバス2から解放されている。
最後に、第3スレーブ装置43がアドレスの割当て対象である場合について述べる。この場合、第2および第3スイッチSW12,SW13の各々は、オンに保持される。マスタ装置3は、一般的なスレーブ装置SLに加え、第1および第2スレーブ装置41,43の双方のアドレスを取得している。したがって、この段階で、マスタ装置3は、他のスレーブ装置のアドレスと重複することなく、第3スレーブ装置43にアドレスを割当てることができる。
以上述べたように、第2スレーブ装置42は、第1スレーブ装置41にアドレスが割当てられた後に、第1スレーブ装置41を介してクロック信号線21からクロックを受信することができるように、第1スレーブ装置41に接続される。言うまでもなく、第2スレーブ装置42と同様に、第3スレーブ装置43が、第2スレーブ装置42にアドレスが割当てられた後に、第1および第2スレーブ装置41,42を介してクロック信号線21からクロックを受信することができるように、第2スレーブ装置42に接続されてもよい。
(監視部421−423)
監視部421−423について述べる。監視部421−423は、デ−タ入出力端子C11,C12,C13にそれぞれ接続されている。更に、監視部421−423は、クロック入力端子C21,C22,C23にそれぞれ接続されている。
監視部421−423について述べる。監視部421−423は、デ−タ入出力端子C11,C12,C13にそれぞれ接続されている。更に、監視部421−423は、クロック入力端子C21,C22,C23にそれぞれ接続されている。
監視部421−423は、制御信号CNTL1−3を第1スイッチSW11,SW12,SW13にそれぞれ出力することで、第1スイッチSW11,SW12,SW13の各々のオン/オフを操作する。これと共に、監視部421−423は、制御信号CNTL1−3を第2スイッチSW21,SW22,SW23にそれぞれ出力することで、第2スイッチSW21,SW22,SW23の各々のオン/オフを操作する。
なお、第1スイッチSW11,SW12,SW13は、制御信号CNTL1−3の各々が“H(L)”の期間、オン(オフ)である。これとは逆に、第2スイッチSW21,SW22,SW23は、制御信号CNTL1−3の各々が“H(L)”の期間、オフ(オン)である。
監視部421−423は、上述のスイッチの操作にあたって、割当て済みのスレーブ装置(例えば、“SL”)からの応答をデ−タ信号線22を介して監視している。監視部421−423は、その応答を検出することができなかった場合、制御信号CNTL1−3=“L”を第1スイッチSW11,SW12,SW13にそれぞれ出力して、第1スイッチSW11,SW12,SW13の各々をオフに保持する。これと共に、監視部421−423は、制御信号CNTL1−3=“L”を第2スイッチSW21,SW22,SW23にそれぞれ出力して、第2スイッチSW21,SW22,SW23の各々をオンに保持する。
2.4.マスタ装置およびスレーブ装置の詳細
図9は、第2の実施の形態に係るマスタ装置およびスレーブ装置の詳細なブロック図である。マスタ装置3は、ハードウェアで構成されている。第1から第3スレーブ装置41−43は、それぞれ同一のハードウェア構成をとる。ここでは、説明を簡単にするため、マスタ装置3および第1スレーブ装置41を取り上げる。なお、図9は、構成要素の一部の図示を省略している。
図9は、第2の実施の形態に係るマスタ装置およびスレーブ装置の詳細なブロック図である。マスタ装置3は、ハードウェアで構成されている。第1から第3スレーブ装置41−43は、それぞれ同一のハードウェア構成をとる。ここでは、説明を簡単にするため、マスタ装置3および第1スレーブ装置41を取り上げる。なお、図9は、構成要素の一部の図示を省略している。
2.4.1.マスタ装置3
マスタ装置3は、記憶部31と、マイクロコンピュ−タ32Aと、通信部33Aとを備える。以下、マスタ装置3の構成について順を追って説明する。
マスタ装置3は、記憶部31と、マイクロコンピュ−タ32Aと、通信部33Aとを備える。以下、マスタ装置3の構成について順を追って説明する。
記憶部31は、例えば、フラッシュメモリで構成されている。初期段階で、記憶部31は、図10に示す割当てデータ331を記憶する。本実施の形態の場合、初期段階で、一般的なスレーブ装置SLにアドレスAD0が割当てられている。そのため、アドレスAD0が一般的なスレーブ装置SLに関連付けられている。他の第1から第3スレーブ装置41−43の各々には、アドレスが割当てられていない。そのため、第1から第3スレーブ装置41−43は、いずれのアドレスにも関連付けられていない。最終的に、記憶部31は、図11に示す割当てデータ331を記憶する。第1から第3スレーブ装置41−43が、例えばアドレスAD1−AD3にそれぞれ関連付けられる。
マイクロコンピュ−タ32Aは、「アドレス生成部」とも呼ばれ、アドレス生成部32の機能を持つ。マイクロコンピュ−タ32Aは、マスタ装置3全体を制御する。更に、マイクロコンピュ−タ32Aは、記憶部31および通信部33Aと協働して、各々のスレーブ装置を制御する。その際に、マイクロコンピュ−タ32Aは、ステップS11−S110(図3参照)に示すように動作する。
通信部33Aは、「送信部」とも呼ばれ、送信部33の機能を持つ。通信部33Aは、マイクロコンピュ−タ32Aおよび第1スレーブ装置41間の通信を制御する。例えば、通信部33Aは、マイクロコンピュ−タ32Aから出力されたデジタルデ−タをアナログデ−タに変換し、これをデ−タ信号線22に出力する。これとは逆に、通信部33Aは、マスタ装置3からデ−タ信号線22に出力されたアナログデ−タをデジタルデ−タに変換し、これをマイクロコンピュ−タ32Aに出力する。
2.4.2.スレーブ装置
第1スレーブ装置41は、受信部411、監視部421および記憶部431に加え、処理部441を備える。なお、これらの添え字「1」は、対応する構成要素が第1スレーブ装置41の構成要素であることを示す。以下、第1スレーブ装置41の構成について順を追って説明する。
第1スレーブ装置41は、受信部411、監視部421および記憶部431に加え、処理部441を備える。なお、これらの添え字「1」は、対応する構成要素が第1スレーブ装置41の構成要素であることを示す。以下、第1スレーブ装置41の構成について順を追って説明する。
処理部441は、デ−タ入出力端子C11に接続されている。処理部441は、センサ、画像処理、音声処理等、所定の処理を実行する。また、処理部441は、記憶部431(具体的には、第3バッファ433)に格納されているアドレスを第1スレーブ装置41のアドレスとして使用する。この際に、処理部441は、そのアドレスを処理部441自身に書き込む。その結果、マスタ装置3は、そのアドレスを第1スレーブ装置41のアドレスとして認識する。この他、処理部441は、一般的なスレーブ装置SLと同様の処理を実行して、ACK信号をデータ信号線22に出力する。
監視部421は、以下の構成をとる。監視部421は、応答監視部421と、検出部422とを備える。応答監視部421は、データ信号線22の信号レベルを監視している。言い換えれば、応答監視部421は、他のスレーブ装置、具体的には、割当て済みのスレーブ装置(例えば、“SL”)からの応答を監視している。応答監視部421は、いずれかの割当て済みのスレーブ装置からの応答に応じて、以下の処理を行う。
いずれかの割当て済みのスレーブ装置から応答があった場合、デ−タ信号線22にACK信号=”L”が供給される。この場合、応答監視部421は、ACK信号=”L”を検出する。そして、応答監視部421は、制御信号CNTL=“CLEAR”を記憶部431に出力する。一方、いずれの割当て済みのスレーブ装置からも応答がなかった場合、デ−タ信号線22にACK信号=”H”が供給される。この場合、応答監視部421は、ACK信号=”H”を検出する。そして、応答監視部421は、制御信号CNTL=“SHIFT”を記憶部431に出力する。
記憶部431は、第1バッファ431と、第2バッファ432と、第3バッファ433とを備える。初期段階では、全てのバッファが初期アドレスを格納している。初期アドレスは、任意である。なお、記憶部431が単体のハードウェア(例えば、フラッシュメモリ)で構成された場合、第1から第3バッファ431−433の各々が記憶部431の一記憶領域で構成されていても差し支えはない。
記憶部431は、応答監視部421から制御信号CNTL=“SHIFT”を受けた場合、以下のシフト動作を実行する。詳細には、記憶部431は、第2バッファ432に格納されているアドレスを第3バッファ433にシフトさせる。その上で、記憶部431は、第1バッファ431に格納されているアドレスを第2バッファ431にシフトさせる。一方、記憶部431は、応答監視部421から制御信号CNTL=“CLEAR”を受けた場合、第1および第2バッファ431,432の双方の記憶内容を初期アドレスにリセットする。なお、この場合、第1バッファ431のみがリセットされてもよい。
以下、第1から第3バッファ431−433について個別に説明する。第1バッファ431は、受信部411からのアドレスを格納する。更に、第1バッファ431は、シフト動作により、現在格納しているアドレスを第2バッファ432に出力する。
第2バッファ432は、シフト動作により、現在格納しているアドレスを第3バッファ433に出力する。その上で、第2バッファ431は、第1バッファ431からのアドレスを格納する。
第3バッファ433は、シフト動作により、第2バッファ431からのアドレスを格納する。
検出部422は、第2バッファ432に格納されているアドレスが第3バッファ433に格納されているアドレスと一致するかを検出する。
先ず、両者が互いに一致する場合について述べる。この場合、検出部422は、その旨の検出信号DET=“T”を処理部441に出力する。処理部441は、検出信号DET=“T”を受けて、次の動作を実行する。第1に、処理部441は、第3バッファ433に格納されているアドレスを処理部441自身に書き込む。第2に、処理部441は、制御信号CNTL=“STOP”を記憶部431に出力する。制御信号CNTL=“STOP”は、記憶部431の「読み出し」または「書き込み」を停止させるための制御信号である。第3に、処理部441は、制御信号CNTL1=“H”を第1および第2スイッチSW11,SW21に出力する。
次に、両者が互いに一致しなかった場合について述べる。この場合、検出部422は、その旨の検出信号DET=“F”を処理部441に出力する。処理部441は、検出信号DET=“F”を受けて、何もしない。
以下、具体例を挙げて第1スレーブ装置41の書き換え処理ついて説明する。本実施の形態では、初期段階で第1スレーブ装置41には、アドレスが割当てられていない。第1スレーブ装置41がアドレスの割当て対象である場合、第1から第3スレーブ装置41−43の各々の第1スイッチSW11は、制御信号CNTL1=“L”を受けてオフに保持されている。したがって、第2および第3スレーブ装置42,43は、クロック信号線21から切り離されている。その状態で、マスタ装置3は、未使用の第1アドレスAD1をデ−タ信号線22に2回送信する。
先ず、1回目の送信時について述べる。一般的なスレーブ装置SLは、確定されたアドレスAD0を持っている。一般的なスレーブ装置SLは、アドレスAD0が第1アドレスAD1に一致しないため、ACK信号=“H”をデ−タ信号線22に送信する。上述したように、ACK信号=“H”は、第1アドレスAD1の後に続く(図7参照)。したがって、受信部411が第1アドレスAD1を受信した後、応答監視部421がACK信号=“H”を検出する。
第1スレーブ装置41は、以下に述べる1回目の書き換え処理を実行する。始め、全てのバッファ431−433は、初期アドレスADxを格納している。受信部411は、第1アドレスAD1を受信すると、これを第1バッファ431に格納する。また、第2および第3バッファ432,433は、初期アドレスADxを格納している。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部431に出力する。これにより、記憶部431は、シフト動作を実行する。そのため、第1バッファ431に格納されている第1アドレスAD1が第2バッファ432にシフトされる。この段階で、第2バッファ432は、第1アドレスAD1を格納している。一方、第3バッファ433は、引き続き初期アドレスADxを格納している。
検出部422は、第2バッファ432の第1アドレスAD1を第3バッファ433の初期アドレスADxと比較する。両者が互いに一致しないので、検出部422は、検出信号DET=“F”を処理部441に出力する。この場合、処理部441は、何もしない。
次に、2回目の送信時について述べる。1回目の送信時と同様に、受信部411が第1アドレスAD1を受信した後、応答監視部421がACK信号=“H”を検出する。
そして、第1スレーブ装置41は、以下に述べる2回目の書き換え処理を実行する。受信部411は、受信した第1アドレスAD1を第1バッファ431に再度格納する。また、第2バッファ432は、引き続き第1アドレスAD1を格納している。一方、第3バッファ433は、初期アドレスADxを格納している。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部431に出力する。これにより、記憶部431は、シフト動作を実行する。そのため、第2バッファ432に格納されている第1アドレスAD1が第3バッファ433にシフトされる。この段階で、第3バッファ433は、第1アドレスAD1を格納している。
検出部422は、第2バッファ432の第1アドレスAD1を第3バッファ433の第1アドレスAD1と比較する。両者が互いに一致するので、検出部422は、検出信号DET=“T”を処理部441に出力する。この場合、処理部441は、第3バッファ433に格納されている第1アドレスAD1を処理部441自身に書き込む。このことにより、第1スレーブ装置41のアドレスが確定する。そして、処理部441は、制御信号CNTL=“STOP”を記憶部431に出力する。これと共に、処理部441は、制御信号CNTL1=“H”を第1および第2スイッチSW11,SW21に出力する。このことにより、第2スレーブ装置42が第1スレーブ装置41を介してデ−タ信号線22に接続される。
2.5.通信システムの動作
図12を参照しながら、通信システム1Aの動作を説明する。図12(A)−(H)は、第2の実施の形態に係る通信システムの動作例を示すタイミングチャ−トである。図12(A)は、通信システム1Aの起動信号STARTを示す。図12(B)は、デ−タ信号線22に供給されるデ−タSDAを示す。デ−タSDAは、具体的には、アドレスである。図12(C)、(E)および(G)は、第1から第3スレーブ装置41−43に供給されるクロックSCLをそれぞれ示す。図12(D)、(F)および(H)は、第1から第3スレーブ装置41−43のアドレスをそれぞれ示す。
図12を参照しながら、通信システム1Aの動作を説明する。図12(A)−(H)は、第2の実施の形態に係る通信システムの動作例を示すタイミングチャ−トである。図12(A)は、通信システム1Aの起動信号STARTを示す。図12(B)は、デ−タ信号線22に供給されるデ−タSDAを示す。デ−タSDAは、具体的には、アドレスである。図12(C)、(E)および(G)は、第1から第3スレーブ装置41−43に供給されるクロックSCLをそれぞれ示す。図12(D)、(F)および(H)は、第1から第3スレーブ装置41−43のアドレスをそれぞれ示す。
(t=0:初期条件)
初期条件について説明する。第1に、一般的なスレーブ装置SLは、確定されたアドレスAD0を持っている。第2に、第1から第3スレーブ装置41−43の各々には、アドレスが割当てられていない。したがって、マスタ装置3の記憶部31は、図10に示す割当てデータ311を記憶している。第3に、第1から第3スレーブ装置41−43の第1から第3バッファ431−433は、初期アドレスADxをそれぞれ格納している。
初期条件について説明する。第1に、一般的なスレーブ装置SLは、確定されたアドレスAD0を持っている。第2に、第1から第3スレーブ装置41−43の各々には、アドレスが割当てられていない。したがって、マスタ装置3の記憶部31は、図10に示す割当てデータ311を記憶している。第3に、第1から第3スレーブ装置41−43の第1から第3バッファ431−433は、初期アドレスADxをそれぞれ格納している。
(t=1からt=2:未割付け数Nの算出)
時刻t=1からt=2の期間は、マスタ装置3の動作に関する。その主な動作は、以下の通りである。1つ目は、マスタ装置3の起動である。時刻t=1にて、マスタ装置3は、外部から起動信号START=“H”を受ける。マスタ装置3は、起動信号START=“H”の期間に、第1から第3スレーブ装置41−43の各々にアドレスを順に割当てる。2つ目は、クロックSCLの供給である。マスタ装置3は、クロック信号線21にクロックSCLの供給を開始する。3つ目は、未割付け数Nを算出である。マスタ装置3は、未割付け数Nを算出することにより、アドレスを割当てるべきスレーブ装置の個数Nを求める。
時刻t=1からt=2の期間は、マスタ装置3の動作に関する。その主な動作は、以下の通りである。1つ目は、マスタ装置3の起動である。時刻t=1にて、マスタ装置3は、外部から起動信号START=“H”を受ける。マスタ装置3は、起動信号START=“H”の期間に、第1から第3スレーブ装置41−43の各々にアドレスを順に割当てる。2つ目は、クロックSCLの供給である。マスタ装置3は、クロック信号線21にクロックSCLの供給を開始する。3つ目は、未割付け数Nを算出である。マスタ装置3は、未割付け数Nを算出することにより、アドレスを割当てるべきスレーブ装置の個数Nを求める。
その際に、マイクロコンピュータ32Aは、記憶部31からシステム構成データを読み出して、全てのスレーブ装置の個数M=4を取得する。更に、マイクロコンピュータ32Aは、システム構成データに含まれる割当てデータ311を参照して、一般的なスレーブ装置SLがアドレスAD0を持つことを取得する。全てのスレーブ装置の個数M=4から割当済みのスレーブ装置の個数L=1を減算することにより、未割付け数N=M−L=3を算出する。このことにより、マイクロコンピュータ32Aは、現段階で生成すべきアドレスの個数が3個であることを把握する。
一方、第1から第3スレーブ装置41−43の各々は、I2Cバスとの接続を実行する。具体的には、第1スレーブ装置41のアドレスが確定されるまで(時刻t=4)、監視部421−423の各々は、制御信号CNTL1−3=“L”を第1から第3スイッチSW11,SW12,SW13にそれぞれ出力する。これにより第1から第3スイッチSW11,SW12,SW13の各々は、オフに保持される。したがって、第2および第3スレーブ装置42,43は、クロック信号線21から切り離されている。
(t=2からt=3:第1アドレスAD1の1回目の送信)
時刻t=2からt=3の期間は、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の1回目の送信を行う。
時刻t=2からt=3の期間は、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の1回目の送信を行う。
時刻t=2にて、マイクロコンピュータ32Aは、割当てデータ311を参照して、未使用の第1アドレスAD1を生成する。そして、通信部33Aは、第1アドレスAD1をデ−タ信号線22に送信する(図12(B)参照)。
一般的なスレーブ装置SLは、第1アドレスAD1を現在割当てられているアドレスAD0と比較する。両者が互いに異なるので、一般的なスレーブ装置SLは、ACK信号=“H”をデ−タ信号線22に送信する。そのため、未割当ての第1スレーブ装置41は、一般的なスレーブ装置SLから応答を受けない。
一方、第1スレーブ装置41は、直接クロック信号線21に接続されている。そのため、第1スレーブ装置41は、クロック信号線21上のクロックSCLを受信し始める(図12(C)参照)。これに対し、第2および第3スレーブ装置42,43双方は、クロック信号線21から切り離されている。そのため、第2および第3スレーブ装置42,43の双方は、クロックSCLを受信できない(図12(E)、(G)参照)。
第1スレーブ装置41は、以下に述べる1回目の書き換え処理を実行する。受信部411は、通信部33Aによって送信された第1アドレスAD1を受信し、これを第1バッファ431に格納する。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部431に出力する。これにより、記憶部431は、シフト動作を実行する。この段階で、第2バッファ432は、第1アドレスAD1を格納している。一方、第3バッファ433は、引き続き初期アドレスADxを格納している。
検出部422は、第2バッファ432の第1アドレスAD1を第3バッファ433の初期アドレスADxと比較する。両者が互いに一致しないので、検出部422は、検出信号DET=“F”を処理部441に出力する。この場合、処理部441は、何もしない。
(t=3からt=4:第1アドレスAD1の2回目の送信)
時刻t=3からt=4の期間も、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の2回目の送信を行う。
時刻t=3からt=4の期間も、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の2回目の送信を行う。
時刻t=3にて、マイクロコンピュータ32Aは、同じ第1アドレスAD1を生成する。そして、通信部33Aは、第1アドレスAD1をデ−タ信号線22に送信する(図12(B)参照)。
時刻t=2からt=3の場合と同様に、第1スレーブ装置41は、以下に述べる2回目の書き換え処理を実行する。受信部411は、通信部33Aによって送信された第1アドレスAD1を受信し、これを第1バッファ431に再度格納する。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部431に出力する。これにより、記憶部431は、シフト動作を実行する。この段階で、第2バッファおよび第3バッファ432,433は、第1アドレスAD1を格納している。
検出部422は、第2バッファ432の第1アドレスAD1を第3バッファ433の第1アドレスAD1と比較する。両者が互いに一致するので、検出部422は、検出信号DET=“T”を処理部441に出力する。この場合、この場合、処理部441は、第3バッファ433に格納されている第1アドレスAD1を処理部441自身に書き込む。このことにより、時刻t=4にて、第1スレーブ装置41のアドレスが第1アドレスAD1に確定する(図12(D)参照)。
そして、処理部441は、制御信号CNTL=“STOP”を記憶部431に出力する。これと共に、処理部441は、制御信号CNTL1=“H”を第1スイッチSW11に出力する。このことにより、第1スイッチSW11は、オフからオンに切り替わる。一方、第2スイッチSW21は、オンからオフに切り替わる。したがって、第2スレーブ装置42が第1スレーブ装置41を介してクロック信号線21に接続される。
第1スレーブ装置41のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。その際に、マイクロコンピュータ32Aは、第1スレーブ装置41に対する第1アドレスAD1の組を割当てデータ311に追記する。
(t=5からt=6:第2アドレスAD2の1回目の送信)
時刻t=5からt=6の期間は、第2スレーブ装置42へのアドレスの割当てに関する。マスタ装置3は、この期間に、第2アドレスAD2の1回目の送信を行う。
時刻t=5からt=6の期間は、第2スレーブ装置42へのアドレスの割当てに関する。マスタ装置3は、この期間に、第2アドレスAD2の1回目の送信を行う。
時刻t=5にて、マイクロコンピュータ32Aは、更新された割当てデータ311を参照して、第1スレーブ装置41が第1アドレスAD1を持つことを更に取得する。全てのスレーブ装置の個数M=4から割当済みのスレーブ装置の個数L=2を減算することにより、未割付け数N=M−L=2を算出する。このことにより、マイクロコンピュータ32Aは、現段階で生成すべきアドレスの個数が2個であることを把握する。
そして、マイクロコンピュータ32Aは、割当てデータ311を参照して、未使用の第2アドレスAD2を生成する。第2アドレスAD2は、一般的なスレーブ装置SLおよび第1スレーブ装置41の双方で使用されているアドレス以外のアドレスである。通信部33Aは、第2アドレスAD2をデ−タ信号線22に送信する(図14(B)参照)。
先の第1スレーブ装置41は、自己の第1アドレスAD1が受信した第2アドレスAD2と異なるので、ACK信号=“L”をデ−タ信号線22に送信する。一般的なスレーブ装置SLも、ACK信号=“L”をデ−タ信号線22に送信する。したがって、未割当ての第2スレーブ装置42は、一般的なスレーブ装置SLに加え、割当て済みの第1スレーブ装置41から応答を受けない。
一方、第2スレーブ装置42は、経路P1を介してクロック信号線21上のクロックSCLを受信し始める(図12(E)参照)。これに対し、第3スレーブ装置43は、クロック信号線21から切り離されている。そのため、第3スレーブ装置43は、クロックSCLを受信できない(図12(G)参照)。
第2スレーブ装置42は、以下に述べる2回目の書き換え処理を実行する。受信部412は、通信部33Aによって送信された第2アドレスAD2を受信し、これを第1バッファ431に格納する。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部432に出力する。これにより、記憶部432は、シフト動作を実行する。この段階で、第2バッファ432は、第2アドレスAD2を格納している。一方、第3バッファ433は、引き続き初期アドレスADxを格納している。
検出部422は、第2バッファ432の第2アドレスAD2を第3バッファ433の初期アドレスADxと比較する。両者が互いに一致しないので、検出部422は、検出信号DET=“F”を処理部442に出力する。この場合、処理部442は、何もしない。
(t=6からt=7:第2アドレスAD2の2回目の送信)
時刻t=6からt=7の期間も、第2スレーブ装置42へのアドレスの割当てに関する。マスタ装置3は、この期間に、第2アドレスAD2の2回目の送信を行う。
時刻t=6からt=7の期間も、第2スレーブ装置42へのアドレスの割当てに関する。マスタ装置3は、この期間に、第2アドレスAD2の2回目の送信を行う。
時刻t=6にて、マイクロコンピュータ32Aは、同じ第2アドレスAD2を生成する。そして、通信部33Aは、第2アドレスAD2をデ−タ信号線22に送信する(図12(B)参照)。
時刻t=3からt=4の場合と同様に、第2スレーブ装置42は、以下に述べる2回目の書き換え処理を実行する。受信部412は、通信部33Aによって送信された第2アドレスAD2を受信し、これを第1バッファ431に再度格納する。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部432に出力する。これにより、記憶部432は、シフト動作を実行する。この段階で、第2バッファおよび第3バッファ432,433は、第2アドレスAD2を格納している。
検出部422は、第2バッファ432の第2アドレスAD2を第3バッファ433の第2アドレスAD2と比較する。両者が互いに一致するので、検出部422は、検出信号DET=“T”を処理部442に出力する。この場合、処理部442は、第3バッファ433に格納されている第2アドレスAD2を処理部442自身に書き込む。このことにより、時刻t=7にて、第2スレーブ装置42のアドレスが第2アドレスAD2に確定する(図12(F)参照)。
そして、処理部442は、制御信号CNTL=“STOP”を記憶部432に出力する。これと共に、処理部442は、制御信号CNTL2=“H”を第1および第2スイッチSW12,SW22の双方に出力する。このことにより、第1スイッチSW12は、オフからオンに切り替わる。一方、第2スイッチSW22は、オンからオフに切り替わる。したがって、第3スレーブ装置43が第1および第2スレーブ装置41,42を介してクロック信号線21に接続される。
第2スレーブ装置42のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。その際に、マイクロコンピュータ32Aは、第2スレーブ装置42に対する第2アドレスAD2の組を割当てデータ311に追記する。
(t=8からt=9:第3アドレスAD3の1回目の送信)
時刻t=8からt=9の期間は、第3スレーブ装置43へのアドレスの割当てに関する。マスタ装置3は、この期間に、第3アドレスAD3の1回目の送信を行う。
時刻t=8からt=9の期間は、第3スレーブ装置43へのアドレスの割当てに関する。マスタ装置3は、この期間に、第3アドレスAD3の1回目の送信を行う。
時刻t=8にて、マイクロコンピュータ32Aは、更新された割当てデータ311を参照して、第2スレーブ装置42が第2アドレスAD2を持つことを更に取得する。全てのスレーブ装置の個数M=4から割当済みのスレーブ装置の個数L=3を減算することにより、未割付け数N=M−L=1を算出する。このことにより、マイクロコンピュータ32Aは、現段階で生成すべきアドレスの個数が1個であることを把握する。
そして、マイクロコンピュータ32Aは、割当てデータ311を参照して、未使用の第3アドレスAD3を生成する。第3アドレスAD3は、他のスレーブ装置SL,41,42の各々で使用されているアドレス以外のアドレスである。通信部33Aは、第3アドレスAD3をデ−タ信号線22に送信する(図14(B)参照)。
先の第2スレーブ装置42は、自己の第2アドレスAD2が受信した第3アドレスAD3と異なるので、ACK信号=“L”をデ−タ信号線22に送信する。他のスレーブ装置も、ACK信号=“L”をデ−タ信号線22に送信する。したがって、未割当ての第3スレーブ装置43は、他のスレーブ装置から応答を受けない。
一方、第3スレーブ装置43は、経路P1およびP2を介してクロック信号線21上のクロックSCLを受信し始める(図12(G)参照)。そして、第3スレーブ装置43は、以下に述べる1回目の書き換え処理を実行する。受信部413は、通信部33Aによって送信された第3アドレスAD3を受信し、これを第1バッファ431に格納する。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部433に出力する。これにより、記憶部433は、シフト動作を実行する。この段階で、第2バッファ432は、第3アドレスAD3を格納している。一方、第3バッファ433は、引き続き初期アドレスADxを格納している。
検出部422は、第2バッファ432の第3アドレスAD3を第3バッファ433の初期アドレスADxと比較する。両者が互いに一致しないので、検出部422は、検出信号DET=“F”を処理部443に出力する。この場合、処理部443は、何もしない。
(t=9からt=10:第3アドレスAD3の2回目の送信)
時刻t=9からt=10の期間も、第3スレーブ装置43へのアドレスの割当てに関する。マスタ装置3は、この期間に、第3アドレスAD3の2回目の送信を行う。
時刻t=9からt=10の期間も、第3スレーブ装置43へのアドレスの割当てに関する。マスタ装置3は、この期間に、第3アドレスAD3の2回目の送信を行う。
時刻t=9にて、マイクロコンピュータ32Aは、同じ第3アドレスAD3を生成する。そして、通信部33Aは、第3アドレスAD3をデ−タ信号線22に送信する(図12(B)参照)。
時刻t=3からt=4の場合と同様に、第3スレーブ装置43は、以下に述べる2回目の書き換え処理を実行する。受信部413は、通信部33Aによって送信された第3アドレスAD3を受信し、これを第1バッファ431に再度格納する。応答監視部421は、ACK信号=“H”の検出後、制御信号CNTL=“SHIFT”を記憶部433に出力する。これにより、記憶部433は、シフト動作を実行する。この段階で、第2バッファおよび第3バッファ432,433は、第3アドレスAD3を格納している。
検出部422は、第2バッファ432の第3アドレスAD3を第3バッファ433の第3アドレスAD3と比較する。両者が互いに一致するので、検出部422は、検出信号DET=“T”を処理部443に出力する。この場合、処理部443は、第3バッファ433に格納されている第3アドレスAD3を処理部443自身に書き込む。このことにより、時刻t=10にて、第3スレーブ装置43のアドレスが第3アドレスAD3に確定する(図12(H)参照)。
そして、処理部443は、制御信号CNTL=“STOP”を記憶部433に出力する。なお、第3スレーブ装置43は、最終段目である。そのため、第3スレーブ装置43の監視部423は、第1スイッチSW13および第2スイッチSW23を操作する必要はない。
第3スレーブ装置43のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。その際に、マイクロコンピュータ32Aは、第3スレーブ装置43に対する第3アドレスAD3の組を割当てデータ311に追記する。
その後、マイクロコンピュータ32Aは、更新された割当てデータ311を参照して、第3スレーブ装置43が第3アドレスAD3を持つことを更に取得する。全てのスレーブ装置の個数M=4から割当済みのスレーブ装置の個数L=4を減算することにより、未割付け数N=M−L=0を算出する。未割付け数NがN=0であるので、マイクロコンピュータ32Aは、全てのスレーブ装置の各々にアドレスが割当てられていることを把握する。そのため、マスタ装置3は、アドレスの割当てを終了する。
本実施の形態によれば、未割当ての第1から第3スレーブ装置41−43のうち、アドレスの割当て対象のスレーブ装置のみが通信可能な状態で、その対象のスレーブ装置にアドレスをより確実に割当てることができる。そのため、通信システム1Aが複数のスレーブ装置を備えていても、第1の実施の形態と同様の効果を得ることができる。更に、一般的なスレーブ装置SLがI2Cバス2に接続されていても、一般的なスレーブ装置SLの構成に左右されないという、顕著な効果も得ることができる。
3.第3の実施の形態
第3の実施の形態について説明する。本実施の形態は、対象のスレーブ装置のみが通信可能な状態となる他の具体例である。以下、第2の実施の形態と異なる点について説明する。
第3の実施の形態について説明する。本実施の形態は、対象のスレーブ装置のみが通信可能な状態となる他の具体例である。以下、第2の実施の形態と異なる点について説明する。
3.1.概要
本実施の形態の概要は、以下の通りである。マスタ装置3は、対象の未割当てスレーブ装置以外のスレーブ装置を非アクティブに設定した上で、対象の未割当てのスレーブ装置にアドレスを割当てる。ここで言う「非アクティブ」とは、対象の未割当てのスレーブ装置の電源がオフである状態を指している。このことにより、未割当ての複数のスレーブ装置のうち、対象の未割当てスレーブ装置のみが通信可能な状態を作ることができる。
本実施の形態の概要は、以下の通りである。マスタ装置3は、対象の未割当てスレーブ装置以外のスレーブ装置を非アクティブに設定した上で、対象の未割当てのスレーブ装置にアドレスを割当てる。ここで言う「非アクティブ」とは、対象の未割当てのスレーブ装置の電源がオフである状態を指している。このことにより、未割当ての複数のスレーブ装置のうち、対象の未割当てスレーブ装置のみが通信可能な状態を作ることができる。
3.2.通信システムの構成
図13は、第3の実施の形態に係る通信システムの構成を例示するブロック図である。通信システム1Bは、一般的なスレーブ装置SLと、第1から第3スレーブ装置41−43とを備える。スレーブ装置の個数M=4は、一例である。なお、図13は、通信部33Aを始め、各スイッチSW等の図示を省略している。
図13は、第3の実施の形態に係る通信システムの構成を例示するブロック図である。通信システム1Bは、一般的なスレーブ装置SLと、第1から第3スレーブ装置41−43とを備える。スレーブ装置の個数M=4は、一例である。なお、図13は、通信部33Aを始め、各スイッチSW等の図示を省略している。
本実施の形態は、以下の点で第2の実施の形態と異なる。第1に、第1から第3スレーブ装置41−43が初期段階からクロック信号線21に共通に接続されている。そのため、第1から第3スレーブ装置41−43の各々は、初期段階からクロックSCLを受信する。なお、中継端子C31−C33は、解放されている。第1スイッチSW11,SW12,SW13は、常時オフに保持されている。これに対し、第2スイッチSW21,SW22,SW23は、常時オンに保持されている。
第2に、第1から第3スレーブ装置41−43は、更に、電源部451−453をそれぞれ備える。第3に、マイクロコンピュータ32Aは、イネ−ブル信号EN1−EN3を電源部451−453にそれぞれ出力して、第1から第3スレーブ装置41−43のオン/オフをそれぞれ制御する。具体的には、マイクロコンピュータ32Aは、第1から第3スレーブ装置41−43に対して電源をこの順に投入する。
電源部451−453は、マイクロコンピュータ32Aからイネ−ブル信号EN1−EN3=“H”をそれぞれ受けたとき、対応するスレーブ装置への電力の供給を開始する。以後、電源部451−453は、イネ−ブル信号EN1−EN3=“L”をそれぞれ受けるまで、電力の供給を続ける。第1から第3スレーブ装置41−43は、電源部451−453から電力の供給をそれぞれ受けている期間に、オン、つまり、アクティブである。このことは、第1から第3スレーブ装置41−43の各々に電源が投入されたことを意味する。
3.3.通信システムの動作
図14を参照しながら、通信システム1Bの動作を説明する。図14(A)−(J)は、第3の実施の形態に係る通信システムの動作例を示すタイミングチャ−トである。図14(A)は、通信システム1Bの起動信号STARTを示す。図14(B)は、デ−タ信号線22に供給されるデ−タSDAを示す。デ−タSDAは、具体的には、アドレスである。図14(C)は、第1から第3スレーブ装置41−43の各々に供給されるクロックSCLを示す。図14(D)、(F)および(H)は、イネ−ブル信号EN1−EN3をそれぞれ示す。図14(E)、(G)および(I)は、第1から第3スレーブ装置41−43のアドレスをそれぞれ示す
(t=0:初期条件)
説明を明確にするため、第2の実施の形態と同様の初期条件(t=0)をおく。ただし、第1から第3スレーブ装置41−43の各々は、初期段階からクロックSCLを受信する(図14(C)参照)。更に、初期段階で、第1から第3スレーブ装置41−43の各々は、オフ、つまり非アクティブである。
図14を参照しながら、通信システム1Bの動作を説明する。図14(A)−(J)は、第3の実施の形態に係る通信システムの動作例を示すタイミングチャ−トである。図14(A)は、通信システム1Bの起動信号STARTを示す。図14(B)は、デ−タ信号線22に供給されるデ−タSDAを示す。デ−タSDAは、具体的には、アドレスである。図14(C)は、第1から第3スレーブ装置41−43の各々に供給されるクロックSCLを示す。図14(D)、(F)および(H)は、イネ−ブル信号EN1−EN3をそれぞれ示す。図14(E)、(G)および(I)は、第1から第3スレーブ装置41−43のアドレスをそれぞれ示す
(t=0:初期条件)
説明を明確にするため、第2の実施の形態と同様の初期条件(t=0)をおく。ただし、第1から第3スレーブ装置41−43の各々は、初期段階からクロックSCLを受信する(図14(C)参照)。更に、初期段階で、第1から第3スレーブ装置41−43の各々は、オフ、つまり非アクティブである。
(t=1からt=2:未割付け数Nの算出)
時刻t=1からt=2の期間は、第2の実施の形態と同様である。この段階では、第1スレーブ装置41がアドレスの割当て対象である。
時刻t=1からt=2の期間は、第2の実施の形態と同様である。この段階では、第1スレーブ装置41がアドレスの割当て対象である。
(t=2からt=3:第1アドレスAD1の1回目の送信)
時刻t=2からt=3の期間は、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の1回目の送信を行う。
時刻t=2からt=3の期間は、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の1回目の送信を行う。
時刻t=2にて、マイクロコンピュータ32Aは、イネ−ブル信号EN1=“H”を未割当ての第1スレーブ装置41の電源部451に出力する。電源部451は、マスタ装置3からイネ−ブル信号EN1=“H”を受けて、第1スレーブ装置41への電力の供給を開始する。これにより、第1スレーブ装置41は、オフからオンに切り替わる。これに対し、第1および第2スレーブ装置42,43の各々は、オフである。つまり、未割当ての第1から第3スレーブ装置41−43のうちで第1スレーブ装置41のみが通信可能な状態である。
この状態で、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を参照して、未使用の第1アドレスAD1を生成する。そして、通信部33Aは、第1アドレスAD1をデ−タ信号線22に送信する(図14(B)参照)。そして、第1スレーブ装置41は、1回目の書き換え処理を実行する。
(t=3からt=4:第1アドレスAD1の2回目の送信)
時刻t=3からt=4の期間も、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の2回目の送信を行う。そして、第1スレーブ装置41は、2回目の書き換え処理を実行する。第1スレーブ装置41のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。
時刻t=3からt=4の期間も、第1スレーブ装置41へのアドレスの割当てに関する。マスタ装置3は、この期間に、第1アドレスAD1の2回目の送信を行う。そして、第1スレーブ装置41は、2回目の書き換え処理を実行する。第1スレーブ装置41のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。
(t=5からt=6:第2アドレスAD2の1回目の送信)
時刻t=5にて、マイクロコンピュータ32Aは、イネ−ブル信号EN2=“H”を未割当ての第2スレーブ装置42の電源部452に出力する。電源部452は、マスタ装置3からイネ−ブル信号EN2=“H”を受けて、第2スレーブ装置42への電力の供給を開始する。これにより、第2スレーブ装置42は、オフからオンに切り替わる。これに対し、第3スレーブ装置43は、オフである。つまり、未割当ての第2および第3スレーブ装置42−43のうち、第2スレーブ装置42のみが通信可能な状態である。
時刻t=5にて、マイクロコンピュータ32Aは、イネ−ブル信号EN2=“H”を未割当ての第2スレーブ装置42の電源部452に出力する。電源部452は、マスタ装置3からイネ−ブル信号EN2=“H”を受けて、第2スレーブ装置42への電力の供給を開始する。これにより、第2スレーブ装置42は、オフからオンに切り替わる。これに対し、第3スレーブ装置43は、オフである。つまり、未割当ての第2および第3スレーブ装置42−43のうち、第2スレーブ装置42のみが通信可能な状態である。
この状態で、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を参照して、未使用の第2アドレスAD2を生成する。そして、通信部33Aは、第2アドレスAD2をデ−タ信号線22に送信する(図14(B)参照)。そして、第2スレーブ装置42は、1回目の書き換え処理を実行する。
(t=6からt=7:第2アドレスAD2の2回目の送信)
時刻t=6からt=7の期間も、第2スレーブ装置42へのアドレスの割当てに関する。マスタ装置3は、この期間に、第2アドレスAD2の2回目の送信を行う。そして、第2スレーブ装置42は、2回目の書き換え処理を実行する。第2スレーブ装置42のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。
時刻t=6からt=7の期間も、第2スレーブ装置42へのアドレスの割当てに関する。マスタ装置3は、この期間に、第2アドレスAD2の2回目の送信を行う。そして、第2スレーブ装置42は、2回目の書き換え処理を実行する。第2スレーブ装置42のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。
(t=8からt=9:第3アドレスAD3の1回目の送信)
時刻t=8にて、マイクロコンピュータ32Aは、イネ−ブル信号EN3=“H”を未割当ての第3スレーブ装置43の電源部453に出力する。電源部453は、マスタ装置3からイネ−ブル信号EN3=“H”を受けて、第3スレーブ装置43への電力の供給を開始する。これにより、第3スレーブ装置43は、オフからオンに切り替わる。
時刻t=8にて、マイクロコンピュータ32Aは、イネ−ブル信号EN3=“H”を未割当ての第3スレーブ装置43の電源部453に出力する。電源部453は、マスタ装置3からイネ−ブル信号EN3=“H”を受けて、第3スレーブ装置43への電力の供給を開始する。これにより、第3スレーブ装置43は、オフからオンに切り替わる。
(t=9からt=10:第3アドレスAD3の2回目の送信)
時刻t=9からt=10の期間も、第3スレーブ装置43へのアドレスの割当てに関する。マスタ装置3は、この期間に、第3アドレスAD3の2回目の送信を行う。そして、第3スレーブ装置43は、2回目の書き換え処理を実行する。第3スレーブ装置43のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。
時刻t=9からt=10の期間も、第3スレーブ装置43へのアドレスの割当てに関する。マスタ装置3は、この期間に、第3アドレスAD3の2回目の送信を行う。そして、第3スレーブ装置43は、2回目の書き換え処理を実行する。第3スレーブ装置43のアドレスの確定後、マイクロコンピュータ32Aは、記憶部31の割当てデータ311を更新する。
以上の説明では、マイクロコンピュータ32Aが第1から第3スレーブ装置41−43に電源を順に投入した。この点において、第1から第3スレーブ装置41−43への電源の投入の順番は、ランダムであってもよい。この他、本実施の形態は、以下のような改変が可能である。例えば、マイクロコンピュータ32Aが第1から第3スレーブ装置41−43の各々の処理部441−443に制御信号を送信することで、各々の処理部441−443のオン/オフ、つまりアクティブ/非アクティブを制御してもよい。
本実施の形態では、中継端子C31―C32が使用されていない。そのため、第1および第2の実施の形態と同様の効果に加え、中継端子C31―C32に他の機能を割当てることができるという、顕著な効果を得ることができる。
本発明は、その要旨を逸脱しない範囲で好適に改変することができる。
以下に、改変の一例を示す。例えば、時刻t=1にて、マスタ装置3が制御信号CNTL=“CLEAR”を消去コマンドとして第1から第3スレーブ装置41−4Mの記憶部431−433に送信する。このことが選択的または定期的に実行されることにより、第1から第3スレーブ装置41−4Mの各々のアドレスが一時的または定期的に変化する。この各々のアドレスの変化は、第三者による通信の傍受の防止に役立つ。この他、第1から第3スレーブ装置41−4Mの各々のアドレス自体を暗号化することもできる。
1,1A,1B:通信システム
2:I2Cバス
21:クロック信号線
22:デ−タ信号線
3:マスタ装置
31:マスタ装置3の記憶部
311:割当てデータ
32:送信部
32A:マイクロコンピュータ
33:送信部
33A:通信部
41−4M:スレーブ装置
411,412,413:受信部
421,422,423:監視部
431,432,433:記憶部
441,442,443:処理部
451,452,453:電源部
421:応答監視部
422:検出部
2:I2Cバス
21:クロック信号線
22:デ−タ信号線
3:マスタ装置
31:マスタ装置3の記憶部
311:割当てデータ
32:送信部
32A:マイクロコンピュータ
33:送信部
33A:通信部
41−4M:スレーブ装置
411,412,413:受信部
421,422,423:監視部
431,432,433:記憶部
441,442,443:処理部
451,452,453:電源部
421:応答監視部
422:検出部
Claims (14)
- マスタ装置と、
第1アドレスが割当てられている第1スレーブ装置と、
アドレスが割当てられていない第2スレーブ装置と、
前記マスタ装置、前記第1スレーブ装置および前記第2スレーブ装置が共通に接続されているI2C(Inter Integrated Circuit)バスと
を備え、
前記マスタ装置は、
前記第1アドレスと前記第1スレーブ装置との関係を示す割当てデータを記憶しているマスタ装置記憶部と、
前記マスタ装置記憶部の前記割当てデータを参照して、前記第1スレーブ装置に使用されている前記第1アドレス以外のアドレスを生成するアドレス生成部と、
前記アドレス生成部によって生成された第2アドレスを前記I2Cバスに送信する送信部と
を備え、
前記第2スレーブ装置は、
前記I2Cバス上の前記第2アドレスを受信する受信部と、
前記I2Cバスの信号レベルを監視する監視部と、
前記監視部による監視の結果、前記信号レベルに変化が無い場合、前記受信部によって受信された前記第2アドレスを前記第2スレーブ装置のアドレスとして記憶する記憶部と
を備える
通信システム。 - 前記マスタ装置では、
前記送信部が前記第2アドレスを2回送信し、
前記第2スレーブ装置では、
前記受信部が前記第2アドレスを2回受信し、
2回目に受信された前記第2アドレスを前記記憶部が前記第2スレーブ装置のアドレスとして記憶する
請求項1に記載の通信システム。 - アドレスが割当てられていない第3スレーブ装置を更に備え、
前記I2Cバスは、
クロック信号線を備え、
前記第3スレーブ装置は、
前記第2スレーブ装置に前記第2アドレスが割当てられるまで、前記クロック信号線から解放されており、前記第2スレーブ装置に前記第2アドレスが割当てられた後に、前記クロック信号線に接続される
請求項1または2に記載の通信システム。 - 前記第2スレーブ装置は、
前記クロック信号線に接続されており、前記クロック信号線からクロックを受信し、受信したクロックを前記第3スレーブ装置に転送可能であり、
前記第3スレーブ装置は、
前記第2スレーブ装置に前記第2アドレスが割当てられた後に、前記第2スレーブ装置を介して前記クロック信号線から前記クロックを受信することができるように、前記第2スレーブ装置に接続される
請求項3に記載の通信システム。 - 前記第3スレーブ装置は、
前記第2スレーブ装置からのクロックが供給される信号線で前記第2スレーブ装置に接続されており、
前記第2スレーブ装置は、
前記信号線を断続するスイッチを更に備え、
前記監視部による監視の結果、前記信号レベルに変化が無い場合、前記スイッチを操作して、前記第2スレーブ装置のアドレスが確定するまで前記信号線を遮断する
請求項4に記載の通信システム。 - アドレスが割当てられていない第3スレーブ装置を更に備え、
前記マスタ装置は、
前記第3スレーブ装置を非アクティブに設定した上で、前記第2スレーブ装置にアドレスを割当てる
請求項1または2に記載の通信システム。 - 前記アドレス生成部は、
前記割当てデータを参照して、アドレスが割当てられていない未割当てスレーブ装置の個数を取得し、前記個数分の未割当てスレーブ装置の各々に対して重複しないアドレスを前記個数分生成する
請求項3から6のいずれか一に記載の通信システム。 - マスタ装置と、第1アドレスが割当てられている第1スレーブ装置と、アドレスが割当てられていない第2スレーブ装置とがI2Cバスに共通に接続されている通信システムで、前記マスタ装置が前記第2スレーブ装置にアドレスを割当てる割当てステップを備え、
前記割当てステップは、
前記第1アドレスと前記第1スレーブ装置との関係を示す割当てデータを前記マスタ装置が記憶するマスタ装置の記憶ステップと、
前記割当てデータを参照して、前記第1スレーブ装置に対応する前記第1アドレス以外のアドレスを前記マスタ装置が生成するアドレス生成ステップと、
前記アドレス生成ステップで生成された第2アドレスを前記マスタ装置が前記I2Cバスに送信する送信ステップと、
前記第2アドレスを前記第2スレーブ装置が受信する受信ステップと、
前記I2Cバスの信号レベルを監視する監視ステップと、
前記監視ステップで、前記信号レベルに変化が無い場合、前記受信ステップで受信された前記第2アドレスを前記第2スレーブ装置のアドレスとして前記第2スレーブ装置が記憶する記憶ステップと
を備える
アドレス割当て方法。 - 前記送信ステップでは、
前記マスタ装置が前記第2アドレスを2回送信し、
前記受信ステップでは、
前記第2スレーブ装置が前記第2アドレスを2回受信し、
2回目に受信された前記第2アドレスを前記第2スレーブ装置が前記第2スレーブ装置のアドレスとして記憶する
請求項8に記載のアドレス割当て方法。 - 前記通信システムは、
アドレスが割当てられていない第3スレーブ装置を更に備え、
前記I2Cバスは、
クロック信号線を備え、
前記第3スレーブ装置は、
前記第2スレーブ装置に前記第2アドレスが割当てられるまで、前記クロック信号線から解放され、
前記第2スレーブ装置に前記第2アドレスが割当てられた後に、前記クロック信号線に接続される
請求項8または9に記載のアドレス割当て方法。 - 前記第2スレーブ装置は、
前記クロック信号線に接続されており、前記クロック信号線からクロックを受信し、
前記第3スレーブ装置は、
前記第2スレーブ装置に前記第2アドレスが割当てられた後に、前記第2スレーブ装置から前記クロックを受信することができるように、前記第2スレーブ装置に接続される
請求項10に記載のアドレス割当て方法。 - 前記第3スレーブ装置は、
前記第2スレーブ装置からのクロックが供給される信号線で前記第2スレーブ装置に接続されており、
前記第2スレーブ装置は、
前記信号線を断続するスイッチを更に備え、
前記監視ステップで、前記信号レベルに変化が無い場合、前記スイッチを操作して、前記第2スレーブ装置のアドレスが確定するまで前記信号線を遮断する
請求項11に記載のアドレス割当て方法。 - 前記通信システムは、
アドレスが割当てられていない第3スレーブ装置を更に備え、
前記マスタ装置は、
前記第3スレーブ装置を非アクティブに設定し、前記第2スレーブ装置にアドレスを割当てる
請求項8または9に記載のアドレス割当て方法。 - 前記アドレス生成ステップでマスタ装置は、
前記割当てデータを参照して、アドレスが割当てられていない未割当てスレーブ装置の未割付け数を取得し、前記未割付け数分の未割当てスレーブ装置に対して未使用のアドレスを前記未割付け数分生成する
請求項8から12のいずれか一に記載のアドレス割当て方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012154984A JP2014016907A (ja) | 2012-07-10 | 2012-07-10 | 通信システムおよびアドレス割当て方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012154984A JP2014016907A (ja) | 2012-07-10 | 2012-07-10 | 通信システムおよびアドレス割当て方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014016907A true JP2014016907A (ja) | 2014-01-30 |
Family
ID=50111505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012154984A Pending JP2014016907A (ja) | 2012-07-10 | 2012-07-10 | 通信システムおよびアドレス割当て方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014016907A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016095629A (ja) * | 2014-11-13 | 2016-05-26 | ルネサスエレクトロニクス株式会社 | シリアル通信システム、通信制御装置および電子装置 |
KR20190097809A (ko) * | 2018-02-13 | 2019-08-21 | 주식회사 지니틱스 | I2c 통신 프로토콜을 이용하는 복수 개의 슬레이브 장치에 서로 다른 주소를 자동으로 할당하는 방법 및 이를 위한 장치 |
-
2012
- 2012-07-10 JP JP2012154984A patent/JP2014016907A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016095629A (ja) * | 2014-11-13 | 2016-05-26 | ルネサスエレクトロニクス株式会社 | シリアル通信システム、通信制御装置および電子装置 |
KR20190097809A (ko) * | 2018-02-13 | 2019-08-21 | 주식회사 지니틱스 | I2c 통신 프로토콜을 이용하는 복수 개의 슬레이브 장치에 서로 다른 주소를 자동으로 할당하는 방법 및 이를 위한 장치 |
KR102044212B1 (ko) | 2018-02-13 | 2019-11-13 | 주식회사 지니틱스 | I2c 통신 프로토콜을 이용하는 복수 개의 슬레이브 장치에 서로 다른 주소를 자동으로 할당하는 방법 및 이를 위한 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5607784B2 (ja) | Canオープンネットワークの構成方法、スレーブ装置の動作方法、plc装置制御方法、及びplc装置制御システム | |
US8892798B2 (en) | Identification, by a master circuit, of two slave circuits connected to a same bus | |
US20110296067A1 (en) | Automatic addressing scheme for 2 wire serial bus interface | |
US10678729B1 (en) | Interface conversion device of programmable logic controller (PLC) system and PLC system thereof | |
KR102001366B1 (ko) | 복수 기기의 저전력블루투스 연결방법 | |
JP2014016907A (ja) | 通信システムおよびアドレス割当て方法 | |
US20150161075A1 (en) | I2c router system | |
JP4763580B2 (ja) | 車載通信システム、車載装置及び車載通信方法 | |
JP2018120438A (ja) | 電子制御装置及びプログラム書換システム | |
US10243887B2 (en) | Switch unit, ethernet network, and method for activating components in an ethernet network | |
JP5871309B2 (ja) | 双方向シリアルバスの通信制御方法および双方向シリアルバススイッチ | |
JP2002189697A (ja) | データ転送システム、及び、データ転送方式 | |
JP6356736B2 (ja) | コントローラシステムおよび制御方法 | |
WO2020050025A1 (ja) | 通信装置、送信方法及びコンピュータプログラム | |
WO2012161066A1 (ja) | 通信システムおよび重畳モジュール | |
JP5560216B2 (ja) | 監視システム | |
JP2005051507A (ja) | 通信システムおよびそのアドレス設定方法 | |
JP2009105625A (ja) | 保護継電装置及び伝送データフォーマット切替方法 | |
TW201505405A (zh) | 通信系統及通信裝置 | |
JP2008103922A (ja) | 通信システム及び通信装置 | |
JP6471613B2 (ja) | 中継装置及び通信システム | |
WO2019106783A1 (ja) | 温度調節計及び通信変換器 | |
JP2008187683A (ja) | 同期式シリアルバスシステム | |
JP4900331B2 (ja) | 遠隔監視制御システム | |
KR100994356B1 (ko) | 통신 시스템 및 통신 방법 |