(57)【特許請求の範囲】
【請求項１】
第１の端子に接続されたチップセレクト端子、第２の端子に接続されたクロック端子、及び第３の端子に接続されたデータ端子を有する第１のインタフェース回路と、
前記第１の端子に接続されたクロック端子、及び前記第３の端子に接続されたデータ端子を有する第２のインタフェース回路と、
を備え、
前記第１のインタフェース回路で通信する場合には、前記第１の端子に予め定められたレベルに固定された固定信号が入力され、前記第２の端子にクロック信号が入力され、前記第３の端子にデータ信号が入力され、
前記第２のインタフェース回路で通信する場合には、前記第１の端子にクロック信号が入力され、前記第３の端子にデータ信号が入力される
通信インタフェース装置。
【請求項２】
前記第２のインタフェース回路で通信する場合には、更に前記第２の端子に予め定められたレベルに固定された固定信号が入力され、
前記第２の端子に入力された信号が固定信号の場合には、前記第２のインタフェース回路から出力された信号を選択し、前記第２の端子に入力された信号がクロック信号の場合には、前記第１のインタフェース回路から出力された信号を選択する選択部を更に備えた請求項１に記載の通信インタフェース装置。
【請求項３】
前記選択部は、
前記第１のインタフェース回路から出力された信号及び前記第２のインタフェース回路から出力された信号のいずれかを選択するための選択信号が入力され、前記入力された選択信号が第１のレベルのときに前記第１のインタフェース回路から出力された信号を選択し、前記入力された選択信号が第２のレベルのときに前記第２のインタフェース回路から出力された信号を選択するセレクタと、
前記第２の端子に接続されたクロック端子、及び当該クロック端子に入力された信号がクロック信号である場合に前記第１のレベルの選択信号を前記セレクタに出力し、当該クロック端子に入力された信号が固定信号である場合に前記第２のレベルの選択信号を前記セレクタに出力する出力端子を有するＤフリップフロップと、
を有する請求項２に記載の通信インタフェース装置。
【請求項４】
前記Ｄフリップフロップのクロック端子と前記第２の端子との間に、外乱ノイズを除去するノイズフィルタを更に備えた請求項３に記載の通信インタフェース装置。
【請求項５】
前記Ｄフリップフロップは、前記Ｄフリップフロップがリセット状態において、前記Ｄフリップフロップの出力端子から前記セレクタに前記第２のレベルの選択信号が入力されるように構成され、
前記第１のインタフェース回路及び前記第２のインタフェース回路の少なくとも一方の通信状況を検出し、前記第１のインタフェース回路が通信中でないこと、又は前記第２のインタフェース回路の通信中であることが検出されている期間は前記Ｄフリップフロップがリセット状態となるように制御する検出制御部を更に備えた請求項３に記載の通信インタフェース装置。
【請求項６】
前記第１の端子に入力された信号がクロック信号の場合には、前記第２のインタフェース回路から出力された信号を選択し、前記第１の端子に入力された信号が固定信号の場合には、前記第１のインタフェース回路から出力された信号を選択する選択部を更に備えた請求項１に記載の通信インタフェース装置。
【請求項７】
前記選択部は、
前記第１のインタフェース回路から出力された信号及び前記第２のインタフェース回路から出力された信号のいずれかを選択するための選択信号が入力され、前記入力された選択信号が第１のレベルのときに前記第１のインタフェース回路から出力された信号を選択し、前記入力された選択信号が第２のレベルのときに前記第２のインタフェース回路から出力された信号を選択するセレクタと、
前記第１の端子に接続されたクロック端子と、当該クロック端子に入力された信号が固定信号である場合に前記第１のレベルの選択信号を前記セレクタに出力し、当該クロック端子に入力された信号がクロック信号である場合に前記第２のレベルの選択信号を前記セレクタに出力する出力端子を有するＤフリップフロップと、
を有する請求項６に記載の通信インタフェース装置。
【請求項８】
前記Ｄフリップフロップのクロック端子と前記第１の端子との間に、外乱ノイズを除去するノイズフィルタを更に備えた請求項７に記載の通信インタフェース装置。
【請求項９】
前記Ｄフリップフロップは、前記Ｄフリップフロップがリセット状態において、前記Ｄフリップフロップの出力端子から前記セレクタに前記第１のレベルの選択信号が入力されるように構成され、
前記第１のインタフェース回路及び前記第２のインタフェース回路の少なくとも一方の通信状況を検出し、前記第１のインタフェース回路が通信中であること、又は前記第２のインタフェース回路が通信中でないことが検出されている期間は前記Ｄフリップフロップがリセット状態となるように制御する検出制御手段を更に備えた請求項７に記載の通信インタフェース装置。
【請求項１０】
第１の端子に接続されたチップセレクト端子、第２の端子に接続されたクロック端子、及び第３の端子に接続されたデータ端子を有する第１のインタフェース回路と、前記第１の端子に接続されたクロック端子、及び前記第３の端子に接続されたデータ端子を有する第２のインタフェース回路と、を備えた通信インタフェース装置において通信するにあたり、
前記第１のインタフェース回路で通信する場合には、前記第１の端子に予め定められたレベルに固定された固定信号を入力し、前記第２の端子にクロック信号を入力し、前記第３の端子にデータ信号を入力し、
前記第２のインタフェース回路で通信する場合には、前記第１の端子にクロック信号を入力し、前記第３の端子にデータ信号を入力する
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信インタフェース装置及び通信方法に関し、特に異なる複数のインタフェースプロトコルで通信可能な通信インタフェース装置及び通信方法に関するものである。
【背景技術】
【０００２】
従来、ＳＰＩ（Serial Peripheral Interface）、Ｉ２Ｃ（Inter-Integrated Circuit）等の様々なシリアルバスインタフェースが、ＣＰＵ及び周辺機器間通信、チップ間通信に広く用いられている。ＳＰＩは、３線式のシリアルバスインタフェースの１つとして知られ、Ｉ２Ｃは２線式のシリアルバスインタフェースの１つとして知られ、一般的に広く用いられている。従って、近年、多くの集積回路に、２線式及び３線式の双方に対応可能なように、両方のインタフェース回路が搭載されている。
【０００３】
２種類のインタフェースプロトコルを認識する方法として、従来は、シリアルバス通信に必要な端子の他に、プロトコル認識（選択）のための端子を別途設け、当該端子に対して外部からプロトコルを選択するための選択信号を入力し、２線式、３線式のいずれかの回路を選択させて動作させていた。
【０００４】
これに対して、２種類のインタフェースプロトコルを自動的に認識する方法が提案されている。例えば、特許文献１には、クロック端子及びデータ端子を２線式及び３線式で共有し、チップイネーブル信号でプロトコルを判別する方法が開示され、特許文献２には、データ転送前にプロトコル認識のための特殊な信号を送る（ダミーアクセス）ことにより、プロトコル認識を行う方法が開示されている
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２３２５０８号公報
【特許文献２】特開昭６３−２５０７５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の方法では、誤動作の原因となる問題があった。
ここで、図７及び図８を用いて、この誤動作について説明する。
【０００７】
図７は、上記特許文献１に記載の手法を用いて、ＣＰＵ３００と、ＬＳＩ(Large Scale Integration)３０１、３０２との間で通信を行う通信回路の構成例である。ＬＳＩ３０１、３０２の各々は、Ｉ２Ｃ及びＳＰＩの双方のインタフェースプロトコルで動作可能に構成されている。
【０００８】
クロック信号clkを伝送するクロック線３０５、及びデータ信号dataを伝送するデータ線３０６は、各々２分岐して、ＬＳＩ３０１、ＬＳＩ３０２の各々に接続されている。従って、ＣＰＵ３００から信号が入力される端子のうち、ＬＳＩ３０１に対して供給するクロック信号clk、及びＬＳＩ３０２に対して供給するクロック信号clkが共通の端子から入力され、ＬＳＩ３０１に対して転送するデータ信号data、及びＬＳＩ３０２に対して転送するデータ信号dataも共通の端子（ただしクロック信号clkが入力される端子とは異なる）から入力される構成となっている。
【０００９】
チップセレクト線３０３は、ＬＳＩ３０２に対してチップセレクト信号cs1を伝送する。チップセレクト線３０４は、ＬＳＩ３０１に対してチップセレクト信号cs2を伝送する。
【００１０】
チップセレクト信号cs1がLowレベルのときに、ＬＳＩ３０２とＣＰＵ３００との間でＳＰＩ通信が行われる。ＬＳＩ３０２とＣＰＵ３００との間でＳＰＩ通信が行われる期間は、ＬＳＩ３０１が動作しないよう（通信を行わないよう）、チップセレクト信号cs2はHighレベルにされる。
【００１１】
また、チップセレクト信号cs2がLowレベルのときに、ＬＳＩ３０１とＣＰＵ３００との間でＳＰＩ通信が行われる。ＬＳＩ３０１とＣＰＵ３００との間でＳＰＩ通信が行われる期間は、ＬＳＩ３０２が動作しないよう（通信を行わないよう）、チップセレクト信号cs1はHighレベルにされる。
【００１２】
なお、この通信回路には、レジスタ等が接続されており、ＬＳＩ３０１、３０２のうち、チップセレクト信号cs1、cs2により選択され動作したＬＳＩから出力されたデータ信号が示すデータが、当該接続されているレジスタ等に書込み（ライト）される。
【００１３】
ここで、ＬＳＩ３０２を介して、ＳＰＩ通信により、レジスタのアドレス0x11にデータ0xffをライトする場合を例に挙げて説明する。
【００１４】
図８（Ａ）は、ＬＳＩ３０２に対する信号のタイムチャートを示す図であり、図８（Ｂ）は、ＬＳＩ３０１に対する信号のタイムチャートを示す図である。図８（Ａ）に示すように、ＬＳＩ３０２を動作させるため、まずチップセレクト信号cs1をLowレベルにして、アドレス0x11を転送し、アドレス転送終了後、データ転送を行う。
【００１５】
このように、ＬＳＩ３０２だけ見れば正常に通信可能だが、データ信号を入力する端子、クロック信号を入力する端子を各ＬＳＩ間で共用していることによって、チップセレクト信号cs2以外はＬＳＩ３０１にも同じ信号が入力されることになる。
【００１６】
ＬＳＩ３０１については、チップセレクト信号cs2がHighレベル固定となるため、ＳＰＩ通信は成立しない。しかしながら、Ｉ２Ｃインタフェースプロトコルでの動作の観点から見ると、クロック信号clkがHighのときに、データ信号dataがLowに変化したところで、Ｉ２Ｃのスタートコンディションを満たしてしまう。
【００１７】
また、Ｉ２Ｃプロトコルにおいては、各ＬＳＩに、ＬＳＩ固有のスレーブアドレスが割り当てられている。通常、Ｉ２Ｃプロトコルではスタートコンディションの後に、通信相手先を示すスレーブアドレスが送信されるが、本例において、ＬＳＩ３０１の固有のスレーブアドレスが0x1fである場合、図８（Ｂ）に示すように、スタートコンディションの後、データ信号dataとして、当該スレーブアドレス0x1fに一致する信号が送信されると、ＬＳＩ３０１は、Ｉ２Ｃアクセスされたと誤認識してしまう。
【００１８】
これにより、ＬＳＩ３０１は、図８（Ｂ）の円で囲んだ区間において、アクノリッジとしてデータ線３０６を介してＣＰＵ３００にLowレベルの信号を送信しようとする。一方、ＣＰＵ３００は、通常通り、ＳＰＩプロトコルでＬＳＩ３０２にデータを送信しようとするが、ＬＳＩ３０１がデータ線３０６のレベルをLowレベルにしようとするため、ＬＳＩ３０２に対するデータが、アクノリッジ区間で化けてしまう可能性がある。すなわち、アクノリッジ区間において、ＣＰＵがＨドライブ、ＬＳＩ３０１がＬドライブで動作することにより、通信品質が著しく低下し誤動作の原因となってしまう。
【００１９】
これは、ＬＳＩ３０１に供給するデータ信号を入力する端子及びＬＳＩ３０２に供給するデータ信号を入力する端子を共通にしているだけでなく、ＬＳＩ３０１に供給するクロック信号を入力する端子及びＬＳＩ３０２に供給するクロック信号を入力する端子を共通にしていることにより生ずる問題である。
【００２０】
また、上記特許文献２に記載の方法では、特殊なアクセス（ダミーアクセス）を使ってプロトコルを認識しており、インタフェースバスに複数のＬＳＩが接続された場合（例えば、当該複数のＬＳＩに、ダミーアクセスが必要なＬＳＩとダミーアクセスが不要なＬＳＩとが混在していた場合）には、制御が複雑になる問題があった。
【００２１】
本発明は、上述した課題を解決するために提案されたものであり、複雑な制御を要することなく２つの異なるインタフェース回路の一方のインタフェース回路での通信動作中に他方のインタフェース回路での通信動作が行われないようにすることができる通信インタフェース装置及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記課題を解決するために、請求項１の発明の通信インタフェース装置は、第１の端子に接続されたチップセレクト端子、第２の端子に接続されたクロック端子、及び第３の端子に接続されたデータ端子を有する第１のインタフェース回路と、前記第１の端子に接続されたクロック端子、及び前記第３の端子に接続されたデータ端子を有する第２のインタフェース回路と、を備え、前記第１のインタフェース回路で通信する場合には、前記第１の端子に予め定められたレベルに固定された固定信号が入力され、前記第２の端子にクロック信号が入力され、前記第３の端子にデータ信号が入力され、前記第２のインタフェース回路で通信する場合には、前記第１の端子にクロック信号が入力され、前記第３の端子にデータ信号が入力される。
【００２３】
このように、第１のインタフェース回路に供給するクロック信号を入力する端子と、第２のインタフェース回路に供給するクロック信号を入力する端子とを異ならせたため、複雑な制御を要することなく一方のインタフェース回路での通信動作中に他方のインタフェース回路での通信動作が行われないようにすることができる。なお、前記第１のインタフェース回路で通信する場合に前記第１の端子に入力される固定信号は、前記第２のインタフェース回路の通信開始条件を満たさないレベルの固定信号とすることができる。
【００２４】
請求項２の発明は、請求項１に記載の通信インタフェース装置において、前記第２のインタフェース回路で通信する場合には、更に前記第２の端子に予め定められたレベルに固定された固定信号が入力され、前記第２の端子に入力された信号が固定信号の場合には、前記第２のインタフェース回路から出力された信号を選択し、前記第２の端子に入力された信号がクロック信号の場合には、前記第１のインタフェース回路から出力された信号を選択する選択部を更に備えて構成されている。
【００２５】
このように、第１のインタフェース回路で通信する場合と第２のインタフェース回路で通信する場合とで入力される信号が異なる第２の端子に入力された信号に応じて、第１のインタフェース回路から出力された信号又は第２のインタフェース回路から出力された信号を選択するように構成したため、複雑な制御を要することなく一方のインタフェース回路での通信動作中に当該一方のインタフェース回路から出力された信号を選択することができる。
【００２６】
請求項３の発明は、請求項２に記載の通信インタフェース装置において、前記選択部は、前記第１のインタフェース回路から出力された信号及び前記第２のインタフェース回路から出力された信号のいずれかを選択するための選択信号が入力され、前記入力された選択信号が第１のレベルのときに前記第１のインタフェース回路から出力された信号を選択し、前記入力された選択信号が第２のレベルのときに前記第２のインタフェース回路から出力された信号を選択するセレクタと、前記第２の端子に接続されたクロック端子、及び当該クロック端子に入力された信号がクロック信号である場合に前記第１のレベルの選択信号を前記セレクタに出力し、当該クロック端子に入力された信号が固定信号である場合に前記第２のレベルの選択信号を前記セレクタに出力する出力端子を有するＤフリップフロップと、を有するものである。
【００２７】
これにより簡易な構成で、適切な信号を選択することができる。
【００２８】
請求項４の発明は、請求項３に記載の通信インタフェース装置において、前記Ｄフリップフロップのクロック端子と前記第２の端子との間に、外乱ノイズを除去するノイズフィルタを更に備えている。
【００２９】
このような構成によれば、外乱ノイズによってＤフリップフロップが誤動作することを抑制することができ、Ｄフリップフロップからセレクタに対して適切な選択信号を入力できる。
【００３０】
請求項５の発明は、請求項３に記載の通信インタフェース装置において、前記Ｄフリップフロップは、前記Ｄフリップフロップがリセット状態において、前記Ｄフリップフロップの出力端子から前記セレクタに前記第２のレベルの選択信号が入力されるように構成され、前記第１のインタフェース回路及び前記第２のインタフェース回路の少なくとも一方の通信状況を検出し、前記第１のインタフェース回路が通信中でないこと、又は前記第２のインタフェース回路の通信中であることが検出されている期間は前記Ｄフリップフロップがリセット状態となるように制御する検出制御部を更に備えている。
【００３１】
このような構成によれば、外乱ノイズによらず、第２のインタフェース回路の通信中にセレクタに第２のレベルの選択信号を入力させることができる。
【００３２】
請求項６の発明は、請求項１に記載の通信インタフェース装置において、前記第１の端子に入力された信号がクロック信号の場合には、前記第２のインタフェース回路から出力された信号を選択し、前記第１の端子に入力された信号が固定信号の場合には、前記第１のインタフェース回路から出力された信号を選択する選択部を更に備えている。
【００３３】
このように、第１のインタフェース回路で通信する場合と第２のインタフェース回路で通信する場合とで入力される信号が異なる第１の端子に入力された信号に応じて、第１のインタフェース回路から出力された信号又は第２のインタフェース回路から出力された信号を選択するように構成したため、複雑な制御を要することなく一方のインタフェース回路での通信動作中に当該一方のインタフェース回路から出力された信号を選択することができる。
【００３４】
請求項７の発明は、請求項６に記載の通信インタフェース装置において、前記選択部は、前記第１のインタフェース回路から出力された信号及び前記第２のインタフェース回路から出力された信号のいずれかを選択するための選択信号が入力され、前記入力された選択信号が第１のレベルのときに前記第１のインタフェース回路から出力された信号を選択し、前記入力された選択信号が第２のレベルのときに前記第２のインタフェース回路から出力された信号を選択するセレクタと、前記第１の端子に接続されたクロック端子と、当該クロック端子に入力された信号が固定信号である場合に前記第１のレベルの選択信号を前記セレクタに出力し、当該クロック端子に入力された信号がクロック信号である場合に前記第２のレベルの選択信号を前記セレクタに出力する出力端子を有するＤフリップフロップと、を有する。
【００３５】
これにより簡易な構成で、適切な信号を選択することができる。
【００３６】
請求項８の発明は、請求項７に記載の通信インタフェース装置において、前記Ｄフリップフロップのクロック端子と前記第１の端子との間に、外乱ノイズを除去するノイズフィルタを更に備えた。
【００３７】
このような構成によれば、外乱ノイズによってＤフリップフロップが誤動作することを抑制することができ、Ｄフリップフロップからセレクタに対して適切な選択信号を入力できる。
【００３８】
請求項９の発明は、請求項７に記載の通信インタフェース装置において、前記Ｄフリップフロップは、前記Ｄフリップフロップがリセット状態において、前記Ｄフリップフロップの出力端子から前記セレクタに前記第１のレベルの選択信号が入力されるように構成され、前記第１のインタフェース回路及び前記第２のインタフェース回路の少なくとも一方の通信状況を検出し、前記第１のインタフェース回路が通信中であること、又は前記第２のインタフェース回路が通信中でないことが検出されている期間は前記Ｄフリップフロップがリセット状態となるように制御する検出制御手段を更に備えている。
【００３９】
このような構成によれば、外乱ノイズによらず、第１のインタフェース回路の通信中にセレクタに第１のレベルの選択信号を入力させることができる。
【００４０】
請求項１０の発明の通信方法は、第１の端子に接続されたチップセレクト端子、第２の端子に接続されたクロック端子、及び第３の端子に接続されたデータ端子を有する第１のインタフェース回路と、前記第１の端子に接続されたクロック端子、及び前記第３の端子に接続されたデータ端子を有する第２のインタフェース回路と、を備えた通信インタフェース装置において通信するにあたり、前記第１のインタフェース回路で通信する場合には、前記第１の端子に予め定められたレベルに固定された固定信号を入力し、前記第２の端子にクロック信号を入力し、前記第３の端子にデータ信号を入力し、前記第２のインタフェース回路で通信する場合には、前記第１の端子にクロック信号を入力し、前記第３の端子にデータ信号を入力するものである。
【００４１】
このような方法によれば、請求項１と同様の作用を奏するため、複雑な制御を要することなく２つの異なるインタフェース回路の一方のインタフェース回路での通信動作中に他方のインタフェース回路での通信動作が行われないようにすることができる。
【発明の効果】
【００４２】
以上説明したように本発明によれば、複雑な制御を要することなく２つの異なるインタフェース回路の一方のインタフェース回路での通信動作中に他方のインタフェース回路での通信動作が行われないようにすることができる、という効果を奏する。
【図面の簡単な説明】
【００４３】
【図１】第１の実施の形態に係る通信インタフェース装置の回路図である。
【図２】Ｉ２Ｃ通信中の信号の流れを説明する説明図である。
【図３】ＳＰＩ通信中の信号の流れを説明する説明図である。
【図４】第２の実施の形態に係る通信インタフェース装置の回路図である。
【図５】第３の実施の形態に係る通信インタフェース装置の回路図である。
【図６】第４の実施の形態に係る通信インタフェース装置の回路図である。
【図７】ＣＰＵと、２つのＬＳＩとの間で３線式の通信を行う場合の通信回路の構成例を示す図である。
【図８】（Ａ）は、一方のＬＳＩに対する信号のタイムチャートを示し、（Ｂ）は、他方のＬＳＩに対する信号のタイムチャートを示す図である。
【発明を実施するための形態】
【００４４】
以下、実施の形態について図面を参照しながら詳細に説明する。
【００４５】
［第１の実施の形態］
【００４６】
図１は、第１の実施の形態に係る通信インタフェース装置の回路図である。
【００４７】
本実施の形態に係る通信インタフェース装置は、３線式のシリアルバスインタフェースプロトコルの１つであるＳＰＩ（Serial Peripheral Interface）で通信を行うＳＰＩインタフェース回路１０１、及び２線式のシリアルバスインタフェースプロトコルの１つであるＩ２Ｃ（Inter-Integrated Circuit）で通信を行うＩ２Ｃインタフェース回路１０２、Ｄフリップフロップ回路（以下、ＤＦＦ）１０３、セレクタ１０４、第１の端子２０１、第２の端子２０２、及び第３の端子２０３を備えている。
【００４８】
ＳＰＩインタフェース回路１０１には、チップセレクト信号csが入力されるためのチップセレクト端子と、クロック信号clkが入力されるためのクロック端子と、データ信号dataが入力されるためのデータ端子とが設けられている。
【００４９】
Ｉ２Ｃインタフェース回路１０２には、クロック信号clkが入力されるためのクロック端子と、データ信号dataが入力されるためのデータ端子とが設けられている。
【００５０】
第１の端子２０１は、ＳＰＩインタフェース回路１０１のチップセレクト端子と、Ｉ２Ｃインタフェース回路１０２のクロック端子とに接続されている。第２の端子２０２は、ＳＰＩインタフェース回路１０１のクロック端子と、ＤＦＦ１０３のクロック端子に接続されている。第３の端子２０３は、ＳＰＩインタフェース回路１０１のデータ端子と、Ｉ２Ｃインタフェース回路１０２のデータ端子とに接続されている。
【００５１】
ＤＦＦ１０３のＤ端子は、電源電圧ＶＤＤを供給する電源に接続されている。ＤＦＦ１０３のＱ端子は、セレクタ１０４に接続されている。ＤＦＦ１０３は、ＤＦＦ１０３に設けられているクリア端子に対して、Highレベルの信号（リセット信号）が入力されるとリセットされ、ＤＦＦ１０３のクロック端子に対してクロック信号が入力されない限り、Ｑ端子からの出力がLowレベルに固定される。従って、リセット状態（初期状態）においては、ＤＦＦ１０３の非反転出力端子であるＱ端子の出力はLowレベルとなっている。なお、本実施の形態のＤＦＦ１０３には、プリセット信号が入力されることによりＱ端子の出力をHighレベルにしてリセット状態にするプリセット端子は設けられていない、或いは設けられていても使用しない構成とする。
【００５２】
ＳＰＩインタフェース回路１０１の出力端子、及びＩ２Ｃインタフェース回路１０２の出力端子の各々は、セレクタ１０４に接続されている。ＳＰＩインタフェース回路１０１の出力端子からは、ＳＰＩインタフェース回路１０１に入力された信号の各々がセレクタ１０４に出力され、Ｉ２Ｃインタフェース回路１０２の出力端子からは、Ｉ２Ｃインタフェース回路１０２に入力された信号の各々がセレクタ１０４に出力される。
【００５３】
セレクタ１０４は、ＤＦＦ１０３のＱ端子から出力された信号に応じて、ＳＰＩインタフェース回路１０１の出力端子から出力された信号と、Ｉ２Ｃインタフェース回路１０２の出力端子から出力された信号とを排他的に選択する。本実施の形態では、ＤＦＦ１０３のＱ端子から出力された信号が、Highレベル（１）であった場合には、ＳＰＩインタフェース回路１０１の出力端子から出力された信号を選択し、ＤＦＦ１０３のＱ端子から出力された信号が、Lowレベル（０）であった場合には、Ｉ２Ｃインタフェース回路１０２の出力端子から出力された信号を選択する。セレクタ１０４は、選択したデータ信号が示すアドレス（レジスタのアドレス）に、当該アドレスに続いて選択した信号が示すデータを出力する（書き込む）。
【００５４】
また、本実施の形態において、２線式のＩ２Ｃで通信を行う場合には、第２の端子２０２に入力する信号をＧＮＤレベル、すなわちLowレベルに固定して使用する構成としている。もちろん、これに限定されるものではなく、２線式のＩ２Ｃで通信を行う場合に、第２の端子２０２に入力する信号をＶＤＤレベル、すなわちHighレベルに固定して使用する構成としもよい。
【００５５】
また、本実施の形態において、不図示のＣＰＵ（Central Processing Unit）が、第１の端子２０１、第２の端子２０２、及び第３の端子２０３の各々に接続され、これら各端子に信号を入力するものとするが、何らかの制御回路等、各端子に信号を入力するものであればよく、ＣＰＵに限定されない。
【００５６】
まず、２線式のＩ２Ｃインタフェースプロトコルで通信を行う場合の動作について図２を参照して説明する。
【００５７】
ＣＰＵは、事前にＤＦＦ１０３のクリア端子にリセット信号を入力してＤＦＦ１０３をリセット状態にし、第１の端子２０１にクロック信号clkを入力し、第３の端子２０３にはデータ信号dataを入力する。具体的には、Ｉ２Ｃのスタートコンディションのための信号を第１の端子２０１及び第３の端子２０３に入力した後、クロック信号を第１の端子２０１に入力すると共に、アドレス情報、及び転送するデータを第３の端子２０３に入力する。
【００５８】
なお、ＣＰＵが事前にＤＦＦ１０３のクリア端子に対してリセット信号を入力したリセット状態においては、ＤＦＦ１０３のクロック端子にクロック信号が入力されない限り、ＤＦＦ１０３のＱ端子の出力がLowレベル固定となる。Ｉ２Ｃインタフェースプロトコルでの通信中は、前述したように、第２の端子２０２をLowレベル（またはHighレベル）に固定するため、ＤＦＦ１０３は動作しない。すなわち、ＤＦＦ１０３のＱ端子の出力のLowレベル固定状態が継続される。
【００５９】
これにより、セレクタ１０４は、Ｉ２Ｃインタフェース回路１０２の出力信号を選択して、レジスタに出力する（書き込む）。
【００６０】
次に、３線式のＳＰＩインタフェースプロトコルで通信を行う場合の動作について図３を参照して説明する。
【００６１】
ＣＰＵは、第１の端子２０１には、ＳＰＩインタフェース回路１０１にＳＰＩ通信動作を許可するチップセレクト信号であって、Ｉ２Ｃインタフェース回路１０２のスタートコンディションを満たさないようにするためのチップセレクト信号を入力する。具体的には、第１の端子２０１にLowレベル固定のチップセレクト信号csを入力する。ＳＰＩインタフェース回路１０１は、第１の端子２０１から入力されたチップセレクト信号csによりＳＰＩ通信が許可されたことを認識する。また、ＣＰＵは、第２の端子２０２にクロック信号clkを入力すると共に、第３の端子２０３にデータ信号dataとして、アドレス情報と、転送すべきデータとを入力し転送する。
【００６２】
このとき、第２の端子２０２にはクロック信号clkが入力されるため、ＤＦＦ１０３が動作する。ＤＦＦ１０３のＤ端子には、電源ＶＤＤレベル（Highレベル）の信号が入力されているため、Ｑ端子からはHighレベル（１）の信号が出力される。セレクタ１０４は、Highレベルの信号を受けて、ＳＰＩインタフェース回路１０１の出力信号を選択して、レジスタに出力する（書き込む）。
【００６３】
なお、Ｉ２Ｃインタフェース回路１０２のクロック端子には、Lowレベル固定の信号が入力されるため、Ｉ２Ｃのスタートコンディション（クロック信号clkがHighのときに、データ信号dataがLowに変化する）を満たす状態にはならない。従って、Ｉ２Ｃインタフェース回路１０２からＣＰＵにアクノリッジを出力することはない。
【００６４】
以上説明したように、ＳＰＩインタフェース回路１０１のクロック端子にクロック信号clkを入力するための端子と、Ｉ２Ｃインタフェース回路１０２のクロック端子にクロック信号clkを入力するための端子とを共用しないことにより、誤認識を起こさないという効果がある。また、プロトコル認識のためのダミーアクセスが不要なため、制御が複雑にならない、という効果がある。
【００６５】
更に又、別途端子を設けることなく、プロトコル認識、出力信号の選択ができるため、チップサイズの増大を抑制できる。例えば、縦横４×４の端子から１端子増やす場合は、４×５或いは５×５の端子配列とする必要があり（通常は、端子配列は矩形状、面積的な効果を考慮すれば正方形状が好ましいため）、端子を１つ増やすだけで、チップサイズの増大につながる。そこで、上記のように通信インタフェース装置を構成することで、こうした面積的な要請にも対応することができる。特に、WCSP(Wafer level Chip Size Package）等の小型パッケージを実現するためには有利である。現在のWCSPは、基板搭載時の信頼性を確保するため、端子の大きさは一定以上の大きさにすることが要求されている。従って、チップサイズを小さくすればするほど搭載できる端子数が減ることになる。このように、端子の大きさを一定以上確保しつつパッケージサイズを小さくするべく製造される超小型集積回路にとっては上記構成は特に有利となる。
【００６６】
［第２の実施の形態］
【００６７】
第２の実施の形態に係る通信インタフェース装置の回路図を図４に示す。第１の実施の形態と異なる点は、ＤＦＦ１０３のクロック信号経路（第２の端子２０２とＤＦＦ１０３のクロック端子との間）に、ノイズフィルタ１０５を追加した点である。
【００６８】
第１の実施の形態で説明したように、Ｉ２Ｃ通信を行う場合には、第２の端子２０２をＶＤＤ又はＧＮＤに固定する。このように、ＣＰＵが固定の信号を入力している状態ではあるが、外部ノイズなどの影響により信号レベルに変動が生じる可能性もある。そこで、本実施の形態では、ノイズフィルタ１０５を追加して、第２の端子２０２から入力された信号に混入した外乱ノイズをフィルタリング（除去）し、ＤＦＦ１０３に影響を与えないようにする。
【００６９】
このように、外乱ノイズをフィルタリングするノイズフィルタ１０５を設けることで、外乱ノイズによる誤動作を防ぐことができる。
【００７０】
［第３の実施の形態］
【００７１】
第３の実施の形態に係る通信インタフェース装置の回路図を図５に示す。第２の実施の形態では、外乱ノイズをノイズフィルタ１０５により除去して、Ｉ２Ｃ通信中のＱ端子出力をLowレベル固定とする例について説明したが、本実施の形態では、ノイズフィルタ１０５の代わりに、ＳＰＩインタフェース回路１０１の通信状況を検出する通信ステータス検出器１０６を設けて、外乱ノイズによらずＩ２Ｃ通信中のＱ端子出力をLowレベル固定とする構成について説明する。
【００７２】
通信ステータス検出器１０６は、例えば、ＳＰＩインタフェース回路１０１のチップセレクト端子に入力された信号、或いは、ＳＰＩインタフェース回路１０１のクロック端子に入力された信号を監視して、ＳＰＩインタフェース回路１０１の通信状況を検出する。より具体的には、ＳＰＩインタフェース回路１０１のチップセレクト端子に入力された信号が、Lowレベル固定であれば、ＳＰＩインタフェース回路１０１がＳＰＩ通信中であると認識し、レベルが周期的に変動する信号であれば、ＳＰＩ通信は行われていないと認識する。また、ＳＰＩインタフェース回路１０１のクロック端子に入力された信号が周期的にレベルが変動する信号であれば、ＳＰＩ通信中であると認識し、Lowレベル或いはHighレベル固定であれば、ＳＰＩ通信は行われていないと認識する。
【００７３】
そして、通信ステータス検出器１０６は、ＳＰＩ通信中であることが検出されている期間は、ＤＦＦ１０３のクリア端子を解除しておき（ＤＦＦ１０３のクリア端子にHighレベルのリセット信号を入力しない）、ＳＰＩ通信中であることが検出されていない期間はクリア端子にリセット信号を出力してＤＦＦ１０３をリセット状態にしておく。これにより、第２の実施例と同様の効果が得られる。
【００７４】
また、通信ステータス検出器１０６を第２の端子２０２に直接接続して、ＳＰＩインタフェース回路１０１の通信状況を検出するように構成してもよい。
【００７５】
なお、ここでは、通信ステータス検出器１０６が、ＳＰＩインタフェース回路１０１の通信状況を検出するものとして説明したが、これに限定されず、例えば、Ｉ２Ｃインタフェース回路１０２のクロック端子に入力される信号を監視して、Ｉ２Ｃインタフェース回路１０２の通信状況を検出するものとしてもよい。すなわち、Ｉ２Ｃ通信中であることが検出されている期間は、クリア端子にリセット信号を出力してＤＦＦ１０３をリセット状態にしておき、Ｉ２Ｃ通信中であることが検出されない期間はＤＦＦ１０３のクリア端子を解除しておく（ＤＦＦ１０３のクリア端子にHighレベルのリセット信号を入力しない）。また、通信ステータス検出器１０６を第１の端子２０１に直接接続して、Ｉ２Ｃインタフェース回路１０２の通信状況を検出するように構成してもよい。
【００７６】
また、通信ステータス検出器１０６が、ＳＰＩインタフェース回路１０１の通信状況及びＩ２Ｃインタフェース回路１０２の通信状況の双方を検出するようにしてもよい。
【００７７】
［第４の実施の形態］
【００７８】
第４の実施の形態に係る通信インタフェース装置の回路図を図６に示す。
【００７９】
ここで、第１の実施の形態に係る通信インタフェース装置と本実施の形態に係る通信インタフェース装置との相違点を説明する。本実施の形態に係るＤＦＦ１０３のクロック端子は、第２の端子２０２に代えて、第１の端子２０１に接続されている。また、セレクタ１０４には、ＤＦＦ１０３の非反転出力端子であるＱ端子に代えて、反転出力端子である／Ｑ端子が接続されている。また、本実施の形態では、第２の端子２０２はＤＦＦ１０３に接続されていないため、Ｉ２Ｃ通信中に第２の端子２０２に入力する信号は特に限定されない。
【００８０】
本実施の形態において、２線式のＩ２Ｃインタフェースプロトコルで通信を行う場合の動作について説明する。
【００８１】
ＣＰＵが、第１の端子２０１にクロック信号clkを入力し、第３の端子２０３にはデータ信号dataを入力する。具体的には、Ｉ２Ｃのスタートコンディションのための信号を第１の端子２０１及び第３の端子２０３に入力した後、クロック信号を第１の端子２０１に入力すると共に、アドレス情報、及び転送するデータを第３の端子２０３に入力する。
【００８２】
このとき、ＤＦＦ１０３のクロック端子には、第１の端子２０１に入力されたクロック信号clkが入力されるため、ＤＦＦ１０３が動作する。ＤＦＦ１０３のＤ端子には、電源ＶＤＤレベル（Highレベル）の信号が入力されているため、／Ｑ端子からはLowレベルの信号が出力される。セレクタ１０４は、このLowレベルの信号を受けて、Ｉ２Ｃインタフェース回路１０２の出力信号を選択して、レジスタに出力する（書き込む）。
【００８３】
次に、３線式のＳＰＩインタフェースプロトコルで通信を行う場合の動作について説明する。
【００８４】
ＣＰＵは、事前にＤＦＦ１０３のクリア端子にリセット信号を入力してＤＦＦ１０３をリセット状態にし、第１の端子２０１にLowレベル固定のチップセレクト信号csを入力する。また、ＣＰＵは、第２の端子２０２にクロック信号clkを入力すると共に、第３の端子２０３にデータ信号dataとして、アドレス情報と、転送すべきデータとを入力し転送する。
【００８５】
なお、ＣＰＵが事前にＤＦＦ１０３のクリア端子に対してリセット信号を入力したリセット状態においては、ＤＦＦ１０３のクロック端子にクロック信号が入力されない限り、ＤＦＦ１０３の／Ｑ端子の出力がHighレベル固定となる。前述したように、ＳＰＩ通信中は、第１の端子２０１をLowレベルに固定するため、ＤＦＦ１０３は動作しない。すなわち、ＤＦＦ１０３の／Ｑ端子の出力のHighレベル固定状態が継続される。従って、セレクタ１０４は、ＳＰＩインタフェース回路１０１の出力信号を選択して、これをレジスタに出力する（書き込む）。
【００８６】
更に、Ｉ２Ｃインタフェース回路１０２のクロック端子には、Lowレベル固定の信号が入力されるため、Ｉ２Ｃのスタートコンディション（クロック信号clkがHighのときに、データ信号dataがLowに変化する）を満たす状態にはならない。従って、Ｉ２Ｃインタフェース回路１０２からＣＰＵにアクノリッジを出力することはない。
【００８７】
このような構成によっても、上記第１の実施の形態と同様の効果を奏する。
【００８８】
また、図６に示した通信インタフェース装置において、第２の実施の形態と同様に、ＤＦＦ１０３のクロック信号経路（第１の端子２０１とＤＦＦ１０３のクロック端子との間）に、ノイズフィルタ１０５を設けてもよい。
【００８９】
更にまた、図６に示した通信インタフェース装置に、第３の実施の形態と同様に、通信ステータス検出器１０６を設けてもよい。通信ステータス検出器１０６は、ＳＰＩ通信中であることが検出されている期間は、クリア端子にリセット信号を出力してＤＦＦ１０３をリセット状態にしておき、ＳＰＩ通信中であることが検出されない期間は、ＤＦＦ１０３のクリア端子を解除しておく（ＤＦＦ１０３のクリア端子にHighレベルのリセット信号を入力しない）。また、通信ステータス検出器１０６が、Ｉ２Ｃインタフェース回路１０２の通信状況を検出するものとした場合には、Ｉ２Ｃ通信中であることが検出されている期間は、ＤＦＦ１０３のクリア端子を解除しておき（ＤＦＦ１０３のクリア端子にHighレベルのリセット信号を入力しない）、Ｉ２Ｃ通信中であることが検出されない期間はクリア端子にリセット信号を出力してＤＦＦ１０３をリセット状態にしておく。これにより、第３の実施の形態と同様の効果が得られる。
【００９０】
また、通信ステータス検出器１０６が、ＳＰＩインタフェース回路１０１の通信状況及びＩ２Ｃインタフェース回路１０２の通信状況の双方を検出するようにしてもよい。
【００９１】
［その他の実施の形態］
【００９２】
上記第１〜第４の実施の形態において説明した構成以外にも、様々な構成を適用できる。例えば、上記では、ＤＦＦ１０３のクリア端子をアクティブハイとしたが、アクティブローとしてもよい。この場合、クリア端子にLowレベルのリセット信号を入力してリセットする。
【００９３】
また、上記第１〜第４の実施の形態では、ＤＦＦ１０３からセレクタ１０４に入力される信号がHighレベル（１）のときには、ＳＰＩインタフェース回路１０１の出力信号が選択され、Lowレベル（０）のときには、Ｉ２Ｃインタフェース回路１０２の出力信号が選択される例について説明したが、これに限定されず、例えば、以下のように構成して、ＤＦＦ１０３からセレクタ１０４に入力される信号がHighレベル（１）のときには、Ｉ２Ｃインタフェース回路１０２の出力信号が選択され、Lowレベル（０）のときには、ＳＰＩインタフェース回路１０１の出力信号が選択されるようにしてもよい。
【００９４】
第１〜第３の実施の形態において、ＤＦＦ１０３のＱ端子をセレクタ１０４に接続する代わりに反転出力端子である／Ｑ端子をセレクタ１０４に接続する。また、第４の実施の形態において、ＤＦＦ１０３の／Ｑ端子をセレクタ１０４に接続する代わりにＱ端子をセレクタ１０４に接続する。そして、セレクタ１０４は、／Ｑ端子から出力された信号がHighレベル（１）の場合に、Ｉ２Ｃインタフェース回路１０２の出力端子から出力された信号を選択し、ＤＦＦ１０３の／Ｑ端子から出力された信号が、Lowレベル（０）であった場合には、ＳＰＩインタフェース回路１０１の出力端子から出力された信号を選択する。
【００９５】
また、上記実施の形態のＤＦＦ１０３には、リセット信号（アクティブローの場合には、リセット信号はLowレベルの信号とし、アクティブハイの場合にはHighレベルの信号とする）が入力されることによりＱ端子の出力をHighレベル固定にするプリセット端子は設けられていない、或いは設けられていても使用しない構成とする例について説明したが、例えば、ＤＦＦ１０３にこのプリセット端子が設けられており、リセット時にはこのプリセット端子を用いてリセットする構成としてもよい。このように構成する場合、更にＤＦＦ１０３のＤ端子にはＧＮＤレベル（Lowレベル）の信号が入力されるようにする。
【００９６】
そして、第１〜第３の実施の形態において、セレクタ１０４を、Ｑ端子から出力された信号がHighレベル（１）の場合に、Ｉ２Ｃインタフェース回路１０２の出力端子から出力された信号を選択し、ＤＦＦ１０３のＱ端子から出力された信号が、Lowレベル（０）の場合には、ＳＰＩインタフェース回路１０１の出力端子から出力された信号を選択するよう構成してもよい。また、セレクタ１０４と／Ｑ端子とを接続し、ＤＦＦ１０３からセレクタ１０４に入力される信号がHighレベル（１）のときには、ＳＰＩインタフェース回路１０１から出力された信号を選択し、Lowレベル（０）のときには、Ｉ２Ｃインタフェース回路１０２から出力された信号を選択するようセレクタ１０４構成してもよい。
【００９７】
また、上記第４の実施の形態でも同様にリセット時にプリセット端子を用いてリセットし、Ｄ端子をＧＮＤレベルとする構成とする場合には、ＤＦＦ１０３のＱ端子とセレクタ１０４とを接続する。そして、ＤＦＦ１０３からセレクタ１０４に入力される信号がHighレベル（１）のときには、ＳＰＩインタフェース回路１０１の出力信号が選択され、Lowレベル（０）のときには、Ｉ２Ｃインタフェース回路１０２の出力信号が選択されるように構成する。また、セレクタ１０４と／Ｑ端子とを接続し、ＤＦＦ１０３からセレクタ１０４に入力される信号がHighレベル（１）のときには、Ｉ２Ｃインタフェース回路１０２の出力信号が選択され、Lowレベル（０）のときには、ＳＰＩインタフェース回路１０１の出力信号が選択されるように構成してもよい。また、通信ステータス検出器１０６を設ける場合には、通信ステータス検出器１０６からＤＦＦ１０３のプリセット端子にリセット信号を入力する構成とする。
【００９８】
また、上記各実施の形態では、３線式のインタフェースプロトコルがＳＰＩであって、２線式のインタフェースプロトコルがＩ２Ｃである場合の例について説明したが、他の３線式、２線式のインタフェースプロトコルであっても、同様の効果を得ることができる。
【符号の説明】
【００９９】
１０１ ＳＰＩインタフェース回路
１０２ Ｉ２Ｃインタフェース回路
１０３ Ｄフリップフロップ
１０４ セレクタ
１０５ ノイズフィルタ
１０６ 通信ステータス検出器
２０１ 第１の端子
２０２ 第２の端子
２０３ 第３の端子
【図１】
0005530269.tif 000002
【図２】
0005530269.tif 000003
【図３】
0005530269.tif 000004
【図４】
0005530269.tif 000005
【図５】
0005530269.tif 000006
【図６】
0005530269.tif 000007
【図７】
0005530269.tif 000008
【図８】
0005530269.tif 000009