(57)【要約】【課題】１ビットのアドレス誤りに対し，誤ったスレーブノードがアクセスされることを回避でき電子装置の信頼性を高める。【解決手段】少なくとも一つのマスターノードと，前記マスターノードにＩ2Ｃインタフェースを介して接続される複数のスレーブノードを有し，  前記複数のスレーブノードのそれぞれに対し，互いに２ビット以上異なるアドレス距離を有するスレーブアドレスが設定されている。【選択図】図６
2006244416.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのマスターノードと，
前記マスターノードにＩ2Ｃインタフェースを介して接続される複数のスレーブノードを有し，
前記複数のスレーブノードのそれぞれに対し，互いに２ビット以上異なるアドレス距離を有するスレーブアドレスが設定されている
ことを特徴とする電子装置システム。
【請求項２】
Ｉ2Ｃコントローラと，
前記Ｉ2ＣコントローラにＩ2Ｃインタフェースを介して接続され，複数のチャネルポートを有するスイッチと，
前記複数のチャネルポートのそれぞれに接続されたスレーブノードの複数のグループを有し，
前記複数のグループの各々のグループ内に属する複数のスレーブノードのそれぞれに対し，互いに２ビット以上異なるアドレス距離を有するスレーブアドレスが設定されている
ことを特徴とする電子装置システム。
【請求項３】
請求項２において，
さらに，前記Ｉ2Ｃコントローラを制御するプロセッサを有し，
前記プロセッサからのコマンドに従い，前記Ｉ2Ｃコントローラは，前記スイッチのスレーブノードアドレスと，いずれのチャネルポートを選択接続するかの通知を含むフレームを送信し，
次いで，前記選択接続されるチャネルポートのグループに属する複数のスレーブノードの内の一つのスレーブノードアドレスを含むフレームを送信し，前記スレーブノードアドレスのスレーブノードに対するアクセスを可能とする
ことを特徴とする電子装置システム。
【請求項４】
Ｉ2Ｃコントローラと，
前記Ｉ2ＣコントローラにＩ2Ｃインタフェースを介して接続され，複数のチャネルポートを有する第１のスイッチと，
前記第１のスイッチの複数のチャネルポートのそれぞれに接続された複数のボードを有し，
前記複数のボードの各々は，更に複数のチャネルポートを有する第２のスイッチと，前記第２のスイッチの複数のチャネルポートのそれぞれに接続されたスレーブノードの複数のグループを有し，
前記複数のグループの各々のグループ内に属する複数のスレーブノードのそれぞれに対し，互いに２ビット以上異なるアドレス距離を有するスレーブアドレスが設定されている
ことを特徴とする電子装置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，マスターノード及びスレーブノードを有する電子装置システムのアドレス設定方法に関する。特に，少なくとも一つのマスターノードと，バス型シリアル通信システムを用いて複数のスレーブノードを接続する電子装置システムにおけるスレーブノードのアドレス設定に関する。
【背景技術】
【０００２】
多くのデバイス又は回路基板を共通バスに接続するシステムとして，少なくとも一つのマスターノードと，バス型シリアル通信を用いて複数のスレーブノードを接続する構成が知られている。かかる構成について,更にPhilips 社開発のＩ2Ｃ（ＩSquare C）バスを用いるシリアル通信システムを利用することが提案されている（非特許文献１）。
【０００３】
すなわち，シリアル通信システムでは，図１に示すように，少なくとも一つのマスターノードとなるデバイスＭＳ１に対し，複数のスレーブノードとなるデバイスＳＬ１〜ＳＬｎがＳＤＡ（Serial DAta ）とＳＣＬ（Serial CLock）の２本の信号線に直列に接続される。
【０００４】
かかるＩ2Ｃ（ＩSquare C）バスを用いたネットワークでは，通信の主導権は全てマスターノードＭＳが握り，各スレーブノードＳＬからマスターノードＭＳに対して通信要求を出したり，各スレーブノード同士が通信を行うことはできない。そして，マスターノードＭＳのデバイスから各スレーブノードＳＬのデバイス（以下，単にＩ2Ｃデバイスという）にデータを送信するためには，デバイス毎に識別ＩＤを付与される必要がある。
【０００５】
図２は，複数のＩ2Ｃデバイスに対するスレーブアドレス割当ての一例である。Ｉ2ＣデバイスＳＬ１，ＳＬ２，ＳＬ３のそれぞれに，「1010 000」，「1010 001」，「1010 010」 というように１ビットずつ変化するアドレスが付されている。したがって，図３に示すように，マスターノードデバイスＭＳ１から，アクセス先アドレスとして「1010 000」を送ると，Ｉ2ＣデバイスＳＬ１に設定されたアドレスと一致し，このＩ2ＣデバイスＳＬ１のみが，送受信可能になる。
【０００６】
ここで，かかるＩ2Ｃバスを用いるシリアル通信システム関し，従来技術として各ノードのＩＤ（アドレス）管理を行う方法が提案されている（特許文献１）。特許文献１に記載の発明は，複数のオプション機器を直列に接続する場合にＩ2Ｃバスを用いる。そして，１ビットＩＤを，インバータを用いて二段のオプション機器に設定することによりアドレス設定を簡単にするというものである。
【０００７】
また別の技術として，特許文献２には，マスターノードからのＩＤ設定の履歴をスレーブノードで管理して，ＩＤの正誤をチェック可能として，同一ＩＤを重複して複数ノードに与えてしまうエラーを回避することが示されている。
【非特許文献１】THE I2C-BUS SPECIFICATION VERSION 2.1 January 2000, Philips Semiconductors 発行
【特許文献２】特開２００１−１７５５８４号公報
【特許文献３】特開２００１−１３４５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のように，マスターノードＭＳのデバイスがスレーブノードＳＬのデバイスにアクセスするためには，スレーブアドレスの指定が必要である。しかし，ファームウエアのバグや，結線の欠陥等により，１ビットの変化により意図しないスレーブアドレスが発行されてしまう恐れが有る。
【０００９】
たとえば，図４に示すように，マスターノードデバイスＭＳ１から本来アクセスすべきスレーブノードのアドレス「1010 000」が誤ったアドレス「1010 001」に変化し，誤送信されると，本来送受信したかったＩ2ＣデバイスＳＬ１ではなく，誤ったアドレス「1010 001」に対応する，異なったＩ2ＣデバイスＳＬ２にアクセスしてしまうことになる。
【００１０】
このとき，Ｉ2ＣデバイスＳＬ１がシステムを制御する役割を負っていた場合，システムの動作は保証されないことになる。たとえば，電源投入・切断処理を起動するようなスイッチ機能を有するデバイスである場合，システム運用に与える影響は非常に大きい。
【００１１】
しかし，かかる問題に対する解決策は，上記従来技術である非特許文献１，特許文献１，２のいずれにも開示も示唆も示されていない。
【００１２】
したがって，本発明の目的は，上記誤アドレス生成により，誤ったアクセス先の設定を回避するＩ2Ｃスレーブアドレス割り当てを用いる，マスターノード及びスレーブノードを有する電子装置システムを提供することにある。
【課題を解決するための手段】
【００１３】
上記の課題を達成する本発明に従う電子装置システムは，その第１の態様として，少なくとも一つのマスターノードと，前記マスターノードにＩ2Ｃインタフェースを介して接続される複数のスレーブノードを有し，  前記複数のスレーブノードのそれぞれに対し，互いに２ビット以上異なるアドレス距離を有するスレーブアドレスが設定されていることを特徴とする。
【００１４】
上記の課題を達成する本発明に従う電子装置システムは，その第２の態様として，Ｉ2Ｃコントローラと，前記Ｉ2ＣコントローラにＩ2Ｃインタフェースを介して接続され，複数のチャネルポートを有するスイッチと，前記複数のチャネルポートのそれぞれに接続されたスレーブノードの複数のグループを有し，前記複数のグループの各々のグループ内に属する複数のスレーブノードのそれぞれに対し，互いに２ビット以上異なるアドレス距離を有するスレーブアドレスが設定されていることを特徴とする。
【００１５】
上記の課題を達成する本発明に従う電子装置システムは，その第３の態様として，第２の態様において，さらに，前記Ｉ2Ｃコントローラを制御するプロセッサを有し，前記プロセッサからのコマンドに従い，前記Ｉ2Ｃコントローラは，前記スイッチのスレーブノードアドレスと，いずれのチャネルポートを選択接続するかの通知を含むフレームを送信し，次いで，前記選択接続されるチャネルポートのグループに属する複数のスレーブノードの内の一つのスレーブノードアドレスを含むフレームを送信し，前記スレーブノードアドレスのスレーブノードに対するアクセスを可能とすることを特徴とする。
【００１６】
上記の課題を達成する本発明に従う電子装置システムは，その第４の態様として，Ｉ2Ｃコントローラと，前記Ｉ2ＣコントローラにＩ2Ｃインタフェースを介して接続され，複数のチャネルポートを有する第１のスイッチと，前記第１のスイッチの複数のチャネルポートのそれぞれに接続された複数のボードを有し，前記複数のボードの各々は，更に複数のチャネルポートを有する第２のスイッチと，前記第２のスイッチの複数のチャネルポートのそれぞれに接続されたスレーブノードの複数のグループを有し，前記複数のグループの各々のグループ内に属する複数のスレーブノードのそれぞれに対し，互いに２ビット以上異なるアドレス距離を有するスレーブアドレスが設定されていることを特徴とする。
【００１７】
本発明の特徴は，以下に図面に従い説明される実施の形態例から更に明らかになる。
【発明の効果】
【００１８】
本発明により，１ビット誤りによる誤ったアドレス指定が回避され，意図しないデバイスを誤操作することを回避でき，通信システムの信頼性を向上することができる。
【発明を実施するための最良の形態】
【００１９】
以下に図面に従い，本発明の実施の形態例を説明する。なお，実施の形態例は本発明の理解を助けるためのものであり，本発明の技術的範囲がこれに限定されるものではない。
【００２０】
図５は，本発明の基本概念を説明する図であり，本発明では，スレーブノードアドレスを個々のアドレスが最低２ビット異なるように割り当てられる。すなわち，実施例としてスレーブノードデバイスＳＬ１に設定されるアドレス「1010 000」，スレーブノードデバイスＳＬ２に設定されるアドレス「1010 011」，更にスレーブノードデバイスＳＬ３に設定されるアドレス「1010 101」は，互いに少なくとも２ビットのアドレス距離を有している。
【００２１】
かかる相互に少なくとも２ビットのアドレス距離を有している特徴により図６に示すように，スレーブアドレスが１ビットだけ反転した場合には，いずれのスレーブデバイスも送受信不可となる。この場合，本来意図していた制御を行うことができないが，他のデバイスをアクセスしてシステムに影響を与えることを回避することができる。これによりシステム制御のインタフェースの信頼性を向上することができる。
【実施例１】
【００２２】
図７は，本発明を適用する情報処理システムの第１の実施例構成ブロック図である。
【００２３】
図７に示す情報処理システムは，サーバシステムの例であり，システム全体を制御するシステム制御部１と，これにＩ2Ｃインタフェース２を通して接続され，サーバシステムの入出力装置部に相当するＩＯボード３を有している。
【００２４】
ＩＯボード３は，制御・監視用の種々のＩ2Ｃデバイス，Ｉ2Ｃ制御可能なチップセットや，ＩＯコントローラデバイスが実装される。一方，システム制御部１には，システムを監視・制御するためのプロセッサ１０と，プロセッサ１０に接続されＩ2Ｃデバイスを制御するためのＩ2Ｃコントローラ１１も実装されている。
【００２５】
Ｉ2Ｃコントローラ１１は，ＩＯボード３のＩ2ＣデバイスにＩ2Ｃインタフェース２を通して接続され，システム制御部１のプロセッサ１０がＩ2Ｃコントローラ１１を操作することでＩＯボード３上のＩ2Ｃデバイスを制御する。
【００２６】
ＩＯボード３内には，スイッチ機能を有するＩ2Ｃデバイス（以下，単にスイッチという）３０によって配下の複数のインタフェース（図７では，チャネルＣＨ＃０〜＃７）の内，一つのチャネルを有効とする。
【００２７】
この時，他のチャネルＣＨのデバイスは関与（動作）しない。論理的にはシステム制御（Ｉ2Ｃ）インタフェースはチャネル毎に独立している。したがって，異なるチャネル間では同じアドレスあるいは，１ビットのみ相違のアドレスも設定可能である。
【００２８】
スイッチ３０もＩ2Ｃデバイスも一つであり，Ｉ2Ｃアドレス（図の例では，「1110 000」）が割り当てられる。したがって，スイッチ３０へのアクセスはＩ2Ｃプロトコルに従う。
【００２９】
図７において，本発明に従い，任意のチャネル配下のＩ2Ｃデバイス群と，スイッチ３０のＩＯボード３０のアドレスは全て少なくとも２ビット以上異なるように設定されている。これにより，任意チャネルＣＨ配下の任意のＩ2Ｃデバイスにアクセスするときに，Ｉ2Ｃアドレスが目的のデバイスのＩ2Ｃアドレスと１ビット異なったとしても，他デバイスをアクセスすることはない。
【００３０】
例えば，期待しないチップセットに誤った操作をしてしまうと，システムに重大な影響を与える可能性が有るが，本発明の適用によりかかる影響の可能性は回避できる。
【００３１】
このように，本発明のアドレス割当て方法を用いれば，Ｉ2Ｃデバイスを用いたシステム制御インタフェースの信頼性を向上することが可能である。
【００３２】
図８は，上記非特許文献１に開示のある信号フレームの例である。かかるフレームを用いてスレーブノードＳＬにアクセスする例を説明する。先に，図８のフレームの構成を説明すると，フレームの網掛け部分は，マスターノードＭＳからスレーブノードＳＬに送られる信号領域であり，他の白抜きの領域はスレーブノードＳＬからマスターノードＭＳに送られる信号領域である。さらに，図８において，シンボルＡ，/ＡはマスターノードＭＳに対するスレーブノードＳＬの確認または非確認信号である。シンボルＳはスタート，シンボルＰはストップビットである。
【００３３】
いま，チャネルＣｈ＃１に属するチップセット(Chipset)３をアクセスする例を想定すると，プロセッサ１０は，Ｉ2Ｃ制御部１１に対し，スイッチ３０をチャネルＣｈ＃１に選択し切り換えるように制御する。
【００３４】
この制御に応じて，Ｉ2Ｃ制御部１１は，図８のフレームのスレーブアドレス領域にスイッチ３０のアドレス「1110#000」を設定し，それに続くデータ領域にＣｈ＃１のチャネル選択コマンドを設定して送出する。
【００３５】
これにより，当該フレームをスイッチ３０が受信し，Ｃｈ＃１のチャネル選択コマンドに対応してＣｈ＃１の配下に属するグループのスレーブノードを選択するようにスイッチを切り換える。
【００３６】
ついで，Ｉ2Ｃ制御部１１は，図８のフレームのスレーブアドレス領域にアドレス「1011 010」を設定する。この時，アドレス「1011 010」は，当該Ｃｈ＃１に属するグループにおいて一つのスレーブノードのみに割り当てられている。他のチャネルＣｈに属するスレーブのアドレスと共通しているが，スイッチ３０によりチャネルＣｈ＃１が選択されているので，衝突することはない。
【００３７】
さらに，同一のチャネルＣｈグループ内に属するスレーブノードのそれぞれに対し，少なくとの２ビット以上離れたアドレスが設定されているので，１ビット誤りにより他のスレーブノードが選択されることがない。
【００３８】
図９は，更に本発明を適用する情報処理システムの第２の実施例構成ブロック図である。上記第１の実施例は，システム制御部１が，単一のＩＯボード３と接続される構成であった。これに対し，第２の実施例は，複数のＩＯボード４０〜４８と接続される構成である。
【００３９】
図１０は，図９における複数のＩＯボード４０〜４８の一つ，例えばＩＯボード４２の詳細を拡大して示す図である。
【００４０】
システム制御部１内のプロセッサ１０は，それ自体にＩ2Ｃポート＃１，＃２を有し，Ｉ２Ｃポート＃１，＃２にＩ2Ｃインタフェースを介して接続される配下のスレーブノードに対しマスターノードとなる。
【００４１】
スイッチ１２に接続され，スイッチ１２は，プロセッサ１０からのコマンドによりチャネルＣｈ＃０〜＃２のいずれかを選択し接続する。スイッチ１２に接続され流ボード３ａ，３ｂ，３ｃのうち，選択接続されたボードにのみがマスターノードとなるプロセッサと通信が可能となる。ボード３ｄは，直接にプロセッサ１０のＩ2Ｃポート＃２に接続され，スレーブノードとなる。
【００４２】
一方，Ｉ2Ｃコントローラ１１ａ〜１１ｄは，プロセッサ１０との間では，Ｉ2Ｃインタフェースと異なる仕様で接続されている。さらに，Ｉ2Ｃコントローラ１１ａ〜１１ｄに，ボード３ｅ〜３ｈのそれぞれがＩ2Ｃコントローラ１１ａ〜１１ｄを介して接続される。したがって，Ｉ2Ｃコントローラ１１ａ〜１１ｄは，スレーブノードとなるボード３ｅ〜３ｈに対して，それぞれマスターノードとなる。
【００４３】
図９に示す例では，ボード３ａから３ｈは共に同じアドレス「1110 000」を有するＩ2Ｃスイッチを有しているが，それぞれ異なるチャネルもしくは異なるＩ2Ｃコントローラに接続されるので衝突は起こらない。
【００４４】
図１０は一つのボードの例としてボード３Ｃを拡大して示す図である。スレーブアドレス「1110 000」を有するスイッチ１３は，チャネルポートＣｈ＃０，＃１，＃２に接続されるそれぞれのグループ配下に複数のスレーブノードが接続されている。
【００４５】
チャネルポートＣｈ＃０，＃１，＃２に接続されるグループ間では，スレーブノードに対して同じスレーブノードアドレスの設定が可能である。ただし，同一のチャネルポートの接続されるスレーブノード間では本発明に従い，互いに２ビット以上の異なるアドレスが設定されている。これにより，１ビットのアドレス誤りに対し，送受信対象を予定しないスレーブノードに対しアクセスする可能性を回避することができる。
【産業上の利用可能性】
【００４６】
以上図面に従い説明したように，本発明の適用により１ビットのアドレス誤りに対し，誤ったスレーブノードがアクセスされることを回避でき電子装置の信頼性を高めることが可能である。よって，本発明が産業上寄与するところ大である。
【図面の簡単な説明】
【００４７】
【図１】シリアル通信システムを説明する図である。
【図２】複数のＩ2Ｃデバイスに対するスレーブアドレス割当ての一例を示す図である。
【図３】マスターノードデバイスから，Ｉ2ＣデバイスＳＬ１に対するアクセスを説明する図である。
【図４】マスターノードデバイスからの本来アクセスすべきスレーブノードのアドレスを誤った際の状態を説明する図である。
【図５】本発明の基本概念を説明する図である。
【図６】スレーブアドレスが１ビットだけ反転した場合のスレーブデバイスの送受信不可を説明する図である。
【図７】本発明を適用する情報処理システムの第１の実施例構成ブロック図である。
【図８】非特許文献１に開示のある信号フレームの例を説明する図である。
【図９】本発明を適用する情報処理システムの第２の実施例構成ブロック図である。
【図１０】図９の実施例における一つのボードの例としてボード３Ｃを拡大して示す図である。
【符号の説明】
【００４８】
１  システム制御部
２  Ｉ2Ｃインタフェース
３  ボード
１０  プロセッサ
１１  Ｉ2Ｃコントローラ
１２，１３，３０  スイッチ
【図１】
2006244416.tif 000003
【図２】
2006244416.tif 000004
【図３】
2006244416.tif 000005
【図４】
2006244416.tif 000006
【図５】
2006244416.tif 000007
【図６】
2006244416.tif 000008
【図７】
2006244416.tif 000009
【図８】
2006244416.tif 000010
【図９】
2006244416.tif 000011
【図１０】
2006244416.tif 000012