(57)【要約】【課題】いわゆるラッチアップ防止のため一方のバス側の外部駆動デバイスの検出と、他方のバス側の十分低いプルダウンを両立して、バス駆動回路を安定動作させる。【解決手段】それぞれが駆動部（駆動トランジスタＭ１ｍまたはＭ１ｓ）を含み、バスＭまたはバスＳの電位の電圧閾値に対する大小関係と、内部の駆動部を流れる駆動電流ＩｍまたはＩｓの電流閾値に対する大小関係とを検出する第１および第２駆動検出回路（バスインターフェース１,３）と、制御回路２とを有する。制御回路２は、バスインターフェース１のバス電位検出と駆動電流検出の結果に基づいてバスＳ駆動トランジスタＭ１ｓを制御し、バスインターフェース３のバス電位検出と駆動電流検出の結果に基づいてバスＭ駆動トランジスタＭ１ｍを制御する。【選択図】図２
2008066951.tif 000002
【特許請求の範囲】
【請求項１】
第１バスをプルアップされた状態からプルダウン可能な第１駆動部を含み、第１バス電位の電圧閾値に対する大小関係と、前記第１駆動部を流れる第１駆動電流の電流閾値に対する大小関係とを検出する第１駆動検出回路と、
第２バスをプルアップされた状態からプルダウン可能な第２駆動部を含み、第２バス電位の電圧閾値に対する大小関係と、前記第２駆動部を流れる第２駆動電流の電流閾値に対する大小関係とを検出する第２駆動検出回路と、
前記第１バス電位の前記検出の結果、および、前記第１駆動電流の前記検出の結果に基づいて前記第２駆動部を制御し、前記第２バス電位の前記検出の結果、および、前記第２駆動電流の前記検出の結果に基づいて前記第１駆動部を制御することにより、前記第１バス電位と前記第２バス電位を論理等価な状態にする制御回路と、
を有するバス駆動回路。
【請求項２】
前記第１駆動検出回路は、前記第１駆動電流を前記第１駆動部の制御量でモニタし、当該モニタする駆動電流の前記電流閾値に対する大小関係を検出し、
前記第２駆動検出回路は、前記第２駆動電流を前記第２駆動部の制御量でモニタし、当該モニタする駆動電流の前記電流閾値に対する大小関係を検出する
請求項１に記載のバス駆動回路。
【請求項３】
前記第１駆動検出回路内に、前記第１バスの電位もしくは前記第１駆動部のバス側接続ノードの電位を一定に保つ第１負帰還回路が設けられ、
前記第２駆動検出回路内に、前記第２バスの電位もしくは前記第２駆動部のバス側接続ノードの電位を一定に保つ第２負帰還回路が設けられ、
前記第１駆動検出回路は、前記第１駆動部が前記第１バス電位をプルダウンするときに前記第１負帰還回路が前記第１駆動部に与える制御量を、前記電流閾値に応じた所定の基準値と比較することにより、前記第１駆動電流の前記電流閾値に対する大小関係を検出し、
前記第２駆動検出回路は、前記第２駆動部が前記第２バス電位をプルダウンするときに前記第２負帰還回路が前記第２駆動部に与える制御量を、前記所定の基準値と比較することにより、前記第２駆動電流の前記電流閾値に対する大小関係を検出する
請求項２に記載のバス駆動回路。
【請求項４】
前記第１負帰還回路は、前記第１バス電位または前記第１駆動部のバス側接続ノードの電位を、所定のプルダウン目標電位と比較し、比較結果に基づいて前記第１駆動部を制御する第１差動増幅器を含み、
前記第１駆動検出回路は、
第１定電流源と、
当該第１定電流源の出力電流値を、前記プルダウン目標電位に応じた所定の基準電圧値に変換する第１変換部と、
前記第１変換部からの前記基準電圧値と前記第１差動増幅器の出力とを比較し、比較結果を前記制御回路に出力する第１比較器と、
を含み、
前記第２負帰還回路は、前記第２バス電位または前記第２駆動部のバス側接続ノードの電位を、前記プルダウン目標電位と比較し、比較結果に基づいて前記第２駆動部を制御する第２差動増幅器を含み、
前記第２駆動検出回路は、
第２定電流源と、
当該第２定電流源の出力電流値を、前記プルダウン目標電位に応じた所定の基準電圧値に変換する第２変換部と、
前記第２変換部からの前記基準電圧値と前記第２差動増幅器の出力とを比較し、比較結果を前記制御回路に出力する第２比較器と、
を含む
請求項３に記載のバス駆動回路。
【請求項５】
前記第１駆動検出回路は、前記第１駆動部のプルダウン駆動の許可と禁止を制御する第１規制部を含み、
前記第２駆動検出回路は、前記第２駆動部のプルダウン駆動の許可と禁止を制御する第２規制部を含み、
前記制御回路は、前記第１および第２バス電位の検出結果と、前記第１および第２駆動電流の検出結果とに基づいて、前記第１および第２規制部を制御する
請求項１に記載のバス駆動回路。
【請求項６】
前記制御回路は、
前記第１バス電圧検出部の検出結果による、前記第１バス電位が前記電圧閾値より高い、低いと、前記第１電流検出部の検出結果による、前記第１駆動電流が前記電流閾値より大きい、小さいとの組み合わせに応じて、前記第２駆動部を制御する信号を発生し、当該信号を前記第１駆動検出回路に出力し、
前記第２バス電圧検出部の検出結果による、前記第２バス電位が前記電圧閾値より高い、低いと、前記第２駆動電流検出部の検出結果による、前記第２駆動電流が前記電流閾値より大きい、小さいとの組み合わせに応じて、前記第１駆動部を制御する信号を発生し、当該信号を前記第１駆動検出回路に出力する
請求項１〜５の何れかに記載のバス駆動回路。
【請求項７】
複数のデジタルデータの伝送線を含む第１バスと、複数のデジタルデータの伝送線を含む第２バスとの間で、双方向に前記伝送線同士の接続を制御する回路ブロックと、
前記第１および第２バスに含まれ、前記デジタルデータの伝送に伴う制御信号およびクロック信号を転送する信号線間で、信号を論理の等価性を維持して転送するリピートバッファ回路ブロックと、
を備え、
前記リピートバッファ回路ブロックは、
前記第１バスをプルアップされた状態からプルダウン可能な第１駆動部を含み、第１バス電位の電圧閾値に対する大小関係と、前記第１駆動部を流れる第１駆動電流の電流閾値に対する大小関係とを検出する第１駆動検出回路と、
前記第２バスをプルアップされた状態からプルダウン可能な第２駆動部を含み、第２バス電位の電圧閾値に対する大小関係と、前記第２駆動部を流れる第２駆動電流の電流閾値に対する大小関係とを検出する第２駆動検出回路と、
前記第１バス電位の前記検出の結果、および、前記第１駆動電流の前記検出の結果に基づいて前記第２駆動部を制御し、前記第２バス電位の前記検出の結果、および、前記第２駆動電流の前記検出の結果に基づいて前記第１駆動部を制御することにより、前記第１バス電位と前記第２バス電位を論理等価な状態にする制御回路と、
を有する
データ伝送制御デバイス。
【請求項８】
第１バスと第２バスとの間で、一方のバス電位に基づいて他方のバス電位をプルアップ状態からプルダウンし、前記第１および第２バスの電位を論理等価な状態にするバス駆動方法であって、
第１バスと前記第２バスのそれぞれで、プルアップ状態のバス電位レベルの電圧閾値に対する大小関係を識別するステップと、
前記第１バスと前記第２バスのそれぞれで、プルダウン経路を流れる駆動電流の電流閾値に対する大小関係を識別するステップと、
前記第１バスの前記バス電位レベルの識別結果と前記駆動電流の識別結果とに基づいて前記第２バスのプルダウン動作を制御し、前記第２バスの前記バス電位レベルの識別結果と前記駆動電流の識別結果とに基づいて前記第１バスのプルダウン動作を制御するステップと、
を含むバス駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１バスと第２バス間に配置され、その一方のバス電位をプルアップ電位からプルダウン可能なバス駆動回路、および、当該バス駆動回路をリピートバッファとして備えるデータ伝送制御デバイス、ならびに、バス駆動方法に関する。
【背景技術】
【０００２】
集積回路間（Inter Integrated Circuit；Ｉ２Ｃ）バス（以下、単に“バス”ともいう）は、共通のプルアップ抵抗を持つバスに複数のデバイスがプルダウン駆動をかけることにより、複数のＩＣデバイスで双方向の多点間通信を行う。
より詳細に、Ｉ２Ｃバスに接続されたＩＣデバイスは、そのＩＣ内バス接続を、例えば、オープンコレクタまたはオープンドレインで実現し、接続されたバス電位をプルアップされた状態からＧＮＤレベルにプルダウンすることにより、情報を持つ信号レベルを発生する。
一般には、ＩＣデバイスのバス駆動能力（プルダウン能力）はバスのプルアップ能力に勝り、バスに接続された複数のデバイスのうち、どれかひとつがバスを“Ｌ”レベルに駆動すると、バスの論理は直ちに“Ｌ”レベルになる。また、プルダウンを止めるとバス電位はプルアップ抵抗を介した充電によりプルアップ状態に戻る。
この動作原理から、Ｉ２Ｃバス規格では、複数のＩＣデバイスのバス駆動を入力とするワイアードＡＮＤによって、バスの論理値が決められる。
【０００３】
ところで、何らかの理由により、動作電圧が異なる複数のデバイス間で通信を行う、或いは、駆動力が非力なデバイスが連結したバスに、巨大な負荷容量が寄生する長大なバスを繋げる必要がある。
【０００４】
この必要に応えるために、ＡＮＤ論理で双方向の通信能力をもつバスリピータ回路が、複数のバス間に挿入されて用いられる。
このときバスリピータ回路に要求されるのは、バスに寄生する負荷容量の影響が相互に伝播することを防止しながら信号転送を可能とするために、物理的に分けられた２つ或いはそれ以上のバス間を電気的にハイインピーダンスで結合する機能と、双方向の信号伝達のために、バス電位の論理を相互に等価に保つリピータの機能である。またバスリピータ回路は、上記論理に応じてバス電位をプルアップまたはプルダウンし、信号の伝播時に減衰した論理振幅を増幅し一定にする機能も備える。
【０００５】
図１に、一般的な、バスリピータ回路の構成と接続関係を示す。
デバイスＤＭとデバイスＤＳとの間を、バスＭ、バスリピータ回路１００、バスＳにより繋げている。バスＭとバスＳのそれぞれは、プルアップ抵抗ＲｍまたはＲｓで電源電圧にプルアップされている。この２つの電源電圧の値は同じか、または異なる。
【０００６】
図解するバスリピータ回路１００は、２つのインバータＩＮＶｍとＩＮＶｓ、および、プルダウン駆動のトランジスタＭｍとＭｓを有する。
インバータＩＮＶｍはバスＭの電位ＭＹを入力とし、その入力の反転レベルに応じてトランジスタＭｓを制御する。インバータＩＮＶｓはバスＳの電位ＳＹを入力とし、その入力の反転レベルに応じてトランジスタＭｓを制御する。
【０００７】
バスＭに接続されているデバイスＤＭ内で、出力トランジスタＭｏ１が信号*ＭＡにより駆動され、これによりバスＭの電位ＭＹを“Ｌ”レベルに駆動する（以下、Ｌ駆動という）。すると、バスリピータ回路１００内のトランジスタＭｓがオンし、バスＳの電位ＳＹがプルダウンして、例えばＧＮＤレベルに固定される。よって、バスＭ側の“Ｌ”レベルへの変化がバスＳに転送される。
同様に、バスＳがプルアップされた状態でデバイスＤＳが、その内部の出力トランジスタＭｏ２を信号*ＳＡによりオンし、これによりバスＳの電位ＳＹをＬ駆動すると、バスリピータ回路１００内のトランジスタＭｍがオンし、バスＭの電位ＭＹがプルダウンして、例えばＧＮＤレベルに固定される。よって、この場合は、バスＳ側の“Ｌ”レベルへの変化がバスＭに転送される。
このように、バスリピータ回路１００は、バス論理の等価転送（リピート）を双方向で行う。バスＭ、バスＳに図示しない他のデバイスが接続されている場合、そのうち１つがＬ駆動された場合でも、同じように、その“Ｌ”レベル変化がバスリピータ回路１００を介して、Ｌ駆動されたバスから他のバスにリピートされる。つまり、このシステムはＡＮＤ論理での双方向通信が可能である。
【０００８】
ところが、このような単純な構成によって、ＡＮＤ論理で双方向の通信能力をもつバスリピータ回路を実現すると、以下に記す技術的困難性を伴う結果となる。
つまり、図１に示すように、単純に一方のバス電位が“Ｌ”レベルであることを識別して他方のバスを“Ｌ”レベルに駆動する仕組みを、双方向に対応すべく対称に配置したバスリピータ回路１００では、外部デバイス（デバイスＤＭ,ＤＳ、その他のデバイス）がどちらかのバスを一度“Ｌ”レベルにした以降、両バスは“Ｌ”レベルの状態から離脱することができない。この状態は、いわゆるバス論理のラッチアップと称される。
【０００９】
ラッチアップを回避するために、バスリピータに適用される出力ドライブ回路が知られている（例えば特許文献１参照）。
特許文献１に記載された回路およびバス駆動方法では、リピータだけがバスをプルダウンしているときと、外部デバイスもバスを“Ｌ”レベルに駆動しようとしているときのわずかなバス電位の差を用いてこれらの状態を区別し、両バスが“Ｌ”レベルにラッチしてしまうことを回避している。
【特許文献１】特表２００４−５１５９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところが、この特許文献１は外部デバイスによる駆動の有無に関するバス電位の判定電圧は記載されているが、プルダウン素子（ＮＭＯＳトランジスタ）によるプルダウンする、しないを決めるバス電位の判定点については記載されていない。
このプルダウンのためのバス電位の判定電圧は、外部デバイス駆動の有無検出のためのバス電位の判定電圧よりも高く設定せざるを得ない。
【００１１】
通常、バス電位はノイズにより変動するため、安定した動作を確保するには、この２つの判定電位の差を大きくするマージン設定が必要である。
しかし、十分なマージンを確保すると、外部デバイスによる駆動の有無をリピータ安定に検出する範囲に判定電圧を設定することが、外部デバイスがリピータの発した“Ｌ”レベルの信号（Ｌ信号）を受けて安定に動作するように、リピータが十分低い電位の“Ｌ”レベルを出すことに相反し、この２つの要件が両立しない、または両立し難い。
すなわち、リピータの外部デバイス駆動検出のマージンを大きくすればリピータのＬ出力電位が上昇して外部デバイスのＬ信号受信マージンが減り、逆に、外部デバイスのＬ信号受信マージンを大きくとるためにリピータが“Ｌ”レベルの出力電位を小さくすると、リピータは外部駆動デバイスの検出が困難になる。
【００１２】
本発明が解決しようとする課題は、リピートバッファ回路などのバス駆動回路において、第１バスと第２バスの一方に対する外部駆動デバイスの検出と、他方のバスに接続されている他のデバイスを駆動するために十分低いプルダウンレベルの設定とを両立させ、いわゆるラッチアップを防いで安定な動作が可能なバス駆動回路を提供することである。
本発明の他の課題は、上記バス駆動回路の機能を持たせたデータ伝送制御でアイスを提供することである。
本発明の他の課題は、上記２つの要件を両立させ、安定な動作が可能なバス駆動方法を提供することである。
【課題を解決するための手段】
【００１３】
本発明に係るバス駆動回路は、第１バスをプルアップされた状態からプルダウン可能な第１駆動部を含み、第１バス電位の電圧閾値に対する大小関係と、前記第１駆動部を流れる第１駆動電流の電流閾値に対する大小関係とを検出する第１駆動検出回路と、第２バスをプルアップされた状態からプルダウン可能な第２駆動部を含み、第２バス電位の電圧閾値に対する大小関係と、前記第２駆動部を流れる第２駆動電流の電流閾値に対する大小関係とを検出する第２駆動検出回路と、前記第１バス電位の前記検出の結果、および、前記第１駆動電流の前記検出の結果に基づいて前記第２駆動部を制御し、前記第２バス電位の前記検出の結果、および、前記第２駆動電流の前記検出の結果に基づいて前記第１駆動部を制御することにより、前記第１バス電位と前記第２バス電位を論理等価な状態にする制御回路と、を有する。
本発明では好適に、前記第１駆動検出回路は、前記第１駆動電流を前記第１駆動部の制御量でモニタし、当該モニタする駆動電流の前記電流閾値に対する大小関係を検出し、前記第２駆動検出回路は、前記第２駆動電流を前記第２駆動部の制御量でモニタし、当該モニタする駆動電流の前記電流閾値に対する大小関係を検出する。
さらに好適に、前記第１駆動検出回路内に、前記第１バスの電位もしくは前記第１駆動部のバス側接続ノードの電位を一定に保つ第１負帰還回路が設けられ、前記第２駆動検出回路内に、前記第２バスの電位もしくは前記第２駆動部のバス側接続ノードの電位を一定に保つ第２負帰還回路が設けられ、前記第１駆動検出回路は、前記第１駆動部が前記第１バス電位をプルダウンするときに前記第１負帰還回路が前記第１駆動部に与える制御量を、前記電流閾値に応じた所定の基準値と比較することにより、前記第１駆動電流の前記電流閾値に対する大小関係を検出し、前記第２駆動検出回路は、前記第２駆動部が前記第２バス電位をプルダウンするときに前記第２負帰還回路が前記第２駆動部に与える制御量を、前記所定の基準値と比較することにより、前記第２駆動電流の前記電流閾値に対する大小関係を検出する。
【００１４】
本発明に係るデータ伝送制御デバイスは、複数のデジタルデータの伝送線を含む第１バスと、複数のデジタルデータの伝送線を含む第２バスとの間で、双方向に前記伝送線同士の接続を制御する回路ブロックと、前記第１および第２バスに含まれ、前記デジタルデータの伝送に伴う制御信号およびクロック信号を転送する信号線間で、信号を論理の等価性を維持して転送するリピートバッファ回路ブロックと、を備え、前記リピートバッファ回路ブロックに、上述した前記第１駆動検出回路、前記第２駆動検出回路および前記制御回路を有する。
【００１５】
本発明に係るバス駆動方法は、第１バスと第２バスとの間で、一方のバス電位に基づいて他方のバス電位をプルアップ状態からプルダウンし、前記第１および第２バスの電位を論理等価な状態にするバス駆動方法であって、第１バスと前記第２バスのそれぞれで、プルアップ状態のバス電位レベルの電圧閾値に対する大小関係を識別するステップと、前記第１バスと前記第２バスのそれぞれで、プルダウン経路を流れる駆動電流の電流閾値に対する大小関係を識別するステップと、前記第１バスの前記バス電位レベルの識別結果と前記駆動電流の識別結果とに基づいて前記第２バスのプルダウン動作を制御し、前記第２バスの前記バス電位レベルの識別結果と前記駆動電流の識別結果とに基づいて前記第１バスのプルダウン動作を制御するステップと、を含む。
【００１６】
上記本発明の構成によれば、第１駆動部により第１バスの電位をプルアップされた状態からプルダウン可能である。同様に、第２駆動部により第２バスの電位をプルアップされた状態からプルダウン可能である。
例えばプルダウンのためのバス電位の検出は、第１バス電位の電圧閾値に対する大小関係の検出により行われ、同様に、第２バス電位の電圧閾値に対する大小関係の検出により行われる。
一方、例えば、バスを外部デバイスがプルダウン駆動しているか否かの検出は、第１駆動部を流れる第１駆動電流の電流閾値に対する大小関係の検出、または、第２駆動部を流れる第２駆動電流の電流閾値に対する大小関係の検出により行われる。
【００１７】
したがって、駆動電流が大きい、小さい、を判定する電流閾値は、バス電位が大きい、小さい、を判定する電圧閾値と独立に設定される。
制御回路は、第１バス電位の検出結果、および、第１駆動電流の検出結果に基づいて第２駆動部を制御し、第２バス電位の検出結果、および、第２駆動電流の検出結果に基づいて第１駆動部を制御する。
【００１８】
この構成により、以下の動作が可能である。
例えば、一方のバス電位が電圧閾値より低く、かつプルダウン電流量が電流閾値より小さいときは、このバス電位が低いことは外部デバイスの駆動に起因しており、この場合、この外部デバイスによるプルダウン動作によるバス電位変化（電位ドロップ）を他方のバスに伝える必要があるため、制御部は他方のバス側の駆動部を動作させる。
これに対し、一方のバス電位が電圧閾値より低く、かつプルダウン電流量が電流閾値より大きいときは、このバス電位が低いことは一方のバスに接続されている駆動検出部自身がバス電位のプルダウン動作を行っており、これは他方のバス電位変化（プルダウンによる電位ドロップ）が一方のバス側に伝達されているためと判断できる。よって、この場合に制御回路は、他方のバス側の駆動部を動作させない。
このような動作を行えば、一方のバス側で外部デバイスの駆動が行われると、その前のバス電位状態が如何なる場合にあっても、外部デバイス駆動によるバス電位変化（電位ドロップ）を、もう片方のバス側に正しく伝えることができ、いわゆるラッチアップは起きない。
【発明の効果】
【００１９】
本発明によれば、いわゆるラッチアップを防いで安定な動作が可能なバス駆動回路、当該バス駆動回路の機能を持つデータ伝送制御デバイス、および、バス駆動方法を提供できる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を、図面を参照して説明する。
【００２１】
《第１実施形態》
図２は、第１実施形態に関わるバス駆動回路の構成とその接続関係を示す図である。
図解するバス駆動回路は、第１バスとしてのバスＭと、第２バスとしてのバスＳとの間に挿入されている。
バスＭには外部デバイスＤＭが接続され、バスＳには外部デバイスＤＳが接続されている。各バスに接続される外部デバイスの数は任意であるが、ここでは簡略化のため各バスに接続されている外部デバイスを代表して１つずつにしている。
【００２２】
外部デバイスＤＭ,ＤＳの例として、例えば映像や音声の信号処理ＬＳＩ、入出力インターフェースＩＣ、その他のＩＣデバイスを挙げることができる。
外部デバイスＤＭは、入力バッファ１０１と、そのバス側ノードを、例えばＧＮＤ電位にプルダウンするプルダウン素子（ここではＮＭＯＳトランジスタ）Ｍpd1を有する。同様に、外部デバイスＤＳは、入力バッファ１０２と、そのバス側ノードを、例えばＧＮＤ電位にプルダウンするプルダウン素子（ここではＮＭＯＳトランジスタ）Ｍpd2とを有する。
プルダウン素子Ｍpd1,Ｍpd2は、それぞれのデバイス内部から供給される信号*ＭＡ,*ＳＡにより駆動される。
【００２３】
バスＭはプルアップ抵抗Ｒｍを介して正電圧Ｖpu1に接続され、バスＳはプルアップ抵抗Ｒｓを介して正電圧Ｖpu2に接続されている。これらの正電圧Ｖpu1,Ｖpu2は同じ電源電圧でもよいし、異なる電源電圧でもよい。
外部デバイスが内部実装される電子機器の大きさ、あるいは、電子機器間の接続長などによるが、バスＭ,Ｓの長さが数十[cm]〜数[ｍ]であり、そのバス自身の浮遊容量や負荷による寄生容量が大きい。このため、外部デバイスＤＭとＤＳは１本のバス接続でなく、バスＭ、バス駆動回路、バスＳを介して接続されている。
【００２４】
図解するバス駆動回路は、バスＭとつながる第１駆動検出回路としてのバスインターフェース１と、バスＳにつながる第２駆動検出回路としてのバスインターフェース３と、制御回路２とを有する。
【００２５】
バスインターフェース１は、バスＭの電位（バスＭ電位）をプルダウンする第１駆動部としてのバスＭ駆動トランジスタ（ここでは、ＮＭＯＳトランジスタ）Ｍ１ｍを含む。
また、バスインターフェース１は、バスＭ電位を検出して、その検出結果を信号ＶＭとして出力する機能（電圧計の回路記号により示す）と、バスＭ駆動トランジスタＭ１ｍを流れる第１駆動電流（以下、駆動電流Ｉｍ）を検出して、その検出結果を信号ＩＭとして出力する機能（電流計の回路記号により示す）と、を備える。
【００２６】
同様に、バスインターフェース３は、バスＳの電位（バスＳ電位）をプルダウンする第２駆動部としてのバスＳ駆動トランジスタ（ここでは、ＮＭＯＳトランジスタ）Ｍ１ｓを含む。
また、バスインターフェース３は、バスＳ電位を検出して、その検出結果を信号ＶＳとして出力する機能（電圧計の回路記号により示す）と、バスＳ駆動トランジスタＭ１ｓを流れる第２駆動電流（以下、駆動電流Ｉｓ）を検出して、その検出結果を信号ＩＳとして出力する機能（電流計の回路記号により示す）と、を備える。
【００２７】
この２つの電流検出機能は、バスのプルダウン電流経路の電位を測定して、電流値に換算するものではなく、例えば駆動部の制御量、すなわちバス駆動トランジスタのゲート電圧等をモニタし、モニタする制御量から当該バス駆動トランジスタを流れる電流を検出する。
【００２８】
制御回路２は、バスインターフェース１と３の間に挿入され、バスインターフェース１の電圧検出結果（信号ＶＭ）と電流検出結果（信号ＩＭ）に基づいて、もう片方のバスインターフェース３内に設けられているバスＳ駆動トランジスタＭ１ｓを制御し、同様に、バスインターフェース３の電圧検出結果（信号ＶＳ）と電流検出結果（信号ＩＳ）に基づいて、もう片方のバスインターフェース１内に設けられているバスＭ駆動トランジスタＭ１ｍを制御するための回路である。
以下、各信号の意味と、制御回路２の動作例の詳細を説明する。
【００２９】
信号ＶＭは、バスインターフェース１から制御回路２に与えられ、バスＭ電位の、基準値（電圧閾値）に対する大小関係を示す信号である。同様に、信号ＶＳは、バスインターフェース３から制御回路２に与えられ、バスＳ電位の、基準値（電圧閾値）に対する大小関係を示す信号である。
よって、これらの信号ＶＭとＶＳは、対応するバス電位が電圧閾値以上の（または、より大きい）ときと、電圧閾値未満（または、“以下”）のときで異なる論理値をとるバイナリ信号である。
なお、バスＭとバスＳの各々に対して決められる上記２つの電圧閾値は同じ値としてもよいし、例えば図２のバスのプルアップを行う正電圧Ｖpu1とＶpu2が異なる場合は、それに応じた異なる値としてもよい。以下の説明では、２つの電圧閾値は同じと仮定する。
【００３０】
信号ＩＭは、バスインターフェース１から制御回路２に与えられ、バスインターフェース１がバスＭ電位をプルダウン駆動するときに、バスＭ駆動トランジスタＭ１ｍを流れる電流の、基準電流（電流閾値）に対する大小関係を示す信号である。同様に、信号ＩＳは、バスインターフェース３から制御回路２に与えられ、バスインターフェース３がバスＳ電位をプルダウン駆動するときに、バスＳ駆動トランジスタＭ１ｓを流れる電流の、基準電流（電流閾値）に対する大小関係を示す信号である。
よって、これらの信号ＩＭとＩＳは、対応するバス電位のプルダウン駆動電流量が電流閾値以上の（または、より大きい）ときと、電流閾値未満（または、“以下”）のときで異なる論理値をとるバイナリ信号である。
なお、バスＭとバスＳの各々に対して決められる上記２つの電流閾値は同じ値としてもよいし、例えば図２のバスのプルアップを行う正電圧Ｖpu1とＶpu2とが異なることに対応して上記２つの電圧閾値が異なるときは、その電圧閾値の差に応じて、電流閾値も異なる値としてもよい。以下の説明では、２つの電流閾値は同じと仮定する。
【００３１】
一方、制御回路２からバスインターフェース１に与えられる制御信号ＰＭは、バスインターフェース３から出力される信号ＶＳとＩＳに基づいて制御回路２内で発生した信号である。同様に、制御回路２からバスインターフェース３に与えられる制御信号ＰＳは、バスインターフェース１から出力される信号ＶＭとＩＭとに基づいて制御回路２内で発生した信号である。
制御信号ＰＭまたはＰＳを受け取ったバスインターフェース１または３は、対応するバスを“Ｌ”レベルにプルダウンする（Ｌ駆動）。このＬ駆動は、対応する駆動部（バスＭ駆動トランジスタＭ１ｍまたはバスＳ駆動トランジスタＭ１ｓ）を直接駆動してもよいし、その動作を規制、すなわち動作の許可と禁止を与えて間接的に駆動してもよい。
【００３２】
つぎに、図２に示す回路の動作を説明する。
あるバスの電位が電圧閾値以上のときは、当該バスのプルダウン動作が行われていないことを意味する。プルダウン動作は外部デバイスによる場合と、バス駆動回路自身が行う場合とがあるが、バス電位が電圧閾値より高い場合、そのどちらも実行されていない。
一方、バス電位が電圧閾値を下回ることは、当該バスに対してプルダウン動作が行われたことを意味する。ただし、バス電圧検出のみでは、そのプルダウン動作が外部デバイスによるものか、バス駆動回路自身によるものかの判別ができない。
よって、本実施形態は、駆動部（バスＭ駆動トランジスタＭ１ｍ、バスＳ駆動トランジスタＭ１ｓ）の駆動電流をモニタし、そのモニタ値を閾値に対して判別する信号（信号ＩＭまたは信号ＩＳ）を発生し、当該信号から、プルダウン動作を行っている外部デバイスが存在するかを検出する。
【００３３】
対応するバスにつながれたバス駆動回路以外の他のデバイスがバスをプルダウン駆動している場合には、バス電位低下を引き起こす電流が他の外部デバイスで多く消費され、そのためモニタ中の駆動電流量が小さい（電流閾値未満である）。よって信号ＩＭまたは信号ＩＳは、たとえば“Ｈ”レベルをとる。逆に、モニタ中の駆動電流が電流閾値以上の場合、外部デバイスによる電流消費がないため、モニタ中の駆動電流は相対的に大きく（電流閾値以上であり）、信号ＩＭと信号ＩＳは、例えば“Ｌ”レベルをとる。
なお、信号論理（“Ｈ”と“Ｌ”）の意味づけは任意であり、上記と反対にしてもよい。このことは他の信号でも共通する。
【００３４】
したがって、制御回路２は、例えばバスインターフェース１において信号ＶＭが「バスＭ電位が電圧閾値未満」であることを示し、かつ、モニタ中の信号ＩＭが、例えば“Ｈ”レベルである場合に、バスＭに接続されている外部デバイスのプルダウン駆動を認識できる。
制御回路２は、この外部デバイスのプルダウン駆動を信号ＶＭと信号ＩＭの論理の組み合わせによって知ると、その外部デバイス駆動によるバスＭ電位の低下をバスＳ側に伝えるために、バスインターフェース３内のバスＳ駆動トランジスタＭ１ｓをオンしてバスＳ電位もプルダウンし、両方のバス電位を論理等価な状態にする。
【００３５】
一方、バスインターフェース１において信号ＶＭが「バスＭ電位が電圧閾値以上」を示すとき、あるいは、信号ＶＭが「バスＭ電位が電圧閾値未満」を示す場合でもモニタ中の信号ＩＭからバスＭに接続されている外部デバイスの駆動が検出できないときは、このことが制御回路２に通知され、これらの場合に制御回路２はバスＳ駆動トランジスタＭ１ｓをオンさせない。
【００３６】
信号ＶＭが「バスＭ電位が電圧閾値以上」を示すときは、少なくともバスＭ側ではバスのプルダウン駆動（Ｌ駆動）は行われていないため、バスＳ側の駆動トランジスタを動作させる必要がない。
一方、信号ＶＭが「バスＭ電位が電圧閾値未満」を示す場合は、バスＭ側の外部デバイスのＬ駆動がバスインターフェース１に伝えられている状態であるか、逆に、バスインターフェース３側のＬ駆動がバス駆動回路によってバスインターフェース１に伝えられている状態であるか、の２通りが考えられる。
本実施形態では、この判断を、バスインターフェース１内の駆動電流の大小関係により行う。つまり、駆動電流が相対的に小さい（信号ＩＭが、例えば“Ｈ”）場合にバス電位が低いことは、バスＭ側の外部デバイス駆動に起因し、駆動電流が相対的に大きい（信号ＩＭが、例えば“Ｌ”）場合にバス電位が低いことは、バスＳ側の外部デバイス駆動に起因していると判断する。そして、前者の場合は、制御回路２はバスインターフェース３側のバスＳ駆動トランジスタＭ１ｓをオンし、後者の場合はオンしない。
【００３７】
ここで、より重要なのは、相手側の駆動トランジスタをオンしないという動作である。
つまり、図１に示す単純な構成のバス駆動回路（バスリピート回路）では、バスＭがＬ駆動されると無条件にバスＳ側もＬ駆動する。そのため、バスＳ側の外部デバイス駆動に起因してバスＭ側もＬ駆動されている場合に、バスＳ側の外部デバイスがＬ駆動を止めても、バスＳ駆動トランジスタＭ１ｓはオンしたままであり、当該回路はラッチアップしてしまう。
本実施形態では、駆動電流検出によって、このラッチアップが生じるような相手方の駆動トランジスタのオン制御を防止できる。
【００３８】
なお、上記説明はバスインターフェース１側からの駆動であるが、バスインターフェース３からの駆動の場合も同様に動作する。
これにより、双方向通信が可能なバス駆動回路において有効にラッチアップを防止できる。
また、プルダウン経路の電位を電流換算して電流駆動検出を行う方法ではなく、駆動トランジスタを流れる電流を、例えば、その制御量に基づいてモニタするため、プルダウン駆動判定のための電圧閾値は、その電流判定のための電圧閾値に無関係に設定できる。よって、プルダウン動作によりバス電位を十分下げても当該バス駆動回路が安定動作するという利点が得られる。したがって、バス長を長くして寄生容量が大きくなっても、或いは、ノイズレベルが多少大きくても、ラッチアップを防止し安定動作するバス駆動回路が実現できる。
【００３９】
つぎに、以下の第２および第３実施形態で、バスインターフェースの具体的な回路例を説明する。
【００４０】
《第２実施形態》
図３は、第２実施形態に関わるバスインターフェース１の回路例である。なお、バスインターフェース３についても構成は同じである。バスインターフェース３については、図３および以下の説明で「バスＭ」を「バスＳ」に、符号「ＶＭ」を「ＶＳ」に、「ＩＭ」を「ＩＳ」に、「ＰＭ」を「ＰＳ」に、それぞれ置き換える。
【００４１】
図３に示すバスインターフェース１は、３つのＮＭＯＳトランジスタ、すなわちバスＭ駆動トランジスタＭ１ｍ、基準電流制御のためのＮＭＯＳトランジスタＭ０、および、Ｌ駆動規制のためのＮＭＯＳトランジスタＭ２を有する。このうちバスＭ駆動トランジスタＭ１ｍが第１駆動部の例に該当する。
バスインターフェース１は、さらに、２つの差動増幅器ＤＡ１とＤＡ２、２つの比較器ＣＭ１とＣＭ２、１つのインバータＩＮＶ１、２つの定電圧源１１,１３、１つの定電流源（基準電流源）１５、および、２つの抵抗１２,１４を有する。このうち差動増幅器ＤＡ１が第１差動増幅器、比較器ＣＭ１が第１比較器の例に該当する。
【００４２】
バスＭとＧＮＤ電位との間にバスＭ駆動トランジスタＭ１ｍが接続されている。
【００４３】
比較器ＣＭ２および定電圧源１１は、バスＭ電位を検出する部分であり、定電圧源１１が出力する参照電圧Ｖｒｅｆが、この回路に電圧閾値を与える。
比較器ＣＭ２の非反転入力「＋」がバスＭに接続され、その反転入力「−」とＧＮＤ電位との間に定電圧源１１が接続されている。
【００４４】
バスＭ駆動トランジスタＭ１ｍ、差動増幅器ＤＡ１、抵抗１２、および定電圧源１３により、負帰還ループＮＦＢ１を持つ第１負帰還回路が形成される。
差動増幅器ＤＡ１の非反転入力「＋」がバスＭに接続され、その反転入力「−」に定電圧源１３からプルダウン時の目標電圧（Ｌ目標電位）ＶＴが与えられる。差動増幅器ＤＡ１の出力は抵抗１２を介してバスＭ駆動トランジスタＭ１ｍのゲートに接続され、そのゲート電位Ｇ１が、駆動電流Ｉｍのモニタ値を示す。
第１負帰還回路は、プルダウン動作時にバスＭの電位を、十分低い（ＧＮＤレベルに近い）Ｌ目標電位ＶＴにフィードバック制御するのであるが、そのときゲート電位Ｇ１が相対的に高いレベルにあれば、バスＭ駆動トランジスタＭ１ｍの駆動力(driving force)が大きく、よって駆動電流Ｉｍも相対的に大きい。一方、ゲート電位Ｇ１が相対的に小さければ、バスＭ駆動トランジスタＭ１ｍの駆動力が小さく、よって駆動電流Ｉｍも相対的に小さい。このように、ゲート電位Ｇ１は、負帰還回路が動作しているときは駆動電流Ｉｍと相関関係を示すモニタ値として利用できる。
【００４５】
ゲート電位Ｇ１と比較する基準電圧を発生する回路として、差動増幅器ＤＡ２、ＮＭＯＳトランジスタＭ０、定電圧源１３、抵抗１４、および、基準電流源１５からなり、負帰還ループＮＦＢ２を持つ基準電圧発生回路が設けられている。
電源電圧ＶddとＧＮＤ電位との間に、閾値電流Ｉthを流す基準電流源１５とＮＭＯＳトランジスタＭ０が直列接続されている。
差動増幅器ＤＡ２の非反転入力「＋」が基準電流源１５の出力に接続され、その反転入力「−」に定電圧源１３からＬ目標電位ＶＴが与えられる。差動増幅器ＤＡ２の出力は抵抗１４を介してＮＭＯＳトランジスタＭ０のゲートに接続され、そのゲート電位Ｇ０が、前記ゲート電位Ｇ１の比較基準として利用される。
【００４６】
比較器ＣＭ１の反転入力「−」にゲート電位Ｇ１が入力され、その非反転入力「＋」にゲート電位Ｇ０が入力されている。
これにより、駆動電流Ｉｍをモニタしているゲート電位Ｇ１は、比較基準としてのゲート電位Ｇ０と比較される。
ゲート電位Ｇ０は、ＮＭＯＳトランジスタＭ０のドレイン電圧をＬ目標電位ＶＴに低くフィードバック制御したときに、基準電流源１５がＮＭＯＳトランジスタＭ０に流す基準電流Ｉ０（≒Ｉth）と相関関係を持つ電圧値を示す。この基準電流Ｉ０（≒Ｉth）が駆動電流判定の電流閾値を与える。
よって、比較器ＣＭ１から出力される信号ＩＭは、その駆動電流Ｉｍの基準電流Ｉ０（≒Ｉth）に対する大小関係に応じて、その論理が決定される。具体的に、例えばゲート電位Ｇ１がゲート電位Ｇ０と同じか大きい場合（Ｇ１≧Ｇ０）に、信号ＩＭは、バスＭにつながる外部デバイスによるＬ駆動がないことを示す“Ｌ”レベルを持つ。また、ゲート電位Ｇ１がゲート電位Ｇ０より小さい場合（Ｇ１＜Ｇ０）に、信号ＩＭは、バスＭにつながる外部デバイスによるＬ駆動があること示す“Ｈ”レベルを持つ。
【００４７】
ゲート電位Ｇ１が現出するバスＭ駆動トランジスタＭ１ｍのゲートと、ＧＮＤ電位との間に、ＮＭＯＳトランジスタＭ２が接続されている。ＮＭＯＳトランジスタＭ２のゲートに、制御回路２（図２）からの制御信号ＰＭがインバータＩＮＶ１を介して入力可能になっている。
ＮＭＯＳトランジスタＭ２とインバータＩＮＶ１は、バスＭ駆動トランジスタＭ１ｍを強制的にカットオフする回路であり、第１規制部の例に該当する。
【００４８】
図４に、バスＭにおけるＬ駆動時の電圧電流特性を示す。図４において太い実線が、バスＭ駆動トランジスタＭ１ｍのドレイン電流Ｉｄを表している。
バスＭ駆動トランジスタＭ１ｍがオフしているときにドレイン電流Ｉｄは流れないが、ＮＭＯＳトランジスタＭ２がオフのときに、前述した負帰還ループＮＦＢ１を持つ第１負帰還回路の働きによって、バスＭ電位（ドレイン電位Ｖ：図４の横軸）がＬ目標電位ＶＴになるように制御される。よって、図４に示すように、バスＭ駆動トランジスタＭ１ｍの出力（バスＭ）の電圧電流特性が急峻に立ち上がり、Ｖ＝ＶＴに制御される。
【００４９】
図４において、縦ハッチングにより示す領域は、バスＭをＬ駆動する外部トランジスタが存在せず、バスＭはプルアップ抵抗Ｒｍを介して正電圧Ｖpu1によりプルアップされているときの負荷直線が存在しうる領域を表す。この領域は、Ｉ２Ｃ規格で決められた電源電圧範囲とプルアップ抵抗の抵抗値の範囲から規定される。
また、同図の横ハッチングにより示す領域は、バスＭがプルアップされた状態で、当該バスＭにつながる少なくとも１つの外部デバイスがＬ駆動したときの負荷直線が存在しうる領域を表す。Ｉ２Ｃ規格では、バス電位のＬ駆動の定義を、ある低レベルの電圧ＶＬ[Ｖ]以下、０[Ｖ]以上と規定している。バス電位が低レベルの電圧ＶＬとなるのは、外部デバイスのプルダウン能力が最も弱い場合である。この最も弱い外部デバイスによるバス電位（低レベルの電圧ＶＬ）がＬ目標電位ＶＴ付近と仮定すると、Ｌ駆動のための電流が、外部デバイス電流で殆ど消費されている場合はバスＭ駆動トランジスタＭ１ｍには殆ど電流が流れない。一方、プルダウン能力が無限に大きい、或いは、極めて多数の外部デバイスが同時にＬ駆動する場合は、バス電位は０[Ｖ]に近くなり、よって、外部デバイスによる負荷直線の存在領域は、Ｖ＝ＶＴ、Ｉ＝０を基点とした図示のような範囲を持つ。
【００５０】
横ハッチング領域とドレイン電流Ｉｄの曲線が交わる範囲に、Ｌ駆動している外部デバイスが有るときの動作点が存在し、縦ハッチング領域とドレイン電流Ｉｄの曲線が交わる範囲に、Ｌ駆動している外部デバイスが無いときの動作点が存在する。
よって、図示のように、２つのハッチング領域に挟まれたハッチング無しの領域でドレイン電流Ｉｄと交差するように、基準電流Ｉ０（≒Ｉth）、即ち駆動電流Ｉの大小関係を判定する電流閾値を設定するとよい。この交差点から縦ハッチングあるいは横ハッチングまでの距離が、判定マージンとなる。図から明らかなように、バス電位のＬ駆動の最大電圧ＶＬより電圧が大きい領域では縦ハッチングとのマージンが低下する。一方、電圧ＶＬより電圧が小さい領域では横ハッチングとのマージンが急速に低下する。よって、図示のように、Ｌ目標電位ＶＴを、この規格で決められたＬ駆動の最大電圧ＶＬ付近とするとマージンを大きくとる意味で望ましい。
【００５１】
つぎに、図３の回路動作を、図４も参照しつつ説明する。
信号ＰＭが“Ｈ”レベルのときは、図３に示すＮＭＯＳトランジスタＭ２がオフするため、第１負帰還回路によって、バス駆動トランジスタＭ１ｍのドレイン電位（バスＭ電位）がＬ目標電位ＶＴに一致するようにフィードバック制御がかかる。
【００５２】
このフィードバック制御時に、バスＭを共通のバスとして駆動する他の外部デバイスが、当該バスＭをＬ駆動しているか否かは、図４に示すように、閾値電流Ｉthを設けてバス駆動トランジスタＭ１ｍのドレイン電流Ｉｄ（＝駆動電流Ｉｍ）が閾値電流Ｉth以上（あるいは、より大きい）か否かを識別することで判断できる。図３では、駆動電流Ｉｍと相関関係にあるゲート電位Ｇ１を、閾値電流Ｉthと相関関係にあるゲート電位Ｇ０と比較することで、この電流の大小関係を判断している。
駆動電流Ｉｍが閾値電流Ｉth未満であれば、比較器ＣＭ１から出力される信号ＩＭが“Ｈ”レベルを持ち、制御回路２は、バスＭにつながるＬ駆動の外部デバイスの存在を認識して、バスインターフェース３側のＬ駆動を許可する。
一方、駆動電流Ｉｍが閾値電流Ｉth以上であれば、比較器ＣＭ１から出力される信号ＩＭが“Ｌ”レベルを持ち、制御回路２は、バスＭにつながるＬ駆動の外部デバイスはないとして、バスインターフェース３側のＬ駆動を禁止する。
【００５３】
このＬ駆動の禁止は、バスインターフェース３側から制御回路２に出力される信号ＶＳと信号ＩＳ（図２参照）の論理の組み合わせに応じて、制御回路２から出力される制御信号ＰＭが“Ｌ”レベルとなると、当該バスインターフェース１でも行われる。すなわち、制御信号ＰＭが“Ｈ”になると、図３に示すＮＭＯＳトランジスタＭ２がオンし、バスＭ駆動トランジスタＭ１ｍのゲート電位Ｇ１がＧＮＤレベルに固定されて強制的にオフされて負帰還制御動作も停止する。よって、以後、バスＭの電位が開放状態（ただし、プルアップはされている）になり、バスＭにつながる外部デバイスの制御に委ねられる。
【００５４】
なお、フィードバックを安定にするためにバス駆動トランジスタＭ１ｍのソースとＧＮＤ電位との間、および、ＮＭＯＳトランジスタＭ０のソースとＧＮＤ電位との間に、それぞれ抵抗を挿入してもよい。
バス駆動トランジスタＭ１ｍはＮＭＯＳトランジスタに変えてＮＰＮトランジスタを使ってもよい。このＮＰＮトランジスタのエミッタとＧＮＤ電位との間に抵抗を挿入してもよい。
【００５５】
信号ＶＭを発生する比較器ＣＭ２に、ヒステリシスを持たせてもよい。つまり、比較器ＣＭ２は、バス電位が低いときはより高い閾値で判定を行い、一旦、当該閾値を超えると閾値を下げる制御を行う。これによりバス電位がノイズで変動しても、信号ＶＭが頻繁に論理判定することを防止し、安定した電圧比較動作が可能となる。
以上の変形例は、バスインターフェース３に対しても同様に適用できる。
【００５６】
《第３実施形態》
図５は、第３実施形態に関わるバスインターフェース１の回路例である。なお、バスインターフェース３についても構成は同じである。バスインターフェース３については、図３および以下の説明で「バスＭ」を「バスＳ」に、符号「ＶＭ」を「ＶＳ」に、「ＩＭ」を「ＩＳ」に、「ＰＭ」を「ＰＳ」に、それぞれ置き換える。
図６は、図５の回路でバスＭにおけるＬ駆動時の電圧電流特性図である。
【００５７】
図５に示すバスインターフェース回路が、図３に示すインターフェース回路と異なる点は、信号ＰＭにより制御されるＬ駆動の規制部を、ゲート電位Ｇ１に接続されるＮＭＯＳトランジスタＭ２とインバータＩＮＶ１に代えて、ＮＰＮバイポーラトランジスタＱ１と抵抗１７とから構成していることである。
ＮＰＮバイポーラトランジスタＱ１は、バスＭと、バスＭ駆動トランジスタＭ１ｍのドレインとの間に接続され、そのベースに、抵抗１７を介して信号ＰＭが印加されるようになっている。
信号ＰＭが“Ｈ”レベルのときにＮＰＮバイポーラトランジスタＱ１がオンし、“Ｌ”レベルのときにＮＰＮバイポーラトランジスタＱ１がオフする。
【００５８】
また、図５に示す回路では、図３に示すＬ目標電位ＶＴに代えて、ＮＰＮバイポーラトランジスタＱ１のエミッタ電圧を一定の電位（以下、エミッタ目標電位ＶＥ）とするために、差動増幅器ＤＡ１およびＤＡ２の反転入力「−」に定電圧電源１６を接続している。
さらに、ＮＰＮバイポーラトランジスタＱ１を設けたことに対応して、基準電流源１５とＮＭＯＳトランジスタＭ０のドレインとの間に、ＮＰＮバイポーラトランジスタＱ０が設けられている。ＮＰＮバイポーラトランジスタＱ０のゲートは、抵抗１８を介して所定の正電圧に接続されている。このゲートバイアスは、ＮＰＮバイポーラトランジスタＱ０がオンするときに、ＮＰＮバイポーラトランジスタＱ１側と同じ電流駆動特性を得られるように決められている。
【００５９】
つぎに、図５に示す回路の動作を説明する。ここでは図３に示す回路と共通部分の動作は省略または簡略化する。
ＮＰＮバイポーラトランジスタＱ１のエミッタとＧＮＤ電位との間に設けているバスＭ駆動トランジスタＭ１ｍのゲート電位Ｇ１を、ＮＰＮバイポーラトランジスタＱ１のエミッタ電位が一定のオフセット値、すなわちエミッタ目標電位ＶＥになるように制御する。
この負帰還ループＮＦＢ１による制御は、ＮＰＮバイポーラトランジスタＱ１のオン、オフに無関係に行われている。
【００６０】
この状態で信号ＰＭが“Ｌ”レベルから“Ｈ”レベルに遷移してＮＰＮバイポーラトランジスタＱ１がオンすると、バスＭのＬ駆動特性は、図６に示すようになる。ここで、縦ハッチングおよび横ハッチングの意味は、図４と同じである。
ＮＰＮバイポーラトランジスタＱ１がオンしているときのベース電流を無視すると、図示するエミッタ電流Ｉｅ（＝Ｉｍ）がバスＭから引き抜かれ、この電流は図４と同様に急峻に立ち上がる。このときの立ち上がり電圧はオフセット電圧、すなわちエミッタ目標電位ＶＥの設定により決まる。
【００６１】
図６において、外部デバイスによるＬ駆動が有るときと無いときの負荷特性線存在領域が大きく乖離した部分（無ハッチングの領域）で、エミッタ電流Ｉｅが閾値電流Ｉthのレベルと交差する。
この交差点は、エミッタに与えるオフセット電圧により制御でき、オフセット電圧を適切に設定すれば、ノイズマージンを十分に大きくすることができる。
【００６２】
この閾値電流Ｉthのレベルの設定は、図３の場合と同様に、バスＭとＧＮＤ電位との間に接続された駆動回路と相似の回路に閾値電流Ｉthを印加しておき、その相似回路のＮＰＮバイポーラトランジスタＱ０のエミッタにオフセット電位を生じるのに必要であったゲート電位Ｇ０を基準とし、駆動回路のオフセット電位を生じるのに要しているゲート電位Ｇ１のレベルを判定する。すなわち、ゲート電位Ｇ１がゲート電位Ｇ０以上なら外部のＬ駆動デバイスが無いと判定し、Ｇ０以下ならばＬ駆動デバイスが在ると判定する。
【００６３】
以上の第２および第３実施形態で、閾値電流Ｉthにより駆動される相似回路は、そのＮＭＯＳトランジスタＭ０のサイズを、バスＭ駆動トランジスタＭ１ｍと同じにする必要はない。一般にサイズに比例してトランジスタの駆動能力が決まるが、その閾値電流Ｉthとサイズの比率が、駆動回路側のバスＭ駆動トランジスタＭ１ｍのＬ駆動電流とサイズとの比率にほぼ等しければよい。
そのためには、閾値電流Ｉthを、Ｌ駆動を行う外部デバイス有りの負荷領域（図６の横ハッチング領域）と、Ｌ駆動特性曲線（Ｉｅカーブ）との交点で決まる最も大きな駆動電流と、Ｌ駆動を行う外部デバイス無しの負荷領域（縦ハッチング領域）とＬ駆動特性曲線の交点で決まる最も小さな駆動電流の中間値に相似の比を乗じた値に設定するとよい。
【００６４】
上記第３実施形態において、ＮＰＮバイポーラトランジスタＱ１に代えて、ＮＮＭＯＳトランジスタを使うこともできる。
さらに、第２実施形態と同様に、バスＭ駆動トランジスタＭ１ｍ、ＮＭＯＳトランジスタＭ０のソースとＧＮＤ電位の間に抵抗を設けてもよい。
【００６５】
つぎに、上記第１〜第３実施形態に適用可能な、制御回路２の構成を２例説明する。
【００６６】
図７は、制御回路２の第１の構成例を示す回路図である。
図解する制御回路２は、片側のみが反転入力である２入力のアンドゲート回路２１と２２を有する。
アンドゲート回路２１の反転入力に信号ＶＭが、他の入力に信号ＩＭが、それぞれバスインターフェース１（図２,図３,図５参照）から入力される。アンドゲート回路２１は制御信号ＰＳを発生し、これをバスインターフェース３に出力する。
アンドゲート回路２２の反転入力に信号ＶＳが、他の入力に信号ＩＳが、それぞれバスインターフェース３から入力される。アンドゲート回路２２は制御信号ＰＭを発生し、これをバスインターフェース１に出力する。
【００６７】
図１に示す回路ではバスＭの電位が“Ｌ”レベルであれば無条件に他方のバスＳをリピータが“Ｌ”レベルにプルダウン駆動する。
これに対し、図７に示す回路は信号ＩＭが“Ｈ”レベル、すなわちバスＭ駆動トランジスタＭ１ｍの駆動電流Ｉｍが小さく、バスＭが“Ｌ”レベルになっているのは外部デバイスのＬ駆動によると判断したときだけバスＳを駆動するために、信号ＰＳを“Ｈ”レベルにする。
もし信号ＩＭが“Ｌ”レベルなら、バスＭが“Ｌ”レベルであるのはバスインターフェース１自身が“Ｌ”レベルに駆動しているが原因である。それは、バスＳが外部デバイスによるＬ駆動を、当該バス駆動回路がバスＭに伝えている状態であって、この状態ではバスインターフェース１は自らバスＳを駆動する必要はなく外部駆動が停止してバスＳが“Ｈ”レベルに遷移するのを待てばよい。
【００６８】
図７に示す回路はバスＳとバスＭについて対称であり、バスＳとバスＭを入れ替えても同じことが起こる。
この信号ＩＭの値に応じたバスＳの駆動制御と、信号ＩＳの値に応じたバスＭの駆動制御によって、図１の構成で両バスが“Ｌ”レベルにラッチする状態を回避できる。その結果、バスＳとバスＭにつながるすべての外部デバイスが決定する論理値をバスＳとバスＭに実現することが可能となる。
【００６９】
図８は、制御回路２の別の構成法であるステートマシンの状態遷移図である。この状態遷移図を実現する具体的な回路は種々あり、複雑であるため、ここでは状態遷移図を用いて回路構成を説明する。
動作の本質は図７と同じく、バス駆動回路（リピータ）のみが片側のバスを“Ｌ”レベルにプルダウンしている状況において、他方のバスをも“Ｌ”レベルに駆動して、両バスが“Ｌ”レベルにラッチしてしまう事態（ラッチアップ）を避けることにある。
【００７０】
図８に示す構成の制御回路２は、取りうる状態が４つある。バスＭとバスＳでＬ駆動を“１”、Ｌ駆動しないことを“０”で示す。また状態遷移のルートを符号Ｔ１〜Ｔ８により示し、それぞれのトリガ条件を図示している。
状態（１,０）は、バスインターフェース１がバスＭをＬ駆動し、バスインターフェース３がバスＳをＬ駆動していない状態を示す。また、状態（０,１）は、その逆である。
図１に示す単純なバス駆動回路（バスリピータ回路）は、この２つの状態を安定に有することができず、ラッチアップしてしまう。
【００７１】
図８に示す制御回路２は、両方がＬ駆動する状態（１,１）を有するが、これは特殊な場合に発生する。
つまり、バス通信では、これに接続されたデバイス間で一方のデバイスが要求し、これに応答することで通信を行うのが基本であるため、通信がされていない状態（０,０）から通信が始まると、状態（１,０）または状態（０,１）に遷移する。ただし、通信初期では複数のバスから同時に通信要求がある、バスを取りあう状態があり得る。また、通信を送ってもその受信が回答を保留するような場合、クロック信号については両方のバス駆動がなされることがある。
しかし、本制御回路２は、ＩＭ信号が、閾値電流Ｉthより駆動電流が大きいことを示すとき（ＩＭ＞Ｉth：この表記の仕方は他のルートでも同じ）に、状態（１,１）はルートＴ４を経由して状態（１,０）に遷移する。また、（ＩＳ＞Ｉth）のときはルートＴ８を経由して状態（０,１）に遷移する。状態（１,０）または状態（０,１）から状態（１,１）になるのは、各々の逆の条件となったときである。
【００７２】
一方、両方のバスがＬ駆動していない状態（０,０）からの遷移は、電圧検出結果で信号ＶＳまたはＶＭが電圧閾値よりバス電位が下がったことを条件とする。逆に、状態（１,０）または状態（０,１）から状態（０,０）に戻るのは、その逆、すなわちバス電位が電圧閾値を上回るときである。
【００７３】
このように、４つの状態を持ち、それらの間を状態遷移する条件が定まっているため、当該制御回路２を用いると、バスの応答遅延によるリピータの誤動作が避けられるなど、より広範なバスの負荷状態に対応できるバスリピータが実現する。
【００７４】
以上述べてきたように、本発明の実施形態によれば、Ｌ駆動を行う外部デバイスの有無を大きなノイズマージンをもって安定に識別できて、かつ、自己単独で十分低い電位までＬ駆動が可能なＩ２Ｃバスリピータ（バス駆動回路）が実現できる。
【図面の簡単な説明】
【００７５】
【図１】一般的な、バスリピータ回路の構成と接続関係を示す回路図である。
【図２】第１実施形態に関わるバス駆動回路の構成とその接続関係を示す図である。
【図３】第２実施形態に関わるバスインターフェースの回路図である。
【図４】第２実施形態に関わる、バスＭのＬ駆動時の電圧電流特性図である。
【図５】第３実施形態に関わるバスインターフェースの回路図である。
【図６】第３実施形態に関わる、バスインターフェースの回路図である。
【図７】制御回路の第１構成例を示す回路図である。
【図８】制御回路の第２構成例を示す状態遷移図である。
【符号の説明】
【００７６】
１,３…バスインターフェース、２…制御回路、１１,１３,１６…定電圧源、１２,１４,１７,１８…抵抗、１５…定電流源、ＤＭ,ＤＳ…外部デバイス、Ｒｍ,Ｒｓ…プルアップ抵抗、Ｍ１ｍ…バスＭ駆動トランジスタ、Ｍ１ｓ…バスＳ駆動トランジスタ、Ｍ０,Ｍ２…ＮＭＯＳトランジスタ、Ｑ１,Ｑ０…ＮＰＮバイポーラトランジスタ、ＣＭ１等…比較器、ＤＡ１等…差動増幅器、Ｇ１,Ｇ０…ゲート電位、ＶＭ等…信号、Ｉｍ,Ｉｓ…駆動電流、ＶＴ…Ｌ目標電位、ＶＥ…エミッタ目標電位
【図１】
2008066951.tif 000003
【図２】
2008066951.tif 000004
【図３】
2008066951.tif 000005
【図４】
2008066951.tif 000006
【図５】
2008066951.tif 000007
【図６】
2008066951.tif 000008
【図７】
2008066951.tif 000009
【図８】
2008066951.tif 000010