(57)【特許請求の範囲】
【請求項１】
第１スレーブ部と、
前記第１スレーブ部と同一のスレーブアドレスを有する第２スレーブ部と、
データ信号またはクロック信号の一方を出力する第１の端子とデータ信号またはクロック信号の他方を出力する第２の端子とを有するマスタ部と、を備え、
前記第１スレーブ部または前記第２スレーブ部の一方のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号が入力され、前記第１スレーブ部または前記第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とが入力されるように構成されており、
前記第１スレーブ部または前記第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とが入力された場合には、クロック端子に入力されたデータ信号の信号レベルの変化のタイミングで、データ端子に入力されたクロック信号のレベルが検出されるように構成され、
前記マスタ部は、前記第１スレーブ部と前記第２スレーブ部とのうち、制御対象となるスレーブ部のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を出力するように構成され、
前記マスタ部は、前記第１スレーブ部と前記第２スレーブ部とのうち制御対象ではないスレーブ部のデータ端子およびクロック端子に、それぞれ、クロック信号およびデータ信号を出力するとともに、少なくとも１ビットの所定レベル以上の信号を含む基準信号を出力するように構成されており、
前記第１スレーブ部と前記第２スレーブ部とはそれぞれ、前記基準信号が入力された場合には、ストップコンディションの信号状態が発生するように構成されている、データ通信装置。
【請求項２】
前記マスタ部の前記第１の端子は、前記第１スレーブ部のデータ端子と、前記第２スレーブ部のクロック端子とに接続されており、
前記マスタ部の前記第２の端子は、前記第１スレーブ部のクロック端子と、前記第２スレーブ部のデータ端子とに接続されている、請求項１に記載のデータ通信装置。
【請求項３】
前記基準信号は、前記第１スレーブ部および前記第２スレーブ部のスレーブアドレスに対応するバイト形式の信号以外のバイト形式の信号である、請求項１に記載のデータ通信装置。
【請求項４】
前記基準信号は、１ビットの所定レベル以上の信号である、請求項１に記載のデータ通信装置。
【請求項５】
前記基準信号は、データ信号に含まれており、
前記基準信号の前記少なくとも１ビットの所定レベル以上の信号の所定レベル以上の期間は、クロック信号の所定レベル以上の期間よりも長い、請求項１〜４のいずれか１項に記載のデータ通信装置。
【請求項６】
前記基準信号は、スレーブアドレスのビット数に基づく時間間隔で、定期的に出力される信号である、請求項１〜５のいずれか１項に記載のデータ通信装置。
【請求項７】
マスタ部の第１の端子からデータ信号またはクロック信号の一方を出力するととともに、前記マスタ部の第２の端子からデータ信号またはクロック信号の他方を出力するステップと、
第１スレーブ部または前記第１スレーブ部と同一のスレーブアドレスを有する第２スレーブ部の一方のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を入力するとともに、前記第１スレーブ部または前記第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とを入力するステップと、
前記第１スレーブ部または前記第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とが入力された場合に、クロック端子に入力されたデータ信号の信号レベルの変化のタイミングで、データ端子に入力されたクロック信号のレベルを検出するステップと、
少なくとも１ビットの所定レベル以上の信号を含む基準信号を前記マスタ部から出力するステップと、
前記基準信号が入力された場合に、前記第１スレーブ部と前記第２スレーブ部とのうち制御対象ではないスレーブ部においてストップコンディション状態が発生するステップと、を備え、
前記マスタ部からデータ信号およびクロック信号を出力するステップは、前記第１スレーブ部と前記第２スレーブ部とのうち、制御対象となるスレーブ部のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を前記マスタ部から直接出力するステップとを含む、データ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ通信装置に関し、特に、マスタ部とスレーブ部とを備えるデータ通信装置に関する。
【背景技術】
【０００２】
従来、マスタ部とスレーブ部とを備えるデータ通信装置が知られている（たとえば、特許文献１参照）。
【０００３】
上記特許文献１には、ＣＰＵ（マスタ部）と、ＣＰＵと二線式のシリアルバスインタフェースプロトコルで通信を行うインタフェース回路（スレーブ部）とを備える通信インタフェース装置（データ通信装置）が開示されている。この通信インタフェース装置では、データ信号を出力可能な端子とクロック信号を出力可能な端子とがＣＰＵに設けられており、ＣＰＵに設けられたこれらの端子からインタフェース回路にデータ信号およびクロック信号が入力される。これにより、ＣＰＵとインタフェース回路とは、二線式のシリアルバスインタフェースプロトコルで通信を行うように構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−８９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の通信インタフェース装置において、たとえば、二線式のシリアルバスインタフェースプロトコルで通信を行うことが可能な同一のアドレス（スレーブアドレス）を有する２つのインタフェース回路がある場合には、各々の制御を分離するためにＣＰＵに設けられたデータ信号を出力する端子とクロック信号を出力する端子とを共通で用いることができず、端子を分ける必要がある。この結果、端子が一対余分に必要となるため、ＣＰＵ（マスタ部）の有する端子を効率的に使用することができていないという問題点が考えられる。
【０００６】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、マスタ部の有する端子を効率的に使用しながら、同一のスレーブアドレスを有する複数のスレーブ部の制御を行うことが可能なデータ通信装置を提供することである。
【課題を解決するための手段】
【０００７】
この発明の第１の局面によるデータ通信装置は、第１スレーブ部と、第１スレーブ部と同一のスレーブアドレスを有する第２スレーブ部と、データ信号またはクロック信号の一方を出力する第１の端子とデータ信号またはクロック信号の他方を出力する第２の端子とを有するマスタ部と、を備え、第１スレーブ部または第２スレーブ部の一方のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号が入力され、第１スレーブ部または第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とが入力されるように構成されており、第１スレーブ部または第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とが入力された場合には、クロック端子に入力されたデータ信号の信号レベルの変化のタイミングで、データ端子に入力されたクロック信号のレベルが検出されるように構成され、マスタ部は、第１スレーブ部と第２スレーブ部とのうち、制御対象となるスレーブ部のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を出力するように構成され、マスタ部は、第１スレーブ部と第２スレーブ部とのうち制御対象ではないスレーブ部のデータ端子およびクロック端子に、それぞれ、クロック信号およびデータ信号を出力するとともに、少なくとも１ビットの所定レベル以上の信号を含む基準信号を出力するように構成されており、第１スレーブ部と第２スレーブ部とはそれぞれ、基準信号が入力された場合には、ストップコンディションの信号状態が発生するように構成されている。
【０００８】
この発明の第１の局面によるデータ通信装置では、上記のように、第１スレーブ部または第２スレーブ部の一方のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を入力する。これにより、第１の端子または第２の端子から出力されたデータ信号とクロック信号とを、データ端子とクロック端子とに正常に入力することができるので、第１スレーブ部または第２スレーブ部の一方を正常に制御可能な状態にすることができる。そして、第１スレーブ部または第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とを入力する。これにより、第１スレーブ部または第２スレーブ部の他方では、データ信号とクロック信号とがデータ端子とクロック端子とに正常に入力されないので、第１スレーブ部または第２スレーブ部の他方を制御不可能な状態にすることができる。そして、データ信号またはクロック信号の一方を出力する第１の端子と、データ信号またはクロック信号の他方を出力する第２の端子とを有するマスタ部を備える場合に、第１の端子または第２の端子から出力されたデータ信号とクロック信号とからの第１スレーブ部および第２スレーブ部への入力状態を入れ替えるだけで、第１スレーブ部または第２スレーブ部の他方を制御可能な状態にし、第１スレーブ部または第２スレーブ部の一方を制御不可能な状態にすることができる。これらの結果、同一のスレーブアドレスを有する第１スレーブ部と第２スレーブ部とを、マスタ部の第１の端子と第２の端子との一対の端子だけで分離して制御することができるので、マスタ部の有する端子を効率的に使用しながら、同一のスレーブアドレスを有する複数のスレーブ部の制御を行うことができる。
【０００９】
上記第１の局面によるデータ通信装置では、データ信号またはクロック信号の一方を出力する第１の端子と、データ信号またはクロック信号の他方を出力する第２の端子とを有するマスタ部をさらに備え、マスタ部は、第１スレーブ部と第２スレーブ部とのうち、制御対象となるスレーブ部のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を出力するように構成されている。このように構成すれば、第１スレーブ部と第２スレーブ部とのうち、制御対象となるスレーブ部を確実に制御することができる。
【００１０】
上記マスタ部をさらに備える構成において、好ましくは、マスタ部の第１の端子は、第１スレーブ部のデータ端子と、第２スレーブ部のクロック端子とに接続されており、マスタ部の第２の端子は、第１スレーブ部のクロック端子と、第２スレーブ部のデータ端子とに接続されている。このように構成すれば、マスタ部の第１の端子または第２の端子から出力されたデータ信号とクロック信号とを、容易に、第１スレーブ部または第２スレーブ部の一方のデータ端子とクロック端子とに、正常に入力することができる。また、データ信号とクロック信号とを、容易に、第１スレーブ部または第２スレーブ部の他方のデータ端子とクロック端子とに正常に入力されないようにすることができる。
【００１１】
上記マスタ部をさらに備える構成では、マスタ部は、第１スレーブ部と第２スレーブ部とのうち制御対象ではないスレーブ部のデータ端子およびクロック端子に、それぞれ、クロック信号およびデータ信号を出力するとともに、少なくとも１ビットの所定レベル以上の信号を含む基準信号を出力するように構成されており、第１スレーブ部と第２スレーブ部とのうち制御対象ではないスレーブ部は、基準信号が入力された場合には、ストップコンディションの信号状態が発生するように構成されている。このように構成すれば、少なくとも１ビットの所定レベル以上の信号を含む基準信号により、二線式のシリアルバスインタフェースプロトコルにおけるストップコンディションの信号状態を発生させることができる。したがって、制御を望まないスレーブ部において意図せず有効な信号が発生したとしても、発生した有効な信号を無効化することができる。その結果、容易に、制御を望まないスレーブ部における誤動作を抑制することができる。
【００１２】
この場合、好ましくは、基準信号は、第１スレーブ部および第２スレーブ部のスレーブアドレスに対応するバイト形式の信号以外のバイト形式の信号である。このように構成すれば、基準信号がバイト形式である場合に、基準信号と、第１スレーブ部および第２スレーブ部のスレーブアドレスとが一致してしまうのを抑制することができる。その結果、より確実に、制御を望まないスレーブ部における誤動作を抑制することができる。
【００１３】
上記基準信号を出力する構成において、好ましくは、基準信号は、１ビットの所定レベル以上の信号である。このように構成すれば、基準信号がバイト（８ビット）形式である場合に比べて、１ビットの所定レベル以上の信号のみが出力されるので、基準信号を出力するのにかかる時間を短くすることができる。
【００１４】
上記基準信号を出力する構成において、好ましくは、基準信号は、データ信号に含まれており、基準信号の少なくとも１ビットの所定レベル以上の信号の所定レベル以上の期間は、クロック信号の所定レベル以上の期間よりも長い。このように構成すれば、少なくとも１ビットの所定レベル以上の信号を含む基準信号により、二線式のシリアルバスインタフェースプロトコルにおけるストップコンディションの信号状態を容易に発生させることができる。
【００１５】
上記基準信号を出力する構成において、好ましくは、基準信号は、スレーブアドレスのビット数に基づく時間間隔で、定期的に出力される信号である。このように構成すれば、誤動作が発生する前に、基準信号を確実に出力することができる。
【００１６】
この発明の第２の局面によるデータ通信方法は、マスタ部の第１の端子からデータ信号またはクロック信号の一方を出力するととともに、マスタ部の第２の端子からデータ信号またはクロック信号の他方を出力するステップと、第１スレーブ部または第１スレーブ部と同一のスレーブアドレスを有する第２スレーブ部の一方のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を入力するとともに、第１スレーブ部または第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とを入力するステップと、第１スレーブ部または第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とが入力された場合に、クロック端子に入力されたデータ信号の信号レベルの変化のタイミングで、データ端子に入力されたクロック信号のレベルを検出するステップと、少なくとも１ビットの所定レベル以上の信号を含む基準信号をマスタ部から出力するステップと、基準信号が入力された場合に、第１スレーブ部と第２スレーブ部とのうち制御対象ではないスレーブ部においてストップコンディション状態が発生するステップと、を備え、マスタ部からデータ信号およびクロック信号を出力するステップは、第１スレーブ部と第２スレーブ部とのうち、制御対象となるスレーブ部のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号をマスタ部から直接出力するステップとを含む。
【００１７】
この発明の第２の局面によるデータ通信方法では、上記のように、第１スレーブ部または第１スレーブ部と同一のスレーブアドレスを有する第２スレーブ部の一方のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を入力するとともに、第１スレーブ部または第２スレーブ部の他方のデータ端子およびクロック端子に、それぞれ、クロック信号とデータ信号とを入力するステップを備える。これにより、上記第１の局面によるデータ通信装置と同様に、マスタ部の有する端子を効率的に使用しながら、同一のスレーブアドレスを有する複数のスレーブ部の制御を行うことができる。
【００１８】
上記第２の局面によるデータ通信方法では、マスタ部の第１の端子からデータ信号またはクロック信号の一方を出力するととともに、マスタ部の第２の端子からデータ信号またはクロック信号の他方を出力するステップをさらに備え、マスタ部からデータ信号およびクロック信号を出力するステップは、第１スレーブ部と第２スレーブ部とのうち、制御対象となるスレーブ部のデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号をマスタ部から直接出力するステップを含む。このように構成すれば、第１スレーブ部と第２スレーブ部とのうち、制御対象となるスレーブ部を確実に制御することができる。
【００１９】
上記第２の局面によるデータ通信方法では、少なくとも１ビットの所定レベル以上の信号を含む基準信号をマスタ部から出力するステップと、基準信号が入力された場合に、第１スレーブ部と第２スレーブ部とのうち制御対象ではないスレーブ部においてストップコンディション状態が発生するステップと、をさらに備える。このように構成すれば、少なくとも１ビットの所定レベル以上の信号を含む基準信号により、二線式のシリアルバスインタフェースプロトコルにおけるストップコンディションの信号状態を発生させることができる。したがって、制御を望まないスレーブ部において意図せず有効な信号が発生したとしても、発生した有効な信号を無効化することができる。その結果、容易に、制御を望まないスレーブ部における誤動作を抑制することができる。
【発明の効果】
【００２０】
本発明によれば、上記のように、マスタ部の有する端子を効率的に使用しながら、同一のスレーブアドレスを有する複数のスレーブ部の制御を行うことが可能なデータ通信装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】参考例によるデータ通信装置の構成を示す図である。
【図２】参考例によるデータ通信装置のＩＣ１を制御する場合のＩＣ１の観点から見た入力信号を示す図である。
【図３】参考例によるデータ通信装置のＩＣ１を制御する場合のＩＣ２の観点から見た入力信号を示す図である。
【図４】本発明の第１および第２実施形態によるデータ通信装置の構成を示す図である。
【図５】本発明の第１実施形態によるデータ通信装置のＩＣ４を制御する場合のＩＣ４の観点から見た入力信号を示す図である。
【図６】本発明の第１実施形態によるデータ通信装置のＩＣ３を制御する場合のＩＣ３の観点から見た入力信号を示す図である。
【図７】本発明の第１実施形態によるデータ通信装置のＩＣ４を制御する場合のＩＣ８の観点から見た入力信号を示す図である。
【図８】本発明の第１実施形態によるデータ通信装置のＩＣ３を制御する場合のＩＣ６〜８の観点から見た入力信号を示す図である。
【図９】本発明の第１実施形態によるデータ通信装置の仮想ＩＤがある場合のＩＣ３の観点から見た入力信号を示す図である。
【図１０】本発明の第１実施形態によるデータ通信装置の仮想ＩＤがある場合のＩＣ８の観点から見た入力信号を示す図である。
【図１１】本発明の第２実施形態によるデータ通信装置のダミービットがある場合のＩＣ８の観点から見た入力信号を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明を具体化した実施形態を図面に基づいて説明する。
【００２３】
（参考例）
まず、図１を参照して、参考例によるデータ通信装置１００の構成について説明する。
【００２４】
参考例によるデータ通信装置１００は、図１に示すように、ＣＰＵ１０と、ＩＣ１と、ＩＣ２とを備えている。このデータ通信装置１００では、ＣＰＵ１０と、ＩＣ１およびＩＣ２とは、互いに接続されており、二線式のシリアルバスインタフェースプロトコルに基づいて通信（以下、二線式通信という）を行うように構成されている。なお、ＣＰＵ１０は、本発明の「マスタ部」の一例である。また、ＩＣ１およびＩＣ２は、それぞれ、本発明の「第１スレーブ部」および「第２スレーブ部」の一例である。
【００２５】
また、データ通信装置１００は、放送波を受信する受信装置１０１に設けられている。ＣＰＵ１０は、この受信装置１０１の制御を司る制御部であり、ＩＣ１およびＩＣ２は、チューナ機能を有するＩＣである。
【００２６】
ＣＰＵ１０には、ＩＣ１およびＩＣ２と通信するための端子Ｔ１およびＴ２が設けられている。ＣＰＵ１０は、端子Ｔ１からデータ信号またはクロック信号の一方が出力されるように構成されている。また、ＣＰＵ１０は、端子Ｔ２からデータ信号またはクロック信号のうち端子Ｔ１から出力されていないいずれか他方を出力するように構成されている。なお、端子Ｔ１およびＴ２は、それぞれ、本発明の「第１の端子」および「第２の端子」の一例である。
【００２７】
ＩＣ１には、データ端子ｄａｔ１およびクロック端子ｃｌｋ１が設けられている。ＩＣ２には、データ端子ｄａｔ２およびクロック端子ｃｌｋ２が設けられている。データ端子ｄａｔ１およびｄａｔ２は、データ信号が入力されるための端子であり、クロック端子ｃｌｋ１およびｃｌｋ２は、クロック信号が入力されるための端子である。
【００２８】
ＩＣ１およびＩＣ２は、同一のスレーブアドレス（ＩＤ）を有している。具体的には、ＩＣ１およびＩＣ２は、共に、スレーブアドレスとして、０ｘＣ０を有している。なお、０ｘＣ０の０ｘは、続く英数字が１６進数表記のものであることを示す。すなわち、０ｘＣ０＝１１００００００の８ビットのバイト形式により表される。
【００２９】
ところで、８ビットのバイト形式により表されるスレーブアドレスの８ビット目は、二線式通信において、ＷＲＩＴＥ／ＲＥＡＤ（書込／読出）のモードを指定するためのビットとして規定されている。具体的には、スレーブアドレスの８ビット目がハイレベル（＝１）の場合には、ＲＥＡＤモードと規定され、ローレベル（＝０）の場合には、ＷＲＩＴＥモードと規定されている。したがって、ＩＣ１およびＩＣ２の場合には、スレーブアドレスとして０ｘＣ１（＝１１０００００１）が指定された場合には、ＲＥＡＤモードとなり、スレーブアドレスとして０ｘＣ０（＝１１００００００）が指定された場合には、ＷＲＩＴＥモードとなる。このように、ＩＣ１およびＩＣ２は、書込用と読出用との２つのＩＣアドレスを有しているが、図１では、理解の容易のため、書込用のＩＣアドレスのみを示している。また、ＩＣ１およびＩＣ２としては、書込用と読出用とのうちいずれかのスレーブアドレスのみを有するＩＣを用いることも可能である。
【００３０】
ここで、参考例では、ＣＰＵ１０の端子Ｔ１は、配線Ｂ１により、ＩＣ１のデータ端子ｄａｔ１と、ＩＣ２のクロック端子ｃｌｋ２とに接続されている。また、ＣＰＵ１０の端子Ｔ２は、配線Ｂ２により、ＩＣ１のクロック端子ｃｌｋ１と、ＩＣ２のデータ端子ｄａｔ２とに接続されている。
【００３１】
また、参考例では、ＣＰＵ１０は、ＩＣ１を制御する場合には、端子Ｔ１からデータ信号を出力するとともに、端子Ｔ２からクロック信号を出力するように構成されている。また、ＣＰＵ１０は、ＩＣ２を制御する場合には、端子Ｔ１からクロック信号を出力するとともに、端子Ｔ２からデータ信号を出力するように構成されている。
【００３２】
したがって、このデータ通信装置１００では、ＣＰＵ１０によりＩＣ１が制御される場合には、ＩＣ１のデータ端子ｄａｔ１およびクロック端子ｃｌｋ１に、それぞれ、データ信号およびクロック信号が入力される一方、ＩＣ２のデータ端子ｄａｔ２およびクロック端子ｃｌｋ２には、それぞれ、クロック信号およびデータ信号が入力される。また、ＣＰＵ１０によりＩＣ２が制御される場合には、ＩＣ２のデータ端子ｄａｔ２およびクロック端子ｃｌｋ２に、それぞれ、データ信号およびクロック信号が入力される一方、ＩＣ１のデータ端子ｄａｔ１およびクロック端子ｃｌｋ１には、それぞれ、クロック信号およびデータ信号が入力される。つまり、ＣＰＵ１０は、ＩＣ１とＩＣ２とのうち、制御対象となるＩＣのデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を出力し、制御対象ではないＩＣのデータ端子およびクロック端子に、それぞれ、クロック信号およびデータ信号を出力するように構成されている。
【００３３】
なお、ＣＰＵ１０の端子Ｔ１およびＴ２からデータ信号およびクロック信号のうちいずれの信号を出力するかは、ＣＰＵ１０を動作させるプログラムにより制御することができる。
【００３４】
次に、図２および図３を参照して、ＣＰＵ１０によるＩＣ１およびＩＣ２の制御について説明する。ここでは、ＣＰＵ１０によりＩＣ１が制御される場合を例に説明を行う。
【００３５】
ＩＣ１を制御する場合には、ＣＰＵ１０からデータ信号およびクロック信号が、それぞれ、ＩＣ１のデータ端子ｄａｔ１およびクロック端子ｃｌｋ１に出力される。図２では、ＩＣ１のデータ端子ｄａｔ１およびクロック端子ｃｌｋ１に入力された信号を示している。クロック端子ｃｌｋ１には、図２に示すように、所定の周波数を有するパルス信号（クロック信号）が入力されている。
【００３６】
まず、ＣＰＵ１０は、時点ｔ０において、ＩＣ１の制御を開始するために、スタートコンディション（＊Ｓ）の信号状態を発生させる。具体的には、ＣＰＵ１０は、二線式通信のプロトコルに基づいて、クロック信号がハイレベル（＝１）の状態で、データ信号をハイレベルからローレベル（＝０）に降下させることにより、スタートコンディションの信号状態を発生させる。
【００３７】
そして、ＣＰＵ１０は、時点ｔ１から時点ｔ２までの間の時間において、ＩＣ１のスレーブアドレス（０ｘＣ０）に対応する８ビットの信号を、データ信号として端子Ｔ１からデータ端子ｄａｔ１に出力する。そして、ＩＣ１は、自身のスレーブアドレスに対応する信号が正常に入力された場合には、制御可能な状態になるとともに、時点ｔ２から時点ｔ３までの間の時間において、Ａｃｋ信号（図２のＡにより表す）をＣＰＵ１０に出力する。
【００３８】
そして、ＣＰＵ１０は、ＩＣ１から出力されたＡｃｋ信号を検知すると、時点ｔ１から時点ｔ２までの間の時間において出力したスレーブアドレスに対応する信号に対する応答が正常に得られたものと認識し、次の動作に移行する。
【００３９】
そして、ＣＰＵ１０は、時点ｔ３から時点ｔ４までの間の時間において、ＩＣ１のレジスタアドレスを指定するための信号を、データ信号として端子Ｔ１からデータ端子ｄａｔ１に出力する。レジスタアドレスは、ＩＣ１内におけるデータの書込（または読出）が行われるアドレスである。図２では、レジスタアドレスとして、０ｘ００（＝００００００００）が指定された場合について示しているが、実際には、任意のレジスタアドレスが指定されればよい。
【００４０】
上記のように、８ビットにより表されるスレーブアドレスの８ビット目は、二線式通信において、ＷＲＩＴＥ／ＲＥＡＤ（書込／読出）のモードを指定するためのビットとして規定されている。したがって、図２では、ＩＣ１のＷＲＩＴＥ（書込）モードが指定された場合について示している。
【００４１】
図２に戻り、ＩＣ１は、書込が行われるレジスタアドレスを指定するための信号が正常に入力された場合には、時点ｔ４から時点ｔ５までの間の時間において、再びＡｃｋ信号をＣＰＵ１０に出力する。
【００４２】
そして、ＣＰＵ１０は、ＩＣ１から出力されたＡｃｋ信号を検知すると、時点ｔ３から時点ｔ４までの間の時間において出力したレジスタアドレスを指定するための信号に対する応答が正常に得られたものと認識し、次の動作に移行する。
【００４３】
そして、ＣＰＵ１０は、時点ｔ５から時点ｔ６までの間の時間において、指定したレジスタアドレスに書き込む書込データに対応する信号を、データ信号として端子Ｔ１からデータ端子ｄａｔ１に出力する。書込データも、スレーブアドレスやレジスタアドレスと同様に、８ビットのバイト形式により表される。図２では、書込データとして、０ｘ００（＝００００００００）が指定された場合について示しているが、実際には、任意の書込データが書込されればよい。
【００４４】
そして、ＩＣ１は、指定したレジスタアドレスに書き込む書込データに対応する信号が正常に入力された場合には、時点ｔ６から時点ｔ７までの間の時間において、再びＡｃｋ信号をＣＰＵ１０に出力する。
【００４５】
そして、ＣＰＵ１０は、ＩＣ１から出力されたＡｃｋ信号を検知すると、ＩＣ１に対する書込みが正常に行われたものと認識し、時点ｔ７において、ＩＣ１の制御を終了するために、ストップコンディション（＊Ｐ）の信号状態を発生させる。具体的には、ＣＰＵ１０は、二線式通信のプロトコルに基づいて、クロック信号がハイレベルの状態で、データ信号をローレベルからハイレベルに上昇させることにより、ストップコンディションの信号状態を発生させる。以上のように、ＣＰＵ１０によりＩＣ１が正常に制御される。なお、時点ｔ８において発生するスタートコンディションの信号状態は、次の制御のためのスタートコンディションの信号状態である。
【００４６】
一方、図３では、ＩＣ２のデータ端子ｄａｔ２およびクロック端子ｃｌｋ２に入力された信号を示している。ＩＣ１を制御する場合には、ＩＣ２では、ＣＰＵ１０からデータ信号およびクロック信号が、それぞれ、クロック端子ｃｌｋ２およびデータ端子ｄａｔ２に出力されている。
【００４７】
図３に示すように、ＩＣ２では、所定の周波数を有するパルス信号（クロック信号）がデータ端子ｄａｔ２に入力されている。一方、ＩＣ２では、時点ｔ１から時点ｔ２までの間の時間において、ＩＣ１のスレーブアドレス（０ｘＣ０）に対応する信号がクロック端子ｃｌｋ２に入力されている。また、時点ｔ３から時点ｔ４までの間の時間において、ＩＣ１のレジスタアドレスを指定するための信号がクロック端子ｃｌｋ２に入力されている。また、時点ｔ５から時点ｔ６の間の時間において、指定したレジスタアドレスに書き込む書込データに対応する信号がクロック端子ｃｌｋ２に入力されている。
【００４８】
この場合、ＩＣ２では、時点ｔ１から時点ｔ２までの間の時間において、ＩＣ１のスレーブアドレス（０ｘＣ０＝１１００００００）に対応する８ビットの信号のうち２ビットのハイレベルの信号（最初の１１に対応する信号）に対応して、スタートコンディションの信号状態およびストップコンディションの信号状態がそれぞれ２回ずつ発生する。言い換えると、ＩＣ２は、クロック端子ｃｌｔ２に入力されたデータ信号の信号レベルの変化のタイミングで、それぞれ、ストップコンディションの信号状態またはスタートコンディションの信号状態として、データ端子ｄａｔ２に入力されたクロック信号のレベルを検出する。一方、２回目のスタートコンディションの信号状態が発生した後、ＩＣ２のスレーブアドレス（０ｘＣ０）に対応する信号が入力されないので、ＩＣ２は、制御可能な状態にならない。
【００４９】
なお、ＣＰＵ１０によりＩＣ１が制御される場合を例にして説明したが、ＣＰＵ１０によりＩＣ２が制御される場合には、ＩＣ２のデータ端子ｄａｔ２にデータ信号が入力されるとともに、クロック端子ｃｌｋ２にクロック信号が入力され、ＩＣ１のデータ端子ｄａｔ１にクロック信号が入力されるとともに、クロック端子ｃｌｋ１にデータ信号が入力される。したがって、この場合には、ＩＣ２が制御可能な状態になるとともに、ＩＣ１が制御可能な状態にならない。
【００５０】
参考例では、以下のような効果を得ることができる。
【００５１】
参考例では、上記のように、ＩＣ１またはＩＣ２の一方のデータ端子ｄａｔ１（ｄａｔ２）およびクロック端子ｃｌｋ１（ｃｌｋ２）に、それぞれ、データ信号およびクロック信号を入力する。これにより、端子Ｔ１または端子Ｔ２から出力されたデータ信号とクロック信号とを、データ端子ｄａｔ１（ｄａｔ２）およびクロック端子ｃｌｋ１（ｃｌｋ２）とに正常に入力することができるので、ＩＣ１またはＩＣ２の一方を正常に制御可能な状態にすることができる。そして、ＩＣ１またはＩＣ２の他方のデータ端子ｄａｔ１（ｄａｔ２）およびクロック端子ｃｌｋ１（ｃｌｋ２）に、それぞれ、クロック信号とデータ信号とを入力する。これにより、ＩＣ１またはＩＣ２の他方では、データ信号とクロック信号とがデータ端子ｄａｔ１（ｄａｔ２）およびクロック端子ｃｌｋ１（ｃｌｋ２）とに正常に入力されないので、ＩＣ１またはＩＣ２の他方を制御不可能な状態にすることができる。そして、データ信号またはクロック信号の一方を出力する端子Ｔ１と、データ信号またはクロック信号の他方を出力する端子Ｔ２とを有するＣＰＵ１０を備える場合に、端子Ｔ１または端子Ｔ２から出力されたデータ信号とクロック信号とのＩＣ１およびＩＣ２への入力状態を入れ替えるだけで、ＩＣ１またはＩＣ２の他方を制御可能な状態にし、ＩＣ１またはＩＣ２の一方を制御不可能な状態にすることができる。これらの結果、同一のスレーブアドレスを有するＩＣ１とＩＣ２とを、ＣＰＵ１０の端子Ｔ１と端子Ｔ２との一対の端子だけで分離して制御することができるので、ＣＰＵ１０の有する端子を効率的に使用しながら、同一のスレーブアドレスを有する複数のＩＣの制御を行うことができる。
【００５２】
また、参考例では、上記のように、ＩＣ１とＩＣ２とのうち、制御対象となるＩＣのデータ端子およびクロック端子に、それぞれ、データ信号およびクロック信号を出力するようにＣＰＵ１０を構成する。これにより、ＩＣ１とＩＣ２とのうち、制御対象となるＩＣを確実に制御することができる。
【００５３】
また、参考例では、上記のように、ＣＰＵ１０の端子Ｔ１を、ＩＣ１のデータ端子ｄａｔ１と、ＩＣ２のクロック端子ｃｌｋ２とに接続し、ＣＰＵ１０の端子Ｔ２を、ＩＣ１のクロック端子ｃｌｋ１と、ＩＣ２のデータ端子ｄａｔ２とに接続する。これにより、ＣＰＵ１０の端子Ｔ１または端子Ｔ２から出力されたデータ信号とクロック信号とを、容易に、ＩＣ１またはＩＣ２の一方のデータ端子ｄａｔ１（ｄａｔ２）およびクロック端子ｃｌｋ１（ｃｌｋ２）とに、正常に入力することができる。また、データ信号とクロック信号とを、容易に、ＩＣ１またはＩＣ２の他方のデータ端子ｄａｔ１（ｄａｔ２）およびクロック端子ｃｌｋ１（ｃｌｋ２）とに正常に入力されないようにすることができる。
【００５４】
（第１実施形態）
次に、図４〜図１０を参照して、第１実施形態について説明する。この第２実施形態では、同一のスレーブアドレスを有するＩＣ対を複数制御する場合に発生する可能性のある誤動作と、この誤動作を抑制する例について説明する。なお、上記第１実施形態と同一の構成については、その説明を省略する。
【００５５】
本発明の第１実施形態によるデータ通信装置２００は、図４に示すように、ＣＰＵ１１０と、ＩＣ３〜ＩＣ８とを備えている。データ通信装置２００では、ＩＣ３およびＩＣ６は、同一のスレーブアドレス（０ｘ００）を有している。また、ＩＣ４およびＩＣ７は、同一のスレーブアドレス（０ｘ０８）を有している。また、ＩＣ５およびＩＣ８は、同一のスレーブアドレス（０ｘＦＦ）を有している。なお、ＣＰＵ１１０は、本発明の「マスタ部」の一例である。また、ＩＣ３、ＩＣ４およびＩＣ５は、本発明の「第１スレーブ部」の一例である。また、ＩＣ６、ＩＣ７およびＩＣ８は、本発明の「第２スレーブ部」の一例である。
【００５６】
なお、この第１実施形態においても、上記参考例と同様に、ＩＣ３〜ＩＣ８は、書込用と読出用との２つのＩＣアドレスを有しているが、図４では、理解の容易のため、書込用と読出用とのうち一方のＩＣアドレスのみを示している。
【００５７】
また、データ通信装置２００は、放送波を受信する受信装置２０１に設けられている。ＣＰＵ１１０は、この受信装置２０１の制御を司る制御部であり、ＩＣ３〜ＩＣ８は、チューナ機能を有するＩＣである。
【００５８】
ＣＰＵ１１０には、端子Ｔ１１およびＴ１２が設けられている。端子Ｔ１１は、配線Ｂ１１により、ＩＣ３〜ＩＣ５のデータ端子ｄａｔ３〜ｄａｔ５およびＩＣ６〜ＩＣ８のクロック端子ｃｌｋ６〜ｃｌｋ８に接続されている。端子Ｔ１２は、配線Ｂ１２により、ＩＣ３〜ＩＣ５のクロック端子ｃｌｋ３〜ｃｌｋ５およびＩＣ６〜ＩＣ８のデータ端子ｄａｔ６〜ｄａｔ８に接続されている。
【００５９】
第１実施形態では、ＣＰＵ１１０は、ＩＣ３〜ＩＣ５のいずれかを制御する場合には、端子Ｔ１１からデータ信号を出力するとともに、端子Ｔ１２からクロック信号を出力するように構成されている。したがって、この場合には、ＩＣ３〜ＩＣ５のデータ端子ｄａｔ３〜ｄａｔ５およびクロック端子ｃｌｋ３〜ｃｌｋ５に、それぞれ、データ信号およびクロック信号が入力される一方、ＩＣ６〜ＩＣ８のデータ端子ｄａｔ６〜ｄａｔ８およびクロック端子ｃｌｋ６〜ｃｌｋ８には、それぞれ、クロック信号およびデータ信号が入力される。
【００６０】
また、ＣＰＵ１１０は、ＩＣ６〜ＩＣ８のいずれかを制御する場合には、端子Ｔ１１からクロック信号を出力するとともに、端子Ｔ１２からデータ信号を出力するように構成されている。したがって、この場合には、ＩＣ６〜ＩＣ８のデータ端子ｄａｔ６〜ｄａｔ８およびクロック端子ｃｌｋ６〜ｃｌｋ８に、それぞれ、データ信号およびクロック信号が入力される一方、ＩＣ３〜ＩＣ５のデータ端子ｄａｔ３〜ｄａｔ５およびクロック端子ｃｌｋ３〜ｃｌｋ５には、それぞれ、クロック信号およびデータ信号が入力される。
【００６１】
このデータ通信装置２００のように、ＣＰＵ１１０により同一のスレーブアドレスを有するＩＣ対（ＩＣ３とＩＣ６の対、ＩＣ４とＩＣ７の対、ＩＣ５とＩＣ８の対の３対）を複数制御する場合には、特殊なケースにおいて、誤動作が発生する可能性がある。以下、この誤動作が発生する可能性のある特殊なケースと、この誤動作の抑制方法について説明する。
【００６２】
具体的には、誤動作が発生する可能性のある特殊なケースは、以下のステップＳ１〜Ｓ３を行う場合である。
【００６３】
まず、ステップＳ１において、所定の手順でＩＣ４の制御が行われる。具体的には、ＣＰＵ１１０により、以下の信号がＩＣ４に出力される。まず、図５に示すように、ＩＣ４のスレーブアドレス（０ｘ０８）に対応する信号が出力される。次に、０ｘ００のレジスタアドレスを指定するための信号が出力される。最後に、０ｘ００の書込データに対応する信号が出力される。
【００６４】
そして、ステップＳ２において、所定の手順でＩＣ３の制御が行われる。具体的には、ＣＰＵ１１０により、以下の信号がＩＣ３に出力される。まず、図６に示すように、ＩＣ３のスレーブアドレス（０ｘ００）に対応する信号が出力される。次に、０ｘ００のレジスタアドレスを指定するための信号が出力される。最後に、０ｘ００の書込データに対応する信号が出力される。
【００６５】
そして、ステップＳ３において、ステップＳ２の制御が繰り返される。この結果、誤動作が発生する可能性がある。
【００６６】
ステップＳ１およびＳ２における入力信号を、ＩＣ８の観点から見ると、図７および図８に示す入力信号になる。まず、図７に示すように、ステップＳ１におけるＩＣ４のスレーブアドレス（０ｘ０８＝００００１０００）に対応する８ビットの信号のうち１ビットのハイレベルの信号（５ビット目の信号）によって、時点ｔ１１において、スタートコンディション（＊Ｓ）の信号状態が発生する。なお、このスタートコンディションの信号状態は、ハイレベルのビットを有するＩＣ（すなわち、０ｘ００以外のスレーブアドレスを有するＩＣ）であれば、０ｘ０８のスレーブアドレスでなくとも発生する。
【００６７】
そして、０ｘ００のレジスタアドレスおよび０ｘ００の書込データに対応する時間には、ＩＣ４のクロック端子ｃｌｋ４に信号が入力されていない状態になるので、有効な信号が発生しない。その後、ステップＳ１におけるＩＣ４の制御を終了させる（および図８に示すＩＣ３の制御を開始させる）ためのパルス信号２１によって、有効なハイレベル（＝１）の信号が、ＩＣ８により認識される。なお、パルス信号２１のパルス幅は、クロック信号のパルス幅よりも小さいので、パルス信号２１によりスタートおよびストップコンディションの信号状態は発生しない。
【００６８】
そして、図８に示すように、ステップＳ２では、ＩＣ３のスレーブアドレス、レジスタアドレスおよび書込みデータに対応する８ビットの信号がいずれも０ｘ００（＝００００００００）であるので、ハイレベルの信号が存在しない。したがって、ＩＣ８では、ストップコンディションの信号状態が発生しない。また、ステップＳ２におけるＩＣ３の制御を終了させる（および次のＩＣ３の制御を開始させる）ためのパルス信号２２によって、有効なハイレベル（＝１）の信号が、ＩＣ８により認識される。この際、ステップＳ１におけるパルス信号２１からステップＳ２におけるパルス信号２２までの間の時間において、ストップコンディションの信号状態が発生しないので、パルス信号２１とパルス信号２２とは連続する信号としてＩＣ８に認識される。
【００６９】
その後、ステップＳ３において、ステップＳ２の処理が繰り返されることにより、ＩＣ８では、ストップコンディションの信号状態が発生しない状態で、ＩＣ３の制御を終了させるためのパルス信号２２が繰り返されることによって、有効なハイレベル（＝１）の信号が、ＩＣ８により認識され続ける。そして、有効なハイレベルの信号がＩＣ８により８回認識されると、自身のスレーブアドレス（０ｘＦＦ＝１１１１１１１１）が正常に入力されたとＩＣ８により認識されてしまうため、誤動作が発生する可能性がある。上記のＩＣの組み合わせにおいて、上記のステップＳ１〜Ｓ３の動作が実際に行われるのは、非常に稀なケースであると考えられるものの、データ通信装置２００を安定的に動作させる観点から、上記の誤動作に対して対策することが好ましいと考えられる。
【００７０】
そこで、第１実施形態では、ＣＰＵ１１０は、この誤動作を抑制するために、少なくとも１ビットのハイレベルの信号を含む８ビットのバイト形式の信号（以下、仮想ＩＤという）として出力するように構成されている。また、ＩＣ３〜５とＩＣ６〜８とのうち制御対象ではないＩＣ、すなわち、データ信号とクロック信号とが反転して入力されたＩＣは、仮想ＩＤが入力された場合には、ストップコンディションの信号状態が発生するように構成されている。また、少なくとも１ビットのハイレベルの信号のハイレベルの期間は、クロック信号のハイレベルの期間よりも長い。なお、仮想ＩＤは、本発明の「基準信号」の一例である。また、この基準信号に含まれるハイレベルの信号は、本発明の「所定レベル以上の信号」の一例である。この場合、ローレベルの信号は、所定レベル未満の信号といえる。
【００７１】
ここで、仮想ＩＤは、ＣＰＵ１１０と接続されているＩＣ３〜ＩＣ８のスレーブアドレスに対応するバイト形式の信号以外のバイト形式の信号である。すなわち、このデータ通信装置２００では、仮想ＩＤは、０ｘ０１〜０ｘ０７および０ｘ０９〜０ｘＦＥから選択されるバイト形式の信号である。なお、ＩＣ３およびＩＣ６のような０ｘ００のスレーブアドレスを有するＩＣがない場合であっても、ハイレベルの信号を含まない０ｘ００は仮想ＩＤとして用いない。
【００７２】
また、上記したように、８ビットにより表されるスレーブアドレスの８ビット目は、二線式通信において、ＷＲＩＴＥ／ＲＥＡＤ（書込／読出）のモードを指定するためのビットとして規定されているので、これに対応する信号についても仮想ＩＤとして用いないことが好ましい。詳細には、ＩＣが書込用と読出用との２つのスレーブアドレスを有する場合、たとえば、０ｘ０８（＝００００１０００）と０ｘ０９（＝００００１００１）とを有する場合には、この２つについても仮想ＩＤとして用いないことが好ましい。また、ＩＣが書込用と読出用とのうちいずれか１つのスレーブアドレスのみを有する場合、たとえば、０ｘ０８（＝００００１０００）のみ、または、０ｘ０９（＝００００１００１）のみを有する場合には、０ｘ０８と０ｘ０９とのうちスレーブアドレスである一方を仮想ＩＤとして用いないことが好ましく、スレーブアドレスではない他方は仮想ＩＤとして用いることが可能である。
【００７３】
また、ＣＰＵ１１０は、ＩＣ３〜ＩＣ８を制御していない状態で、定期的に、データ信号として仮想ＩＤを出力するように構成されている。ここで、定期的とは、一定バイト毎、または、一定時間毎という意味である。なお、少なくとも誤動作が発生するよりも前に仮想ＩＤを出力する必要がある。たとえば、スレーブアドレスに対応する信号を８回出力するうちに、少なくとも１回、仮想ＩＤを出力すればよい。つまり、仮想ＩＤは、スレーブアドレスのビット数に基づく時間間隔で、定期的に出力される信号である。
【００７４】
次に、図９および図１０を参照して、この仮想ＩＤを用いた上記の特殊なケースにおける誤動作の抑制について説明する。ここでは、仮想ＩＤとして、０ｘ０２を用いた場合について説明する。また、ＩＣ３およびＩＣ８の観点から見た入力信号を例として説明する。
【００７５】
図９に示すように、ＣＰＵ１１０は、時点ｔ２１から時点ｔ２２までの間の時間において、仮想ＩＤとしての８ビットの信号（０ｘ０２＝００００００１０）を、データ信号としてＩＣ３のデータ端子ｄａｔ３に出力する。また、ＩＣ３のクロック端子ｃｌｋ３には、ＣＰＵ１１０の端子Ｔ１２から所定の周波数を有するパルス信号（クロック信号）が入力されている。
【００７６】
一方、図１０に示すように、ＩＣ８では、所定の周波数を有するパルス信号（クロック信号）がデータ端子ｄａｔ８に入力されている。また、ＩＣ８では、時点ｔ２１から時点ｔ２２までの間の時間において、仮想ＩＤ（０ｘ０２）としての８ビットの信号がクロック端子ｃｌｋ８に入力されている。
【００７７】
この場合、仮想ＩＤ（０ｘ０２＝００００００１０）に対応する８ビットの信号のうち１ビットのハイレベルの信号（２ビット目の信号）によって、時点ｔ２３において、ストップコンディション（＊Ｐ）の信号状態が発生する。その結果、有効なハイレベルの信号がＩＣ８により認識されたとしても、この有効なハイレベルの信号を無効化することが可能になる。なお、この無効化の後、スタートコンディションの信号状態が発生する。しかしながら、このスタートコンディションの信号状態の後に有効なハイレベルの信号が発生したとしても、次の仮想ＩＤの入力により、有効なハイレベルの信号は無効化される。
【００７８】
なお、第１実施形態のその他の構成は、上記参考例と同様である。
【００７９】
第１実施形態では、以下のような効果を得ることができる。
【００８０】
第１実施形態では、上記のように、ＩＣ３〜ＩＣ５またはＩＣ６〜ＩＣ８の一方のデータ端子ｄａｔ３〜ｄａｔ５（ｄａｔ６〜ｄａｔ８）およびクロック端子ｃｌｋ３〜ｃｌｋ５（ｃｌｋ６〜ｃｌｋ８）に、それぞれ、データ信号およびクロック信号を入力するとともに、ＩＣ３〜ＩＣ５またはＩＣ６〜ＩＣ８の他方のデータ端子ｄａｔ３〜ｄａｔ５（ｄａｔ６〜ｄａｔ８）およびクロック端子ｃｌｋ３〜ｃｌｋ５（ｃｌｋ６〜ｃｌｋ８）に、それぞれ、クロック信号とデータ信号とを入力する。これにより、上記第１実施形態と同様に、同一のスレーブアドレスを有するＩＣ３とＩＣ６の対、ＩＣ４とＩＣ７の対と、ＩＣ５とＩＣ８の対とを、ＣＰＵ１１０の端子Ｔ１１と端子Ｔ１２との一対の端子だけで制御することができるので、ＣＰＵ１１０の有する端子を効率的に使用しながら、同一のスレーブアドレスを有する複数のＩＣの制御を行うことができる。
【００８１】
また、第１実施形態では、上記のように、ＩＣ３〜ＩＣ５とＩＣ６〜ＩＣ８とのうち制御対象ではないＩＣのデータ端子およびクロック端子に、それぞれ、クロック信号およびデータ信号を出力するとともに、少なくとも１ビットのハイレベルの信号を含む仮想ＩＤをデータ信号に含めて出力するようにＣＰＵ１１０を構成する。そして、仮想ＩＤが入力された場合には、ストップコンディションの信号状態が発生するように、ＩＣ３〜ＩＣ５とＩＣ６〜ＩＣ８とのうち制御対象ではないＩＣ、すなわち、データ信号とクロック信号とが反転して入力されたＩＣを構成する。これにより、少なくとも１ビットのハイレベルの信号を含む仮想ＩＤにより、二線式のシリアルバスインタフェースプロトコルにおけるストップコンディションの信号状態を発生させることができる。したがって、制御を望まないＩＣ８において意図せず有効な信号が発生したとしても、発生した有効な信号を無効化することができる。その結果、容易に、制御を望まないＩＣ８において誤動作を抑制することができる。
【００８２】
また、第１実施形態では、上記のように、仮想ＩＤを、ＩＣ３〜ＩＣ５およびＩＣ６〜ＩＣ８のスレーブアドレスに対応するバイト形式の信号以外のバイト形式の信号とする。これにより、仮想ＩＤがバイト形式である場合に、仮想ＩＤと、ＩＣ３〜ＩＣ５およびＩＣ６〜ＩＣ８のスレーブアドレスとが一致してしまうのを抑制することができる。その結果、より確実に、制御を望まないＩＣ８において誤動作を抑制することができる。
【００８３】
また、第１実施形態では、上記のように、データ信号に仮想ＩＤを含む。そして、仮想ＩＤの１ビットのハイレベルの信号のハイレベルの期間を、クロック信号のハイレベルの期間よりも長くする。これにより、少なくとも１ビットのハイレベルの信号を含む仮想ＩＤにより、二線式のシリアルバスインタフェースプロトコルにおけるストップコンディションの信号状態を容易に発生させることができる。
【００８４】
また、第１実施形態では、上記のように、仮想ＩＤを、スレーブアドレスのビット数に基づく時間間隔で、定期的に出力される信号とする。これにより、誤動作が発生する前に、仮想ＩＤ）を確実に出力することができる。
【００８５】
なお、第１実施形態のその他の効果は、上記参考例と同様である。
【００８６】
（第２実施形態）
次に、図４および図１１を参照して、第２実施形態について説明する。この第２実施形態では、誤動作を抑制するための仮想ＩＤを、８ビットのバイト形式の信号として出力した上記第１実施形態とは異なり、１ビットのハイレベルの信号として出力する例について説明する。なお、上記第１実施形態と同一の構成については、同じ符号を付してその説明を省略する。
【００８７】
本発明の第２実施形態によるデータ通信装置３００は、図４に示すように、ＣＰＵ２１０を備えている。ＣＰＵ２１０には、端子Ｔ１１および端子Ｔ１２が設けられており、上記第１実施形態と同様の接続状態で、ＩＣ３〜ＩＣ８と接続されている。なお、ＣＰＵ２１０は、本発明の「マスタ部」の一例である。
【００８８】
また、データ通信装置３００は、放送波を受信する受信装置３０１に設けられている。ＣＰＵ２１０は、この受信装置３０１の制御を司る制御部である。
【００８９】
第２実施形態のＣＰＵ２１０も、上記第１実施形態のＣＰＵ１１０と同様に、ＩＣ３〜ＩＣ８を制御可能に構成されている。したがって、このデータ通信装置３００においても、上記第１実施形態に記載の特殊なケースにおいて誤動作が発生する可能性がある。
【００９０】
そこで、第２実施形態では、ＣＰＵ２１０は、この誤動作を抑制するために、１ビットのハイレベルのビット形式の信号（以下、ダミービットという）を出力するように構成されている。また、ＣＰＵ２１０は、ＩＣ３〜ＩＣ８を制御していない状態で、定期的に、データ信号としてダミービットを出力するように構成されている。なお、ダミービットは、本発明の「基準信号」の一例である。また、このダミービットに含まれるハイレベルの信号は、本発明の「所定レベル以上の信号」の一例である。この場合、ローレベルの信号は、所定レベル未満の信号といえる。
【００９１】
次に、図１１を参照して、このダミービットを用いた特殊なケースにおける誤動作の抑制について説明する。ここでは、ＩＣ８の観点から見た入力信号を例として説明する。
【００９２】
ＣＰＵ２１０の端子Ｔ１１からデータ信号としてダミービットが出力されたとともに、端子Ｔ１２から所定の周波数を有するパルス信号（クロック信号）が出力された場合には、図１１に示すように、ＩＣ８では、データ端子ｄａｔ８にクロック信号が入力され、クロック端子ｃｌｋ８にデータ信号が入力される。
【００９３】
この場合、１ビットのハイレベルの信号としてのダミービットにより、ストップコンディション（＊Ｐ）の信号状態が発生する。その結果、有効なハイレベルの信号がＩＣ８により認識されたとしても、この有効なハイレベルの信号を無効化することが可能になる。
【００９４】
なお、第２実施形態のその他の構成は、上記参考例と同様である。
【００９５】
第２実施形態では、以下のような効果を得ることができる。
【００９６】
第２実施形態では、上記のように、ダミービットを、１ビットのハイレベルの信号とする。これにより、ダミービットがバイト（８ビット）形式である場合（たとえば、上記第２実施形態の仮想ＩＤである場合）に比べて、１ビットのハイレベルの信号（ダミービット）のみが出力されるので、基準信号を出力するのにかかる時間を短くすることができる。
【００９７】
なお、第２実施形態のその他の効果は、上記参考例と同様である。
【００９８】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更（変形例）が含まれる。
【００９９】
たとえば、上記第１および第２実施形態では、放送波を受信する受信装置１０１（２０１、３０１）に設けられたデータ通信装置１００（２００、３００）の例を示したが、本発明はこれに限られない。本発明は、受信装置以外の電子機器に設けられたデータ通信装置にも適用可能である。
【０１００】
また、上記第１および第２実施形態では、本発明の第１スレーブ装および第２スレーブ部の一例として、チューナ機能を有するＩＣ１〜ＩＣ８を用いた例を示したが、本発明はこれに限られない。本発明では、第１スレーブ部および第２スレーブ部として、一般的な二線式通信を利用して制御されるＩＣの全てを適用対象とすることができる。たとえば、このようなＩＣとして、ＥＥＰＲＯＭを用いてもよい。
【０１０１】
また、上記第１および第２実施形態では、本発明のマスタ部の一例として、ＣＰＵ１０（１１０、２１０）を用いた例を示したが、本発明はこれに限られない。本発明では、マスタ部として、ＣＰＵ以外の制御回路が用いられてもよい。
【０１０２】
また、上記第１および第２実施形態では、同一のスレーブアドレスを有するＩＣ３とＩＣ６の対、ＩＣ４とＩＣ７の対、ＩＣ５とＩＣ８の対の３つの対をＣＰＵ１１０（２１０）により制御した例を示したが、本発明はこれに限られない。本発明では、１つまたは３つ以外の同一のスレーブアドレスを有するＩＣ対をＣＰＵにより制御してもよい。
【０１０３】
また、上記第１および第２実施形態では、データ信号またはクロック信号を出力する端子として、端子Ｔ１（Ｔ１１）と、端子Ｔ２（Ｔ１２）の一対の端子をＣＰＵ１０（１１０、２１０）が有した例を示したが、本発明はこれに限られない。本発明では、データ信号またはクロック信号を出力する端子として、複数対の端子をＣＰＵが有していてもよい。
【０１０４】
また、上記第１実施形態では、誤動作を抑制するための仮想ＩＤとして、０ｘ０２を用いた例を示したが、本発明はこれに限られない。本発明では、仮想ＩＤとして、０ｘ０２以外のバイト形式の信号を用いてもよい。この際、上記したように、仮想ＩＤとしては、ＣＰＵと接続されているＩＣのスレーブアドレスと異なり、かつ、０ｘ００以外のバイト形式の信号を用いる必要がある。
【符号の説明】
【０１０５】
１、３、４、５  ＩＣ（第１スレーブ部）
２、６、７、８  ＩＣ（第２スレーブ部）
１０、１１０、２１０  ＣＰＵ（マスタ部）
１００、２００、３００  データ通信装置
Ｔ１、Ｔ１１  端子（第１の端子）
Ｔ２、Ｔ１２  端子（第２の端子）
ｄａｔ１〜ｄａｔ８  データ端子
ｃｌｋ１〜ｃｌｋ８  クロック端子
【図１】
0006413724.tif 000002
【図２】
0006413724.tif 000003
【図３】
0006413724.tif 000004
【図４】
0006413724.tif 000005
【図５】
0006413724.tif 000006
【図６】
0006413724.tif 000007
【図７】
0006413724.tif 000008
【図８】
0006413724.tif 000009
【図９】
0006413724.tif 000010
【図１０】
0006413724.tif 000011
【図１１】
0006413724.tif 000012