(57)【要約】一実施の形態によれば、通信プロトコルを実現するために用いられるシリアルデータ線及びクロック線を有するシリアルデータ転送バスを用いた通信システム（１００，３００）は、スレーブ装置出力バンクの順次又は同時のプログラマブルな更新を行う。通信システムは、二つ以上のスレーブ装置及び／又は出力ドライバ（３５０，３６０）の二つ以上のバンクを有する一つのスレーブ装置を有する。各スレーブ装置は、シリアルデータを受信し、シリアルデータからアセンブルしたデータを提供する。各スレーブ装置のプログラマブルレジスタ（３８０）は、一つ以上のスレーブ装置形態を選択するために通信プロトコルを用いてプログラムされる。二つ以上のスレーブ装置の各々及び／又は出力ドライバの二つ以上のバンクは、プログラマブルレジスタによって選択されたスレーブ装置形態の各々に基づいて、順次に又は二つ以上のスレーブ装置及び／又は出力ドライバの二つ以上のバンクの他方と調和しながら更新を行う。
2008539644.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は、Ｉ２Ｃ装置で実現するためのＩ２Ｃマスタインタフェース及びスレーブインタフェースを開示し、参照によりここに組み込まれる。検証されたＩ２Ｃインタフェースを設けることによって、システム設計者は、Ｉ２Ｃ仕様及びプロトコルの詳細を指定する必要がない。この論文のマスタインタフェース及びスレーブインタフェースは、状態マシンに基づく。状態マシンに基づくシステム及び方法は、米国特許第６，７９９，２３３号に更に記載されており、参照によりここに組み込まれる。
【発明の開示】
【０００８】
本発明の種々の態様は、上記課題を指摘し及び解決するようにＩ２Ｃシリアルデータバスを用いてスレーブ装置出力バンクをプログラマブルに更新する方法及び装置を対象とする。
【０００９】
一実施の形態によれば、本発明は、通信プロトコルを実現するのに用いられるシリアルデータ線及びクロック線を有するＩ２Ｃシリアルデータ転送バスを用いる通信システムを対象とする。通信システムは、二つ以上のスレーブ装置を有し、各スレーブ装置は、シリアルデータ転送バスを用いてシリアルデータを受信するとともにシリアルデータからのアセンブルデータワードを提供する入力回路を有する。各スレーブ装置のプログラマブルレジスタは、一つ以上のスレーブ装置形態を選択するよう通信プロトコルを用いてプログラムされる。各スレーブ装置は、入力回路によって提供されたアセンブルデータワードを用いて出力ドライバを更新する出力ドライバの少なくとも一つのバンクを更に有する。二つ以上のスレーブ装置の各々は、プログラマブルレジスタによって選択された各スレーブ装置形態に基づいて、順次に又は二つ以上のスレーブ装置の他方と調和しながら出力ドライバを更新する。
【００１０】
他の実施の形態によれば、本発明は、通信プロトコルを実現するのに用いられるシリアルデータ線及びクロック線を有するＩ２Ｃシリアルデータ転送バスを用いる通信システムを対象とする。通信システム用のスレーブ装置は、シリアルデータ転送バスを用いてシリアルデータを受信するとともにシリアルデータからのアセンブルデータワードを提供する入力回路を有する。スレーブ装置のプログラマブルレジスタは、一つ以上のスレーブ装置形態を選択するよう通信プロトコルを用いてプログラムされる。スレーブ装置は、入力回路によって提供されたアセンブルデータワードを用いて出力ドライバを更新する出力ドライバの少なくとも二つのバンクを更に有する。少なくとも二つのスレーブ装置の各々は、プログラマブルレジスタによって選択された各スレーブ装置形態に基づいて、順次に又は少なくとも二つのスレーブ装置の他方と調和しながら出力ドライバを更新する。
【００１１】
更に別の実施の形態によれば、本発明は、スレーブ装置の出力ドライバの少なくとも二つのバンクを更新するためのＩ２Ｃ通信システムのスレーブ装置の方法を対象とする。方法は、出力ドライバの少なくとも二つのバンクを順次更新するか並列に更新するかを指定するために通信プロトコルを用いたスレーブ装置のレジスタのプログラミングを伴う。シリアルデータは、シリアルデータ転送バスを用いて受信され、一つ以上のデータワードにアセンブルされる。出力ドライバの少なくとも二つのバンクは、アセンブルされた一つ以上のデータワードを用いて更新され、各バンクは、プログラムされたレジスタに基づいて、他のバンクに対して順次に又は並列に更新する。
【００１２】
他の実施の形態によれば、本発明は、Ｉ２Ｃスレーブ装置の出力ドライバの少なくとも二つのバンクを用いて一つ以上のデータワードを書き込むコンピュータ実行可能な命令を有するコンピュータ読出し可能媒体を対象とする。コンピュータ実行可能な命令は、出力ドライバの少なくとも二つのバンクの各々が出力ドライバの少なくとも二つのバンクの他方に対して順次更新するか並列に更新するかを指定するために、Ｉ２Ｃ通信プロトコルを用いてスレーブ装置のレジスタをプログラミングするステップを伴う。一つ以上のデータワードは、Ｉ２Ｃスレーブ装置内で、受信したシリアルデータからＩ２Ｃ通信プロトコルを用いてアセンブルされる。出力ドライバの少なくとも二つのバンクは、一つ以上のアセンブルデータワードを用いて更新され、各バンクは、プログラムされたレジスタに基づいて、他のバンクに対して順次又は並列に更新する。
【００１３】
本発明の上記要約は、本発明の各実施の形態及び各実現を説明することを意図するものではない。本発明の利点及び実現は、詳細な説明、特許請求の範囲及び添付図面を参照することによって、本発明の完全の理解のために明らかになる。
【００１４】
本発明を、添付図面に関連して本発明の種々の実施の形態の詳細な説明を考察することによって理解することができる。
【発明を実施するための最良の形態】
【００１５】
本発明が種々の変更及び変形に従う間、その詳細を、図面中で例示して示すとともに詳細に説明する。しかしながら、本発明が記載した特定の実施の形態に限定されるものでないことを理解すべきである。それに対して、添付した特許請求の範囲によって規定された発明の範囲内にある全ての変更、等価物及び変形をカバーすることを意図する。
【００１６】
本発明は、一般に、アイ・スクエアード・シー（Ｉ２Ｃ）シリアルデータバスを用いてスレーブ装置出力バンクをプログラマブルに更新する方法及び装置に適用可能である。本発明は、アイ・スクエアード・シー（Ｉ２Ｃ）シリアルデータ通信バスに特に有利であることがわかり、システム管理バス（ＳＭバス）アーキテクチャ及び／又はプロトコル又は他のシリアルデータ通信システムのような他のバス及び通信プロトコルにも有利である。説明のために、本発明を、スレーブ装置に対する通信を制御するマスタ装置を有するＩ２Ｃに関連して説明するが、本発明は、これに限定されるものではない。
【００１７】
マスタは、Ｉ２ＣバスアーキテクチャのＩ２Ｃスレーブとの通信を制御する。Ｉ２Ｃスレーブは、携帯電話、ＰＤＡ及びスマートホンからＬＣＤ  ＴＶ、医療機器、ゲーム及び他のアプリケーションまでの範囲の分野において種々のアプリケーションを見つける。Ｉ２Ｃスレーブの特定のアプリケーションは、汎用入力／出力（ＧＰＩＯ）装置としてのものである。このタイプの装置において、入力部又は出力部として用いることができる複数の多機能ピンが存在する。入力部として用いる場合、これらのピンは、典型的には、モニタされる所定の信号の状態を表す。
【００１８】
Ｉ２Ｃスレーブの特定のアプリケーションは、汎用入力／出力（ＧＰＩＯ）装置としてのものである。このタイプの装置において、入力部又は出力部として用いることができる複数の多機能ピンが存在する。出力部として構成する場合、これらの装置を、例えば、多数の発光ダイオード（ＬＥＤ）を駆動するためにシステムで用いることができる。これら出力部は、バンクに分割され、Ｉ２Ｃバスを通じて個別にプログラムされる。８ビットのバンクは、一つのＩ２Ｃ  ＷＲＩＴＥトランザクションによってプログラムされる。バンクのデータは、ＷＲＩＴＥサイクルの終了時に、すなわち、ＡＣＫＮＯＷＬＥＤＧＥクロックサイクルとも称される９番目のクロックサイクルで更新される。時々、アプリケーションは、全てのバンクが１ワードごとではなく同時に更新されることを要求する。これは、Ｉ２Ｃ  ＳＴＯＰ状態において全てのＷＲＩＴＥサイクルの終了時に全てのバンクを更新することによって行われる。提案された特徴によって、更新のためにどのイベントを用いるかを制御するプログラマブルビットに基づいて、いずれかのイベントでバンクを更新することができる。このビットを、Ｉ２Ｃバスを通じてプログラムすることができる。
【００１９】
一実施の形態によれば、通信プロトコルを実現するのに用いられるシリアルデータ線及びクロック線を有するシリアルデータ転送バスを用いた通信システムが、スレーブ装置出力バンクを順次又は同時にプログラマブルに更新する。通信システムは、二つ以上のスレーブ装置及び／又は出力ドライバの二つ以上のバンクを有する一つのスレーブ装置を有する。各スレーブ装置は、シリアルデータを受信し、シリアルデータからのアセンブルデータワードを提供する。各スレーブ装置のプログラマブルレジスタは、一つ以上のスレーブ装置形態を選択するよう通信プロトコルを用いてプログラムされる。二つ以上のスレーブ装置の各々及び／又は出力ドライバの二つ以上のバンクは、プログラマブルレジスタによって選択された各スレーブ装置形態に基づいて、順次に又は二つ以上のスレーブ装置及び／又は出力ドライバの二つ以上のバンクの他方と調和しながら更新する。
【００２０】
一実施の形態において、本発明は、Ｉ２Ｃバスを通じて制御ビットをプログラムすることによってスレーブ装置出力バンクを順次又は同時にプログラマブルに更新する。例えば、表１は、本発明によるスレーブ装置に設けることができるプログラマブルレジスタの一例である。表１は、デフォールトセッティングとしてレジスタにプログラムした８ビットワードを示す。６個の最上位ビット及び最下位ビットはまだ割り当てられていない。出力変更（ＯＣＨ）に割り当てられたビットに１の論理値を割り当てる。
【００２１】
【表１】
2008539644.tif 000003
【００２２】
表１に示すモード選択レジスタのＯＣＨビットは、スレーブ装置の出力ドライバがＳＴＯＰ又はＡＣＫＮＯＷＬＥＤＧＥクロックパルスで更新されるか否かを決定するのに用いられる。
ＯＣＨ＝０：ＳＴＯＰコマンドでの出力更新
ＯＣＨ＝１：ＡＣＫＮＯＷＬＥＤＧＥクロックサイクルでの出力更新
【００２３】
表１に示すようにＯＣＨ＝１であるとき、個々のレジスタはＡＣＫＮＯＷＬＥＤＧＥサイクルで更新され、それに対して、ＯＣＨ＝０であるとき、全てのレジスタは、ＳＴＯＰコマンドで更新される。一実施の形態によれば、通信プロトコルを実現するのに用いられるシリアルデータ線及びクロック線を有するシリアルデータ転送バスを用いる通信システムは、スレーブ装置出力バンクのプログラマブルな更新を、ＡＣＫＮＯＷＬＥＤＧＥクロックサイクルで順次に又はＳＴＯＰコマンドで同時に行う。
【００２４】
スレーブ装置を、汎用入力／出力（ＧＰＩＯ）装置、符号化／復号（ＣＯＤＥＣ）装置又は他のスレーブ装置として構成することができる。通信システムは、Ｉ２Ｃ，ＳＭバス及び／又はシリアル通信しように従うことができる。
【００２５】
図１は、本発明の実施の形態によるスレーブ装置出力バンクを順次又は同時にプログラマブルに更新するデータ通信システム１００のブロック図である。ＳＤＡライン１１０及びＳＣＬライン１２０は、Ｉ２Ｃデータバス１２５として配置される。マスタ装置１３０及びスレーブ装置１４０は、Ｉ２Ｃデータバス１２５に取り付けられる。マスタ装置１３０は、ＳＣＬライン１２０及びＳＤＡライン１１０にそれぞれ電気的に接続されたクロック接続１３４及びデータ接続１３２を用いてＩ２Ｃデータバス１２５に電気的に接続される。
【００２６】
スレーブ装置１４０は、ＳＣＬライン１２０及びＳＤＡライン１１０にそれぞれ電気的に接続されたクロック接続１４４及びデータ接続１４２を用いてＩ２Ｃデータバス１２５に電気的に接続される。マスタ装置１３０は、スレーブ装置１４０を指定し（１５２）、例えば、順次又は同時に更新を行うために特定のモードで動作するようスレーブ装置をプログラムする（１５４）。
【００２７】
スレーブ装置１４０は、例えば、スレーブ装置１４０の動作モードを指定するレジスタにビットを配置することによってプログラム１５４を受信する（１６２）。マスタ装置１３０は、Ｉ２Ｃデータバス１２５を通じてシリアルデータをスレーブ装置１４０に送信し（１５６）、スレーブ装置は、シリアルデータを受信し（１６４）、シリアルデータを、例えば、スレーブ装置１４０による出力に望ましい一つ以上のワードに変換する。スレーブ装置１４０は、図３を参照して更に説明するように、プログラミング１５４に基づいて一つ以上のワード１６６を順次又は同時に書き込む。
【００２８】
図２は、本発明の実施の形態によるスレーブ装置出力バンクを順次又は同時にプログラマブルに更新するデータ通信システムのシリアルデータストリーム２００の図である。図２に示すシリアルデータストリーム２００は、Ｉ２Ｃ通信プロトコルに適合する。スレーブアドレス２０２は、Ｉ２Ｃバス上でマスタによって送信されるＳＴＡＲＴ状態２２２に続く。スレーブアドレス２０２にＲＥＡＤ／ＷＲＩＴＥビット２１０が続き、その次には、スレーブ装置からのＡＣＫＮＯＷＬＥＤＧＥ信号２１２が続く。図２において、ＲＥＡＤ／ＷＲＩＴＥ信号２１０を、マスタからスレーブへの書込みを表す論理０として示す。第１のデータバイト２０４、第２のデータバイト２０６及び第３のデータバイト２０８は、マスタ装置によって送信され、各データバイト２０４，２０６，２０８には、スレーブ装置からの各ＡＣＫＮＯＷＬＥＤＧＥ２１４，２１６，２１８が続く。
【００２９】
各データバイト２０４，２０６，２０８を、スレーブ装置においてワードにアセンブルすることができ、これを、例えば、２進化１０進法（ＢＣＤ）ＬＥＤディスプレイを駆動するためにスレーブ装置の出力ドライバに提供することができる。本発明によれば、スレーブ装置は、各ＡＣＫＮＯＷＬＥＤＧＥ２１４，２１６，２１８に応答して出力ドライバを順次更新することができ、又は、スレーブ装置は、ＳＴＯＰ状態２２０に応答して出力ドライバを同時に更新することができる。
【００３０】
図３は、本発明によるプログラマブル出力バンク書込みを行うシステム３００のブロック図である。スレーブ装置３２０は、Ｉ２Ｃバス３１０に接続される。図３に示すスレーブ装置３２０は、ＧＰＩＯ装置として、最初のＬＥＤディスプレイ３３０から最後のＬＥＤディスプレイ３４０に結合される。最初のＬＥＤディスプレイ３３０から最後のＬＥＤディスプレイ３４０までの間に点で示すように、任意の個数のディスプレイをスレーブ装置３２０によって駆動することができる。各ＬＥＤディスプレイ３３０〜３４０は、専用の出力ドライバ３５０〜３６０によってそれぞれ駆動される。本例において、４ビットワード３５２，３５４は、ＬＥＤディスプレイ３３０，３４０をそれぞれ更新するために出力ドライバ３５０，３６０によって用いられる。４ビットワード３５２，３５４を、同一ワードにすることができ、繰り返すことができ、又は異なるワードとすることができる。
【００３１】
スレーブ装置３２０は、図２に示すようなシリアルデータをＩ２Ｃバス３１０から受信する。本例で図示したスレーブ装置３２０の回路３９０は、データ入力回路３７０及びプログラマブルレジスタ３８０を有する。例えば、プログラマブルレジスタ３８０を、上記表１のモード選択レジスタと同様に規定することができる。入力回路３７０は、Ｉ２Ｃバス３１０を用いてシリアルデータを受信するとともに、シリアルデータからアセンブルデータワード３５２，３５４を出力ドライバ３５０，３６０の少なくとも二つのバンクに供給する。
【００３２】
プログラマブルレジスタ３８０は、Ｉ２Ｃバス３１０の通信プロトコルを用いて、一つ以上のスレーブ装置形態を選択するようプログラムされる。出力ドライバ３５０，３６０の少なくとも二つのバンクは、入力回路３７０から供給されるアセンブルデータワードを受信し、出力ドライバ３５０，３６０の少なくとも二つのバンクの各々は、プログラマブルレジスタ３８０によって選択されたスレーブ装置形態に基づいて、順次に又は出力ドライバ３５０，３６０の少なくとも二つのバンクの他方と調和しながら出力ドライバ３５０，３６０を更新する。
【００３３】
図４は、本発明の実施の形態によるスレーブ装置出力バンクのプログラマブルな更新を順次又は同時に行う方法４００のフローチャートである。方法４００は、ＧＰＩＯ装置のようなスレーブ装置を伴い、スレーブ装置は、プログラマブルレジスタによって選択されたスレーブ装置形態に基づいて、順次に又は出力ドライバの少なくとも二つのバンクの他方と調和しながらスレーブ装置の出力ドライバの少なくとも二つのバンクを更新する。この方法は、例えば、スレーブ装置のレジスタを用いることによって特定の形態のスレーブ装置をプログラミングする（４１０）。スレーブ装置の出力ドライバを順次に更新するか並列に更新するかを指定するために、プログラミングを、Ｉ２Ｃ通信プロトコルを用いて実行することができる。シリアルデータは、Ｉ２Ｃバスのようなシリアルデータ転送バスを用いて受信され（４２０）、一つ以上のデータワードにアセンブルされる（４３０）。出力ドライバの少なくとも二つのバンクは、アセンブルされた一つ以上のデータワードを用いて更新され（４４０）、各バンクは、プログラミング４１０に基づいて、他のバンクに対する更新を順次に又は並列に行う（４４０）。方法４００を実施するスレーブ装置としてのＧＰＩＯの使用は、説明のみのためであり、制約のためのものではない。
【００３４】
図５は、本発明の他の実施の形態による複数のスレーブ装置のプログラマブルな更新を順次又は同時に行う方法５００のフローチャートである。説明のために、方法５００も、Ｉ２Ｃバス上のＧＰＩＯスレーブ装置に関連して説明するが、これに限定されるものではない。
【００３５】
例えば、二つ以上のスレーブ装置をＩ２Ｃバスに接続することができる。各スレーブ装置は、Ｉ２Ｃバスを用いてシリアルデータを受信するとともにシリアルデータからアセンブルデータワードを形成する入力回路を有する。各スレーブ装置のプログラマブルレジスタは、通信プロトコルを用いて一つ以上のスレーブ装置形態を選択するようプログラムされる（５１０）。シリアルデータは、Ｉ２Ｃバスを用いて受信され（５２０）、データワードにアッセンブルされる（５３０）。各スレーブ装置は、アセンブルデータワードを用いて出力ドライバを更新する（５４０）。二つ以上のスレーブ装置の各々は、プログラミング５１０によって選択された各スレーブ装置形態に基づいて、順次に又は二つ以上のスレーブ装置の他方と調和しながら出力ドライバを更新する。
【００３６】
ハードウェア、ファームウェア、ソフトウェア又はその組合せを、ここで説明するようなＩ２Ｃシリアルデータバスを用いてスレーブ送致出力バンクをプログラマブルに更新する種々の実施の形態を実施するのに用いることができる。本発明に関連して用いられるマスタ装置の機能は、説明したＩ２Ｃマスタ装置に存在してもよく、又は、シリアルデータ通信システム１００に取り付けられたスタンドアローン又はネットワーク化されたコンピュータに存在してもよい。図１に示すシリアルデータ通信システム１００は、本発明の動作を実施するためにそのような通信システム、コンピュータ又は他のコンピュータ実行装置との通信に用いることができる構造の一例である
【００３７】
本発明によるプログラミングを実行するのに適した図１のマスタ装置１３０の例は、典型的には、ランダムアクセスメモリ（ＲＡＭ）及び／又は読出し専用メモリ（ＲＯＭ）の一部の変形に結合した中央処理装置（ＣＰＵ）を有する。ＲＯＭを、プログラマブルＲＯＭ（ＰＲＯＭ）やイレーザブルＰＲＯＭのようなプログラム記憶用の他の記憶媒体とすることもできる。プロセッサは、制御信号、通信信号等を提供するために入力／出力（Ｉ／Ｏ）回路及び／又は他のバスを通じて他の内部素子及び外部素子とやり取りを行うことができる。
【００３８】
マスタ装置１３０は、ハードディスクドライブ、フレキシブルディスクドライブ、ＤＣ−ＲＯＭドライブ、及び情報を読出し及び／又は記憶することができるＤＶＤのような他のハードディスクを含む一つ以上のデータ記憶装置を有することもできる。一実施の形態において、状態マシンを用いてＩ２Ｃバス上でスレーブ／マスタインタフェースをコツ減するソフトウェアを、ＣＤ−ＲＯＭ、ディスケット、又は携帯型で情報を記憶することができる他の形態の媒体に記憶し及び分配することができる。これら記憶媒体を、ＣＤ−ＲＯＭドライブ、ディスクドライブ等の装置に挿入し及び当該装置から読み出すことができる。ソフトウェアを、インターネットのようなネットワークを通じて電気的にダウンロードするようにデータ信号を通じて演算装置に送信することもできる。さらに、既に説明したように、本発明に関連する機能を実行するソフトウェアを、ＲＯＭのような演算装置の内部メモリに格納することもできる。
【００３９】
コンピュータ読出し可能なプログラムコードを有する結果的に得られるあらゆる（一つ以上の）プログラムを、記憶装置や送信装置のような一つ以上のコンピュータ利用可能な媒体内で実行することができ、これによって、本発明によるコンピュータプログラム又は製品を形成する。ここで用いるような用語「コンピュータ読出し可能媒体」、「製品」、「コンピュータプログラム」又は他の同様な用語は、あらゆる記憶装置のようなあらゆるコンピュータ読出し可能な媒体又はあらゆる送信装置で永久に又は一時的に存在するコンピュータプログラムを含むことを意図する。
【００４０】
（添付した特許請求の範囲、要約書及び図面を含む）本明細書で開示した各形態を、特に説明しない限り同一、等価又は同様な目的で体感することができる。したがって、特に説明しない限り、開示した各形態は、等価の又は同様な形態の一例に過ぎない。
【００４１】
したがって、種々の実施の形態を、Ｉ２Ｃシリアルデータバスを用いてスレーブ装置出力バンクをプログラマブルに更新する本発明の実現例として説明した。本発明は、これまで説明した特定の例に制限されるものと考えるべきではない。本発明を適用することができる種々の変更、等価のプロセス及び種々の構造は、本発明の範囲内である。例えば、Ｉ２Ｃシリアルデータバスを用いたスレーブ装置出力バンクのプログラマブルな更新の実施の形態を、ＳＭバスや他のバス配置のような共通バス上の装置間で通信を行う同様に構成された１方向又は２方向インタフェースを用いて実施することができる。そのような変形を、添付した特許請求の範囲で適正に説明するような請求の範囲に記載されている発明の一部と考えることができる。
【図面の簡単な説明】
【００４２】
【図１】図１は、本発明の実施の形態によるスレーブ装置出力バンクを順次又は同時にプログラマブルに更新するデータ通信システムのブロック図である。
【図２】図２は、本発明の実施の形態によるスレーブ装置出力バンクを順次又は同時にプログラマブルに更新するデータ通信システムのシリアルデータストリームの図である。
【図３】図３は、本発明によるプログラマブル出力バンク書込みを行うシステムのブロック図である。
【図４】図４は、本発明の実施の形態によるスレーブ装置出力バンクのプログラマブルな更新を順次又は同時に行う方法のフローチャートである。
【図５】図５は、本発明の他の実施の形態による複数のスレーブ装置のプログラマブルな更新を順次又は同時に行う方法のフローチャートである。
【図１】
2008539644.tif 000004
【図２】
2008539644.tif 000005
【図３】
2008539644.tif 000006
【図４】
2008539644.tif 000007
【図５】
2008539644.tif 000008
【国際調査報告】
2008539644.tif 000009
2008539644.tif 000010