(57)【特許請求の範囲】
【請求項１】
複数ビットの入力データの値に対応する電圧レベルを有する出力信号を複数の駆動回路で生成する送信回路の終端抵抗の値を、前記複数ビットの入力データの各ビットの駆動回路の使用数を調整することにより調整する終端抵抗調整回路において、
前記駆動回路の終端抵抗と同じ特性を有する出力抵抗を含む擬似回路と、
前記擬似回路の出力端子に供給する負荷電流の量を調整可能な電流源と、
前記複数ビットの入力データにより表される複数の値にそれぞれ対応する複数の参照電圧を生成する電圧生成回路と、
前記擬似回路の出力端子から出力されるモニタ電圧と前記複数の参照電圧とをそれぞれ比較する比較回路と、
前記擬似回路の入力信号を第１論理レベルまたは第２論理レベルのいずれかに設定して前記擬似回路を駆動させ、前記電流源を制御して前記負荷電流の量を変化させ、前記比較回路による比較結果が変化したときの前記負荷電流の量に基づいて、前記擬似回路の前記出力抵抗の値を前記モニタ電圧の複数のレベル毎に算出し、前記複数のレベル毎に算出した前記出力抵抗の値に基づいて前記複数ビットの入力データのビット毎に前記駆動回路の使用数を調整して、前記送信回路の終端抵抗の値を調整する制御回路と
を有することを特徴とする終端抵抗調整回路。
【請求項２】
請求項１に記載の終端抵抗調整回路において、
前記制御回路は、前記送信回路の終端抵抗のうち、電源電圧が供給される電源線に接続される第１終端抵抗と接地電圧が供給される接地線に接続される第２終端抵抗のそれぞれの値を個別に調整する
ことを特徴とする終端抵抗調整回路。
【請求項３】
請求項２に記載の終端抵抗調整回路において、
前記制御回路は、
前記擬似回路の入力信号を前記第１論理レベルに設定し、前記電流源を制御して前記擬似回路の出力端子から引き抜く前記負荷電流の量を変化させ、前記比較回路による比較結果が変化したときの前記負荷電流の量に基づいて、前記擬似回路の前記出力抵抗の第１抵抗値を前記モニタ電圧の複数のレベル毎に算出し、前記第１論理レベルの信号を受けた場合に駆動する前記駆動回路の使用数を前記第１抵抗値に基づいて前記複数ビットの入力データのビット毎に調整して、前記第１終端抵抗の値を調整し、
前記擬似回路の入力信号を前記第２論理レベルに設定し、前記電流源を制御して前記擬似回路の出力端子に流し込む前記負荷電流の量を変化させ、前記比較回路による比較結果が変化したときの前記負荷電流の量に基づいて、前記擬似回路の前記出力抵抗の第２抵抗値を前記モニタ電圧の複数のレベル毎に算出し、前記第２論理レベルの信号を受けた場合に駆動する前記駆動回路の使用数を前記第２抵抗値に基づいて前記複数ビットの入力データのビット毎に調整して、前記第２終端抵抗の値を調整する
ことを特徴とする終端抵抗調整回路。
【請求項４】
請求項３に記載の終端抵抗調整回路において、
前記制御回路は、
前記複数ビットの入力データのうち、調整対象のビットが前記第１論理レベルになる複数の入力パターンのそれぞれに対応する複数のレベルの前記第１抵抗値の平均に基づいて、前記調整対象のビットの前記駆動回路の使用数のうち、前記第１論理レベルの信号を受けた場合に駆動する前記駆動回路の使用数を調整して、前記第１終端抵抗の値を調整し、
前記複数ビットの入力データのうち、前記調整対象のビットが前記第２論理レベルになる複数の入力パターンのそれぞれに対応する複数のレベルの前記第２抵抗値の平均に基づいて、前記調整対象のビットの前記駆動回路の使用数のうち、前記第２論理レベルの信号を受けた場合に駆動する前記駆動回路の使用数を調整して、前記第２終端抵抗の値を調整する
ことを特徴とする終端抵抗調整回路。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載の終端抵抗調整回路において、
前記電圧生成回路は、前記複数ビットの入力データのビット数がｍビット（ｍは、２以上の整数）である場合、前記複数の参照電圧として、２のｍ乗個の参照電圧を等間隔になるように生成にする
ことを特徴とする終端抵抗調整回路。
【請求項６】
請求項５に記載の終端抵抗調整回路において、
前記比較回路は、前記２のｍ乗個の参照電圧の各々と前記モニタ電圧とをそれぞれ比較し、２のｍ乗個の比較結果を前記制御回路に出力する
ことを特徴とする終端抵抗調整回路。
【請求項７】
複数ビットの入力データの値に対応する電圧レベルを有する出力信号を複数の駆動回路で生成する送信回路と、前記複数ビットの入力データの各ビットの駆動回路の使用数を調整することにより前記送信回路の終端抵抗の値を調整する終端抵抗調整回路とを有し、
前記終端抵抗調整回路は、
前記駆動回路の終端抵抗と同じ特性を有する出力抵抗を含む擬似回路と、
前記擬似回路の出力端子に供給する負荷電流の量を調整可能な電流源と、
前記複数ビットの入力データにより表される複数の値にそれぞれ対応する複数の参照電圧を生成する電圧生成回路と、
前記擬似回路の出力端子から出力されるモニタ電圧と前記複数の参照電圧とをそれぞれ比較する比較回路と、
前記擬似回路の入力信号を第１論理レベルまたは第２論理レベルのいずれかに設定して前記擬似回路を駆動させ、前記電流源を制御して前記負荷電流の量を変化させ、前記比較回路による比較結果が変化したときの前記負荷電流の量に基づいて、前記擬似回路の前記出力抵抗の値を前記モニタ電圧の複数のレベル毎に算出し、前記複数のレベル毎に算出した前記出力抵抗の値に基づいて前記複数ビットの入力データのビット毎に前記駆動回路の使用数を調整して、前記送信回路の終端抵抗の値を調整する制御回路と
を有することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、終端抵抗調整回路および終端抵抗調整回路を有する装置に関する。
【背景技術】
【０００２】
データ伝送に用いられる送信回路の出力端および受信回路の受信端には、信号の反射を防ぐ終端抵抗が設けられる。終端抵抗の値は規格等により規定される。なお、終端抵抗の値は、温度等の動作条件により変化する場合がある。このため、送信回路等の終端抵抗の値が所定の範囲に収まるように較正する装置が提案されている（例えば、特許文献１参照）。この種の装置では、例えば、送信回路の一部分を複製した被検査装置の出力電圧と基準電圧との比較結果に基づいて、被検査装置の出力インピーダンスを調整する制御信号を生成する。被検査装置の出力インピーダンスを調整する制御信号は、送信回路にも与えられる。これにより、送信回路の出力インピーダンスも調整される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１２１２８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、サーバ等の情報処理装置および通信システムの基幹装置等の性能向上に伴い、装置内外での信号の送受信のデータレートを高くすることが望まれている。信号線１本当たりのデータレートを高くする方法として、振幅変調を用いた多値伝送が知られている。例えば、４ＰＡＭ（4-level pulse amplitude modulation）を用いる送信回路は、２ビットのデータの上位ビット用の駆動部と下位ビット用の駆動部とを有する。そして、送信回路は、２ビットのデータを振幅変調して、４つの電圧レベルのいずれかを含む信号（シンボル）を１本の信号線で受信回路に伝送する。受信回路は、１つのシンボルから２ビットの信号（例えば、００、０１、１０、１１）を検出する。このように、複数ビットのデータを振幅変調して１本の信号線で伝送する送信回路では、１ビットのデータを１本の信号線で伝送する送信回路に比べて、信号線１本当たりのデータレートを高くすることができる。
【０００５】
送信回路から出力される各電圧レベルの差は、規格により規定されており、所定の範囲内に収まるように設計される。４ＰＡＭを用いる送信回路では、例えば、下位ビット用の駆動部に含まれる終端抵抗の値が上位ビット用の駆動部に含まれる終端抵抗の値の２倍で安定している場合、送信回路から出力される各電圧レベルの差は互いに等しくなる。
【０００６】
なお、送信回路の終端抵抗（各駆動部に含まれる終端抵抗）としてＭＯＳ（Metal Oxide Semiconductor）トランジスタのオン抵抗等が用いられる場合、送信回路の出力電圧が変化することにより、終端抵抗の値が変化する場合がある。すなわち、送信回路の終端抵抗の値は、送信回路への入力データのパターンに応じて変動する場合がある。
【０００７】
このため、特定の電圧レベル（特定の動作点）での終端抵抗の値を所定の範囲に収めるように調整しても、下位ビット用の駆動部に含まれる終端抵抗の値と上位ビット用の駆動部に含まれる終端抵抗の値との比が適切に調整されるとは限らない。下位ビット用の駆動部に含まれる終端抵抗の値と上位ビット用の駆動部に含まれる終端抵抗の値との比が適切な値からずれるほど、送信回路から出力される各電圧レベルの差のばらつきが大きくなり、送信波形の特性は劣化する。
【０００８】
１つの側面では、本件開示の終端抵抗調整回路および終端抵抗調整回路を有する装置は、送信回路の終端抵抗の値を適切に調整することを目的とする。
【課題を解決するための手段】
【０００９】
一観点によれば、複数ビットの入力データの値に対応する電圧レベルを有する出力信号を複数の駆動回路で生成する送信回路の終端抵抗の値を、複数ビットの入力データの各ビットの駆動回路の使用数を調整することにより調整する終端抵抗調整回路は、駆動回路の終端抵抗と同じ特性を有する出力抵抗を含む擬似回路と、擬似回路の出力端子に供給する負荷電流の量を調整可能な電流源と、複数ビットの入力データにより表される複数の値にそれぞれ対応する複数の参照電圧を生成する電圧生成回路と、擬似回路の出力端子から出力されるモニタ電圧と複数の参照電圧とをそれぞれ比較する比較回路と、擬似回路の入力信号を第１論理レベルまたは第２論理レベルのいずれかに設定して擬似回路を駆動させ、電流源を制御して負荷電流の量を変化させ、比較回路による比較結果が変化したときの負荷電流の量に基づいて、擬似回路の出力抵抗の値をモニタ電圧の複数のレベル毎に算出し、複数のレベル毎に算出した出力抵抗の値に基づいて複数ビットの入力データのビット毎に駆動回路の使用数を調整して、送信回路の終端抵抗の値を調整する制御回路とを有する。
【００１０】
別の観点によれば、装置は、複数ビットの入力データの値に対応する電圧レベルを有する出力信号を複数の駆動回路で生成する送信回路と、複数ビットの入力データの各ビットの駆動回路の使用数を調整することにより送信回路の終端抵抗の値を調整する終端抵抗調整回路とを有し、終端抵抗調整回路は、駆動回路の終端抵抗と同じ特性を有する出力抵抗を含む擬似回路と、擬似回路の出力端子に供給する負荷電流の量を調整可能な電流源と、複数ビットの入力データにより表される複数の値にそれぞれ対応する複数の参照電圧を生成する電圧生成回路と、擬似回路の出力端子から出力されるモニタ電圧と複数の参照電圧とをそれぞれ比較する比較回路と、擬似回路の入力信号を第１論理レベルまたは第２論理レベルのいずれかに設定して擬似回路を駆動させ、電流源を制御して負荷電流の量を変化させ、比較回路による比較結果が変化したときの負荷電流の量に基づいて、擬似回路の出力抵抗の値をモニタ電圧の複数のレベル毎に算出し、複数のレベル毎に算出した出力抵抗の値に基づいて複数ビットの入力データのビット毎に駆動回路の使用数を調整して、送信回路の終端抵抗の値を調整する制御回路とを有する。
【発明の効果】
【００１１】
本件開示の終端抵抗調整回路および終端抵抗調整回路を有する装置は、送信回路の終端抵抗の値を適切に調整できる。
【図面の簡単な説明】
【００１２】
【図１】終端抵抗調整回路および終端抵抗調整回路を有する装置の一実施形態を示す図である。
【図２】終端抵抗調整回路および終端抵抗調整回路を有する装置の別の実施形態を示す図である。
【図３】ＭＯＳトランジスタのオン抵抗の特性の一例を示す図である。
【図４】図２に示したモニタ回路、電圧生成回路および比較回路の一例を示す図である。
【図５】図２に示した終端抵抗調整回路の動作の一例を示す図である。
【図６】駆動回路の使用数を算出する際に使用される計算式の一例を示す図である。
【図７】４ＰＡＭにより生成される信号波形の一例を示す図である。
【図８】終端抵抗調整回路および終端抵抗調整回路を有する装置の別の実施形態を示す図である。
【図９】図８に示した終端抵抗調整回路の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、実施形態について、図面を用いて説明する。
【００１４】
図１は、終端抵抗調整回路および終端抵抗調整回路を有する装置の一実施形態を示す。図１に示す装置１０は、２ビットの入力データＤ（Ｄ１、Ｄ０）の値に対応する電圧レベルを有する出力信号ＤＯＵＴを生成する送信回路７０と、送信回路７０の終端抵抗の値を調整する終端抵抗調整回路２０とを有する。送信回路７０および終端抵抗調整回路２０は、例えば、サーバ等の情報処理装置または通信システムの基幹装置等に搭載される。
【００１５】
送信回路７０は、２ビットの振幅変調である４ＰＡＭを実行し、２ビットの入力データＤ１、Ｄ０を振幅変調する。これにより、送信回路７０は、２ビットの入力データＤ１、Ｄ０で表される４つの値にそれぞれ対応する４つの電圧レベルの信号を１本の信号線で受信回路に伝送できる。４ＰＡＭの信号は、例えば、２ビットの入力データＤのうちの下位ビットのデータＤ０と上位ビットのデータＤ１とを、１：２の比率で加算することにより生成される。
【００１６】
例えば、送信回路７０は、入力データＤ０を受ける複数の駆動回路８０と、入力データＤ１を受ける複数の駆動回路８１とを有する。なお、図１では、図を見やすくするために、駆動回路８０、８１のうちの１つを除いて、内部の要素（例えば、Ｐ型のＭＯＳトランジスタＭＰ１０等）および端子名の記載を省略している。
【００１７】
複数の駆動回路８０は、互いに接続された入力端子ＩＮで入力データＤ０を受け、互いに独立した制御信号ＣＮＴＥＰ０をそれぞれの端子ＥＮＰで受け、互いに独立した制御信号ＣＮＴＥＮ０をそれぞれの端子ＥＮＮで受ける。なお、図１では、図を見やすくするために、互いに独立した制御信号ＣＮＴＥＰ０を１つの信号線で示し、互いに独立した制御信号ＣＮＴＥＮ０を１つの信号線で示している。複数の駆動回路８０の各々は、端子ＥＮＰで受けた制御信号ＣＮＴＥＰ０および端子ＥＮＮで受けた制御信号ＣＮＴＥＮ０に基づいて、駆動可能な状態または駆動しない状態に設定される。駆動可能な状態の駆動回路８０は、入力端子ＩＮで受けた入力データＤ０のレベル（値）に基づいて、出力端子ＯＵＴを駆動する。
【００１８】
例えば、各駆動回路８０は、Ｐ型のＭＯＳトランジスタＭＰ１０、ＭＰ２０、Ｎ型のＭＯＳトランジスタＭＮ１０、ＭＮ２０および抵抗Ｒ１０を有する。以下、Ｐ型のＭＯＳトランジスタおよびＮ型のＭＯＳトランジスタは、単に、トランジスタとも称される。
【００１９】
トランジスタＭＰ１０、ＭＰ２０、ＭＮ２０、ＭＮ１０は、電源電圧ＶＤＤが供給される電源線（以下、電源線ＶＤＤとも称する）と接地電圧ＶＳＳが供給される接地線（以下、接地線ＶＳＳとも称する）との間に直列に接続される。トランジスタＭＰ１０のゲートは端子ＥＮＰに接続され、トランジスタＭＰ２０、ＭＮ２０のゲートは入力端子ＩＮに接続され、トランジスタＭＮ１０のゲートは端子ＥＮＮに接続される。また、トランジスタＭＰ２０、ＭＮ２０のドレインは、抵抗Ｒ１０の一端に接続される。そして、抵抗Ｒ１０の他端は、出力端子ＯＵＴに接続される。
【００２０】
トランジスタＭＰ１０は、制御信号ＣＮＴＥＰ０を端子ＥＮＰを介してゲートで受け、受けた制御信号ＣＮＴＥＰ０の値（レベル）に応じて、導通状態であるオン状態と非導通状態であるオフ状態とのいずれかに設定される。また、トランジスタＭＮ１０は、制御信号ＣＮＴＥＮ０を端子ＥＮＮを介してゲートで受け、受けた制御信号ＣＮＴＥＮ０の値（レベル）に応じて、オン状態とオフ状態とのいずれかに設定される。
【００２１】
例えば、端子ＥＮＰが低論理レベル（例えば、０）に設定された駆動回路８０では、トランジスタＭＰ１０はオン状態に設定され、端子ＥＮＮが高論理レベル（例えば、１）に設定された駆動回路８０では、トランジスタＭＮ１０はオン状態に設定される。また、低論理レベルの入力データＤ０を入力端子ＩＮで受けた駆動回路８０では、トランジスタＭＰ２０がオン状態になり、トランジスタＭＮ２０がオフ状態になる。なお、高論理レベルの入力データＤ０を入力端子ＩＮで受けた駆動回路８０では、トランジスタＭＰ２０がオフ状態になり、トランジスタＭＮ２０がオン状態になる。
【００２２】
したがって、低論理レベルの制御信号ＣＮＴＥＰ０を受けた駆動回路８０は、低論理レベルの入力データＤ０を受けたときに駆動する状態（駆動可能な状態）に設定される。すなわち、低論理レベルの入力データＤ０を受けた場合に駆動する駆動回路８０では、対応する制御信号ＣＮＴＥＰ０は、低論理レベルに設定される。換言すれば、低論理レベルの入力データＤ０を受けた場合に駆動しない駆動回路８０では、対応する制御信号ＣＮＴＥＰ０は、高論理レベルに設定される。
【００２３】
また、高論理レベルの制御信号ＣＮＴＥＮ０を受けた駆動回路８０は、高論理レベルの入力データＤ０を受けたときに駆動する状態（駆動可能な状態）に設定される。すなわち、高論理レベルの入力データＤ０を受けた場合に駆動する駆動回路８０では、対応する制御信号ＣＮＴＥＮ０は、高論理レベルに設定される。換言すれば、高論理レベルの入力データＤ０を受けた場合に駆動しない駆動回路８０では、対応する制御信号ＣＮＴＥＮ０は、低論理レベルに設定される。このように、駆動回路８０の使用数は、端子ＥＮＰに転送される制御信号ＣＮＴＥＰおよび端子ＥＮＮに転送される制御信号ＣＮＴＥＮにより制御される。
【００２４】
例えば、端子ＥＮＰが低論理レベルに設定された駆動回路８０は、低論理レベルの入力データＤ０を入力端子ＩＮで受けた場合、電源線ＶＤＤと出力端子ＯＵＴとの間を導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を非導通状態にする。この場合、電源線ＶＤＤと出力端子ＯＵＴとの間に配置されたトランジスタＭＰ１０、ＭＰ２０および抵抗Ｒ１０は、駆動回路８０の終端抵抗として機能する。例えば、駆動回路８０の終端抵抗の値は、トランジスタＭＰ１０のオン抵抗とトランジスタＭＰ２０のオン抵抗と抵抗Ｒ１０とを合成した合成抵抗の値である。なお、端子ＥＮＰが高論理レベルに設定された駆動回路８０では、トランジスタＭＰ１０がオフ状態になるため、トランジスタＭＰ１０、ＭＰ２０は、入力データＤ０が低論理レベルの場合でも、終端抵抗として機能しない。
【００２５】
また、例えば、端子ＥＮＮが高論理レベルに設定された駆動回路８０は、高論理レベルの入力データＤ０を入力端子ＩＮで受けた場合、電源線ＶＤＤと出力端子ＯＵＴとの間を非導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を導通状態にする。この場合、接地線ＶＳＳと出力端子ＯＵＴとの間に配置されたトランジスタＭＮ１０、ＭＮ２０および抵抗Ｒ１０は、駆動回路８０の終端抵抗として機能する。例えば、駆動回路８０の終端抵抗の値は、トランジスタＭＮ１０のオン抵抗とトランジスタＭＮ２０のオン抵抗と抵抗Ｒ１０とを合成した合成抵抗の値である。なお、端子ＥＮＮが低論理レベルに設定された駆動回路８０では、トランジスタＭＮ１０がオフ状態になるため、トランジスタＭＮ１０、ＭＮ２０は、入力データＤ０が高論理レベルの場合でも、終端抵抗として機能しない。
【００２６】
複数の駆動回路８０の出力端子ＯＵＴが互いに接続されているため、複数の駆動回路８０の終端抵抗は、並列に接続される。また、低論理レベルの入力データＤ０を受けても駆動しない状態に設定されていた駆動回路８０は、入力端子ＩＮで受けた入力データＤ０のレベルに拘わらず、電源線ＶＤＤと出力端子ＯＵＴとの間を非導通状態に維持する。同様に、高論理レベルの入力データＤ０を受けても駆動しない状態に設定されていた駆動回路８０は、入力端子ＩＮで受けた入力データＤ０のレベルに拘わらず、接地線ＶＳＳと出力端子ＯＵＴとの間を非導通状態に維持する。
【００２７】
このため、並列に接続された複数の駆動回路８０の終端抵抗の合成値は、駆動可能な状態の駆動回路８０の終端抵抗を並列に接続した合成抵抗の値に等しい。以下、駆動可能な状態の駆動回路８０の終端抵抗を並列に接続した合成抵抗は、駆動回路８０の合成抵抗とも称される。駆動回路８０の合成抵抗は、送信回路７０の終端抵抗の一部として機能する。したがって、駆動可能な状態の駆動回路８０の数（すなわち、駆動回路８０の使用数）を調整することにより、送信回路７０の終端抵抗の値を調整することができる。
【００２８】
駆動回路８１は、入力データＤ１、制御信号ＣＮＴＥＰ１、ＣＮＴＥＮ１を入力データＤ０、制御信号ＣＮＴＥＰ０、ＣＮＴＥＮ０の代わりに受けることを除いて、駆動回路８０と同一または同様である。例えば、端子ＥＮＰが低論理レベルに設定された駆動回路８１は、低論理レベルの入力データＤ１を入力端子ＩＮで受けた場合、電源線ＶＤＤと出力端子ＯＵＴとの間を導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を非導通状態にする。この場合、電源線ＶＤＤと出力端子ＯＵＴとの間に配置されたトランジスタＭＰ１０、ＭＰ２０および抵抗Ｒ１０は、駆動回路８１の終端抵抗として機能する。
【００２９】
また、端子ＥＮＮが高論理レベルに設定された駆動回路８１は、高論理レベルの入力データＤ１を入力端子ＩＮで受けた場合、電源線ＶＤＤと出力端子ＯＵＴとの間を非導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を導通状態にする。この場合、接地線ＶＳＳと出力端子ＯＵＴとの間に配置されたトランジスタＭＮ１０、ＭＮ２０および抵抗Ｒ１０は、駆動回路８１の終端抵抗として機能する。以下、駆動可能な状態の駆動回路８１の終端抵抗を並列に接続した合成抵抗は、駆動回路８１の合成抵抗とも称される。駆動回路８１の合成抵抗は、送信回路７０の終端抵抗の一部として機能する。したがって、駆動可能な状態の駆動回路８１の数（すなわち、駆動回路８１の使用数）を調整することにより、送信回路７０の終端抵抗の値を調整することができる。
【００３０】
駆動回路８０の出力端子ＯＵＴと駆動回路８１の出力端子ＯＵＴとは互いに接続される。したがって、送信回路７０の終端抵抗の値は、駆動回路８０の合成抵抗と駆動回路８１の合成抵抗とを並列に接続した合成抵抗の値である。すなわち、送信回路７０の終端抵抗の値は、２ビットの入力データＤ（Ｄ１、Ｄ０）のビット毎に駆動回路８１、８０の使用数を調整することにより調整される。
【００３１】
なお、終端抵抗として機能するトランジスタＭＰ、ＭＮは、入力データＤ１、Ｄ０の値によって切り替わる。例えば、入力データＤ１、Ｄ０が”００”である場合、駆動回路８１、８０内のトランジスタＭＰ１０、ＭＰ２０および抵抗Ｒ１０が、送信回路７０の終端抵抗として機能する。入力データＤ１、Ｄ０が”０１”である場合、駆動回路８１内のトランジスタＭＰ１０、ＭＰ２０および抵抗Ｒ１０と、駆動回路８０内のトランジスタＭＮ１０、ＭＮ２０および抵抗Ｒ１０とが、送信回路７０の終端抵抗として機能する。入力データＤ１、Ｄ０が”１０”である場合、駆動回路８１内のトランジスタＭＮ１０、ＭＮ２０および抵抗Ｒ１０と、駆動回路８０内のトランジスタＭＰ１０、ＭＰ２０および抵抗Ｒ１０とが、送信回路７０の終端抵抗として機能する。入力データＤ１、Ｄ０が”１１”である場合、駆動回路８１、８０内のトランジスタＭＮ１０、ＭＮ２０および抵抗Ｒ１０が、送信回路７０の終端抵抗として機能する。
【００３２】
また、出力信号ＤＯＵＴの電圧レベル（出力端子ＯＵＴの電圧）が変化した場合、ＭＯＳトランジスタ（例えば、トランジスタＭＰ１０、ＭＰ２０、ＭＮ１０、ＭＮ２０）のオン抵抗の値が変化し、各駆動回路８０、８１の終端抵抗の値が変化する場合がある。このため、送信回路７０の終端抵抗の値は、入力データＤ１、Ｄ０の値に拘わらず所定の範囲（例えば、５０±５Ω等）に収まるように、制御信号ＣＮＴＥＰ０、ＣＮＴＥＮ０、ＣＮＴＥＰ１、ＣＮＴＥＮ１によって、調整される。
【００３３】
さらに、駆動回路８０の合成抵抗の値および駆動回路８１の合成抵抗の値は、入力データＤ１用の駆動回路８１の駆動力が入力データＤ０用の駆動回路８０の駆動力の２倍になるように調整される。例えば、駆動回路８０の合成抵抗の値は、駆動回路８１の合成抵抗の値の約２倍になるように調整される。駆動回路８０の合成抵抗の値が入力データＤ１、Ｄ０の値に拘わらず駆動回路８１の合成抵抗の値の２倍で安定している場合、出力信号ＤＯＵＴの各電圧レベルの差は互いに等しくなる。例えば、２ビットの入力データＤ１、Ｄ０で表される４つの値にそれぞれ対応する４つの電圧レベルが９／１２＊ＶＤＤ、７／１２＊ＶＤＤ、５／１２＊ＶＤＤ、３／１２＊ＶＤＤで安定し、４つの電圧レベルの差は、１／６＊ＶＤＤになる。なお、”＊”は、乗算を示している。
【００３４】
送信回路７０の終端抵抗の値は、例えば、装置１０の製造時（より詳細には、製造工程の試験時）または装置１０の電源投入時等に、終端抵抗調整回路２０により調整される。
【００３５】
終端抵抗調整回路２０は、例えば、モニタ回路３０、電圧生成回路４０、比較回路５０および制御回路６０を有する。モニタ回路３０は、駆動回路８０、８１の終端抵抗と同じ特性を有する出力抵抗を含む擬似回路３２と、擬似回路３２の出力端子ＯＵＴに負荷電流ＩＬを供給する電流源３４、３６とを有する。擬似回路３２の出力端子ＯＵＴは、電流源３４、３６および比較回路５０に接続される。
【００３６】
擬似回路３２は、Ｐ型のＭＯＳトランジスタＭＰ１２、ＭＰ２２、Ｎ型のＭＯＳトランジスタＭＮ１２、ＭＮ２２および抵抗Ｒ１２を有する。トランジスタＭＰ１２、ＭＰ２２、ＭＮ１２、ＭＮ２２および抵抗Ｒ１２のそれぞれの電気的特性は、駆動回路８０のトランジスタＭＰ１０、ＭＰ２０、ＭＮ２０、ＭＮ１０および抵抗Ｒ１０のそれぞれの電気的特性と同一または同様である。例えば、トランジスタＭＰ１２のゲート長とゲート幅の比は、トランジスタＭＰ１０のゲート長とゲート幅の比と一致またはほぼ一致する。トランジスタＭＰ２２のゲート長とゲート幅の比は、トランジスタＭＰ２０のゲート長とゲート幅の比と一致またはほぼ一致する。トランジスタＭＮ１２のゲート長とゲート幅の比は、トランジスタＭＮ１０のゲート長とゲート幅の比と一致またはほぼ一致する。トランジスタＭＮ２２のゲート長とゲート幅の比は、トランジスタＭＮ２０のゲート長とゲート幅の比と一致またはほぼ一致する。抵抗Ｒ１２の電気的特性は、抵抗Ｒ１０の電気的特性と同一または同様である。
【００３７】
トランジスタＭＰ１２、ＭＰ２２、ＭＮ２２、ＭＮ１２は、電源線ＶＤＤと接地線ＶＳＳとの間に直列に接続される。トランジスタＭＰ１２は、ゲートが接地線ＶＳＳに接続され、オン状態に設定される。トランジスタＭＰ２２、ＭＮ２２のゲートは、入力端子ＩＮに接続され、制御データＣＮＴＤを制御回路６０から受ける。また、トランジスタＭＰ２２、ＭＮ２２のドレインは、抵抗Ｒ１２の一端に接続される。抵抗Ｒ１２の他端は、擬似回路３２の出力端子ＯＵＴに接続される。
【００３８】
このように、擬似回路３２は、駆動可能な状態に予め設定され、入力端子ＩＮで受けた制御データＣＮＴＤのレベル（値）に基づいて、出力端子ＯＵＴを駆動する。例えば、擬似回路３２は、低論理レベルの制御データＣＮＴＤを入力端子ＩＮで受けた場合、電源線ＶＤＤと出力端子ＯＵＴとの間を導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を非導通状態にする。この場合、負荷電流ＩＬは、電源線ＶＤＤからトランジスタＭＰ１２、ＭＰ２２、抵抗Ｒ１２および出力端子ＯＵＴを介して電流源３６に引き込まれる。したがって、電源線ＶＤＤと出力端子ＯＵＴとの間に配置されたトランジスタＭＰ１２、ＭＰ２２および抵抗Ｒ１２は、擬似回路３２の出力抵抗として機能する。例えば、擬似回路３２の出力抵抗の値は、トランジスタＭＰ１２のオン抵抗とトランジスタＭＰ２２のオン抵抗と抵抗Ｒ１２とを合成した合成抵抗の値である。
【００３９】
また、例えば、擬似回路３２は、高論理レベルの制御データＣＮＴＤを入力端子ＩＮで受けた場合、電源線ＶＤＤと出力端子ＯＵＴとの間を非導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を導通状態にする。この場合、負荷電流ＩＬは、電流源３４から出力端子ＯＵＴ、抵抗Ｒ１２、トランジスタＭＮ２２、ＭＮ１２を介して接地線ＶＳＳに流し込まれる。したがって、接地線ＶＳＳと出力端子ＯＵＴとの間に配置されたトランジスタＭＮ１２、ＭＮ２２および抵抗Ｒ１２は、擬似回路３２の出力抵抗として機能する。例えば、擬似回路３２の出力抵抗の値は、トランジスタＭＮ１２のオン抵抗とトランジスタＭＮ２２のオン抵抗と抵抗Ｒ１２とを合成した合成抵抗の値である。
【００４０】
電流源３４は、擬似回路３２の出力端子ＯＵＴに流し込む負荷電流ＩＬの量を、制御回路６０から受ける制御信号ＣＮＴＩＰに基づいて調整する。電流源３６は、擬似回路３２の出力端子ＯＵＴから引き抜く負荷電流ＩＬの量を、制御回路６０から受ける制御信号ＣＮＴＩＮに基づいて調整する。
【００４１】
電圧生成回路４０は、送信回路７０に供給される２ビットの入力データＤ１、Ｄ０により表される４つの値にそれぞれ対応する４つの参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３を生成する。例えば、参照電圧ＶＲＥＦ０は、送信回路７０の入力データＤ１、Ｄ０が”００”のときの出力信号ＤＯＵＴの電圧レベル（約９／１２＊ＶＤＤ）に対応する。参照電圧ＶＲＥＦ１は、入力データＤ１、Ｄ０が”０１”のときの出力信号ＤＯＵＴの電圧レベル（約７／１２＊ＶＤＤ）に対応する。参照電圧ＶＲＥＦ２は、入力データＤ１、Ｄ０が”１０”のときの出力信号ＤＯＵＴの電圧レベル（約５／１２＊ＶＤＤ）に対応する。参照電圧ＶＲＥＦ３は、入力データＤ１、Ｄ０が”１１”のときの出力信号ＤＯＵＴの電圧レベル（約３／１２＊ＶＤＤ）に対応する。電圧生成回路４０で生成された参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３は、比較回路５０に供給される。
【００４２】
比較回路５０は、擬似回路３２の出力端子ＯＵＴから出力されるモニタ電圧ＶＭＯＮをモニタ回路３０から受け、複数の参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３を電圧生成回路４０から受ける。そして、比較回路５０は、モニタ電圧ＶＭＯＮと複数の参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３とをそれぞれ比較し、それぞれの比較結果を示す比較結果情報ＤＣＯＭを制御回路６０に出力する。比較結果情報ＤＣＯＭにより、参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３の各々とモニタ電圧ＶＭＯＮとの大小関係が分かる。すなわち、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３のどのあたりにあるかが分かる。
【００４３】
制御回路６０は、制御データＣＮＴＤを低論理レベルまたは高論理レベルに設定して擬似回路３２を駆動させるとともに、制御信号ＣＮＴＩＰ、ＣＮＴＩＮを用いて負荷電流ＩＬの量を変化させる。例えば、制御回路６０は、制御データＣＮＴＤを低論理レベルに設定した場合、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ２以下になるまで、擬似回路３２の出力端子ＯＵＴから引く抜く負荷電流ＩＬの量を０から増加させる。また、例えば、制御回路６０は、制御データＣＮＴＤを高論理レベルに設定した場合、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１を超えるまで、擬似回路３２の出力端子ＯＵＴに流し込む負荷電流ＩＬの量を０から増加させる。
【００４４】
また、制御回路６０は、比較回路５０から受ける比較結果情報ＤＣＯＭが変化したときの負荷電流ＩＬの量に基づいて、擬似回路３２の出力抵抗の値をモニタ電圧ＶＭＯＮの複数のレベル毎に算出する。比較結果情報ＤＣＯＭが変化するタイミングは、負荷電流ＩＬの量の変化に伴い変化するモニタ電圧ＶＭＯＮのレベルが各参照電圧ＶＲＥＦを通過するタイミングに対応する。例えば、制御回路６０は、比較結果情報ＤＣＯＭが変化したときのモニタ電圧ＶＭＯＮのレベルを、比較結果情報ＤＣＯＭの変化前後の比較結果に基づいて、参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３のいずれかに特定する。
【００４５】
そして、制御回路６０は、比較結果情報ＤＣＯＭが変化したときの負荷電流ＩＬの量（電流源３４または電流源３６の電流量）とモニタ電圧ＶＭＯＮのレベル（特定した参照電圧ＶＲＥＦ）とに基づいて、擬似回路３２の出力抵抗の値を算出する。これにより、モニタ電圧ＶＭＯＮのレベルが参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３のときの擬似回路３２の出力抵抗の値が、それぞれ算出される。
【００４６】
このように、制御回路６０は、擬似回路３２の出力抵抗の値を、２ビットの入力データＤ１、Ｄ０で表される値にそれぞれ対応する４つの電圧レベル毎に算出する。そして、制御回路６０は、モニタ電圧ＶＭＯＮの複数のレベル毎に算出した擬似回路３２の出力抵抗の値に基づいて、２ビットの入力データＤ１、Ｄ０のビット毎に駆動回路８１、８０の使用数を調整する。
【００４７】
制御回路６０は、駆動回路８０の合成抵抗の値と駆動回路８１の合成抵抗の値との比が２：１になるように、各駆動回路８０、８１の使用数を設定する。例えば、送信回路７０の終端抵抗の規定値が５０Ωの場合、駆動回路８０の合成抵抗の値は、１５０（＝５０＊（１＋２））Ωになるように調整され、駆動回路８１の合成抵抗の値は、７５（＝５０＊（１＋２）／２）Ωになるように調整される。
【００４８】
例えば、制御回路６０は、複数の参照電圧ＶＲＥＦに対応する複数の電圧レベルでの駆動回路８０の合成抵抗の値の平均が１５０Ωに最も近づく駆動回路８０の使用数を算出する。そして、制御回路６０は、複数の駆動回路８０のうち、算出した使用数と同じ数の駆動回路８０を駆動可能な状態にする制御信号ＣＮＴＥＮ０、ＣＮＴＥＰ０を生成する。また、制御回路６０は、複数の参照電圧ＶＲＥＦに対応する複数の電圧レベルでの駆動回路８１の合成抵抗の値の平均が７５Ωに最も近づく駆動回路８１の使用数を算出する。そして、制御回路６０は、複数の駆動回路８１のうち、算出した使用数と同じ数の駆動回路８１を駆動可能な状態にする制御信号ＣＮＴＥＰ１、ＣＮＴＥＮ１を生成する。
【００４９】
このように、制御回路６０は、モニタ電圧ＶＭＯＮの複数のレベル毎に算出した擬似回路３２の出力抵抗の値に基づいて２ビットの入力データＤ（Ｄ１、Ｄ０）のビット毎に駆動回路８１、８０の使用数を調整して、送信回路７０の終端抵抗の値を調整する。擬似回路３２の出力抵抗の値を算出する際のモニタ電圧ＶＭＯＮの複数のレベルは、複数の参照電圧ＶＲＥＦに対応しているため、２ビットの入力データＤの複数のパターン（以下、入力パターンとも称する）に対応する。
【００５０】
すなわち、終端抵抗調整回路２０は、複数の入力パターンで算出した擬似回路３２の出力抵抗の値を用いて、駆動回路８１、８０の使用数を個別に調整する。これにより、送信回路７０の終端抵抗の値を適切に調整できる。例えば、駆動回路８１の合成抵抗の値と駆動回路８０の合成抵抗の値との比の変動（入力パターンの変化に伴う変動）は、１つの入力パターンに基づいて駆動回路８０、８１の使用数を調整した場合に比べて抑制される。
【００５１】
なお、終端抵抗調整回路２０および送信回路７０の構成（すなわち、装置１０の構成）は、図１に示す例に限定されない。例えば、送信回路７０は、３ビット以上の入力データＤを振幅変調して出力信号ＤＯＵＴを生成してもよい。この場合、送信回路７０は、入力データＤのビット毎に駆動回路８０と同一または同様な複数の駆動回路を有する。そして、終端抵抗調整回路２０は、入力データＤのビット毎に駆動回路の使用数を調整して、送信回路７０の終端抵抗の値を調整する。
【００５２】
また、駆動回路８０、８１の構成は、図１に示す例に限定されない。例えば、駆動回路８０、８１は、低論理レベルの入力データＤ０を入力端子ＩＮで受けたときに、電源線ＶＤＤと出力端子ＯＵＴとの間を非導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を導通状態にしてもよい。この場合、駆動回路８０、８１は、高論理レベルの入力データＤ０を入力端子ＩＮで受けたときに、電源線ＶＤＤと出力端子ＯＵＴとの間を導通状態にし、接地線ＶＳＳと出力端子ＯＵＴとの間を非導通状態にする。
【００５３】
以上、図１に示す実施形態では、終端抵抗調整回路２０は、駆動回路８０、８１の使用数を、モニタ電圧ＶＭＯＮの複数のレベル毎に算出した出力抵抗の値（複数の入力パターンに対応する出力抵抗の値）に基づいて、個別に調整する。これにより、駆動回路８１の合成抵抗の値と駆動回路８０の合成抵抗の値との比の変動（入力パターンの変化に伴う変動）は、１つの入力パターンに基づいて駆動回路８０、８１の使用数を調整した場合に比べて抑制される。この結果、１つの入力パターンに基づいて駆動回路８０、８１の使用数を調整した場合に比べて、送信回路７０から出力される出力信号ＤＯＵＴの各電圧レベルの差のばらつきが大きくなること（送信波形の特性劣化）を抑制することができる。このように、図１に示す実施形態では、送信回路７０の終端抵抗の値を適切に調整することができる。
【００５４】
図２は、終端抵抗調整回路および終端抵抗調整回路を有する装置の別の実施形態を示す。図１で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図２に示す装置１０Ａは、差動送信回路７２と、差動送信回路７２の終端抵抗の値を調整する終端抵抗調整回路２０Ａとを有する。差動送信回路７２および終端抵抗調整回路２０Ａは、例えば、サーバ等の情報処理装置または通信システムの基幹装置等に搭載される。
【００５５】
差動送信回路７２は、差動の入力データＤを受け、差動の出力信号ＤＯＵＴ（ＤＯＵＴｐ、ＤＯＵＴｎ）を受信装置等（図示せず）に出力する。入力データＤ０ｐは、入力データＤ０ｎの反転信号であり、入力データＤ１ｐは、入力データＤ１ｎの反転信号である。例えば、差動送信回路７２は、送信回路７０ｎ、７０ｐを有する。送信回路７０ｎ、７０ｐの構成は、図１に示した送信回路７０の構成と同一または同様である。
【００５６】
送信回路７０ｎは、４ＰＡＭを実行し、２ビットの入力データＤ１ｎ、Ｄ０ｎの値に対応する電圧レベルを有する出力信号ＤＯＵＴｎを生成する。例えば、送信回路７０ｎは、入力データＤ０ｎを受ける複数の駆動回路８０ｎと、入力データＤ１ｎを受ける複数の駆動回路８１ｎとを有する。駆動回路８０ｎは、図１に示した入力データＤ０の代わりに入力データＤ０ｎを受けることを除いて、図１に示した駆動回路８０と同一または同様である。駆動回路８１ｎは、図１に示した入力データＤ１の代わりに入力データＤ１ｎを受けることを除いて、図１に示した駆動回路８１と同一または同様である。
【００５７】
送信回路７０ｐは、４ＰＡＭを実行し、２ビットの入力データＤ１ｐ、Ｄ０ｐの値に対応する電圧レベルを有する出力信号ＤＯＵＴｐを生成する。例えば、送信回路７０ｐは、入力データＤ０ｐを受ける複数の駆動回路８０ｐと、入力データＤ１ｐを受ける複数の駆動回路８１ｐとを有する。駆動回路８０ｐは、図１に示した入力データＤ０の代わりに入力データＤ０ｐを受けることを除いて、図１に示した駆動回路８０と同一または同様である。駆動回路８１ｐは、図１に示した入力データＤ１の代わりに入力データＤ１ｐを受けることを除いて、図１に示した駆動回路８１と同一または同様である。
【００５８】
送信回路７０ｎの終端抵抗の値は、２ビットの入力データＤ（Ｄ１ｎ、Ｄ０ｎ）のビット毎に駆動回路８１ｎ、８０ｎの使用数を調整することにより調整される。なお、図２に示す例では、駆動回路８０ｐの使用数は、駆動回路８０ｎの使用数と一緒に同じ数に調整され、駆動回路８１ｐの使用数は、駆動回路８１ｎの使用数と一緒に同じ数に調整される。以下、駆動回路８０ｎ、８０ｐは、駆動回路８０とも称され、駆動回路８１ｎ、８１ｐは、駆動回路８１とも称される。
【００５９】
終端抵抗調整回路２０Ａは、例えば、モニタ回路３０、電圧生成回路４０、比較回路５０および制御回路６０Ａを有する。モニタ回路３０、電圧生成回路４０および比較回路５０は、図１に示したモニタ回路３０、電圧生成回路４０および比較回路５０と同一または同様である。
【００６０】
制御回路６０Ａは、電流検出部６２、抵抗計算部６４およびコード計算部６６を有する。電流検出部６２は、制御データＣＮＴＤ、制御信号ＣＮＴＩＰ、ＣＮＴＩＮをモニタ回路３０に出力し、比較結果情報ＤＣＯＭを比較回路５０から受ける。例えば、電流検出部６２は、制御データＣＮＴＤを低論理レベルまたは高論理レベルに設定してモニタ回路３０内の図４に示す擬似回路３２を駆動させる。また、電流検出部６２は、制御信号ＣＮＴＩＰ、ＣＮＴＩＮを用いてモニタ回路３０内の図４に示す電流源３４、３６を制御して負荷電流ＩＬの量を変化させる。
【００６１】
そして、電流検出部６２は、比較回路５０から受ける比較結果情報ＤＣＯＭが変化したときの負荷電流ＩＬの量を示す電流情報ＩＳＴ（ＩＳＴＰ１、ＩＳＴＰ２、ＩＳＴＰ３、ＩＳＴＮ１、ＩＳＴＮ２、ＩＳＴＮ３）を、抵抗計算部６４に出力する。なお、電流検出部６２の動作の詳細は、図５で説明する。
【００６２】
抵抗計算部６４は、電流検出部６２から受けた電流情報ＩＳＴに基づいて、擬似回路３２の出力抵抗の値をモニタ電圧ＶＭＯＮの複数のレベル毎に算出する。そして、抵抗計算部６４は、モニタ電圧ＶＭＯＮの複数のレベル毎に算出した擬似回路３２の出力抵抗の値を示す抵抗情報ＲＭＰ（ＲＭＰ１、ＲＭＰ２、ＲＭＰ３）、ＲＭＮ（ＲＭＮ１、ＲＭＮ２、ＲＭＮ３）を、コード計算部６６に出力する。抵抗情報ＲＭＰ、ＲＭＮの算出方法は、図６で説明する。
【００６３】
コード計算部６６は、抵抗計算部６４から受けた抵抗情報ＲＭＰ、ＲＭＮに基づいて、制御信号ＣＮＴＥ（ＣＮＴＥＮ０、ＣＮＴＥＮ１、ＣＮＴＥＰ０、ＣＮＴＥＰ１）を生成する。例えば、コード計算部６６は、駆動回路８０、８１の使用数（駆動可能な状態にする駆動回路８０、８１の数）を、２ビットの入力データＤのビット毎に抵抗情報ＲＭＰ、ＲＭＮに基づいて算出する。そして、コード計算部６６は、算出した使用数と同じ数の駆動回路８０、８１を駆動可能な状態にする制御信号ＣＮＴＥを生成し、生成した制御信号ＣＮＴＥを差動送信回路７２に出力する。駆動回路８０、８１の使用数の算出方法等は、図６で説明する。
【００６４】
なお、終端抵抗調整回路２０Ａおよび差動送信回路７２の構成（すなわち、装置１０Ａの構成）は、図２に示す例に限定されない。例えば、各送信回路７０（７０ｎ、７０ｐ）は、３ビット以上の入力データＤを振幅変調して出力信号ＤＯＵＴを生成してもよい。この場合、各送信回路７０は、入力データＤのビット毎に駆動回路８０ｎと同一または同様な複数の駆動回路を有する。そして、終端抵抗調整回路２０Ａは、入力データＤのビット毎に駆動回路の使用数を調整して、各送信回路７０の終端抵抗の値を調整する。また、装置１０Ａは、シングルエンド入力の送信回路（送信回路７０ｎ、７０ｐの一方が差動送信回路７２から省かれた回路）を、差動送信回路７２の代わりに有してもよい。
【００６５】
図３は、ＭＯＳトランジスタのオン抵抗の特性の一例を示す。図３の横軸は、出力電圧（出力信号ＤＯＵＴの電圧レベル）を示し、図３の縦軸は、図１に示したトランジスタＭＰ１０、ＭＰ２０、ＭＮ１０、ＭＮ２０等のＭＯＳトランジスタのオン抵抗の値を示す。図３の一点鎖線は、２ビットの入力データＤの各入力パターン（１１、１０、０１、００）に対応する出力電圧を示す。Ｐ型のＭＯＳトランジスタのオン抵抗（図３に示したＰＭＯＳ）は、出力電圧が高くなるほど小さくなり、Ｎ型のＭＯＳトランジスタのオン抵抗（図３に示したＮＭＯＳ）は、出力電圧が高くなるほど大きくなる。したがって、出力信号ＤＯＵＴの電圧レベル（出力電圧）が変化した場合、ＭＯＳトランジスタ（例えば、トランジスタＭＰ１０、ＭＰ２０、ＭＮ１０、ＭＮ２０）のオン抵抗の値が変化し、各駆動回路８０、８１の終端抵抗の値が変化する場合がある。
【００６６】
図４は、図２に示したモニタ回路３０、電圧生成回路４０および比較回路５０の一例を示す。なお、図４では、制御データＣＮＴＤ、制御信号ＣＮＴＩＰ、ＣＮＴＩＮおよび比較結果情報ＤＣＯＭの流れを分かりやすくするために、図２に示した制御回路６０Ａ内の電流検出部６２も記載している。
【００６７】
モニタ回路３０の構成は、図１に示したモニタ回路３０と同一である。電流源３４は、予め設定された量の基準電流（例えば、図６に示す電流Ｉ０）に制御信号ＣＮＴＩＰの値を乗じた量の負荷電流ＩＬを、擬似回路３２の出力端子ＯＵＴに流し込む。また、電流源３６は、予め設定された量の基準電流（例えば、図６に示す電流Ｉ０）に制御信号ＣＮＴＩＮの値を乗じた量の負荷電流ＩＬを、擬似回路３２の出力端子ＯＵＴから引き抜く。
【００６８】
電圧生成回路４０は、電源線ＶＤＤと接地線ＶＳＳとの間に直列に接続された抵抗Ｒｒ０、Ｒｒ１、Ｒｒ２、Ｒｒ３、Ｒｒ４を有する。電圧生成回路４０は、抵抗Ｒｒ０、Ｒｒ１、Ｒｒ２、Ｒｒ３、Ｒｒ４による抵抗分圧により、参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３を生成する。例えば、抵抗Ｒｒ０、Ｒｒ１、Ｒｒ２、Ｒｒ３、Ｒｒ４の比は、”Ｒｒ０：Ｒｒ１：Ｒｒ２：Ｒｒ３：Ｒｒ４＝３：２：２：２：３”で表される。この場合、抵抗Ｒｒ０と抵抗Ｒｒ１との接続ノードから出力される参照電圧ＶＲＥＦ０は、９／１２＊ＶＤＤになる。抵抗Ｒｒ１と抵抗Ｒｒ２との接続ノードから出力される参照電圧ＶＲＥＦ１は、７／１２＊ＶＤＤになる。抵抗Ｒｒ２と抵抗Ｒｒ３との接続ノードから出力される参照電圧ＶＲＥＦ２は、５／１２＊ＶＤＤになる。抵抗Ｒｒ３と抵抗Ｒｒ４との接続ノードから出力される参照電圧ＶＲＥＦ３は、３／１２＊ＶＤＤになる。
【００６９】
比較回路５０は、４個の比較器ＣＯＭ（ＣＯＭ０、ＣＯＭ１、ＣＯＭ２、ＣＯＭ３）を有する。比較器ＣＯＭ０、ＣＯＭ１、ＣＯＭ２、ＣＯＭ３は、モニタ回路３０からモニタ電圧ＶＭＯＮを受ける。また、比較器ＣＯＭ０、ＣＯＭ１、ＣＯＭ２、ＣＯＭ３は、電圧生成回路４０から参照電圧ＶＲＥＦ０、ＶＲＥＦ１、ＶＲＥＦ２、ＶＲＥＦ３をそれぞれ受ける。そして、各比較器ＣＯＭ（ＣＯＭ０、ＣＯＭ１、ＣＯＭ２、ＣＯＭ３）は、モニタ電圧ＶＭＯＮと参照電圧ＶＲＥＦとを比較し、比較結果を示す比較結果情報ＤＣＯＭ（ＤＣＯＭ０、ＤＣＯＭ１、ＤＣＯＭ２、ＤＣＯＭ３）を電流検出部６２に出力する。
【００７０】
例えば、比較器ＣＯＭ０は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０より高い場合、論理値”１”の比較結果情報ＤＣＯＭ０を電流検出部６２に出力する。すなわち、比較器ＣＯＭ０は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０以下の場合、論理値”０”の比較結果情報ＤＣＯＭ０を電流検出部６２に出力する。
【００７１】
比較器ＣＯＭ１は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１より高い場合、論理値”１”の比較結果情報ＤＣＯＭ１を電流検出部６２に出力する。また、比較器ＣＯＭ１は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１以下の場合、論理値”０”の比較結果情報ＤＣＯＭ１を電流検出部６２に出力する。
【００７２】
比較器ＣＯＭ２は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ２より高い場合、論理値”１”の比較結果情報ＤＣＯＭ２を電流検出部６２に出力する。また、比較器ＣＯＭ２は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ２以下の場合、論理値”０”の比較結果情報ＤＣＯＭ２を電流検出部６２に出力する。
【００７３】
比較器ＣＯＭ３は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ３より高い場合、論理値”１”の比較結果情報ＤＣＯＭ３を電流検出部６２に出力する。また、比較器ＣＯＭ３は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ３以下の場合、論理値”０”の比較結果情報ＤＣＯＭ３を電流検出部６２に出力する。なお、モニタ回路３０、電圧生成回路４０および比較回路５０の構成は、図４に示す例に限定されない。
【００７４】
図５は、図２に示した終端調整回路２０Ａの動作の一例を示す。図５に示す動作は、ハードウェアのみで実現されてもよく、ハードウェアをソフトウェアにより制御することにより実現されてもよい。図５では、制御回路６０Ａ（特に、電流検出部６２）の動作を中心に説明する。
【００７５】
ステップＳ１００では、電流検出部６２は、制御データＣＮＴＤを０（低論理レベル）に設定し、制御信号ＣＮＴＩＰ、ＣＮＴＩＮの値を０に設定する。これにより、モニタ電圧ＶＭＯＮは、電源電圧ＶＤＤに等しい電圧（または、ほぼ等しい電圧）になる。したがって、比較結果情報ＤＣＯＭは、ステップＳ１００の処理が実行されることにより、１１１１になる。なお、図５では、比較結果情報ＤＣＯＭの０ビット目（最下位ビット）は、比較結果情報ＤＣＯＭ０を示し、比較結果情報ＤＣＯＭの１ビット目は、比較結果情報ＤＣＯＭ１を示し、比較結果情報ＤＣＯＭの２ビット目は、比較結果情報ＤＣＯＭ２を示す。そして、比較結果情報ＤＣＯＭの３ビット目（最上位ビット）は、比較結果情報ＤＣＯＭ３を示す。ステップＳ１００の処理が実行された後、ステップＳ１１０の処理が実行される。
【００７６】
ステップＳ１１０では、電流検出部６２は、制御信号ＣＮＴＩＮの値をインクリメントする（ＣＮＴＩＮ＝ＣＮＴＩＮ＋１）。これにより、予め設定された量の基準電流（例えば、図６に示す電流Ｉ０）に制御信号ＣＮＴＩＮの値を乗じた量の負荷電流ＩＬが、擬似回路３２の出力端子ＯＵＴから引き抜かれる。モニタ電圧ＶＭＯＮは、出力端子ＯＵＴから引き抜く負荷電流ＩＬの増加に伴い低下する。ステップＳ１１０の処理が実行された後、ステップＳ１２０の処理が実行される。
【００７７】
ステップＳ１２０では、電流検出部６２は、比較結果情報ＤＣＯＭが１１１０か否かを判定する。例えば、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０より高い電圧から参照電圧ＶＲＥＦ０以下に変化した場合、比較結果情報ＤＣＯＭは、１１１１から１１１０に変化する。
【００７８】
比較結果情報ＤＣＯＭが１１１０である場合、電流検出部６２の動作は、ステップＳ１３０に移る。なお、ステップＳ１３０以降の処理（例えば、ステップＳ３００の処理等）では、比較結果情報ＤＣＯＭが１１１１から１１１０に変化したときのモニタ電圧ＶＭＯＮのレベル（電圧値）は、参照電圧ＶＲＥＦ０に等しいとして処理される。
【００７９】
一方、比較結果情報ＤＣＯＭが１１１０でない場合（すなわち、比較結果情報ＤＣＯＭが１１１１である場合）、電流検出部６２の動作は、ステップＳ１１０に戻る。すなわち、ステップＳ１３０の処理は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０より高い電圧から参照電圧ＶＲＥＦ０以下に変化した場合に実行される。
【００８０】
ステップＳ１３０では、電流検出部６２は、電流情報ＩＳＴＮ３を制御信号ＣＮＴＩＮの値に設定する。すなわち、電流情報ＩＳＴＮ３は、比較結果情報ＤＣＯＭが１１１１から１１１０に変化したときの制御信号ＣＮＴＩＮの値に設定される。ステップＳ１３０の処理が実行された後、ステップＳ１４０の処理が実行される。
【００８１】
ステップＳ１４０では、電流検出部６２は、制御信号ＣＮＴＩＮの値をインクリメントする（ＣＮＴＩＮ＝ＣＮＴＩＮ＋１）。ステップＳ１４０の処理が実行された後、ステップＳ１５０の処理が実行される。
【００８２】
ステップＳ１５０では、電流検出部６２は、比較結果情報ＤＣＯＭが１１００か否かを判定する。例えば、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１より高い電圧から参照電圧ＶＲＥＦ１以下に変化した場合、比較結果情報ＤＣＯＭは、１１１０から１１００に変化する。
【００８３】
比較結果情報ＤＣＯＭが１１００である場合、電流検出部６２の動作は、ステップＳ１６０に移る。なお、ステップＳ１６０以降の処理（例えば、ステップＳ３００の処理等）では、比較結果情報ＤＣＯＭが１１１０から１１００に変化したときのモニタ電圧ＶＭＯＮのレベル（電圧値）は、参照電圧ＶＲＥＦ１に等しいとして処理される。
【００８４】
一方、比較結果情報ＤＣＯＭが１１００でない場合（すなわち、比較結果情報ＤＣＯＭが１１１０である場合）、電流検出部６２の動作は、ステップＳ１４０に戻る。
【００８５】
ステップＳ１６０では、電流検出部６２は、電流情報ＩＳＴＮ２を制御信号ＣＮＴＩＮの値に設定する。すなわち、電流情報ＩＳＴＮ２は、比較結果情報ＤＣＯＭが１１１０から１１００に変化したときの制御信号ＣＮＴＩＮの値に設定される。ステップＳ１６０の処理が実行された後、ステップＳ１７０の処理が実行される。
【００８６】
ステップＳ１７０では、電流検出部６２は、制御信号ＣＮＴＩＮの値をインクリメントする（ＣＮＴＩＮ＝ＣＮＴＩＮ＋１）。ステップＳ１７０の処理が実行された後、ステップＳ１８０の処理が実行される。
【００８７】
ステップＳ１８０では、電流検出部６２は、比較結果情報ＤＣＯＭが１０００か否かを判定する。例えば、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ２より高い電圧から参照電圧ＶＲＥＦ２以下に変化した場合、比較結果情報ＤＣＯＭは、１１００から１０００に変化する。
【００８８】
比較結果情報ＤＣＯＭが１０００である場合、電流検出部６２の動作は、ステップＳ１９０に移る。なお、ステップＳ１９０以降の処理（例えば、ステップＳ３００の処理等）では、比較結果情報ＤＣＯＭが１１００から１０００に変化したときのモニタ電圧ＶＭＯＮのレベル（電圧値）は、参照電圧ＶＲＥＦ２に等しいとして処理される。
【００８９】
一方、比較結果情報ＤＣＯＭが１０００でない場合（すなわち、比較結果情報ＤＣＯＭが１１００である場合）、電流検出部６２の動作は、ステップＳ１７０に戻る。
【００９０】
ステップＳ１９０では、電流検出部６２は、電流情報ＩＳＴＮ１を制御信号ＣＮＴＩＮの値に設定する。すなわち、電流情報ＩＳＴＮ１は、比較結果情報ＤＣＯＭが１１００から１０００に変化したときの制御信号ＣＮＴＩＮの値に設定される。ステップＳ１９０の処理が実行された後、ステップＳ２００の処理が実行される。
【００９１】
ステップＳ２００では、電流検出部６２は、制御データＣＮＴＤを１（高論理レベル）に設定し、制御信号ＣＮＴＩＰ、ＣＮＴＩＮの値を０に設定する。これにより、モニタ電圧ＶＭＯＮは、接地電圧ＶＳＳに等しい電圧（または、ほぼ等しい電圧）になる。したがって、比較結果情報ＤＣＯＭは、ステップＳ２００の処理が実行されることにより、００００になる。ステップＳ２００の処理が実行された後、ステップＳ２１０の処理が実行される。
【００９２】
ステップＳ２１０では、電流検出部６２は、制御信号ＣＮＴＩＰの値をインクリメントする（ＣＮＴＩＰ＝ＣＮＴＩＰ＋１）。これにより、予め設定された量の基準電流（例えば、図６に示す電流Ｉ０）に制御信号ＣＮＴＩＰの値を乗じた量の負荷電流ＩＬが、擬似回路３２の出力端子ＯＵＴに流し込まれる。モニタ電圧ＶＭＯＮは、出力端子ＯＵＴに流し込む負荷電流ＩＬの増加に伴い上昇する。ステップＳ２１０の処理が実行された後、ステップＳ２２０の処理が実行される。
【００９３】
ステップＳ２２０では、電流検出部６２は、比較結果情報ＤＣＯＭが１０００か否かを判定する。例えば、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ３以下から参照電圧ＶＲＥＦ３より高い電圧に変化した場合、比較結果情報ＤＣＯＭは、００００から１０００に変化する。
【００９４】
比較結果情報ＤＣＯＭが１０００である場合、電流検出部６２の動作は、ステップＳ２３０に移る。なお、ステップＳ２３０以降の処理（例えば、ステップＳ３００の処理等）では、比較結果情報ＤＣＯＭが００００から１０００に変化したときのモニタ電圧ＶＭＯＮのレベル（電圧値）は、参照電圧ＶＲＥＦ３に等しいとして処理される。
【００９５】
一方、比較結果情報ＤＣＯＭが１０００でない場合（すなわち、比較結果情報ＤＣＯＭが００００である場合）、電流検出部６２の動作は、ステップＳ２１０に戻る。すなわち、ステップＳ２３０の処理は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ３以下から参照電圧ＶＲＥＦ３より高い電圧に変化した場合に実行される。
【００９６】
ステップＳ２３０では、電流検出部６２は、電流情報ＩＳＴＰ３を制御信号ＣＮＴＩＰの値に設定する。すなわち、電流情報ＩＳＴＰ３は、比較結果情報ＤＣＯＭが００００から１０００に変化したときの制御信号ＣＮＴＩＰの値に設定される。ステップＳ２３０の処理が実行された後、ステップＳ２４０の処理が実行される。
【００９７】
ステップＳ２４０では、電流検出部６２は、制御信号ＣＮＴＩＰの値をインクリメントする（ＣＮＴＩＰ＝ＣＮＴＩＰ＋１）。ステップＳ２４０の処理が実行された後、ステップＳ２５０の処理が実行される。
【００９８】
ステップＳ２５０では、電流検出部６２は、比較結果情報ＤＣＯＭが１１００か否かを判定する。例えば、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ２以下から参照電圧ＶＲＥＦ２より高い電圧に変化した場合、比較結果情報ＤＣＯＭは、１０００から１１００に変化する。
【００９９】
比較結果情報ＤＣＯＭが１１００である場合、電流検出部６２の動作は、ステップＳ２６０に移る。なお、ステップＳ２６０以降の処理（例えば、ステップＳ３００の処理等）では、比較結果情報ＤＣＯＭが１０００から１１００に変化したときのモニタ電圧ＶＭＯＮのレベル（電圧値）は、参照電圧ＶＲＥＦ２に等しいとして処理される。
【０１００】
一方、比較結果情報ＤＣＯＭが１１００でない場合（すなわち、比較結果情報ＤＣＯＭが１０００である場合）、電流検出部６２の動作は、ステップＳ２４０に戻る。
【０１０１】
ステップＳ２６０では、電流検出部６２は、電流情報ＩＳＴＰ２を制御信号ＣＮＴＩＰの値に設定する。すなわち、電流情報ＩＳＴＰ２は、比較結果情報ＤＣＯＭが１０００から１１００に変化したときの制御信号ＣＮＴＩＰの値に設定される。ステップＳ２６０の処理が実行された後、ステップＳ２７０の処理が実行される。
【０１０２】
ステップＳ２７０では、電流検出部６２は、制御信号ＣＮＴＩＰの値をインクリメントする（ＣＮＴＩＰ＝ＣＮＴＩＰ＋１）。ステップＳ２７０の処理が実行された後、ステップＳ２８０の処理が実行される。
【０１０３】
ステップＳ２８０では、電流検出部６２は、比較結果情報ＤＣＯＭが１１１０か否かを判定する。例えば、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１以下から参照電圧ＶＲＥＦ１より高い電圧に変化した場合、比較結果情報ＤＣＯＭは、１１００から１１１０に変化する。
【０１０４】
比較結果情報ＤＣＯＭが１１１０である場合、電流検出部６２の動作は、ステップＳ２９０に移る。なお、ステップＳ２９０以降の処理（例えば、ステップＳ３００の処理等）では、比較結果情報ＤＣＯＭが１１００から１１１０に変化したときのモニタ電圧ＶＭＯＮのレベル（電圧値）は、参照電圧ＶＲＥＦ１に等しいとして処理される。
【０１０５】
一方、比較結果情報ＤＣＯＭが１１１０でない場合（すなわち、比較結果情報ＤＣＯＭが１１００である場合）、電流検出部６２の動作は、ステップＳ２７０に戻る。
【０１０６】
ステップＳ２９０では、電流検出部６２は、電流情報ＩＳＴＰ１を制御信号ＣＮＴＩＰの値に設定する。すなわち、電流情報ＩＳＴＰ１は、比較結果情報ＤＣＯＭが１１００から１１１０に変化したときの制御信号ＣＮＴＩＰの値に設定される。ステップＳ２９０の処理が実行された後、ステップＳ３００の処理が実行される。
【０１０７】
ステップＳ３００では、制御回路６０Ａは、電流情報ＩＳＴＰ１−ＩＳＴＰ３、ＩＳＴＮ１−ＩＳＴＮ３等を用いて、制御信号ＣＮＴＥＰ０、ＣＮＴＥＰ１、ＣＮＴＥＮ０、ＣＮＴＥＮ１を算出する。制御信号ＣＮＴＥＰ０、ＣＮＴＥＰ１、ＣＮＴＥＮ０、ＣＮＴＥＮ１の算出方法は、図６で説明する。なお、終端調整回路２０Ａの動作は、図５に示す例に限定されない。
【０１０８】
図６は、駆動回路８０、８１の使用数を算出する際に使用される計算式の一例を示す。図６以降では、擬似回路３２の出力抵抗に、抵抗情報ＲＭ（ＲＭＰ１、ＲＭＰ２、ＲＭＰ３、ＲＭＮ１、ＲＭＮ２、ＲＭＮ３）と同じ符号を付して説明する場合もある。
【０１０９】
モニタ電圧ＶＭＯＮの各出力レベルにおける擬似回路３２の出力抵抗ＲＭ（ＲＭＰ１、ＲＭＰ２、ＲＭＰ３、ＲＭＮ１、ＲＭＮ２、ＲＭＮ３）は、図６に示すように、式（１）−式（６）でそれぞれ表される。
ＲＭＰ１＝（７／１２＊ＶＤＤ）／（Ｉ０＊ＩＳＴＮ１）  ・・・（１）
ＲＭＰ２＝（５／１２＊ＶＤＤ）／（Ｉ０＊ＩＳＴＮ２）  ・・・（２）
ＲＭＰ３＝（３／１２＊ＶＤＤ）／（Ｉ０＊ＩＳＴＮ３）  ・・・（３）
ＲＭＮ１＝（７／１２＊ＶＤＤ）／（Ｉ０＊ＩＳＴＰ１）  ・・・（４）
ＲＭＮ２＝（５／１２＊ＶＤＤ）／（Ｉ０＊ＩＳＴＰ２）  ・・・（５）
ＲＭＮ３＝（３／１２＊ＶＤＤ）／（Ｉ０＊ＩＳＴＰ３）  ・・・（６）
なお、電流Ｉ０は、制御信号ＣＮＴＩＰ、ＣＮＴＩＮの１ステップあたりの電流を示す。例えば、電流Ｉ０は、予め設定された量の基準電流である。また、電流情報ＩＳＴＰ１−ＩＳＴＰ３、ＩＳＴＮ１−ＩＳＴＮ３は、図５に示した動作により決定される。
【０１１０】
出力抵抗ＲＭＰ１は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ２（＝５／１２＊ＶＤＤ）に等しい（または、ほぼ等しい）ときの電源線ＶＤＤと出力端子ＯＵＴとの間の抵抗を示す。すなわち、出力抵抗ＲＭＰ１は、２ビットの入力データＤの入力パターン（１１、１０、０１、００）のうち、入力データＤ１、Ｄ０が”１０”である場合の１つの駆動回路８０の終端抵抗に対応する。
【０１１１】
出力抵抗ＲＭＰ２は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１（＝７／１２＊ＶＤＤ）に等しい（または、ほぼ等しい）ときの電源線ＶＤＤと出力端子ＯＵＴとの間の抵抗を示す。すなわち、出力抵抗ＲＭＰ１は、入力データＤ１、Ｄ０が”０１”である場合の１つの駆動回路８１の終端抵抗に対応する。
【０１１２】
出力抵抗ＲＭＰ３は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０（＝９／１２＊ＶＤＤ）に等しい（または、ほぼ等しい）ときの電源線ＶＤＤと出力端子ＯＵＴとの間の抵抗を示す。すなわち、出力抵抗ＲＭＰ３は、入力データＤ１、Ｄ０が”００”である場合の１つの駆動回路８０の終端抵抗と１つの駆動回路８１の終端抵抗とに対応する。
【０１１３】
出力抵抗ＲＭＮ１は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１（＝７／１２＊ＶＤＤ）に等しい（または、ほぼ等しい）ときの接地線ＶＳＳと出力端子ＯＵＴとの間の抵抗を示す。すなわち、出力抵抗ＲＭＮ１は、入力データＤ１、Ｄ０が”０１”である場合の１つの駆動回路８０の終端抵抗に対応する。
【０１１４】
出力抵抗ＲＭＮ２は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ２（＝５／１２＊ＶＤＤ）に等しい（または、ほぼ等しい）ときの接地線ＶＳＳと出力端子ＯＵＴとの間の抵抗を示す。すなわち、出力抵抗ＲＭＮ２は、入力データＤ１、Ｄ０が”１０”である場合の１つの駆動回路８１の終端抵抗に対応する。
【０１１５】
出力抵抗ＲＭＮ３は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ３（＝３／１２＊ＶＤＤ）に等しい（または、ほぼ等しい）ときの接地線ＶＳＳと出力端子ＯＵＴとの間の抵抗を示す。すなわち、出力抵抗ＲＭＮ３は、入力データＤ１、Ｄ０が”１１”である場合の１つの駆動回路８０の終端抵抗と１つの駆動回路８１の終端抵抗とに対応する。
【０１１６】
例えば、抵抗計算部６４は、電流検出部６２から受けた電流情報ＩＳＴＰ１−ＩＳＴＰ３、ＩＳＴＮ１−ＩＳＴＮ３を式（１）−式（６）に代入して、各出力抵抗ＲＭＰ１、ＲＭＰ２、ＲＭＰ３、ＲＭＮ１、ＲＭＮ２、ＲＭＮ３を算出する。
【０１１７】
駆動回路８０の使用数ＰＴＥ０、ＮＴＥ０、駆動回路８１の使用数ＰＴＥ１、ＮＴＥ１と出力抵抗ＲＭとの関係は、送信回路７０の終端抵抗の規定値が５０Ωの場合、式（７）−式（１４）で表される。制御信号ＣＮＴＥＰ０、ＣＮＴＥＰ１、ＣＮＴＥＮ０、ＣＮＴＥＮ１により設定されるそれぞれの使用数は、使用数ＰＴＥ０、ＰＴＥ１、ＮＴＥ０、ＮＴＥ１にそれぞれ対応する。なお、式（７）−式（１４）の関係を満たす使用数ＰＴＥ０、ＮＴＥ０、ＰＴＥ１、ＮＴＥ１は、整数になるとは限らないため、実際に設定する使用数と異なる場合もある。
（ＲＭＰ３／ＰＴＥ０＋ＲＭＰ１／ＰＴＥ０）／２＝１５０  ・・・（７）
ＰＴＥ０＝（ＲＭＰ３＋ＲＭＰ１）／３００                ・・・（８）
（ＲＭＰ３／ＰＴＥ１＋ＲＭＰ２／ＰＴＥ１）／２＝７５    ・・・（９）
ＰＴＥ１＝（ＲＭＰ３＋ＲＭＰ２）／１５０                ・・・（１０）
（ＲＭＮ３／ＮＴＥ０＋ＲＭＮ１／ＮＴＥ０）／２＝１５０  ・・・（１１）
ＮＴＥ０＝（ＲＭＮ３＋ＲＭＮ１）／３００                ・・・（１２）
（ＲＭＮ３／ＮＴＥ１＋ＲＭＮ２／ＮＴＥ１）／２＝７５    ・・・（１３）
ＮＴＥ１＝（ＲＭＮ３＋ＲＭＮ２）／１５０                ・・・（１４）
使用数ＰＴＥ０は、トランジスタＭＰ１０がオン状態に設定される駆動回路８０の数を示す。例えば、式（７）は、入力データＤ１、Ｄ０が”００”のときの”ＰＴＥ０”個の駆動回路８０の終端抵抗の合成値と入力データＤ１、Ｄ０が”１０”のときの”ＰＴＥ０”個の駆動回路８０の終端抵抗の合成値との平均値が１５０Ωであることを示す。トランジスタＭＰ１０がオン状態に設定される駆動回路８０の数ＰＴＥ０は、式（７）を変形することより、式（８）で表される。
【０１１８】
使用数ＰＴＥ１は、トランジスタＭＰ１０がオン状態に設定される駆動回路８１の数を示す。例えば、式（９）は、入力データＤ１、Ｄ０が”００”のときの”ＰＴＥ１”個の駆動回路８１の終端抵抗の合成値と入力データＤ１、Ｄ０が”０１”のときの”ＰＴＥ１”個の駆動回路８１の終端抵抗の合成値との平均値が７５Ωであることを示す。トランジスタＭＰ１０がオン状態に設定される駆動回路８１の数ＰＴＥ１は、式（９）を変形することより、式（１０）で表される。
【０１１９】
使用数ＮＴＥ０は、トランジスタＭＮ１０がオン状態に設定される駆動回路８０の数を示す。例えば、式（１１）は、入力データＤ１、Ｄ０が”１１”のときの”ＮＴＥ０”個の駆動回路８０の終端抵抗の合成値と入力データＤ１、Ｄ０が”０１”のときの”ＮＴＥ０”個の駆動回路８０の終端抵抗の合成値との平均値が１５０Ωであることを示す。トランジスタＭＮ１０がオン状態に設定される駆動回路８０の数ＮＴＥ０は、式（１１）を変形することより、式（１２）で表される。
【０１２０】
使用数ＮＴＥ１は、トランジスタＭＮ１０がオン状態に設定される駆動回路８１の数を示す。例えば、式（１１）は、入力データＤ１、Ｄ０が”１１”のときの”ＮＴＥ１”個の駆動回路８１の終端抵抗の合成値と入力データＤ１、Ｄ０が”１０”のときの”ＮＴＥ１”個の駆動回路８１の終端抵抗の合成値との平均値が７５Ωであることを示す。トランジスタＭＮ１０がオン状態に設定される駆動回路８１の数ＮＴＥ１は、式（１３）を変形することより、式（１４）で表される。
【０１２１】
例えば、コード計算部６６は、抵抗計算部６４から受けた出力抵抗ＲＭＰ１−ＲＭＰ３、ＲＭＮ１−ＲＭＮ３を式（８）、式（１０）、式（１２）、式（１４）に代入して、各使用数ＰＴＥ０、ＰＴＥ１、ＮＴＥ０、ＮＴＥ１を算出する。そして、コード計算部６６は、使用数ＰＴＥ０に最も近い整数を、トランジスタＭＰ１０をオン状態に設定する駆動回路８０の数に決定し、決定した使用数をサーモメータコードに変換して制御信号ＣＮＴＥＰ０を生成する。サーモメータコードは、例えば、複数の駆動回路８０（制御信号ＣＮＴＥＰ１、ＣＮＴＥＮ１では、複数の駆動回路８１）の各々に対応する各ビットが駆動回路８０の使用また未使用のいずれかを示すコードである。
【０１２２】
例えば、送信回路７０ｎがｑ個（ｑは２以上の整数）の駆動回路８０を有する場合、ｑビットの制御信号ＣＮＴＥＰ０のうち、決定した使用数（使用数ＰＴＥ０に最も近い整数）と同じ数のビットが０に設定される。制御信号ＣＮＴＥＰ１、ＣＮＴＥＮ０、ＣＮＴＥＮ１も、制御信号ＣＮＴＥＰ０と同様の方法により、使用数ＰＴＥ１、ＮＴＥ０、ＮＴＥ１に基づいて生成される。
【０１２３】
このように、制御回路６０Ａは、モニタ電圧ＶＭＯＮの複数のレベル毎に算出した擬似回路３２の出力抵抗ＲＭの値に基づいて２ビットの入力データＤ（Ｄ１、Ｄ０）のビット毎に駆動回路８１、８０の使用数を調整して、送信回路７２の終端抵抗の値を調整する。すなわち、終端抵抗調整回路２０Ａは、２ビットの入力データＤの複数の入力パターン毎に算出した擬似回路３２の出力抵抗ＲＭの値を用いて、駆動回路８１、８０の使用数を個別に調整する。これにより、１つの入力パターンに基づいて駆動回路８０、８１の使用数を調整した場合に比べて、駆動回路８１の終端抵抗の合成値と駆動回路８０の終端抵抗の合成値との比の変動（入力パターンの変化に伴う変動）を抑制することができる。
【０１２４】
さらに、図６に示す例では、制御回路６０Ａは、送信回路７２の終端抵抗のうち、電源線ＶＤＤに接続される第１終端抵抗と接地線ＶＳＳに接続される第２終端抵抗のそれぞれの値を個別に調整する。これにより、第１終端抵抗と第２終端抵抗とが独立に調整されない場合に比べて、駆動回路８１、８０の使用数を、式（７）、式（９）、式（１１）、式（１３）を満たす使用数に近づけることができる。すなわち、送信回路７２の終端抵抗の値を適切に調整することができる。
【０１２５】
図７は、４ＰＡＭにより生成される信号波形の一例を示す。理想的な波形は、駆動回路８０の合成抵抗の値が入力データＤ１、Ｄ０の値に拘わらず駆動回路８１の合成抵抗の値の２倍で安定している場合の４ＰＡＭの信号波形を示す。理想的な波形では、出力信号ＤＯＵＴの各電圧レベルの差は互いに等しくなる。例えば、２ビットの入力データＤ１、Ｄ０で表される４つの値にそれぞれ対応する４つの電圧レベル（９／１２＊ＶＤＤ、７／１２＊ＶＤＤ、５／１２＊ＶＤＤ、３／１２＊ＶＤＤ）の差は、１／６＊ＶＤＤになる。
【０１２６】
比較例１は、駆動回路８０の合成抵抗の値が駆動回路８１の合成抵抗の値の２倍より小さい場合の４ＰＡＭの信号波形を示し、比較例２は、駆動回路８０の合成抵抗の値が駆動回路８１の合成抵抗の値の２倍より大きい場合の４ＰＡＭの信号波形を示す。比較例１および比較例２では、出力信号ＤＯＵＴの各電圧レベルの差がばらつく。
【０１２７】
図２に示した終端抵抗調整回路２０Ａは、駆動回路８０の合成抵抗の値が入力データＤ１、Ｄ０の値に拘わらず駆動回路８１の合成抵抗の値の約２倍で安定するように、駆動回路８０、８１の使用数を調整する。すなわち、終端抵抗調整回路２０Ａは、送信回路７０ｎ、７０ｐから出力される出力信号ＤＯＵＴの信号波形が図７に示す理想的な波形に近づくように、駆動回路８０、８１の使用数を調整する。
【０１２８】
以上、図２から図７に示す実施形態においても、図１に示した実施形態と同様の効果を得ることができる。例えば、終端抵抗調整回路２０Ａは、駆動回路８０、８１の使用数を、モニタ電圧ＶＭＯＮの複数のレベル毎に算出した出力抵抗ＲＭＰ１、ＲＭＰ２、ＲＭＰ３、ＲＭＮ１、ＲＭＮ２、ＲＭＮ３に基づいて、個別に調整する。これにより、駆動回路８１の合成抵抗の値と駆動回路８０の合成抵抗の値との比の変動（入力パターンの変化に伴う変動）は、１つの入力パターンに基づいて駆動回路８０、８１の使用数を調整した場合に比べて抑制される。このように、終端抵抗調整回路２０Ａは、送信回路７２の終端抵抗の値を適切に調整できる。
【０１２９】
さらに、終端抵抗調整回路２０Ａは、トランジスタＭＰ１０をオン状態にする駆動回路８０の数と、トランジスタＭＮ１０をオン状態にする駆動回路８０の数とを個別に設定する。また、終端抵抗調整回路２０Ａは、トランジスタＭＰ１０をオン状態にする駆動回路８１の数と、トランジスタＭＮ１０をオン状態にする駆動回路８１の数とを個別に設定する。これにより、終端抵抗調整回路２０Ａは、送信回路７２の終端抵抗のうち、電源線ＶＤＤに接続される第１終端抵抗と接地線ＶＳＳに接続される第２終端抵抗のそれぞれの値を個別に調整できる。この結果、送信回路７２の終端抵抗の値をＭＯＳトランジスタの特性に合わせて適切に調整することができる。
【０１３０】
図８は、終端抵抗調整回路および終端抵抗調整回路を有する装置の別の実施形態を示す。図１から図７で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図８に示す装置１０Ｂは、差動送信回路７４と、差動送信回路７４の終端抵抗の値を調整する終端抵抗調整回路２０Ｂとを有する。差動送信回路７４および終端抵抗調整回路２０Ｂは、例えば、サーバ等の情報処理装置または通信システムの基幹装置等に搭載される。
【０１３１】
差動送信回路７４は、差動の入力データＤを受け、差動の出力信号ＤＯＵＴ（ＤＯＵＴｐ、ＤＯＵＴｎ）を受信装置等（図示せず）に出力する。入力データＤ０ｐは、入力データＤ０ｎの反転信号であり、入力データＤ１ｐは、入力データＤ１ｎの反転信号であり、入力データＤ２ｐは、入力データＤ２ｎの反転信号である。
【０１３２】
例えば、差動送信回路７４は、送信回路７６ｎ、７６ｐを有する。送信回路７６ｎの構成は、入力データＤ２用の駆動回路８２ｎが図２に示した送信回路７０ｎに追加されたことを除いて、送信回路７０ｎの構成と同一または同様である。また、送信回路７６ｐは、入力データＤ０ｎ、Ｄ１ｎ、Ｄ２ｎの代わりに入力データＤ０ｐ、Ｄ１ｐ、Ｄ２ｐを受け、出力信号ＤＯＵＴｎの代わりに出力信号ＤＯＵＴｐを出力することを除いて、送信回路７６ｎと同一または同様である。
【０１３３】
送信回路７６ｎは、８ＰＡＭ（8-level pulse amplitude modulation）を実行し、３ビットの入力データＤ２ｎ、Ｄ１ｎ、Ｄ０ｎで表される８つの値に対応する８つの電圧レベルのいずれかを有する出力信号ＤＯＵＴｎを生成する。図８に示した括弧内の８ＰＡＭの信号波形は、８ＰＡＭにより生成される信号の波形の一例を示す。例えば、”０００”の入力データＤ（Ｄ２ｎ、Ｄ１ｎ、Ｄ０ｎ）に対応する出力信号ＤＯＵＴｎの電圧レベルは、２１／２８＊ＶＤＤである。”００１”の入力データＤに対応する出力信号ＤＯＵＴｎの電圧レベルは、１９／２８＊ＶＤＤであり、”０１０”の入力データＤに対応する出力信号ＤＯＵＴｎの電圧レベルは、１７／２８＊ＶＤＤである。”０１１”の入力データＤに対応する出力信号ＤＯＵＴｎの電圧レベルは、１５／２８＊ＶＤＤであり、”１００”の入力データＤに対応する出力信号ＤＯＵＴｎの電圧レベルは、１３／２８＊ＶＤＤである。”１０１”の入力データＤに対応する出力信号ＤＯＵＴｎの電圧レベルは、１１／２８＊ＶＤＤであり、”１１０”の入力データＤに対応する出力信号ＤＯＵＴｎの電圧レベルは、９／２８＊ＶＤＤである。”１１１”の入力データＤに対応する出力信号ＤＯＵＴｎの電圧レベルは、７／２８＊ＶＤＤである。
【０１３４】
例えば、送信回路７６ｎは、入力データＤ０ｎを受ける複数の駆動回路８０ｎと、入力データＤ１ｎを受ける複数の駆動回路８１ｎと、入力データＤ２ｎを受ける複数の駆動回路８２ｎとを有する。駆動回路８０ｎ、８１ｎの構成は、図２に示した駆動回路８０ｎ、８１ｎと同一または同様である。また、駆動回路８２ｎは、入力データＤ０ｎ、制御信号ＣＮＴＥＰ０、ＣＮＴＥＮ０の代わりに、入力データＤ２ｎ、制御信号ＣＮＴＥＰ２、ＣＮＴＥＮ２を受けることを除いて、駆動回路８０ｎと同一または同様である。駆動回路８０ｎ、８１ｎ、８２ｎの出力端子ＯＵＴは、互いに接続される。
【０１３５】
したがって、送信回路７６ｎの終端抵抗の値は、３ビットの入力データＤ（Ｄ２ｎ、Ｄ１ｎ、Ｄ０ｎ）のビット毎に駆動回路８２ｎ、８１ｎ、８０ｎの使用数を調整することにより調整される。以下、駆動回路８０ｎは、駆動回路８０とも称され、駆動回路８１ｎは、駆動回路８１とも称され、駆動回路８２ｎは、駆動回路８２とも称される。
【０１３６】
終端抵抗調整回路２０Ｂは、制御信号ＣＮＴＥ（ＣＮＴＥＮ０−ＣＮＴＥＮ２、ＣＮＴＥＰ０−ＣＮＴＥＰ２）を用いて、駆動回路８２、８１、８０のそれぞれの使用数を調整する。これにより、送信回路７６ｎ、７６ｐの終端抵抗の値が調整される。終端抵抗調整回路２０Ｂの詳細は、図９に示す。
【０１３７】
なお、終端抵抗調整回路２０Ｂおよび差動送信回路７４の構成（すなわち、装置１０Ｂの構成）は、図８に示す例に限定されない。例えば、各送信回路７６（７６ｎ、７６ｐ）は、４ビット以上の入力データＤを振幅変調して出力信号ＤＯＵＴを生成してもよい。この場合、各送信回路７６は、入力データＤのビット毎に駆動回路８０ｎと同一または同様な複数の駆動回路を有する。そして、終端抵抗調整回路２０Ｂは、入力データＤのビット毎に駆動回路の使用数を調整して、各送信回路７６の終端抵抗の値を調整する。また、装置１０Ｂは、シングルエンド入力の送信回路（送信回路７６ｎ、７６ｐの一方が差動送信回路７４から省かれた回路）を、差動送信回路７４の代わりに有してもよい。
【０１３８】
図９は、図８に示した終端抵抗調整回路２０Ｂの一例を示す。終端抵抗調整回路２０Ｂは、例えば、モニタ回路３０、電圧生成回路４０Ａ、比較回路５０Ａおよび制御回路６０Ｂを有する。
【０１３９】
モニタ回路３０は、図４に示したモニタ回路３０と同一または同様である。例えば、モニタ回路３０は、駆動回路８０の終端抵抗と同じ特性を有する出力抵抗を含む疑似回路３２と、電流源３４、３６とを有する。電流源３４は、予め設定された量の基準電流（例えば、図６に示した電流Ｉ０）に制御信号ＣＮＴＩＰの値を乗じた量の負荷電流ＩＬを、擬似回路３２の出力端子ＯＵＴに流し込む。また、電流源３６は、予め設定された量の基準電流（例えば、図６に示した電流Ｉ０）に制御信号ＣＮＴＩＮの値を乗じた量の負荷電流ＩＬを、擬似回路３２の出力端子ＯＵＴから引き抜く。
【０１４０】
電圧生成回路４０Ａは、送信回路７６に供給される３ビットの入力データＤ２、Ｄ１、Ｄ０により表される８つの値にそれぞれ対応する８つの参照電圧ＶＲＥＦ（ＶＲＥＦ０、ＶＲＥＦ１、・・・、ＶＲＥＦ６、ＶＲＥＦ７）を生成する。なお、電圧生成回路４０Ａは、生成する参照電圧ＶＲＥＦ（ＶＲＥＦ１−ＶＲＥＦ７）の数を除いて、図４に示した電圧生成回路４０と同様である。
【０１４１】
例えば、電圧生成回路４０Ａは、電源線ＶＤＤと接地線ＶＳＳとの間に直列に接続された９個の抵抗Ｒｒａ（Ｒｒａ０、Ｒｒａ１、Ｒｒａ２、・・・、Ｒｒａ６、Ｒｒａ７、Ｒｒａ８）を有する。そして、電圧生成回路４０Ａは、９個の抵抗Ｒｒａによる抵抗分圧により、８つの参照電圧ＶＲＥＦ（ＶＲＥＦ０、ＶＲＥＦ１、・・・、ＶＲＥＦ６、ＶＲＥＦ７）を生成する。例えば、抵抗Ｒｒａ０、Ｒｒａ１の比は、”Ｒｒａ０：Ｒｒａ１＝７：２”で表される。また、例えば、抵抗Ｒｒａ８は、抵抗Ｒｒａ０と同じ抵抗値（または、ほぼ同じ抵抗値）であり、９個の抵抗Ｒｒａのうちの抵抗Ｒｒａ０、Ｒｒａ８を除く７個の抵抗Ｒｒａは、互いに同じ抵抗値（または、ほぼ同じ抵抗値）である。
【０１４２】
この場合、抵抗Ｒｒａ０と抵抗Ｒｒａ１との接続ノードから出力される参照電圧ＶＲＥＦ０は、２１／２８＊ＶＤＤになる。抵抗Ｒｒａ１と抵抗Ｒｒａ２との接続ノードから出力される参照電圧ＶＲＥＦ１は、１９／２８＊ＶＤＤになる。また、抵抗Ｒｒａ６と抵抗Ｒｒａ７との接続ノードから出力される参照電圧ＶＲＥＦ６は、９／２８＊ＶＤＤになる。抵抗Ｒｒａ７と抵抗Ｒｒａ８との接続ノードから出力される参照電圧ＶＲＥＦ３は、７／２８＊ＶＤＤになる。
【０１４３】
比較回路５０Ａは、比較器ＣＯＭの数を除いて、図４に示した比較回路５０と同一または同様である。例えば、比較回路５０は、８個の比較器ＣＯＭ（ＣＯＭ０、ＣＯＭ１、・・・、ＣＯＭ６、ＣＯＭ７）を有し、８つの比較結果情報ＤＣＯＭ（ＤＣＯＭ０、ＤＣＯＭ１、・・・、ＤＣＯＭ６、ＤＣＯＭ７）を制御回路６０Ｂの電流検出部６２Ａに出力する。
【０１４４】
例えば、比較器ＣＯＭ０−ＣＯＭ７は、モニタ回路３０からモニタ電圧ＶＭＯＮを受ける。また、比較器ＣＯＭ０−ＣＯＭ７は、電圧生成回路４０から参照電圧ＶＲＥＦ０−ＶＲＥＦ７をそれぞれ受ける。そして、各比較器ＣＯＭ（ＣＯＭ０−ＣＯＭ７）は、モニタ電圧ＶＭＯＮと参照電圧ＶＲＥＦとを比較し、比較結果を示す比較結果情報ＤＣＯＭ（ＤＣＯＭ０、ＤＣＯＭ１、・・・、ＤＣＯＭ６、ＤＣＯＭ７）を電流検出部６２Ａに出力する。
【０１４５】
例えば、比較器ＣＯＭ０は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０より高い場合、論理値”１”の比較結果情報ＤＣＯＭ０を電流検出部６２Ａに出力する。すなわち、比較器ＣＯＭ０は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ０以下の場合、論理値”０”の比較結果情報ＤＣＯＭ０を電流検出部６２Ａに出力する。
【０１４６】
比較器ＣＯＭ１は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１より高い場合、論理値”１”の比較結果情報ＤＣＯＭ１を電流検出部６２Ａに出力する。また、比較器ＣＯＭ１は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ１以下の場合、論理値”０”の比較結果情報ＤＣＯＭ１を電流検出部６２Ａに出力する。
【０１４７】
比較器ＣＯＭ６は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ６より高い場合、論理値”１”の比較結果情報ＤＣＯＭ６を電流検出部６２Ａに出力する。また、比較器ＣＯＭ６は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ６以下の場合、論理値”０”の比較結果情報ＤＣＯＭ６を電流検出部６２Ａに出力する。
【０１４８】
比較器ＣＯＭ７は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ７より高い場合、論理値”１”の比較結果情報ＤＣＯＭ７を電流検出部６２Ａに出力する。また、比較器ＣＯＭ７は、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦ７以下の場合、論理値”０”の比較結果情報ＤＣＯＭ７を電流検出部６２Ａに出力する。
【０１４９】
制御回路６０Ｂは、比較回路５０Ａから受ける比較結果情報ＤＣＯＭのビット数および差動送信回路７４に出力する制御信号ＣＮＴＥの数を除いて、図２に示した制御回路６０Ａと同一または同様である。例えば、制御回路６０Ｂは、電流検出部６２Ａ、抵抗計算部６４Ａおよびコード計算部６６Ａを有する。
【０１５０】
電流検出部６２Ａは、比較回路５０Ａから受ける比較結果情報ＤＣＯＭのビット数および抵抗計算部６４Ａに出力する電流情報ＩＳＴ（ＩＳＴＰ１−ＩＳＴＰ７、ＩＳＴＮ１−ＩＳＴＮ７）の数を除いて、図２に示した電流検出部６２と同一または同様である。
【０１５１】
抵抗計算部６４Ａは、電流検出部６２Ａから受ける電流情報ＩＳＴの数およびコード計算部６６Ａに出力する抵抗情報ＲＭＰ（ＲＭＰ１−ＲＭＰ７）、ＲＭＮ（ＲＭＮ１−ＲＭＮ７）の数を除いて、図２に示した抵抗計算部６４と同一または同様である。例えば、抵抗計算部６４Ａは、電流検出部６２Ａから受けた電流情報ＩＳＴに基づいて、擬似回路３２の出力抵抗の値をモニタ電圧ＶＭＯＮの８つのレベル毎に算出する。そして、抵抗計算部６４Ａは、モニタ電圧ＶＭＯＮの８つのレベル毎に算出した擬似回路３２の出力抵抗の値を示す抵抗情報ＲＭＰ１−ＲＭＰ７、ＲＭＮ１−ＲＭＮ７を、コード計算部６６Ａに出力する。
【０１５２】
コード計算部６６Ａは、抵抗計算部６４Ａから受ける抵抗情報ＲＭＰ、ＲＭＮの数および差動送信回路７４に出力する制御信号ＣＮＴＥの数を除いて、図２に示したコード計算部６６と同一または同様である。例えば、コード計算部６６Ａは、抵抗計算部６４Ａから受けた抵抗情報ＲＭＰ、ＲＭＮに基づいて、３ビットの入力データＤの各ビットに対応する駆動回路８０、８１、８２のそれぞれの使用数を算出する。そして、コード計算部６６Ａは、算出した使用数と同じ数の駆動回路８０、８１、８２を駆動可能な状態にする制御信号ＣＮＴＥ（ＣＮＴＥＮ０−ＣＮＴＥＮ２、ＣＮＴＥＰ０−ＣＮＴＥＰ２）を生成し、生成した制御信号ＣＮＴＥを差動送信回路７４に出力する。
【０１５３】
なお、終端抵抗調整回路２０Ｂの構成は、図９に示す例に限定されない。例えば、終端抵抗調整回路２０Ｂは、４ビット以上の入力データＤを振幅変調して出力信号ＤＯＵＴを生成する送信回路の終端抵抗の値を調整してもよい。入力データＤのビット数がｍビット（ｍは、２以上の整数）である場合、例えば、電圧生成回路４０Ａは、２のｍ乗個の参照電圧ＶＲＥＦを等間隔になるように生成にする。また、比較回路５０Ａは、２のｍ乗個の参照電圧ＶＲＥＦの各々とモニタ電圧ＶＭＯＮとをそれぞれ比較し、２のｍ乗個の比較結果ＤＣＯＭを制御回路６０Ｂに出力する。
【０１５４】
ｍビットの入力データＤの値ｊ（ｊ＝０、１、・・・、２ｍ−１）に対応する参照電圧ＶＲＥＦをＶＲＥＦｊとした場合、比較結果情報ＤＣＯＭは、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦｊより高い電圧から参照電圧ＶＲＥＦｊ以下に変化したときに変化する。あるいは、比較結果情報ＤＣＯＭは、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦｊ以下から参照電圧ＶＲＥＦｊより高い電圧に変化したときに変化する。
【０１５５】
モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦｊ（ｊ＝０、１、・・・、２ｍ−２）より高い電圧から参照電圧ＶＲＥＦｊ以下に変化したときの制御信号ＣＮＴＩＮの値は、電流情報ＩＳＴＮｉ（ｉ＝２ｍ−１−ｊ）に設定される。また、モニタ電圧ＶＭＯＮが参照電圧ＶＲＥＦｊ（ｊ＝２ｍ−１、２ｍ−２、・・・、１）以下から参照電圧ＶＲＥＦｊより高い電圧に変化したときの制御信号ＣＮＴＩＮの値は、電流情報ＩＳＴＰｉ（ｉ＝ｊ）に設定される。
【０１５６】
モニタ電圧ＶＭＯＮの各出力レベルにおける擬似回路３２の出力抵抗ＲＭＰｉ（ｉ＝１、２、・・・、２ｍ−１）に流れる負荷電流ＩＬＮｉは、制御信号ＣＮＴＩＰ、ＣＮＴＩＮの１ステップあたりの電流Ｉ０を用いて、”Ｉ０＊ＩＳＴＮｉ”で表される。また、モニタ電圧ＶＭＯＮの各出力レベルにおける擬似回路３２の出力抵抗ＲＭＮｉ（ｉ＝１、２、・・・、２ｍ−１）に流れる負荷電流ＩＬＰｉは、”Ｉ０＊ＩＳＴＰｉ”で表される。
【０１５７】
そして、出力抵抗ＲＭＰｉ、ＲＭＮｉ（ｉ＝１、２、・・・、２ｍ−１）は、負荷電流ＩＬＮｉ（＝Ｉ０＊ＩＳＴＮｉ）、ＩＬＰｉ（＝Ｉ０＊ＩＳＴＰｉ）を用いて、式（１５）、式（１６）でそれぞれ表される。
ＲＭＰｉ＝（３／４−ｉ／（２＊（２ｍ−１）））＊ＶＤＤ／ＩＬＮｉ  ・・・（１５）
ＲＭＮｉ＝（３／４−ｉ／（２＊（２ｍ−１）））＊ＶＤＤ／ＩＬＰｉ  ・・・（１６）
例えば、ｍ＝２の場合、図６で説明した式（１）−式（６）が導かれる。また、ｍ＝３の場合、出力抵抗ＲＭＰ１、ＲＭＰ２、ＲＭＰ７（出力抵抗ＲＭＰ１−ＲＭＰ７のうちの一例）は、式（１７）、式（１８）、式（１９）で表される。出力抵抗ＲＭＮ１、ＲＭＮ２、ＲＭＮ７（出力抵抗ＲＭＮ１−ＲＭＮ７のうちの一例）は、式（２０）、式（２１）、式（２２）で表される。
ＲＭＰ１＝１９／２８＊ＶＤＤ／ＩＬＮ１  ・・・（１７）
ＲＭＰ２＝１７／２８＊ＶＤＤ／ＩＬＮ２  ・・・（１８）
ＲＭＰ７＝７／２８＊ＶＤＤ／ＩＬＮ７    ・・・（１９）
ＲＭＮ１＝１９／２８＊ＶＤＤ／ＩＬＰ１  ・・・（２０）
ＲＭＮ２＝１７／２８＊ＶＤＤ／ＩＬＰ２  ・・・（２１）
ＲＭＮ７＝７／２８＊ＶＤＤ／ＩＬＰ７    ・・・（２２）
ｍビットの入力データの各ビットに対応する駆動回路の使用数ＰＴＥｋ、ＮＴＥｋ（ｋ＝０、１、・・・、ｍ−１）は、送信回路７６の終端抵抗の規定値が５０Ωの場合、式（２３）、式（２４）でそれぞれ表される。
ＰＴＥｋ＝Σ（ＲＭＰｘ／（５０＊（２ｍ−１）＊（２ｍ−１−ｋ）））  ・・・（２３）
ＮＴＥｋ＝Σ（ＲＭＮｘ／（５０＊（２ｍ−１）＊（２ｍ−１−ｋ）））  ・・・（２４）
なお、式中のｘは、ＲＭＰｉ、ＲＭＮｉのｉを２進数で表したときのｋビット目（最下位ビットは、０ビット目）が１となる組み合わせである。例えば、ｍ＝３、ｋ＝１の場合、式（２３）、式（２４）は、ｘ＝１１１、１１０、０１１、０１０（すなわち、ｉ＝７、６、３、２）の４個の加算となる。
【０１５８】
ｍ＝２の場合、図６で説明した式（８）、式（１０）、式（１２）、式（１４）が導かれる。また、ｍ＝３の場合、駆動回路の使用数ＰＴＥｋ、ＮＴＥｋ（ｋ＝０、１、２）は、式（２５）−式（３０）でそれぞれ表される。
ＰＴＥ０＝（ＲＭＰ７＋ＲＭＰ５＋ＲＭＰ３＋ＲＭＰ１）／１４００  ・・・（２５）
ＰＴＥ１＝（ＲＭＰ７＋ＲＭＰ６＋ＲＭＰ３＋ＲＭＰ２）／７００    ・・・（２６）
ＰＴＥ２＝（ＲＭＰ７＋ＲＭＰ６＋ＲＭＰ５＋ＲＭＰ４）／３５０    ・・・（２７）
ＮＴＥ０＝（ＲＭＮ７＋ＲＭＮ５＋ＲＭＮ３＋ＲＭＮ１）／１４００  ・・・（２８）
ＮＴＥ１＝（ＲＭＮ７＋ＲＭＮ６＋ＲＭＮ３＋ＲＭＮ２）／７００    ・・・（２９）
ＮＴＥ２＝（ＲＭＮ７＋ＲＭＮ６＋ＲＭＮ５＋ＲＭＮ４）／３５０    ・・・（３０）
ここで、ＲＭＰｉのｉを２進数で表した場合の各ビットの反転値は、ｍビットの入力データＤの値に対応し、ＲＭＮｉのｉを２進数で表した場合の各ビットの値は、ｍビットの入力データＤの各ビットの値に対応する。したがって、使用数ＰＴＥｋは、ｍビットの入力データＤのうちのｋビット目が０になる複数の入力パターンのそれぞれに対応する複数のレベルの出力抵抗ＲＭＰの値の平均に基づいて算出される。また、使用数ＮＴＥｋは、ｍビットの入力データＤのうちのｋビット目が１になる複数の入力パターンのそれぞれに対応する複数のレベルの出力抵抗ＲＭＮの値の平均に基づいて算出される。
【０１５９】
コード計算部６６Ａは、例えば、式（２５）−式（２７）に基づいて算出した使用数ＰＴＥ０、ＰＴＥ１、ＰＴＥ２の各々に最も近い整数を、トランジスタＭＰ１０をオン状態に設定する駆動回路８０、８１、８２の数（使用数）に決定する。そして、コード計算部６６Ａは、決定した使用数をサーモメータコードに変換して制御信号ＣＮＴＥＰ０、ＣＮＴＥＰ１、ＣＮＴＥＰ２を生成する。また、コード計算部６６Ａは、式（２８）−式（３０）に基づいて算出した使用数ＮＴＥ０、ＮＴＥ１、ＮＴＥ２の各々に最も近い整数を、トランジスタＭＮ１０をオン状態に設定する駆動回路８０、８１、８２の数（使用数）に決定する。そして、コード計算部６６Ａは、決定した使用数をサーモメータコードに変換して制御信号ＣＮＴＥＮ０、ＣＮＴＥＮ１、ＣＮＴＥＮ２を生成する。
【０１６０】
以上、図８から図９に示す実施形態においても、図２から図７に示した実施形態と同様の効果を得ることができる。例えば、終端抵抗調整回路２０Ｂは、駆動回路８０、８１、８２の使用数を、モニタ電圧ＶＭＯＮの複数のレベル毎に算出した出力抵抗ＲＭＰ１−ＲＭＰ７、ＲＭＮ１−ＲＭＮ７に基づいて、個別に調整する。これにより、駆動回路８２の合成抵抗の値と、駆動回路８１の合成抵抗の値と駆動回路８０の合成抵抗の値との比の変動（入力パターンの変化に伴う変動）は、１つの入力パターンに基づいて駆動回路８０、８１、８２の使用数を調整した場合に比べて抑制される。これにより、送信回路７６の終端抵抗の値を適切に調整することができる。
【０１６１】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１６２】
１０、１０Ａ、１０Ｂ‥装置；２０、２０Ａ、２０Ｂ‥終端抵抗調整回路；３０‥モニタ回路；３２‥擬似回路；３４、３６‥電流源；４０、４０Ａ‥電圧生成回路；５０、５０Ａ‥比較回路；６０、６０Ａ、６０Ｂ‥制御回路６０；６２、６２Ａ‥電流検出部；６４、６４Ａ‥抵抗計算部；６６、６６Ａ‥コード計算部；７０‥送信回路；ＭＮ１０、ＭＮ１２、ＭＮ２０、ＭＮ２２‥Ｎ型のＭＯＳトランジスタ；ＭＰ１０、ＭＰ１２、ＭＰ２０、ＭＰ２２‥Ｐ型のＭＯＳトランジスタ；Ｒ１０、Ｒ１２‥抵抗
【図１】
0006515776.tif 000002
【図２】
0006515776.tif 000003
【図３】
0006515776.tif 000004
【図４】
0006515776.tif 000005
【図５】
0006515776.tif 000006
【図６】
0006515776.tif 000007
【図７】
0006515776.tif 000008
【図８】
0006515776.tif 000009
【図９】
0006515776.tif 000010