(57)【要約】マスターデバイスをデータライン上の複数のスレーブデバイスに接続するためのマルチドロップシリアルバスは、スレーブデバイス間のデータラインに直列に接続された分圧抵抗器からなる分圧回路網と、データラインに接続されて、スレーブデバイスからの信号の電圧の順位を検出するように構成された電圧検出デバイスを備える。該順位は、各スレーブデバイスの接続位置を示す。
2011525004.tif 000002
【特許請求の範囲】
【請求項１】
マスターデバイスをデータライン上の複数のスレーブデバイスに接続するためのマルチドロップシリアルバスであって、
スレーブデバイス間のデータライン上に直列に接続された分圧抵抗器を備える分圧回路網と、
前記データラインに接続されて、前記スレーブデバイスからの信号の電圧順位を検出するように構成された電圧検出デバイスであって、該電圧順位は、各スレーブデバイスの接続位置を示す、電圧検出デバイス
を備える、マルチドロップシリアルバス。
【請求項２】
前記電圧検出デバイスは、前記マスターデバイスに結合されて、前記データライン上のアナログ電圧を、該アナログ電圧のレベルを表すデジタル値に変換するように構成されたアナログ−デジタル変換器を備える、請求項１のマルチドロップシリアルバス。
【請求項３】
前記アナログ−デジタル変換器は、前記マスターデバイスのデータ交換電圧閾値より低く、０ボルトより高い電圧範囲内のアナログ電圧を変換するように構成される、請求項２のマルチドロップシリアルバス。
【請求項４】
前記マスターデバイスは、前記アナログ−デジタル変換器から読み出された前記デジタル値を有するメモリ位置を備え、該デジタル値は、固有のスレーブデバイス識別情報に関連付けられており、該デジタル値は、前記固有のスレーブデバイスの接続位置を表す、請求項２のマルチドロップシリアルバス。
【請求項５】
各スレーブデバイスは、少なくとも１つの０ビットを含むデータバイトを有するメモリ位置を備える、請求項１のマルチドロップシリアルバス。
【請求項６】
前記スレーブデバイスは、印刷システムに関連する不揮発性メモリを使用可能なインク供給デバイスから構成される、請求項１のマルチドロップシリアルバス。
【請求項７】
前記複数のスレーブデバイスは４つのスレーブデバイスである、請求項１のマルチドロップシリアルバス。
【請求項８】
全ての前記分圧抵抗器が共通の抵抗値を有する、請求項１のマルチドロップシリアルバス。
【請求項９】
全ての前記分圧抵抗器が５１オームの抵抗値を有する、請求項８のマルチドロップシリアルバス。
【請求項１０】
前記分圧抵抗器は異なる抵抗値を有する、請求項１のマルチドロップシリアルバス。
【請求項１１】
マスターデバイスをデータライン上の複数の物理的位置にある複数のスレーブデバイスに接続するためのマルチドロップシリアルバスであって、
前記スレーブデバイスの位置に依存して、前記スレーブデバイスのうちの１つからデータラインに固有の信号を提供するための手段と、
前記データラインに接続されて、前記スレーブデバイスからの信号の順位を検出するための手段であって、前記信号の順位は、前記スレーブデバイスのうちの前記１つの位置を示す、手段
を備えるマルチドロップシリアルバス。
【請求項１２】
前記データラインに固有の信号を提供するための前記手段が分圧回路網を備え、該分圧回路網は、スレーブデバイス間の前記データラインに直列に接続された分圧抵抗器を有する、請求項１１のマルチドロップシリアルバス。
【請求項１３】
前記データラインに接続されて、前記スレーブデバイスの位置を示す、前記スレーブデバイスからの信号の順位を検出するための前記手段が、前記マスターデバイスに結合されたアナログ−デジタル変換器を備え、該変換器は、前記データライン上のアナログ電圧を、該アナログ電圧のレベルを表すデジタル値に変換するように構成されてなる、請求項１１のマルチドロップシリアルバス。
【請求項１４】
データラインを有するマルチドロップシリアルバス上のスレーブデバイスの物理的位置を検出するための方法であって、
ａ）前記スレーブデバイスから前記データラインに固有の信号を提供するステップであって、該データラインは、複数のスレーブデバイスの接続位置の間に直列に接続された分圧抵抗器を有する、ステップと、
ｂ）前記データラインにおける前記スレーブデバイスの接続位置を示す前記固有の信号の電圧を検出するステップ
を含む方法。
【請求項１５】
前記スレーブデバイスから前記データラインに固有の信号を提供する前記ステップが、
ｃ）前記スレーブデバイスのメモリ位置に固有のデータバイトを書き込むステップと、
ｄ）前記スレーブデバイスが、前記データライン上に前記固有のデータバイトを送信するステップ
を含むことからなる、請求項１４の方法。
【請求項１６】
前記固有の信号の電圧を検出する前記ステップが、前記データライン上のアナログ電圧を、該アナログ電圧のレベルを表すデジタル値に変換するように構成されたアナログ−デジタル変換器を用いて前記データライン上の電圧を検出するステップを含む、請求項１４の方法。
【請求項１７】
ｃ）前記データライン及び前記アナログ−デジタル変換器に結合されたマスターデバイスによって、前記デジタル値を読み出して、該デジタル値を前記スレーブデバイスの格納されている識別標識と比較するステップ
をさらに含む、請求項１６の方法。
【請求項１８】
ｄ）複数のスレーブデバイスについて前記（ａ）乃至（ｃ）のステップを繰り返すステップであって、各スレーブデバイスは、線形順序を有する（すなわち、線形に順序付けられた）固有のアドレスを有することからなる、ステップと、
ｅ）前記線形順序で配列されているときに、前記デジタル値が単調関数を生成するか否かを判定するステップ
をさらに含む、請求項１７の方法。
【請求項１９】
固有の信号を提供する前記ステップが、前記スレーブデバイスが少なくとも１つの０ビットを含むデータバイトを駆動するステップを含み、前記０ビットによって生じる前記データライン上の電圧が、前記データラインに結合されたマスターデバイスのデータ交換電圧閾値より低く、０ボルトより高い電圧範囲内に入ることからなる、請求項１４の方法。
【請求項２０】
前記固有の信号の電圧を検出する前記ステップが、
（ａ）前記固有の信号が受信されるまで前記データライン上の電圧を繰り返しサンプリングするステップと、
（ｂ）前記固有の信号が受信されることが予測されるときに、前記データライン上の電圧を一回だけサンプリングするステップ
からなるステップのグループから選択される、請求項１４の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的には、シリアルバスプロトコルを用いてデジタルデバイスに相互接続されたモジュール式デバイスを有するシステムに関連する。シリアルバスに沿って取り付けられたデバイスの物理的な位置（物理的位置）を検出することが望ましいことがよくある。このことは、異なるそれぞれのデバイスに、シリアルバスに沿ったある指定された物理的位置を占有させる場合に望まれる場合がある（本明細書では、デバイスは装置及び／または素子を含む）。
【背景技術】
【０００２】
シリアルバスに接続するように構成されたいくつかのデバイスは、「スマート」デバイスとみなすことができ、該バス上の該デバイスの位置を決定するためのマイクロコントローラ及び関連する内蔵システムを含む。しかしながら、マルチドロップシリアルバス(multi-drop serial bus)に取り付けられるように構成された他のデバイスは、「ダム（dumb）」デバイスとみなされ、それらの物理的位置を単独で決定するためのマイクロコントローラや他のシステムを備えていない。それにもかかわらず、これらのタイプのダムデバイスのバス上における物理的位置を決定することが望ましい場合がある。たとえば、シリアルバスに取り付けられた不揮発性メモリを使用可能なインク供給デバイスを有する印刷システムでは、特定のインクカラーカートリッジが、間違って設置されていないか、または、間違って交換されていないか（これらの間違った設置／交換はインクの混合の原因となる可能性がある）を検出することが望ましい場合がある。そのようなインク供給デバイス及び他の類似のシリアルバスデバイスは、通常は、それら自体の位置を決定するために必要なマイクロコントローラ及び追加の回路を備えておらず、そのようなマイクロコントローラや回路を設けるとすれば、それらのデバイスが複雑になり、かつ、コストが高くなってしまうであろう。
【０００３】
シリアルバスに沿ったダムデバイス（たとえばデータ処理能力のないデバイス）の物理的位置を検出するためのこれまでに使用されてきた他のアプローチは、機械的キーイング（mechanical keying）や追加の配線を含む。これらのアプローチは、そのようなシステムを機械的及び電気的に複雑にし、かつコスト高にする傾向がある。
【０００４】
本開示の種々の特徴及び利点は、本開示の特徴を例示する以下の詳細な説明及び添付の図面から明らかであろう。
【図面の簡単な説明】
【０００５】
【図１】本開示にしたがう、ダムデバイスの位置を検出するように構成されたシリアルバスシステムの１実施形態の略図である。
【図２】本開示にしたがう、シリアルバス上のデバイスの位置を検出するための方法の１実施形態における論理ステップを示すフローチャートである。
【図３】本開示にしたがう、シリアルバス上のデバイスの位置を検出するための方法の１実施形態にしたがって使用可能な２つの代替のデータ読み出し手順を示す図である。
【図４】電圧対スレーブデバイスのアドレスをプロットしたグラフであり、該グラフは、本開示にしたがう位置検出システムを有するシリアルバスの１実施形態に沿ったデバイスの正しい配置状態を示す単調な応答曲線を示している。
【図５】電圧対スレーブデバイスのアドレスをプロットしたグラフであり、該グラフは、本開示にしたがう位置検出システムを有するシリアルバスの１実施形態に沿ったデバイスの正しくない配置状態を示す不規則な応答曲線を示している。
【発明を実施するための形態】
【０００６】
以下、図面に示された例示的な実施形態を参照して説明するが、本明細書では、該実施形態を記述するために特定の用語を使用する。しかしながら、当然のこととして、これによって本開示の範囲を限定することは意図されていない。本明細書で説明している特徴の代替及び他の変更、並びに、本明細書で説明している原理の他の応用（これらは、関連する技術分野に属して本開示を手にした当業者が思いつくものであろう）も本開示の範囲内にあるとみなされる。
【０００７】
周知のように、シリアルバスは、コンピュータやマイクロコントローラなどのマスターデジタルデバイスと、該バスに直列（または順番）に取り付けられた一群のコンポーネント間でデータを転送するサブシステムである。初期のコンピュータバスは、文字通り、複数接続を有する並列電線であったが、今では、この用語は、同じ論理機能を提供する任意の物理的配列に対して使用されている。現代のコンピュータバスは、並列接続とビットシリアル接続の両方を使用することができ、及び、マルチドロップ（電気的に並列）またはデージーチェンの配列に結線することができ、または、ユニバーサルシリアルバス（ＵＳＢ）の場合のように、スイッチハブ（switched hub）によって接続することができる。シリアルバスは、同じ組の電線（ワイヤー）を介していくつかの周辺機器を論理的に接続することができ、それらのデバイスに直列に、すなわち、一度に１ビットのデータを順番に送信する。これは、各シンボルの全てのビットがともに送信される並列通信とは対照的である。シリアルバスの各々は、デバイスやカードやケーブルを共に物理的に差し込むための１組のコネクタを画定（または定義）する。シリアルコンピュータバスは、技術の進歩によって、それらがデータをより高速に送信できるようになるにつれてより一般的なものになってきた。
【０００８】
上記のように、デバイス自体が、該デバイスの位置を単独で決定するためのシステムを有していない場合に、マルチドロップシリアルバス上における該デバイスの物理的位置を検出することが望ましい場合がある。有利なことに、デバイスを電子的に識別するが、バス中の電線の数を増やさない、マルチドロップシリアルバス上の物理デバイスの位置を検出するためのシステム及び方法を開発した。シリアルバスの１実施形態の略図を図１に示す。このバスは、該シリアルバス上でマスターデバイス１１２に接続されている複数のスレーブデバイス１１０ａ−１１０ｄ（Ａ１−Ａ４とラベル付けされている）を有している。マスターデバイスを、デジタルＡＳＩＣなどの任意のタイプのマイクロコントローラとすることができる。各スレーブデバイスには、該デバイスの電源から、電力ライン１１４とグランドライン（接地線）１１６の間に接続された（たとえば、３．３Ｖ（Ｖ＝ボルト）のレベルの）電圧源１１５を介して電力が供給される。各スレーブデバイス１１０は、スレーブデバイスのデジタルアドレスなどの情報や識別ビットなどを格納することができる不揮発性メモリ回路１３０を備える。
【０００９】
スレーブデバイスは全て、マスターデバイス１１２に相互接続されているデータライン（データ線）１１８及びクロック信号ライン１２０に直列に接続されている。データ電圧Ｖ（たとえば、３．３Ｖ）は、データ電圧源１１９とグランドライン１１６の間のデータライン１１８に供給される。バスがアイドル状態のとき（休止しているとき）に、データライン１１８を高の論理状態に維持するために、該データラインにプルアップ抵抗器１２２が設けられている。
【００１０】
図１に示すシリアルバスは、I2Cシリアルバスのタイプものである。I2C（Inter-Integrated Circuit：集積回路間）バスは、集積回路間に通信リンクを提供する。I2Cバスは、典型的には、２つのアクティブな電線（active wire）とグランド接続から構成される。アクティブな電線は、DATA（データ）及びCLK（クロック）と呼ばれ、元々は双方向である。バスに接続された全てのデバイスは、それ自体の固有のアドレスを有しており、該デバイスの機能に応じて、受信機及び／または送信機となることができる。図１の実施形態では、スレーブデバイスは、データ転送を開始する機能を有していない。
【００１１】
動作時、マスターデバイスは、最初に、接続されている全てのスレーブデバイスへの「注意」信号として作用するＳＴＡＲＴコマンドを発する。次に、マスターデバイスは、該マスターがアクセスすることを望むデバイスのアドレス、及び、そのアクセスが読み出し動作であるか書き込み動作であるかの指示を提供するビットを含むバイトを送信する。
【００１２】
アドレスバイトを受け取った後、全てのスレーブデバイスは、自身のアドレスと該バイトを比較する。アドレスが一致しない場合には、スレーブデバイスは、マスターデバイスによって開始される後続のＳＴＯＰ状態によってバスが解放されるまで単純に待つことになる。一方、アドレスが一致した場合には、スレーブデバイスの回路は、肯定（ACK）応答信号を生成し、該信号がデータラインを通じて返される。
【００１３】
マスターは、肯定応答信号を受信すると、スレーブデバイスに対するデータの送受信を開始することができる。当業者であれば、I2Cバス上のデータの転送を制御するクロック同期及びデータ転送アービトレーション法に詳しいであろう。全てが終了すると、マスターデバイスはＳＴＯＰ状態を発行する。該ＳＴＯＰ状態は、バスが解放されたこと、及び、接続されているスレーブデバイスが、いつでも別の送信を開始することを要求（または期待）してよいことを示す信号である。
【００１４】
I2Cバスは、データ転送を開始する際に２つ以上のデバイスをアクティブにすることができる。図１の実施形態がこの場合である。典型的な動作では、クロック信号とデータ信号は、マスターデバイス１１２から、クロック信号ライン１２０とデータライン１１８を介して直列に供給され、スレーブデバイス用の動作電圧は、電圧源ライン１１４とグランドライン１１６の間に提供される。I2Cシリアルバスのこの実施形態では、これら４つのライン（線）は一般的な導体である。しかしながら、上述したように、スレーブデバイス１１０は、ダムデバイスであって、バスに沿った該デバイスの物理的位置を該デバイスが決定して、その情報をマスターデバイス１１２に中継できるようにする回路を備えていない。マスターデバイスがスレーブデバイスの位置を電子的に決定できるようにするために、バス内に追加の導体が通常含まれることになろう。
【００１５】
有利なことには、抵抗分圧回路網（抵抗分圧ネットワークともいう）が、デバイス１１０のそれぞれの物理的位置を電子的に決定することを可能にするバスに結合された回路と共に、このシリアルバスに設けられる。具体的には、このバスは、データライン１１８上に分圧器の一連の抵抗器（分圧抵抗器）１２４ａ−１２４ｄを備え、データラインからの接続（ライン）１１８ａをアナログ−デジタル変換器（ＡＤＣ）１２６に加える。この構成は、各デバイス１１０からの信号の電圧を、該デバイスの物理的位置に依存して変更するはしご形分圧回路網（ラダー分圧回路網）を形成する。たとえば、デバイスＡ４からの信号は、分圧抵抗器１２４のうちの４つを通過し、デバイスＡ１からの信号は、分圧抵抗器１２４のうちの１つだけを通過する。これら２つの信号が同じ電圧レベルで生じた場合には、それらの信号がＡＤＣによってサンプリングされるときには、Ａ４からの信号の電圧の方がＡ１からの信号の電圧よりも高い。ＡＤＣ１２６は、アナログ電圧を、該電圧のレベルを示すデジタル信号に変換する回路を備えている。マスターデバイスは、このデジタル信号を用いて、スレーブデバイス１１０からの信号の電圧レベルに基づいて、バス上のスレーブデバイス１１０の物理的位置を電子的に識別する。
【００１６】
ＡＤＣ１２６は、スレーブデバイス１１０と同様にダムデバイスとすることができ、通信リンク１３２（別のコミュニケーションバス（通信バス）とすることもできる）を介して、マスターデバイス１１２からの制御信号を受信し、及び、マスターデバイス１１２にデータを提供する。ＡＤＣは、マスターデバイスとは別個のデバイスとして図示されているが、ＡＤＣを、物理的にマスターデバイスの一部とすることができ、または、ＡＤＣを離れた場所に配置することができる。ＡＤＣ及びはしご形分圧回路網は、マスターデバイス１１２のデータ転送電圧範囲外で動作するように設計され、これによって、通常のデータ転送を妨害しないようにしながらも、バス上のデバイスとデジタル的に通信するときに、該デバイスの電圧順位を検出することによって位置を識別できるようにされている。たとえば、マスターデバイス１１２を、１Ｖという低い方の閾値データ転送電圧で動作するように構成し、これによって、１Ｖより（電圧）レベルの低い任意の信号を無視するようにすることができる。しかしながら、ＡＤＣ１２６からの変換された電圧を用いて、マスターデバイス１１２を、１Ｖより低い特定の信号とゼロＶよりも幾分高い（たとえば、１００ｍＶの）特定の信号とを区別して、位置の識別をできるように構成することができる。分圧抵抗器１２４の各々は、分圧抵抗器１２４の総和とプルアップ抵抗器１２２との間で生じる電圧が、低い電圧閾値より低い電圧になるように十分な抵抗値を有している。しかしながら、分圧抵抗器の抵抗値は、通常の動作時におけるマスターデバイスからのデータ信号が損なわれないほどに十分に小さい。１実施形態では、分圧抵抗器の各々は、約５１オームの抵抗値を有するが、これは、使用可能な多くの抵抗値のうちの１つに過ぎない。さらに、所与のグループ内の分圧抵抗器は、後述するように、異なる抵抗値を有することができる。
【００１７】
上記したように、スレーブデバイス１１０の各々は、固有のデジタルアドレスを有している。このデジタルアドレスを、それぞれのスレーブデバイスのメモリ回路１３０に格納することができる。マスターデバイスは、また、スレーブデバイスのデジタルアドレスが格納されているメモリ位置（記憶場所）１２８（ＭＭでラベル付けされている）を有する。図２は、図１に示すようなシリアルバス上のデバイスの位置を検出するための方法の１実施形態の論理ステップの概要を示すフローチャートである。一般的に、マスターデバイス１１２は、各スレーブデバイスの固有のデジタルアドレスを用いて、各スレーブデバイスにデータバイトを書き込み、次に、そのデータバイトを返すように各スレーブデバイスに順にクエリーを行うようにプログラムされている。このデータバイトは、少なくとも１つのゼロビットを含むように限定的に選択される。このゼロビットは、ＡＤＣがマスターデバイスによって使用されるデジタル値に変換することができる低い電圧信号をもたらす。マスターデバイスは、スレーブデバイスのアドレスに関連付けられたこのデジタル値を読み取り、その後、スレーブデバイスが正しい順番で配置されているか否かを判定することができる。
【００１８】
このプロセスの１実施形態のステップは、図２のフローチャートにより詳しく示されている。マスターデバイス１１２のプログラミングは、先ず、変数「Ｉ」を１に設定し、変数「Ｎ」を、バスに取り付けることが可能なスレーブデバイスの最大数に等しい値に設定する（ステップ２０２）。次に、マスターデバイスは、スレーブデバイス「Ｉ」（最初は１番目のスレーブデバイスである）との通信を開始する（ステップ２０４）。この通信開始プロセスは、上述のように、最初にＳＴＡＲＴパルスを送信することを伴う標準I2Cプロトコルにしたがうものとすることができる。バスデータ転送プロトコルにしたがって、マスターデバイスは、次に、特定のスレーブデバイスの指定されたメモリ位置（図１の１３０）にデータバイトを書き込む（ステップ２０６）。このメモリ位置は、「スクラッチアドレス（ScratchAddress）」と呼ばれる。このデータバイトは、たとえば、（ステップ２０６において１６進数「０ｘ００」で表される）デジタルシーケンス００００００００からなるものとすることができる。０という数字は低い電圧パルスで表されるのでこのシーケンスは有用であるが、スレーブデバイスがバスを駆動するときは、真の０値を有さない。データバイトは、少なくとも１つのデータ０を含む限り、異なるシーケンスを有することができる。スレーブデバイスが、このデータバイトを受信して、それのメモリ内のスクラッチアドレスに記憶すると、該スレーブデバイスは、肯定応答パルスを送信し、マスターデバイスは、データノード電圧を読み取ることによって該パルスを受信する（これもステップ２０６）。
【００１９】
データバイトがスクラッチアドレスに書き込まれると、マスターデバイス１１２は、読み出しシーケンスを開始して、スクラッチアドレスから該データバイトを読み出す（ステップ２０８）。この読み出しプロセスは、このプロセス中に送信可能なビットシーケンスの１例を提供する、図３に示すいくつかのサブステップを含んでいる。図３を見ると、ＳＴＡＲＴ信号３０２は、全てのスレーブデバイスに信号を受信する準備ができたことを知らせる２パルスシーケンスである。ＳＴＡＲＴ信号に続いて、マスターデバイスは、アクセスされることになるスレーブデバイスのアドレスを含むバイトを送信する。図３に示すように、このバイトは複数の部分を含むことができる。アドレスバイトの最初の４つの数字（または桁）３０４を、デバイスタイプ識別子とすることができる。図３に示す実施形態では、これらの数字は１０１０であり、これはデバイスを不揮発性メモリデバイスとして識別する。当業者には、他のデバイスタイプ識別子を、データバスに接続可能な異なるタイプのデバイス用に使用できることが理解されよう。次の３つの数字（または桁）３０６は、アクセスされることになるスレーブデバイスの特定のアドレスを表すことができる。当業者には、３つの数字からなるアドレスグループは、多くのデバイスに十分でありうる８個の異なるデジタルアドレスまでを許容することが理解されよう。さらに多くのスレーブデバイスが使用される場合には、より長いアドレスシーケンスを使用して、この最初のバイトに提供することができる。このバイトの最後のビット３０８は、リード／ライトビットであり、今の例では、マスターデバイスがスレーブデバイスからデータを読み出すことを意図していることを示すために１に設定されている。
【００２０】
マスターデバイスから送信されたこの最初のバイトを受信すると、アドレスシーケンス３０６を認識するスレーブデバイスは、肯定応答パルス３１０をデータラインに送信する。上記したように、標準I2Cプロトコルの下では、アドレスシーケンスを認識しないスレーブデバイスは応答せず、次のＳＴＯＰ信号が送信されるまで、後続の全ての送信を無視する。
【００２１】
マスターデバイスは、肯定応答パルス３１０を受信すると、アドレスバイト３１２を送信する。このアドレスバイトは、スクラッチアドレスを含み、マスターデバイスが、スクラッチアドレスに格納されているデータの読み出しを望んでいることを示す。上記したように、スクラッチアドレスに格納されているデータは、少なくとも１つのデータ０（ゼロ）を含むデータバイトであり、ステップ２０６においてマスターデバイスがスクラッチアドレスのメモリ位置に前に書き込んだデータである。スレーブデバイスは、アドレスバイトを受信すると、別の確認応答パルス３１４を送信する。
【００２２】
この時点で２つのことが起こる。第１に、スレーブデバイスは、データライン１１８の駆動を開始して、スクラッチアドレスに格納されているデータバイトシーケンス３１６を送信する。同時に、マスターデバイスは、ＡＤＣ１２６に、データライン１１８ａ上の電圧を読み取るように指示する。この読み取りステップは、図２のフローチャートにおけるこの時点での分岐によって示されているように、少なくとも２つの異なるやり方で起こりうる。この読み取りステップの第１のアプローチは、連続的に読み取ることを含む。このアプローチでは、ＡＤＣは、指定された電圧窓（電圧ウィンドウ）内にある電圧信号（ステップ２１２）を受信するまでデータノード電圧を繰り返し読み取る（ステップ２１０）。
【００２３】
上記したように、スレーブデバイスの位置検出用に指定された電圧ウィンドウは、データ転送電圧範囲外の電圧範囲にあり、たとえば、低い方の閾値電圧１Ｖより低く、ゼロＶより幾分高い（たとえば１００ｍＶ）範囲である。通常のデータ転送中は、データラインは、データ０（ゼロ）に対しては０Ｖに引き下げられ、データ１に対しては閾値電圧より上のある値に引き上げられる。したがって、それらの値の間にある電圧を有する任意のパルスは、マスターデバイスによってデータ０として認識される。しかしながら、データ閾値より低く、０（ゼロ）より幾分高い、データライン１１８ａ上のアナログ電圧パルスを、特定のアナログ電圧レベルを示すデジタル信号に変換するようにＡＤＣを構成することができる。有利なことに、マスターデバイスによって認識されるデータ０が０の電圧を有している限り、データラインがスレーブデバイスによって駆動されて、該スレーブデバイスがデータ０を送信するときは、該電圧は、閾値より低いが真の０よりは高い（この電圧は、位置検出用の所望の電圧ウィンドウ、すなわち電圧範囲内にある）。さらに、抵抗分圧回路網が存在するがために、これらの電圧は、該電圧の送信元のデバイス位置に依存して変化することになる。
【００２４】
連続的読み取りアプローチでは、ＡＤＣ１２６は、データライン１１８ａ上のビットレートより高い（通常は少なくとも２倍高い）あるサンプリングレートでデータライン１１８ａ上の電圧パルスをサンプリングする。この高いサンプリングレートによって、各ビットパルスを確実にサンプリングすることができる。（ステップ２１２における判定の結果）電圧パルスが上述した電圧ウィンドウ内にない場合には、読み取りプロセス（ステップ２１０）が繰り返される。これは、ＡＤＣが、位置検出用の電圧ウィンドウ内にある電圧パルスを検出するまで続行される。
【００２５】
この連続的読み取りアプローチは図３に示されており、図３において、一連の白抜きの矢印３２２は、データノードにおける電圧がＡＤＣによって繰り返し読み取られることを示している。この読み取りステップは、所望の低い電圧信号が受信されるまで続行する。スレーブデバイスによって駆動されるデータバイト３１６が少なくとも１つのデータ０を含んでいる限り、これによって、ステップ２１２で判定されるように、電圧ウィンドウ内の少なくとも１つの低い電圧信号が提供されることになる。位置検出ルーチンの間、データライン上に有効なリターン信号が送られることをあてにしない（または要求しない）ように、すなわち、データバイトを無視するように、マスターデバイスをプログラムすることができる。代替的には、該データバイトを、マスターデバイスによってスクラッチアドレスに最初に書き込まれたバイトと比較して、エラーが発生していないか否かを検証するように、マスターデバイスをプログラムすることができる。標準I2Cプロトコルにしたがって、プロセスのこの時点では、図３の３１８に「ACKなし」で示すように、肯定応答パルスは生成されない。マスターデバイスは、次に、ＳＴＯＰ信号パルス３２０を供給して、バスをアイドル状態（休止状態）に戻し、３２６に示すように、引き続いて、その後のデータ交換を行う準備をすることができる。
【００２６】
連続的読み取りアプローチの代替として、スレーブデバイスがデータ０を駆動しているときだけリターン信号電圧を読み出す（ステップ２１６）ように、読み取りステップの時間（またはタイミング）を調整することができる。このアプローチも図３に示されている。この代替では、システムは、スレーブデバイスが（データバイトを表す）０を駆動しているときだけＡＤＣがデータノードを読み取るようにプログラムされる。サンプリングレートはバス上のビットレートより速いので、電圧をサンプリングするタイミングを非常に正確に選択することができる。さらに、データバイト３１６のビットシーケンスは既知であるので、電圧をサンプリングする時点を、データバイトのデータ０がスレーブデバイスによって送信される時点に一致するように正確に調整することができる。１実施形態では、ＡＤＣ読み取りのタイミングは、データバイトの４番目のビットの送信とうまく一致させられている。したがって、４番目のビットがデータ０である限り、タイミングが合わせられた読み取りは、位置検出に有効である。ここで、データバイトが全て０の場合には、このタイミング調整アプローチはさらに単純になる。
【００２７】
タイミング調整データ読み取りアプローチは、図３において太い黒色の矢印３２４で表されている。この矢印は、ＡＤＣ読み取りステップが、（矢印３２２によって表される）連続的読み取りアプローチにおける繰り返し実行とは異なり、タイミング調整アプローチにおいて一度だけ実行されることを表している。ＡＤＣ読み取りは、スレーブデバイスによって駆動されたデータ０とタイミングが合うように調整されるので、返された信号の電圧は、指定された電圧ウィンドウ内にあり、これを検証するための追加のステップは不要である。
【００２８】
連続的読み取り法とタイミング調整法のいずれが使用されようと、スレーブデバイスがデータ０を駆動しているときにＡＤＣ１２６がデータライン１１８ａの電圧を読み取ると、ＡＤＣが検出したアナログ電圧値は、対応するデジタル値に変換されることになる。マスターデバイス１１２は、次に、（通信リンク１３２を介して）このデジタル値を読み出して、それを、この場合「Ｉ」の値によって表すことができるデバイスアドレスに対応する位置にあるメモリ１２８に格納することができる（ステップ２１４）。別の言い方をすれば、マスターデバイスは、特定のアドレスを有するスレーブデバイスに予め決定されたデータバイトを書き込み、その後、該スレーブデバイスに該データバイトを送信するように指示し、該データバイトのデータ０の電圧を表すデジタル信号をＡＤＣから読み出して、その値を、スレーブアドレスに関連するメモリに格納する。
【００２９】
図２に戻ると、スレーブデバイスからのデータバイト（図３の３１６）の読み出しに続いて、システムは、「Ｉ」値を増加させて、各スレーブデバイスについて、すなわち、Ｉ＝Ｎになるまで、この処理を繰り返す（ステップ２２０）。抵抗分圧回路網があるがために、返されるデータバイトの０ビットの正確な電圧レベルは、バスに沿ったスレーブデバイスの物理的位置に依存することになる。ＡＤＣによる各スレーブデバイスからのデータバイトの電圧読み出しが完了すると、電圧値及び対応するスレーブデバイスの「Ｉ」値またはアドレス一式がマスターデバイス内のメモリに格納される。マスターデバイスは、次に、電圧値をそれらのアドレスに対して分析して、スレーブデバイスが適切な順番で配置されているか否かを判定することができる（ステップ２２４）。これは、スレーブデバイスの識別（「Ｉ」の値は、デバイスの識別情報またはアドレスに代わってそれらの役目を果たす）の順に電圧値が並ぶように配置しなおす（アンシャッフルする）、すなわち、そのように電圧値を配列し、その後、上記のステップで返された特定の電圧値を検査することを含む。
【００３０】
このアンシャッフルプロセスの結果を表す２つのグラフが図４及び図５に示されている。図４のグラフ４００は、スレーブデバイスが適正な位置にあるときに予想される結果のタイプを表しており、図５のグラフ５００は、順番が間違っている状態を表している。データポイントボックス４０２−４０８の各々は、特定のスレーブデバイスの識別情報またはアドレスＡ１−Ａ４に対応する電圧値を表している。この分析では、アドレスＡ１−Ａ４の順番は、バスに沿ったスレーブデバイスの位置の所望の順番に合致している。これらの電圧値はすべて、データ転送閾値電圧４１０より小さく、かつ、ある最小の電圧閾値４１８（たとえば、１００ｍＶ）より大きい。
【００３１】
全てのスレーブデバイスがバスに沿った適正な物理的位置にあるときには、このグラフのデータポイントは、曲線４１２で表されるように単調関数を生じるようにほぼ一列に並ぶであろう。分圧抵抗器（図１の１２４）の全てが同じ抵抗値を有している場合には、この曲線の形状は、対数関数的になる傾向がある。当業者には、この曲線が実質的に直線になるように抵抗値を選択できることが理解されよう。いずれにせよ、スレーブデバイスが適正な順番で配置されている場合には、曲線は単調であり、電圧値は、サンプリングの順番に依存して、スレーブデバイスと共に順に大きくなるかまたは小さくなる。この単調関数が生じるのは、抵抗分圧回路網が、それぞれのスレーブデバイスのバス上の位置に依存して、電圧を増分式に変化させるからである。図４に示す曲線４１２は上昇形の曲線であるが、スレーブデバイスのクエリーの順番が逆の場合には、下降形の曲線になりうる。
【００３２】
公称電圧（すなわち、各デバイスによって提供される電圧レベルまたは電圧範囲）の間隔４１４は、任意に決めることができ、ノイズによって間違った順番が示されないように選択することができる。たとえば、回路が、電圧結果を１００ｍＶだけずらす可能性があるノイズを生じうる場合には、信号ノイズが間違った順番をもたらさないように、公称電圧の間隔４１４を２００ｍＶになるように選択することができる。公称電圧の間隔は、分圧器抵抗（図１の１２４）の各々の抵抗値に部分的に依存する。５１オームの抵抗値を有する抵抗器が、３．３Ｖの動作電圧を有するシリアルバス上に４つのスレーブデバイスの位置を有するシステムで使用された。この構成は、スレーブデバイスの信号間に約２００ｍＶの公称電圧間隔をもたらす。各データポイントの値の変動の範囲は、正方形のデータポイントボックス４０２−４０８の垂直方向の寸法によって表される。データ値の公称間隔４１４は、データポイント間隔４１６をゼロより大きい値に維持して、実際の順番が確実に表されるようにするのに役立つ。
【００３３】
図２に戻って、図４に示す単調曲線４１２は、スレーブデバイスが適正な順番であることを示している。したがって、ステップ２２４における、いずれかのデバイスの順番が間違っているかというクエリーは否定的な答えを生じ、システムは、スレーブデバイスの順番が肯定的であることを示す指標を返すことになる（ステップ２２８）。しかしながら、スレーブデバイスの順番が間違っている場合には、図５のグラフ５００のようなグラフが生成される可能性がある。このグラフでは、データポイント５０２−５０８によって生成される曲線５１０は単調関数ではない。この曲線によれば、電圧値が一貫して上昇しているわけでも、一貫して下降しているわけでもないので、デバイスＡ２及びＡ４の順番が間違っているか、または、全てのデバイスの順番が間違っている。かかる状況が起こったときには、図２のステップ２２４におけるクエリーは、少なくとも１つのデバイスの順番が間違っていることを示すであろう。この状況では、システムを、エラーメッセージをユーザーに対して生成する（ステップ２２６）ようにプログラムすることができ、これによって、修復作業を行うことが可能になる。システムを、エラーの推定される（または明らかな）性質、たとえば、順番が間違っていると推定される（または順番が間違っていることが明らかな）デバイスを示すより詳細なエラーメッセージを提供するようにプログラムすることもできる。
【００３４】
図２に概要が示された位置検出シーケンスを、所定時間間隔で繰り返し実行することができ、または、トリガイベント（トリガとなるイベント）に基づいて実行することができる。もちろん、該シーケンスが実行されて、順番が間違っていることを示す信号が返された場合には、成功信号（順番が正しいことを示す信号）が受信されるまで処理を繰り返すようにシステムをプログラムすることができる。
【００３５】
したがって、本明細書で開示したシステム及び方法によれば、シリアルバスにさらなる導体を追加することなく、または、スレーブデバイスに位置検出回路を追加することなく、シリアルバスに沿ったダムスレーブデバイスの位置を検出することが可能になる。位置検出は、スレーブデバイスが、少なくとも１つのデータ０を含むデータストリングでデータラインを駆動しているときに行われる。分圧抵抗器回路網があるために、各スレーブデバイスから受信された信号のデータ０の部分の電圧は、該デバイスの物理的位置に依存して変わる。これによって、専用の回路がデータライン及びアナログ−デジタル変換器と通信して各デバイスの位置を識別することが可能になる。
【００３６】
低い電圧の例を挙げたが、マスターデバイスの高い電圧閾値を超える信号を用いる類似のプロセスを適用できることが理解されるべきである。たとえば、マスターデバイスは、データ転送用により高い５Ｖの電圧閾値を有することができ、この場合、該マスターデバイスを、その電圧を超える信号を無視するように構成することができる。したがって、上述したプロセスを、５Ｖを超える電圧範囲（たとえば、６〜８Ｖ）内で動作するように構成することができ、抵抗器分圧回路網が、このより高い電圧範囲内の所望の位置電圧ステップ関数を提供する抵抗値を有する抵抗器を備えるようにすることができる。それゆえ、このシステム及び方法は、データ転送の電圧範囲外にある低い（または高い）電圧信号を識別することによってマルチドロップシリアルバスに沿ったデバイスの物理的位置を電気的に検出できるようにするシリアルデータバス分圧回路網を提供する。
【００３７】
上記の構成は、本明細書で開示した原理の応用を例示したものである。当業者には、特許請求の範囲に記載された本開示の原理及び概念から逸脱することなく数多くの変更をなしうることは明らかであろう。
【図１】
2011525004.tif 000003
【図２】
2011525004.tif 000004
【図３】
2011525004.tif 000005
【図４】
2011525004.tif 000006
【図５】
2011525004.tif 000007
【国際調査報告】
2011525004.tif 000008
2011525004.tif 000009