(57)【要約】【課題】ノイズ等によるデータの衝突等の誤動作を少なくすることを目的とする。【解決手段】信号線を介して信号を送受信する制御装置が、前記信号線に出力信号を出力し、前記信号線から入力信号を入力し、前記信号線の電圧値を検出し、前記電圧値に基づいて、前記出力信号を出力するか前記入力信号を入力するかを切り替えることにより上記課題を解決する。【選択図】図１
2016224588.tif 000002
【特許請求の範囲】
【請求項１】
信号線を介して信号を送受信する制御装置であって、
前記信号線に出力信号を出力する出力部と、
前記信号線から入力信号を入力する入力部と、
前記信号線の電圧値を検出する検出部と、
前記電圧値に基づいて、前記出力信号を出力するか前記入力信号を入力するかを切り替える切替部と
を含む制御装置。
【請求項２】
前記信号線に接続される第１端子及び電源に接続される第２端子を有する第１抵抗器と、前記信号線に接続される第３端子及びグラウンドに接続される第４端子を有する第２抵抗器とがそれぞれ前記信号線に接続され、
前記電圧値は、前記電源の電源電圧値と、前記第１抵抗器による第１抵抗値と、前記第２抵抗器による第２抵抗値とに基づいて定まる請求項１に記載の制御装置。
【請求項３】
前記電圧値が、前記電源電圧値、前記第１抵抗値及び前記第２抵抗値によって定まる所定の電圧値となると、前記切替部は、前記出力信号を出力するように切り替える請求項２に記載の制御装置。
【請求項４】
前記信号線は、単線である請求項１乃至３のいずれか一項に記載の制御装置。
【請求項５】
Ｉ２Ｃ（登録商標）に係る信号を送受信する請求項４に記載の制御装置。
【請求項６】
前記切替部は、スリーステートバッファを有し、
前記スリーステートバッファをハイインピーダンスにするか否かによって切り替える請求項１乃至５のいずれか一項に記載の制御装置。
【請求項７】
前記出力は、プッシュプル出力である請求項１乃至６のいずれか一項に記載の制御装置。
【請求項８】
前記検出部は、前記電圧値をＡ／Ｄ変換して検出する請求項１乃至７のいずれか一項に記載の制御装置。
【請求項９】
前記検出部は、オペアンプを有する請求項１乃至８のいずれか一項に記載の制御装置。
【請求項１０】
信号線を介して信号を送受信する制御装置が行う制御方法であって、
前記制御装置が、前記信号線に出力信号を出力する出力手順と、
前記制御装置が、前記信号線から入力信号を入力する入力手順と、
前記制御装置が、前記信号線の電圧値を検出する検出手順と、
前記制御装置が、前記電圧値に基づいて、前記出力信号を出力するか前記入力信号を入力するかを切り替える切替手順と
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び制御方法に関する。
【背景技術】
【０００２】
従来、複数の装置を有するシステムにおいて、Ｉ２Ｃ（登録商標）（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のシリアルバスを用いて各装置間で通信を行う方法が知られている。
【０００３】
また、Ｉ２Ｃ等によるデータバス上でのデータの伝送において、データ信号を伝送する伝送レートがそれぞれ異なる第１の動作モードと、第２の動作モードとを切り替えてデータの伝送を制御する方法が知られている（例えば、特許文献１等）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、ノイズ（ｎｏｉｓｅ）が混入した場合等には、混入されたノイズがクロック（ｃｌｏｃｋ）信号としてカウントされてしまう、いわゆるクロックずれ等が起こると、データの衝突等が起こる場合がある。即ち、ノイズ等によって、データの衝突等の誤動作が起こるおそれがある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、ノイズ等によるデータの衝突等の誤動作を少なくできる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様における、信号線を介して信号を送受信する制御装置は、前記信号線に出力信号を出力する出力部と、前記信号線から入力信号を入力する入力部と、前記信号線の電圧値を検出する検出部と、前記電圧値に基づいて、前記出力信号を出力するか前記入力信号を入力するかを切り替える切替部とを含む。
【発明の効果】
【０００７】
本発明の一実施形態によれば、ノイズ等によるデータの衝突等の誤動作を少なくできる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る制御装置及び制御システムのハードウェア構成の一例を説明するブロック図である。
【図２】本発明の一実施形態に係るデータ信号の一例を示す図である。
【図３】本発明の一実施形態に係る制御システムによるライトを行う処理の一例を示すフローチャートである。
【図４】本発明の一実施形態に係る制御システムによるリードを行う処理（前半）の一例を示すフローチャートである。
【図５】本発明の一実施形態に係る制御システムによるリードを行う処理（後半）の一例を示すフローチャートである。
【図６】本発明の一実施形態に係る制御システムによる全体処理の処理結果の一例を示すタイミングチャートである。
【図７】オープンドレイン方式及びプッシュプル方式の一例を示す回路図である。
【図８】オープンドレイン方式の比較例の制御システムによる処理結果の一例を示すタイミングチャートである。
【図９】プッシュプル方式の比較例の制御システムによる処理結果の一例を示すタイミングチャートである。
【図１０】本発明の一実施形態に係る制御装置及び制御システムの機能構成の一例を説明する機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付し、重複した説明を省く。
【００１０】
＜制御装置及び制御システム例＞
図１は、本発明の一実施形態に係る制御装置及び制御システムのハードウェア構成の一例を説明するブロック図である。図示するように、図１は、制御システム１が、マスタ（ｍａｓｔｅｒ）となるマスタ制御装置１Ｍと、スレーブ（ｓｌａｖｅ）となるスレーブ制御装置１Ｓとをそれぞれ１つずつ有する例を示す。以下、マスタ制御装置１Ｍが、スレーブ制御装置１Ｓに対して、データ信号によって、ライト（ｗｒｉｔｅ）及びリード（ｒｅａｄ）をそれぞれ行わせる例で説明する。
【００１１】
図示するように、マスタ制御装置１Ｍは、マスタ部１Ｍ１を有し、同様に、スレーブ制御装置１Ｓは、スレーブ部１Ｓ１を有する。なお、マスタ部１Ｍ１及びスレーブ部１Ｓ１は、例えば、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓがそれぞれ有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算装置又は電子回路等によって実現される。例えば、図示するように、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓは、単線のデータ信号線を用いるＩ２Ｃ（登録商標）等のいわゆるシリアル（ｓｅｒｉａｌ）通信方式でデータ信号を送受信する。以下、マスタ制御装置１Ｍ及びスレーブ制御装置１ＳがＩ２Ｃ（登録商標）によって、通信を行う例で説明する。
【００１２】
まず、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓには、クロック信号線ＬＣＬＫが、接続される。また、マスタ制御装置１Ｍは、クロック信号線ＬＣＬＫ上に、図示するように、出力をいわゆるハイインピーダンス（ｈｉｇｈ  ｉｍｐｅｄａｎｃｅ、以下「Ｈｉ−Ｚ」という場合もある。）にできるスリーステートバッファＢＵＦ１等を有する。クロック信号線ＬＣＬＫによって、クロック信号は、マスタ制御装置１Ｍからスレーブ制御装置１Ｓに送信される。
【００１３】
マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓには、データ信号線ＬＳＤＡが、接続される。図示するように、マスタ制御装置１Ｍは、データ信号線ＬＳＤＡ上に、切替部の一例となるスリーステートバッファＢＵＦ２を有する。
【００１４】
一方、スレーブ制御装置１Ｓは、データ信号線ＬＳＤＡ上に、スリーステートバッファＢＵＦ２と向かい合う方向に、スリーステートバッファＢＵＦ３を有する。また、スリーステートバッファＢＵＦ２は、マスタ制御装置１Ｍから出力されるマスタ側ゲート切替信号ＧＳＭによって制御され、ゲートの切り替えが行われる。同様に、スリーステートバッファＢＵＦ３は、スレーブ制御装置１Ｓから出力されるスレーブ側ゲート切替信号ＧＳＳによって制御され、ゲートの切り替えが行われる。即ち、それぞれのゲートの切り替えによって、入力と出力とが、切り替えられる。
【００１５】
また、データ信号線ＬＳＤＡには、第１抵抗器の例であるプルアップ（ｐｕｌｌ−ｕｐ）抵抗Ｒ１と、第２抵抗器の例であるプルダウン（ｐｕｌｌ−ｄｏｗｎ）抵抗Ｒ２とがそれぞれ接続される。具体的には、プルアップ抵抗Ｒ１は、データ信号線ＬＳＤＡに接続される第１端子Ｒ１１と、電源ＶＳＳに接続される第２端子Ｒ１２とを有する。また、プルダウン抵抗Ｒ２は、データ信号線ＬＳＤＡに接続される第３端子Ｒ２１と、グラウンドＧＮＤに接続される第４端子Ｒ２２とを有する。なお、プルアップ抵抗Ｒ１及びプルダウン抵抗Ｒ２のそれぞれの抵抗値が、第１抵抗値及び第２抵抗値の例であり、第１抵抗値、第２抵抗値及び電源電圧に基づく分圧値によって、データ信号線ＬＳＤＡの電圧値が定まる。例えば、電源ＶＳＳの電源電圧が３．３Ｖ（ボルト）であり、かつ、グラウンドＧＮＤが０Ｖであると、分圧値は、３．３Ｖ未満の値かつ０Ｖより大きい値のうち、いずれかの値となる。以下、データ信号線ＬＳＤＡの電圧値が２．０Ｖである例で説明する。なお、分圧値は、電源ＶＳＳの電源電圧値及びプルアップ抵抗Ｒ１並びにプルダウン抵抗Ｒ２のそれぞれの抵抗値を変更して任意の値に定められる。
【００１６】
マスタ制御装置１Ｍは、データ信号線ＬＳＤＡの電圧値を検出して、データ信号線ＬＳＤＡがスレーブ制御装置１Ｓによって出力されるデータ信号の送受信に使用されているか、即ち、いわゆるオープンな状態であるか否かを検出する。なお、マスタ制御装置１Ｍは、データ信号線ＬＳＤＡの電圧値をマスタ側バスオープン検出信号ＢＯＭで検出する。同様に、スレーブ制御装置１Ｓは、データ信号線ＬＳＤＡの電圧値をスレーブ側バスオープン検出信号ＢＯＳで検出する。
【００１７】
スレーブ制御装置１Ｓにライトを行わせる場合では、マスタ制御装置１Ｍからスレーブ制御装置１Ｓに出力信号が送信される。この場合には、マスタ制御装置１Ｍは、マスタ側ゲート切替信号ＧＳＭを制御して、出力信号線ＬＯＵＴＭから出力される出力信号をスレーブ制御装置１Ｓに送信する。この後、スレーブ制御装置１Ｓでは、出力信号は、スレーブ側入力データ信号ＩＤＳによって、スレーブ制御装置１Ｓに入力される。
【００１８】
一方、マスタ制御装置１Ｍがリードを行う場合では、データ信号線ＬＳＤＡによって、スレーブ制御装置１Ｓからマスタ制御装置１Ｍに入力信号が送信される。この場合には、スレーブ制御装置１Ｓは、スレーブ側ゲート切替信号ＧＳＳを制御して、出力信号線ＬＯＵＴＳから出力される入力信号をマスタ制御装置１Ｍに送信する。この後、マスタ制御装置１Ｍでは、入力信号は、マスタ側入力データ信号ＩＤＭによって、マスタ制御装置１Ｍに入力される。
【００１９】
即ち、制御システム１では、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓは、クロック信号線ＬＣＬＫと、データ信号線ＬＳＤＡとによって接続される。さらに、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓの間では、クロック信号線ＬＣＬＫによって送信されるクロック信号に同期したシリアル通信が、データ信号線ＬＳＤＡ上で送受信されるデータ信号によって行われる。
【００２０】
＜信号例＞
Ｉ２Ｃ（登録商標）によって通信が行われる場合には、データ信号が、送受信され、送受信されるデータ信号は、Ｉ２Ｃ（登録商標）プロトコル等によって定まる。
【００２１】
図２は、本発明の一実施形態に係るデータ信号の一例を示す図である。
【００２２】
ライトが行われる場合、マスタ制御装置１Ｍ（図１）とスレーブ制御装置１Ｓ（図１）との間では、「Ｗｒｉｔｅ」に図示するデータ信号が送受信される。具体的には、「Ｗｒｉｔｅ」では、まず、「ＳＴＡＲＴ」データ信号ＷＲ０１が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（図では「Ｍ→Ｓ」と示す。以下同様に記載する。）に出力される。次に、「ＳＬＡＶＥ  ＡＤＤＲＥＳＳ」データ信号ＷＲ０２が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。続いて、「ＷＲ」データ信号ＷＲ０３が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。これに対して、「ＡＣＫ」データ信号ＷＲ０４が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（図では「Ｍ←Ｓ」と示す。以下同様に記載する。）に入力信号として入力される。
【００２３】
次に、「ＷＯＲＤ  ＡＤＤＲＥＳＳ」データ信号ＷＲ０５が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。これに対して、「ＡＣＫ」データ信号ＷＲ０６が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）に入力信号として入力される。
【００２４】
続いて、「ＤＡＴＡ」データ信号ＷＲ０７が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。これに対して、「ＡＣＫ」データ信号ＷＲ０８が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）に入力信号として入力される。
【００２５】
さらに、「ＤＡＴＡ」データ信号ＷＲ０９が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。これに対して、「ＡＣＫ」データ信号ＷＲ１０が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）に入力信号として入力される。
【００２６】
最後に、「ＳＴＯＰ」データ信号ＷＲ１１が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力されると、制御システムは、ライトを終了する。図示するように、ライトでは、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）と、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）とが切り替えられるのは、各「ＡＣＫ」のデータ信号が入力される場合である。
【００２７】
リードが行われる場合、マスタ制御装置１Ｍとスレーブ制御装置１Ｓとの間では、「Ｒｅａｄ」に図示するデータ信号が送受信される。具体的には、「Ｒｅａｄ」では、まず、「ＳＴＡＲＴ」データ信号ＲＤ０１が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。次に、「ＳＬＡＶＥ  ＡＤＤＲＥＳＳ」データ信号ＲＤ０２が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。続いて、「ＷＲ」データ信号ＲＤ０３が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。これに対して、「ＡＣＫ」データ信号ＲＤ０４が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）に入力信号として入力される。
【００２８】
次に、「ＷＯＲＤ  ＡＤＤＲＥＳＳ」データ信号ＲＤ０５が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。これに対して、「ＡＣＫ」データ信号ＲＤ０６が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）に入力信号として入力される。
【００２９】
続いて、「ＳＴＡＲＴ」データ信号ＲＤ０７が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。次に、「ＳＬＡＶＥ  ＡＤＤＲＥＳＳ」データ信号ＲＤ０８が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。さらに、「ＲＤ」データ信号ＲＤ０９が、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力される。これに対して、「ＡＣＫ」データ信号ＲＤ１０が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）に入力信号として入力される。
【００３０】
さらに、「ＤＡＴＡ」データ信号ＲＤ１１が、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）に入力信号として入力される。これに対して、「ＡＣＫ」データ信号ＲＤ１２がマスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力信号として出力される。
【００３１】
最後に、「ＳＴＯＰ」データ信号ＲＤ１３がマスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）に出力されると、制御システムは、リードを終了する。図示するように、リードでは、マスタ制御装置１Ｍからスレーブ制御装置１Ｓ（「Ｍ→Ｓ」）と、スレーブ制御装置１Ｓからマスタ制御装置１Ｍ（「Ｍ←Ｓ」）とが切り替えられるのは、各「ＡＣＫ」のデータ信号が入力されるそれぞれの場合である。
【００３２】
ライト及びリードにおいて、切り替えのタイミングで、データ信号線ＬＳＤＡ（図１）であるバスが使用されていない、オープンな状態となり、Ｈｉ−Ｚ状態となる。なお、バスがオープンの状態では、データ信号線ＬＳＤＡの電圧値、即ち、データ信号の信号レベルは、プルアップ抵抗Ｒ１（図１）、プルダウン抵抗Ｒ２（図１）及び電源ＶＳＳ（図１）に基づく値となる。
【００３３】
＜全体処理例（Ｗｒｉｔｅ）＞
図３は、本発明の一実施形態に係る制御システムによるライトを行う処理の一例を示すフローチャートである。図３に示す処理によって、図２の「Ｗｒｉｔｅ」に示す信号が送受信される。
【００３４】
ステップＷＳ０１では、マスタ制御装置は、スタートコンディションを発行する。これは、図２では、「ＳＴＡＲＴ」データ信号ＷＲ０１が送信されるに相当する。
【００３５】
ステップＷＳ０２では、マスタ制御装置は、スレーブアドレス及びＷＲビット（８ビット）の送信が完了したか否かを判断する。これは、図２では、「ＳＬＡＶＥ  ＡＤＤＲＥＳＳ」データ信号ＷＲ０２及び「ＷＲ」データ信号ＷＲ０３が送信されたか否かを判断するに相当する。マスタ制御装置は、「ＳＴＡＲＴ」データ信号ＷＲ０１を送信すると、続いて、スレーブアドレス及びＷＲビットを送信する。次に、スレーブアドレス及びＷＲビットの送信が完了したとマスタ制御装置が判断すると（ステップＷＳ０２でＹＥＳ）、マスタ制御装置は、ステップＷＳ０３に進む。一方、スレーブアドレス及びＷＲビットの送信が完了していないとマスタ制御装置が判断すると（ステップＷＳ０２でＮＯ）、マスタ制御装置は、ステップＷＳ０２を繰り返す。
【００３６】
ステップＷＳ０３では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭ（図１）をノンアクティブ（ｎｏｎ  ａｃｔｉｖｅ）にする。
【００３７】
ステップＷＳ０４では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳ（図１）によって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによってデータ信号線ＬＳＤＡ（図１）の電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとスレーブ制御装置が判断すると（ステップＷＳ０４でＹＥＳ）、スレーブ制御装置は、ステップＷＳ０５に進む。一方、所定の電圧値が検出されないとスレーブ制御装置が判断すると（ステップＷＳ０４でＮＯ）、スレーブ制御装置は、ステップＷＳ０４を繰り返す。
【００３８】
ステップＷＳ０５では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳ（図１）をアクティブ（ａｃｔｉｖｅ）にする。
【００３９】
ステップＷＳ０６では、スレーブ制御装置は、マスタ制御装置にＡＣＫ信号を送信する。これは、図２では、「ＡＣＫ」データ信号ＷＲ０４が送信されるに相当する。
【００４０】
ステップＷＳ０７では、マスタ制御装置は、スレーブ制御装置から送信されたＡＣＫ信号を受信する。
【００４１】
ステップＷＳ０８では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをノンアクティブにする。
【００４２】
ステップＷＳ０９では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭ（図１）によって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとマスタ制御装置が判断すると（ステップＷＳ０９でＹＥＳ）、マスタ制御装置は、ステップＷＳ１０に進む。一方、所定の電圧値が検出されないとマスタ制御装置が判断すると（ステップＷＳ０９でＮＯ）、マスタ制御装置は、ステップＷＳ０９を繰り返す。
【００４３】
ステップＷＳ１０では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをアクティブにする。
【００４４】
ステップＷＳ１１では、マスタ制御装置は、ワードアドレス（８ビット）の送信が完了したか否かを判断する。これは、図２では、「ＷＯＲＤ  ＡＤＤＲＥＳＳ」データ信号ＷＲ０５の送信が完了したか否かを判断するに相当する。「ＡＣＫ」データ信号ＷＲ０４を受信した後、データ信号線ＬＳＤＡのオープンな状態が検出されると、マスタ制御装置は、「ＷＯＲＤ  ＡＤＤＲＥＳＳ」データ信号ＷＲ０５を送信する。次に、ワードアドレスの送信が完了したとマスタ制御装置が判断すると（ステップＷＳ１１でＹＥＳ）、マスタ制御装置は、ステップＷＳ１２に進む。一方、ワードアドレスの送信が完了していないとマスタ制御装置が判断すると（ステップＷＳ１１でＮＯ）、マスタ制御装置は、ステップＷＳ１１を繰り返す。
【００４５】
ステップＷＳ１２では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをノンアクティブにする。
【００４６】
ステップＷＳ１３では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとスレーブ制御装置が判断すると（ステップＷＳ１３でＹＥＳ）、スレーブ制御装置は、ステップＷＳ１４に進む。一方、所定の電圧値が検出されないとスレーブ制御装置が判断すると（ステップＷＳ１３でＮＯ）、スレーブ制御装置は、ステップＷＳ１３を繰り返す。
【００４７】
ステップＷＳ１４では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをアクティブにする。
【００４８】
ステップＷＳ１５では、スレーブ制御装置は、マスタ制御装置にＡＣＫ信号を送信する。これは、図２では、「ＡＣＫ」データ信号ＷＲ０６が送信されるに相当する。
【００４９】
ステップＷＳ１６では、マスタ制御装置は、スレーブ制御装置から送信されたＡＣＫ信号を受信する。
【００５０】
ステップＷＳ１７では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをノンアクティブにする。
【００５１】
ステップＷＳ１８では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとマスタ制御装置が判断すると（ステップＷＳ１８でＹＥＳ）、マスタ制御装置は、ステップＷＳ１９に進む。一方、所定の電圧値が検出されないとマスタ制御装置が判断すると（ステップＷＳ１８でＮＯ）、マスタ制御装置は、ステップＷＳ１８を繰り返す。
【００５２】
ステップＷＳ１９では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをアクティブにする。
【００５３】
ステップＷＳ２０では、マスタ制御装置は、データ（８ビット）の送信が完了したか否かを判断する。これは、図２では、「ＤＡＴＡ」データ信号ＷＲ０７の送信が完了したか否かを判断するに相当する。「ＡＣＫ」データ信号ＷＲ０６を受信した後、データ信号線ＬＳＤＡのオープンな状態が検出されると、マスタ制御装置は、「ＤＡＴＡ」データ信号ＷＲ０７を送信する。次に、データの送信が完了したとマスタ制御装置が判断すると（ステップＷＳ２０でＹＥＳ）、マスタ制御装置は、ステップＷＳ２１に進む。一方、データの送信が完了していないとマスタ制御装置が判断すると（ステップＷＳ２０でＮＯ）、マスタ制御装置は、ステップＷＳ２０を繰り返す。
【００５４】
ステップＷＳ２１では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをノンアクティブにする。
【００５５】
ステップＷＳ２２では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとスレーブ制御装置が判断すると（ステップＷＳ２２でＹＥＳ）、スレーブ制御装置は、ステップＷＳ２３に進む。一方、所定の電圧値が検出されないとスレーブ制御装置が判断すると（ステップＷＳ２２でＮＯ）、スレーブ制御装置は、ステップＷＳ２２を繰り返す。
【００５６】
ステップＷＳ２３では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをアクティブにする。
【００５７】
ステップＷＳ２４では、スレーブ制御装置は、マスタ制御装置にＡＣＫ信号を送信する。これは、図２では、「ＡＣＫ」データ信号ＷＲ０８が送信されるに相当する。
【００５８】
ステップＷＳ２５では、マスタ制御装置は、スレーブ制御装置から送信されたＡＣＫ信号を受信する。
【００５９】
なお、図２のように、「ＤＡＴＡ」データ信号ＷＲ０９及び「ＡＣＫ」データ信号ＷＲ１０が更に送受信される場合、制御システムは、更にステップＷＳ１７乃至ＷＳ２５を繰り返す。
【００６０】
ステップＷＳ２６では、マスタ制御装置は、ストップコンディションを発行する。これは、図２では、「ＳＴＯＰ」データ信号ＷＲ１１が送信されるに相当する。なお、ステップＷＳ２５の後、かつ、ステップＷＳ２６の前に、更にステップＷＳ０８乃至ＷＳ１０が行われてもよい。
【００６１】
マスタ制御装置がデータ信号を出力する場合には、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭ（図１）をアクティブにする。即ち、マスタ制御装置は、出力信号線ＬＯＵＴＭ（図１）から出力されるデータ信号がデータ信号線ＬＳＤＡ（図１）にプッシュプル出力されるように制御する（ステップＷＳ１０及びＷＳ１９）。これに対して、スレーブ側では、スレーブ側ゲート切替信号ＧＳＳ（図１）がノンアクティブとなるように制御される（ステップＷＳ０８及びＷＳ１７）。スレーブ側ゲート切替信号ＧＳＳがノンアクティブとなると、スリーステートバッファＢＵＦ３（図１）は、Ｈｉ−Ｚ状態となる。そのため、マスタ制御装置からスレーブ制御装置に送信されたデータ信号は、スレーブ側入力データ信号ＩＤＳ（図１）として、スレーブ制御装置に入力される。
【００６２】
一方、スレーブ制御装置からマスタ制御装置に入力信号が入力される場合がある。具体的には、ライトでは、ＡＣＫ信号が送信される場合である（ステップＷＳ０６、ＷＳ１５及びＷＳ２４）。マスタ制御装置は、ＡＣＫ信号が送信される前、即ち、マスタ制御装置がデータ信号を送信した（ステップＷＳ０２、ＷＳ１１及びＷＳ２０）後から、スレーブ制御装置によってＡＣＫ信号が送信されるのを待つ。具体的には、マスタ制御装置は、ＡＣＫ信号が送信される前に、マスタ側ゲート切替信号ＧＳＭをノンアクティブにする（ステップＷＳ０３、ＷＳ１２及びＷＳ２１）。これによって、マスタ側ゲート切替信号ＧＳＭがノンアクティブとなるので、スリーステートバッファＢＵＦ２（図１）は、Ｈｉ−Ｚ状態となる。
【００６３】
したがって、スレーブ側ゲート切替信号ＧＳＳ及びマスタ側ゲート切替信号ＧＳＭがそれぞれノンアクティブであると、データ信号線ＬＳＤＡの電圧値は、所定の電圧値、即ち、２．０Ｖとなる。これを、スレーブ制御装置及びマスタ制御装置は、データ信号線ＬＳＤＡの電圧値をスレーブ側バスオープン検出信号ＢＯＳ及びマスタ側バスオープン検出信号ＢＯＭによって検出する（ステップＷＳ０４、ＷＳ０９、ＷＳ１３、ＷＳ１８及びＷＳ２２）。
【００６４】
ゆえに、スレーブ制御装置及びマスタ制御装置は、データ信号線ＬＳＤＡの電圧値が所定の電圧値であると判断した場合には（ステップＷＳ０４、ＷＳ０９、ＷＳ１３、ＷＳ１８及びＷＳ２２でＹＥＳ）、データ信号をそれぞれ送信する。即ち、スレーブ側ゲート切替信号ＧＳＳ及びマスタ側ゲート切替信号ＧＳＭがそれぞれアクティブにされる（ステップＷＳ０５、ＷＳ１０、ＷＳ１４、ＷＳ１９及びＷＳ２３）。
【００６５】
＜全体処理例（Ｒｅａｄ）＞
図４は、本発明の一実施形態に係る制御システムによるリードを行う処理（前半）の一例を示すフローチャートである。
【００６６】
図５は、本発明の一実施形態に係る制御システムによるリードを行う処理（後半）の一例を示すフローチャートである。リードの処理は、図４及び図５に示す処理であり、図４の処理に続いて、図５に示す処理が行われる例である。
【００６７】
ステップＲＳ０１では、マスタ制御装置は、スタートコンディションを発行する。これは、図２では、「ＳＴＡＲＴ」データ信号ＲＤ０１が送信されるに相当する。
【００６８】
ステップＲＳ０２では、マスタ制御装置は、スレーブアドレス及びＷＲビット（８ビット）の送信が完了したか否かを判断する。これは、図２では、「ＳＬＡＶＥ  ＡＤＤＲＥＳＳ」データ信号ＲＤ０２及び「ＷＲ」データ信号ＲＤ０３が送信されたか否かを判断するに相当する。マスタ制御装置は、「ＳＴＡＲＴ」データ信号ＲＤ０１を送信すると、続いて、スレーブアドレス及びＷＲビットを送信する。次に、スレーブアドレス及びＷＲビットの送信が完了したとマスタ制御装置が判断すると（ステップＲＳ０２でＹＥＳ）、マスタ制御装置は、ステップＲＳ０３に進む。一方、スレーブアドレス及びＷＲビットの送信が完了していないとマスタ制御装置が判断すると（ステップＲＳ０２でＮＯ）、マスタ制御装置は、ステップＲＳ０２を繰り返す。
【００６９】
ステップＲＳ０３では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭ（図１）をノンアクティブにする。
【００７０】
ステップＲＳ０４では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳ（図１）によって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによってデータ信号線ＬＳＤＡ（図１）の電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとスレーブ制御装置が判断すると（ステップＲＳ０４でＹＥＳ）、スレーブ制御装置は、ステップＲＳ０５に進む。一方、所定の電圧値が検出されないとスレーブ制御装置が判断すると（ステップＲＳ０４でＮＯ）、スレーブ制御装置は、ステップＲＳ０４を繰り返す。
【００７１】
ステップＲＳ０５では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳ（図１）をアクティブにする。
【００７２】
ステップＲＳ０６では、スレーブ制御装置は、マスタ制御装置にＡＣＫ信号を送信する。これは、図２では、「ＡＣＫ」データ信号ＲＤ０４が送信されるに相当する。
【００７３】
ステップＲＳ０７では、マスタ制御装置は、スレーブ制御装置から送信されたＡＣＫ信号を受信する。
【００７４】
ステップＲＳ０８では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをノンアクティブにする。
【００７５】
ステップＲＳ０９では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭ（図１）によって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとマスタ制御装置が判断すると（ステップＲＳ０９でＹＥＳ）、マスタ制御装置は、ステップＲＳ１０に進む。一方、所定の電圧値が検出されないとマスタ制御装置が判断すると（ステップＲＳ０９でＮＯ）、マスタ制御装置は、ステップＲＳ０９を繰り返す。
【００７６】
ステップＲＳ１０では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをアクティブにする。
【００７７】
ステップＲＳ１１では、マスタ制御装置は、ワードアドレス（８ビット）の送信が完了したか否かを判断する。これは、図２では、「ＷＯＲＤ  ＡＤＤＲＥＳＳ」データ信号ＲＤ０５の送信が完了したか否かを判断するに相当する。「ＡＣＫ」データ信号ＲＤ０４を受信した後、データ信号線ＬＳＤＡのオープンな状態が検出されると、マスタ制御装置は、「ＷＯＲＤ  ＡＤＤＲＥＳＳ」データ信号ＲＤ０５を送信する。次に、ワードアドレスの送信が完了したとマスタ制御装置が判断すると（ステップＲＳ１１でＹＥＳ）、マスタ制御装置は、ステップＲＳ１２に進む。一方、ワードアドレスの送信が完了していないとマスタ制御装置が判断すると（ステップＲＳ１１でＮＯ）、マスタ制御装置は、ステップＲＳ１１を繰り返す。
【００７８】
ステップＲＳ１２では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをノンアクティブにする。
【００７９】
ステップＲＳ１３では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとスレーブ制御装置が判断すると（ステップＲＳ１３でＹＥＳ）、スレーブ制御装置は、ステップＲＳ１４に進む。一方、所定の電圧値が検出されないとスレーブ制御装置が判断すると（ステップＲＳ１３でＮＯ）、スレーブ制御装置は、ステップＲＳ１３を繰り返す。
【００８０】
ステップＲＳ１４では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをアクティブにする。
【００８１】
ステップＲＳ１５では、スレーブ制御装置は、マスタ制御装置にＡＣＫ信号を送信する。これは、図２では、「ＡＣＫ」データ信号ＲＤ０６が送信されるに相当する。
【００８２】
ステップＲＳ１６では、マスタ制御装置は、スレーブ制御装置から送信されたＡＣＫ信号を受信する。
【００８３】
ステップＲＳ１７では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをノンアクティブにする。
【００８４】
ステップＲＳ１８では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとマスタ制御装置が判断すると（ステップＲＳ１８でＹＥＳ）、マスタ制御装置は、ステップＲＳ１９に進む。一方、所定の電圧値が検出されないとマスタ制御装置が判断すると（ステップＲＳ１８でＮＯ）、マスタ制御装置は、ステップＲＳ１８を繰り返す。
【００８５】
ステップＲＳ１９では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをアクティブにする。
【００８６】
次に、図５に示す処理が続いて行われる。
【００８７】
ステップＲＳ２０では、マスタ制御装置は、スタートコンディションを発行する。これは、図２では、「ＳＴＡＲＴ」データ信号ＲＤ０７が送信されるに相当する。
【００８８】
ステップＲＳ２１では、マスタ制御装置は、スレーブアドレス及びＲＤビット（８ビット）の送信が完了したか否かを判断する。これは、図２では、「ＳＬＡＶＥ  ＡＤＤＲＥＳＳ」データ信号ＲＤ０８及び「ＲＤ」データ信号ＲＤ０９が送信されたか否かを判断するに相当する。マスタ制御装置は、「ＳＴＡＲＴ」データ信号ＲＤ０７を送信すると、続いて、スレーブアドレス及びＲＤビットを送信する。次に、スレーブアドレス及びＲＤビットの送信が完了したとマスタ制御装置が判断すると（ステップＲＳ２１でＹＥＳ）、マスタ制御装置は、ステップＲＳ２２に進む。一方、スレーブアドレス及びＲＤビットの送信が完了していないとマスタ制御装置が判断すると（ステップＲＳ２１でＮＯ）、マスタ制御装置は、ステップＲＳ２１を繰り返す。
【００８９】
ステップＲＳ２２では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭ（図１）をノンアクティブにする。
【００９０】
ステップＲＳ２３では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳ（図１）によって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、スレーブ制御装置は、スレーブ側バスオープン検出信号ＢＯＳによってデータ信号線ＬＳＤＡ（図１）の電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとスレーブ制御装置が判断すると（ステップＲＳ２３でＹＥＳ）、スレーブ制御装置は、ステップＲＳ２４に進む。一方、所定の電圧値が検出されないとスレーブ制御装置が判断すると（ステップＲＳ２３でＮＯ）、スレーブ制御装置は、ステップＲＳ２３を繰り返す。
【００９１】
ステップＲＳ２４では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳ（図１）をアクティブにする。
【００９２】
ステップＲＳ２５では、スレーブ制御装置は、マスタ制御装置にＡＣＫ信号を送信する。これは、図２では、「ＡＣＫ」データ信号ＲＤ１０が送信されるに相当する。
【００９３】
ステップＲＳ２６では、マスタ制御装置は、スレーブ制御装置から送信されたＡＣＫ信号を受信する。
【００９４】
ステップＲＳ２７では、スレーブ制御装置は、データ（８ビット）の送信が完了したか否かを判断する。これは、図２では、「ＤＡＴＡ」データ信号ＲＤ１１の送信が完了したか否かを判断するに相当する。「ＡＣＫ」データ信号ＲＤ１０を送信した後、スレーブ制御装置は、「ＤＡＴＡ」データ信号ＲＤ１１を送信する。次に、データの送信が完了したとスレーブ制御装置が判断すると（ステップＲＳ２７でＹＥＳ）、スレーブ制御装置は、ステップＲＳ２８に進む。一方、データの送信が完了していないとスレーブ制御装置が判断すると（ステップＲＳ２７でＮＯ）、スレーブ制御装置は、ステップＲＳ２７を繰り返す。
【００９５】
ステップＲＳ２８では、スレーブ制御装置は、スレーブ側ゲート切替信号ＧＳＳをノンアクティブにする。
【００９６】
ステップＲＳ２９では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによって所定の電圧値が検出されたか否かを判断する。具体的には、図１では、マスタ制御装置は、マスタ側バスオープン検出信号ＢＯＭによってデータ信号線ＬＳＤＡの電圧値が２．０Ｖであるか否かを判断する。次に、所定の電圧値が検出されたとマスタ制御装置が判断すると（ステップＲＳ２９でＹＥＳ）、マスタ制御装置は、ステップＲＳ３０に進む。一方、所定の電圧値が検出されないとマスタ制御装置が判断すると（ステップＲＳ２９でＮＯ）、マスタ制御装置は、ステップＲＳ２９を繰り返す。
【００９７】
ステップＲＳ３０では、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをアクティブにする。
【００９８】
ステップＲＳ３１では、マスタ制御装置は、スレーブ制御装置にＡＣＫ信号を送信する。これは、図２では、「ＡＣＫ」データ信号ＲＤ１２が送信されるに相当する。
【００９９】
ステップＲＳ３２では、スレーブ制御装置は、マスタ制御装置から送信されたＡＣＫ信号を受信する。
【０１００】
ステップＲＳ３３では、マスタ制御装置は、ストップコンディションを発行する。これは、図２では、「ＳＴＯＰ」データ信号ＲＤ１３が送信されるに相当する。
【０１０１】
リードでは、ライトと同様に、マスタ制御装置がデータ信号を出力する場合には、マスタ制御装置は、マスタ側ゲート切替信号ＧＳＭをアクティブする。即ち、マスタ制御装置は、出力信号線ＬＯＵＴＭ（図１）から出力される信号が、データ信号線ＬＳＤＡにプッシュプル出力されるように制御する（ステップＲＳ１０、ＲＳ１９及びＲＳ３０）。これに対して、スレーブ側では、スレーブ側ゲート切替信号ＧＳＳがノンアクティブとなるように制御される（ステップＲＳ０８、ＲＳ１７及びＲＳ２８）。
【０１０２】
一方、スレーブ制御装置からマスタ制御装置にデータ信号が入力される場合がある。具体的には、リードでは、まず、ライトと同様に、ＡＣＫ信号が送信される場合である（ステップＲＳ０６、ＲＳ１５及びＲＳ２５）。この場合には、ライトと同様に、マスタ制御装置は、ＡＣＫ信号が送信される前に、マスタ側ゲート切替信号ＧＳＭをノンアクティブにする（ステップＲＳ０３、ＲＳ１２及びＲＳ２２）。
【０１０３】
また、リードでは、スレーブ制御装置からマスタ制御装置にデータが送信される（ステップＲＳ２７）。なお、リードでもライトと同様に、スレーブ側ゲート切替信号ＧＳＳ及びマスタ側ゲート切替信号ＧＳＭがそれぞれノンアクティブであると、データ信号線ＬＳＤＡの電圧値は、所定の電圧値、即ち、２．０Ｖとなる。これを、スレーブ制御装置及びマスタ制御装置は、データ信号線ＬＳＤＡの電圧値をスレーブ側バスオープン検出信号ＢＯＳ及びマスタ側バスオープン検出信号ＢＯＭによってそれぞれ検出する（ステップＲＳ０４、ＲＳ０９、ＲＳ１３、ＲＳ１８、ＲＳ２３及びＲＳ２９）。
【０１０４】
ゆえに、スレーブ制御装置及びマスタ制御装置は、データ信号線ＬＳＤＡの電圧値が所定の電圧値であると判断した場合には（ステップＲＳ０４、ＲＳ０９、ＲＳ１３、ＲＳ１８、ＲＳ２３及びＲＳ２９でＹＥＳ）、データ信号を送信する。即ち、スレーブ側ゲート切替信号ＧＳＳ及びマスタ側ゲート切替信号ＧＳＭがそれぞれアクティブにされる（ステップＲＳ０５、ＲＳ１０、ＲＳ１４、ＲＳ１９及びＲＳ２４）。
【０１０５】
＜処理結果例＞
図６は、本発明の一実施形態に係る制御システムによる全体処理の処理結果の一例を示すタイミングチャートである。
【０１０６】
図６では、クロック信号ＳＣＬは、クロック信号線ＬＣＬＫ（図１）に送信される信号を示す。一方、データ信号ＳＤＡは、データ信号線ＬＳＤＡ（図１）に送信される信号を示す。なお、データ信号ＳＤＡは、いわゆるローアクティブ信号であり、信号レベルがローレベルＬＬＶであると、アクティブ、一方、信号レベルがハイレベルＨＬＶであると、ノンアクティブとする。図示するように、クロック信号ＳＣＬにノイズＮＳが混入した例で説明する。
【０１０７】
例えば、スレーブ制御装置からマスタ制御装置（「Ｍ←Ｓ」）に「ＡＣＫ」データ信号ＷＲ１０が送信され、次に、マスタ制御装置からスレーブ制御装置（「Ｍ→Ｓ」）に「ＳＴＯＰ」データ信号ＷＲ１１が送信される場合で説明する。
【０１０８】
図示するように、ノイズＮＳが混入されると、ノイズＮＳは、クロック信号としてカウントされてしまうため、いわゆるクロックずれが起こる場合がある。この場合には、ノイズＮＳによって、１クロック早くカウントされてしまうため、「ＡＣＫ」データ信号ＷＲ１０が送信されている場合でも、次の「ＳＴＯＰ」データ信号ＷＲ１１が送信されるように制御される場合がある。これに対して、本実施形態では、スレーブ制御装置及びマスタ制御装置は、データ信号線ＬＳＤＡの電圧値が所定の電圧値であると判断した場合には（ステップＷＳ０４、ＷＳ０９、ＷＳ１３、ＷＳ１８及びＷＳ２２でＹＥＳ）、データ信号を送信する。即ち、「ＡＣＫ」データ信号ＷＲ１０が送信されている場合には、電圧値が所定の電圧でないと判断される（ステップＷＳ０４、ＷＳ０９、ＷＳ１３、ＷＳ１８及びＷＳ２２でＮＯ）ため、マスタ制御装置は、「ＳＴＯＰ」データ信号ＷＲ１１を送信するのを待つ。
【０１０９】
したがって、ノイズＮＳが混入されても、「ＡＣＫ」データ信号ＷＲ１０が送信されている間に、「ＳＴＯＰ」データ信号ＷＲ１１が送信され、データの衝突が起きるのを回避できる。ゆえに、制御装置は、ノイズ等によるデータの衝突等の誤動作を少なくできる。
【０１１０】
＜比較例＞
まず、オープンドレイン方式及びプッシュプル方式についてそれぞれ説明する。
【０１１１】
図７は、オープンドレイン方式及びプッシュプル方式の一例を示す回路図である。図７（Ａ）は、マイクロコンピュータ１Ａによって、オープンドレイン出力回路を構成する例であり、一方、図７（Ｂ）は、マイクロコンピュータ１Ｂによって、プッシュプル出力回路を構成する例である。
【０１１２】
マイクロコンピュータ１Ａは、ＣＰＵ１Ａ２及びＦＥＴ１Ａ１を有する。図７（Ａ）では、ＦＥＴ１Ａ１は、ＣＰＵ１Ａ２から送信される制御信号によって、ＯＮ／ＯＦＦ制御できるスイッチとして用いられる。また、マイクロコンピュータ１Ａから、データ信号線ＡＳＤＡを介してデータ信号が出力される。さらに、データ信号線ＡＳＤＡには、プルアップ抵抗Ｒ３及び電源ＶＣＣがそれぞれ接続される。なお、スイッチは、ＦＥＴ以外の素子で実現されてもよい。
【０１１３】
図７（Ａ）では、ＣＰＵ１Ａ２によって、ＦＥＴ１Ａ１がＯＮに制御されると、データ信号線ＡＳＤＡは、グラウンドＧＮＤにショートされ、データ信号は、「Ｌｏｗ」となる。この場合には、データ信号線ＡＳＤＡ及びグラウンドＧＮＤの間のインピーダンスは、「０」に近い値、即ち、低い値となる。ただし、ＦＥＴ１Ａ１のインピーダンスによって、値は、異なる。このように、インピーダンスが低い値であると、データ信号線ＡＳＤＡ等にノイズが混入しても、電圧値の変動は、小さい。
【０１１４】
一方、ＣＰＵ１Ａ２によって、ＦＥＴ１Ａ１がＯＦＦに制御されると、ＣＰＵ１Ａ２及びスレーブ側が有するＣＰＵは、Ｈｉ−Ｚの状態となり、データ信号は、プルアップ抵抗Ｒ３及び電源ＶＣＣによって定まる電圧値、即ち、「Ｈｉｇｈ」となる。この場合には、プルアップ抵抗Ｒ３の抵抗値は、電流量制限及びスレーブ側が有するＣＰＵの「Ｌｏｗ」レベルの電圧確保のため、回路のインピーダンスは、高い値となる。このように、インピーダンスが高い値であると、データ信号線ＡＳＤＡ等にノイズが混入した場合には、電圧値の変動は、大きくなる。
【０１１５】
したがって、オープンドレイン方式では、データ信号が「Ｌｏｗ」であると、ノイズによる電圧値の変動は、小さく、一方、データ信号が「Ｈｉｇｈ」であると、ノイズによる電圧値の変動は、大きい。
【０１１６】
また、図７（Ｂ）に示すマイクロコンピュータ１Ｂは、ＣＰＵ１Ｂ１、ＮｃｈＦＥＴ１Ｂ２及びＰｃｈＦＥＴ１Ｂ３を有する。図７（Ｂ）では、ＣＰＵ１Ｂ１がＮｃｈＦＥＴ１Ｂ２及びＰｃｈＦＥＴ１Ｂ３に対して「Ｈｉｇｈ」の制御信号を出力する場合には、ＮｃｈＦＥＴ１Ｂ２は、ＯＮとなり、ＰｃｈＦＥＴ１Ｂ３は、ＯＦＦとなる。そのため、データ信号線ＢＳＤＡは、電源ＶＣＣによるプルアップによって、「Ｈｉｇｈ」となる。また、ＣＰＵ１Ｂ１が、ＮｃｈＦＥＴ１Ｂ２及びＰｃｈＦＥＴ１Ｂ３に対して「Ｌｏｗ」の制御信号を出力する場合には、ＮｃｈＦＥＴ１Ｂ２は、ＯＦＦとなり、ＰｃｈＦＥＴ１Ｂ３は、ＯＮとなる。そのため、データ信号線ＢＳＤＡは、グラウンドＧＮＤに接続され、「Ｌｏｗ」となる。
【０１１７】
プッシュプル方式では、制御信号が「Ｈｉｇｈ」又は「Ｌｏｗ」のいずれであっても、インピーダンスは、「０」に近く、低い値となる。そのため、プッシュプル方式は、オープンドレイン方式と比較して、ノイズが混入した際の電圧値の変動を小さくできる方式である。したがって、プッシュプル方式を用いると、ノイズに対して高い耐性を備えることができる。また、プッシュプル方式では、データ信号線ＢＳＤＡが、電源ＶＣＣ及びグラウンドＧＮＤに接続されて「Ｈｉｇｈ」及び「Ｌｏｗ」を出力するため、信号の立ち上がり時間及び立ち下がり時間が速くできる。これと比較して、オープンドレイン方式では、外部回路の影響が大きく、プルアップ抵抗Ｒ３の抵抗値によって信号の立ち上がり時間が変化する。そのため、オープンドレイン方式では、波形のなまりによって、信号の立ち上がり時間が遅くなり、データが正しく受信されない場合等がある。
【０１１８】
図８は、オープンドレイン方式の比較例の制御システムによる処理結果の一例を示すタイミングチャートである。
【０１１９】
図８は、図６と同様に、クロック信号ＳＣＬがクロック信号であり、かつ、データ信号ＳＤＡがデータ信号である例を示す。図示するように、オープンドレイン方式では、ノイズＮＳが混入すると、ノイズＮＳは、クロック信号ＳＣＬと誤ってカウントされてしまう。そのため、いわゆるクロックずれが起きる。クロックずれによって、マスタ側は、ストップコンディションを発行しようとする。一方、スレーブ側は、ＡＣＫ信号を出力した状態、即ち、データ信号ＳＤＡがローレベルＬＬＶの状態のままストールしてしまう場合がある。これを解消するには、例えば、クロック信号ＳＣＬにダミークロックを出力することで、ＡＣＫ信号を出力した状態を解除させる処理等が必要となる。
【０１２０】
図９は、プッシュプル方式の比較例の制御システムによる処理結果の一例を示すタイミングチャートである。
【０１２１】
図９は、図６及び図８と同様に、クロック信号ＳＣＬがクロック信号であり、かつ、データ信号ＳＤＡがデータ信号である例を示す。図示するように、プッシュプル方式であっても、ノイズＮＳが混入すると、ノイズＮＳは、クロック信号ＳＣＬと誤ってカウントされてしまう。例えば、図６と同様に、スレーブ制御装置が出力する状態（「Ｍ←Ｓ」）からマスタ制御装置が出力する状態（「Ｍ→Ｓ」）に切り替わる場合には、スレーブ制御装置が出力している場合であっても、マスタ制御装置が出力を開始してしまう場合がある。そのため、スレーブ制御装置が出力する信号と、マスタ制御装置が出力する信号とが同時にデータ信号線に出力されるため、データの衝突が起きてしまう場合がある。また、データの衝突によって、データ信号が不安定値になる可能性又はＣＰＵが有する内部バッファに大きな電流が流れて、ＣＰＵが故障するおそれ等がある。
【０１２２】
＜機能構成例＞
図１０は、本発明の一実施形態に係る制御装置及び制御システムの機能構成の一例を説明する機能ブロック図である。図示するように、制御システム１は、マスタ制御装置１Ｍと、スレーブ制御装置１Ｓとを１つずつ有し、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓには、データ信号線ＬＳＤＡが接続される。また、データ信号は、データ信号線ＬＳＤＡによって送受信される。
【０１２３】
制御装置の一例であるマスタ制御装置１Ｍ及びスレーブ制御装置１Ｓは、出力部１Ｆ１と、検出部１Ｆ２と、切替部１Ｆ３と、入力部１Ｆ４とをそれぞれ有する。
【０１２４】
出力部１Ｆ１は、データ信号線ＬＳＤＡにデータ信号等の出力信号を出力する。なお、出力部１Ｆ１は、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓがそれぞれ有するＣＰＵの演算装置又は電子回路等によって実現される。
【０１２５】
検出部１Ｆ２は、データ信号線ＬＳＤＡの電圧値を検出する。なお、検出部１Ｆ２は、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓがそれぞれ有するＣＰＵの演算装置又は電子回路等と、マスタ側バスオープン検出信号ＢＯＭ（図１）又はスレーブ側バスオープン検出信号ＢＯＳ（図１）とによって実現される。
【０１２６】
切替部１Ｆ３は、検出部１Ｆ２によって検出される電圧値に基づいて、出力部１Ｆ１が出力信号を出力するか入力部１Ｆ４によって入力信号を入力するかを切り替える。なお、切替部１Ｆ３は、スリーステートバッファＢＵＦ２（図１）又はスリーステートバッファＢＵＦ３（図１）等によって実現される。
【０１２７】
入力部１Ｆ４は、データ信号線ＬＳＤＡからデータ信号等の入力信号を入力する。なお、入力部１Ｆ４は、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓがそれぞれ有するＣＰＵの演算装置又は電子回路等によって実現される。
【０１２８】
＜変形例＞
実施形態は、データ信号がローアクティブであるのに限られない。即ち、データ信号は、ハイアクティブの信号でもよい。
【０１２９】
実施形態は、Ｉ２Ｃ（登録商標）に限られず、他の通信方式、即ち、単線の信号線を用いるＩ２Ｃ（登録商標）以外の半二重方式の通信に適用されてもよい。
【０１３０】
また、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓは、それぞれＡ／Ｄ（Ａｎａｌｏｇ−Ｄｉｇｉｔａｌ）コンバータを有してもよい。Ａ／Ｄコンバータは、マスタ側バスオープン検出信号ＢＯＭ（図１）又はスレーブ側バスオープン検出信号ＢＯＳ（図１）によって検出される電圧値をＡ／Ｄ変換する。これによって、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓは、データ信号線ＬＳＤＡがオープンな状態であるか否かを検出してもよい。
【０１３１】
さらに、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓは、それぞれオペアンプを有してもよい。
【０１３２】
なお、マスタ制御装置１Ｍ及びスレーブ制御装置１Ｓのうち、いずれか一方が検出部１Ｆ２による検出及び切替部１Ｆ３による切り替えを行う構成でもよい。
【０１３３】
また、制御システムは、スレーブ制御装置を複数有してもよい。
【０１３４】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【符号の説明】
【０１３５】
１  制御システム
１Ｍ  マスタ制御装置
１Ｓ  スレーブ制御装置
ＢＵＦ１、ＢＵＦ２、ＢＵＦ３  スリーステートバッファ
ＬＳＤＡ  データ信号線
ＢＯＭ  マスタ側バスオープン検出信号
ＢＯＳ  スレーブ側バスオープン検出信号
ＮＳ  ノイズ
【先行技術文献】
【特許文献】
【０１３６】
【特許文献１】特許第４０１７８２２号公報
【図１】
2016224588.tif 000003
【図２】
2016224588.tif 000004
【図３】
2016224588.tif 000005
【図４】
2016224588.tif 000006
【図５】
2016224588.tif 000007
【図６】
2016224588.tif 000008
【図７】
2016224588.tif 000009
【図８】
2016224588.tif 000010
【図９】
2016224588.tif 000011
【図１０】
2016224588.tif 000012