(57)【要約】１つの例示的実施形態によれば、通信プロトコルを実行するために使用するシリアルデータラインおよびクロックラインを有するシリアルデータ転送バスを用いる通信システムは、装置識別コーディングを用いて集積回路間（Ｉ２Ｃ）スレーブ装置を識別する機能を組み込む。通信システムは、１個または複数個のパラメータを識別する装置識別コードを有するスレーブ装置を含む。スレーブ装置内における通信回路は、Ｉ２Ｃシリアルデータ転送バス上で前記通信プロトコルを用いてマスタと通信するよう構成する。マスタ装置からの装置識別アドレスの送信に応答して、スレーブ装置はＡＣＫＮＯＷＬＥＤＧＥを送信するよう構成し、マスタ装置からのスレーブ装置アドレスおよび装置識別アドレスの送信に応答して、スレーブ装置はマスタに対して装置識別コードを送信するよう構成する。【特許請求の範囲】
【請求項１】
通信プロトコルの実施に用いるシリアルデータラインおよびクロックラインを有するＩ２Ｃシリアルデータ転送バスを使用する通信システム内におけるマスタ装置が、前記Ｉ２Ｃシリアルデータ転送バスに接続したスレーブ装置を識別する方法において、
前記マスタ装置から前記Ｉ２Ｃシリアルデータ転送バス上に装置識別アドレスを送信するステップと、
前記マスタ装置が、１個または複数個のスレーブ装置から確認応答のＡＣＫＮＯＷＬＥＧＥを受信するステップと、
前記マスタ装置から、特定のスレーブ装置を識別するスレーブ装置アドレスを前記Ｉ２Ｃシリアルデータ転送バス上に送信するステップと、
マスタ装置から、前記装置識別アドレスをＩ２Ｃシリアルデータ転送バス上に再送信するステップと、
マスタ装置が、前記特定のスレーブ装置から識別コードを受信するステップと、
前記識別コードを用いて、前記特定のスレーブ装置における１個または複数個のパラメータを識別するステップと、
を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記特定のスレーブ装置における１個または複数個のパラメータを識別するステップは、マスタ装置が、前記特定のスレーブ装置から製造コードを受信するステップを含むことを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記特定のスレーブ装置における１個または複数個のパラメータを識別するステップは、マスタ装置が、前記特定のスレーブ装置から部品識別コードを受信するステップを含むことを特徴とする方法。
【請求項４】
請求項１に記載の方法において、前記特定のスレーブ装置における１個または複数個のパラメータを識別するステップは、マスタ装置が、前記スレーブ装置からリビジョンコードを受信するステップを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に通信装置（デバイス）および方法に関するもので、より詳細には、集積回路間、すなわちＩ２Ｃ（inter-integrated circuit）間におけるスレーブ装置を、装置識別コーディングを用いて識別する方法および構成に関する。
【背景技術】
【０００２】
フィリップス社が開発したＩ２Ｃ（Inter-Integrated Circuit）バスは、集積回路間で簡単な双方向２ラインバス（さらに給電および接地ライン）を介して直接的に相互通信を行うことを可能にする。装置（デバイス）は、バス上の２本のライン（ワイヤ）、すなわちデータ通信用のシリアルデータライン（ＳＤＡ）と、装置（デバイス）間におけるデータ通信の制御および同期用のシリアルクロックライン（ＳＣＬ）のそれぞれに装置が接続する。装置はそれぞれ他の各装置に対して並列に接続し、バスライン、すなわちＳＤＡおよびＳＣＬは、それぞれバスにおける全ラインの有線ＡＮＤとして機能する。各装置の出力はオープンコレクタ／オープンドレーン装置として構成し、１個または複数個のプルアップ抵抗は、バスの休止状態ではバス上で「弱い（ｓｏｆｔ）」論理的高レベル値を維持する。装置（デバイス）がバスへのアクセスを要求する場合、装置（デバイス）は、接地電位に対し導通状態にあるオープンコレクタ／オープンドレーン装置を介して、バスを論理的低レベル値に引き込む。
【０００３】
Ｉ２Ｃバスに接続した各装置はアドレスにより識別可能であり、トランスミッタもしくはレシーバまたはその両方として動作することができる。データ転送はマスタ‐スレーブ通信プロコトルを用いて実現する。マスタは、データ転送を開始し、かつこの転送を可能にするクロック信号を発生する装置（デバイス）である。アドレスされた（あて先となる）いかなる装置（デバイス）もこの転送のスレーブとみなされる。データ転送は、マスタがデータをスレーブに送信する（ここでは「書き込み」と称する）、またはスレーブからデータを要求する（ここでは「読み出し」と称する）することにより開始することができる。出力装置、例えばディスプレイ画面は、通常データ転送を開始することができないため、スレーブ装置としてのみ動作するよう設定することになる。これに対してマイクロプロセッサは、一般に、状況に応じてマスタまたはスレーブのいずれでも動作するよう設定される。
【０００４】
休止状態において、ＳＤＡおよびＳＣＬバスラインの双方は、論理的高レベル状態にある（ここでは「高位（high）」または「論理状態１」と称する）。マスタは、ＳＣＬラインが高位（high）状態で、ＳＤＡライン上で論理的低レベル状態（ここでは「低位（low）」または「論理状態０」と称する）への移行（トランジション）をアサートすることによりデータ転送を開始する。これをＳＴＡＲＴ条件と称する。この後、マスタはＳＣＬラインをトグルしてデータ転送の同期を制御する。データ値変化はＳＣＬクロックが低位（ｌｏｗ）時にＳＤＡライン上で生じ、ＳＤＡラインの状態はＳＣＬクロックが高位（ｈｉｇｈ）時にのみ有効とみなされる。
【０００５】
複数のＳＴＡＲＴをアサートして同一の転送セッション内で一連のデータ転送を行うことができる。一般に、各データ転送は、あて先とされるデータ転送の受信側（レシピエント）からの確認応答（ＡＣＫＮＯＷＬＥＤＧＥＭＥＮＴ）を要求する。データ転送を終了するには、ホストによりＳＣＬクロックが高位（ｈｉｇｈ）時にＳＤＡライン上で低位（low）から高位（high）への移行をアサートする。これをＳＴＯＰ条件と称する。その後は、任意の装置が、上記のようにＳＤＡライン上で高位（high）から低位（low）への移行をアサートすることによりマスタとしてバスの制御を担うことができる。参照の便宜のため、本明細書で用語「アサート」は、特定のロジック状態を生じさせ、または生じさせようと試みることを指すものとして用いる。論理高位（Logic high）状態への移行の例では、これは通常アサートする装置による強制プルダウン状態からバスを解放することにより行う。こうして論理高位（Logic high）状態をアサートすることにより、別の装置がプルダウン状態を強制していない限り、バス上の前記プルアップ手段によりバスを論理高位（Logic high）状態とすることができる。
【０００６】
Ｉ２Ｃデータ転送の一般的なフォーマットには、Ｉ２Ｃバスを形成するＳＤＡラインおよびＳＣＬラインの信号が関わる。ＳＴＡＲＴ条件（Ｓ）は、ＳＣＬラインがｈｉｇｈ時におけるＳＤＡラインの信号のｈｉｇｈからｌｏｗへの移行に対応する。ＳＴＡＲＴの後、ホストは通常７ビットのアドレスを送信し、その後読み出し／書き込み禁止（ＲＥＡＤ／ＷＲＩＴＥ-ＮＯＴ）インジケータを送信する。アドレスおよびデータ転送指示（Ｒ／Ｗ-）を送信した後、ホストはＳＤＡラインを解放してこれを論理ｈｉｇｈレベルに引き上げる。スレーブ装置は、アドレスを認識すると、バスをｌｏｗにプルすることにより確認応答信号（ＡＣＫ）を送信する。したがって、ホストによるＳＤＡライン解放時にｌｏｗ信号がない場合、確認応答なし（ＮＡＫ）を意味する。ＳＤＡのｌｏｗによりアドレスがＡＣＫＮＯＷＬＥＤＧＥされると、送信装置はデータを送信する。ホストに対するデータ転送指示が「読み出し（ＲＥＡＤ）」の場合、スレーブ装置は送信装置となる。ホストに対する指示が「書き込み（ＷＲＩＴＥ）」の場合はマスタ装置が送信装置となる。送信装置はＳＤＡラインの制御を解放し、受信装置はＳＤＡライン上で論理ｌｏｗ値をアサートすることによりデータの受信をＡＣＫＮＯＷＬＥＤＧＥする。データがＡＣＫＮＯＷＬＥＤＧＥされると、送信側はさらなるデータを送信する。このプロセスを、データ全体の通信がなされるか、送信したデータ項目がＮＯＴ-ＡＣＫＮＯＷＬＥＤＧＥＤ（確認応答なし）となるまで続行する。マスタは引き続きＳＴＡＲＴ信号を再アサートして上記プロセスを繰り返すか、または、ＳＴＯＰ信号（Ｐ）をアサートしてこのデータ転送セッションを終了することができる。
【０００７】
上記インタフェースプロトコルは種々の方法で実施することができる。Ｉ２Ｃインタフェースのプログラミングまたは設計のための開発時間を短縮するため、種々の汎用インタフェーススキームが公開されている。１９９９年発行のニューメキシコ大学、アムリータ・デシュパンデ氏の修士論文「Ｉ２Ｃバスマスタ‐スレーブインタフェースの挙動（レジスタ転送レベル、ＲＴＬ）モデルの設計(Design of a Behavioral (Register Transfer Level, RTL) Model of the Inter-Integrated Circuit or I2C-Bus Master-Slave Interface)」には、Ｉ２Ｃ装置への組み込み用Ｉ２Ｃマスタインタフェースおよびスレーブインタフェースを開示しており、これを本出願の参照文献として付記する。検証済みのＩ２Ｃインタフェースを提供することにより、システム設計者はＩ２Ｃの仕様およびプロトコルの詳細を述べる必要がなくなる。この論文におけるマスタとスレーブインタフェースの双方は状態‐機械ベースである。状態‐機械ベースのシステムおよび方法は、さらに、米国特許第６７９９２３３号に記載されており、これも参照文献として付記する。
【非特許文献１】１９９９年発行のニューメキシコ大学、アムリータ・デシュパンデ氏の修士論文「Ｉ２Ｃバスマスタ‐スレーブインタフェースの挙動（レジスタ転送レベル、ＲＴＬ）モデルの設計(Design of a Behavioral (Register Transfer Level, RTL) Model of the Inter-Integrated Circuit or I2C-Bus Master-Slave Interface)」
【特許文献１】米国特許第６７９９２３３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の諸態様は、Ｉ２Ｃスレーブ装置を、装置識別コーディングを用いて識別するための方法および構成に関し、上記の問題に取り組み、これを克服するものである。
【課題を解決するための手段】
【０００９】
１つの例示的実施形態によれば、通信プロトコルを実施するために使用するシリアルデータラインおよびクロックラインを有するシリアルデータ転送バスを用いた通信システムは、装置識別コーディングを使用してＩ２Ｃスレーブ装置を識別する機能を組み込む。この通信システムは、１個または複数個のパラメータを識別する装置識別コードを有するスレーブ装置を有する。スレーブ装置における通信回路は、前記通信プロトコルを用いてＩ２Ｃシリアルデータ転送バス上のマスタ装置と通信するよう構成する。マスタ装置からの装置識別アドレスの送信に応答して、スレーブ装置がＡＣＫＮＯＷＬＥＤＧＥを送信するよう構成し、マスタ装置からのスレーブ装置アドレスおよび装置識別アドレスの送信に応答して、スレーブ装置は装置識別コードをスレーブ装置からマスタ装置に送信するよう構成する。
【００１０】
１つの例示的実施形態によれば、本発明は、マスタ装置から、Ｉ２Ｃシリアルデータ転送バス上に装置識別アドレスを送信することを含む方法に関する。ＡＣＫＮＯＷＬＥＤＧＥをマスタ装置が１個または複数個のスレーブ装置から受信する。特定のスレーブ装置を識別するスレーブ装置アドレスを、Ｉ２Ｃシリアルデータ転送バス上にマスタ装置から送信する。マスタ装置はＩ２Ｃシリアルデータ転送バス上の装置識別アドレスを再送信し、前記特定のスレーブ装置から識別コードを受信する。マスタ装置は、識別コードを用いて前記特定のスレーブ装置における１個または複数個のパラメータを識別する。
【００１１】
上述した本発明の要約は、本発明の各実施形態や実施方法のすべてを記載することを意図したものではない。本発明の利点および効果は、下記の詳細な説明および特許請求の範囲を添付の図面と併せて参照することにより明らかとなり、かつ理解されるであろう。
【００１２】
本発明は、発明の種々の実施形態に関する下記の詳細な説明を、添付の図面と併せて考慮することにより、より完全に理解することができるであろう。
【発明を実施するための最良の形態】
【００１３】
本発明には種々の変更および代替的な形態が可能であるが、発明の仕様を図面の例を用いて示すとともに以下詳細に説明する。しかし、本発明は、説明する特定の実施形態に限定することは意図していないことを理解されたい。逆に、添付の特許請求の範囲により定義する本発明の範囲内でのあらゆる変更、同等案、代替案をも包含するものである。
【００１４】
本発明は、一般に装置識別コーディングを用いて集積回路間（Ｉ２Ｃ）スレーブ装置を識別する方法および構成に適用することができる。本発明は、集積回路間シリアルデータ通信バス、すなわちＩ２Ｃ（Inter Integrated circuit）シリアルデータ通信バスに特に有利であると考えられるが、他のバスおよび通信プロトコル、例えば、システムマネージメントバス（ＳＭＢｕｓ）アーキテクチャおよび／またはプロトコル、またはその他のシリアルデータ通信システムに関しても利点を持つ。説明の便宜のため、限定するものではないが、本発明を、スレーブ装置との通信を制御するマスタ装置を有するＩ２Ｃバスに関連して説明する。
【００１５】
マスタはＩ２Ｃバスアーキテクチャ上のＩ２Ｃスレーブとの通信の制御を行う。Ｉ２Ｃスレーブには、携帯電話、ＰＤＡ、およびスマートフォンから液晶テレビ、医療機器、ゲームその他にまでわたる分野において、多種多様な用途がある。Ｉ２Ｃスレーブの特殊な用途として、汎用入出力（ＧＰＩＯ）装置がある。この種の装置には、入力または出力として使用できる多機能ピンが多数ある。入力として使用する場合、これらのピンは、通常モニタ中の所定信号の状態を示す。出力として構成する場合、これらの装置は、例えば発光ダイオード（ＬＥＤ）の駆動用に用いることができる。これらの出力は、通常バンクに分けられ、Ｉ２Ｃバスを介してプログラムされる。
【００１６】
１つの例示的実施形態によれば、通信プロトコルを実施するために使用するシリアルデータラインおよびクロックラインを有するシリアルデータ転送バスを用いた通信システムは、装置識別コーディングを用いたＩ２Ｃスレーブ装置の識別により連携する。通信システムは、１個または複数個のパラメータを識別する装置識別コードを有するスレーブ装置を有する。スレーブ装置内における通信回路は、Ｉ２Ｃシリアルデータ転送バス上で通信プロトコルを用いてマスタ装置と通信するよう構成する。マスタ装置からの装置識別アドレスの送信に応答して、スレーブ装置がＡＣＫＮＯＷＬＥＤＧＥを送信するよう構成し、マスタ装置からのスレーブ装置アドレスおよび装置識別アドレスの送信に応答して、スレーブ装置が装置識別コードをスレーブ装置からマスタ装置に送信するよう構成する。
【００１７】
業界には様々な用途のＩ２Ｃスレーブ装置を製造する製造業者が多数ある。したがって、或るシステム内で、異なる製造業者により製造された、異なる種類のＩ２Ｃを使用することができる。本発明による装置ＩＤは、ソフトウェアを通じて製造者、装置タイプおよび装置リビジョンなどのパラメータを識別する１つの手法である。
【００１８】
本発明による装置識別のためのプロトコルは、すべてのスレーブ装置がその固有の装置ＩＤに応答する簡単かつ統一的な方法を提供する。１つの例示的実施形態において、装置ＩＤは３バイト（２４ビット）の読み出し専用ワードとし、次の情報、すなわち、１２ビットは製造者毎の固有製造者名（例：Ｐｈｉｌｉｐｓ）、９ビットは製造者により割り当てられる部品識別記号（例：ＰＣＡ９６９８）、３ビットは製造者により割り当てられる金型（ダイ）リビジョン番号（例：Ｒｅｖ．Ｘ）の情報を与える。
【００１９】
この例において、装置ＩＤは読み出し専用で装置にハードウェア組み込みとしたもので、以下の方法でアクセスすることができる：
１．  マスタはＩ２ＣバスにＳＴＡＲＴコマンドを送信する。
２．  マスタは装置ＩＤアドレス「１１１１１００」を、０（書き込み）としたＲｅａｄ／Ｗｒｉｔｅ＃ビットセットとともに送信する。
３．  次に、マスタは、識別を必要とするスレーブ装置のＩ２Ｃスレーブアドレスを送信する。ＬＳＢはｄｏｎ’ｔ-ｃａｒｅ（無関係）値とする。ただ１個の装置が、このバイト（前記Ｉ２Ｃスレーブアドレスを有する装置）をＡＣＫＮＯＷＬＥＤＧＥしなければならない。
４．  マスタはＲｅ-ＳＴＡＲＴコマンドを送信する。
５．  マスタは装置ＩＤアドレス「１１１１１００」を１（読み出し）としたＲｅａｄ／Ｗｒｉｔｅ＃ビットセットとともに送信する。
６．  装置ＩＤのＲｅａｄ（読み出し）は、製造者ビットである１２ビット（第１バイト＋次バイトのうち４ビット）から開始し、次いで９ビットの部品識別ビット（第２バイトの４ＬＳＢ＋第３バイトのうち５ＭＳＢ）、さらに金型リビジョンビットである３ビット（第３バイトのうち３ＬＳＢ）を読み出すことができる。
７．  マスタは、読み出しシーケンスを最終バイトにＮＡＣＫ（ＮＯ-ＡＣＫＮＯＷＬＥＤＧＥ）応答することにより終了する。
注１：  装置ＩＤの読み出しは、任意のバイトのＮＯ-ＡＣＫＮＯＷＬＥＤＧＥを送信することによりいつでも中断することができる。
注２：  マスタが第３バイトの後も引き続きＡＣＫＮＯＷＬＥＤＧＥバイトを送信する場合、装置は第１バイトに引き返し、ＮＯ-ＡＣＫＮＯＷＬＥＤＧＥを受信するまで装置ＩＤの送信を続行する。
【００２０】
シリアルバス上の装置識別コーディングを用いたＩ２Ｃスレーブ装置は、汎用入出力（ＧＰＩＯ）装置、または他のスレーブ装置として構成することができる。通信システムはＩ２Ｃ、ＳＭＢｕｓおよび／またはその他のシリアル通信の仕様に準拠するものとすることができる。
【００２１】
図１は、本発明の実施形態に係る、装置識別コーディングを用いてＩ２Ｃスレーブ装置を識別するためのデータ通信システム１００のブロック図である。ＳＤＡライン１１０およびＳＣＬライン１２０をＩ２Ｃデータバス１２５として構成する。マスタ装置１３０およびスレーブ装置１４０をＩ２Ｃデータバス１２５に接続する。マスタ装置１３０は、それぞれＳＣＬライン１２０およびＳＤＡライン１１０と電気的に接続したクロックコネクション１３４およびデータコネクション１３２により、Ｉ２Ｃデータバス１２５に電気的に接続する。
【００２２】
スレーブ装置１４０は、それぞれＳＣＬライン１２０およびＳＤＡライン１１０と電気的に接続したクロックコネクション１４４およびデータコネクション１４２により、Ｉ２Ｃデータバス１２５に電気的に接続する。マスタ装置１３０はＩ２Ｃバス上に装置ＩＤアドレスの書き込み１５２を行い、次いで該マスタ装置１３０が識別を希望するスレーブ装置１４０アドレスの書き込み１５４を行い。マスタ装置１３０は、ＡＣＫＮＯＷＬＥＤＧＥを受信すると、再度装置ＩＤアドレスの書き込み１５６を行う。
【００２３】
スレーブ装置１４０は書き込み１５２から最初の装置ＩＤを読み出し、ＡＣＫＮＯＷＬＥＤＧＥ１６４を送信する。次いでスレーブ装置１４０は書き込み１５４から自己のスレーブ装置アドレスを読み出す。このスレーブアドレスの読み出し１６６に対応して、スレーブ装置１４０はＩ２Ｃデータバス１２５にその装置ＩＤコードの書き込み１６８を行う。
【００２４】
図２は、本発明の実施形態による、装置識別コーディングを実施するデータ通信システムのシリアルデータストリーム２００の説明図である。シリアルデータストリーム２００をＩ２Ｃ通信プロトコルに基づいて図２に示す。装置ＩＤアドレス２０２がＩ２Ｃバス上のマスタにより送信するＳＴＡＲＴ条件２２２の後に続く。装置ＩＤアドレス２０２を認識するすべてのスレーブ装置がＡＣＫＮＯＬＥＤＧＥ２２４を書き込む。次いでマスタが識別を希望するスレーブ装置のスレーブアドレス２０４を書き込み、次にスレーブ装置からのＡＣＫＮＯＷＬＥＤＧＥ信号２２８が続く。次にマスタはｒｅ-ＳＴＡＲＴ２０８を出して装置ＩＤアドレス２０６を再送信し、これがスレーブ装置によりＡＣＫＮＯＷＬＥＤＧＥ２３０される。
【００２５】
スレーブ装置は次に自己の装置ＩＤコードを送信する。例えば、装置ＩＤコードには製造者名を識別するビット群を含めることができる。これはデータワード２３２のビットＭ１１〜Ｍ４、および次のデータワードの一部２３４におけるビットＭ３〜Ｍ０にコード化されている。Ｉ２Ｃ通信プロトコルに従い、マスタ装置はデータワード２３２のビットＭ４を受信した後ＡＣＫＮＯＷＬＥＤＧＥ２４０を出す。部品の識別子は第２のデータワードのビットＰ８〜Ｐ５を含む部分２３６、およびビットＰ４〜Ｐ０を含む部分２３８にエンコードすることができる。再びＩ２Ｃ通信プロトコルに従い、マスタ装置は部分２３６のビットＰ５を受信した後ＡＣＫＮＯＷＬＥＤＧＥ２４２を出す。最後に、部分２４８にはビットＲ２〜Ｒ０にエンコードしたリビジョン情報を含むことができる。第３のワードを送信した後にＮＡＣＫ２４４が続き、この後マスタはＳＴＯＰ２４６を書き込む。
【００２６】
図３は、本発明の実施形態に係る、装置識別コーディングを用いたＩ２Ｃスレーブ装置の識別を実施するシステム３００のブロック図である。スレーブ装置３２０はＩ２Ｃバス３１０に接続する。スレーブ装置３２０を図３にＧＰＩＯ装置として示す。スレーブ装置３２０は、装置ＩＤ３３０、例えば不揮発性メモリに書き込まれたコード、またはスレーブ装置３２０にハードウェアに組み込まれたコード、またはレジスタにプログラムされたコードを含む。スレーブ装置は、例えば図１につき説明したステップ１６２、１６４、１６６および１６８を行うことにより装置識別を行うよう構成する。
【００２７】
図４は、本発明の実施形態による、装置識別コーディングを用いたＩ２Ｃスレーブ装置の識別のための方法４００のフローチャートである。この方法４００には、ＧＰＩＯ装置などＩ２Ｃシリアルデータバスに接続した多数のスレーブ装置が関わり、これらのスレーブ装置はバス上でマスタ装置に対し個別に自己を識別する。マスタ装置はＩ２Ｃバス上に装置ＩＤアドレスを送信する（ステップ４１０）。自己識別するよう構成したすべてのスレーブ装置が、装置ＩＤアドレスをＡＣＫＮＯＷＬＥＤＧＥする（ステップ４２０）。ついでマスタは特定のスレーブ装置を識別する特定のスレーブ装置アドレスを送信する（ステップ４３０）。つぎにマスタは最小有効ビット（最下位ビット）のＲＥＡＤ（読み出し）と併せて装置ＩＤアドレスを再送信する（ステップ４４０）。このとき、識別されたスレーブが、例えば３バイトコードなどの装置ＩＤコードを送信する。これをマスタ装置がＩ２Ｃシリアルデータ送信プロトコルに基づいて受信する（ステップ４５０）。つぎに、マスタはステップ４５０で受信したＩＤに基づいてスレーブ装置の１個または複数個のパラメータを識別する（ステップ４６０）。パラメータとしては、これらに限定するものではないが、製造者、モデル、シリアルナンバ、バッチナンバ、ハードウェアバージョン、ソフトウェアバージョン、製造日その他所望のパラメータがある。ＧＰＩＯ装置を本発明による方法４００を実施するスレーブ装置として用いるのは説明目的のためのみであって、これに限定するものではない。
【００２８】
ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせにより、本明細書で説明した装置識別コーディングを用いたＩ２Ｃスレーブ装置の識別のための多様な実施形態を行うことができる。本発明との関連で用いられるマスタ装置の機能は、説明した通りＩ２Ｃマスタ装置内に設けてもよいし、また、代案としてシリアルデータ通信システム１００に接続したスタンドアローンまたはネットワークコンピュータ上に設けてもよい。図１に示したシリアルデータ通信システム１００は例示的な構成であり、上記のような通信システム、コンピュータその他のコンピュータ内蔵装置とともに用いて本発明の動作を行うことができる。
【００２９】
図１に示した例示的マスタ装置１３０および／またはスレーブ装置１４０は本発明の実施形態を行うのに好適なものであるが、これらマスタ装置１３０および／またはスレーブ装置１４０としては、一般にランダムアクセスメモリ（ＲＡＭ）に接続した中央処理装置（ＣＰＵ）および／またはいくつかの種類の読み出し専用メモリ（ＲＯＭ）がある。ＲＯＭは、プログラム格納が可能な他のタイプのストレージ媒体、例えばプログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）など、とすることができる。プロセッサは、入出力（Ｉ／Ｏ）回路および／またはその他のバス経路を通じて他の内部および外部コンポーネントと通信することができ、制御信号、通信信号などを与える。
【００３０】
また、マスタ装置１３０および／またはスレーブ装置１４０としては、１個または複数個のデータストレージ装置があり、このようなデータストレージ装置としては、ハードディスクおよびフロッピーディスク（登録商標）駆動装置、ＣＤ-ＲＯＭ駆動装置、およびその他情報を読み出しおよび／または記憶できるハードウェア、例えばＤＶＤがある。実施形態の１つでは、装置識別コーディングを用いてＩ２Ｃスレーブ装置を識別するためのソフトウェアを、ＣＤ-ＲＯＭ、フロッピーディスク、その他情報を持ち運び可能な形態で記憶することが可能な媒体上に保存し、頒布することができる。これらのストレージ媒体は、ＣＤ-ＲＯＭ駆動装置、ディスク駆動装置などに挿入して読み出すことができる。ソフトウェアはデータ信号を介してコンピュータ装置に送信することもでき、例えばインターネットなどのネットワークを介して電子的にダウンロードすることができる。さらに、上述したように、本発明に関する機能を実行するためのソフトウェアを、代案として、コンピュータ装置の内部メモリ／ストレージ、例えばＲＯＭに記憶することができる。
【００３１】
コンピュータで読み出し可能なプログラムコードを有する成果物としての任意のプログラムは、コンピュータ利用可能な１個または複数個の媒体、例えばメモリ装置または送信装置に実装することができ、これにより、本発明によるコンピュータプログラム製品または商品を作成することができる。このように、本明細書で用いる用語「コンピュータ読み出し可能媒体」、「商品」、「コンピュータプログラム製品」その他同様の語は、恒久的、一時的、または過渡的に、任意のコンピュータ使用可能媒体上、例えば任意のメモリ装置上または任意の送信装置内に存在するコンピュータプログラムを包含することを意図している。
【００３２】
本明細書（添付の特許請求の範囲、要約書、図面を含む。）に開示した特徴のそれぞれは、明示的に断りがない限り、同一、同等または同様の目的を持つ代替的な特徴で置き換えることが可能である。このように、明示的に断らない限り、開示した特徴のそれぞれは同等または同様の特徴の上位概念的な集合の一例であるにすぎない。
【００３３】
本発明は、上述した特定の例に限定されるものと解してはならない。多種多様な修正、同等の方法、ならびに本発明を適用可能な多数の構成が本発明の範囲内にある。例えば、本発明に係る、装置識別コーディングを用いたＩ２Ｃスレーブ装置の識別のための実施形態を、ＳＭＢｕｓその他のバス構成など、同様の構成を有する共通バス上の装置間通信のための一方向または双方向インタフェースを用いて実施することも可能である。このような変更は、添付の特許請求の範囲により適正に記載する本発明における請求の範囲の一部と考えることができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態による、Ｉ２Ｃスレーブ装置識別コーディングを実施するデータ通信システムのブロック図である。
【図２】本発明の実施形態による、Ｉ２Ｃスレーブ装置識別コーディングを実施するデータ通信システムのデータストリームの説明図である。
【図３】本発明の実施形態による、装置識別コーディングを用いてＩ２Ｃスレーブ装置を識別することを実施するシステムのブロック図である。
【図４】本発明の実施形態による、装置識別コーディングを用いてＩ２Ｃスレーブ装置を識別する方法のフローチャートである。
【符号の説明】
【００３５】
１００  データ通信システム
１１０  ＳＤＡライン
１２０  ＳＣＬライン
１２５  Ｉ２Ｃデータバス
１３０  マスタ装置
１３２  データコネクション
１３４  クロックコネクション
１４０  スレーブ装置
１４２  データコネクション
１４４  クロックコネクション
１５２  書き込み
１５４  書き込み
１５６  書き込み
１６４  ＡＣＫＮＯＷＬＥＤＧＥ
１６６  読み出し
１６８  書き込み
【図１】
2008539497.tif 000002
【図２】
2008539497.tif 000003
【図３】
2008539497.tif 000004
【図４】
2008539497.tif 000005
【国際調査報告】
2008539497.tif 000006
2008539497.tif 000007