(57)【特許請求の範囲】
【請求項１】
駆動能力が可変なドライバ回路を有し、入力された信号を前記ドライバ回路を介して信号伝送路に信号を出力するようにした信号出力回路において、
前記ドライバ回路から前記信号伝送路に出力することによって前記信号伝送路に伝搬する信号を受信して出力するレシーバ回路と、
クロック信号を受信して、前記クロック信号を所定時間ずつ遅延した複数のサンプリングクロック信号を発生するサンプルクロック信号発生手段と、
前記複数のサンプリングクロック信号に応答して、前記レシーバ回路の出力信号をサンプリングし、前記サンプリングした各信号が所定の期待値になる所定条件を満足するときの駆動能力を、前記ドライバ回路の駆動能力として設定する駆動能力設定手段とを備えて成ることを特徴とする信号出力回路。
【請求項２】
前記サンプルクロック信号発生手段は、前記クロック信号の周期間で複数の前記サンプリングクロック信号を発生することを特徴とする請求項１記載の信号出力回路。
【請求項３】
前記駆動能力設定手段は、前記複数のサンプリングクロック信号に応答して、前記レシーバ回路の出力信号をサンプリングした信号を出力するサンプリング手段と、
前記サンプリング手段によってサンプリングした各信号が所定条件を満足するか否かを判断する比較手段と、
前記ドライバ回路の駆動能力を制御する制御手段とを備え、
前記制御手段は、前記比較手段が前記サンプリング手段によってサンプリングした各信号が所定条件を満足すると判断したときの駆動能力を、前記ドライバ回路の駆動能力として設定することを特徴とする請求項１又は２記載の信号出力回路。
【請求項４】
前記比較手段は、前記サンプリング手段によってサンプリングした信号と前記ドライバ回路から前記信号伝送路に出力される信号に関連する信号とを比較し、前記制御手段は、前記比較手段が前記サンプリング手段によってサンプリングした各信号が所定条件を満足すると判断したときの駆動能力を、前記ドライバ回路の駆動能力として設定することを特徴とする請求項３記載の信号出力回路。
【請求項５】
前記制御手段は、前記サンプリング手段によってサンプリングした信号が前記所定条件を満足すると前記比較手段が前記クロック信号周期内で所定回数連続して判断したときの駆動能力を、前記ドライバ回路の駆動能力として設定することを特徴とする請求項３又は４記載の信号出力回路。
【請求項６】
前記サンプリング手段は、前記ドライバ回路から前記信号伝送路に信号を出力した後に前記レシーバ回路で反射波を受信するまでの間は、前記サンプリングクロック信号に応答してサンプリングを行わないことを特徴とする請求項３乃至５のいずれか一に記載の信号出力回路。
【請求項７】
駆動能力が可変なドライバ回路を有し、入力された信号を前記ドライバ回路を介して信号伝送路に信号を出力するようにした信号出力回路において、
クロック信号に応答して入力信号をサンプリングして、前記クロック信号の周期よりも長い出力信号を出力する第１のフリップフロップと、
駆動能力が可変で、前記第１のフリップフロップの出力信号を前記伝送路に出力するドライバ回路と、
前記ドライバ回路から前記信号伝送路に出力することによって前記信号伝送路に伝搬する信号を受信して出力するレシーバ回路と、
前記クロック信号を受信して、前記クロック信号の周期間に、前記クロック信号を所定時間ずつ遅延した複数のサンプリングクロック信号を発生する遅延回路と、
前記各サンプリングクロック信号に応答して、前記レシーバ回路の出力信号をサンプリングした信号を出力する第２のフリップフロップと、
前記第１のフリップフロップの出力信号と、前記第２のフリップフロップによってサンプリングした各信号とを比較し、比較結果に応じた信号を出力する比較回路と、
前記比較回路の比較結果に応じて、前記ドライバ回路の駆動能力を制御する制御回路とを備え、
前記制御回路は、前記比較回路の比較結果が所定条件を満足する場合の駆動能力を、前記ドライバ回路の駆動能力として設定することを特徴とする信号出力回路。
【請求項８】
前記信号伝送路は、複数のドライバ・レシーバ回路が接続されたバスラインであることを特徴とする請求項１乃至７のいずれか一に記載の信号出力回路。
【請求項９】
前記クロック信号の周期は前記信号伝送路のクロック周期であることを特徴とする請求項１乃至８のいずれか一に記載の信号出力回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、駆動能力が可変なドライバ回路を有し、入力された信号を前記ドライバ回路を介して、バスライン等の信号伝送路に信号を出力するようにした信号出力回路に関し、特に、前記ドライバ回路の駆動能力を適正な特性に自動調整可能な信号出力回路に関する。
【０００２】
【従来の技術】
従来から、集積回路等において、データ等の信号の送受信のために、データ等の信号をバスラインに出力するためのドライバ回路及び前記バスラインから信号を受信するためのレシーバ回路が使用されている。前記ドライバ回路及びレシーバ回路の対は、信号を送受信するための送受信回路（ドライバ・レシーバ回路）を構成しており、前記バスラインには複数のドライバ・レシーバ回路が接続される。即ち、前記バスラインには、複数対のドライバ回路及びレシーバ回路が接続された構成となっている。
【０００３】
一般に、複数のドライバ・レシーバ回路が共通接続されているバスラインを駆動する場合、ドライバ回路は、バスラインの負荷状態にあわせて、最適な出力インピーダンス等を有するように設定する必要がある、即ち、最適な駆動能力に設定する必要がある。バスラインの負荷状態が変わるとバスラインの負荷状態にあわせてドライバ回路の特性を変更する必要があり、設計変更が必要となるなどバスドライバ回路を構成する半導体集積回路を共通化することができないという欠点を有している。
【０００４】
この問題を解決する方法として、駆動能力が可変なドライバ回路から信号を出力した後、その出力信号の特性を検出して、前記ドライバ回路の駆動能力を、適正値に自動調整する信号出力回路が開発されている（例えば、特開平２−１８５１１１号公報、特開平１０−２６１９４８号公報、特開平１１−１７５１８号公報、特許第３１１６９２２号公報参照）。これにより、バスラインの負荷状態に応じて、前記ドライバ回路の特性を自動調整することが可能になる。
【０００５】
【発明が解決しようとする課題】
ところで、バスラインへ出力されるドライバ回路の出力信号は、所定レベルまで単調に増加、あるいは、所定レベルまで単調に減少するものではなく、負荷状態に対する駆動能力の大小に応じて、前記出力信号は増減しながら所定レベルに到達するように変化する。
【０００６】
前記公報（例えば、特開平１０−２６１９４８号公報）に開示された信号出力回路においては、前記ドライバ回路の出力信号が出力された後の一時点におけるレベルが所定レベルに到達している場合に適正な駆動能力と判断している。
したがって、前記ドライバ回路の出力信号が時間とともに増減変動する場合には、前記ドライバ回路を適正な駆動能力に設定することが困難になるという問題がある。また、バス遅延に対する対応ができないため、最適な駆動能力に設定することが困難になるという問題がある。
また、バスラインを駆動する信号出力回路以外にも、任意の特性インピーダンスを有する信号伝送路を介して１つの負荷に信号を送信する信号出力回路の場合にも、前記特性インピーダンスに応じてドライバ回路の駆動能力を適正値に設定する必要があるが、この場合にも前記同様の問題がある。
【０００７】
本発明は、ドライバ回路の出力信号が時間とともに増減変動する場合にも、前記ドライバ回路を適正な駆動能力に設定可能にすることを課題としている。
また、本発明は、バス遅延も考慮してドライバ回路を適正な駆動能力に設定可能にすることを課題としている。
【０００８】
【課題を解決するための手段】
本発明によれば、駆動能力が可変なドライバ回路を有し、入力された信号を前記ドライバ回路を介して信号伝送路に信号を出力するようにした信号出力回路において、前記ドライバ回路から前記信号伝送路に出力することによって前記信号伝送路に伝搬する信号を受信して出力するレシーバ回路と、クロック信号を受信して、前記クロック信号を所定時間ずつ遅延した複数のサンプリングクロック信号を発生するサンプルクロック信号発生手段と、前記複数のサンプリングクロック信号に応答して、前記レシーバ回路の出力信号をサンプリングし、前記サンプリングした各信号が所定条件を満足するときの駆動能力を、前記ドライバ回路の駆動能力として設定する駆動能力設定手段とを備えて成ることを特徴とする信号出力回路が提供される。
駆動能力設定手段は、サンプリングクロック発生手段で発生する複数のサンプリングクロック信号に応答して、レシーバ回路の出力信号をサンプリングし、前記サンプリングした各信号が所定条件を満足するときの駆動能力を、ドライバ回路の駆動能力として設定する。前記所定条件としては、例えば、前記サンプリングした信号が所定の期待値と一致するか否かの条件、より具体的には、前記サンプリングした信号と前記ドライバ回路から前記信号伝送路に出力される信号に関連する信号が一致するか否かの条件としてもよい。
【０００９】
ここで、前記サンプルクロック信号発生手段は、前記クロック信号の周期間で複数の前記サンプリングクロック信号を発生するように構成してもよい。
また、前記駆動能力設定手段は、前記複数のサンプリングクロック信号に応答して、前記レシーバ回路の出力信号をサンプリングした信号を出力するサンプリング手段と、前記サンプリング手段によってサンプリングした各信号が所定条件を満足するか否かを判断する比較手段と、前記ドライバ回路の駆動能力を制御する制御手段とを備え、前記制御手段は、前記比較手段が前記サンプリング手段によってサンプリングした各信号が所定条件を満足すると判断したときの駆動能力を、前記ドライバ回路の駆動能力として設定するように構成してもよい。
【００１０】
また、前記比較手段は、前記サンプリング手段によってサンプリングした信号と前記ドライバ回路から前記信号伝送路に出力される信号に関連する信号とを比較し、前記制御手段は、前記比較手段が前記サンプリング手段によってサンプリングした各信号が所定条件を満足すると判断したときの駆動能力を、前記ドライバ回路の駆動能力として設定するように構成してもよい。
また、前記制御手段は、前記サンプリング手段によってサンプリングした信号が前記所定条件を満足すると前記比較手段が前記クロック信号周期内で所定回数連続して判断したときの駆動能力を、前記ドライバ回路の駆動能力として設定するように構成してもよい。
また、前記サンプリング手段は、前記ドライバ回路から前記信号伝送路に信号を出力した後に前記レシーバ回路で反射波を受信するまでの間は、前記サンプリングクロック信号に応答してサンプリングを行わないように構成してもよい。
【００１１】
また、本発明によれば、駆動能力が可変なドライバ回路を有し、入力された信号を前記ドライバ回路を介して信号伝送路に信号を出力するようにした信号出力回路において、クロック信号に応答して入力信号をサンプリングして、前記クロック信号の周期よりも長い出力信号を出力する第１のフリップフロップと、駆動能力が可変で、前記第１のフリップフロップの出力信号を前記伝送路に出力するドライバ回路と、前記ドライバ回路から前記信号伝送路に出力することによって前記信号伝送路に伝搬する信号を受信して出力するレシーバ回路と、前記クロック信号を受信して、前記クロック信号の周期間に、前記クロック信号を所定時間ずつ遅延した複数のサンプリングクロック信号を発生する遅延回路と、前記各サンプリングクロック信号に応答して、前記レシーバ回路の出力信号をサンプリングした信号を出力する第２のフリップフロップと、前記第１のフリップフロップの出力信号と、前記第２のフリップフロップによってサンプリングした各信号とを比較し、比較結果に応じた信号を出力する比較回路と、前記比較回路の比較結果に応じて、前記ドライバ回路の駆動能力を制御する制御回路とを備え、前記制御回路は、前記比較回路の比較結果が所定条件を満足する場合の駆動能力を、前記ドライバ回路の駆動能力として設定することを特徴とする信号出力回路が提供される。
制御回路は、比較回路の比較結果が所定条件を満足する場合の駆動能力を、ドライバ回路の駆動能力として設定する。
【００１２】
ここで、前記信号伝送路は、複数のドライバ・レシーバ回路が接続されたバスラインであってもよい。
また、前記クロック信号の周期はバスライン等の前記信号伝送路のクロック周期であってもよい。
【００１３】
【発明の実施の形態】
以下、図面を用いて、本発明の実施の形態に係る信号出力回路について説明する。
図１は、本発明の実施の形態に係る信号出力回路を示す図で、信号出力回路の一種であるバス駆動回路の例を示してる。
【００１４】
図１において、本実施の形態に係るバス駆動回路１２は、信号伝送路としてのバスライン１０に接続されている。バス駆動回路１２は一つの集積回路内に設けられている。バスライン１０には、送受信回路である複数のドライバ・レシーバ回路１１が接続されている。バス駆動か異迂路１２、各ドライバ・レシーバ回路１１は各々、異なる集積回路内に設けられている。また、バスライン１０は、例えば、前記集積回路を搭載したプリント配線基板上に形成した配線パターンによって構成される。
尚、図示していないが、各ドライバ・レシーバ回路１１のドライバ回路には、バスライン１０に送信する信号が入力され、該ドライバ回路は前記入力された信号をバスライン１０に送信する。また、各ドライバ・レシーバ回路１１のレシーバ回路は、バスライン１０を介して信号を受信し、後段の信号処理部に前記受信信号を出力するように構成されている。
【００１５】
バス駆動回路１２は、第１のフリップフロップ１、ドライバ回路２、制御回路３、レシーバ回路４、第２のフリップフロップ５、可変遅延回路６、比較回路７を備えている。
フリップフロップ１の入力部にはバス駆動回路１２に対する入力信号が入力され又、フリップフロップ１のクロック端子にはクロック信号８が入力され、フリップフロップ１は前記クロック信号８に応答して、前記入力信号をサンプリングして出力する。フリップフロップ１の出力部はドライバ２を介してバスライン１０に接続されると共に、比較回路７の一方の入力部に接続されている。
【００１６】
可変遅延回路６の入力部にはクロック信号８が入力され又、可変遅延回路６の制御端子には可変遅延回路６の遅延時間を制御するための遅延制御信号９が入力されており、可変遅延回路６は遅延制御信号９に応答して、クロック信号８を、予め設定された所定の遅延時間ずつ遅延させた複数のサンプリングクロック信号を出力する。ここに、可変遅延回路６はサンプルクロック信号発生手段を構成している。尚、可変遅延回路の構成としては、例えば、遅延時間が所定時間ずつ異なる複数の遅延素子を有する構成とし、前記複数の遅延素子の中から遅延制御信号９に対応する所定の複数の遅延素子を選択し、クロック信号８を前記選択した各遅延素子で遅延させることによって得られる信号を直列に出力することにより、サンプルクロック信号を出力するような構成とすることができる。
【００１７】
バスライン１０を伝搬する信号は、レシーバ回路４を介してフリップフロップ５の入力部に入力される。フリップフロップ５の出力部は比較回路７の他方の入力部に接続されており、フリップフロップ５は、そのクロック端子に入力される前記各サンプリングクロック信号に応答して、レシーバ回路４からの信号を順次サンプリングし、比較回路７に出力する。尚、レシーバ回路４は、バスライン１０上の信号を検出するための検出回路として機能するもので、ドライバ・レシーバ回路１１におけるレシーバ回路に相当し、レシーバ回路４の出力部には、レシーバ回路４で受信した信号を処理するための信号処理回路（図示せず）が接続されている。
比較回路７の出力部は制御回路３の入力部に接続されている。制御回路３の出力部はドライバ回路２の制御端子に接続されており、制御回路３は比較回路７から入力される信号に応答してドライバ回路２の駆動能力が適正か否かを判断して、ドライバ回路２の駆動能力を最適値に設定する。
【００１８】
ドライバ回路２は駆動能力（出力インピーダンス）が可変なドライバ回路で、その入力信号に応答して、その制御端子に入力される制御信号に対応する駆動能力で信号伝送ラインを駆動するドライバ回路である。ドライバ回路２はドライバ・レシーバ回路１１におけるドライバ回路に相当している。ドライバ回路の構成としては、その出力段を複数のトランジスタで構成し、制御信号に応じて前記トランジスタ数を増減する構成とすることにより実現できるもので、周知構成のドライバ回路である（例えば、特開平１０−２６１９４８号公報参照）。
フリップフロップ１からの信号（データ）はドライバ回路２に供給され、ドライバ回路２は前記信号をバスライン１０に出力する。バスライン１０に出力された信号はバスライン上のドライバ・レシーバ回路１１で反射し、反射波としてバス駆動回路１２に戻ってくる。
【００１９】
前記反射波をドライバ回路２に接続されたレシーバ回路４で受信する。フリップフロップ５が前記受信信号を任意の位相でサンプリングできるように、クロック信号８の位相を可変遅延回路６によって所定時間ずつ遅延させたサンプリングクロック信号がフリップフロップ５のクロック端子に入力される。可変遅延回路６は、クロック信号８を受信して、所定時間ずつ遅延時間の異なる前記サンプリングクロック信号をフリップフロップ５に順次出力するよう構成されている。
【００２０】
フリップフロップ５の出力信号は比較回路７の他方の入力部へ入力され、又、ドライバ回路２からバスライン１０に出力される信号に関連する信号であるフリップフロップ１の出力信号は、比較回路７の一方の入力部に入力される。比較回路７は、フリップフロップ５の出力信号とフリップフロップ１の出力信号とを比較し、比較結果に応じた信号を出力する。即ち、フリップフロップ５の出力信号が期待値に一致する場合にドライバ回路２の駆動能力が適正であることを表す適正信号を出力し、フリップフロップ５の出力信号が期待値に一致しない場合にドライバ回路２の駆動能力が不適正であることを表す不適正信号を出力する。具体的には、比較回路７は、前記比較結果が所定条件を満足する場合（本実施の形態の場合、フリップフロップ１とフリップフロップ５の出力信号の論理レベル（Ｈｉｇｈレベル、Ｌｏｗレベル）が同一の場合）に、ドライバ回路２の駆動能力が適正であることを表す適正信号を出力し、比較結果が条件を満足しない場合（本実施の形態の場合、フリップフロップ１とフリップフロップ５の出力信号の論理レベルが相違する場合）に、ドライバ回路２の駆動能力が不適正であることを表す不適正信号を出力する。
【００２１】
制御回路３は、比較回路７による比較結果に基づいて、ドライバ回路２の駆動能力を最適値に設定する。制御回路３の構成としては、例えば、比較回路７から所定回数（本実施の形態では（ｎ−２）回）連続して前記適正信号を受信した場合には、ドライバ回路２の駆動能力の設定が適正値であると判断し、比較回路７から所定回数（本実施の形態では（ｎ−２）回）連続して前記適正信号を受信せずに前記不適正信号を受信した場合には、ドライバ回路２の駆動能力の設定が不適正値であると判断するように構成することができる。
尚、制御手段としての制御回路３、サンプリング手段としてのフリップフロップ５および比較手段としての比較回路７は駆動能力設定手段を構成している。
【００２２】
図２は、図１に示したバス駆動回路１２のタイミング図である。図２において、信号１００、１０１、１０２はバス駆動回路１２の駆動能力、即ち、ドライバ回路２の駆動能力を変化させた場合に、レシーバ回路４で受信され、その後フリップフロップ回路５でサンプリングされるバス駆動信号波形を示している。
以下、図１及び図２を用いて、本実施の形態に係るバス駆動回路１２の動作を説明する。
【００２３】
先ず、バス駆動回路１２の駆動能力を最大（換言すれば、ドライバ回路２の出力インピーダンスを最小）に設定した状態で、図２の信号９０に示すように内部クロック８の立ち上がり（図２におけるｔｃ１）でフリップフロップ１の出力信号がＬｏｗレベル→Ｈｉｇｈレベルに遷移し、該信号９０をドライバ回路２を介してバスライン１０に出力する。
レシーバ回路４は、バスライン１０に伝搬する信号を受信して、フリップフロップ５に出力する。フリップフロップ５は、可変遅延回路６からのサンプリングクロック信号ｔｓ３，ｔｓ４，・・・・・・・，ｔｓｎに応答して、レシーバ回路４からの信号をサンプリングし、比較回路７に出力する。信号１００は、このとき、フリップフロップ５へ入力され、かつサンプリングされる信号を示している。
【００２４】
即ち、信号１００は、駆動能力最大状態のバス駆動回路１２からバスライン１０に出力信号を出力し、レシーバ回路４で受信した信号をサンプリングした信号に相当する。信号１００には、Ｈｉｇｈレベルに立ち上がった後でも各ドライバ・レシーバ回路１１から反射波により予め定めた所定の判定電位ＶＲ（Ｌｏｗ、Ｈｉｇｈを判定するための基準電位）を下回る波形歪みが発生している。
【００２５】
尚、バス駆動回路１２が接続されるバス１０は、本来、クロックサイクルＴ＝｜ｔｃ２−ｔｃ１｜＝｜ｔｃ３−ｔｃ２｜の内部クロック信号８で動作し、バス信号の繰り返し動作周期の最速値はＴであるという前提であるが、本実施の形態における駆動能力調整過程では、動作確認信号としてクロックサイクルＴよりも十分長い信号をフリップフロップ１から出力させる。信号１００のようなバス駆動波形に対し、レシーバ回路４を経由してフリップフロップ５で受信する際に、可変遅延回路６によりサンプリングタイミングをｔｓ３，ｔｓ４，・・・・・・・，ｔｓｎと掃引させるように、集積回路の内部回路から遅延制御信号９によって可変遅延回路６を制御する。即ち、バス駆動回路１２の駆動能力調整過程では、可変遅延回路６は、遅延制御信号９に応答して、各クロックサイクルＴ毎に、クロック８を所定時間ずつ遅延させたサンプリングクロック信号ｔｓ１，ｔｓ２，ｔｓ３，ｔｓ４，・・・・・・・，ｔｓｎを順次出力する。
【００２６】
ここで、ドライバ回路２から出力信号をバス１０に出力した後にレシーバ回路４で信号を受信するまでの遅延量総和に相当する所定期間（図２中のｔｃ１からｔｓ２まで）は、遅延時間差分のため比較できないので、サンプリングタイミングの対象から外すようにしている。即ち、フリップフロップ５は、前記所定時間は、サンプリングクロック信号ｔｓ１、ｔｓ２に応答してはサンプリング動作を行わないように構成されている。
【００２７】
信号１００はｔｓ３では期待値、換言するとフリップフロップ１の出力信号９０通りのＨｉｇｈレベルとなっているものの、その後のｔｓ７およびｔｓ１０では期待値と異なりＬｏｗレベルがサンプリングされている。
つまり、この駆動能力の状態では、比較回路７において、フリップフロップ５の出力信号が、クロック信号８の周期Ｔ内で所定回数（本実施の形態では（ｎ−２）回）連続してフリップフロップ１の出力信号レベル以上にならないため、フリップフロップ５によってサンプリングした各信号が所定条件を満足しないと判断する。制御回路３は、これにより信号１００を示すドライバ特性では、バス駆動回路１２（換言すればドライバ回路２）の駆動能力は、バス１０を駆動するためには不適であると判断する。
【００２８】
次にドライバ回路２の駆動能力を下げ（即ち、制御回路３によってドライバ回路２の出力インピーダンスを増加させ）、前記同様にして、サンプリングタイミングｔｓ３からｔｓｎへと掃引し比較回路７にて、フリップフロップ１とフリップフロップ５の出力信号レベルの適否の検出動作を行う。このとき、フリップフロップ５へは信号１０１で示す出力信号が入力され、該信号１０１がフリップフロップ５でサンプリングされる。信号１０１の場合はＬｏｗレベルからＨｉｇｈレベルへと切り替わった後は、所定の判定電位ＶＲを下回る歪みは発生していないことから駆動能力は適していると判断される。
【００２９】
またサンプリングタイミングｔｓ８つまりクロックタイミングｔｃ２では確実にＨｉｇｈレベルを検出できているためバス性能としてクロック周期Ｔ（＝｜ｔｃ２−ｔｃ１｜）で動作可と判断される。
つまり、この駆動能力の状態では、比較回路７において、フリップフロップ５の出力信号が、クロック信号８の周期Ｔ内で前記所定回数連続してフリップフロップ１の出力信号レベル以上になるため、フリップフロップ５によってサンプリングした各信号が所定条件を満足すると判断する。制御回路３は、これにより信号１０１を示すドライバ特性で、バス駆動回路１２（換言すればドライバ回路２）の駆動能力は、バス１０の駆動に適正であると判断する。
【００３０】
次に、更に駆動能力を下げ（換言すれば、制御回路３によって更にドライバ回路２の出力インピーダンスを増加させ）、前記同様にして、サンプリングタイミングｔｓ３からｔｓｎへと掃引し比較回路７にて、フリップフロップ１とフリップフロップ５の出力信号レベルの適否の検出動作を行う。このとき、フリップフロップ５へは信号１０２で示す信号が入力され、該信号１０２がフリップフロップ５でサンプリングされる。信号１０２の場合はＬｏｗレベルからＨｉｇｈレベルへと切り替わった後は、判定電位ＶＲを下回る歪みは発生していないがサンプリングタイミングｔｓ８つまりクロックタイミングｔｃ２では判定電位ＶＲに達せずバス性能として周期Ｔでの動作ができず、駆動能力が不適であると判断できる。
【００３１】
つまり、この駆動能力の状態では、比較回路７において、フリップフロップ５の出力信号が、クロック信号８の周期Ｔ内で前記所定回数連続してフリップフロップ１の出力信号レベル以上にならないため、フリップフロップ５によってサンプリングした各信号が所定条件を満足しないと判断する。制御回路３は、これにより信号１０２を示すドライバ特性では、バス駆動回路１２（換言すればドライバ回路２）の駆動能力は、バス駆動するためには不適であると判断する。
【００３２】
以上のように各駆動能力検出過程においてドライバ回路２が出力した動作確認用信号を、サンプリングするタイミングを掃引し、複数の点で期待値と比較することにより、バス遅延が最小かつバス駆動波形歪みが発生しないような駆動能力設定を検出する。
前記説明は動作確認信号としてフリップフロップ１の出力信号がＬｏｗレベルからＨｉｇｈレベルへの立ち上がりの場合で説明したが、ＨｉｇｈレベルからＬｏｗレベルへの場合も同様に、各駆動能力設定毎にサンプリングタイミングの掃引を行い最適な設定値を検出する。
【００３３】
ＬｏｗレベルからＨｉｇｈレベルおよびＨｉｇｈレベルからＬｏｗレベルそれぞれについて最適駆動力設定値を検出することにより、制御回路３は、上記処理によって最適な信号波形（例えば、波形１０１の信号）を判別し、最適な信号を出力するような駆動能力にドライバ回路２を設定する。制御回路３は、前記最適設定値をドライバ回路２の設定値として保持し、実際の論理動作モードへ移行する。
本実施の形態では、説明簡略化のため駆動能力として３段階に分けて説明したが実際には駆動能力を多段階に設定できるようにするほど細かな制御ができ、微調整による最適化が可能となる。
【００３４】
以上述べたように、本発明の実施の形態に係るバス駆動回路１２は、ドライバ・レシーバ回路１１が多数接続されたバスライン１０においてバス駆動回路１２が出力した信号を該バス駆動回路１２と同一の半導体集積回路内に構成されたレシーバ回路４で受信し、レシーバ回路４の出力信号を後段のフリップフロップ５により任意のタイミングでサンプリングできるようフリップフロップ５のクロック端子へ供給するクロック位相を任意に変更できる可変遅延回路６を有し、かつレシーバ４後段のフリップフロップ５の出力信号とドライバ回路２前段のフリップフロップ１の出力信号を比較するための比較回路７を有している。また、本駆動回路１２は比較回路７の比較結果信号から、制御回路３の制御のもと、駆動能力を最適値に設定するべく駆動能力を可変にすることができるドライバ回路２で構成されている。
【００３５】
バス駆動能力可変手段を有するバス駆動回路１２が、任意の複数のドライバ・レシーバ回路１１が接続されたバスライン１０を駆動する際、バス駆動回路１２自身もバスライン信号を同時に受信する。受信した信号をサンプリングするタイミングを掃引し、各サンプリングポイント毎にバス駆動回路１２内で持つ期待値と比較し、駆動能力毎に波形歪みの有無を検出する。また波形歪みだけでなく駆動能力毎のバス遅延も検出することが可能となる。つまり判定電圧を越えるような波形歪みを発生せず、かつバス遅延を最適化できる駆動能力を検出することが可能となり、この検出結果をもとに実際のバス動作時の駆動能力を設定する。
したがって、本実施の形態によれば、任意のバスライン１０毎に回路変更を伴う駆動能力変更の必要性がなくなりバス駆動回路として汎用性をもつことが可能となる。
【００３６】
図３は、本発明の他の実施の形態に係るバス駆動回路を示すブロック図で、図１と同一部分には同一符号を付している。
前述した図１の実施の形態では、バス駆動回路１２が出力したバス駆動波形をバス駆動回路１２自身が取り込み、予め定めた期待値と比較するものであったが、図３に示す実施の形態では第１のバス駆動回路１４が駆動した際にバス１０に生じる伝搬信号を、バスライン１０に接続されている第２のバス駆動回路１４内のレシーバ回路４で取り込む。
【００３７】
取り込んだ前記レシーバ回路４では、図１の場合と同様に、第２のバス駆動回路１４内の可変遅延回路６で所定時間ずつ遅延したサンプリングクロック信号を発生し、サンプリングタイミングを掃引して、前記レシーバ回路４からの信号を、第２のバス駆動回路１４内のフリップフロップ５でサンプリングする。
図１との動作の違いは、第２のバス駆動回路１４内のフリップフロップ５でサンプリングした信号が、信号パス１３を経由して、第１のバス駆動回路１４へ送られ、第１のバス駆動回路で自己のドライバ回路２の駆動能力の適否を判断して該ドライバ回路２の駆動能力を設定する点である。
【００３８】
前記サンプリングした信号は第１のバス駆動回路１４へ送られた後、第１の駆動回路１４の比較回路７及び制御回路３によってバス駆動波形の最適設定を検出するという動作は図１と同じであるため詳細な説明は省略する。サンプリングのスタートポイントはバスライン１０と信号パス１３の遅延を考慮して決める。尚、本実施の形態においては、駆動能力調整過程においては、２個のバス駆動回路１４、１４によって、一つのバス駆動回路が構成されることになる。
尚、図３の実施の形態においては、第１のバス駆動回路１４内のフリップフロップ１、ドライバ回路２、制御回路３、比較回路７、および、第２のバス駆動回路１４内のレシーバ回路４、フリップフロップ５、可変遅延回路６が信号出力回路を構成している。
【００３９】
以上述べたように、本発明の実施の形態に係る信号出力回路１２は、出力インピーダンスが可変なドライバ回路を有し、入力された信号をドライバ回路を介して信号伝送路に信号を出力するようにした信号出力回路において、クロック信号８に応答して入力信号をサンプリングして、クロック信号８の周期Ｔ（＝｜ｔｃ２−ｔｃ１｜）よりも長い出力信号を出力する第１のフリップフロップ１と、出力インピーダンスが可変で、第１のフリップフロップ１の出力信号を信号伝送路１０に出力するドライバ回路２と、ドライバ回路２から信号伝送路１０に出力することによって信号伝送路１０に伝搬する信号を受信して出力するレシーバ回路４と、クロック信号８を受信して、クロック信号８の周期Ｔ間に、クロック信号８を所定時間ずつ遅延した複数のサンプリングクロック信号を発生する遅延回路６と、前記各サンプリングクロック信号に応答して、レシーバ回路４の出力信号をサンプリングした信号を出力する第２のフリップフロップ５と、第１のフリップフロップ１の出力信号と、第２のフリップフロップ５によってサンプリングした各信号とを比較し、比較結果に応じた信号を出力する比較回路７と、比較回路７の比較結果に応じて、ドライバ回路２の出力インピーダンスを制御する制御回路３とを備え、制御回路３は、比較回路７の比較結果が所定条件を満足する場合の出力インピーダンスを、ドライバ回路２の出力インピーダンスとして設定し、ドライバ回路２は設定された出力インピーダンスの状態で信号伝送路に信号を出力することを特徴としている。
【００４０】
したがって、ドライバ回路２の出力信号が時間とともに増減変動する場合にも、ドライバ回路２を適正な出力インピーダンスに設定することが可能になる。
また、バス遅延も考慮してドライバ回路２を適正な出力インピーダンスに設定することが可能になる。
尚、前記各実施の形態は、バスラインを駆動するためのバス駆動回路の例で説明したが、負荷が１ヶかつ特性インピーダンスが任意の信号伝送路に信号を出力する信号出力回路の場合にも、前記同様な処理動作を行うことにより、特性インピーダンスにあわせて最適な出力インピーダンスに設定可能となるなど、一般的な信号出力回路としても汎用性がある。
【００４１】
【発明の効果】
本発明によれば、ドライバ回路の出力信号が時間とともに増減変動する場合にも、前記ドライバ回路を適正な駆動能力に設定することが可能になる。
また、バス遅延も考慮してドライバ回路を適正な駆動能力に設定することが可能になる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るバス駆動回路を示すブロック図である。
【図２】本発明の実施の形態に係るバス駆動回路のタイミング図である。
【図３】本発明の他の実施の形態に係るバス駆動回路を示すブロック図である。
【符号の説明】
１・・・・・・データ出力用フリップフロップ
２・・・・・・ドライバ回路
３・・・・・・駆動能力設定手段を構成する制御回路
４・・・・・・レシーバ回路
５・・・・・・駆動能力設定手段を構成するバス駆動信号受信用フリップフロップ
６・・・・・・サンプルクロック信号発生手段としての可変遅延回路
７・・・・・・駆動能力設定手段を構成する比較回路
８・・・・・・内部クロック信号
９・・・・・・遅延制御信号
１０・・・・・信号伝送路としてのバスライン
１１・・・・・ドライバ・レシーバ回路
１２、１４・・・・・バス駆動回路
１３・・・・・信号伝送パス
【図１】
0003552678.tif 000002
【図２】
0003552678.tif 000003
【図３】
0003552678.tif 000004