JP2014035709A - バス制御装置、バス制御方法、プログラムおよび記録媒体 - Google Patents
バス制御装置、バス制御方法、プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2014035709A JP2014035709A JP2012177584A JP2012177584A JP2014035709A JP 2014035709 A JP2014035709 A JP 2014035709A JP 2012177584 A JP2012177584 A JP 2012177584A JP 2012177584 A JP2012177584 A JP 2012177584A JP 2014035709 A JP2014035709 A JP 2014035709A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- master
- slave
- buses
- transmittable
- 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)
- Small-Scale Networks (AREA)
Abstract
【課題】通信速度の低下を抑制し、かつスレーブアドレスのビット数による制限を超えるスレーブデバイスとマスタデバイスとの通信を可能とする。
【解決手段】バス制御装置では、マスタバス11〜14上の開始条件信号によって送信可能なマスタバスを決定し、終了条件検出回路94は終了条件信号を検出し、スイッチ制御回路96は、終了条件カウンタ95のカウント値に応じたスレーブバス31〜34が送信可能なマスタバスと接続されるように、スイッチ81〜84のオンオフを制御する。
【選択図】図1
【解決手段】バス制御装置では、マスタバス11〜14上の開始条件信号によって送信可能なマスタバスを決定し、終了条件検出回路94は終了条件信号を検出し、スイッチ制御回路96は、終了条件カウンタ95のカウント値に応じたスレーブバス31〜34が送信可能なマスタバスと接続されるように、スイッチ81〜84のオンオフを制御する。
【選択図】図1
Description
本発明は、マスタデバイスが接続されるマスタバスとスレーブデバイスが接続されるスレーブバスとの通信を制御するバス制御装置、バス制御方法、プログラムおよび記録媒体に関する。
近年、デバイス間の情報伝達を行うためのインターフェイスとしてI2C(Inter Integrated Circuit)バスが使用されている。このI2Cバスを使用した接続では、通常、1本のI2Cバスに対して、複数のスレーブデバイスと、これらスレーブデバイスを制御するマスタデバイスとが接続される。
しかしながら、一般的なスレーブデバイスの仕様では選択可能なスレーブアドレスの数に制限があり、その数以上に同種のスレーブデバイスを同一のバスに接続することができない。一方、制御システムの規模の拡大に伴い、スレーブアドレスの数の制限を越えて、スレーブデバイスをバスに接続することが求められている。
そこで、スレーブアドレスの制限を越えるスレーブデバイスを接続する技術として、例えば、特許文献1に開示されているような構成が提案されている。特許文献1に記載の構成では、マスタデバイスがマスタバスに接続され、複数のスレーブバスがそれぞれスイッチを介してマスタバスと接続されている。
具体的には、特許文献1に記載の構成では、マスタデバイスがスレーブデバイスと通信する場合に、図10に示すような動作を行っている。図10は、特許文献1に開示された従来技術におけるマスタデバイスがスレーブデバイスと通信する場合の動作を示したタイミングチャートである。
すなわち、マスタデバイスからスレーブデバイスに対してデータを送信する場合には、マスタデバイスからマスタバス上にデータの送受信の対象となるスレーブデバイスの論理アドレスを送信する。次に、この論理アドレスを実アドレスとバス番号にデコードし、デコードされたバス番号に基づき、スレーブデバイスが接続されたスレーブバスとマスタバスとが接続されるように、スイッチを制御している。さらに、当該デコードされた実アドレスをスレーブバス上に送信し、当該実アドレスにより特定されるスレーブデバイスに対しデータの送受信を行うようにしている。
特許文献1に記載の構成では、マスタデバイスがスレーブデバイスに対してデータを送信する場合には、その前に、スレーブデバイスの論理アドレスからバス番号をデコードして、マスタバスとデータ送信対象のスレーブデバイスが接続されているスレーブバスとが接続されるようにスイッチを制御する必要がある。
このため、マスタデバイスがスレーブデバイスに対してデータの送信を行う時間に加え、論理アドレスをデコードしてスイッチを制御する時間がさらに必要になり、通信速度が低下するという問題点を有している。
さらに、I2Cバスにてマスタデバイスがスレーブデバイスと通信する場合、スレーブアドレスは7ビットしかなく、マスタデバイスは128個を超えるスレーブデバイスと通信することができない。そこで、マスタデバイスが128個を超えるスレーブデバイスと通信できるようにするために、別途バスセレクタを設けることが考えられる。この場合、マスタデバイスがスレーブデバイスと通信する動作は図11に示すものとなる。図11は、特許文献1に開示された従来技術において、バスセレクタを設けた場合における、マスタデバイスがスレーブデバイスと通信する場合の動作を示したタイミングチャートである。
しかしながら、バスセレクタを設けた場合には、図11に示すように、スレーブデバイスと通信する前に、必ずバスセレクタを切り替える操作が必要になる。このため、バスセレクタによりバスの切り替えに要する時間分だけ、通信速度が低下するという問題を招来する。
したがって、本発明は、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信を可能とするバス制御装置、バス制御方法、プログラムおよび記録媒体の提供を目的としている。
上記の課題を解決するために、本発明のバス制御装置は、マスタデバイスがそれぞれ接続される複数のマスタバスと、スレーブデバイスがそれぞれ接続される複数のスレーブバスと、前記複数のマスタバスと前記複数のスレーブバスとの間に設けられた内部バスと、オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第1スイッチと、前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、前記送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定するプルダウン処理部と、前記送信可能なマスタバスが前記内部バスと接続されるように、前記第1スイッチのオンオフ動作を制御する第1スイッチ制御部と、オンオフ動作を行い、前記複数のスレーブバスについて、前記内部バスに接続されるスレーブバスを切り替える第2スイッチと、前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、前記複数のスレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように、前記第2スイッチのオンオフ動作を制御するスイッチ制御部とを備えていることを特徴としている。
また、本発明のバス制御方法は、複数のマスタバスにそれぞれ接続されたマスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出工程と、前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定工程と、前記送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定するプルダウン処理工程と、前記送信可能なマスタバスが、前記複数のマスタバスと複数のスレーブバスとの間に設けられた内部バスと接続されるように切り替える第1切替え工程と、前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出工程と、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出工程にて検出された終了条件信号の数を数える終了条件カウント工程と、複数の前記スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように切り替える第2切替え工程とを備えていることを特徴としている。
上記の構成によれば、通信検出部(通信検出工程)は、マスタデバイスからマスタバス上に出力された開始条件信号を検出し、優先順位決定部(優先順位決定工程)は、開始条件信号が検出されたマスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する。プルダウン処理部(プルダウン処理工程)は、送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定する。
これにより、複数のマスタバスにそれぞれ接続された複数のマスタデバイスがそれぞれ任意のタイミングにて送信を行った場合であっても、一つのマスタバスが送信可能なマスタバスとして決定される。この場合、送信可能なマスタバス以外のマスタバスに接続されているマスタデバイスは、接続されているマスタバスがLレベルに固定されていることから、送信を行わない。
また、第1スイッチ制御部(第1スイッチ制御工程)は、送信可能なマスタバスが内部バスと接続されるように、第1スイッチのオンオフ動作を制御する。終了条件検出部(終了条件検出工程)は、送信可能なマスタバスに接続されたマスタデバイスから送信可能なマスタバス上に出力された終了条件信号を検出する。終了条件カウント部(終了条件カウント工程)は、送信可能なマスタバスに対応するバス対応カウンタにより、終了条件検出部(終了条件検出工程)にて検出された終了条件信号の数を数える。第2スイッチ制御部(第2スイッチ制御工程)は、複数のスレーブバスのうち、送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが内部バスと接続されるように、第2スイッチのオンオフ動作を制御する。
これにより、送信可能なマスタバスに接続されたマスタデバイスは、終了条件信号によって指定したスレーブデバイスと適切に接続することができる。したがって、複数のマスタデバイスと複数のスレーブデバイスとの通信が可能となる。
また、上記のように、マスタデバイスによりマスタバスと接続するスレーブバスとして任意のスレーブバスが選択された場合であっても、マスタデバイスからマスタバス上に出力された終了条件信号により、マスタバスを任意のスレーブバスに接続することができるので、スレーブアドレスおよびバス番号を指定することによってマスタバスと接続するスレーブバスを切り替えるような従来の構成と比較して、マスタバスをいずれかのスレーブバスと接続するまでの速度を速くすることができる。この結果、マスタデバイスとスレーブデバイスとの通信速度を速くすることができる。
また、マスタデバイスからマスタバス上に出力される終了条件信号によって、マスタバスと接続するスレーブバスを切り替える構成であるから、同じスレーブアドレスのスレーブデバイスであっても、異なるスレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。したがって、スレーブアドレスは7ビットであるので、I2Cバスでは、仕様上、アドレスの組み合せは128個しか存在しないものの、マスタデバイスは、128個を超えるスレーブデバイスとの通信、すなわちスレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとの通信が可能となる。
これにより、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信が可能となる。
上記のバス制御装置において、前記第2スイッチ制御部は、前記終了条件カウント部におけるバス対応カウンタのカウント値に応じた分だけ、前記複数のスレーブバスについて、前記送信可能なマスタバスと接続されるスレーブバスが順次切り替わるように、前記第2スイッチのオンオフ動作を制御する構成としてもよい。
上記の構成によれば、第2スイッチ制御部は、終了条件カウント部におけるバス対応カウンタのカウント値に応じた分だけ、複数のスレーブバスについて、送信可能なマスタバスと接続されるスレーブバスが順次切り替わるように、第2スイッチのオンオフ動作を制御する。
したがって、マスタデバイスから送信可能なマスタバス上に終了条件信号が出力される毎に、送信可能なマスタバスと接続されるスレーブバスが順次切り替えられる。これにより、送信可能なマスタバスと接続するスレーブバスの切り替えを迅速に行うことができる。
上記のバス制御装置において、前記第2スイッチ制御部は、前記送信可能なマスタバスと接続されたマスタデバイスと前記スレーブデバイスとの通信終了後に、前記送信可能なマスタバスと接続されたマスタデバイスから前記マスタバス上に出力される前記終了条件信号についての前記終了条件カウント部におけるバス対応カウンタのカウント値に応じて、前記複数のスレーブバスについて、前記送信可能なマスタバスに接続されるスレーブバスが所定の順序にて切り替わるように、前記第2スイッチのオンオフ動作を制御する構成としてもよい。
上記の構成によれば、第2スイッチ制御部は、送信可能なマスタバスと接続されたマスタデバイスとスレーブデバイスとの通信終了後に、送信可能なマスタバスと接続されたマスタデバイスからマスタバス上に出力される終了条件信号についての終了条件カウント部におけるバス対応カウンタのカウント値に応じて、複数のスレーブバスについて、送信可能なマスタバスに接続されるスレーブバスが所定の順序にて切り替わるように、第2スイッチのオンオフ動作を制御する。
これにより、送信可能なマスタバスと接続されたマスタデバイスが1つのスレーブバスとのデータの通信を終了して、当該マスタデバイスから終了条件信号が送信可能なマスタバスに出力される毎に、自動的に、当該マスタバスと接続されたマスタバスと接続されるスレーブバスが順次切り替えられる。
したがって、送信可能なマスタバスと接続されたマスタデバイスが複数のスレーブバスと接続されている全てのスレーブデバイスを巡回するように通信する場合には、1つのスレーブデバイスとの通信の終了後に、当該マスタデバイスが、送信可能なマスタバスと接続するスレーブバスのバス番号を指定する処理、および送信可能なマスタデバイスと通信するスレーブデバイスのスレーブアドレスを指定する処理が不要となる。これにより、マスタデバイスが複数のスレーブバスと接続されている全てのスレーブデバイスを巡回するように通信する場合の通信速度を向上することができる。
本発明のバス制御装置は、第1バス制御手段と複数の第2バス制御手段とを備え、前記第1バス制御手段は、マスタデバイスがそれぞれ接続される複数のマスタバスと、前記第2バス制御手段がそれぞれ接続される複数の第1スレーブバスと、前記複数のマスタバスと前記複数の第1スレーブバスとの間に設けられた内部バスと、オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第1側第1スイッチと、前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、前記送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定するプルダウン処理部と、前記送信可能なマスタバスが前記内部バスと接続されるように、前記第1側第1スイッチのオンオフ動作を制御する第1側第1スイッチ制御部と、オンオフ動作を行い、前記複数の第1スレーブバスについて、前記内部バスに接続される第1スレーブバスを切り替える第1側第2スイッチと、前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、前記複数の第1スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じた第1スレーブバスが前記内部バスと接続されるように、前記第1側第2スイッチのオンオフ動作を制御する第1側第2スイッチ制御部とを備え、前記第2バス制御手段は、スレーブデバイスが接続される複数の第2スレーブバスと、前記送信可能なマスタバスと接続されたマスタデバイスから送信される第1のアドレスから、前記複数の第2スレーブバスのうちの制御対象の前記スレーブデバイスが接続される第2スレーブバスを特定する第2のアドレスをデコードするとともに、前記第1のアドレスを制御対象の前記スレーブデバイスを特定する第3のアドレスに変換し、前記送信可能なマスタバスと接続されたマスタデバイスからの前記第1のアドレスの送信に伴って全ての前記第2スレーブバスに前記第3のアドレスを送信するデコード部と、オンオフ動作を行い、前記複数の第2スレーブバスについて、前記第1スレーブバスに接続される第2スレーブバスを切り替える第2側第1スイッチと、前記第2のアドレスに従い、前記第2側第1スイッチのオンオフ動作による前記第1スレーブバスと前記第2スレーブバスとの接続を制御する接続制御部とを備え、所定のビット幅の上位ビットにおいて、前記第3のアドレスのビット列が全てのスレーブデバイスに対して固定のアドレス値を有しており、前記デコード部は、前記送信可能なマスタバスと接続されたマスタデバイスが前記第1のアドレスの前記上位ビットを送信する間、前記複数の第2スレーブバス全てに、前記第3のアドレスの前記上位ビットとして前記固定のアドレス値を送信し、前記接続制御部は、前記デコード部が前記第3のアドレスを送信後、前記第2のアドレスにより特定される前記第2スレーブバスのみが前記第1スレーブバスとの接続を維持するように前記第1側第1スイッチを制御するとともに、前記第2のアドレスにより特定されない全ての前記第2スレーブバスに対して、前記スレーブデバイスとの通信の終了を示す信号を送信することを特徴としている。
上記の構成によれば、第1バス制御手段において、通信検出部は、マスタデバイスからマスタバス上に出力された開始条件信号を検出し、優先順位決定部は、開始条件信号が検出されたマスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する。プルダウン処理部は、送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定する。
これにより、複数のマスタバスにそれぞれ接続された複数のマスタデバイスがそれぞれ任意のタイミングにて送信を行った場合であっても、一つのマスタバスが送信可能なマスタバスとして決定される。この場合、送信可能なマスタバス以外のマスタバスに接続されているマスタデバイスは、接続されているマスタバスがLレベルに固定されていることから、送信を行わない。
また、第1側第1スイッチ制御部は、送信可能なマスタバスが内部バスと接続されるように、第1側第1スイッチのオンオフ動作を制御する。終了条件検出部は、送信可能なマスタバスに接続されたマスタデバイスから送信可能なマスタバス上に出力された終了条件信号を検出する。終了条件カウント部は、送信可能なマスタバスに対応するバス対応カウンタにより、終了条件検出部にて検出された終了条件信号の数を数える。第1側第2スイッチ制御部は、複数の第1スレーブバスのうち、送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じた第1スレーブバスが内部バスと接続されるように、第1側第2スイッチのオンオフ動作を制御する。
これにより、送信可能なマスタバスにマスタデバイスから送信された終了条件信号は、送信可能なマスタバスに対応するバス対応カウンタによってカウントされるので、送信可能なマスタバスは、終了条件信号によって指定した第1スレーブデバイスと適切に接続することができる。
また、第2バス制御手段において、デコード部は、送信可能なマスタバスと接続されたマスタデバイスから送信される第1のアドレスから、複数の第2スレーブバスのうちの制御対象のスレーブデバイスが接続される第2スレーブバスを特定する第2のアドレスをデコードする。また、第1のアドレスを制御対象のスレーブデバイスを特定する第3のアドレスに変換し、送信可能なマスタバスと接続されたマスタデバイスからの第1のアドレスの送信に伴って全ての第2スレーブバスに第3のアドレスを送信する。
接続制御部は、第2のアドレスに従い、第1側第1スイッチのオンオフ動作による第1スレーブバスと第2スレーブバスとの接続を制御する。
ここで、所定のビット幅の上位ビットにおいて、第3のアドレスのビット列が全てのスレーブデバイスに対して固定のアドレス値を有している。
また、デコード部は、送信可能なマスタバスと接続されたマスタデバイスが第1のアドレスの上位ビットを送信する間、複数の第2スレーブバス全てに、第3のアドレスの前記上位ビットとして固定のアドレス値を送信する。
また、接続制御部は、デコード部が第3のアドレスを送信後、第2のアドレスにより特定される第2スレーブバスのみが第1スレーブバスとの接続を維持するように第2側第1スイッチを制御するとともに、第2のアドレスにより特定されない全ての第2スレーブバスに対して、スレーブデバイスとの通信の終了を示す信号を送信する。これにより、送信可能なマスタバスと接続されたマスタデバイスは、第3のアドレスによって特定されるスレーブデバイスと通信することができる。
したがって、第1バス制御手段において、送信可能なマスタバスと接続されたマスタデバイスにより送信可能なマスタバスと接続する第1スレーブバスとして任意の第1スレーブバスが選択された場合であっても、当該マスタデバイスから送信可能なマスタバス上に出力された終了条件信号により、送信可能なマスタバスを任意の第1スレーブバスに接続することができる。これにより、スレーブアドレスおよびバス番号を指定することによってマスタバスと接続する第1スレーブバスを切り替えるような従来の構成と比較して、マスタバスをいずれかの第1スレーブバスと接続するまでの速度を速くすることができる。この結果、マスタデバイスとスレーブデバイスとの通信速度を速くすることができる。
また、マスタデバイスからマスタバス上に出力される終了条件信号によって、マスタバスと接続する第1スレーブバスを切り替える構成であるから、同じスレーブアドレスのスレーブデバイスであっても、異なる第1スレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。したがって、スレーブアドレスは7ビットであるのでI2Cバスでは、仕様上、アドレスの組み合せは128個しか存在しないものの、マスタデバイスは、128個を超えるスレーブデバイスとの通信、すなわちスレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとの通信が可能となる。
これにより、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信が可能となる。[発明の効果]
本発明の構成によれば、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信が可能となる。
本発明の構成によれば、通信速度の低下を抑制しながら、スレーブアドレスのビット数によって制限される個数を超える個数のスレーブデバイスとマスタデバイスとの通信が可能となる。
〔実施の形態1〕
本発明の実施の形態を図面に基づいて以下に説明する。
本実施の形態のバス制御装置は、図1に示す構成を備えている。図1は、本発明の実施の形態におけるバス制御装置1の構成を示すブロック図である。
本発明の実施の形態を図面に基づいて以下に説明する。
本実施の形態のバス制御装置は、図1に示す構成を備えている。図1は、本発明の実施の形態におけるバス制御装置1の構成を示すブロック図である。
図1に示すように、バス制御装置1は、複数本のマスタバス11〜14、複数個のマスタデバイス21〜24、複数本のスレーブバス31〜34、複数個のスレーブデバイス41〜44、およびバス制御回路51を備えている。
マスタバス11にはマスタデバイス21が接続され、マスタバス12にはマスタデバイス22が接続され、マスタバス13にはマスタデバイス23が接続され、マスタバス14にはマスタデバイス24が接続されている。マスタバス11〜14にはそれぞれ0〜3のバス番号が設定されている。
スレーブバス31にはスレーブデバイス41が接続され、スレーブバス32にはスレーブデバイス42が接続され、スレーブバス33にはスレーブデバイス43が接続され、スレーブバス34にはスレーブデバイス44が接続されている。スレーブバス31〜34にはそれぞれ0〜3のバス番号が設定されている。各スレーブバス31〜34は、バス制御回路51を介していずれかのマスタバス11〜14と接続されるようになっている。
バス制御回路51は、マスタバス11〜14に対応するプルダウン回路(プルダウン処理部)61〜64およびマスタバススイッチ(第1スイッチ、第1側第1スイッチ)71〜74、スレーブバス31〜34に対応する(第2スイッチ、第1側第2スイッチ)スイッチ81〜84、通信検出回路(通信検出部)91、優先順位判定回路(優先順位決定部)92、スイッチ制御回路(第1スイッチ制御部、第1側第1スイッチ制御部)93、終了条件検出回路(終了条件検出部)94、終了条件カウンタ(終了条件カウント部)95、スイッチ制御回路(第2スイッチ制御部、第1側第2スイッチ制御部)96、並びに内部バス97を備えている。
プルダウン回路61は、マスタバススイッチ71の前段に位置し、入力側にはマスタバス11が接続され、出力側にはマスタバススイッチ71が接続されている。プルダウン回路62は、マスタバススイッチ72の前段に位置し、入力側にはマスタバス12が接続され、出力側にはマスタバススイッチ72が接続されている。プルダウン回路63は、マスタバススイッチ73の前段に位置し、入力側にはマスタバス13が接続され、出力側にはマスタバススイッチ73が接続されている。プルダウン回路64は、マスタバススイッチ74の前段に位置し、入力側にはマスタバス14が接続され、出力側にはマスタバススイッチ74が接続されている。
スイッチ81〜84はマスタバススイッチ71〜74の後段に位置し、各スイッチ81〜84の入力端子と各マスタバススイッチ71〜74の出力端子とは、同一の内部バス97によって接続されている。スイッチ81の出力端子にはスレーブバス31が接続され、スイッチ82の出力端子にはスレーブバス32が接続され、スイッチ83の出力端子にはスレーブバス33が接続され、スイッチ84の出力端子にはスレーブバス34が接続されている。
バス制御回路51において、通信検出回路91は、マスタデバイス21〜24とプルダウン回路61〜64との間においてマスタバス11〜14と接続されている。優先順位判定回路92は、通信検出回路91の後段に配置され、通信検出回路91と接続されている。スイッチ制御回路93は、優先順位判定回路92の後段に配置され、優先順位判定回路92、プルダウン回路61〜64およびマスタバススイッチ71〜74と接続されている。さらに、スイッチ制御回路93は、終了条件カウンタ95と接続されている。
終了条件検出回路94は、マスタバススイッチ71〜74とスイッチ81〜84との間において内部バス97と接続されている。終了条件カウンタ95は、終了条件検出回路94の後段に配置され、終了条件検出回路94と接続されている。スイッチ制御回路96は、終了条件カウンタ95の後段に配置され、終了条件カウンタ95およびスイッチ81〜84と接続されている。
マスタデバイス21〜24は、マスタバス11〜14と接続するスレーブバス31〜34を切り替える場合に、スレーブバス31〜34を切り替えるための開始条件信号と終了条件信号とを、各スレーブバス31〜34に応じて設定された回数だけ送信する。この場合、データは送信しない。
通信検出回路91は、マスタデバイス21〜24からマスタバス11〜14に送信された開始条件信号を検出する。
優先順位判定回路92は、通信検出回路91での検出の結果、すなわちマスタバス11〜14における開始条件信号の有無に基づいて、マスタバス11〜14のうちから送信可能なマスタバスを決定する。さらに、優先順位判定回路92は、複数のマスタバスにおいて同時に送信が開始された場合に、すなわち通信検出回路91により複数のマスタバスにおいて同時に開始条件信号が検出された場合に、マスタバス11〜14についての所定の優先順位に従って、送信可能なマスタバスを決定する。
上記優先順位は、例えばマスタバス11〜14のバス番号の順序に0,1,2,3となっている。また、上記優先順位は、マスタバス11〜14において有利不利が生じないように、適当なタイミングにて、0,1,2,3→1,2,3,0→2,3,0,1のように、ローテーションが行われるようになっている。
スイッチ制御回路93は、優先順位判定回路92の判定結果に基づいて、プルダウン回路61〜64およびマスタバススイッチ71〜74の動作を制御する。具体的には、プルダウン回路61〜64のうち、送信可能なマスタバス以外のマスタバスに対応するプルダウン回路に対して、対応するマスタバスを低レベルにするように指示する。さらに、マスタバススイッチ71〜74のうち、送信可能なマスタバスに対応するマスタバススイッチに対してオン動作するように指示するスイッチ制御信号を出力する。また、スイッチ制御回路93は、送信可能なマスタバスのバス番号を終了条件カウンタ95へ送信する。
プルダウン回路61〜64は、スイッチ制御回路93からの指示に従って、送信可能なマスタバスに対応するマスタバスを低レベル(例えば0レベル)に固定する。この場合、送信不可のマスタバスに接続されているマスタデバイスは、接続されているマスタバスがLレベルに固定されていることから、送信可能なマスタデバイスとして受け付けられていないことを検知し、送信を中止する(送信を行わない)。
また、マスタバススイッチ71〜74は、スイッチ制御回路93からスイッチ制御信号に基づいて、送信可能なマスタバスに対応するマスタバススイッチのみがオン動作を行う。これにより、送信可能なマスタバスのみが内部バス97と接続される。
終了条件検出回路94は、マスタデバイス21〜24からマスタバス11〜14に続けて送信され、マスタバス11〜14からプルダウン回路61〜64およびマスタバススイッチ71〜74を介して内部バス97に到達した終了条件信号を検出する。
終了条件カウンタ95は、マスタバス番号、すなわちマスタバス11〜14(マスタデバイス21〜24)に対応した複数のバス対応カウンタを備えている。これらバス対応カウンタは、スイッチ制御回路93から終了条件カウンタ95に送信されたマスタバスのバス番号に対応したものがアクティブとなる。アクティブとなったバス対応カウンタは、終了条件検出回路94にて検出された終了条件信号の回数、すなわちマスタデバイス21〜24から続けて送信された終了条件の回数をカウントする。
スイッチ制御回路96は、終了条件カウンタ95のアクティブとなったバス対応カウンタによるカウント値に応じて、各スイッチ81〜84をオンオフ動作させるスイッチ制御信号を出力する。
具体的には、スイッチ制御回路96は、スレーブバス31〜34のうち、バス対応カウンタのカウント値に応じたバス番号のスレーブバスが内部バス97(送信可能なマスタバス)と接続状態となり、それ以外のスレーブバスが内部バス97(送信可能なマスタバス)と接続の遮断状態なるようにするスイッチ制御信号をスイッチ81〜84に対して出力する。したがって、各スイッチ81〜84は、スイッチ制御信号の指示がスイッチのオン動作であれば、対応するスレーブバスが内部バス97(送信可能なマスタバス)と接続されるようにオン動作を行う。一方、スイッチ制御信号の指示がスイッチのオフ動作であれば、対応するスレーブバスと内部バス97(送信可能なマスタバス)との接続が遮断されるように、オフ動作を行う。
上記の構成において、本実施の形態のバス制御装置1の動作について以下に説明する。図2は、バス制御装置1の動作の一例を示すタイミングチャートである。
以下では、まず、送信可能なマスタデバイスおよびマスタバスが、マスタデバイス21およびマスタバス11(バス番号0)となり、マスタデバイス21がマスタバス11(バス番号0)およびスレーブバス33(バス番号2)によってスレーブデバイス43と通信する例について説明する。なお、図2の例では、その後、送信可能なマスタデバイスおよびマスタバスが、マスタデバイス21およびマスタバス11(バス番号0)からマスタデバイス22およびマスタバス12(バス番号1)に切り替わっている。また、バス制御装置1では、初期状態(初期設定)として、マスタバススイッチ71〜74は全てオフにされているものとする。
マスタデバイス21は、例えばスレーブバス33(バス番号2)に接続されたスレーブデバイス43と通信する場合に、マスタバス11のシリアルデータライン(SDA)およびシリアルクロックライン(SCL)上に開始条件信号55を送信する。次に、マスタデバイス21は、マスタバス11のシリアルデータライン(SDA)およびシリアルクロックライン(SCL)上に終了条件信号56を送信する。その後、マスタデバイス21は、開始条件信号55の送信動作および終了条件信号56の送信動作を続けて1回繰り返し、合計2回行う。この間、データの送信は行わない。
開始条件信号55の送信では、マスタバス11のシリアルクロックライン(SCL)を高レベルに維持した状態で、マスタバス11のシリアルデータライン(SDA)を高レベルから低レベルに変化させる。また、終了条件信号56の送信では、マスタバス11のシリアルクロックライン(SCL)を高レベルに維持した状態で、マスタバス11のシリアルデータライン(SDA)を低レベルから高レベルに変化させる。
通信検出回路91は、マスタデバイス21からマスタバス11への合計2回の開始条件信号55および終了条件信号56の送信動作に対して、マスタバス11に送信された開始条件信号55を検出する。
優先順位判定回路92は、マスタバス11へ送信された開始条件信号55が通信検出回路91にて検出されたことにより、送信可能なマスタデバイスおよびマスタバスをマスタデバイス21およびマスタバス11に決定する。なお、複数のマスタデバイスから複数のマスタバスに対して同時に開始条件信号55が送信された場合には、所定の優先順位に従って、送信可能なマスタデバイスおよびマスタバスを決定する。
スイッチ制御回路93は、送信可能なマスタバスが優先順位判定回路92によりマスタバス11(バス番号(0))に決定されたので、マスタバス11に対応するプルダウン回路61以外のプルダウン回路62〜64に対して、マスタバス12〜14を低レベルにするように指示する。さらに、マスタバス11に対応するマスタバススイッチ71に対してオン動作するように指示する。
これにより、プルダウン回路62〜64はマスタバス12〜14を低レベルにし、マスタバススイッチ71はオン動作を行う。したがって、マスタバス11は内部バス97と接続され、マスタデバイス21からマスタバス11に送信されたそれぞれ2回の開始条件信号55および終了条件信号56が内部バス97に到達する。
なお、送信不可となったマスタバスデバイスは、対応するマスタバスに終了条件信号56を送信したとき、またはスレーブアドレスを送信したときに、対応するマスタバスのレベルを確認する。この場合、対応するマスタバスのレベルが自身が送信した信号のレベルと一致しなければ、すなわちLレベルとなっていれば、送信不可であると認識し、送信を中止する。
また、スイッチ制御回路93は、送信可能なマスタバス11のバス番号0を終了条件カウンタ95へ送信する。これにより、終了条件カウンタ95では、バス番号0に対応したバス対応カウンタがアクティブとなる。
次に、マスタデバイス21から送信され、マスタバス11を介して内部バス97に到達2回の終了条件信号56は、終了条件検出回路94によって検出され、終了条件信号56の回数の2回が終了条件カウンタ95のバス対応カウンタによってカウントされる。このカウントはアクティブとなっている、バス番号0に対応するバス対応カウンタによって行われる。
スイッチ制御回路96は、バス番号0に対応するバス対応カウンタのカウント値の2を送信先のスレーブバスのバス番号とする。したがって、スイッチ制御回路96は、バス番号2のスレーブバス33が内部バス97と接続されるように、スイッチ83をオン動作させ、他のスイッチ81,82,84をオフ状態とする。
この場合、各終了条件信号56の送信動作、すなわちバス番号0に対応するバス対応カウンタでのカウント動作に応じてスイッチ81〜83が動作し、内部バス97(マスタバス11)に接続されるスレーブバスが、スレーブバス31(バス番号0)から、順次、スレーブバス32(バス番号1)、スレーブバス33(バス番号2)に切り替えられる。これにより、内部バス97(マスタバス11)は最終的にスレーブバス33(バス番号3)と接続される。
次に、マスタデバイス21からマスタバス11上にスレーブアドレスが送信され、スレーブバス33に接続されているスレーブデバイスのうち、そのスレーブアドレスのスレーブデバイス、すなわちスレーブデバイス43とマスタデバイス21との通信が可能となる。
なお、マスタバス11がスレーブバス33(バス番号2)と接続されている状態から、さらにそれぞれ2回の開始条件信号55および終了条件信号56の送信動作がマスタデバイス21にて行われた場合、初期状態(初期設定)に戻り、マスタバス11はスレーブバス31(バス番号0)と接続される。
上記のように、バス制御装置1では、終了条件カウンタ95がマスタバス番号に対応したバス対応カウンタを備え、各マスタデバイス21〜24から各マスタバス11〜14に送信された終了条件信号56を、バス対応カウンタによって各マスタバス11〜14別にカウントしている。したがって、複数のマスタバス11〜14およびマスタデバイス21〜24を備えている場合であっても、いずれかのマスタバスと、そのマスタデバイスによって指定されたいずれかのスレーブデバイスとの通信が可能となる。
また、マスタデバイス21〜24からマスタバス11〜14に送信された開始条件信号55に基づき、優先順位判定回路92にて送信可能なマスタデバイスおよびマスタバスを決定し、送信不可のマスタバスをLレベルにすることにより、送信可能なマスタデバイスからはスレーブバス31〜34に対して送信できるようにする一方、送信可能なマスタデバイス以外の送信不可のマスタデバイスからは送信ができないように調停している。
これにより、各マスタデバイス21〜24が任意のタイミングにて送信を開始した場合であっても、送信可能と決定されたマスタデバイスのみが、指定したスレーブデバイスと適切に通信することができる。したがって、複数のマスタバスを備え、それらマスタバスにそれぞれマスタデバイスが接続される構成に適切に対応することができる。
また、送信可能なマスタバスと接続するスレーブバスとして任意のスレーブバスを選択した場合でも、送信可能なマスタバスに接続されたマスタデバイスからマスタバス上に、選択したスレーブバスのバス番号に対応した回数だけ開始条件信号55および終了条件信号56を送信することにより、マスタバスを上記任意のスレーブバスに接続することができる。したがって、スレーブアドレスおよびバス番号を指定することによってマスタバスと接続するスレーブバスを切り替えるような従来の構成と比較して、マスタバスをいずれかのスレーブバス31〜34と接続するまでの速度を速くすることができる。
また、終了条件信号56によって送信可能なマスタバスと接続するスレーブバスを切り替えることができるので、同じスレーブアドレスのスレーブデバイスであっても、異なるスレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。
また、スレーブアドレスは7ビットであるので、I2Cバスでは、仕様上、アドレスの組み合せは128個しか存在しない。しかしながら、バス制御装置1では、スレーブバス31〜34を切り替えることにより、7ビットのアドレスにて128個を超えるスレーブデバイスとの通信が可能になる。
〔実施の形態2〕
本発明の他の実施の形態を図面に基づいて以下に説明する。
本実施の形態において、図1に示したマスタデバイス21〜24のうちの送信可能なマスタデバイスは、特定のスレーブデバイスを選択せずに、各スレーブデバイス41〜44を巡回し、順次各スレーブデバイス41〜44と通常の通信(データをやり取りする通信)を行うようになっている。この場合のバス制御装置1の動作を図3に基づいて説明する。図3は、本実施の形態におけるバス制御装置1の動作の一例を示すタイミングチャートである。
本発明の他の実施の形態を図面に基づいて以下に説明する。
本実施の形態において、図1に示したマスタデバイス21〜24のうちの送信可能なマスタデバイスは、特定のスレーブデバイスを選択せずに、各スレーブデバイス41〜44を巡回し、順次各スレーブデバイス41〜44と通常の通信(データをやり取りする通信)を行うようになっている。この場合のバス制御装置1の動作を図3に基づいて説明する。図3は、本実施の形態におけるバス制御装置1の動作の一例を示すタイミングチャートである。
バス制御装置1では、初期状態(初期設定)として、スレーブバス31(バス番号0)に接続されたスイッチ81のみがオンされているものとする。スイッチ81がオンされていることにより、マスタバス11〜14のうちの送信可能なマスタバスはスレーブバス31と接続される。図3の例では、まず、マスタバス11(バス番号0)が送信可能なマスタバス11となっている。
すなわち、まずマスタデバイス21からマスタバス11(バス番号0)に開始条件信号55が送信されており、この開始条件信号55が通信検出回路91によって検出される。したがって、優先順位判定回路92は、マスタバス11を送信可能なマスタバスに決定する。
この場合、スイッチ制御回路93は、マスタバス11以外のマスタバス12〜14を送信不可のマスタバスとし、プルダウン回路62〜64はマスタバス12〜14をLレベルにする。また、マスタバススイッチ71〜74のうち、マスタバススイッチ71のみがオンとなり、マスタバススイッチ72〜74はオフ状態に維持される。また、スイッチ制御回路93は、送信可能なマスタバス11のバス番号0を終了条件カウンタ95へ送信する。
これにより、マスタバス11がスレーブバス31と接続され、マスタデバイス21とスレーブデバイス41とのデータの通信が可能となる。また、終了条件カウンタ95では、バス番号0に対応したバス対応カウンタがアクティブとなる。
その後、マスタデバイス21とスレーブデバイス41との通信が終了し、マスタデバイス21から終了条件信号56がマスタバス11上に送信されると、終了条件検出回路94はその終了条件信号56を検出し、終了条件カウンタ95のバス番号0に対応したバス対応カウンタは終了条件信号56のカウント値を1増加させて1とする。
したがって、スイッチ制御回路96は、スイッチ81をオフにさせ、かつスイッチ82をオンにさせるスイッチ制御信号を出力する。この結果、マスタバス11の接続先がスレーブバス31からスレーブバス32に切り替わり、マスタデバイス21とスレーブデバイス42との通信が可能となる。
その後、マスタデバイス21とスレーブデバイス42との通信が終了し、マスタデバイス21から終了条件信号56がマスタバス11上に送信されると、終了条件検出回路94はその終了条件信号56を検出し、終了条件カウンタ95のバス番号0に対応したバス対応カウンタは終了条件信号56のカウント値を1増加させて2とする。
したがって、スイッチ制御回路96は、スイッチ82をオフにさせ、かつスイッチ83をオンにさせるスイッチ制御信号を出力する。この結果、マスタバス11の接続先がスレーブバス32からスレーブバス33に切り替わり、マスタデバイス21とスレーブデバイ43との通信が可能となる。
以下、同様にして、マスタデバイス21とスレーブデバイスとの通信が終了し、マスタデバイス21から終了条件信号56がマスタバス11上に送信される毎に、マスタバス11の接続先のスレーブバスが順次切り替えられ、順次、マスタデバイス21と各スレーブデバイスとの通信が可能となる。
なお、例えば各スレーブバス31〜34にそれぞれ複数のスレーブデバイスが接続されている場合、マスタデバイス21と通信可能となるスレーブデバイスの順序は次のように設定されている。
1.スレーブバス31(バス番号0)に接続の1番目のスレーブデバイス
2.スレーブバス32(バス番号1)に接続の1番目のスレーブデバイス
3.スレーブバス33(バス番号2)に接続の1番目のスレーブデバイス
4.スレーブバス34(バス番号3)に接続の1番目のスレーブデバイス
5.スレーブバス31(バス番号0)に接続の2番目のスレーブデバイス
6.スレーブバス32(バス番号1)に接続の2番目のスレーブデバイス
…………………………………………………
本実施の形態のバス制御装置1では、マスタバス11(バス番号0)および各スレーブバス31〜34によるマスタデバイス21と各スレーブデバイス41〜44との通信が終了した後、例えばマスタデバイス22からマスタバス12に開始条件信号55が送信されて、マスタデバイス22が送信可能なマスタデバイスとなった場合には、マスタバス12(バス番号1)および各スレーブバス31〜34によるマスタデバイス22と各スレーブデバイス41〜44との通信が行われる。この場合であっても、終了条件カウンタ95のマスタバス11(バス番号0)に対応したバス対応カウンタには、マスタデバイス21と各スレーブデバイス41〜44とが通信した際のカウント値が保持されている。したがって、マスタデバイス21と各スレーブデバイス41〜44との通信が再開された場合には、特別な操作を行うことなく、各スレーブデバイス41〜44を巡回する状態での通信を、先の通信終了時の順番のスレーブデバイスから適切に開始することができる。
2.スレーブバス32(バス番号1)に接続の1番目のスレーブデバイス
3.スレーブバス33(バス番号2)に接続の1番目のスレーブデバイス
4.スレーブバス34(バス番号3)に接続の1番目のスレーブデバイス
5.スレーブバス31(バス番号0)に接続の2番目のスレーブデバイス
6.スレーブバス32(バス番号1)に接続の2番目のスレーブデバイス
…………………………………………………
本実施の形態のバス制御装置1では、マスタバス11(バス番号0)および各スレーブバス31〜34によるマスタデバイス21と各スレーブデバイス41〜44との通信が終了した後、例えばマスタデバイス22からマスタバス12に開始条件信号55が送信されて、マスタデバイス22が送信可能なマスタデバイスとなった場合には、マスタバス12(バス番号1)および各スレーブバス31〜34によるマスタデバイス22と各スレーブデバイス41〜44との通信が行われる。この場合であっても、終了条件カウンタ95のマスタバス11(バス番号0)に対応したバス対応カウンタには、マスタデバイス21と各スレーブデバイス41〜44とが通信した際のカウント値が保持されている。したがって、マスタデバイス21と各スレーブデバイス41〜44との通信が再開された場合には、特別な操作を行うことなく、各スレーブデバイス41〜44を巡回する状態での通信を、先の通信終了時の順番のスレーブデバイスから適切に開始することができる。
また、本実施の形態のバス制御装置1では、マスタデバイス21〜24のうちの送信可能なマスタデバイスが1つのスレーブバスとのデータの通信を終了して終了条件信号56を対応するマスタバスに出力する毎に、自動的に、送信可能なマスタバスと接続されるスレーブバスが順次切り替えられ、かつ送信可能なマスタデバイスと通信可能となるスレーブデバイスが順次切り替えられる。
したがって、送信可能なマスタデバイスがスレーブバス31〜34と接続されている全てのスレーブデバイス41〜44を巡回するように通信する場合には、1つのスレーブデバイスとの通信の終了後に、送信可能なマスタデバイスが、対応するマスタバスと接続するスレーブバスのバス番号を指定する処理、および送信可能なマスタデバイスと通信するスレーブデバイスのスレーブアドレスを指定する処理が不要となる。これにより、送信可能なマスタデバイスがスレーブバス31〜34と接続されている全てのスレーブデバイス41〜44を巡回するように通信する場合の通信速度を向上することができる。
〔実施の形態3〕
本発明のさらに他の実施の形態を図面に基づいて以下に説明する。
本実施の形態のバス制御装置は、図4に示す構成を備えている。図4は、本発明の実施の形態におけるバス制御装置2の構成を示すブロック図である。
本発明のさらに他の実施の形態を図面に基づいて以下に説明する。
本実施の形態のバス制御装置は、図4に示す構成を備えている。図4は、本発明の実施の形態におけるバス制御装置2の構成を示すブロック図である。
図4に示すように、バス制御装置2は、マスタバス11〜14、マスタデバイス21〜24、複数本のスレーブバス(第1スレーブバス)31〜34、複数本のスレーブバス(第2スレーブバス)31a〜31d,32a〜32d,33a〜33d,34a〜34d、複数のスレーブデバイス、第1バス制御回路(第1バス制御手段)151および第2バス制御回路(第1バス制御手段)141〜144を備えている。なお、図4には複数のスレーブデバイスの一例として、スレーブデバイス101a〜101e,102a〜102e,103a〜103e,104a〜104eを記載している。
第1バス制御回路151は、図1に示したバス制御回路51と同一の構成である。したがって、ここでの詳細な説明は省略する。
第2バス制御回路141〜144は、互いに同一の構成であり、図5に示す構成を備えている。図5は、第2バス制御回路141〜144の構成を示すブロック図である。なお、図5では、便宜上、第2バス制御回路143の構成を示している。
第2バス制御回路143は、アドレスデコードテーブル111、アドレスデコード回路112、スイッチ制御回路(接続制御部)113、終了条件制御回路(接続制御部)114、スイッチ(第2スイッチ)121〜124および終了条件発生回路131〜134を備えている。
スイッチ121〜124および終了条件発生回路131〜134はそれぞれスレーブバス33a〜33dに対応して設けられている。すなわち、スイッチ121および終了条件発生回路131はスレーブバス33aに対応し、スイッチ122および終了条件発生回路132はスレーブバス33bに対応し、スイッチ123および終了条件発生回路133はスレーブバス33cに対応し、スイッチ124および終了条件発生回路134はスレーブバス33dに対応している。
アドレスデコード回路112は、マスタデバイス21〜24からマスタバス11〜14を介して送信されるスレーブデバイスの論理アドレスを、スレーブデバイスの実アドレスに変換するとともに、アドレスデコードテーブル111に基づき、スレーブバスのバス番号を生成する。また、アドレスデコード回路112は、アドレス変換後の実アドレスを全てのスレーブバス33a〜33dに対して、スレーブバス33a〜33d上に設けられたスイッチ121〜124を介して送信するように制御される。
ここで、図6には、バス制御装置2の第2バス制御回路143において適用可能な論理アドレスとスレーブデバイスの実アドレス、および当該スレーブデバイスと接続するスレーブバス33a〜33dの何れかを特定するためのバス番号との対応関係の一例を示す。図6に示すように、7ビットのアドレスデータのうち、実アドレスの上位4ビットは論理アドレスおよびスレーブバスのバス番号に拘らず固定であるのに対し、論理アドレスの上位4ビットはスレーブバスのバス番号に応じて異なっている。言い換えると、論理アドレスの上位4ビットにスレーブバスのバス番号の情報がエンコードされている。一方、実アドレスの下位3ビットは、対応する論理アドレスの下位3ビットと完全に一致している。
この場合、アドレスデコード回路112は、マスタバス11〜14に論理アドレスの上位4ビットが送信されているときには、全てのスレーブバス33a〜33dに所定の固定アドレス(ここでは、“0101”)を送信し、マスタバス11〜14に論理アドレスの下位3ビットが送信されているときには、当該論理アドレスの下位3ビットをそのまま、全てのスレーブバス33a〜33dに対して、実アドレスの下位3ビットとして送信する。さらに、アドレスデコード回路112は、論理アドレスの下位3ビットを送信している間に、アドレスデコードテーブル111を参照して、論理アドレスの上位4ビットから、スレーブバスのバス番号をデコードする。
図7には、バス制御装置2で用いられるアドレスデコードテーブル111の一例を示す。アドレスデコードテーブル111には、スレーブバス33a〜33dのそれぞれにつき、その論理アドレスの上位4ビットと、当該スレーブデバイスと接続するスレーブバス33a〜33dの何れかを特定するためのバス番号との対応関係が記述されている。バス制御装置2では、スレーブデバイスの実アドレスは、アドレスデコードテーブル111を用いることなく、論理アドレスの簡単なアドレス変換により求めるので、論理アドレスの送信と同時に実アドレスを送信することが可能になる。
スイッチ制御回路113は、スレーブバス33a〜33d毎に1つずつ設けられるスイッチ121〜124のオンオフを制御し、マスタバス11〜14とスレーブバス33a〜33dとの接続を個別に制御する。
具体的には、スイッチ制御回路113は、アドレスデコード回路112が実アドレスを送信する際、全てのスレーブバス33a〜33dに対して実アドレスが送信されるように、全てのスイッチ121〜124をオンする。その後、アドレスデコード回路112からスレーブバスのバス番号を受け取ると、当該バス番号により特定されるスレーブバスに設けられたスイッチのみをオンにし、他のスイッチをオフにする。これにより、当該バス番号により特定されるスレーブバスに対してのみ、マスタバス11〜14との接続を維持する。
終了条件制御回路114は、スレーブバス33a〜33dのそれぞれに対し、スレーブデバイスとの通信の終了を示す信号の送信を個別に制御する。これにより、当該スレーブバスに接続する全てのスレーブデバイスとマスタデバイス21〜24との通信を終了させる。具体的には、終了条件制御回路114は、スレーブバス33a〜33d毎に1つずつ設けられる終了条件発生回路131〜134に対し、終了条件発生のためのトリガ信号を個別に送信する。これにより、終了条件発生回路114が接続するスレーブバスを介したスレーブデバイスとマスタデバイス21〜24との通信を終了させる。
さらに具体的には、終了条件制御回路114は、アドレスデコード回路112からスレーブバスのバス番号を受け取ると、当該バス番号により特定されるスレーブバスを除く全てのスレーブバスと接続する終了条件発生回路に対して、終了条件発生のためのトリガ信号を送信する。終了条件発生回路131〜134のそれぞれは、当該トリガ信号を受け取ると、自身が接続するスレーブバスに対して終了条件を送信し、当該スレーブバスを介したスレーブデバイスとマスタデバイス21〜24との通信を終了させる。
上記の構成において、本実施の形態におけるバス制御装置2の動作について以下に説明する。図8は、バス制御装置2の動作の一例を示すタイミングチャートである。図8では、マスタバス11(バス番号0)に接続されているマスタデバイス21が送信可能なマスタデバイスとなっており、マスタデバイス21がスレーブバス33a(バス番号20)に接続されているスレーブデバイス103aと通信する場合のバス制御装置2の動作を示す。
マスタデバイス21は、スレーブバス33a(バス番号20)に接続されているスレーブデバイス103aと通信する場合に、スレーブバス33a〜33dが接続されている第2バス制御回路143にマスタバス11を接続させる。
このために、マスタバス11のシリアルデータライン(SDA)およびシリアルクロックライン(SCL)上に開始条件信号55を送信する。次に、マスタバス12のシリアルデータライン(SDA)およびシリアルクロックライン(SCL)上に終了条件信号56を送信する。その後、開始条件信号55の送信動作および終了条件信号56の送信動作を続けて1回繰り返し、合計2回行う。この間、データの送信はしない。
バス制御装置2の第1バス制御回路151(図1のバス制御回路51)では、マスタデバイス21からマスタバス11に送信された開始条件信号55が通信検出回路91によって検出される。したがって、優先順位判定回路92は、マスタバス11を送信可能なマスタバスに決定する。
この場合、スイッチ制御回路93は、マスタバス11以外のマスタバス12〜14を送信不可のマスタバスとし、プルダウン回路62〜64はマスタバス12〜14をLレベルにする。また、マスタバススイッチ(第1側第1スイッチ)71〜74のうち、マスタバススイッチ71のみがオンとなり、マスタバススイッチ72〜74はオフ状態に維持される。また、スイッチ制御回路93は、送信可能なマスタバス11のバス番号0を終了条件カウンタ95へ送信する。これにより、終了条件カウンタ95では、バス番号0に対応したバス対応カウンタがアクティブとなる。
また、上記の合計2回の開始条件信号55および終了条件信号56の送信動作において、終了条件カウンタ95のバス番号0に対応するバス対応カウンタは、終了条件信号56の回数をカウントする。したがって、上記の各開始条件信号55および終了条件信号56の送信動作に応じてスイッチ(第1スチッチ)81〜83が動作し、マスタバス11に接続される第2バス制御回路が、第2バス制御回路141(スレーブバス31)から、順次、第2バス制御回路142(スレーブバス32)、第2バス制御回路143(スレーブバス33)に切り替えられる。これにより、マスタバス11は最終的に第2バス制御回路143(スレーブバス33(バス番号2))と接続される。
次に、第2バス制御回路143は、論理アドレスを設定して、マスタバス11をスレーブバス33a(バス番号20)に接続させ、さらにマスタデバイス21をスレーブバス33a(バス番号20)に接続されているスレーブデバイス103aと通信可能にする。
この場合、第2バス制御回路143は、第1バス制御回路151から送られてくるデータを全てのスレーブバス33a〜33d(バス番号20〜23)へ送信する。そして、論理アドレスに従って、通信しないスレーブバス33b〜33d(バス番号21〜23)へは終了条件信号を送信して通信を終了させる。
その後、マスタデバイス21は、スレーブバス33a(バス番号20)との通信が終了すると、マスタバス11に終了条件信号56を出力する。これにより、第1バス制御回路151の終了条件カウンタ95のバス番号0に対応するバス対応カウンタのカウント値が1増加され、マスタバス11の接続が第2バス制御回路143(スレーブバス33(バス番号2))から第2バス制御回路144(スレーブバス34(バス番号3))に切り替わる。
次に、上記のようにマスタデバイス21がスレーブデバイス103aと通信する場合の第2バス制御回路143の動作について詳細に説明する。図9はマスタデバイス21がスレーブデバイス103aと通信する場合の第2バス制御回路143の動作を示すタイミングチャートである。
先ず、データの送受信が行われていない状態を初期状態として、スイッチ制御回路113は、マスタバス12と全てのスレーブバス33a〜33dが接続されるように、全てのスイッチ121〜124をオンにする。
次に、マスタバス12のシリアルデータライン(SDA)とマスタバス12のシリアルクロックライン(SCL)上に開始条件信号55を送信する。即ち、マスタバス12のシリアルクロックライン(SCL)を高レベルに維持した状態で、マスタバス12のシリアルデータライン(SDA)を高レベルから低レベルに変化させる。このとき、全てのスイッチ121〜124がオンであるので、全てのスレーブバス33a〜33d上にも開始条件信号55が送信される。
次に、マスタデバイス21からマスタバス12のシリアルデータライン上に、開始条件信号55に続く7ビットとして、データ送受信の対象となるスレーブデバイス103aを示す論理アドレス144(ここでは、“0100000”)を送信する。アドレスデコード回路112は、マスタデバイス21から送信された論理アドレスを受信すると、論理アドレス144を実アドレス145に変換し、アドレス変換後の実アドレス145を、全てのスレーブバス33a〜33d上に送信する。
具体的には、例えば、論理アドレスの所定のビット幅の上位ビット(例えば、上位4ビット)を固定アドレスのビット列(ここでは、“0101”)で置換し、当該置換されたアドレス(“0101000”)を実アドレスとしてスレーブバスに送信する。このとき、全てのスイッチ121〜124がオンであるので、全てのスレーブバス33a〜33d上に実アドレスが送信される。さらに、アドレスデコード回路112は、マスタデバイス21から送信された論理アドレス144の所定の上位ビット(“0100”)に基づいて、アドレスデコードテーブル111を参照して、スレーブバス33aのバス番号(“00”)を生成し、スイッチ制御回路113と終了条件制御回路114に送信する。
当該バス番号(“00”)を受信すると、スイッチ制御回路113は、スレーブバス33aと接続するスイッチ121をオンとし、他の全てのスイッチ122〜124をオフとするように、各スイッチ121〜124の制御を行う。この結果、スイッチ制御タイミング147において、マスタバス12とデータ送受信の対象であるスレーブバス33aとの接続のみが維持され、データ送受信の対象ではない他の全てのスレーブバス33b〜33dとの接続は切断される。
一方、終了条件制御回路114は、当該バス番号(“00”)を受信すると、データ送受信の対象ではないスレーブバス33b〜33dのいずれかと接続する終了条件発生回路131〜134のそれぞれに、終了条件発生のためのトリガ信号を送信する。終了条件発生回路131〜134は、当該トリガ信号を受信すると、自身が接続するスレーブバスに終了条件信号を送信し、データの送受信を終了させる。即ち、終了条件発生回路132〜134は、トリガ信号を受信すると、各スレーブバス33b〜33dのシリアルクロックライン(SCL)を高レベルに維持した状態で、シリアルデータライン(SDA)を低レベルから高レベルに変化させ、スレーブバス33b〜33dの何れかと接続するスレーブデバイスとのデータ送受信を終了させる。
これにより、スレーブバス33b〜33dに接続されているスレーブデバイスのそれぞれは、スレーブバス上に送信された実アドレスと自分のアドレスが一致していれば応答しようとするところ、終了条件信号56により強制的に終了させることができる。
一方、データ送受信の対象であるスレーブバス33aと接続する終了条件発生回路131には、当該トリガ信号は送信されず、データの送受信を継続させる。スレーブバス33a上のスレーブデバイス103aは、アドレスデコード回路112から送信された実アドレス(“0101000”)に基づいて、データの送受信対象が自分であることを認識し、マスタデバイス21とスレーブデバイス103aとの間でデータの送受信処理を開始する。
その後、マスタデバイス21とスレーブデバイス103aとの間で、データの送受信が終了すると、マスタデバイス21はマスタバス12を介して終了条件信号56を送信する。アドレスデコード回路112は、マスタデバイス21からの終了条件信号56を受信すると、データの送受信が終了したと判断して、スイッチ制御回路113にトリガ信号を送信する。即ち、スイッチ制御回路113は、マスタバス12と全てのスレーブバス33a〜33dが接続されるように、全てのスイッチ121〜124をオンにし、初期状態に戻す制御を行う。
次に、マスタデバイス21からマスタバス12上にスレーブアドレスが送信され、スレーブバス16に接続されているスレーブデバイス23,24のうち、そのスレーブアドレスのスレーブデバイスとマスタデバイス21との通信が可能となる。
なお、マスタバス12がスレーブバス16(バス番号3)と接続されている状態から、さらに開始条件信号55および終了条件信号56の送信動作が行われた場合、初期状態(初期設定)に戻り、マスタバス12はスレーブバス13(バス番号0)と接続される。
上記のように、バス制御装置1では、マスタバス12と接続するスレーブバスとして任意のスレーブバスを選択した場合でも、開始条件信号55および終了条件信号56により、マスタバス12を上記任意のスレーブバスに接続することができる。したがって、スレーブアドレスおよびバス番号を指定することによってマスタバス12と接続する場合を切り替えるような従来の構成と比較して、マスタバス12をいずれかのスレーブバス31〜16と接続するまでの速度を速くすることができる。
また、終了条件信号56によってマスタバス12と接続するスレーブバスを切り替えることができるので、同じスレーブアドレスのスレーブデバイスであっても、異なるスレーブバスに接続されていれば、それらスレーブデバイスを区別して通信することができる。
また、スレーブアドレスは7ビットあるので、I2Cバスでは、仕様上、アドレスの組み合せは128個しか存在しない。しかしながら、バス制御装置1では、スレーブバス31〜16を切り替えることにより、7ビットのアドレスにて128個を超えるスレーブデバイスとの通信が可能になる。
上記のように、本実施の形態のバス制御装置2では、第1バス制御回路71と第2バス制御回路141〜144とを備え、第1バス制御回路71では、終了条件信号56の回数によりマスタバス12と接続する第2バス制御回路141〜144を選択し、第2バス制御回路141〜144では、マスタデバイス21が通信するスレーブデバイスのスレーブアドレスに基づいて、スレーブバス(スレーブバス31a〜31d,32a〜32d,33a〜33d,34a〜34d)を選択し、かつ目標のスレーブデバイスとの通信を可能にしている。
これにより、マスタデバイス21は128個を超えるスレーブデバイス(例えば128×4=512個のスレーブデバイス)と通信可能であり、かつその通信において高い通信速度を維持することができる。
すなわち、図1に示したバス制御装置1では、スレーブバスの数が多くなると、スレーブバスを切り替えるための開始条件信号55および終了条件信号56の送信回数が多くなる。このため、スレーブバスの数の増加に伴って、通信速度が低下し、従来技術に対して通信速度が速いという優位性が低下していく。しかしながら、バス制御装置2では、スレーブバスの数の増加に伴う通信速度の低下を抑制でき、スレーブバスの数が増加した場合であっても、従来技術に対して通信速度の点において高い優位性を維持することができる。
ここで、バス制御回路51、第1バス制御回路151および第2バス制御回路141〜144の各ブロック、特に、プルダウン回路61〜64、通信検出回路91、優先順位判定回路92、スイッチ制御回路93、終了条件検出回路94、終了条件カウンタ95、スイッチ制御回路96、アドレスデコード回路112、スイッチ制御回路113および終了条件制御回路114は、終了条件発生回路131は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、バス制御回路51、第1バス制御回路151および第2バス制御回路141〜144は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるバス制御回路51、第1バス制御回路151および第2バス制御回路141〜144の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記バス制御回路51、第1バス制御回路151および第2バス制御回路141〜144に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ系などを用いることができる。
また、バス制御回路51、第1バス制御回路151および第2バス制御回路141〜144を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、マスタバスと複数のスレーブバスを介して通信の制御を行うバス制御装置に利用可能であり、特にI2Cバスを介したデータ送受信において、1つのマスタデバイスと接続可能なスレーブデバイスの数の制限をなくしたバス制御装置に利用可能である。
1 バス制御装置
2 バス制御装置
11〜14 マスタバス
21〜24 マスタデバイス
31〜31 スレーブバス(第1スレーブバス)
31a〜31d スレーブバス(第2スレーブバス)
32a〜32d スレーブバス(第2スレーブバス)
33a〜33d スレーブバス(第2スレーブバス)
34a〜34d スレーブバス(第2スレーブバス)
41〜44 スレーブデバイス
51 バス制御回路
55 開始条件信号
56 終了条件信号
61〜64 プルダウン回路(プルダウン処理部)
71〜74 マスタバススイッチ(第1スイッチ、第1側第1スイッチ)
81〜84 スイッチ(第2スイッチ、第1側第2スイッチ)
91 通信検出回路(通信検出部)
92 優先順位判定回路(優先順位決定部)
93 スイッチ制御回路(第1スイッチ制御部、第1側第1スイッチ制御部)
94 終了条件検出回路(終了条件検出部)
95 終了条件カウンタ(終了条件カウント部)
96 スイッチ制御回路(第2スイッチ制御部、第1側第2スイッチ制御部)
97 内部バス
101a〜101e スレーブデバイス
102a〜102e スレーブデバイス
103a〜103e スレーブデバイス
104a〜104e スレーブデバイス
111 アドレスデコードテーブル
112 アドレスデコード回路(デコード部)
113 スイッチ制御回路(接続制御部)
114 終了条件制御回路(接続制御部)
121〜124 スイッチ(第2スイッチ)
131〜134 終了条件発生回路
141〜144 第2バス制御回路
2 バス制御装置
11〜14 マスタバス
21〜24 マスタデバイス
31〜31 スレーブバス(第1スレーブバス)
31a〜31d スレーブバス(第2スレーブバス)
32a〜32d スレーブバス(第2スレーブバス)
33a〜33d スレーブバス(第2スレーブバス)
34a〜34d スレーブバス(第2スレーブバス)
41〜44 スレーブデバイス
51 バス制御回路
55 開始条件信号
56 終了条件信号
61〜64 プルダウン回路(プルダウン処理部)
71〜74 マスタバススイッチ(第1スイッチ、第1側第1スイッチ)
81〜84 スイッチ(第2スイッチ、第1側第2スイッチ)
91 通信検出回路(通信検出部)
92 優先順位判定回路(優先順位決定部)
93 スイッチ制御回路(第1スイッチ制御部、第1側第1スイッチ制御部)
94 終了条件検出回路(終了条件検出部)
95 終了条件カウンタ(終了条件カウント部)
96 スイッチ制御回路(第2スイッチ制御部、第1側第2スイッチ制御部)
97 内部バス
101a〜101e スレーブデバイス
102a〜102e スレーブデバイス
103a〜103e スレーブデバイス
104a〜104e スレーブデバイス
111 アドレスデコードテーブル
112 アドレスデコード回路(デコード部)
113 スイッチ制御回路(接続制御部)
114 終了条件制御回路(接続制御部)
121〜124 スイッチ(第2スイッチ)
131〜134 終了条件発生回路
141〜144 第2バス制御回路
Claims (7)
- マスタデバイスがそれぞれ接続される複数のマスタバスと、
スレーブデバイスがそれぞれ接続される複数のスレーブバスと、
前記複数のマスタバスと前記複数のスレーブバスとの間に設けられた内部バスと、
オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第1スイッチと、
前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、
前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、
前記送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定するプルダウン処理部と、
前記送信可能なマスタバスが前記内部バスと接続されるように、前記第1スイッチのオンオフ動作を制御する第1スイッチ制御部と、
オンオフ動作を行い、前記複数のスレーブバスについて、前記内部バスに接続されるスレーブバスを切り替える第2スイッチと、
前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、
前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、
前記複数のスレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように、前記第2スイッチのオンオフ動作を制御する第2スイッチ制御部とを備えていることを特徴とするバス制御装置。 - 前記第2スイッチ制御部は、前記終了条件カウント部におけるバス対応カウンタのカウント値に応じた分だけ、前記複数のスレーブバスについて、前記送信可能なマスタバスと接続されるスレーブバスが順次切り替わるように、前記第2スイッチのオンオフ動作を制御することを特徴とする請求項1に記載のバス制御装置。
- 前記第2スイッチ制御部は、前記送信可能なマスタバスと接続されたマスタデバイスと前記スレーブデバイスとの通信終了後に、前記送信可能なマスタバスと接続されたマスタデバイスから前記マスタバス上に出力される前記終了条件信号についての前記終了条件カウント部におけるバス対応カウンタのカウント値に応じて、前記複数のスレーブバスについて、前記送信可能なマスタバスに接続されるスレーブバスが所定の順序にて切り替わるように、前記第2スイッチのオンオフ動作を制御することを特徴とする請求項1または2に記載のバス制御装置。
- 第1バス制御手段と複数の第2バス制御手段とを備え、
前記第1バス制御手段は、
マスタデバイスがそれぞれ接続される複数のマスタバスと、
前記第2バス制御手段がそれぞれ接続される複数の第1スレーブバスと、
前記複数のマスタバスと前記複数の第1スレーブバスとの間に設けられた内部バスと、
オンオフ動作を行い、前記複数のマスタバスについて、前記内部バスに接続されるマスタバスを切り替える第1側第1スイッチと、
前記マスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出部と、
前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定部と、
前記送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定するプルダウン処理部と、
前記送信可能なマスタバスが前記内部バスと接続されるように、前記第1側第1スイッチのオンオフ動作を制御する第1側第1スイッチ制御部と、
オンオフ動作を行い、前記複数の第1スレーブバスについて、前記内部バスに接続される第1スレーブバスを切り替える第1側第2スイッチと、
前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出部と、
前記複数のマスタバスに対応するバス対応カウンタを有し、前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出部にて検出された終了条件信号の数を数える終了条件カウント部と、
前記複数の第1スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じた第1スレーブバスが前記内部バスと接続されるように、前記第1側第2スイッチのオンオフ動作を制御する第1側第2スイッチ制御部とを備え、
前記第2バス制御手段は、
スレーブデバイスが接続される複数の第2スレーブバスと、
前記送信可能なマスタバスと接続されたマスタデバイスから送信される第1のアドレスから、前記複数の第2スレーブバスのうちの制御対象の前記スレーブデバイスが接続される第2スレーブバスを特定する第2のアドレスをデコードするとともに、前記第1のアドレスを制御対象の前記スレーブデバイスを特定する第3のアドレスに変換し、前記送信可能なマスタバスと接続されたマスタデバイスからの前記第1のアドレスの送信に伴って全ての前記第2スレーブバスに前記第3のアドレスを送信するデコード部と、
オンオフ動作を行い、前記複数の第2スレーブバスについて、前記第1スレーブバスに接続される第2スレーブバスを切り替える第2側第1スイッチと、
前記第2のアドレスに従い、前記第2側第1スイッチのオンオフ動作による前記第1スレーブバスと前記第2スレーブバスとの接続を制御する接続制御部とを備え、
所定のビット幅の上位ビットにおいて、前記第3のアドレスのビット列が全てのスレーブデバイスに対して固定のアドレス値を有しており、
前記デコード部は、前記送信可能なマスタバスと接続されたマスタデバイスが前記第1のアドレスの前記上位ビットを送信する間、前記複数の第2スレーブバス全てに、前記第3のアドレスの前記上位ビットとして前記固定のアドレス値を送信し、
前記接続制御部は、前記デコード部が前記第3のアドレスを送信後、前記第2のアドレスにより特定される前記第2スレーブバスのみが前記第1スレーブバスとの接続を維持するように前記第1側第1スイッチを制御するとともに、前記第2のアドレスにより特定されない全ての前記第2スレーブバスに対して、前記スレーブデバイスとの通信の終了を示す信号を送信することを特徴とするバス制御装置。 - 複数のマスタバスにそれぞれ接続されたマスタデバイスから前記マスタバス上に出力された開始条件信号を検出する通信検出工程と、
前記開始条件信号が検出された前記マスタバスのうちから、所定の規則にしたがって一つの送信可能なマスタバスを決定する優先順位決定工程と、
前記送信可能なマスタバス以外のマスタバスのレベルをLレベルに固定するプルダウン処理工程と、
前記送信可能なマスタバスが、前記複数のマスタバスと複数のスレーブバスとの間に設けられた内部バスと接続されるように切り替える第1切替え工程と、
前記送信可能なマスタバスに接続されたマスタデバイスから前記送信可能なマスタバス上に出力された終了条件信号を検出する終了条件検出工程と、
前記送信可能なマスタバスに対応するバス対応カウンタにより、前記終了条件検出工程にて検出された終了条件信号の数を数える終了条件カウント工程と、
複数の前記スレーブバスのうち、前記送信可能なマスタバスに対応するバス対応カウンタのカウント値に応じたスレーブバスが前記内部バスと接続されるように切り替える第2切替え工程とを備えていることを特徴とするバス制御方法。 - 請求項1から4のいずれか1項に記載のバス制御装置の前記の各部としてコンピュータを機能させるためのプログラム。
- 請求項6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012177584A JP2014035709A (ja) | 2012-08-09 | 2012-08-09 | バス制御装置、バス制御方法、プログラムおよび記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012177584A JP2014035709A (ja) | 2012-08-09 | 2012-08-09 | バス制御装置、バス制御方法、プログラムおよび記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014035709A true JP2014035709A (ja) | 2014-02-24 |
Family
ID=50284654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012177584A Pending JP2014035709A (ja) | 2012-08-09 | 2012-08-09 | バス制御装置、バス制御方法、プログラムおよび記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014035709A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015219914A (ja) * | 2014-05-15 | 2015-12-07 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 時分割多重化方式でシリアルポートを用いるための方法および装置 |
JP2016184280A (ja) * | 2015-03-26 | 2016-10-20 | 三菱電機株式会社 | 双方向シリアルバススイッチ、ゲートアレイ |
-
2012
- 2012-08-09 JP JP2012177584A patent/JP2014035709A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015219914A (ja) * | 2014-05-15 | 2015-12-07 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 時分割多重化方式でシリアルポートを用いるための方法および装置 |
US9742548B2 (en) | 2014-05-15 | 2017-08-22 | Huawei Technologies Co., Ltd. | Method and apparatus for using serial port in time division multiplexing manner |
JP2016184280A (ja) * | 2015-03-26 | 2016-10-20 | 三菱電機株式会社 | 双方向シリアルバススイッチ、ゲートアレイ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10241955B2 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
CN112639756B (zh) | 混合模式射频前端接口 | |
US10007628B2 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
KR20160147842A (ko) | 센서 글로벌 버스 | |
TW201923606A (zh) | 針對多執行環境之i3c頻帶內中斷 | |
KR20160019103A (ko) | 카메라 제어 인터페이스 확장 버스 | |
JP4655756B2 (ja) | 遠隔操作装置、機器制御装置及び遠隔操作方法 | |
US20060277339A1 (en) | Communication apparatus, switching method, and switching program | |
EP3311296B1 (en) | Uart with automated protocols | |
CN112579509A (zh) | 单线通讯方法、装置、电子设备及可读存储介质 | |
CN107748509B (zh) | 基于单片机收发控制的asi通信从机实施方法 | |
CN105261199A (zh) | 红外数据的编解码方法及装置 | |
TW202024931A (zh) | I3c匯流排上的緊急帶內中斷 | |
CN106462533A (zh) | 用于多码元字的同步方法 | |
JP2014035709A (ja) | バス制御装置、バス制御方法、プログラムおよび記録媒体 | |
TW201904236A (zh) | 串列匯流排中止之際的糾錯計算 | |
CN104133792B (zh) | 精简串行总线通信方法及系统 | |
JP2013239043A (ja) | バス制御装置、バス制御方法、プログラムおよび記録媒体 | |
TW202213115A (zh) | 相位差分協定的錯誤訊號傳遞窗口 | |
JP2004531146A (ja) | 搬送波感知多重アクセス/衝突検出方式(csma/cd)を支援する通信装置及び方法 | |
JP2011151769A (ja) | データ通信システム及びデータ通信方法 | |
JP6241256B2 (ja) | 電子機器、制御装置および通信方法 | |
CN113127401B (zh) | 一种耳机盒与耳机的通信方法和系统 | |
KR20080020909A (ko) | 전자장치 및 i2c 통신방법 | |
US20140056336A1 (en) | Electronic system and communication control method for transmitting and receiving data by serial communication |