(57)【要約】【課題】拡張アドレスに対応しているデバイスと拡張アドレスに未対応のデバイスが混在している場合の誤動作の発生を防止する。【解決手段】コントローラ22のシリアル通信部42は、通信線24に接続された各デバイスのうち通信対象デバイスのアドレスを通信線24を介して通知した後に、通信線24を介してデータの送受を行い、クロック発生部44はシリアル通信部42がアドレスの通知又はシリアル通信を行っている間、クロック信号線26へクロック信号を出力する。バッファ制御部46は通信対象が拡張アドレス対応デバイス38Aか否か判定し、通信対象が拡張アドレス未対応デバイス38Bであれば、クロック信号線26からのクロック信号をクロック信号線30へ出力する状態へ３状態バッファ28を切り替え、通信対象が拡張アドレス対応デバイス38Aであれば、クロック信号線26からのクロック信号を遮断する状態へ３状態バッファ28を切り替える。【選択図】図１
2008077486.tif 000002
【特許請求の範囲】
【請求項１】
シリアル通信線に接続された各デバイスのうち通信対象デバイスのアドレスを前記シリアル通信線を介して通知した後に、アドレスを通知した前記通信対象デバイスと前記シリアル通信線を介してデータの送受を行うシリアル通信手段と、
前記シリアル通信手段が前記アドレスの通知又は前記通信対象デバイスとのデータの送受を行っている間、クロック信号を出力するクロック信号出力手段と、
前記各デバイスのうち拡張アドレスに対応している第１のデバイスのクロック信号入力端に各々接続された第１のクロック信号線と、
前記各デバイスのうち前記拡張アドレスに未対応の第２のデバイスのクロック信号入力端に各々接続された第２のクロック信号線と、
前記シリアル通信手段が前記第１のデバイスとシリアル通信を行う場合に、前記クロック信号出力手段から出力されるクロック信号を前記第１のクロック信号線にのみ供給させる第１制御手段と、
を含むシリアル通信制御装置。
【請求項２】
前記第１制御手段は、前記クロック信号出力手段から出力されたクロック信号の前記第２のクロック信号線への供給を遮断可能な遮断手段を備え、前記第２のクロック信号線への前記クロック信号の供給を前記遮断手段によって遮断させることで、前記第１のクロック信号線にのみ前記クロック信号を供給させることを特徴とする請求項１記載のシリアル通信制御装置。
【請求項３】
前記遮断手段は３状態バッファであることを特徴とする請求項２記載のシリアル通信制御装置。
【請求項４】
前記シリアル通信手段がシリアル通信を行っていないデバイスへの電力の供給を停止させる給電制御手段を更に備えたことを特徴とする請求項１記載のシリアル通信制御装置。
【請求項５】
シリアル通信線に接続された各デバイスのうち通信対象デバイスのアドレスを前記シリアル通信線を介して通知した後に、アドレスを通知した前記通信対象デバイスと前記シリアル通信線を介してデータの送受を行うにあたり、
クロック信号線として、前記各デバイスのうち拡張アドレスに対応している第１のデバイスのクロック信号入力端に各々接続された第１のクロック信号線と、前記各デバイスのうち前記拡張アドレスに未対応の第２のデバイスのクロック信号入力端に各々接続された第２のクロック信号線を各々設けておき、
前記第１のデバイスとシリアル通信を行う場合に、前記シリアル通信線を介して前記アドレスの通知又は前記第１のデバイスとのデータの送受を行っている間、クロック信号出力手段から出力されるクロック信号を前記第１のクロック信号線にのみ供給させる
ことを特徴とするシリアル通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシリアル通信制御装置及びシリアル通信方法に係り、特に、アドレス／データ線に接続された各デバイスのうちの任意のデバイスとのシリアル通信を制御するシリアル通信制御装置、及び、該シリアル通信制御装置に適用可能なシリアル通信方法に関する。
【背景技術】
【０００２】
従来より、同一のシリアル信号線に接続された複数のデバイスと各々シリアル通信を行うことが可能な通信システム（通信方式）として、アドレス／データ用の信号線ＳＤＬとクロック用の信号線ＳＣＬの２線式の双方向シリアルバスを用いるＩ２Ｃバスシステムが知られている。Ｉ２Ｃバスシステムの通信プロトコルでは、シリアルバスに接続された個々のデバイスに付与したアドレスによって個々のデバイスを識別しており、Ｉ２Ｃバスを介してのシリアル通信では、まずデバイスのアドレスを指定することで通信対象のデバイスが指定され、続いて通信対象のデバイスに設けられているメモリのアドレスが指定された後に、通信対象のデバイスとのシリアル通信が行われる。
【０００３】
Ｉ２Ｃバス等のシリアルバス通信に適用可能な技術として、特許文献１には、シリアルバスコントローラにより制御される同一のシルアルバスシステム上に、全く同じスレーブターゲットアドレスを持つ複数のデバイスが存在する場合に、スレーブターゲットアドレスとして、まずシリアルバス拡張回路の固有アドレスを送出し、その後に通信対象デバイスのスレーブターゲットアドレスを送出することで、同一の固有アドレスを持つデバイス間でのアクセスの競合による誤動作を防止する技術が開示されている。
【０００４】
また特許文献２には、システム動作中の通常時にはＳＭバスを介してシリアルバスデバイスにアクセスし、ＳＭバスが使用できない状態にあることを検出した場合は、ＦＥＴスイッチを操作し、シリアルバスデバイスをＳＭバスから切断してローカルのＩ２Ｃバスに接続する切替え制御を行い、Ｉ２Ｃバス経由でシリアルバスデバイスとの通信を行う技術が開示されている。
【０００５】
また特許文献３には、内部制御用Ｉ２ＣバスをバススイッチＩＣ経由でＤＤＣ用Ｉ２Ｃバスに接続すると共に、マイクロコントローラがバススイッチＩＣを介して内部制御用Ｉ２ＣバスとＤＤＣ用Ｉ２Ｃバスとの短絡、開放の切換えが可能に構成することで、マイクロコントローラにＩ２Ｃバスインタフェースを複数設けることなく、内部制御用Ｉ２Ｃバス及びＤＤＣ用Ｉ２Ｃバスへのアクセスを可能とし、かつ内部制御用Ｉ２ＣバスとＤＤＣ用Ｉ２Ｃバスとを独立して動作させることを可能とする技術が開示されている。
【０００６】
更に特許文献４には、ＰＣカードを装着可能なコネクタと、ＰＣカードの信号を、システムバスの信号、あるいは、トランスポートデコーダのトランスポートストリーム信号、のいずれかの接続に選択的に切り替えるバススイッチの手段を備え、前記接続を前記トランスポートストリーム信号に切り替える場合に、前記ＰＣカードのＩ２ＣバスとＣＰＵバスも同時に接続されるように構成されたバス制御装置が開示されている。
【特許文献１】特開平１１−３１２１３９号公報
【特許文献２】特開２００２−２７８８５２号公報
【特許文献３】特開２００３−０９９１６５号公報
【特許文献４】特開２００３−１９６２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、現在のＩ２Ｃバスシステムのプロトコルには、Ｉ２Ｃバスに接続される個々のデバイスに搭載可能なメモリの容量に自由度を持たせるため、シリアル通信時に指定するアドレスのビット数を従来よりも長くした拡張アドレス仕様が追加されており、Ｉ２Ｃバスを介してシリアル通信を行うことを前提として設計された既存のデバイスの中には、拡張アドレスに対応しているデバイスと拡張アドレスに未対応のデバイスが各々存在している。そして、同一のＩ２Ｃバスシステム内に拡張アドレスに対応しているデバイスと拡張アドレスに未対応のデバイスが混在していた場合、誤動作が生ずる恐れがあった。
【０００８】
なお、上記の問題はＩ２Ｃバスに限られるものではなく、同一のシリアル信号線に接続された複数のデバイスのうち通信対象のデバイスのアドレスを指定した後にシリアル通信を行う任意のシリアル通信システムにおいて、複数種のアドレス指定方式が存在し、かつ異なるアドレス指定方式に対応するデバイスが混在している場合に生じ得る問題である。
【０００９】
本発明は上記事実を考慮して成されたもので、拡張アドレスに対応しているデバイスと拡張アドレスに未対応のデバイスが混在している場合の誤動作の発生を防止できるシリアル通信制御装置及びシリアル通信方法を得ることが目的である。
【課題を解決するための手段】
【００１０】
上記目的を達成するために請求項１記載の発明に係るシリアル通信制御装置は、シリアル通信線に接続された各デバイスのうち通信対象デバイスのアドレスを前記シリアル通信線を介して通知した後に、アドレスを通知した前記通信対象デバイスと前記シリアル通信線を介してデータの送受を行うシリアル通信手段と、前記シリアル通信手段が前記アドレスの通知又は前記通信対象デバイスとのデータの送受を行っている間、クロック信号を出力するクロック信号出力手段と、前記各デバイスのうち拡張アドレスに対応している第１のデバイスのクロック信号入力端に各々接続された第１のクロック信号線と、前記各デバイスのうち前記拡張アドレスに未対応の第２のデバイスのクロック信号入力端に各々接続された第２のクロック信号線と、前記シリアル通信手段が前記第１のデバイスとシリアル通信を行う場合に、前記クロック信号出力手段から出力されるクロック信号を前記第１のクロック信号線にのみ供給させる制御する第１制御手段と、を含んで構成されている。
【００１１】
請求項１記載の発明では、シリアル通信線に接続された各デバイスのうち通信対象デバイスのアドレスをシリアル通信線を介して通知した後に、アドレスを通知した通信対象デバイスとシリアル通信線を介してデータの送受を行う処理がシリアル通信手段によって行われ、シリアル通信手段がアドレスの通知又は通信対象デバイスとのデータの送受を行っている間、クロック信号出力手段はクロック信号を出力する。ここで、シリアル通信線に接続された各デバイスにはクロック信号入力端が設けられており、各デバイスは、クロック信号入力端を介して入力されたクロック信号を検知することで、シリアル通信線を介してアドレスが通知されたことを認識し、通知されたアドレスが自デバイスのアドレスであった場合にシリアル通信線を介してシリアル通信手段とのデータの送受を行うので、特定デバイスのクロック信号入力端へのクロック信号の入力を停止させれば、シリアル通信手段が通信対象デバイスのアドレスをシリアル通信線を介して通知したとしても、該特定デバイスにはシリアル通信線を介してアドレスが通知されたことが認識されない。
【００１２】
上記に基づき請求項１記載の発明では、シリアル通信線に接続された各デバイスのうち拡張アドレスに対応している第１のデバイスのクロック信号入力端に各々接続された第１のクロック信号線と、各デバイスのうち拡張アドレスに未対応の第２のデバイスのクロック信号入力端に各々接続された第２のクロック信号線を別々に設け、第１制御手段は、シリアル通信手段が第１のデバイスとシリアル通信を行う場合に、クロック信号出力手段から出力されるクロック信号を第１のクロック信号線にのみ供給させる。これにより、シリアル通信手段が第１のデバイスとシリアル通信を行う場合には、第２のデバイスのクロック信号入力端にクロック信号が入力されないので、シリアル通信手段によってシリアル通信線を介して通信対象デバイスのアドレス（拡張アドレス）が通知されたことが、拡張アドレスに未対応の第２のデバイスによって認識されることを防止することができ、第２のデバイスが誤動作することを防止することができる。従って、請求項１記載の発明によれば、拡張アドレスに対応しているデバイスと拡張アドレスに未対応のデバイスが混在している場合の誤動作の発生を防止することができる。
【００１３】
なお、請求項１記載の発明において、第１制御手段は、例えば請求項２に記載したように、クロック信号出力手段から出力されたクロック信号の第２のクロック信号線への供給を遮断可能な遮断手段を備え、第２のクロック信号線へのクロック信号の供給を遮断手段によって遮断させることで、第１のクロック信号線にのみクロック信号を供給させるように構成することができる。上記の遮断手段としては、例えば請求項３に記載の３状態バッファが好適であるが、これに代えてＦＥＴやトランジスタ、リレー等のスイッチング素子を用いることも可能である。
【００１４】
また、請求項１記載の発明において、例えば請求項４に記載したように、シリアル通信手段がシリアル通信を行っていないデバイスへの電力の供給を停止させる給電制御手段を更に設けることが好ましい。なお、デバイスへの電力供給の停止は、個々のデバイスを単位として行うようにしてもよいし、第１のデバイス／第２のデバイスを単位として行うようにしてもよい。これにより、シリアル通信線に接続された各デバイスが無駄に電力を消費することを防止することができ、システム全体としての消費電力を低減することができる。
【００１５】
また、請求項５記載の発明に係るシリアル通信方法は、シリアル通信線に接続された各デバイスのうち通信対象デバイスのアドレスを前記シリアル通信線を介して通知した後に、アドレスを通知した前記通信対象デバイスと前記シリアル通信線を介してデータの送受を行うにあたり、クロック信号線として、前記各デバイスのうち拡張アドレスに対応している第１のデバイスのクロック信号入力端に各々接続された第１のクロック信号線と、前記各デバイスのうち前記拡張アドレスに未対応の第２のデバイスのクロック信号入力端に各々接続された第２のクロック信号線を各々設けておき、前記第１のデバイスとシリアル通信を行う場合に、前記シリアル通信線を介して前記アドレスの通知又は前記第１のデバイスとのデータの送受を行っている間、クロック信号出力手段から出力されるクロック信号を前記第１のクロック信号線にのみ供給させることを特徴としているので、請求項１記載の発明と同様に、拡張アドレスに対応しているデバイスと拡張アドレスに未対応のデバイスが混在している場合の誤動作の発生を防止することができる。
【発明の効果】
【００１６】
以上説明したように本発明は、拡張アドレスに対応している第１のデバイスのクロック信号入力端に各々接続された第１のクロック信号線と、拡張アドレスに未対応の第２のデバイスのクロック信号入力端に各々接続された第２のクロック信号線を各々設け、第１のデバイスとシリアル通信を行う場合に、クロック信号を第１のクロック信号線にのみ供給させるようにしたので、拡張アドレスに対応しているデバイスと拡張アドレスに未対応のデバイスが混在している場合の誤動作の発生を防止できる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。
【００１８】
〔第１実施形態〕
図１には本第１実施形態に係るコンピュータ１０が示されている。コンピュータ１０はＣＰＵ１２、ＲＡＭから成るメモリ１４、ＲＯＭ１６を備え、これらはバス１８を介して相互に接続されている。またコンピュータ１０はＩ２Ｃバスシステム２０を備えている。Ｉ２Ｃバスシステム２０は、バス１８に接続されたＩ２Ｃバスコントローラ２２を含んで構成されており、Ｉ２Ｃバスコントローラ２２にはアドレス／データ線２４とクロック信号線２６が各々接続されている。なお、アドレス／データ線２４は本発明に係るシリアル通信線に、クロック信号線２６は本発明に係る第１のクロック信号線に対応している。
【００１９】
また、Ｉ２Ｃバスシステム２０には３状態バッファ２８が設けられており、３状態バッファ２８は、信号入力端がクロック信号線２６に接続されると共に、信号出力端にはクロック信号線３０が接続され、制御信号入力端がＩ２Ｃバスコントローラ２２の制御信号出力端に接続されている。３状態バッファ２８は、Ｉ２Ｃバスコントローラ２２から制御信号入力端を介して入力されるバッファ制御信号に応じて、信号入力端を介して入力される信号（クロック信号）がハイレベルの場合は信号出力端（に接続されたクロック信号線３０）をハイレベルにし、信号入力端を介して入力される信号（クロック信号）がローレベルの場合は信号出力端（に接続されたクロック信号線３０）をローレベルにする第１の状態、又は、信号入力端を介して入力される信号（クロック信号）の電圧レベルに拘わらず信号出力端（に接続されたクロック信号線３０）の電圧レベルを制御しない第２の状態に切り替わる。
【００２０】
また、アドレス／データ線２４及びクロック信号線２６，３０は抵抗３２，３４，３６を介して電圧源と接続されており、この電圧源によってアドレス／データ線２４及びクロック信号線２６，３０が未使用時の電圧レベルは各々ハイレベルに維持される（例えば３状態バッファ２８が第２の状態の場合、クロック信号線３０は抵抗３６を介して接続された電圧源によってハイレベルに維持される）。なお、クロック信号線３０は本発明に係る第２のクロック信号線に対応している。
【００２１】
また、アドレス／データ線２４にはＩ２Ｃバスを介してシリアル通信を行う機能を備えた複数のデバイス３８のアドレス／データ入出力端子が各々接続されている。個々のデバイス３８には各デバイス３８を識別するためのアドレスが各々付与されている。本実施形態では、アドレス／データ線２４に接続された複数のデバイス３８の中に、Ｉ２Ｃバスのプロトコルに定められた拡張アドレスに対応しているデバイス３８（図１ではこのデバイスに符号「３８Ａ」を付して示す）と、上記の拡張アドレスに未対応のデバイス３８（図１ではこのデバイスに符号「３８Ｂ」を付して示す）が混在している。個々のデバイス３８には、Ｉ２Ｃバスを介してのシリアル通信によって外部からアクセス可能なメモリが設けられており、拡張アドレス未対応デバイス３８Ｂでは上記メモリが比較的小さい所定容量に制限されているが、拡張アドレス対応デバイス３８Ａでは、メモリアクセスに際して拡張アドレスを使用できることで上記メモリが大容量化されている。
【００２２】
なお、デバイス３８の典型例はフラッシュメモリであるが、他のデバイスであってもよく、例えば温度センサを含んで構成された温度測定デバイスであれば、外部からアクセス可能に当該温度測定デバイスに設けられるメモリには、各種の設定情報や温度測定結果が記憶される。また、個々のデバイス３８にはクロック信号入力端が設けられているが、拡張アドレス対応デバイス３８Ａのクロック信号入力端はクロック信号線２６に各々接続されており、拡張アドレス未対応デバイス３８Ｂのクロック信号入力端はクロック信号線３０に各々接続されている。このように、本第１実施形態ではアドレス／データ線２４及びクロック信号線２６，３０の３本の信号線によってＩ２Ｃバス４０が構成されている。
【００２３】
Ｉ２Ｃバスコントローラ２２には、アドレス／データ線２４に接続された各デバイス３８のうちの任意のデバイス３８とシリアル通信を行うシリアル通信部４２と、シリアル通信部４２が何れかのデバイス３８とシリアル通信を行っている間、クロック信号線２６へクロック信号を出力するクロック発生部４４と、シリアル通信部４２がシリアル通信を行うデバイス３８が拡張アドレス対応デバイス３８Ａか拡張アドレス未対応デバイス３８Ｂかに応じて、３状態バッファ２８へ出力するバッファ制御信号を切り替えるバッファ制御部４６が設けられている。なお、シリアル通信部４２は本発明に係るシリアル通信手段に、クロック発生部４４は本発明に係るクロック信号出力手段に対応している。また、バッファ制御部４６は３状態バッファ２８と共に請求項１に記載の第１制御手段（詳しくは請求項２に記載の第１制御手段）に対応しており、３状態バッファ２８は請求項２に記載の遮断手段、請求項３に記載の３状態バッファに対応している。
【００２４】
次に本第１実施形態の作用を説明する。Ｉ２Ｃバスコントローラ２２のシリアル通信部４２は、通信対象のデバイス３８のアドレス、通信対象のデバイス３８に設けられたメモリのうちアクセス対象のメモリ領域のアドレス、アクセスの種別（読出／書込）がＣＰＵ１２から指定されて、通信対象のデバイス３８とのシリアル通信が指示されると、まず指定された通信対象のデバイス３８のアドレスをアドレス／データ線２４経由で通知し、続いて、指定されたアクセス対象のメモリ領域のアドレスをアドレス／データ線２４経由で通知する。そして、アドレス／データ線２４を介して通信対象のデバイス３８とシリアル通信（データの送受）を行うことで、通信対象のデバイス３８に設けられたメモリのうち先にアクセス対象として通知したメモリアドレスのメモリ領域に対し、ＣＰＵ１２から指定されたアクセス種別でアクセスを行う。
【００２５】
また、シリアル通信部４２がアドレス／データ線２４を介し、通信対象のデバイス３８のアドレス、アクセス対象のメモリ領域のアドレスを通知した後に通信対象のデバイス３８とシリアル通信を行っている間、Ｉ２Ｃバスコントローラ２２のクロック発生部４４は一定周波数のクロック信号をクロック信号線２６へ送出する処理を継続する。
【００２６】
Ｉ２Ｃバス４０に接続された個々のデバイス３８は、クロック信号入力端を介してクロック信号が入力されると、入力されたクロック信号に同期したタイミングでアドレス／データ線２４の電圧レベルの変化を検知することで、まずＩ２Ｃバスコントローラ２２のシリアル通信部４２から通知された通信対象のデバイス３８のアドレスを認識し、認識したアドレスが自デバイスのアドレスか否か判定する。判定が否定された場合（認識したアドレスが自デバイスのアドレスでなかった場合）は新たに通信対象のデバイス３８が通知される迄処理を停止するが、判定が肯定された場合（認識したアドレスが自デバイスのアドレスであった場合）は、シリアル通信部４２からアドレス／データ線２４を介して次に通知されるアクセス対象のメモリ領域のアドレスを認識し、その後のシリアル通信部４２とのシリアル通信により、アクセス種別が「読出」であれば、先に認識したアドレスのメモリ領域に記憶されているデータをメモリから読み出してシリアル通信部４２へ送信する処理を行い、アクセス種別が「書込」であれば、シリアル通信部４２から受信した書込データを先に認識したアドレスのメモリ領域に書き込む処理を行う。
【００２７】
ところで、上述したシリアル通信において、通信対象のデバイス３８が拡張アドレス対応デバイス３８Ａである場合、シリアル通信部４２からは通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスとして拡張アドレスの仕様に準拠したアドレスがアドレス／データ線２４を介して通知されるが、このアドレスがアドレス／データ線２４を介して拡張アドレス未対応デバイス３８Ｂに通知されると、拡張アドレス未対応デバイス３８Ｂが通信対象のデバイス３８を誤判定してシリアル通信部４２とシリアル通信を行おうとする等の拡張アドレス未対応デバイス３８Ｂの誤動作が生ずる恐れがある。
【００２８】
このため、本第１実施形態では、拡張アドレス未対応デバイス３８Ｂのクロック信号入力端がクロック信号線３０に接続されており、Ｉ２Ｃバスコントローラ２２は、通信対象のデバイス３８とのシリアル通信が指示されると図２に示すシリアル通信処理を行う。
【００２９】
図２に示すシリアル通信処理では、まずＩ２Ｃバスコントローラ２２のバッファ制御部４６により、通信対象のデバイス３８が拡張アドレス対応デバイス３８Ａか否かが判定される（ステップ７０）。通信対象のデバイス３８が拡張アドレス未対応デバイス３８Ｂであった場合、バッファ制御部４６はバッファ制御信号を出力して３状態バッファ２８を第１の状態（出力アサート状態）へ切り替える（ステップ７２）。そしてクロック発生部４４はクロック信号線２６へクロック信号を送出し、シリアル通信部４２は通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスをアドレス／データ線２４を介して通知した後に、アドレス／データ線２４を介して通信対象のデバイス３８とシリアル通信を行う（ステップ７６）。
【００３０】
この場合、クロック発生部４４からクロック信号線２６へ送出されたクロック信号は、３状態バッファ２８を通過してクロック信号線３０へも出力され、拡張アドレス未対応デバイス３８Ｂのクロック信号入力端にも入力されるが、このときの通信対象のデバイス３８は拡張アドレス未対応デバイス３８Ｂであり、シリアル通信部４２からアドレス／データ線２４を介して通知される通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスも非拡張アドレスであるので、拡張アドレス未対応デバイス３８Ｂで誤動作が生ずることはなく、通信対象の拡張アドレス未対応デバイス３８Ｂとシリアル通信部４２との間で正常にシリアル通信が行われる。
【００３１】
また、通信対象のデバイス３８が拡張アドレス対応デバイス３８Ａであった場合、バッファ制御部４６はバッファ制御信号を出力して３状態バッファ２８を第２の状態（出力ネゲート状態）へ切り替える（ステップ７４）。そしてクロック発生部４４はクロック信号線２６へクロック信号を送出し、シリアル通信部４２は通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスをアドレス／データ線２４を介して通知した後に、アドレス／データ線２４を介して通信対象のデバイス３８とシリアル通信を行う（ステップ７６）。
【００３２】
この場合、通信対象のデバイス３８は拡張アドレス対応デバイス３８Ａであるので、シリアル通信部４２からは、通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスとして拡張アドレスがアドレス／データ線２４を介して個々のデバイス３８に通知されるが、このときは３状態バッファ２８が第２の状態に切り替わっており、クロック信号線２６へ送出されたクロック信号がクロック信号線３０へ出力されることが３状態バッファ２８によって阻止されるので、個々の拡張アドレス未対応デバイス３８Ｂのクロック信号入力端にはクロック信号が入力されない。これにより、アドレス／データ線２４を介して通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスが通知されたことが、個々の拡張アドレス未対応デバイス３８Ｂによって認識されないので、この場合も拡張アドレス未対応デバイス３８Ｂで誤動作が生ずることはなく、通信対象の拡張アドレス対応デバイス３８Ａとシリアル通信部４２との間で正常にシリアル通信を行うことができる。
【００３３】
従って、本第１実施形態によれば、拡張アドレス対応デバイス３８Ａと拡張アドレス未対応デバイス３８Ｂが混在しているＩ２Ｃバスシステム２０における拡張アドレス未対応デバイス３８Ｂの誤動作の発生を防止できる。また、本第１実施形態では、Ｉ２Ｃバスコントローラ２２にクロック信号線を接続するための端子を追加してクロック発生部４４の構成を変更したりする必要はなく、Ｉ２Ｃバスコントローラ２２にバッファ制御部４６を追加すると共に、クロック信号線３０及び３状態バッファ２８を追加するのみで実現できるので、Ｉ２Ｃバスコントローラ２２の構成変更が小規模で済むという効果も得られる。
【００３４】
〔第２実施形態〕
次に本発明の第２実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付し、説明を省略する。
【００３５】
図３に示すように、本第２実施形態に係るＩ２Ｃバスシステム５２では３状態バッファ２８が省略されており、本第２実施形態に係るＩ２Ｃバスコントローラ２２には、第１実施形態で説明したバッファ制御部４６に代えて切替部５４が設けられている。切替部５４はクロック発生部４４に接続されると共にクロック信号線２６，３０にも接続されており、クロック発生部４４から入力されたクロック信号をクロック信号線２６，３０の何れか一方へ選択的に出力する。なお、切替部５４は請求項１に記載の第１制御手段に対応している。
【００３６】
次に本第２実施形態の作用として、本第２実施形態に係るＩ２Ｃバスコントローラ２２で実行されるシリアル通信処理について、図４のフローチャートを参照して説明する。
【００３７】
本第２実施形態に係るシリアル通信処理では、通信対象のデバイス３８とのシリアル通信が指示されると、まずＩ２Ｃバスコントローラ２２の切替部５４により、通信対象のデバイス３８が拡張アドレス対応デバイス３８Ａか否かが判定される（ステップ９０）。通信対象のデバイス３８が拡張アドレス対応デバイス３８Ａであった場合、切替部５４はクロック発生部４４から入力されるクロック信号をクロック信号線２６へのみ出力し、シリアル通信部４２は通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスをアドレス／データ線２４を介して通知した後に、アドレス／データ線２４を介して通信対象のデバイス３８とシリアル通信を行う（ステップ９２）。
【００３８】
この場合、通信対象のデバイス３８は拡張アドレス対応デバイス３８Ａであるので、シリアル通信部４２からは、通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスとして拡張アドレスがアドレス／データ線２４を介して個々のデバイス３８に通知されるが、このときは切替部５４によってクロック信号線２６へのみクロック信号が出力され、クロック信号線３０へはクロック信号が出力されないので、個々の拡張アドレス未対応デバイス３８Ｂのクロック信号入力端にはクロック信号が入力されない。これにより、アドレス／データ線２４を介して通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスが通知されたことが、個々の拡張アドレス未対応デバイス３８Ｂによって認識されないので、拡張アドレス未対応デバイス３８Ｂで誤動作が生ずることはなく、通信対象の拡張アドレス対応デバイス３８Ａとシリアル通信部４２との間で正常にシリアル通信を行うことができる。
【００３９】
また、通信対象のデバイス３８が拡張アドレス未対応デバイス３８Ｂであった場合、切替部５４はクロック発生部４４から入力されるクロック信号をクロック信号線３０へのみ出力し、シリアル通信部４２は通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスをアドレス／データ線２４を介して通知した後に、アドレス／データ線２４を介して通信対象のデバイス３８とシリアル通信を行う（ステップ９４）。
【００４０】
この場合は、通信対象のデバイス３８が拡張アドレス未対応デバイス３８Ｂであるので、シリアル通信部４２からは、通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスとして非拡張アドレスがアドレス／データ線２４を介して個々のデバイス３８に通知されるが、このときは切替部５４によってクロック信号線３０へのみクロック信号が出力され、クロック信号線２６へはクロック信号が出力されないので、個々の拡張アドレス対応デバイス３８Ａのクロック信号入力端にはクロック信号が入力されない。これにより、アドレス／データ線２４を介して通信対象のデバイス３８のアドレス及びアクセス対象のメモリ領域のアドレスが通知されたことが、個々の拡張アドレス対応デバイス３８Ａによって認識されないので、拡張アドレス対応デバイス３８Ａで誤動作が生ずることはなく、通信対象の拡張アドレス未対応デバイス３８Ｂとシリアル通信部４２との間で正常にシリアル通信を行うことができる。
【００４１】
従って、本第２実施形態によれば、拡張アドレス対応デバイス３８Ａと拡張アドレス未対応デバイス３８Ｂが混在しているＩ２Ｃバスシステム２０における拡張アドレス対応デバイス３８Ａ及び拡張アドレス未対応デバイス３８Ｂの誤動作の発生を各々防止することができる。
【００４２】
〔第３実施形態〕
次に本発明の第３実施形態について説明する。なお、第２実施形態と同一の部分には同一の符号を付して説明を省略し、第２実施形態と異なる部分についてのみ説明する。
【００４３】
図５に示すように、本第３実施形態に係るＩ２Ｃバスシステム５６では、拡張アドレス対応デバイス３８Ａの給電端が給電線５８に接続されており、拡張アドレス対応デバイス３８Ａは給電線５８を介して供給された電力によって動作する。また、拡張アドレス未対応デバイス３８Ｂの給電端が給電線６０に接続されており、拡張アドレス未対応デバイス３８Ｂは給電線６０を介して供給された電力によって動作する。給電線５８，６０の途中には、ＦＥＴ等のスイッチング素子から成り給電線５８，６０への電力の供給を遮断可能なスイッチング部６２，６４が設けられている。スイッチング部６２，６４は本第３実施形態に係るＩ２Ｃバスコントローラ２２に設けられた給電制御部６６に接続されており、スイッチング部６２，６４は給電制御部６６によってオンオフされる。なお、給電制御部６６は請求項４に記載の給電制御手段に対応している。
【００４４】
また、本第３実施形態では、クロック信号線２６が抵抗３４を介して給電線５８に接続されており、クロック信号線３０が抵抗３６を介して給電線６０に接続されている。これにより、給電線５８への電力の供給がスイッチング部６２によって遮断されている間、クロック信号線２６の電圧レベルはローレベルに維持され、給電線６０への電力の供給がスイッチング部６４によって遮断されている間、クロック信号線３０の電圧レベルはローレベルに維持される。
【００４５】
次に本第３実施形態の作用として、給電制御部６６で行われる処理について説明する。通信対象のデバイス３８とのシリアル通信が指示されると、給電制御部６６は通信対象のデバイス３８が拡張アドレス対応デバイス３８Ａか否かを判定する。なお、この判定は同様の判定を行う切替部５４による判定結果（図４のステップ９０）を取得することで行うことも可能である。そして給電制御部６６は、通信対象のデバイス３８が拡張アドレス対応デバイス３８Ａであった場合は、拡張アドレス対応デバイス３８Ａとのシリアル通信が行われている間、スイッチング部６４をオフさせることで拡張アドレス未対応デバイス３８Ｂへの給電を停止させると共に、スイッチング部６４を介して給電線６０と接続された電圧源もオフさせ、通信対象のデバイス３８が拡張アドレス未対応デバイス３８Ｂであった場合は、拡張アドレス未対応デバイス３８Ｂとのシリアル通信が行われている間、スイッチング部６２をオフさせることで拡張アドレス対応デバイス３８Ａへの給電を停止させると共に、スイッチング部６２を介して給電線５８と接続された電圧源もオフさせる。
【００４６】
これにより、シリアル通信部４２が拡張アドレス対応デバイス３８Ａとシリアル通信を行っている間、拡張アドレス未対応デバイス３８Ｂが無駄に電力を消費することを防止できると共に、シリアル通信部４２が拡張アドレス未対応デバイス３８Ｂとシリアル通信を行っている間、拡張アドレス対応デバイス３８Ａが無駄に電力を消費することも防止することができ、Ｉ２Ｃバスシステム５６全体としての消費電力を低減することができる。
【００４７】
なお、第３実施形態において、給電制御部６６が給電を停止させる期間は上記に限られるものではなく、例えば個々のデバイス３８が給電を開始すると直ちにシリアル通信可能な状態になる場合は、ＣＰＵ１２からシリアル通信の実行が指示されると、通信対象のデバイス３８への給電を開始し、指示されたシリアル通信が完了すると通信対象のデバイス３８への給電を停止させるようにしてもよい。
【００４８】
また、第３実施形態では拡張アドレス対応デバイス群／拡張アドレス未対応デバイス群を単位として給電の停止／再開を制御していたが、これに限定されるものではなく、個々のデバイス３８を単位として給電の停止／再開を制御するようにしてもよい。また、例えば温度センサを含んで構成された温度測定デバイス等のように、シリアル通信を行っていない期間にも温度測定等の処理を行っているデバイスについては、上記の給電制御の対象から除外することが望ましい。
【００４９】
また、第１実施形態では請求項２に記載の遮断手段として３状態バッファ２８を設けた例を説明したが、これに限定されるものではなく、ＦＥＴやトランジスタ、リレー等のスイッチング素子を用いることも可能である。また、第１実施形態において、３状態バッファ２８をＣＰＵ１２が直接切り替えるように構成してもよい。この場合、Ｉ２Ｃバスコントローラ２２の構成を変更する必要が無くなるという効果が得られる。
【００５０】
更に、本発明を適用するシリアル通信システムとしては、第１〜第３実施形態で説明したＩ２Ｃバスシステムが好適であるが、これに限定されるものではなく、本発明は、同一のシリアル信号線に接続された複数のデバイスのうち通信対象のデバイスのアドレスを指定した後にシリアル通信を行う任意のシリアル通信システムにおいて、複数種のアドレス指定方式が存在し、かつ異なるアドレス指定方式に対応するデバイスが混在する可能性がある場合に適用可能である。
【図面の簡単な説明】
【００５１】
【図１】Ｉ２Ｃバスシステムを含む第１実施形態に係るコンピュータの概略構成を示すブロック図である。
【図２】第１実施形態のＩ２Ｃバスコントローラにおけるシリアル通信処理の内容を示すフローチャートである。
【図３】Ｉ２Ｃバスシステムを含む第２実施形態に係るコンピュータの概略構成を示すブロック図である。
【図４】第２実施形態のＩ２Ｃバスコントローラにおけるシリアル通信処理の内容を示すフローチャートである。
【図５】Ｉ２Ｃバスシステムを含む第３実施形態に係るコンピュータの概略構成を示すブロック図である。
【符号の説明】
【００５２】
２２  Ｉ２Ｃバスコントローラ
２４  アドレス／データ線
２６  クロック信号線
２８  ３状態バッファ
３０  クロック信号線
３８Ａ  拡張アドレス対応デバイス
３８Ｂ  拡張アドレス未対応デバイス
４２  シリアル通信部
４４  クロック発生部
４６  バッファ制御部
５４  切替部
６２，６４  スイッチング部
６６  給電制御部
【図１】
2008077486.tif 000003
【図２】
2008077486.tif 000004
【図３】
2008077486.tif 000005
【図４】
2008077486.tif 000006
【図５】
2008077486.tif 000007