(57)【特許請求の範囲】
【請求項１】
複数のデバイスを双方向シリアル通信可能に接続する双方向シリアルバススイッチであって、
第１デバイスと第２デバイスとの間の双方向シリアルバスの信号方向を、前記第１デバイスから出力される信号あるいは前記第２デバイスから出力される信号に切り換えるスイッチ手段と、
前記第１デバイスが出力する信号に従って前記信号方向を決定し前記スイッチ手段を制御する解析手段と、
を有することを特徴とする双方向シリアルバススイッチ。
【請求項２】
前記第１デバイスが出力する信号のオペレーションコードに従って前記信号方向を決定することを特徴とする請求項１に記載の双方向シリアルバススイッチ。
【請求項３】
前記第１デバイスが出力する信号のデバイスアドレスに従って複数の第２デバイスから出力される信号のいずれか１つを選択する選択手段をさらに有することを特徴とする請求項１または２に記載の双方向シリアルバススイッチ。
【請求項４】
請求項１−３のいずれか１項に記載の双方向シリアルバススイッチが構成されたゲートアレイ。
【請求項５】
請求項１−３のいずれか１項に記載の双方向シリアルバススイッチを有する双方向シリアルバスシステム。
【請求項６】
複数のデバイスを双方向シリアル通信可能に接続する双方向シリアルバスの通信制御方法であって、
第１デバイスが出力する信号に従って、前記第１デバイスと第２デバイスとの間の双方向シリアルバスの信号方向を決定する制御信号を生成し、
前記制御信号に従って前記第１デバイスと前記第２デバイスとの間の双方向信号方向を、前記第１デバイスから出力される信号あるいは前記第２デバイスから出力される信号に切り換える、
ことを特徴とする双方向シリアルバスの通信制御方法。
【請求項７】
前記第１デバイスが出力する信号のオペレーションコードに従って前記信号方向を決定することを特徴とする請求項６に記載の双方向シリアルバスの通信制御方法。
【請求項８】
前記第１デバイスが出力する信号のデバイスアドレスに従って複数の第２デバイスから出力される信号のいずれか１つを選択することを特徴とする請求項６または７に記載の双方向シリアルバスの通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は少数の配線で多数のデバイスを制御するため双方向シリアル通信システムに係り、特に複数のデバイスを接続した双方向シリアルバスの通信制御方法および双方向シリアルバススイッチに関する。
【背景技術】
【０００２】
双方向シリアル通信方式はＩ２Ｃ(Inter-Integrated Circuit)やＭＤＩＯ(Management Data Input/Output)などで使用されている。双方向シリアル通信方式では、たとえばバスを１つのデバイスが占有してしまったり、どれか１つのデバイスがハングアップしてしまったり、デバイスの電源がおちたり、あるいは省エネ制御のために意図的にデバイスの電源を落としたり、という原因によりバスの論理が固定されると、バス自体が使用できなくなるという問題がある。そこで、バスが使用できなくなる事態を避けるために、バスを切り離す手段が提案されている（特許文献１参照）。
【０００３】
また、接続されるデバイス数が多くなると浮遊容量が増えるために接続デバイス数が制限されるという問題に対しては、マスタデバイス側のバスと複数のスレーブデバイス側のバスとの間を選択的に接続するスイッチを設け、アドレスデコーダによりデータ転送の対象となるスレーブデバイスが接続されるようにスイッチを制御する方法が提案されている（たとえば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２９５０６９号公報
【特許文献２】特開２０００−１６５４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献に記載されたようなバススイッチは、ＦＰＧＡ(Field Programmable Gate Array)などのゲートアレイにそのまま組み込むことができない。なぜならばゲートアレイの内部では双方向信号を使用できないからである。また、双方向シリアル通信方式では、マスタデバイスがクロックをドライブするが、ある決まったタイミングで通信方向を切り替えることが必要である。例えば、ＭＤＩＯではアドレスのフレームの受信からデータの送信までを２クロック以内に完了しなければならない。
【０００６】
そこで、本発明の目的は、双方向シリアル信号を単方向信号に変換し所定のタイミングで方向を切り替えることができる双方向シリアルバスの通信制御方法および双方向シリアルバススイッチを提供することにある。
【課題を解決するための手段】
【０００７】
本発明による双方向シリアルバススイッチは、複数のデバイスを双方向シリアル通信可能に接続する双方向シリアルバススイッチであって、第１デバイスと第２デバイスとの間の双方向シリアルバスの信号方向を、前記第１デバイスから出力される信号あるいは前記第２デバイスから出力される信号に切り換えるスイッチ手段と、前記第１デバイスが出力する信号に従って前記信号方向を決定し前記スイッチ手段を制御する解析手段と、を有することを特徴とする。
【０００８】
本発明による双方向シリアルバスの通信制御方法は、第１デバイスが出力する信号に従って、前記第１デバイスと第２デバイスとの間の双方向シリアルバスの信号方向を決定する制御信号を生成し、前記制御信号に従って前記第１デバイスと前記第２デバイスとの間の双方向信号方向を、前記第１デバイスから出力される信号あるいは前記第２デバイスから出力される信号に切り換える、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、双方向シリアル信号を単方向信号に変換し所定のタイミングで方向を切り替えることができる
【図面の簡単な説明】
【００１０】
【図１】図１は本発明の第１実施形態によるバススイッチを含む双方向シリアルバスシステムの構成を示すブロック図である。
【図２】図２（Ａ）は図１におけるマスタ側スイッチの構成例を示すブロック図、図２（Ｂ）は図１におけるスレーブ側スイッチの構成例を示すブロック図である。
【図３】図３は本実施形態によるバススイッチの動作を説明するためのＭＤＩＯリードシーケンスを示す信号波形図である。
【図４】図４は本実施形態によるバススイッチの動作を説明するためのＭＤＩＯライトシーケンスを示す信号波形図である。
【図５】図５は本実施形態によるバススイッチの動作を説明するためのＩ２Ｃリードシーケンスを示す信号波形図である。
【図６】図６は本実施形態によるバススイッチの動作を説明するためのＩ２Ｃライトシーケンスを示す信号波形図である。
【図７】図７は本発明の第２実施形態によるバススイッチを含む双方向シリアルバスシステムの構成を示すブロック図である。
【図８】図８は本発明の他の適用例である双方向シリアルバスシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
本発明によれば、アドレスデコーダの解析結果に応じて信号の転送方向を切り替えるスイッチを設けることで送信中に信号の方向を切り替えることができ、双方向シリアル信号を単方向信号に変換し所定のタイミングで方向を切り替えることが可能となる。たとえばゲートアレイの内部にアドレスを解析するデコーダを設け、マスタデバイスからの出力信号を解析することで、スレーブデバイスからの送信タイミングでスイッチの切替を行なうようにする。
【００１２】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。なお、以下の実施形態において、マスタデバイスはＣＰＵ(Central Processing Unit)などの演算機能を持ちスレーブデバイスに主導的にアクセスするデバイスのことであり、スレーブデバイスは、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read-Only Memory)やＰＨＹ（イーサネット物理層チップ（「イーサネット」は登録商標、以下同じ。)）などの機能を持ちマスタデバイスに従属的に接続されるデバイスのことである。
【００１３】
１．第１実施形態
１．１）構成
図１において、本発明の第１実施形態による双方向シリアルバススイッチ１００は、マスタデバイス１０１とスレーブデバイス１０２との間で転送される双方向シリアル信号を単方向信号に変換する機能を有する。より具体的には、双方向シリアルバススイッチ１００は、マスタ側スイッチ１０３、スレーブ側スイッチ１０４およびデコード部１０５を有し、マスタ側スイッチ１０３およびスレーブ側スイッチ１０４を切り替え制御することで、双方向信号を単方向信号に変換する。
【００１４】
マスタ側スイッチ１０３は、デコード部１０５から入力する制御信号１１３に従って、マスタデバイス１０１から受けたマスタ側双方向信号１１０をマスタ出力信号１１１として出力するか、あるいはスレーブ側スイッチ１０４から入力するスレーブ出力信号１１２をマスタ側双方向信号１１０として出力するか切り替える。
【００１５】
スレーブ側スイッチ１０４は、同じく制御信号１１３に従って、スレーブデバイス１０２から受けたスレーブ側双方向信号１１４をスレーブ出力信号１１２として出力するか、あるいはマスタ側スイッチ１０３から入力するマスタ出力信号１１１をスレーブ側双方向信号１１４として出力するか切り替える。
【００１６】
デコード部１０５は、マスタ出力信号１１１を入力して動作およびアドレスをデコードし、デコード結果に従ってマスタ側スイッチ１０３およびスレーブ側スイッチ１０４へそれぞれ切替制御のための制御信号１１３を出力する。なお、デコード部１０５には予め各スレーブデバイスの固有アドレスが記憶されている。またデコード部１０５にはマスタデバイス１０１からクロック１１５が供給され、そのクロック１１５はさらにスレーブデバイス１０２にも供給される。
【００１７】
図２（Ａ）に示すように、マスタ側スイッチ１０３は、スレーブからマスタの方向に信号を出力するバッファアンプ１０３ａと、マスタからスレーブの方向に信号を出力するバッファアンプ１０３ｂとを有する。バッファアンプ１０３ａの制御端子には制御信号１１３がそのまま入力し、バッファアンプ１０３ｂの制御端子には制御信号１１３がインバータ１０３ｃを通して入力する。したがって、制御信号１１３が０／１であれば、バッファアンプ１０３ａとバッファアンプ１０３ｂの一方が信号を出力するとき（ＯＮ）、他方は信号を出力しない（ＯＦＦ）という切替制御が行われる。ここでは、通常、バッファアンプ１０３ａがＯＦＦ、バッファアンプ１０３ｂがＯＮとなっているものとする。
【００１８】
図２（Ｂ）に示すように、スレーブ側スイッチ１０４は、スレーブからマスタの方向に信号を出力するバッファアンプ１０４ａと、マスタからスレーブの方向に信号を出力するバッファアンプ１０４ｂとを有する。バッファアンプ１０４ａの制御端子には制御信号１１３がそのまま入力し、バッファアンプ１０４ｂの制御端子には制御信号１１３がインバータ１０４ｃを通して入力する。したがって、制御信号１１３が０／１であれば、バッファアンプ１０４ａとバッファアンプ１０４ｂの一方が信号を出力するとき（ＯＮ）、他方は信号を出力しない（ＯＦＦ）という切替制御が行われる。ここでは、通常、バッファアンプ１０４ａがＯＦＦ、バッファアンプ１０４ｂがＯＮとなっているものとする。
【００１９】
図２（Ａ）および図２（Ｂ）において、制御信号１１３が通常‘０’であるとすれば、マスタデバイス１０１がドライブすると、マスタ側スイッチ１０３はマスタ側双方向信号１１０を受けてマスタ出力信号１１１をドライブし、スレーブ側スイッチ１０４はマスタ出力信号１１１を受けてスレーブ側双方向信号１１４をドライブする。逆に、スレーブデバイス１０２がドライブをする場合には、後述するように制御信号１１３が‘１’となり、スレーブ側スイッチ１０４はスレーブ側双方向信号１１４を受けてスレーブ出力信号１１２をドライブし、マスタ側スイッチ１０３はスレーブ出力信号１１２を受けてマスタ側双方向信号１１０をドライブする。このようにして、双方向シリアルバススイッチ１００の双方向信号と単方向信号との間の変換を実現することができる。
【００２０】
１．２）動作（ＭＤＩＯ適用例）
Ａ）ＭＤＩＯリードフレーム
図３を参照しながら、ＭＤＩＯインタフェースを一例として、スレーブデバイス１０２からのデータ読み出し時のリードフレームにおける切替動作を説明する。ここで、ＭＤＩＯリードフレームは、プリアンブル２０１、スタートオブフレーム２０２、オペレーションコード２０３、ＰＨＹアドレス２０４、レジスタアドレス２０５、ターンアラウンド２０６、およびデータ２０７による区間で区切られている。
【００２１】
プリアンブル２０１では、フレームの先頭を表すために３２ビット分で連続して‘１’が出力される（ただし、図３では省略している。）。スタートオブフレーム２０２では、プリアンブル２０１で‘１’が連続して続いた後に‘０’→‘１’と変化することでフレームの開始を表す。オペレーションコード２０３では、リードとライトのどちらのフレームであるかを表し、リードフレームの場合は‘１０’が出力される。ＰＨＹアドレス２０４はアクセスするスレーブデバイス１０２の固有アドレス１１６を指定し、レジスタアドレス２０５はスレーブ内部のレジスタのアドレスを指定する。ターンアラウンド２０６では、マスタデバイス１０１からスレーブデバイス１０２への出力切替を行なうため２クロックの間を空ける。リードフレームではスレーブデバイス１０２からデータがドライブされ、ライトフレームではマスタデバイス１０１からデータがドライブされる。
【００２２】
制御信号１１３は通常‘０’にセットされているので、マスタ側スイッチ１０３およびスレーブ側スイッチ１０４はマスタ出力信号１１１を選択し、スレーブ出力信号１１２側は高インピーダンス状態となっている。デコード部１０５は、マスタ側双方向信号１１０から出力されたマスタ出力信号１１１を解析し、リードフレームでＰＨＹアドレス２０４が予め記憶されたスレーブの固有アドレス１１６と一致する場合には、ターンアラウンド２０６からデータの出力が終わるまで制御信号１１３を‘０’から‘１’にする。
制御信号１１３が‘１’になることで、マスタ側スイッチ１０３およびスレーブ側スイッチ１０４はスレーブ出力信号１１２を選択し、マスタ出力信号１１１側は高インピーダンス状態となる。これによって、スレーブデバイス１０２から出力されたデータがスレーブ出力信号１１２としてマスタ側へ読みだされる。
【００２３】
Ｂ）ＭＤＩＯライトフレーム
図４を参照しながら、スレーブデバイス１０２へのデータ書き込み時のＭＤＩＯライトフレームにおける切替動作を説明する。ＭＤＩＯライトフレームも、リードフレームと同様に、プリアンブル２０１、スタートオブフレーム２０２、オペレーションコード２０３、ＰＨＹアドレス２０４、レジスタアドレス２０５、ターンアラウンド２０６、およびデータ２０７による区間で区切られている。ただし、オペレーションコード２０３はライトフレームを表す‘０１’となる。また、ライトフレームではマスタデバイス１０１からデータがドライブされる。
【００２４】
デコード部１０５は、マスタ出力信号１１１を解析し、ライトフレームでＰＨＹアドレス２０４がスレーブの固有アドレス１１６と一致する場合には、制御信号１１３を変化させず、ターンアラウンド２０６以降も‘０’のまま維持する。したがって、マスタ側スイッチ１０３おおびスレーブ側スイッチ１０４はマスタ出力を選択した状態であり、マスタ側双方向信号１１０からの書き込みデータはマスタ出力信号１１１としてスレーブ側へ転送される。
【００２５】
１．３）動作（Ｉ２Ｃ適用例）
図５および図６に本実施形態をＩ２Ｃに適用した場合のデコード処理（ライトシーケンスおよびリードシーケンス）を示す。図５および図６に示すように、リード／ライトシーケンスでは、スタート３０１に続くデバイスアドレス３０２によってスレーブデバイス１０２の固有アドレス１１６と一致する否かが判別され、Ｒ／Ｗ３０３によってリードかライトかが判別される。続いて、読み出し／書き込みデータ３０５が出力されるが、Ｉ２Ｃでは仕様上、８ビット送信完了毎にＡＣＫ３０４を返す必要があるために、このタイミングで制御信号１１３が‘１’となる。
【００２６】
図５に示すライトシーケンスでは、デコード部１０５でスレーブデバイス１０２がもつ固有アドレス１１６であるデバイスアドレス３０２を判別し、スレーブデバイス１０２に該当する場合には、デバイスアドレス３０２とＲ／Ｗ３０３を送信後、すなわち８ビット送信の完了後である９クロック目のタイミングで、制御信号１１３を‘１’にする。以下同様に８ビット送信完了毎に制御信号１１３を‘１’にする。
【００２７】
図６に示すリードシーケンスでは、途中でスレーブデバイス１０２側からのドライブに切り替わるので、最初のＡＣＫ３０４のタイミングから制御信号を‘１’にし、マスタがＡＣＫ３０４を返すタイミングで制御信号を‘０’に切り替える。以上の方法により双方向シリアルバススイッチをＩ２Ｃバスに適用することができる。
【００２８】
１．４）効果
上述したように、本発明の第１実施形態によるバススイッチ１００は、デコード部１０５の解析結果に応じてマスタ側スイッチ１０３およびスレーブ側スイッチ１０４を制御することで、双方向シリアル信号を単方向信号に変換し所定のタイミングで方向を切り替えることができる。双方向シリアル信号を単方向信号に変換するので、バススイッチ１００をゲートアレイにそのまま組み込むことができる。
【００２９】
さらに、マスタデバイス１０１の出力信号からスレーブデバイスのアドレスとオペレーションを解析することで単方向信号の方向を即座に切り替えることができるので、双方向シリアル通信方式で要求される通信方向の切替条件を容易に満たすことができる。
【００３０】
２．第２実施形態
上述した第１実施形態では、図１に示すように１つのスレーブデバイスを接続した場合を例示したが、本発明による双方向シリアル通信システムはこれに限定されるものではなく、複数のスレーブデバイスを接続可能である。以下、本発明の第２実施形態として複数のスレーブデバイスを接続したバススイッチについて説明する。
【００３１】
２．１）構成
図７に示すように、本実施形態による双方向シリアルバスバススイッチ４００は、マスタデバイス４０１と複数のスレーブデバイス（ここでは２つのスレーブ１デバイス４０２とスレーブ２デバイス４０３）の各々との間で転送される双方向シリアル信号を単方向信号に変換する機能を有する。
【００３２】
基本的な構成は図１の第１実施形態と同様であるが、図１に示す第１実施形態との比較では、複数のスレーブデバイスにそれぞれ対応したスレーブスイッチ（ここでは２つのスレーブ１スイッチ４０５とスレーブ２スイッチ４０６）が設けられ、それらからのスレーブ出力信号がデコード部４０８からの制御信号４１４に従ってセレクタ４０７により選択される構成が追加されている。なお、双方向シリアルバススイッチ４００におけるマスタ側スイッチ４０４、スレーブ１スイッチ４０５およびスレーブ２スイッチ４０６については、図２に示す構成と基本的に同じであるから説明は省略する。
【００３３】
また、スレーブスイッチの数が増加しているので、それに合わせて制御信号４１４の論理が追加されている。図７の構成では、マスタデバイス４０１がドライブする場合には制御信号４１４が‘０’、スレーブ１デバイス４０２がドライブする場合には制御信号４１４が‘１’、スレーブ２デバイス４０３がドライブする場合には制御信号４１４が‘２’となる。
【００３４】
デコード部４０８は、図３および図４に示すＭＤＩＯの場合、マスタ側から送信されるフレームのＰＨＹアドレスが、スレーブ１デバイス４０２の固有アドレスかスレーブ２デバイス４０３の固有アドレスかを判別する。そのために、それぞれのスレーブデバイスの固有アドレスが予め記憶されている。
【００３５】
２．２）動作
ライトを行なう場合、どちらのスレーブデバイスにアクセスする場合でもスイッチの切替は不要で制御信号４１４は‘０’固定になる。
【００３６】
スレーブ１デバイス４０２からリードを行なう場合、マスタデバイス４０１からリードフレームが送信され、デコード部４０８でスレーブ１デバイス４０２の固有アドレスを検出し、ターンアラウンドのタイミングで制御信号４１４を‘１’にセットする。このとき、セレクタ４０７はスレーブ１出力信号４１３を選択した状態となるので、スレーブ１スイッチ４０５がスレーブ１側の双方向信号４１５を受けてスレーブ１出力信号４１３をドライブすると、スレーブ１出力信号４１３はセレクタ４０７を通してスレーブ出力信号４１２としてマスタ側スイッチ４０４へ転送され、マスタ側スイッチ４０４がスレーブ出力信号４１２を入力してマスタ側双方向信号４１０をドライブする。
【００３７】
スレーブ２デバイス４０３からリードを行なう場合、マスタデバイス４０１からリードフレームが送信され、デコード部４０８でスレーブ２デバイス４０３の固有アドレスを検出し、ターンアラウンドのタイミングで制御信号４１４を‘２’にセットする。このとき、セレクタ４０７はスレーブ２出力信号４１７を選択した状態となるので、スレーブ２スイッチ４０６がスレーブ２側の双方向信号４１６を受けてスレーブ２出力信号４１７をドライブすると、スレーブ２出力信号４１７はセレクタ４０７を通してスレーブ出力信号４１２としてマスタ側スイッチ４０４へ転送され、マスタ側スイッチ４０４がスレーブ出力信号４１２を入力してマスタ側双方向信号４１０をドライブする。
【００３８】
２．３）効果
本実施形態によれば、上述した第１実施形態の効果に加えて、スレーブデバイスを２つ以上接続する場合でも、スレーブ側スイッチと制御信号をスレーブデバイスにあわせて増やすことにより容易に対応できるという効果を有する。
【００３９】
このようにハードウェアにより自動的にバスの分離を行なうことで、バスを１つのデバイスが占有してしまったり、どれか１つのデバイスがハングアップしてしまったり、デバイスの電源がおちたり、もしくは省エネ制御のために意図的にデバイスの電源を落としたりということがあってもバス自体が使用できなくなるという事態を回避できる。また、ゲートアレイで分離することで、スレーブデバイスの接続数が増えることによる浮遊容量の影響を受けない。また、デバイスを追加することによるマスタおよびスレーブデバイスのハードウェア変更やアクセスタイミングにあわせた特殊なスイッチ制御を行なうことなく、バスの分離が可能なゲートアレイを提供することができる。
【００４０】
３．その他適用例
図８に示すように、双方向シリアルバスバススイッチ５００は、上記第２実施形態と同様の構成とした場合、マスタデバイス５０１と複数のスレーブデバイス（ここでは３つのスレーブデバイス５０２−５０４）の各々との間で転送される双方向シリアル信号を単方向信号に変換する機能を有し、さらにマスタデバイス５０１のマスタ側双方向シリアルバスに直接スレーブデバイス５０５を接続することもできる。
【産業上の利用可能性】
【００４１】
本発明はＩ２ＣやＭＤＩＯなどの双方向シリアルバスに適用可能である。
【符号の説明】
【００４２】
１００、４００、５００  双方向シリアルバススイッチ
１０１、４０１、５０１  マスタデバイス
１０２、４０２，４０３，５０２−５０５  スレーブデバイス
１０３、４０４  マスタ側スイッチ
１０４、４０５，４０６  スレーブ側スイッチ
１０５、４０８  デコード部
１１０、４１０  マスタ側双方向信号
１１１、４１１  マスタ出力信号
１１２、４１２，４１３，４１７  スレーブ出力信号
１１３、４１４  制御信号
１１４、４１５，４１６  スレーブ側双方向信号
【図１】
0005871309.tif 000002
【図２】
0005871309.tif 000003
【図３】
0005871309.tif 000004
【図４】
0005871309.tif 000005
【図５】
0005871309.tif 000006
【図６】
0005871309.tif 000007
【図７】
0005871309.tif 000008
【図８】
0005871309.tif 000009