(57)【要約】一実施の形態によれば、通信プロトコルを実現するのに用いられるシリアルデータ線（１１０）及びクロック線（１２０）を有するシリアルデータ転送バスを用いる通信システム（１００，３００）は、論理値をスレーブ装置レジスタ（３３１〜３３８）への並列なプログラマブルローディングを組み込む。通信システムは、二つ以上のレジスタを有するスレーブ装置（３２０）を有し、各レジスタは、第１の形態において、データ転送バス上の通信プロトコルに従って受信したデータをロードし、第２の形態において、単一の論理値を複数のビットにロードする。プログラマブル機器構成レジスタは、第２の形態において単一の論理値を選択したレジスタの二つ以上のビットにロードするよう二つ以上のレジスタを選択するために、データ転送バスの通信プロトコルに従ってプログラムされる。
2008539496.tif 000002
【特許請求の範囲】
【請求項１】
通信プロトコルを実現するのに用いられるシリアルデータ線及びクロック線を有するシリアルデータ転送バスを用いる通信システムにおいて、各々が複数のビットを具え、各々が第１の形態で前記データ転送バスの通信プロトコルに従って受信したデータをロードし、第２の形態で単一の論理値を複数のビットにロードする複数のインタフェースポートレジスタと、前記複数のインタフェースポートレジスタを選択して、前記第２の形態で前記単一の論理値を選択した前記インタフェースポートレジスタの複数のビットにロードするために、前記データ転送バスの通信プロトコルに従ってプログラムされるプログラマブル機器構成レジスタとを具えるスレーブ装置。
【請求項２】
請求項１記載のスレーブ装置において、前記機器構成レジスタを８ビットレジスタとして構成し、１ビットが、前記単一の論理値を選択するのに使用され、５ビットが、前記単一の論理値のロードに所望されるインタフェースポートレジスタを選択するのに使用されることを特徴とするスレーブ装置。
【請求項３】
請求項１記載のスレーブ装置において、前記スレーブ装置が、汎用入力／出力装置として構成されることを特徴とするスレーブ装置。
【請求項４】
請求項１記載のスレーブ装置において、前記スレーブ装置が、ＳＭバスシリアル通信プロトコルに従うように構成されることを特徴とするスレーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、通信装置及び方法に関し、特に、同一論理値を用いてＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同時にプログラムする方法及び装置に関する。
【背景技術】
【０００２】
フィリップス社によって開発されたアイ・スクエアード・シー（Ｉ２Ｃ）バスによって、集積回路は、簡単な２方向２ワイヤバス（並びに電源及びグランド）を通じて互いに直接やりとりを行うことができる。装置は、バス上の二つのワイヤの各々と、データ通信用の一つのシリアルデータ線（ＳＤＡ）と、装置間のデータ通信の制御及び同期用の他のシリアルクロック線（ＳＣＬ）とに接続する。各装置は、他の装置の各々に並列接続され、バスラインの各々、ＳＤＡ及びＳＣＬは、バス上の全ての線のワイヤードアンドとして機能する。各装置の出力部は、オープンコレクタ／オープンドレイン装置として形成され、一つ以上のプルアップトランジスタは、バスが休止状態にある間にバス上で「ソフト」論理ハイ値を維持する。装置がバスへのアクセスを所望する場合、装置は、導通状態において接地電位になるオープンコレクタ／オープンドレイン装置を通じて、バスを論理ロー値にする。
【０００３】
Ｉ２バスに接続された各装置は、アドレスによって識別可能であり、送信機、受信機又はその両方として動作することができる。データ転送は、マスタ−スレーブ通信プロトコルを用いて行われる。マスタは、データ転送を開始するとともに転送を許可するためのクロック信号を発生する装置である。アドレス指定される任意の装置は、この転送のためのスレーブであると考えられる。データ転送を、データをスレーブに転送（ここでは、「書込み」と称する。）し又はデータをスレーブから要求（ここでは、「読出し」と称する。）するマスタによって開始することができる。例えば、表示スクリーンのような出力装置は、典型的には、データ転送を開始することができず、したがって、スレーブ装置としてのみ動作するよう形成される。それに対して、マイクロプロセッサは、典型的には、状況に応じてマスタ又はスレーブとして動作するよう形成される。
【０００４】
休止状態において、ＳＤＡバスラインとＳＣＬバスラインは、両方とも論理ハイ状態（ここでは、「ハイ」又は「１の論理状態」と称する。）となる。マスタは、ＳＣＬラインがハイである間にＳＤＡライン上での論理ロー状態（個々では、「ロー」又は「０の論理状態」と称する。）への遷移をアサートすることによってデータ転送を開始する。これは、開始（ＳＴＡＲＴ）状態と称される。その後、マスタは、データ転送の同期を制御するためにＳＣＬラインをトグリングする。データ値の変化は、ＳＣＬクロックがローであるときにＳＤＡラインで生じ、ＳＤＡラインの状態は、ＳＣＬクロックがハイであるときのみ有効であると考えられる。
【０００５】
同一転送セッション内で一連のデータ転送を行うために複数のＳＴＡＲＴをアサートすることができる。一般に、各データ転送は、データ転送の指定された受取人からの承認を必要とする。データ転送を終了するために、ホストは、ＳＣＬクロックがハイである間にＳＤＡライン上でのロー−ハイ遷移をアサートする。その後、任意の装置は、既に説明したように、ＳＤＡライン上でのハイ−ロー遷移をアサートすることによってマスタとしてのバスの制御を仮定することができる。言及を簡略にするために、ここでは、用語「アサート」を、特定の論理状態の実行又は実行の試みに対して用いる。論理ハイ状態の遷移の一例において、これは、典型的には、アサート装置によって強要されたプルダウン状態からバスを解放することによって与えられる。このような論理ハイ状態のアサートによって、バス上の上記プルアップ装置は、他の装置もプルダウン状態を強いられない場合にはバスを論理ハイ状態にする。
【０００６】
Ｉ２Ｃデータ転送の一般的なフォーマットは、Ｉ２Ｃバスを形成するＳＤＡライン及びＳＣＬライン上の信号を伴う。ＳＴＡＲＴ状態（Ｓ）は、ＳＣＬラインがハイである間のＳＤＡライン上の信号のハイ−ロー遷移に対応する。ＳＴＡＲＴ後、ホストは、読出し／非書込みインジケータに続く通常は７ビットのアドレスを送信する。アドレス及びデータ転送の方向（Ｒ／Ｗ−）の送信後、ホストは、ＳＤＡラインを解放し、論理ハイレベルまでの上昇を許容する。スレーブ装置がアドレスを識別する場合、スレーブ装置は、バスをローにすることによって肯定応答信号（ＡＣＫ）を送信する。したがって、ホストがＳＤＡラインを解放するときにロー信号が存在しないことは、否定応答（ＮＡＫ）であることを表す。アドレスが、ＳＤＡがローであることを通じて承認される場合、送信装置はデータを送信する。データ転送の方向が、ホストに対して「読出し」である場合、スレーブ装置が送信装置となる。データ転送の方向が、ホストに対して「書込み」である場合、マスタ装置が送信装置となる。送信装置は、ＳＤＡラインの制御を解放し、受信装置は、ＳＤＡラインの論理ロー値をアサートすることによってデータの受信を承認する。データが承認される場合、送信器は追加のデータを送信する。このプロセスは、データの全部が送信されるまで又は送信データアイテムが承認されなくなるまで継続する。その後、マスタは、ＳＴＡＲＴ信号を再アサートすることができ、上記プロセスをくり返し、又は、このデータ転送セッションを終了するためにＳＴＯＰ信号（Ｐ）をアサートすることができる。
【０００７】
上記インターフェースプロトコルを、種々の方法で実現することができる。Ｉ２Ｃインタフェースのプログラム又は設計のための開発時間を最小にするために、種々の汎用インタフェース案が公表されている。“Design Of A Behavioral (Register Transfer Level, RTL) Model Of The Inter-Integrated Circuit Or I2C-Bus Master-Slave Interface”, Master’s Thesis of Amrita Deshpande, University of New Mexico, 1999は、Ｉ２Ｃ装置で実現するためのＩ２Ｃマスタインタフェース及びスレーブインタフェースを開示し、参照によりここに組み込まれる。検証されたＩ２Ｃインタフェースを設けることによって、システム設計者は、Ｉ２Ｃ仕様及びプロトコルの詳細を指定する必要がない。この論文のマスタインタフェース及びスレーブインタフェースは、状態マシンに基づく。状態マシンに基づくシステム及び方法は、米国特許第６，７９９，２３３号に更に記載されており、参照によりここに組み込まれる。
【発明の開示】
【０００８】
本発明の種々の態様は、上記課題を指摘し及び解決するように同一論理値を用いてＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同時にプログラムする方法及び装置を対象とする。
【０００９】
一実施の形態によれば、本発明は、通信プロトコルを実現するのに用いられるシリアルデータ線及びクロック線を有するＩ２Ｃシリアルデータ転送バスを用いる通信システムを対象とする。通信システムは、二つ以上のインタフェースポートレジスタを有するスレーブ装置を有し、各インタフェースポートレジスタは、２ビット以上を有し、各インタフェースポートレジスタは、第１の形態において、データ転送バスの通信プロトコルに従って受信したデータをロードし、第２の形態において、単一の論理値を複数のビットにロードする。プログラマブル機器構成レジスタは、複数のインタフェースポートレジスタを選択して、第２の形態で単一の論理値を選択したインタフェースポートレジスタの複数のビットにロードするために、データ転送バスの通信プロトコルに従ってプログラムされる。
【００１０】
他の実施の形態において、本発明は、二つ以上の選択可能なインタフェースポートレジスタから少なくとも二つのインタフェースポートレジスタを選択するために、データ転送バスの通信プロトコルに従って、スレーブ装置の機器構成レジスタをプログラミングする方法を対象とする。論理値が選択され、論理値は、選択した少なくとも二つのインタフェースポートレジスタの各々に同時にロードされる。
【００１１】
本発明の上記要約は、本発明の各実施の形態及び各実現を説明することを意図するものではない。本発明の利点及び実現は、詳細な説明、特許請求の範囲及び添付図面を参照することによって、本発明の完全の理解のために明らかになる。
【００１２】
本発明を、添付図面に関連して本発明の種々の実施の形態の詳細な説明を考察することによって理解することができる。
【発明を実施するための最良の形態】
【００１３】
本発明が種々の変更及び変形に従う間、その詳細を、図面中で例示して示すとともに詳細に説明する。しかしながら、本発明が記載した特定の実施の形態に限定されるものでないことを理解すべきである。それに対して、添付した特許請求の範囲によって規定された発明の範囲内にある全ての変更、等価物及び変形をカバーすることを意図する。
【００１４】
本発明は、一般に、アイ・スクエアード・シー（Ｉ２Ｃ）シリアルデータバスを用いてスレーブ装置出力バンクをプログラマブルに更新する方法及び装置に適用可能である。本発明は、アイ・スクエアード・シー（Ｉ２Ｃ）シリアルデータ通信バスに特に有利であることがわかり、システム管理バス（ＳＭバス）アーキテクチャ及び／又はプロトコル又は他のシリアルデータ通信システムのような他のバス及び通信プロトコルにも有利である。説明のために、本発明を、スレーブ装置に対する通信を制御するマスタ装置を有するＩ２Ｃに関連して説明するが、本発明は、これに限定されるものではない。
【００１５】
マスタは、Ｉ２ＣバスアーキテクチャのＩ２Ｃスレーブとの通信を制御する。Ｉ２Ｃスレーブは、携帯電話、ＰＤＡ及びスマートホンからＬＣＤ  ＴＶ、医療機器、ゲーム及び他のアプリケーションまでの範囲の分野において種々のアプリケーションを見つける。Ｉ２Ｃスレーブの特定のアプリケーションは、汎用入力／出力（ＧＰＩＯ）装置としてのものである。このタイプの装置において、入力部又は出力部として用いることができる複数の多機能ピンが存在する。入力部として用いる場合、これらのピンは、典型的には、モニタされる所定の信号の状態を表す。
【００１６】
Ｉ２Ｃスレーブの特定のアプリケーションは、汎用入力／出力（ＧＰＩＯ）装置としてのものである。このタイプの装置において、入力部又は出力部として用いることができる複数の多機能ピンが存在する。出力部として構成する場合、これらの装置を、例えば、多数の発光ダイオード（ＬＥＤ）を駆動するためにシステムで用いることができる。これら出力部は、バンクに分割され、Ｉ２Ｃバスを通じて個別にプログラムされる。
【００１７】
一実施の形態によれば、通信プロトコルを実現するのに用いられるシリアルデータ線及びクロック線を有するシリアルデータ転送バスを用いる通信システム（１００，３００）は、論理値をスレーブ装置レジスタへの並列なプログラマブルローディングを組み込む。通信システムは、関連の出力ポートレジスタに存在するデータを出力する出力ドライバの少なくとも二つのバンクを有する。各スレーブ装置は、シリアルデータを受信し、データを出力ポートレジスタにロードする。各スレーブ装置のプログラマブルレジスタは、一つ以上のスレーブ装置形態を選択するために通信プロトコルを用いてプログラムされる。少なくとも二つの出力ポートレジスタは並列に結合される。選択可能なスレーブ装置形態の一つによって、出力ポートレジスタが並列のロードされ、選択可能なスレーブ装置形態の他のものによって、出力ポートレジスタは、Ｉ２Ｃバスからのデータが一度にロードされる。
【００１８】
一実施の形態において、本発明は、Ｉ２Ｃバスを通じて機器構成レジスタをプログラムすることによる論理値の並列スレーブ装置レジスタへのプログラマブルないロードを組み込む。例えば、表１は、本発明によるスレーブ装置に設けることができるプログラマブルな機器構成レジスタの一例を示す。表１は、レジスタにプログラムされる８ビットワードを示す。
【００１９】
【表１】
2008539496.tif 000003
【００２０】
このレジスタによって、出力ポートレジスタの全てのバンク又はバンクの選択を同一データでロードすることができる。
【００２１】
ビットＢ０〜Ｂ４は、バンク０からバンク４に供給される論理レベルをそれぞれ制御する。
Ｂｘ＝０：対応するバンクＸの全ての出力が０にロードされる。
Ｂｘ＝１：対応するバンクＸの全ての出力が１にロードされる。
ビット５及び６は、他の制御関数に対してリザーブされ、本例では０にロードされる。
【００２２】
ＢＳＥＬは、一部のバンクのみをロードすることを許容するとともにそれ以外のバンクをロードすることを許容しないフィルタビットである。
ＢＳＥＬ＝０：Ｂｘ＝０のとき、バンクＸの全ての出力が０でロードされる。
Ｂｘ＝１のとき、バンクＸの全ての出力が、出力ポートレジスタからの値でロードされる。
ＢＳＥＬ＝１：Ｂｘ＝１のとき、バンクＸの全ての出力が１でロードされる。
Ｂｘ＝０のとき、バンクＸの全ての出力が、出力ポートレジスタからの値でロードされる。
【００２３】
シリアルバスを用いてＩ／Ｏの複数のバンクを同一論理値を用いてプログラマブルにロードするスレーブ装置を、汎用入力／出力（ＧＰＩＯ）装置又は他のスレーブ装置として構成することができる。通信システムは、Ｉ２Ｃ，ＳＭバス及び／又は他のシリアル通信仕様に従う。
【００２４】
図１は、本発明の実施の形態によるスレーブ装置出力バンクを順次又は同時にプログラマブルに更新するデータ通信システム１００のブロック図である。ＳＤＡライン１１０及びＳＣＬライン１２０は、Ｉ２Ｃデータバス１２５として配置される。マスタ装置１３０及びスレーブ装置１４０は、Ｉ２Ｃデータバス１２５に取り付けられる。マスタ装置１３０は、ＳＣＬライン１２０及びＳＤＡライン１１０にそれぞれ電気的に接続されたクロック接続１３４及びデータ接続１３２を用いてＩ２Ｃデータバス１２５に電気的に接続される。
【００２５】
スレーブ装置１４０は、ＳＣＬライン１２０及びＳＤＡライン１１０にそれぞれ電気的に接続されたクロック接続１４４及びデータ接続１４２を用いてＩ２Ｃデータバス１２５に電気的に接続される。マスタ装置１３０は、スレーブ装置１４０を指定し（１５２）、例えば、順次又は同時に更新を行うために特定のモードで動作するようスレーブ装置をプログラムする（１５４）。
【００２６】
スレーブ装置１４０は、例えば、スレーブ装置１４０の動作モードを指定するレジスタにビットを配置することによってプログラム１５４を受信する（１６２）。スレーブ装置は１６６は、プログラミング１６２によって選択された出力ポートレジスタに対して、表１を参照して既に説明したように単一の論理値（例えば、論理０又は論理１）を同時にロードする（１６６）。
【００２７】
例えば、スレーブ装置を、５個の７分割ディスプレイを駆動するのに用いられる２０個のＩ／Ｏピンを有するＧＰＩＯ装置として構成することができる。２０個のピンを、４個のピンの５個のバンクに割り当てることができ、各バンクを、出力ポートに結合した４分割ディスプレイを駆動するＢＣＤデータワードを有するよう用いられる出力ポートレジスタに関連させる。機器構成レジスタを、５個のバンクのいずれを単一の論理値で更新するか表すのに用いることができ、他のバンクは、将来のローディングのために待機する。このようにして、指定された全ての出力ポートレジスタを、７分割ディスプレイをリセットするためにバスを通じて送信されるデータの減少したバンド幅を用いて論理０又は論理１にリセットすることができる。
【００２８】
図２は、本発明の実施の形態によるＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同一の論理値で同時にプログラムするデータ通信システムのシリアルデータストリーム２００の図である。図２に示すシリアルデータストリーム２００は、Ｉ２Ｃ通信プロトコルに従う。スレーブアドレス２０２は、Ｉ２Ｃバスのマスタによって送信されるＳＴＡＲＴ状態２２２に続く。スレーブアドレス２０２には、ＲＥＡＤ／ＷＲＩＴＥビット２１０と、スレーブ装置からのＡＣＫＮＯＷＬＥＤＧＥ信号２１２とが続く。図２に示すＲＥＡＤ／ＷＲＩＴＥ信号２１０は、マスタからスレーブへの書込みを表す論理０として表される。第１のデータバイト２０４、第２のデータバイト２０６及び第３のデータバイト２０８は、マスタ装置によって送信され、データバイト２０４，２０６，２０８の各々には、スレーブ装置からのＡＣＫＮＯＷＬＥＤＧＥ２１４，２１６，２１８がそれぞれ続く。
【００２９】
一実施の形態において、データバイト２０４を、既に説明したように、論理１を有する出力の２４ビットをロードするために、スレーブ装置の機器構成レジスタをプログラムするのに用いることができる。本実施の形態において、データバイト２０６，２０８は、２４ビット全てを更新するのに必要でない。その理由は、データバイト２０４を用いて２４ビット全てを同時にロードすることができるからである。他の例において、データバイト２０４，２０６，２０８を、それぞれがスレーブ装置内のシリアルデータバスに並列に接続された３個の８ビット出力ポートレジスタにシリアルに送信することができ、これによって、２４ビットを更新するために３バイト全てを要求する。
【００３０】
図３は、本発明の実施の形態によるＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同一論理値を用いてプログラムするシステム３００のブロック図である。スレーブ装置３２０は、Ｉ２Ｃバス３１０に接続される。図３のスレーブ装置３２０を、ＧＰＩＯ装置として示す。スレーブ装置３２０は、アッセンブリ及びＩ２Ｃバス３１０からのデータフローを指示／制御する入力回路３６０を有する。図３の入力回路３６０は、データをＩ２Ｃバス３１０から機器構成レジスタ３７０に供給する。
【００３１】
入力回路３６０は、出力ポートレジスタ３３１〜３３８にも結合される。入力回路３６０は、同一のデータが出力ポートレジスタ３３１〜３３８で同時に利用できるよう出力ポートレジスタ３３１〜３３８に並列に結合される。例えば、入力回路３６０を、Ｉ２Ｃバスのようなシリアルバスを用いて、並列データバスを用いて、又は他の論理フロー形態を用いて、出力ポートレジスタ３３１〜３３８に結合することができる。ある特定例において、出力ポートレジスタ３３１〜３３８を、４ビットデータバスを構成する４データ線に並列に接続した出力ポートレジスタ３３１〜３３８により４ビットレジスタとして構成することができる。他の特定例において、出力ポートレジスタ３３１〜３３８を、Ｉ２Ｃバスアーキテクチャを越す映する２ライン（及びグランド）に並列に接続した２出力ポートレジスタ（３３１，３３２），（３３３，３３４），（３３５，３３６）及び（３３７，３３８）の各グループにより４ビットレジスタとして構成することができる。スレーブ装置３２０は、任意の個数又は形態の出力ポートレジスタ及び／又は出力ポートドライバを組み込むことができる。
【００３２】
図３に示す出力ポートレジスタ３３１〜３３８は、出力ポートドライバ３４１〜３４８に結合され、その各々は、７分割ディスプレイ３５１〜３５８にそれぞれ結合される。この配置において、出力ポートレジスタ３３１〜３３８を、７分割ディスプレイ３５１〜３５８を駆動するために本発明により一度に又は並列にロードすることができる。
【００３３】
機器構成レジスタ３７０を、一つ以上のスレーブ装置形態を選択するために、Ｉ２Ｃバス３１０の通信プロトコルを用いてプログラムすることができる。出力ポートレジスタ３３１〜３３８は、回路３６０から供給されるデータを受信し、出力ポートレジスタ３３１〜３３８の各レジスタは、機器構成レジスタ３７０によって選択したスレーブ装置形態の基づいて、単一の論理値を出力ポートレジスタ３３１〜３３８の他のレジスタに並列に又は一度にロードする。
【００３４】
図４は、本発明の実施の形態によるＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同一論理値で同時にプログラムする方法４００のフローチャートである。方法４００は、スレーブ装置の出力ポートレジスタの少なくとも二つのバンクをプログラマブル機器構成レジスタによって選択されたスレーブ装置形態の基づいて出力ポートレジスタの少なくとも二つのバンクの他方によって一度に又は並列に更新するＧＰＩＯ装置のようなスレーブ装置を伴う。
【００３５】
方法は、例えば、スレーブ装置の機器構成レジスタを用いることによる特定の形態に対するスレーブ装置のプログラム（４１０）を伴う。プログラミングを、スレーブ装置の出力ポートレジスタを順次に更新するか並列に更新するかを表すために、Ｉ２Ｃ通信プロトコルを用いて実行することができる。形態４１５がシリアルローディングに対するものである場合、シリアルデータは、Ｉ２Ｃバスのようなシリアルデータ転送バスを用いて受信される（４２０）。出力ポートレジスタがロードされ（４３０）、各レジスタは、プログラミング４１０に基づいて他のレジスタと同時に更新を行う。
【００３６】
形態４１５が並列なローディングに対する場合、プログラミング４１０によって表される単一の論理値が、選択された全てのレジスタに同時にロードされる（４４０）。方法４００を実施するスレーブ装置としてのＧＰＩＯ−装置の使用は、説明のためであり、限定のためではない。
【００３７】
ハードウェア、ファームウェア、ソフトウェア又はその組合せを、ここで説明するようなＩ２Ｃシリアルデータバスを用いてスレーブ送致出力バンクをプログラマブルに更新する種々の実施の形態を実施するのに用いることができる。本発明に関連して用いられるマスタ装置の機能は、説明したＩ２Ｃマスタ装置に存在してもよく、又は、シリアルデータ通信システム１００に取り付けられたスタンドアローン又はネットワーク化されたコンピュータに存在してもよい。図１に示すシリアルデータ通信システム１００は、本発明の動作を実施するためにそのような通信システム、コンピュータ又は他のコンピュータ実行装置との通信に用いることができる構造の一例である
【００３８】
本発明によるプログラミングを実行するのに適した図１のマスタ装置１３０及び／又はスレーブ装置１４０の例は、典型的には、ランダムアクセスメモリ（ＲＡＭ）及び／又は読出し専用メモリ（ＲＯＭ）の一部の変形に結合した中央処理装置（ＣＰＵ）を有する。ＲＯＭを、プログラマブルＲＯＭ（ＰＲＯＭ）やイレーザブルＰＲＯＭのようなプログラム記憶用の他の記憶媒体とすることもできる。プロセッサは、制御信号、通信信号等を提供するために入力／出力（Ｉ／Ｏ）回路及び／又は他のバスを通じて他の内部素子及び外部素子とやり取りを行うことができる。
【００３９】
マスタ装置１３０及び／又はスレーブ装置１４０は、ハードディスクドライブ、フレキシブルディスクドライブ、ＤＣ−ＲＯＭドライブ、及び情報を読出し及び／又は記憶することができるＤＶＤのような他のハードディスクを含む一つ以上のデータ記憶装置を有することもできる。一実施の形態において、状態マシンを用いてＩ２Ｃバス上でスレーブ／マスタインタフェースをコツ減するソフトウェアを、ＣＤ−ＲＯＭ、ディスケット、又は携帯型で情報を記憶することができる他の形態の媒体に記憶し及び分配することができる。これら記憶媒体を、ＣＤ−ＲＯＭドライブ、ディスクドライブ等の装置に挿入し及び当該装置から読み出すことができる。ソフトウェアを、インターネットのようなネットワークを通じて電気的にダウンロードするようにデータ信号を通じて演算装置に送信することもできる。さらに、既に説明したように、本発明に関連する機能を実行するソフトウェアを、ＲＯＭのような演算装置の内部メモリに格納することもできる。
【００４０】
コンピュータ読出し可能なプログラムコードを有する結果的に得られるあらゆる（一つ以上の）プログラムを、記憶装置や送信装置のような一つ以上のコンピュータ利用可能な媒体内で実行することができ、これによって、本発明によるコンピュータプログラム又は製品を形成する。ここで用いるような用語「コンピュータ読出し可能媒体」、「製品」、「コンピュータプログラム」又は他の同様な用語は、あらゆる記憶装置のようなあらゆるコンピュータ読出し可能な媒体又はあらゆる送信装置で永久に又は一時的に存在するコンピュータプログラムを含むことを意図する。
【００４１】
（添付した特許請求の範囲、要約書及び図面を含む）本明細書で開示した各形態を、特に説明しない限り同一、等価又は同様な目的で体感することができる。したがって、特に説明しない限り、開示した各形態は、等価の又は同様な形態の一例に過ぎない。
【００４２】
本発明は、これまで説明した特定の例に制限されるものと考えるべきではない。本発明を適用することができる種々の変更、等価のプロセス及び種々の構造は、本発明の範囲内である。例えば、Ｉ２Ｃシリアルデータバスを用いたスレーブ装置出力バンクのプログラマブルな更新の実施の形態を、ＳＭバスや他のバス配置のような共通バス上の装置間で通信を行う同様に構成された１方向又は２方向インタフェースを用いて実施することができる。そのような変形を、添付した特許請求の範囲で適正に説明するような請求の範囲に記載されている発明の一部と考えることができる。
【図面の簡単な説明】
【００４３】
【図１】図１は、同一論理値を用いてＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同時にプログラムするデータ通信システムのブロック図である。
【図２】図２は、本発明の実施の形態によるＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同一の論理値で同時にプログラムするデータ通信システムのシリアルデータストリームの図である。
【図３】図３は、本発明の実施の形態によるＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同一論理値を用いてプログラムするシステムのブロック図である。
【図４】図４は、本発明の実施の形態によるＩ２Ｃスレーブ装置のＩ／Ｏの複数のバンクを同一論理値で同時にプログラムする方法のフローチャートである。
【図１】
2008539496.tif 000004
【図２】
2008539496.tif 000005
【図３】
2008539496.tif 000006
【図４】
2008539496.tif 000007
【国際調査報告】
2008539496.tif 000008
2008539496.tif 000009