(57)【要約】【課題】  信号振幅によらず安定したバスデータ検出を行う。【解決手段】  制御バスデータ受信回路１０には、比較回路１、比較回路２、データバス検出回路３、電圧検出回路４、及び閾値電圧設定回路５が設けられている。データバス検出回路３はＳＣＬ信号が“Ｈｉｇｈ”レベルで、ＳＣＬ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときの立ち下りエッジを検出する。電圧検出回路４はデータバス検出回路３から出力されるＳＤＡのエッジ検出信号にもとづいて、ＳＣＬ信号振幅を検出する。閾値電圧設定回路５は電圧検出回路４から出力されるＳＣＬ信号振幅情報に対応する閾値電圧を選択して、比較回路１及び２に出力する。【選択図】  図１
2007226748.tif 000002
【特許請求の範囲】
【請求項１】
双方向バスでのクロック信号又はデータ信号の電圧振幅を検出する電圧検出回路と、
前記電圧検出回路から出力される電圧振幅信号を入力し、前記電圧振幅に対応する閾値電圧信号を生成する閾値電圧設定回路と、
を具備することを特徴とする制御バスデータ受信回路。
【請求項２】
双方向バスでのクロック信号と閾値電圧信号を入力し、比較増幅した信号を出力する第１の比較回路と、
前記双方向バスでのデータ信号と前記閾値電圧信号を入力し、比較増幅した信号を出力する第２の比較回路と、
前記第１の比較回路から出力される信号と前記第２の比較回路から出力される信号を入力し、前記クロック信号が“Ｈｉｇｈ”レベルのとき、前記データ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するエッジ検出信号を検出し、前記クロック信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときの前記データ信号の信号レベルを検出し、バスデータ信号として検出するバスデータ検出回路と、
前記エッジ検出信号を入力し、前記クロック信号の電圧振幅を検出する電圧検出回路と、
前記クロック信号の電圧振幅に対応した閾値電圧を生成して、前記第１及び第２の比較回路に出力する閾値電圧設定回路と、
を具備することを特徴とする制御バスデータ受信回路。
【請求項３】
前記クロック信号はＳＣＬ信号であり、前記データ信号はＳＤＡ信号であることを特徴とする請求項１又は２に記載の制御バスデータ受信回路。
【請求項４】
双方向バスでのクロック信号が“Ｈｉｇｈ”レベルのとき、前記双方向バスでのデータ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときのエッジをエッジ検出信号として検出するステップと、
前記エッジ検出信号にもとづいて、前記クロック信号の電圧振幅を検出するステップと、
前記電圧振幅に対応した閾値電圧を選択するステップと、
前記閾値電圧にもとづいて、前記クロック信号及び前記データ信号の信号レベルを判定するステップと、
を具備することを特徴とする制御バスデータ受信回路を用いたバスデータ検出方法。
【請求項５】
ＳＣＬ信号が“Ｈｉｇｈ”レベルのとき、ＳＤＡ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときのエッジをエッジ検出信号として検出するステップと、
前記エッジ検出信号にもとづいて、前記ＳＣＬ信号の電圧振幅を検出するステップと、
前記電圧振幅に対応した閾値電圧を選択するステップと、
前記閾値電圧にもとづいて、前記ＳＣＬ信号及び前記ＳＤＡ信号の信号レベルを判定するステップと、
前記ＳＣＬ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときの前記ＳＤＡ信号の信号レベルを判定し、その判定情報をバスデータ信号として出力するステップと、
を具備することを特徴とする制御バスデータ受信回路を用いたバスデータ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスインターフェースでの複数の異なる入力振幅に対応する受信回路に関する。
【背景技術】
【０００２】
複数の電子機器の間や複数のＩＣ（半導体集積回路）間での双方向通信を行うためのバス方式が種々提案されている。この中で、オランダのＰｈｉｌｌｉｐｓ社から提唱されたＩ２Ｃバス（Inter  Integrated  Circuit  Bus）が広く知られている。Ｉ２Ｃバスは、クロックとデータによる２本のバスラインにより、簡単且つ確実にシリアルバスが構成できるので、携帯電話、ＰＤＡ（Personal  Digital  Assistant）などの電子システムやＴＶ、ＶＴＲなどの家電製品等に広く採用されている。Ｉ２Ｃバスでの入出力部では、Ｉ２Ｃバスに接続される他のデバイスとの間でシリアルデータ（これ以降、ＳＤＡと呼称する）の入出力を行うとともに、転送レートに対応するシリアルクロック（これ以降、ＳＣＬと呼称する）の入出力を行う。Ｉ２Ｃバスの信号振幅は、異なる電源電圧に対応するために複数の規格が設定されている（例えば、特許文献１参照。）。
【０００３】
特許文献１などに記載されているＩ２Ｃバスインターフェースでは、Ｉ２Ｃバスの信号振幅が送信側の電源電圧に依存し、受信側では接続が想定される全ての信号振幅の受信を可能としなければならない。
【０００４】
ところが、複数の信号振幅の入力信号を受信する場合、受信回路の閾値を想定される一番低い電圧に設定すると、振幅の大きな信号では立ち上がりと立ち下がりのクロスポイントが閾値電圧からずれてデータの誤検出が発生する可能性がある。
【特許文献１】特開２００２−６３０８０号公報（頁７、図４）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、信号振幅によらず安定してデータ検出ができる制御バスデータ受信回路及びそれを用いたバスデータ検出方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様の制御バスデータ受信回路は、双方向バスでのクロック信号又はデータ信号の電圧振幅を検出する電圧検出回路と、前記電圧検出回路から出力される電圧振幅信号を入力し、前記電圧振幅に対応する閾値電圧信号を生成する閾値電圧設定回路とを具備することを特徴とする。
【０００７】
更に、上記目的を達成するために、本発明の一態様の制御バスデータ受信回路を用いたバスデータ検出方法は、双方向バスでのクロック信号が“Ｈｉｇｈ”レベルのとき、前記双方向バスでのデータ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときのエッジをエッジ検出信号として検出するステップと、前記エッジ検出信号にもとづいて、前記クロック信号の電圧振幅を検出するステップと、前記電圧振幅に対応した閾値電圧を選択するステップと、前記閾値電圧にもとづいて、前記クロック信号及び前記データ信号の信号レベルを判定するステップとを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、信号振幅によらず安定してデータ検出ができる制御バスデータ受信回路及びそれを用いたバスデータ検出方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１０】
まず、本発明の実施例１に係る制御バスデータ受信回路について、図面を参照して説明する。図１は制御バスデータ受信回路を示すブロック図である。本実施例では、Ｉ２Ｃバスの信号振幅を検出するバスデータ検出回路を設けている。
【００１１】
図１に示すように、制御バスデータ受信回路１０には、比較回路１、比較回路２、データバス検出回路３、電圧検出回路４、及び閾値電圧設定回路５が設けられている。
【００１２】
制御バスデータ受信回路１０は、図示しないＩ２Ｃバスに接続される送信側のＩＣ或いは双方バッファなどから出力されるシリアルデータ（これ以降、ＳＤＡと呼称する）とシリアルクロック（これ以降、ＳＣＬと呼称される）の信号を入力し、バスデータ信号Ｏｕｔｂｄを出力する。バスデータ信号Ｏｕｔｂｄは、例えば、図示しないシフトレジスタに入力されてパラレルデータに変換され、内部バスを介して制御部などへ出力される。
【００１３】
ＳＤＡは、通常、最上位ｂｉｔ（Ａ６）から最下位ｂｉｔ（Ａ０）からなる７ｂｉｔデータ、読み書きｂｉｔ（Ｒ／Ｗ）、及びＡｃｔｂｉｔから構成される。ＳＣＬは、ＳＤＡに同期するクロックパルスとして送信される。そして、ＳＣＬ信号の立ち下りエッジのとき、ＳＤＡ信号のｂｉｔデータの“１”、“０”判定が行われる。
【００１４】
Ｉ２Ｃバスの信号振幅であるＳＤＡ信号振幅及びＳＣＬ信号振幅は、異なる高電位側電源Ｖｄｄ電圧、例えば、Ｖｄｄ５Ｖ、Ｖｄｄ３．３Ｖ、Ｖｄｄ３Ｖなどに対応するために複数の規格が設定され、これらの規格のＳＤＡ信号振幅及びＳＣＬ信号振幅が制御バスデータ受信回路１０に入力される。
【００１５】
比較回路１は、ＳＤＡ信号と閾値電圧設定回路５から出力される出力信号Ｏｕｔ３を入力し、比較増幅した信号をバスデータ検出回路３に出力する。比較回路２は、ＳＣＬ信号と閾値電圧設定回路５から出力される出力信号Ｏｕｔ３を入力し、比較増幅した信号をバスデータ検出回路３に出力する。バスデータ検出回路３は、比較回路１から出力される信号と比較回路２から出力される信号を入力し、出力信号Ｏｕｔ１とバスデータ信号Ｏｕｔｂｄを出力する。
【００１６】
電圧検出回路４は、ＳＣＬ信号とバスデータ検出回路３から出力信号Ｏｕｔ１を入力し、出力信号Ｓ２を閾値電圧設定回路５に出力する。閾値電圧設定回路５は、出力信号Ｏｕｔ２を入力し、出力信号Ｏｕｔ３を出力する。なお、出力信号Ｏｕｔ１乃至３については後に詳述する。
【００１７】
次に、制御バスデータ受信回路の動作について図２を参照して説明する。図２は制御バスデータ受信回路の動作を示すフローチャートである。ここでは、Ｉ２Ｃバスで規定されているデータホールド時間ｔｈｄが最小値０μｓで、ＳＤＡ信号とＳＣＬ信号が同時変化する場合である。
【００１８】
図２に示すように、まず、バスデータ検出回路３は、比較回路１及び２を介して入力されるＳＤＡ信号及びＳＣＬ信号を入力する。図３に示すように、Ｉ２Ｃバスのスタートシーケンスにおいて、バスデータ検出回路３は、ＳＣＬ信号が“Ｈｉｇｈ”レベルで、ＳＤＡ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときのＳＤＡ信号のエッジ検出を行い、ＳＤＡのエッジ検出信号を出力信号Ｏｕｔ１として電圧検出回路４に出力する。電圧検出回路４は、出力信号Ｏｕｔ１を入力したときのＳＣＬ信号の“Ｈｉｇｈ”電圧、例えば、Ｖｄｄ５ＶでのＳＣＬ信号振幅の“Ｈｉｇｈ”レベルを検出する（ステップＳ１）。
【００１９】
次に、閾値電圧設定回路５は、電圧検出回路４から出力されるＳＣＬ信号振幅の“Ｈｉｇｈ”レベル信号としての出力信号Ｏｕｔ２を入力し、例えば、内蔵するメモリに格納されているＳＣＬ信号振幅の“Ｈｉｇｈ”レベル情報とそれに対応する閾値電圧情報から、出力信号Ｏｕｔ２に対応する閾値電圧を選択して出力信号Ｏｕｔ３として比較回路１及び２に出力する（ステップＳ２）。
【００２０】
続いて、図４に示すように、比較回路１は、閾値電圧設定回路５から出力される出力信号Ｏｕｔ３としての閾値電圧情報（ここでは、２．５Ｖ）にもとづいて、ＳＤＡ信号の“Ｌｏｗ”或いは“Ｈｉｇｈ”の比較判定を行う。一方、比較回路２は、閾値電圧設定回路５から出力される出力信号Ｏｕｔ３としての閾値電圧情報（ここでは、２．５Ｖ）にもとづいて、ＳＣＬ信号の“Ｌｏｗ”或いは“Ｈｉｇｈ”の比較判定を行う。
【００２１】
ここでは、送信側でのＶｄｄ５Ｖ信号レベルであるＳＤＡ信号が“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベルに判定され、送信側でのＶｄｄ５Ｖ信号レベルであるＳＣＬ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに判定される判定時間（判定時刻）はＴ１である。一方、受信側では、バスデータ検出回路３において送信側でのＶｄｄ５Ｖ信号レベルに対応する閾値電圧情報（ここでは、２．５Ｖ）が、Ｉ２Ｃバスの種々の規格の中から選択されているので、ＳＤＡ信号が“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベルに判定され、ＳＣＬ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに判定される判定時間（判定時刻）はＴ２である。つまり、受信側でのＳＤＡ信号とＳＣＬ信号のクロスポイント電圧と閾値電圧が一致しているので、データホールド時間ｔｄｈを０μｓに維持することができる。
【００２２】
ところが、バスデータ検出回路３を設けず、Ｉ２Ｃバスの種々の規格の中から、例えば、Ｖｄｄ３．３Ｖに対応する比較的低い閾値電圧１．６５Ｖが選択された場合（破線で示す場合）、ＳＤＡ信号が“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベルに判定される判定時間（判定時刻）はｔ１であるのに対し、ＳＣＬ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに判定される判定時間（判定時刻）はｔ２となる。つまり、受信側でのＳＤＡ信号とＳＣＬ信号のクロスポイント電圧（２．５Ｖ）と閾値電圧（１．６５Ｖ）が一致しないので、遅延時間Δｔだけｔ２が遅延する（ステップＳ３）。
【００２３】
そして、バスデータ検出回路３は、比較回路１から出力されるＳＤＡ信号のＬ／Ｈ判定信号と比較回路２から出力されるＳＣＬ信号のＬ／Ｈ判定信号を入力し、ＳＣＬ信号が“Ｈｉｇｈ”から“Ｌｏｗ”に変化するときのＳＤＡ信号レベルを検出する（ＳＣＬ信号にもとづいて、ＳＤＡ信号のデータがラッチされる）。ここで、Ｖｄｄ５Ｖ信号レベルに対応する閾値電圧（ここでは、２．５Ｖ）でＳＤＡ信号及びＳＣＬ信号のレベル判定を行っているのでデータホールドｔｄｈが０μｓの場合でも誤検出されない。
【００２４】
ところが、バスデータ検出回路３を設けず、Ｉ２Ｃバスの種々の規格の中から比較的低い閾値電圧、例えば、１．６５Ｖが選択された場合（図４の破線で示す場合）、ＳＣＬ信号にもとづいて、ＳＤＡ信号の信号レベルを判定する場合、本来ならば“Ｌｏｗ”レベルと判定すべきところを“Ｈｉｇｈ”レベルと誤判定する可能性がある。
【００２５】
次に、ＳＤＡ信号上のアドレスバイト（Address  Byte）及びデータバイト（Data  Byte）とそれに対応するＳＣＬ信号がバスデータ検出回路３に入力され、ＳＣＬ信号の電圧振幅に対応した閾値電圧で信号検出され、バスデータ信号Ｏｕｔｂｄとして出力される（ステップＳ４）。なお、Ｉ２Ｃバスのストップシーケンスは、ＳＣＬ信号が“Ｈｉｇｈ”レベルで、ＳＤＡ信号が“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベルに変化するときに検出されるエッジ検出信号をもとに行われる。
【００２６】
上述したように、本実施例の制御バスデータ受信回路では、比較回路１、比較回路２、データバス検出回路３、電圧検出回路４、及び閾値電圧設定回路５が設けられている。データバス検出回路３は、ＳＣＬ信号が“Ｈｉｇｈ”レベルのとき、ＳＣＬ信号が“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに変化するときの立ち下りエッジを検出する。電圧検出回路４はデータバス検出回路３から出力されるＳＤＡのエッジ検出信号にもとづいて、ＳＣＬ信号振幅を検出する。閾値電圧設定回路５は電圧検出回路４から出力されるＳＣＬ信号振幅情報に対応する閾値電圧を選択して、比較回路１及び２に出力する。
【００２７】
このため、受信側で複数の信号振幅の入力信号を受信する場合でも、送信側から送信される信号振幅に対応する閾値電圧がその都度選択される。したがって、振幅の大きな信号でも立ち上がりと立ち下りのクロスポイント電圧が閾値電圧と一致するのでデータの誤検出を防止することができる。
【００２８】
本発明は、上記実施例に限定されるものではなく、発明の趣旨を逸脱しない範囲で、種々、変更してもよい。
【００２９】
例えば、実施例では、バス方式にＩ２Ｃバスを用いているが、シリアルデータをＳＭＢＤａｔａ、シリアルクロックをＳＭＢＣｌｋにした、双方向バス規格であるＳＭＢｕｓ（System  Management  Bus）などに適用してもよい。また、電圧検出回路にシリアルクロック（ＳＣＬ）信号を入力しているが、シリアルデータ（ＳＤＡ）信号を入力して、ＳＤＡ信号振幅の“Ｈｉｇｈ”レベルの電圧を検出してもよい。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施例１に係る制御バスデータ受信回路を示すブロック図。
【図２】本発明の実施例１に係る制御バスデータ受信回路の動作を示すフローチャート。
【図３】本発明の実施例１に係るＳＣＬ電圧検出を説明する図。
【図４】本発明の実施例１に係るクロスポイント電圧設定を説明する図。
【符号の説明】
【００３１】
１、   ２  比較回路
３     バスデータ検出回路
４     電圧検出回路
５  閾値設定回路
１０  制御バスデータ受信回路
Ｏｕｔｂｄ  バスデータ信号
Ｏｕｔ１〜３  出力信号
ｔｄｈ  データホールド時間
Ｔ１、Ｔ２、ｔ１、ｔ２  判定時間
Δｔ  遅延時間
【図１】
2007226748.tif 000003
【図２】
2007226748.tif 000004
【図３】
2007226748.tif 000005
【図４】
2007226748.tif 000006