(57)【特許請求の範囲】
【請求項１】
第１のデバイス（１６）と通信するために第１のインターフェース・プロトコルを用い、第２のデバイス（２０）と通信するために第２のインターフェース・プロトコルを用いる、集積回路（１２）と複数のデバイスとの間でデータを通信する方法であって、
前記第１のインターフェース・プロトコルを使用し、前記集積回路、前記第１のデバイスおよび前記第２のデバイスに接続されている共用データバス（２２）介して、前記集積回路と前記第１のデバイスの間で間欠的にデータを送信するステップ（６０）と、
前記第１のインターフェース・プロトコルを使用する通信を非アクティブにするステップ（６４、６６）と、
前記第１のインターフェース・プロトコルを使用する通信を非アクティブにしている間、前記第２のインターフェース・プロトコルを使用する通信を可能にするステップ（７６）と、を含み、
共用クロックバス（２４）を介してクロック信号を提供するステップにして、前記共用クロックバスは前記集積回路、前記第１のデバイス、および前記第２のデバイスに接続され、前記集積回路と前記第１のデバイスの間のデータの送信は前記共用クロックバスの前記クロック信号に従って実行される前記提供するステップと、
前記第１のインターフェース・プロトコルを使用する通信を再びアクティブにすることなく、前記第２のインターフェース・プロトコルを使用し、前記共用データバスを介して、前記集積回路と前記第２のデバイスの間でデータを送信するステップにして、前記データは、前記共用クロックバスの前記クロック信号に従って前記集積回路と前記第２のデバイスの間で送信される、前記第２のインターフェース・プロトコルを使用してデータを送信する、前記ステップ（８０）とを有し、
前記第１のインターフェース・プロトコルを使用する通信を非アクティブにする前記ステップは、 
前記共用データバスに開始条件信号（５２＝）を発生するステップ（５０＝）と、 
前記共用データバスを介して、選択されたアドレス（７０）を送信するステップであって、前記選択されたアドレスは、前記共用データバスに接続されているどのインテリジェント相互接続通信のデバイスによっても使用されない、前記送信するステップと、を含むことを特徴とする前記方法。
【請求項２】
請求項１記載の方法において、前記第１のインターフェース・プロトコルは、インテリジェント相互接続通信を含む前記方法。
【請求項３】
請求項１記載の方法において、前記集積回路と前記第１のデバイスの間で間欠的にデータを送信する前記ステップは、
前記共用データバスに開始条件信号（５２）を発生するステップ（５０）と、
前記共用データバスを介して、前記第１のデバイスのアドレス（５６）を送信するステップと、
前記共用データバスを介して、前記集積回路から前記第１のデバイスにデータを送信するステップ（６０）と、
前記共用データバスに停止条件信号（６６）を発生するステップ（６４）と、を更に含む前記方法。
【請求項４】
請求項１記載の方法において、前記第２のインターフェース・プロトコルは、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルを含む前記方法。
【請求項５】
請求項１記載の方法において、前記第２のインターフェース・プロトコルを使用して通信を可能にする前記ステップは、チップ選択線（２８）を介して、第２のインターフェースをアクティブにする信号（７６）を送ることを含む前記方法。
【請求項６】
請求項１記載の方法において、前記第２のインターフェース・プロトコルは、周辺用シリアル・インターフェース・プロトコルを含む前記方法。
【請求項７】
請求項１記載の方法において、前記集積回路は、移動電話機の中のベースバンド・コントローラ（１２）を含む前記方法。
【請求項８】
請求項７記載の方法において、前記第１のデバイスは、LCDドライバ（１４）を含む前記方法。
【請求項９】
請求項１記載の方法であって、前記集積回路と前記第２のデバイスの間のデータの送信が完了すると、前記第１にインターフェース・プロトコルを使用する通信を再びアクティブにする前記ステップ（６４＝、６６＝）を更に含む前記方法。
【請求項１０】
データを通信するシステム（１０）であって、
共用データバス（２２）に接続されたデータピンとクロックピンを少なくとも備え、第１のインターフェース・プロトコルと第２のインターフェース・プロトコルをサポートすることに適応している集積回路（１２）と、
前記共用データバスに接続され、前記第１のインターフェース・プロトコルを使用して、前記共用バスを介して、前記集積回路と前記第１のデバイス（１６）の間でデータを通信する、前記第１のインターフェース・プロトコルをサポートすることに適応している第１のドライバ（１４）と、
前記共用データバスに接続され、前記第２のインターフェース・プロトコルを使用して、前記共用バスを介して、前記集積回路と前記第２のデバイス（２０）の間でデータを通信する、前記第２のインターフェース・プロトコルをサポートすることに適応している第２のドライバ（１８）と、を含み、
前記クロックピンは共用クロックバス（２４）に接続され、前記集積回路と前記第１のデバイスの間と、前記集積回路と前記第２のデバイスの間との通信は、前記共用クロックバスを介して受信されたクロック信号を使用して実行され、前記集積回路は、前記共用バスを介して非アクティブにする信号を送ることにより第１のドライバを非アクティブにし、前記集積回路と前記第２のデバイスの間の通信を実行する第２のドライバをアクティブにし、さらに、前記第１のドライバを再びアクティブにする信号を発生することなく、前記第２のインターフェース・プロトコルを使用して、第２のデバイスにデータ（８０）を送信することに適応し、
前記第１のインターフェース・プロトコルを使用する通信を非アクティブにすることは、 
前記共用データバスに開始条件信号（５２＝）を発生することと、前記共用データバスを介して、選択されたアドレス（７０）を送信することによって行われ、
前記選択されたアドレスは、前記共用データバスに接続されているどのインテリジェント相互接続通信のデバイスによっても使用されないことを特徴とする前記システム。
【請求項１１】
請求項１０記載のシステムにおいて、前記第１のインターフェース・プロトコルは、インテリジェント相互接続通信を含む前記システム。
【請求項１２】
請求項１１記載のシステムにおいて、前記第２のインターフェース・プロトコルは、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルを含む前記システム。
【請求項１３】
請求項１１記載のシステムにおいて、前記第２のインターフェース・プロトコルは、周辺用シリアル・インターフェース・プロトコルを含む前記システム。
【請求項１４】
請求項１１記載のシステムにおいて、前記第１のデバイスは、LCDドライバ（１４）を含む前記システム。
【請求項１５】
請求項１１記載のシステムにおいて、前記集積回路は、前記第１のデバイスに関連しないアドレスを送ることにより、前記第１のドライバを非アクティブにすることに適応している前記システム。
【請求項１６】
請求項１１記載のシステムにおいて、前記集積回路は、チップ選択線を使用して前記第２のドライバをアクティブにすることに適応している前記システム。
【請求項１７】
請求項１１記載のシステムにおいて、前記集積回路は、前記第２のデバイスに対するデータの送信を完了すると、前記共用データバスを介して、停止条件を送ることにより、前記第１のドライバを再びアクティブにすることに適応している前記システム。
【請求項１８】
請求項１１記載のシステムにおいて、
移動電話機で動作するベースバンド・コントローラは、前記集積回路を含み、
前記第２のインターフェース・プロトコルは、インテリジェント相互接続通信プロトコルとは異なるシリアル・データ・インターフェース・プロトコルを含み、
前記システムはチップ選択線を介してアクティブにする信号を送信し、前記第２のドライバの前記シリアル・データ・インターフェースをアクティブにするためのチップ選択ピンを更に含み、
前記集積回路は、前記アクティブにする信号を制御することに更に適応している前記システム。
【請求項１９】
請求項１８記載のシステムにおいて、前記集積回路は、前記第１のドライバに関連しないアドレスを送信することにより、前記第１のドライバの前記インテリジェント相互通信データ・インターフェースを非アクティブにすることに適応している前記システム。
【請求項２０】
第１のデバイス（１６）と通信するために第１のインターフェース・プロトコルを用い、第２のデバイス（２０）と通信するために第２のインターフェース・プロトコルを用いる、集積回路（１２）と複数のデバイスとの間でデータを通信する方法であって、
前記第１のインターフェース・プロトコルを使用し、前記集積回路、前記第１のデバイスおよび前記第２のデバイスに接続されている共用データバス（２２）を介して、前記集積回路と前記第１のデバイスの間で間欠的にデータを送信するステップ（６０）と、
前記第１のインターフェース・プロトコルを使用する通信を非アクティブにするステップ（６４、６６）と、
前記第１のインターフェース・プロトコルを使用する通信を非アクティブにしている間、前記第２のインターフェース・プロトコルを使用することを可能にするステップ（７６）と、を含み、
前記方法は、更に、
前記第２のインターフェース・プロトコルを使用し、前記第１のインターフェース・プロトコルを使用する通信を再びアクティブにすることなく、前記共用データバスを介して、前記集積回路と前記第２のデバイスの間でデータを送信するステップ（８０）を含み、
前記第１のインターフェース・プロトコルを使用する通信を非アクティブにすることは、 前記共用データバスに開始条件信号（５２＝）を発生するステップ（５０＝）と、
前記共用データバスを介して、選択されたアドレス（７０）を送信するステップであって、前記選択されたアドレスは、前記第１のインターフェース・プロトコルを使用するいかなるデバイスによっても使用されずに、前記共用データバスに接続されている、前記送信するステップと、によって実行されることを特徴とする前記方法。
【請求項２１】
請求項２０記載の方法において、前記第１のインターフェース・プロトコルは、インテリジェント相互接続通信を含む前記方法。
【請求項２２】
請求項２０記載の方法において、前記集積回路と前記第１のデバイスの間で間欠的にデータを送信する前記ステップは、
前記共用データバスに開始条件信号（５２）を発生するステップ（５０）と、 前記共用データバスを介して、前記第１のデバイスにアドレス（５６）を送信するステップと、
前記共用データバスを介して、前記集積回路から前記第１のデバイスにデータを送信するステップ（６０）と、 前記共用データバスに停止条件信号（６６）を発生するステップ（６４）と、を更に含む前記方法。
【請求項２３】
請求項２０記載の方法において、前記第２のインターフェース・プロトコルは、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルを含む前記方法。
【請求項２４】
請求項２０記載の方法において、前記第２のインターフェース・プロトコルを使用して通信を可能にする前記ステップは、チップ選択線（２８）を介して、第２のインターフェースをアクティブにする信号（７６）を送る前記方法。
【請求項２５】
請求項２０記載の方法において、前記第２のインターフェース・プロトコルは、周辺用シリアル・インターフェース・プロトコルを含む前記方法。
【請求項２６】
請求項２０記載の方法であって、前記集積回路と前記第２のデバイスの間のデータの送信が完了すると、前記第１のインターフェース・プロトコルを使用する通信を再びアクティブにする前記ステップ（６４＝、６６＝）を更に含む前記方法。
【請求項２７】
データを通信するシステム（１０）であって、 共用データバス（２２）に接続されたデータピンを少なくとも備え、第１のインターフェース・プロトコルと第２のインターフェース・プロトコルをサポートすることに適応している集積回路（１２）と、
前記第１のインターフェース・プロトコルをサポートすることに適応している第１のドライバにして、前記共用データバスに接続され、前記第１のインターフェース・プロトコルを使用し、前記共用バスを介して、前記集積回路と前記第１のデバイス（１６）の間でデータを通信する前記第１のドライバ（１４）と、
前記第２のインターフェース・プロトコルをサポートすることに適応している第２のドライバにして、前記共用データバスに接続され、前記第２のインターフェース・プロトコルを使用し、前記共用バスを介して、前記集積回路と前記第２のデバイス（２０）の間でデータを通信する前記第２のドライバ（１８）と、を含み、
前記集積回路は、前記共用バスを介して、前記第１のデバイスに関連しないアドレスを送る（７０）ことにより、前記第１のドライバ（１４）を非アクティブにし、前記集積回路と前記第２のデバイス（２０）の間の通信を実行する前記第２のドライバをアクティブにし、さらに、前記第１のドライバを再びアクティブにする信号を発生することなく、前記第２のインターフェース・プロトコルを使用して、前記第２のデバイスにデータ（８０）を送ることに適応している、ことを特徴とする前記システム。
【請求項２８】
請求項２７記載のシステムにおいて、前記第１のインターフェース・プロトコルはインテリジェント相互接続通信を含む前記システム。
【請求項２９】
請求項２８記載のシステムにおいて、前記第２のインターフェース・プロトコルはシリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルを含む前記システム。
【請求項３０】
請求項２８記載のシステムにおいて、前記第２のインターフェース・プロトコルは周辺用シリアル・インターフェース・プロトコルを含む前記システム。
【請求項３１】
請求項２８記載のシステムにおいて、前記第１のインターフェース・プロトコルはLCDドライバ（１４）を含む前記システム。
【請求項３２】
請求項２８記載のシステムにおいて、前記集積回路は、チップ選択線（２８）を使用して前記第２のドライバをアクティブにする前記システム。
【請求項３３】
請求項２８記載のシステムにおいて、前記集積回路は、前記第２のデバイスへのデータの送信が完了すると、前記共用データバスを介して停止条件を送ることにより、前記第１のドライバを再びアクティブにすることに適応している前記システム。
【発明の詳細な説明】
【０００１】
（発明の背景）
（発明の技術分野）
本発明は、一般に集積回路の環境でデータを通信するインターフェースに関し、より詳細には、複数のインターフェースを使用した共用バスを介してデータを通信するための方法とシステムに関する。
【０００２】
（関連技術の説明）
集積回路と多数のアプリケーションにおける他のデバイスとの間の通信は、フィリップス・セミコンダクタ社によって開発されたシリアル・インターフェースであるインテリジェント相互接続通信（Intelligent Interconnection Communication：I2C）またはインターICを使用する。電気通信産業では、例えば、移動電話機はI2Cインターフェース・プロトコルを頻繁に使用して、ベースバンド・コントローラの間で通信するが、このベースバンド・コントローラは、特定用途向け集積回路（ASIC）とLCDモジュールであることが普通である。移動電話機内の他のデバイスも、I2Cインターフェース・プロトコルを使用して、ベースバンド・コントローラとの間で（コマンドを含む）データを受信したり送信したりする。
【０００３】
しかし、I2Cインターフェースは、ある特許に保護されているので、LCDドライバや他のデバイスの開発者がI2Cインターフェース・プロトコルをサポートするドライバを正規に製造できるためには、ライセンスを取得しなければならない。結果として、I2Cをサポートするドライバで容易に入手可能なものは限定されていることが多い。I2Cインターフェース・プロトコルを使用する移動体電気通信産業や他の産業における開発サイクルは絶えず短くなっているから、I2Cをサポートするドライバを独自に開発する時間が必ずあるとは限らない。
【０００４】
一方、在来の入手可能なドライバの多くは、４線、つまり、データ線、クロック線、コマンドデータかディスプレーデータかを指定する線、およびチップ選択線を使用するシリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルをサポートする。I2Cをサポートするドライバを独自に開発しなければならない。１つの代替方法は、I2Cインターフェース・プロトコルとシリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルの両方をサポートするベースバンド・コントローラか他のASICを作ることである。可用性、コストおよび機能の検討結果に依存して、I2Cインターフェース・プロトコルをサポートするドライバか、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルをサポートするドライバを使用する各種のデバイスを追加してもよい。しかし、２つのインターフェースをサポートするためには、ベースバンド・コントローラ（シリアル・ポイント・ツウ・ポイント・インターフェースの４線のそれぞれに対する）４つのI/Oピンを追加する必要がある。この条件は問題である。何故ならば、I/Oピンのためコストが増加し、スペースの追加が必要になるからである。その上、共用バス線を使用して複数のインターフェース・プロトコルをサポートするシステムが提案されているが、このようなシステムは複雑で、融通性がなく、実現することが難しい。
【０００５】
したがって、共用バス線を介して複数の使用可能なインターフェース・プロトコルの１つを使用し、集積回路と１つまたはそれ以上の他のデバイスとの間の通信を可能にする、簡単で、融通性のある方法とシステムに対するニーズが存在する。このシステムは最少数のI/Oピンを含むはずである。このような方法とシステムは、例えば、入手可能な場合は、I2Cをサポートするドライバの使用を可能にし、I2Cドライバが入手不能か各種の機能を欲しい場合は、シリアル・ポイント・ツウ・ポイント・ドライバの使用を可能にする。その上このような方法とシステムは、集積回路が通信できるデバイスがどのプロトコルをサポートするかに依存して、集積回路が各種インターフェース・プロトコルを選択的に使用できるようにする。
【０００６】
（発明の要約）
本発明は、集積回路と複数の周辺デバイスの間でデータを通信する方法とシステムを含む。この集積回路は、I2Cインターフェース・プロトコルを使用して周辺デバイスの最初の１つと通信し、何らかの他のインターフェース・プロトコルを使用して第２の周辺デバイスと通信する。しかし、この両インターフェース・プロトコルは、同じデータバスとクロックバスを共用して、集積回路に必要なピンの数を減少させる。
【０００７】
集積回路と第１の周辺デバイスの間の通信は、標準的なI2Cインターフェース・プロトコルに従って実施される。したがって、第１の周辺デバイスと通信するためには、集積回路は、共用データバスを介して、第１の周辺デバイスを識別するアドレスを送信し、その後にユニークなI2C開始条件（start condition）を送る。集積回路が共用データバスを使用して、第１のデバイスに対して意図されたデータを送信すると、第１のデバイスがそのデータを受信する。次に第１のデバイスは、各バイトを受信すると、肯定応答ビット（acknowledge bit）により応答する。データの送信が終了すると、ユニークな停止条件（stop condition）が送信される。I2Cインターフェース・プロトコルを使用してこのような通信をしている間、集積回路は、チップ選択バスの高電圧を維持する。チップ選択バスのこの高電圧は、I2C通信が進行中であることを第２の周辺デバイスに知らせるとともに、このような通信を第２のデバイスが妨害することを防止する機能をはたす。
【０００８】
一方、I2Cインターフェースを介して通信が進行中でない場合は、第２の周辺デバイスとの通信を開始することができる。共用データバスを介して停止条件が送られると、集積回路は他のI2C開始条件を発生する。しかし、今回の開始条件の後には、第１の周辺デバイスによって（または接続されている他のI2Cデバイスによって）使用されないアドレスが続いているので、第１のデバイス（および接続されている何らかの他のI2Cデバイス）を非アクティブ（inactive）状態にする。次に、チップ選択バスの高電圧を除くことによって、第２のデバイスがアクティブになり、開始または停止条件を誤って送信し接続されているI2Cデバイスを再びアクティブにしないかぎり、接続されているI2Cデバイスのどれかが、共用データバスを介して集積回路と第２のデバイスの間のデータ通信を実行することができる。このようなデータ通信が完了すると、集積回路は共用データバスに停止条件を発生するので、接続されているI2Cデバイスは開始条件の有無を注意深く調べる（listen for）ことを再開することができる。したがって、２つまたはそれ以上のインターフェース間の衝突を同時に回避するとともに、データバスやクロックバスを追加することを必要とせずに、他のインターフェース・プロトコルを使用する通信とI2C通信を選択的に交互使用（interlace）することができる。
【０００９】
本発明をより完全に理解するためには、添付の図面と関連して以下の詳細な説明を参照されたい。
【００１０】
（発明の詳細な説明）
次に各図面を参照すると、各種図面を通して類似の参照記号は類似または同様な部分を示している。次に図１を参照すると、移動電話機内部回路１０の代表的なブロック図が示されている。普通、移動電話機はベースバンド・コントローラ１２（つまり、移動電話機の動作を制御するプロセッサ１３を含む特定用途向け集積回路：（ASIC））と、LCDディスプレー・モジュール１６にコマンドデータとディスプレーデータを通信するLCDドライバ１４（この場合はI2Cドライバ）を含む。移動電話機は、電気的に消去可能な読みとり専用メモリ（E2PROM）のように追加できる周辺デバイス２０に、コマンドデータと他のデータを通信する他のドライバ１８も含む。
【００１１】
I2Cインターフェースを介した通信は、２つの双方向バス線、データバス２２とクロックバス２４を使用して実行される。I2Cインターフェースは、プルアップ抵抗器の考え方を使用しており、バス２２またはバス２４が非アクティブまたは空きの場合は、バス２２、２４の電圧レベルが高い。同じ高電圧レベルは、データバス２２がデータを送信中の場合に論理「１」を指定するために使用される。論理「０」を指定するためには、送信中のデバイス１２または１４がデータバス２２を大地に接続し、データバス２２全体の電圧をゼロにする。結果として、どのI2Cデバイスも（データバス２２を大地に接続することにより）データバス２２の電圧をゼロにすることができる。２つのデバイス１２、１４が同時にデータを送信しようとする場合に発生する分断（disruptions）を防止するために、衝突解決処理（conflict resolution process）が使用される。アドレスまたはデータの送信中、データバス２２の電圧レベルを監視することにより、論理「１」を送信しようとする場合、各送信デバイス１２または１４は、他のデバイス１２または１４がデータバス２２の電圧をゼロにしているか否かを検出することができる。この衝突は、他のデバイスが論理「１」を送信中の場合、論理「０」を最初に送信することになっているデバイス１２または１４に優先順位を与えることによって解決される。別の言い方をすると、他の送信中デバイス１２または１４からの送信が存在することを最初に検出することになっているデバイス１２または１４は、上記他のデバイス１２または１４にデータバス２２の制御を渡すのである。
【００１２】
I2Cインターフェースでの通信は、ユニークな「開始条件」によって起動し、データバス２２の信号はハイからロウへ遷移し、クロック線はハイの状態にある（図２を参照）。送信ユニット１２または１４は、開始条件に続いて受信ユニット１２または１４のアドレスを送信する。自身のアドレスを識別していないユニットのすべては、ユニークな「停止条件」（クロックバス２４がハイの状態にある間の、データバス２２のロウからハイへの遷移）が受信されるまで非アクティブになる。したがって、送信されたアドレスによって識別されるユニットだけがデータを受信し続ける。デバイスがデータを受信中であることを保証するためには、受信ユニット１２または１４が、各バイトを受信した後、論理「０」のレベルによって定義された肯定応答ビットを送信する。
【００１３】
本発明によれば、I2Cインターフェースとして同じデータバス２２とクロックバス２４を使用してI2Cインターフェースと他のインターフェース・プロトコルを「選択的に交互使用する（interlaced）」ことができる。一実施例で「選択的に交互使用される」プロトコルは、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルである。代替方法として、周辺用シリアル・インターフェース（Serial Peripheral Interface：SPI）プロトコルまたは何らかの他のインターフェース・プロトコルを使用してもよい。以下の図面と考察は、本発明の一例としてシリアル・ポイント・ツウ・ポイント・プロトコルに焦点をあてているが、I2Cプロトコルと他のプロトコルを選択的に交互使用してもよいことは、当業者には理解できるであろう。
【００１４】
開始条件が発生すると、ベースバンド・コントローラ１２（またはシリアル・ポイント・ツウ・ポイント・プロトコルを介して通信したい何らかの他のデバイス）は、データバス２２に接続されているどのI2Cユニット１２または１４によっても使用されないアドレスを送信する。アドレスの送信に続いて、同じデバイスによって肯定応答ビットを送信することができる。結果として、接続されているI2Cユニットのすべてが非アクティブ状態になり、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコル（または何らかの他のインターフェース・プロトコル）による送信にデータバス２２とクロックバス２４を使用することができる。例えば、ベースバンド・コントローラ１２は、データバス２２を介して、ポイントからポイントにデータを送ることができる。この場合、送信されたデータは、コマンド／ディスプレー・バス２６の信号によって、コマンドデータ、またはディスプレーデータ、つまりユーザーデータとして指定される。
【００１５】
シリアル・ポイント・ツウ・ポイント・データの送信中、開始または停止条件の意図しない発生をすべて回避して、接続されているI2Cユニットがアクティブに戻ることを防止しなければならない。したがって、シリアル・ポイント・ツウ・ポイント・ユニット１８とベースバンド・コントローラ１２は、クロックバス２４がハイの状態の場合、データバス２２のハイからロウへの遷移またはロウからハイへの遷移を回避しなければならない。その上、データを送信していない場合、シリアル・ポイント・ツウ・ポイント・インターフェースは、一般に高電圧を維持しない。その代わりとして、シリアル・ポイント・ツウ・ポイント・インターフェースは、データ線を高電圧にして論理「１」を送信し、データ線を低電圧または負の電圧にして論理「０」を送信しなければならない。I2Cインターフェースはプルアップ抵抗器の考え方を使用しているので、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルをサポートするドライバ１８は、I2Cプロトコルによる動作中は高インピーダンスを維持して、ドライバ１８がデータバス２２で進行中のどれかの送信にエラーを生じさせることを防止しなければならない。この３状態の条件は、チップ選択バス２８のアクティブにする信号によって制御される。したがって、システム１０がシリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルで動作中の場合、チップ選択バス２８はハイに設定され、シリアル・ポイント・ツウ・ポイント・ドライバ１８が正常に動作できるようにする。一方、システム１０がI2Cインターフェース・プロトコルを使用中である場合、チップ選択バス２８はロウに設定され、シリアル・ポイント・ツウ・ポイント・ドライバ１８が高インピーダンスを維持して、I2C通信の妨害を回避できるようにする。しかし、当業者には理解できるとおり、チップ選択バス２８の設定を逆にしてもよいし、チップ選択バス２８で他の信号方式を使用して、システム１０の全体がI2Cインターフェース・プロトコルを使用しているときと、システム１０がシリアル・ポイント・ツウ・ポイント・インターフェース・プロトコル（または何らかの他のインターフェース・プロトコル）を使用しているときを表示してもよい。
【００１６】
次に図２を参照すると、図１に示す回路のクロックバス２４、データバス２２およびチップ選択バス２８の電圧レベルの代表的な図が示されている。時間ゼロ（T = 0）で、ベースバンド・コントローラ１２は、データバス２２の電圧をハイからロウにし、クロックバス２４の電圧をハイにする。結果として、ベースバンド・コントローラ１２に接続されているI2Cドライバ１４のそれぞれは、自身のユニークなアドレスの有無を注意深く調べ始める。次の７ビット周期中（つまり、T = 1からT = 7までの間（明示せず））に、７ビットのアドレスが送信される。代替方法として、使用されているI2Cインターフェースによっては、10ビットのアドレスを送信してもよい。しかし、この例では、ベースバンド・コントローラ１２によって送信されるアドレスは、接続されているどのI2Cドライバ１４も識別しない。使用されていないアドレスが送信されると、I2Cドライバ１４が非アクティブな状態になって、ベースバンド・コントローラ１２（または何らかの他のシリアル・ポイント・ツウ・ポイント・ドライバ１８）がシリアル・ポイント・ツウ・ポイント・インターフェース・プロトコル（または何らかの他のインターフェース・プロトコル）を使用してデータを送信することを可能にし、この間I2Cドライバ１４のすべては非アクティブな状態にある。
【００１７】
上述のとおり、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルをサポートするベースバンド・コントローラ１２と何らかの他のデバイス１８は、シリアル・ポイント・ツウ・ポイント通信全体にわたって開始または停止条件が意図せずに発生することを回避することが重要である。その上、開始条件とアドレスデータを送信中、シリアル・ポイント・ツウ・ポイント・ドライバ１８は、高インピーダンスを維持して、I2C通信に対するいかなる妨害も防止しなければならない。シリアル・ポイント・ツウ・ポイント通信を開始する前に、シリアル・ポイント・ツウ・ポイント・ドライバ１８は、データバス２２がシリアル・ポイント・ツウ・ポイント通信に使用できることを知らされていなくてはならない。したがって、ベースバンド・コントローラ１２は、チップ選択バス２８をロードし、受信するシリアル・ポイント・ツウ・ポイント・ドライバ１８をアクティブにして、この場合、I2C規格で指定されるとおり第１のアドレスバイトを送信した後、９番目のクロック周期（T = 9）で始まるデータを受信する。次にベースバンド・コントローラ１２が２進データのストリングを送信すると、受信ドライバ１８がそれを受信する（つまり、T = 9で論理「０」、T = 10で論理「１」、T = 11で論理「０）、以下同様）。
【００１８】
データの送信が完了すると、チップ選択バス２８はオフになり、シリアル・ポイント・ツウ・ポイント・ドライバ１８が非アクティブ／高インピーダンスの状態に戻す。それだけでなく、ベースバンド・コントローラ１２は、データ送信が完了した後のクロック周期（この場合は、T = 15で）で停止条件を発生する。停止条件が発生すると、接続されているI2Cユニット１４がアクティブ状態に戻り、再び開始条件の有無を注意深く調べ始める（T = 16で始める）。
【００１９】
次に図３を参照すると、I2Cインターフェースとシリアル・ポイント・ツウ・ポイント・インターフェースを介したデータの送信を示すメッセージの流れとシステムの動作が示されている。I2Cインターフェースによるデータ転送を開始するには、ステップ５０でベースバンド・コントローラ１２が開始条件を発生し、これによりデータバス２２で接続されているドライバ１４、１８のすべてにI2C開始信号が送られる。開始信号５２に応答して、I2Cドライバ１４は、ステップ５４でそれぞれのアドレスの有無を注意深く調べる。開始条件の後の次のクロック周期が始まると、ベースバンド・コントローラ１２は、I2Cインターフェース・プロトコルをサポートするLCDドライバ１４のユニークなアドレスを含むアドレス信号５６を送信する。結果として、I2Cをサポートするとともに、送信されたアドレスで識別されない接続されているドライバ１４のどれもが、非アクティブな状態になり、アドレス指定されたLCDドライバ１４はデータバス２２で肯定応答信号５７を送信して、データを受信できる状態になっていることをベースバンド・コントローラ１２に知らせた後、ステップ５８でデータの有無を注意深く調べ始める。
【００２０】
ベースバンド・コントローラ１２は、I2Cデータ信号６０を送信し始める。その上、I2Cデータ信号６０の各バイトを受信すると、受信するLCDドライバ１４は、データバス２２により肯定応答信号６２を送信し、データが受信されたことをベースバンド・コントローラ１２に知らせる。I2Cデータメッセージが完了すると、ベースバンド・コントローラ１２は、ステップ６４で停止条件を発生し、これにより停止信号６６が、データバス２２に沿って接続されているデバイス１４、１８のすべてに送られる。停止信号６６を受信すると直ちに、接続されているI2Cドライバ１４のすべては、ステップ６８で開始条件の有無を調べるためデータバス２２の監視を始める。
【００２１】
（今回は、シリアル・ポイント・ツウ・ポイント・インターフェース・プロトコルを使用して）他のデータ転送を開始するには、ベースバンド・コントローラ１２はステップ５０’で再び開始条件を発生し、接続されているすべてのデバイス１４、１８に開始信号５２’を送る。したがって、I2Cユニット１４は、ステップ５４’で再び自身のアドレスの有無を注意深く調べ始める。しかし、この場合ベースバンド・コントローラ１２は、接続されているどのI2Cユニット１４でも使用されないアドレスを含むアドレス信号７０を送信する。結果として、接続されているI2Cユニット１４のすべてが、ステップ７２で非アクティブな状態になる。次にベースバンド・コントローラ１２はステップ７４でチップ選択線を設定し、接続されているシリアル・ポイント・ツウ・ポイント・ドライバ１８のすべてにチップ選択信号７６を送る。シリアル・ポイント・ツウ・ポイント・ドライバ１８は、ステップ７８でこのチップ選択信号に応答し、I2C動作中これらのドライバ１８によって使用される高インピーダンスの状態を解除して、ドライバ１８がシリアル・ポイント・ツウ・ポイント・データを受信できるようにする。ベースバンド・コントローラ１２は、所望のシリアル・ポイント・ツウ・ポイント・インターフェース・データ信号８０を受信ユニット１８に送る。データ信号８０が完了すると、ベースバンド・コントローラ１２はステップ８２でチップ選択線をオフにし、ステップ８４でシリアル・ポイント・ツウ・ポイント・ドライバ１８を再び非アクティブ／高インピーダンスの状態にし、ステップ６４’で停止条件を発生する。生じた停止信号６６’により、I2Cユニット１４は、開始条件がないかデータバス２２を再び監視し始める（ステップ６８を参照）。
【００２２】
添付の図面で本発明の方法と装置の好適実施例を例示し、前述の詳細な説明の中で説明してきたが、本発明は開示した実施例に限定されるものではなく、特許請求の範囲に記載しかつ定義したとおり、本発明から逸脱することなく、多数の再構成、修正および代替が可能であることを理解できるものとする。
【図面の簡単な説明】
【図１】  移動電話機内部回路の代表的なブロック図。
【図２】  図１に示す回路の、クロックバス、データバス、チップ選択バスの電圧レベルを表す図。
【図３】  I2Cインターフェースとシリアル・ポイント・ツウ・ポイント・インターフェースを介したデータの送信を示すメッセージの流れとシステムの動作を示す図。
【図１】
0004480897.tif 000002
【図２】
0004480897.tif 000003
【図３】
0004480897.tif 000004