(57)【要約】【課題】  多値伝送における出力信号の電圧レベルの差が均等になるようにドライバ回路の出力抵抗の値を調整する。【解決手段】  ドライバ回路は、複数の駆動部と抵抗調整部とを有し、各駆動部は、電源線および接地線にそれぞれ接続され、抵抗調整部からの制御に基づいて抵抗値が変化する第１可変抵抗部および第２可変抵抗部と、第１可変抵抗部と第２可変抵抗部との間に並列に接続され、有効な状態に設定される場合、第１可変抵抗部と出力との間が導通する状態と第２可変抵抗部と出力との間が導通する状態とのいずれかに入力データに応じて設定される複数の駆動スイッチ部とを有し、抵抗調整部は、第１可変抵抗部と第２可変抵抗部の抵抗値を調整する抵抗値調整処理を複数の駆動部毎に実行する第１調整部と、抵抗値調整処理の後、出力信号の電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部の数を調整する第２調整部とを有する。【選択図】  図１
2018061196.tif 000002
【特許請求の範囲】
【請求項１】
入力データの複数のビットにそれぞれ対応して設けられ、出力が互いに接続され、前記入力データの値に対応する電圧レベルを有する出力信号を生成する複数の駆動部と、
前記複数の駆動部の出力抵抗を調整する抵抗調整部とを有し、
前記複数の駆動部の各々は、
電源電圧が供給される電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１可変抵抗部と、
接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２可変抵抗部と、
前記第１可変抵抗部と前記第２可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１可変抵抗部と駆動部の出力との間が導通する状態と前記第２可変抵抗部と前記駆動部の出力との間が導通する状態とのいずれかに前記入力データに応じて設定される複数の駆動スイッチ部とを有し、
前記抵抗調整部は、
前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を前記複数の駆動部毎に実行する第１調整部と、
前記抵抗値調整処理が実行された後、前記出力信号の電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部の数を調整するスイッチ数調整処理を実行する第２調整部とを有する
ことを特徴とするドライバ回路。
【請求項２】
請求項１に記載のドライバ回路において、
前記抵抗値調整処理に使用されるレプリカ部をさらに有し、
前記入力データのビット数は、２ビットであり、
前記複数の駆動部は、２ビットの前記入力データのうちの一方のビットの信号を受ける第１の駆動部と、２ビットの前記入力データのうちの他方のビットの信号を受ける第２の駆動部であり、
前記レプリカ部は、
前記第１の駆動部に対する前記抵抗値調整処理に使用される第１のレプリカ駆動部と、
前記第２の駆動部に対する前記抵抗値調整処理に使用される第２のレプリカ駆動部とを有し、
前記第１のレプリカ駆動部および前記第２のレプリカ駆動部の各々は、
前記電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部と、
前記接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部と、
前記第１レプリカ可変抵抗部と前記第２レプリカ可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１レプリカ可変抵抗部とレプリカ駆動部の出力との間が導通する状態と前記第２レプリカ可変抵抗部と前記レプリカ駆動部の出力との間が導通する状態とのいずれかに前記抵抗調整部からの制御に基づいて設定される複数のレプリカ駆動スイッチ部とを有し、
前記第１調整部は、
前記第１の駆動部に対する前記抵抗値調整処理として、前記第１のレプリカ駆動部の有効な状態のレプリカ駆動スイッチ部の数を前記第１の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記第１のレプリカ駆動部の出力抵抗が前記第１の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第１の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記第２の駆動部に対する前記抵抗値調整処理として、前記第２のレプリカ駆動部の有効な状態のレプリカ駆動スイッチ部の数を前記第２の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記第２のレプリカ駆動部の出力抵抗が前記第２の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第２の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記抵抗調整部は、
前記出力信号の電圧レベルの差のばらつきが所定値以下になるまで、前記抵抗値調整処理と前記スイッチ数調整処理とを繰り返す
ことを特徴とするドライバ回路。
【請求項３】
請求項１に記載のドライバ回路において、
前記複数の駆動部に対するそれぞれの前記抵抗値調整処理で共通に使用されるレプリカ駆動部をさらに有し、
前記入力データのビット数は、２ビットであり、
前記複数の駆動部は、２ビットの前記入力データのうちの一方のビットの信号を受ける第１の駆動部と、２ビットの前記入力データのうちの他方のビットの信号を受ける第２の駆動部であり、
前記第１可変抵抗部の抵抗値を調整する際の刻みが前記第１の駆動部と前記第２の駆動部とで同じであり、前記第２可変抵抗部の抵抗値を調整する際の刻みが前記第１の駆動部と前記第２の駆動部とで同じであり、
前記レプリカ駆動部は、
前記電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部と、
前記接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部と、
前記第１レプリカ可変抵抗部と前記第２レプリカ可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１レプリカ可変抵抗部とレプリカ駆動部の出力との間が導通する状態と前記第２レプリカ可変抵抗部と前記レプリカ駆動部の出力との間が導通する状態とのいずれかに前記抵抗調整部からの制御に基づいて設定される複数のレプリカ駆動スイッチ部とを有し、
前記第１調整部は、
前記第１の駆動部に対する前記抵抗値調整処理として、有効な状態のレプリカ駆動スイッチ部の数を前記第１の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記レプリカ駆動部の出力抵抗が前記第１の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第１の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記第２の駆動部に対する前記抵抗値調整処理として、有効な状態のレプリカ駆動スイッチ部の数を前記第２の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記レプリカ駆動部の出力抵抗が前記第２の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第２の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記抵抗調整部は、
前記出力信号の電圧レベルの差のばらつきが所定値以下になるまで、前記抵抗値調整処理と前記スイッチ数調整処理とを繰り返す
ことを特徴とするドライバ回路。
【請求項４】
請求項１ないし請求項３のいずれか１項に記載のドライバ回路において、
前記入力データの最上位ビットに対応して設けられた駆動部の駆動スイッチ部の数は、前記入力データの最下位ビットに対応して設けられた駆動部の駆動スイッチ部の数より多い
ことを特徴とするドライバ回路。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載のドライバ回路において、
前記抵抗調整部は、前記第１可変抵抗部の抵抗値と前記第２可変抵抗部の抵抗値とを個別に調整する
ことを特徴とするドライバ回路。
【請求項６】
入力データの複数のビットにそれぞれ対応して設けられ、出力が互いに接続され、前記入力データの値に対応する電圧レベルを有する出力信号を生成する複数の駆動部と、前記複数の駆動部の出力抵抗を調整する抵抗調整部とを有し、前記複数の駆動部の各々が、電源電圧が供給される電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１可変抵抗部と、接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２可変抵抗部と、前記第１可変抵抗部と前記第２可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１可変抵抗部と駆動部の出力との間が導通する状態と前記第２可変抵抗部と前記駆動部の出力との間が導通する状態とのいずれかに前記入力データに応じて設定される複数の駆動スイッチ部とを有するドライバ回路の制御方法において、
前記抵抗調整部が有する第１調整部が、前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を前記複数の駆動部毎に実行し、
前記抵抗調整部が有する第２調整部が、前記抵抗値調整処理が実行された後、前記出力信号の電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部の数を調整するスイッチ数調整処理を実行する
ことを特徴とするドライバ回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ドライバ回路およびドライバ回路の制御方法に関する。
【背景技術】
【０００２】
ドライバ回路は、例えば、サーバ等の情報処理装置に搭載され、信号を受信側の情報処理装置の受信回路に送信する。例えば、ドライバ回路は、電源電圧が供給される電源線と出力端子との間に配置された抵抗素子およびＰ型のＭＯＳトランジスタと、出力端子と接地線との間に配置されたＮ型のＭＯＳトランジスタおよび抵抗素子とを有する。なお、ＭＯＳは、Metal Oxide Semiconductorの略である。ＭＯＳトランジスタは、ソースとドレインとの間が導通する導通状態（以下、オン状態とも称する）と、ソースとドレインとの間が導通しない非導通状態（以下、オフ状態とも称する）とのいずれかに入力信号に応じて設定されるスイッチとして機能する。したがって、ＭＯＳトランジスタのオン抵抗および抵抗素子は、ドライバ回路の出力抵抗として機能する。
【０００３】
なお、ドライバ回路の出力抵抗の値は、温度変化、製造プロセスのばらつき等により変化する場合がある。このため、ドライバ回路の出力抵抗の値が所定の範囲に収まるように較正する方法が提案されている（例えば、特許文献１、２参照）。例えば、ドライバ回路は、並列に接続された複数のＭＯＳトランジスタのうち、使用するＭＯＳトランジスタの数を可変に設定することにより、並列に接続されたＭＯＳトランジスタのトータルのオン抵抗の値を調整し、出力抵抗の値を調整する。
【０００４】
近年、情報処理装置の信号処理の速度向上に伴い、ＬＳＩ（Large Scale Integration）等の回路部品間を伝送する信号の帯域を拡大することが望まれている。信号の帯域を拡大する方法として、伝送周波数を向上させる方法と、信号を多値で伝送する方法とが知られている。信号を多値で伝送する多値伝送では、例えば、入力データが２ビットの場合、４つの電圧レベルのいずれかを含む信号が１本の信号線で受信回路に伝送される（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１２１２８８号公報
【特許文献２】特開２００８−６０６７９号公報
【特許文献３】特開２０１０−１５７７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＰＡＭ４（Pulse Amplitude Modulation 4）を用いて多値伝送を実行するドライバ回路は、２ビットの入力データについて、上位ビット用の駆動部と下位ビット用の駆動部とを有する。そして、ドライバ回路は、２ビットの入力データを振幅変調して、４つの電圧レベルのいずれかを含む出力信号を１本の信号線で受信回路に伝送する。なお、ＰＡＭ４を用いるドライバ回路では、例えば、下位ビット用の駆動部の出力抵抗の値が上位ビット用の駆動部の出力抵抗の値の２倍で安定している場合、ドライバ回路から出力される各電圧レベルの差は互いに等しくなる。
【０００７】
ここで、ドライバ回路の帯域は、ドライバ回路内の抵抗素子およびＭＯＳトランジスタのうち、ＭＯＳトランジスタが出力端子側に接続される方が、抵抗素子が出力端子側に接続される場合に比べて向上する。したがって、ＰＡＭ４を用いるドライバ回路の帯域を向上させる場合、各駆動部内の抵抗素子およびＭＯＳトランジスタのうち、ＭＯＳトランジスタが出力端子側に接続される。出力端子側に接続されたＭＯＳトランジスタのゲート−ソース間の電圧は、ソースが抵抗素子を介して電源線または接地線に接続されるため、出力電圧の変化に伴い変動する。このため、ドライバ回路の出力抵抗の一部として機能するＭＯＳトランジスタのオン抵抗の値は、ドライバ回路の出力電圧が変化することにより、変化する場合がある。すなわち、ドライバ回路の出力抵抗の値は、ドライバ回路への入力データのパターンに応じて変動する場合がある。
【０００８】
このため、特定の電圧レベル（特定の動作点）でのドライバ回路の出力抵抗の値を所定の範囲に収めるように調整しても、下位ビット用の駆動部の出力抵抗の値と上位ビット用の駆動部の出力抵抗の値との比が適切に調整されるとは限らない。下位ビット用の駆動部の出力抵抗の値と上位ビット用の駆動部の出力抵抗の値との比が適切な値からずれるほど、ドライバ回路から出力される各電圧レベルの差のばらつきが大きくなり、出力信号の特性は劣化する。
【０００９】
１つの側面では、本発明は、多値伝送における出力信号の電圧レベルの差が均等になるようにドライバ回路の出力抵抗の値を調整することを目的とする。
【課題を解決するための手段】
【００１０】
１つの実施態様では、ドライバ回路は、入力データの複数のビットにそれぞれ対応して設けられ、出力が互いに接続され、入力データの値に対応する電圧レベルを有する出力信号を生成する複数の駆動部と、複数の駆動部の出力抵抗を調整する抵抗調整部とを有し、複数の駆動部の各々は、電源電圧が供給される電源線に接続され、抵抗調整部からの制御に基づいて抵抗値が変化する第１可変抵抗部と、接地線に接続され、抵抗調整部からの制御に基づいて抵抗値が変化する第２可変抵抗部と、第１可変抵抗部と第２可変抵抗部との間に並列に接続され、抵抗調整部により有効な状態に設定されている場合、第１可変抵抗部と駆動部の出力との間が導通する状態と第２可変抵抗部と駆動部の出力との間が導通する状態とのいずれかに入力データに応じて設定される複数の駆動スイッチ部とを有し、抵抗調整部は、第１可変抵抗部および第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を複数の駆動部毎に実行する第１調整部と、抵抗値調整処理が実行された後、出力信号の電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部の数を調整するスイッチ数調整処理を実行する第２調整部とを有する。
【００１１】
方法の一観点によれば、入力データの複数のビットにそれぞれ対応して設けられ、出力が互いに接続され、入力データの値に対応する電圧レベルを有する出力信号を生成する複数の駆動部と、複数の駆動部の出力抵抗を調整する抵抗調整部とを有し、複数の駆動部の各々が、電源電圧が供給される電源線に接続され、抵抗調整部からの制御に基づいて抵抗値が変化する第１可変抵抗部と、接地線に接続され、抵抗調整部からの制御に基づいて抵抗値が変化する第２可変抵抗部と、第１可変抵抗部と第２可変抵抗部との間に並列に接続され、抵抗調整部により有効な状態に設定されている場合、第１可変抵抗部と駆動部の出力との間が導通する状態と第２可変抵抗部と駆動部の出力との間が導通する状態とのいずれかに入力データに応じて設定される複数の駆動スイッチ部とを有するドライバ回路の制御方法では、抵抗調整部が有する第１調整部が、第１可変抵抗部および第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を複数の駆動部毎に実行し、抵抗調整部が有する第２調整部が、抵抗値調整処理が実行された後、出力信号の電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部の数を調整するスイッチ数調整処理を実行する。
【発明の効果】
【００１２】
多値伝送における出力信号の電圧レベルの差が均等になるようにドライバ回路の出力抵抗の値を調整できる。
【図面の簡単な説明】
【００１３】
【図１】ドライバ回路およびドライバ回路の制御方法の一実施形態を示す図である。
【図２】ドライバ回路およびドライバ回路の制御方法の別の実施形態を示す図である。
【図３】図２に示した可変抵抗部の一例を示す図である。
【図４】図２に示したレプリカ部の一例を示す図である。
【図５】ＰＡＭ４により生成される出力信号の一例を示す図である。
【図６】図２に示したドライバ回路の動作の一例を示す図である。
【図７】図６に示した抵抗値調整処理の一例を示す図である。
【図８】図６に示したスイッチ数調整処理の一例を示す図である。
【図９】図６に示したスイッチ数調整処理の別の例を示す図である。
【図１０】ドライバ回路およびドライバ回路の制御方法の別の実施形態を示す図である。
【図１１】図１０に示したレプリカ駆動部の一例を示す図である。
【図１２】図１０に示したドライバ回路による抵抗値調整処理の一例を示す図である。
【図１３】図１、図２および図１０に示したドライバ回路が搭載される装置の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、実施形態について、図面を用いて説明する。電源電圧（電源電圧ＶＤＤ、接地電圧ＧＮＤ）が伝達される電源線には、電源電圧名と同じ符号を使用する。また、端子に供給される信号には、端子名と同じ符号を使用する。また、同種のイネーブル信号等の制御信号（例えば、図１に示す制御信号ＥＮｍ）は、複数の信号を１つの信号線にまとめて図示される場合もある。
【００１５】
図１は、ドライバ回路およびドライバ回路の制御方法の一実施形態を示す。図１に示すドライバ回路ＤＲＣａは、例えば、サーバ等の情報処理装置に搭載され、信号を多値で伝送する。例えば、ドライバ回路ＤＲＣａは、２ビットの振幅変調であるＰＡＭ４を実行し、２ビットの入力データＤＩ（ＤＩ１、ＤＩ０）を振幅変調する。これにより、ドライバ回路ＤＲＣａは、２ビットの入力データＤＩで表される４つの値にそれぞれ対応する４つの電圧レベルのいずれかを含む出力信号ＤＯを１本の信号線で受信側の装置（以下、受信装置とも称する）に伝送できる。
【００１６】
ドライバ回路ＤＲＣａは、入力データＤＩの値に対応する電圧レベルを有する出力信号ＤＯを生成する複数の駆動部ＤＲＶ（ＤＲＶｍ、ＤＲＶｌ）と、複数の駆動部ＤＲＶの出力抵抗を調整する抵抗調整部ＲＡＤＪａとを有する。
【００１７】
駆動部ＤＲＶは、入力データＤＩの複数のビットにそれぞれ対応して設けられる。例えば、駆動部ＤＲＶｍは、２ビットの入力データＤＩのうちの上位ビットに対応して設けられ、入力が入力端子ＤＩ１に接続される。そして、駆動部ＤＲＶｍは、２ビットの入力データＤＩのうちの上位ビットのデータＤＩ１を受ける。また、駆動部ＤＲＶｌは、２ビットの入力データＤＩのうちの下位ビットに対応して設けられ、入力が入力端子ＤＩ０に接続される。そして、駆動部ＤＲＶｌは、２ビットの入力データＤＩのうちの下位ビットのデータＤＩ０を受ける。駆動部ＤＲＶｍ、ＤＲＶｌの出力は、出力端子ＤＯに接続される。すなわち、複数の駆動部ＤＲＶの出力は互いに接続される。
【００１８】
駆動部ＤＲＶｍは、電源電圧ＶＤＤが供給される電源線ＶＤＤに接続される可変抵抗部ＶＲｍｕと、接地線ＧＮＤに接続される可変抵抗部ＶＲｍｄと、複数の駆動スイッチ部ＤＳＷｍ（ＤＳＷｍ１、ＤＳＷｍ２、・・・）とを有する。以下、可変抵抗部ＶＲｍｕ、ＶＲｍｄは、可変抵抗部ＶＲとも称され、駆動スイッチ部ＤＳＷｍは、駆動スイッチ部ＤＳＷとも称される。
【００１９】
可変抵抗部ＶＲｍｕは、電源線ＶＤＤと複数の駆動スイッチ部ＤＳＷｍの端子ＰＵとの間に接続され、抵抗調整部ＲＡＤＪａから制御信号ＥＵｍを受ける。なお、可変抵抗部ＶＲｍｕの抵抗値は、例えば、制御信号ＥＵｍの値に応じて変化する。例えば、可変抵抗部ＶＲｍｕは、図示しない複数の抵抗素子を有し、制御信号ＥＵｍの値に応じた数の抵抗素子を電源線ＶＤＤと駆動スイッチ部ＤＳＷｍの端子ＰＵとの間に並列に接続する。すなわち、可変抵抗部ＶＲｍｕは、電源線ＶＤＤに接続され、抵抗調整部ＲＡＤＪａからの制御に基づいて抵抗値が変化する第１可変抵抗部の一例である。
【００２０】
可変抵抗部ＶＲｍｄは、接地線ＧＮＤと複数の駆動スイッチ部ＤＳＷｍの端子ＰＤとの間に接続され、抵抗調整部ＲＡＤＪａから制御信号ＥＤｍを受ける。なお、可変抵抗部ＶＲｍｄの抵抗値は、例えば、制御信号ＥＤｍの値の変化に応じて変化する。例えば、可変抵抗部ＶＲｍｄは、図示しない複数の抵抗素子を有し、制御信号ＥＤｍの値に応じた数の抵抗素子を接地線ＧＮＤと駆動スイッチ部ＤＳＷｍの端子ＰＤとの間に並列に接続する。すなわち、可変抵抗部ＶＲｍｄは、接地線ＧＮＤに接続され、抵抗調整部ＲＡＤＪａからの制御に基づいて抵抗値が変化する第２可変抵抗部の一例である。
【００２１】
複数の駆動スイッチ部ＤＳＷｍは、可変抵抗部ＶＲｍｕと可変抵抗部ＶＲｍｄとの間に並列に接続される。例えば、複数の駆動スイッチ部ＤＳＷｍのそれぞれの端子ＰＵは、可変抵抗部ＶＲｍｕに接続され、複数の駆動スイッチ部ＤＳＷｍのそれぞれの端子ＰＤは、可変抵抗部ＶＲｍｄに接続される。また、複数の駆動スイッチ部ＤＳＷｍのそれぞれの端子ＯＴは、出力端子ＤＯに接続され、複数の駆動スイッチ部ＤＳＷｍのそれぞれの端子ＩＮは、入力端子ＤＩ１に接続される。そして、複数の駆動スイッチ部ＤＳＷｍのそれぞれの端子ＥＮは、抵抗調整部ＲＡＤＪａから出力される制御信号ＥＮｍ（ＥＮｍ１、ＥＮｍ２、・・・）のうち、対応する制御信号ＥＮｍを受ける。なお、制御信号ＥＮｍの符号の末尾の数字は、駆動スイッチ部ＤＳＷｍの符号の末尾の数字に対応する。
【００２２】
例えば、各駆動スイッチ部ＤＳＷｍは、電源電圧ＶＤＤに対応する高レベルの制御信号ＥＮｍを端子ＥＮで受けた場合、有効な状態に設定される。有効な状態に設定された駆動スイッチ部ＤＳＷｍは、端子ＰＵと端子ＯＴとの間が導通する状態と端子ＰＤと端子ＯＴとの間が導通する状態とのいずれかに、端子ＩＮで受ける入力データＤＩ１に応じて設定される。なお、駆動スイッチ部ＤＳＷｍは、有効な状態に設定されない場合、端子ＩＮで受ける入力データＤＩ１に拘わらず、端子ＯＴが端子ＰＵ、ＰＤのいずれとも導通しない状態に設定される。
【００２３】
各駆動スイッチ部ＤＳＷｍは、例えば、インバータＩＮＶと、否定論理和回路ＮＯＲと、否定論理積回路ＮＡＮＤと、Ｐ型のＭＯＳトランジスタＭＰｄｒと、Ｎ型のＭＯＳトランジスタＭＮｄｒとを有する。以下、Ｐ型のＭＯＳトランジスタおよびＮ型のＭＯＳトランジスタは、単に、トランジスタとも称される。
【００２４】
インバータＩＮＶは、端子ＥＮから受けた信号ＥＮ（駆動スイッチ部ＤＳＷｍ１では、制御信号ＥＮｍ１）を反転し、反転した信号を否定論理和回路ＮＯＲに出力する。否定論理和回路ＮＯＲは、端子ＥＮからインバータＩＮＶを介して受けた信号（信号ＥＮの反転信号）と端子ＩＮから受けた信号ＩＮ（入力データＤＩ１）との否定論理和を演算し、演算結果をトランジスタＭＮｄｒのゲートに出力する。否定論理積回路ＮＡＮＤは、端子ＥＮから受けた信号ＥＮと端子ＩＮから受けた信号ＩＮの否定論理積を演算し、演算結果をトランジスタＭＰｄｒのゲートに出力する。
【００２５】
すなわち、高レベルの制御信号ＥＮｍを端子ＥＮで受けた駆動スイッチ部ＤＳＷｍでは、トランジスタＭＰｄｒ、ＭＮｄｒは、入力データＤＩ１を反転した信号をゲートで受ける。また、接地電圧ＧＮＤに対応する低レベルの制御信号ＥＮｍを端子ＥＮで受けた駆動スイッチ部ＤＳＷｍでは、入力データＤＩ１に拘わらず、トランジスタＭＰｄｒは、高レベルの信号をゲートで受け、トランジスタＭＮｄｒは、低レベルの信号をゲートで受ける。
【００２６】
トランジスタＭＰｄｒは、ソースが端子ＰＵに接続され、ドレインが端子ＯＴおよびトランジスタＭＮｄｒのドレインに接続される。トランジスタＭＰｄｒは、ゲートで受ける信号が低レベルの場合、ソースとドレインとの間が導通する導通状態（オン状態）になる。これにより、端子ＰＵと端子ＯＴとの間が導通する。また、トランジスタＭＰｄｒは、ゲートで受ける信号が高レベルの場合、ソースとドレインとの間が導通しない非導通状態（オフ状態）になる。この場合、端子ＰＵと端子ＯＴとの間は、導通しない。
【００２７】
トランジスタＭＮｄｒは、ソースが端子ＰＤに接続され、ドレインが端子ＯＴおよびトランジスタＭＰｄｒのドレインに接続される。トランジスタＭＮｄｒは、ゲートで受ける信号が高レベルの場合、オン状態になる。これにより、端子ＰＤと端子ＯＴとの間が導通する。また、トランジスタＭＮｄｒは、ゲートで受ける信号が低レベルの場合、オフ状態になる。この場合、端子ＰＤと端子ＯＴとの間は、導通しない。
【００２８】
すなわち、高レベルの制御信号ＥＮｍを端子ＥＮで受けた駆動スイッチ部ＤＳＷｍでは、高レベルの入力データＤＩ１を端子ＩＮで受けた場合、トランジスタＭＰｄｒがオン状態になり、トランジスタＭＮｄｒがオフ状態になる。これにより、端子ＰＵと端子ＯＴとの間が導通し、端子ＰＤと端子ＯＴとの間が導通しない状態に設定される。また、高レベルの制御信号ＥＮｍを端子ＥＮで受けた駆動スイッチ部ＤＳＷｍでは、低レベルの入力データＤＩ１を端子ＩＮで受けた場合、トランジスタＭＰｄｒがオフ状態になり、トランジスタＭＮｄｒがオン状態になる。これにより、端子ＰＤと端子ＯＴとの間が導通し、端子ＰＵと端子ＯＴとの間が導通しない状態に設定される。このように、高レベルの制御信号ＥＮｍを受けた駆動スイッチ部ＤＳＷｍは、端子ＯＴの接続先を入力データＤＩ１に応じて切り替える駆動スイッチとして機能する有効な状態に設定される。すなわち、有効な状態に設定された駆動スイッチ部ＤＳＷｍは、入力データＤＩ１が高レベルの場合、可変抵抗部ＶＲｍｕを介して出力端子ＤＯを電源線ＶＤＤに接続することにより、伝送路を駆動する。また、有効な状態に設定された駆動スイッチ部ＤＳＷｍは、入力データＤＩ１が低レベルの場合、可変抵抗部ＶＲｍｌを介して出力端子ＤＯを接地線ＧＮＤに接続することにより、伝送路を駆動する。
【００２９】
低レベルの制御信号ＥＮｍを端子ＥＮで受けた駆動スイッチ部ＤＳＷｍでは、入力データＤＩ１に拘わらず、トランジスタＭＰｄｒ、ＭＮｄｒはオフ状態に設定される。これにより、端子ＯＴは、端子ＰＵ、ＰＤのいずれとも導通しない状態になる。すなわち、低レベルの制御信号ＥＮｍを受けた駆動スイッチ部ＤＳＷｍは、駆動スイッチとして機能しない無効な状態に設定される。
【００３０】
すなわち、駆動スイッチ部ＤＳＷｍは、有効な状態に設定されている場合、可変抵抗部ＶＲｍｕと駆動部ＤＲＶｍの出力との間が導通する状態と可変抵抗部ＶＲｍｄと駆動部ＤＲＶｍの出力との間が導通する状態とのいずれかに入力データＤＩ１に応じて設定される。
【００３１】
したがって、駆動部ＤＲＶｍの出力抵抗は、入力データＤＩ１が高レベルの場合、有効な状態に設定された駆動スイッチ部ＤＳＷｍのトランジスタＭＰｄｒのオン抵抗を並列接続した場合の合成抵抗と可変抵抗部ＶＲｍｕとの和で表される。また、入力データＤＩ１が低レベルの場合、駆動部ＤＲＶｍの出力抵抗は、有効な状態に設定された駆動スイッチ部ＤＳＷｍのトランジスタＭＮｄｒのオン抵抗を並列接続した場合の合成抵抗と可変抵抗部ＶＲｍｄとの和で表される。
【００３２】
駆動部ＤＲＶｌは、調整後の出力抵抗の大きさを除いて、駆動部ＤＲＶｍと同一または同様である。例えば、駆動部ＤＲＶｌは、電源線ＶＤＤに接続される可変抵抗部ＶＲｌｕと、接地線ＧＮＤに接続される可変抵抗部ＶＲｌｄと、複数の駆動スイッチ部ＤＳＷｌ（ＤＳＷｌ１、ＤＳＷｌ２、・・・）とを有する。以下、可変抵抗部ＶＲｌｕ、ＶＲｌｄは、可変抵抗部ＶＲとも称され、駆動スイッチ部ＤＳＷｌは、駆動スイッチ部ＤＳＷとも称される。
【００３３】
可変抵抗部ＶＲｌｕは、可変抵抗部ＶＲｍｕと同一または同様である。例えば、可変抵抗部ＶＲｌｕは、電源線ＶＤＤと駆動スイッチ部ＤＳＷｌの端子ＰＵとの間に接続され、抵抗調整部ＲＡＤＪａから制御信号ＥＵｌを受ける。可変抵抗部ＶＲｌｕの抵抗値は、例えば、制御信号ＥＵｌの値に応じて変化する。すなわち、可変抵抗部ＶＲｌｕは、電源線ＶＤＤに接続され、抵抗調整部ＲＡＤＪａからの制御に基づいて抵抗値が変化する第１可変抵抗部の一例である。
【００３４】
可変抵抗部ＶＲｌｄは、可変抵抗部ＶＲｍｄと同一または同様である。例えば、可変抵抗部ＶＲｌｄは、接地線ＧＮＤと駆動スイッチ部ＤＳＷｌの端子ＰＤとの間に接続され、抵抗調整部ＲＡＤＪａから制御信号ＥＤｌを受ける。可変抵抗部ＶＲｌｄの抵抗値は、例えば、制御信号ＥＤｌの値の変化に応じて変化する。すなわち、可変抵抗部ＶＲｌｄは、接地線ＧＮＤに接続され、抵抗調整部ＲＡＤＪａからの制御に基づいて抵抗値が変化する第２可変抵抗部の一例である。
【００３５】
複数の駆動スイッチ部ＤＳＷｌは、可変抵抗部ＶＲｌｕと可変抵抗部ＶＲｌｄとの間に並列に接続される。例えば、複数の駆動スイッチ部ＤＳＷｌのそれぞれの端子ＰＵは、可変抵抗部ＶＲｌｕに接続され、複数の駆動スイッチ部ＤＳＷｌのそれぞれの端子ＰＤは、可変抵抗部ＶＲｌｄに接続される。また、複数の駆動スイッチ部ＤＳＷｌのそれぞれの端子ＯＴは、出力端子ＤＯに接続され、複数の駆動スイッチ部ＤＳＷｌのそれぞれの端子ＩＮは、入力端子ＤＩ０に接続される。そして、複数の駆動スイッチ部ＤＳＷｌのそれぞれの端子ＥＮは、抵抗調整部ＲＡＤＪａから出力される制御信号ＥＮｌ（ＥＮｌ１、ＥＮｌ２、・・・）のうち、対応する制御信号ＥＮｌを受ける。なお、制御信号ＥＮｌの符号の末尾の数字は、駆動スイッチ部ＤＳＷｌの符号の末尾の数字に対応する。
【００３６】
駆動スイッチ部ＤＳＷｌは、駆動スイッチ部ＤＳＷｍと同一または同様である。例えば、各駆動スイッチ部ＤＳＷｌは、駆動スイッチ部ＤＳＷｍと同様に、インバータＩＮＶと、否定論理和回路ＮＯＲと、否定論理積回路ＮＡＮＤと、Ｐ型のＭＯＳトランジスタＭＰｄｒと、Ｎ型のＭＯＳトランジスタＭＮｄｒとを有する。なお、駆動スイッチ部ＤＳＷｌの数は、駆動スイッチ部ＤＳＷｍの数と同じ数でもよいし異なる数でもよい。例えば、入力データＤＩの最上位ビットに対応して設けられた駆動部ＤＲＶｍの駆動スイッチ部ＤＳＷｍの数は、入力データＤＩの最下位ビットに対応して設けられた駆動部ＤＲＶｌの駆動スイッチ部ＤＳＷｌの数より多くてもよい。
【００３７】
例えば、各駆動スイッチ部ＤＳＷｌは、高レベルの制御信号ＥＮｌを端子ＥＮで受けた場合、有効な状態に設定される。有効な状態に設定された駆動スイッチ部ＤＳＷｌは、端子ＰＵと端子ＯＴとの間が導通する状態と端子ＰＤと端子ＯＴとの間が導通する状態とのいずれかに、端子ＩＮで受ける入力データＤＩ０に応じて設定される。なお、駆動スイッチ部ＤＳＷｌは、有効な状態に設定されない場合、端子ＩＮで受ける入力データＤＩ０に拘わらず、端子ＯＴが端子ＰＵ、ＰＤのいずれとも導通しない状態に設定される。
【００３８】
すなわち、駆動スイッチ部ＤＳＷｌは、有効な状態に設定されている場合、可変抵抗部ＶＲｌｕと駆動部ＤＲＶｌの出力との間が導通する状態と可変抵抗部ＶＲｌｄと駆動部ＤＲＶｌの出力との間が導通する状態とのいずれかに入力データＤＩ０に応じて設定される。
【００３９】
抵抗調整部ＲＡＤＪａは、調整部ＡＤＪ１ａ、ＡＤＪ２を有する。調整部ＡＤＪ１ａは、第１可変抵抗部および第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を複数の駆動部ＤＲＶ毎に実行する第１調整部の一例である。例えば、調整部ＡＤＪ１ａは、可変抵抗部ＶＲｍｕ、ＶＲｍｄのそれぞれの抵抗値を調整する抵抗値調整処理と、可変抵抗部ＶＲｌｕ、ＶＲｌｄのそれぞれの抵抗値を調整する抵抗値調整処理とを実行する。
【００４０】
例えば、伝送路の特性インピーダンスが５０Ωの場合、調整部ＡＤＪ１ａは、駆動部ＤＲＶｍの出力抵抗を測定し、駆動部ＤＲＶｍの出力抵抗が７５Ωになるように、可変抵抗部ＶＲｍｕ、ＶＲｍｄのそれぞれの抵抗値を制御信号ＥＵｍ、ＥＤｍを用いて調整する。また、調整部ＡＤＪ１ａは、駆動部ＤＲＶｌの出力抵抗を測定し、駆動部ＤＲＶｌの出力抵抗が１５０Ωになるように、可変抵抗部ＶＲｌｕ、ＶＲｌｄのそれぞれの抵抗値を制御信号ＥＵｌ、ＥＤｌを用いて調整する。
【００４１】
なお、抵抗調整部ＲＡＤＪａは、例えば、駆動部ＤＲＶｍに対する抵抗値調整処理を実行する場合、全ての駆動スイッチ部ＤＳＷｌを無効な状態に設定する。駆動スイッチ部ＤＳＷｍは、駆動部ＤＲＶｍに対する１回目の抵抗値調整処理では、予め決められた初期状態に設定される。また、抵抗調整部ＲＡＤＪａは、例えば、駆動部ＤＲＶｌに対する抵抗値調整処理を実行する場合、全ての駆動スイッチ部ＤＳＷｍを無効な状態に設定する。駆動スイッチ部ＤＳＷｌは、駆動部ＤＲＶｌに対する１回目の抵抗値調整処理では、予め決められた初期状態に設定される。
【００４２】
調整部ＡＤＪ２は、抵抗値調整処理が実行された後、出力信号ＤＯの電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部ＤＳＷｍ、ＤＳＷｌの数を調整するスイッチ数調整処理を実行する第２調整部の一例である。例えば、調整部ＡＤＪ２は、入力データＤＩ１、ＤＩ０が“００”、“０１”、“１０”、“１１”である場合のそれぞれの出力信号ＤＯの電圧レベルを測定する。以下、入力データＤＩ１、ＤＩ０が“００”である場合の出力信号ＤＯの電圧レベルは、レベル０とも称され、入力データＤＩ１、ＤＩ０が“０１”である場合の出力信号ＤＯの電圧レベルは、レベル１とも称される。また、入力データＤＩ１、ＤＩ０が“１０”である場合の出力信号ＤＯの電圧レベルは、レベル２とも称され、入力データＤＩ１、ＤＩ０が“１１”である場合の出力信号ＤＯの電圧レベルは、レベル３とも称される。さらに、レベル３からレベル２を引いた値は、第１レベル差とも称され、レベル２からレベル１を引いた値は、第２レベル差とも称される。第１レベル差から第２レベル差を引いた値は、レベル差評価値とも称される。
【００４３】
例えば、調整部ＡＤＪ２は、出力信号ＤＯの電圧レベルの測定結果（レベル１、レベル２およびレベル３）に基づいてレベル差評価値を算出し、レベル差評価値の絶対値が所定値以下である場合、出力信号ＤＯの電圧レベルの差が均等であると判定する。この場合、調整部ＡＤＪ２は、有効な状態の駆動スイッチ部ＤＳＷｍ、ＤＳＷｌの数を現状の数から変更せずに、スイッチ数調整処理を終了する。これにより、可変抵抗部ＶＲｍｕ、ＶＲｍｄ、ＶＲｌｕ、ＶＲｌｄのそれぞれの抵抗値と、有効な状態に設定される駆動スイッチ部ＤＳＷｍ、ＤＳＷｌが確定する。
【００４４】
なお、調整部ＡＤＪ２は、レベル差評価値が正の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数を１つ増やす。すなわち、調整部ＡＤＪ２は、レベル差評価値が正の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、高レベルの制御信号ＥＮｍの数を１つ増やす。また、調整部ＡＤＪ２は、レベル差評価値が負の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数を１つ減らす。すなわち、調整部ＡＤＪ２は、レベル差評価値が負の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、高レベルの制御信号ＥＮｍの数を１つ減らす。
【００４５】
なお、調整部ＡＤＪ２は、レベル差評価値が正の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数を１つ減らしてもよい。すなわち、調整部ＡＤＪ２は、レベル差評価値が正の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、高レベルの制御信号ＥＮｌの数を１つ減らしてもよい。また、調整部ＡＤＪ２は、レベル差評価値が負の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数を１つ増やしてもよい。すなわち、調整部ＡＤＪ２は、レベル差評価値が負の値で、かつ、レベル差評価値の絶対値が所定値より大きい場合、高レベルの制御信号ＥＮｌの数を１つ増やしてもよい。
【００４６】
スイッチ数調整処理により、有効な状態に設定される駆動スイッチ部ＤＳＷｍ、ＤＳＷｌのいずれかの数が変更された場合、調整部ＡＤＪ１ａは、有効な状態の数が変更された駆動スイッチ部ＤＳＷを含む駆動部ＤＲＶに対する抵抗値調整処理を再度実行する。そして、調整部ＡＤＪ２は、抵抗値調整処理が再度実行された後、スイッチ数調整処理を再度実行する。すなわち、抵抗値調整処理およびスイッチ数調整処理は、レベル差評価値の絶対値が所定値以下になるまで繰り返される。
【００４７】
このように、抵抗調整部ＲＡＤＪａは、可変抵抗部ＶＲの抵抗値と、有効な状態に設定する駆動スイッチ部ＤＳＷの数とを協調的に調整することにより、出力信号ＤＯの電圧レベルの差が均等になるように、各駆動部ＤＲＶの出力抵抗を調整できる。
【００４８】
ここで、例えば、抵抗調整部ＲＡＤＪａは、抵抗値調整処理およびスイッチ数調整処理を実行する場合、図示しない測定用の終端抵抗等を出力端子ＤＯに接続し、ドライバ回路ＤＲＣａが受信装置に接続される場合、測定用の終端抵抗等を出力端子ＤＯから切り離す。
【００４９】
なお、ドライバ回路ＤＲＣａの構成は、図１に示す例に限定されない。例えば、入力データＤＩのビット数は、３ビット以上でもよい。この場合、ドライバ回路ＤＲＣａは、入力データＤＩのビット数と同じ数の駆動部ＤＲＶを有する。
【００５０】
以上、図１に示す実施形態では、調整部ＡＤＪ１ａは、可変抵抗部ＶＲｍｕ、ＶＲｍｕ、ＶＲｌｕ、ＶＲｌｄのそれぞれの抵抗値を調整する抵抗値調整処理を複数の駆動部ＤＲＶ毎に実行する。そして、調整部ＡＤＪ２は、抵抗値調整処理が実行された後、出力信号ＤＯの電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部ＤＳＷｍ、ＤＳＷｌの数を調整するスイッチ数調整処理を実行する。このように、抵抗調整部ＲＡＤＪａは、可変抵抗部ＶＲの抵抗値と、有効な状態に設定する駆動スイッチ部ＤＳＷの数とを個別に調整できる。このため、抵抗調整部ＲＡＤＪａは、可変抵抗部ＶＲの抵抗値と、有効な状態に設定する駆動スイッチ部ＤＳＷの数とを協調的に調整することにより、出力信号ＤＯの電圧レベルの差が均等になるように、各駆動部ＤＲＶの出力抵抗を目標の抵抗値に調整できる。すなわち、多値伝送における出力信号ＤＯの電圧レベルの差が均等になるようにドライバ回路ＤＲＣａの出力抵抗の値を調整することができる。
【００５１】
図２は、ドライバ回路およびドライバ回路の制御方法の別の実施形態を示す。図１で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図２に示すドライバ回路ＤＲＣｂでは、レプリカ部ＲＥＰが図１に示したドライバ回路ＤＲＣａに追加される。また、ドライバ回路ＤＲＣｂは、図１に示した抵抗調整部ＲＡＤＪａの代わりに、抵抗調整部ＲＡＤＪｂを有する。ドライバ回路ＤＲＣｂのその他の構成は、図１に示したドライバ回路ＤＲＣａと同一または同様である。
【００５２】
ドライバ回路ＤＲＣｂは、入力データＤＩの値に対応する電圧レベルを有する出力信号ＤＯを生成する複数の駆動部ＤＲＶ（ＤＲＶｍ、ＤＲＶｌ）と、複数の駆動部ＤＲＶの出力抵抗を調整する抵抗調整部ＲＡＤＪｂと、レプリカ部ＲＥＰとを有する。駆動部ＤＲＶｍ、ＤＲＶｌは、図１に示した駆動部ＤＲＶｍ、ＤＲＶｌと同一または同様である。
【００５３】
抵抗調整部ＲＡＤＪｂは、図１に示した調整部ＡＤＪ１ａの代わりに調整部ＡＤＪ１ｂを有することを除いて、図１に示した抵抗調整部ＲＡＤＪａと同一または同様である。例えば、抵抗調整部ＲＡＤＪｂは、調整部ＡＤＪ１ｂ、ＡＤＪ２を有する。調整部ＡＤＪ１ｂは、抵抗値調整処理にレプリカ部ＲＥＰを使用することを除いて、図１に示した調整部ＡＤＪ１ａと同一または同様である。すなわち、調整部ＡＤＪ１ｂは、第１可変抵抗部および第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を複数の駆動部ＤＲＶ毎に実行する第１調整部の一例である。調整部ＡＤＪ１ｂの動作（抵抗値調整処理）は、図７で説明する。レプリカ部ＲＥＰは、駆動部ＤＲＶのレプリカである。レプリカ部ＲＥＰの詳細は、図４で説明する。なお、ドライバ回路ＤＲＣｂの構成は、図２に示す例に限定されない。
【００５４】
図３は、図２に示した可変抵抗部ＶＲｍｕ、ＶＲｍｄの一例を示す。なお、図３では、可変抵抗部ＶＲｍｕ、ＶＲｍｄと駆動スイッチ部ＤＳＷｍとの接続関係を分かり易くするために、駆動スイッチ部ＤＳＷｍも図示している。
【００５５】
可変抵抗部ＶＲｍｕは、拡散抵抗等の複数の抵抗素子ＲＵ（ＲＵ１、ＲＵ２、・・・）と、複数の抵抗素子ＲＵのそれぞれに直列に接続される複数のＰ型のＭＯＳトランジスタＭＰ（ＭＰ１、ＭＰ２、・・・）とを有する。抵抗素子ＲＵの符号の末尾の数字は、トランジスタＭＰの符号の末尾の数字に対応する。複数の抵抗素子ＲＵは、例えば、互いに同じ抵抗値である。
【００５６】
複数の抵抗素子ＲＵのそれぞれの一端は、駆動スイッチ部ＤＳＷｍの端子ＰＵに接続され、複数の抵抗素子ＲＵのそれぞれの他端は、複数のトランジスタＭＰのうちの対応するトランジスタＭＰのドレインにそれぞれ接続される。複数のトランジスタＭＰのそれぞれのソースは、電源線ＶＤＤに接続され、複数のトランジスタＭＰのそれぞれのゲートは、調整部ＡＤＪ１ｂから出力される制御信号ＥＵｍ（ＥＵｍ１、ＥＵｍ２、・・・）のうち、対応する制御信号ＥＵｍを受ける。なお、制御信号ＥＵｍの符号の末尾の数字は、トランジスタＭＰの符号の末尾の数字に対応する。
【００５７】
このように、可変抵抗部ＶＲｍｕでは、直列に接続されたトランジスタＭＰおよび抵抗素子ＲＵが、電源線ＶＤＤと駆動スイッチ部ＤＳＷｍの端子ＰＵとの間に並列に接続される。オン状態のトランジスタＭＰを介して電源線ＶＤＤと駆動スイッチ部ＤＳＷｍの端子ＰＵとの間に並列に接続される抵抗素子ＲＵの数を変更することにより、可変抵抗部ＶＲｍｕの抵抗値が調整される。オン状態のトランジスタＭＰを介して電源線ＶＤＤと駆動スイッチ部ＤＳＷｍの端子ＰＵとの間に並列に接続される抵抗素子ＲＵの数は、制御信号ＥＵｍにより設定される。例えば、低レベルの制御信号ＥＵｍを受けたトランジスタＭＰに接続された抵抗素子ＲＵが、電源線ＶＤＤに接続される。
【００５８】
なお、トランジスタＭＰのゲート−ソース間の電圧は、トランジスタＭＰのソースが電源線ＶＤＤに接続されるため、出力信号ＤＯの電圧レベルが変化しても、一定またはほぼ一定のレベルに維持される。このため、トランジスタＭＰのオン抵抗の値は、出力信号ＤＯの電圧レベルが変化しても、一定またはほぼ一定の抵抗値に維持される。
【００５９】
可変抵抗部ＶＲｍｄは、拡散抵抗等の複数の抵抗素子ＲＤ（ＲＤ１、ＲＤ２、・・・）と、複数の抵抗素子ＲＤのそれぞれに直列に接続される複数のＮ型のＭＯＳトランジスタＭＮ（ＭＮ１、ＭＮ２、・・・）とを有する。抵抗素子ＲＤの符号の末尾の数字は、トランジスタＭＮの符号の末尾の数字に対応する。複数の抵抗素子ＲＤは、例えば、互いに同じ抵抗値である。
【００６０】
複数の抵抗素子ＲＤのそれぞれの一端は、駆動スイッチ部ＤＳＷｍの端子ＰＤに接続され、複数の抵抗素子ＲＤのそれぞれの他端は、複数のトランジスタＭＮのうちの対応するトランジスタＭＮのドレインにそれぞれ接続される。複数のトランジスタＭＮのそれぞれのソースは、接地線ＧＮＤに接続され、複数のトランジスタＭＮのそれぞれのゲートは、調整部ＡＤＪ１ｂから出力される制御信号ＥＤｍ（ＥＤｍ１、ＥＤｍ２、・・・）のうち、対応する制御信号ＥＤｍを受ける。なお、制御信号ＥＤｍの符号の末尾の数字は、トランジスタＭＮの符号の末尾の数字に対応する。
【００６１】
このように、可変抵抗部ＶＲｍｄでは、直列に接続されたトランジスタＭＮおよび抵抗素子ＲＤが、接地線ＧＮＤと駆動スイッチ部ＤＳＷｍの端子ＰＤとの間に並列に接続される。オン状態のトランジスタＭＮを介して接地線ＧＮＤと駆動スイッチ部ＤＳＷｍの端子ＰＤとの間に並列に接続される抵抗素子ＲＤの数を変更することにより、可変抵抗部ＶＲｍｄの抵抗値が調整される。オン状態のトランジスタＭＮを介して接地線ＧＮＤと駆動スイッチ部ＤＳＷｍの端子ＰＤとの間に並列に接続される抵抗素子ＲＤの数は、制御信号ＥＤｍにより設定される。例えば、高レベルの制御信号ＥＤｍを受けたトランジスタＭＮに接続された抵抗素子ＲＤが、接地線ＧＮＤに接続される。
【００６２】
なお、トランジスタＭＮのゲート−ソース間の電圧は、トランジスタＭＮのソースが接地線ＧＮＤに接続されるため、出力信号ＤＯの電圧レベルが変化しても、一定またはほぼ一定のレベルに維持される。このため、トランジスタＭＮのオン抵抗の値は、出力信号ＤＯの電圧レベルが変化しても、一定またはほぼ一定の抵抗値に維持される。
【００６３】
ここで、図２に示した可変抵抗部ＶＲｌｕの構成は、可変抵抗部ＶＲｍｄと同一または同様である。可変抵抗部ＶＲｌｕが有する抵抗素子ＲＵの数は、可変抵抗部ＶＲｍｕが有する抵抗素子ＲＵの数と同じ数でもよいし異なる数でもよい。例えば、可変抵抗部ＶＲｍｕが有する抵抗素子ＲＵの数は、可変抵抗部ＶＲｌｕが有する抵抗素子ＲＤの数より多くてもよい。
【００６４】
また、図２に示した可変抵抗部ＶＲｌｄの構成は、可変抵抗部ＶＲｍｄと同一または同様である。可変抵抗部ＶＲｌｄが有する抵抗素子ＲＤの数は、可変抵抗部ＶＲｍｄが有する抵抗素子ＲＤの数と同じ数でもよいし異なる数でもよい。例えば、可変抵抗部ＶＲｍｄが有する抵抗素子ＲＤの数は、可変抵抗部ＶＲｌｄが有する抵抗素子ＲＤの数より多くてもよい。
【００６５】
なお、可変抵抗部ＶＲｍｕ、ＶＲｍｄの構成は、図３に示す例に限定されない。例えば、複数の抵抗素子ＲＵは、互いに異なる抵抗値でよい。また、複数の抵抗素子ＲＤは、互いに異なる抵抗値でよい。例えば、ｉ番目の抵抗素子ＲＵｉの抵抗値は、所定の抵抗値のｉ倍を抵抗素子ＲＵ０の抵抗値に加算した値でもよい。また、ｉ番目の抵抗素子ＲＤｉの抵抗値は、所定の抵抗値のｉ倍を抵抗素子ＲＤ０の抵抗値に加算した値でもよい。
【００６６】
図４は、図２に示したレプリカ部ＲＥＰの一例を示す。レプリカ部ＲＥＰは、駆動部ＤＲＶｍに対する抵抗値調整処理に使用されるレプリカ駆動部ＲＤＲＶｍと、駆動部ＤＲＶｌに対する抵抗値調整処理に使用されるレプリカ駆動部ＲＤＲＶｌとを有する。レプリカ駆動部ＲＤＲＶｍの構成は、駆動部ＤＲＶｍの構成と同一または同様であり、レプリカ駆動部ＲＤＲＶｌの構成は、駆動部ＤＲＶｌの構成と同一または同様である。すなわち、レプリカ駆動部ＲＤＲＶｍは、駆動部ＤＲＶｍのレプリカであり、レプリカ駆動部ＲＤＲＶｌは、駆動部ＤＲＶｌのレプリカである。
【００６７】
なお、駆動部ＤＲＶｍの出力は駆動部ＤＲＶｌの出力に接続されるが、レプリカ駆動部ＲＤＲＶｍの出力は、レプリカ駆動部ＲＤＲＶｌの出力に接続されない。例えば、レプリカ駆動部ＲＤＲＶｍ、ＲＤＲＶｌのそれぞれの出力は、図示しない測定用のそれぞれの終端抵抗に接続される。これにより、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍ、ＲＤＲＶｌのそれぞれの出力抵抗を、レプリカ駆動部ＲＤＲＶｍの出力がレプリカ駆動部ＲＤＲＶｌの出力に接続される場合に比べて、容易に測定できる。例えば、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｌの状態に拘わらず、レプリカ駆動部ＲＤＲＶｍの出力信号ＲＤＯｍを用いてレプリカ駆動部ＲＤＲＶｍの出力抵抗を測定できる。また、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍの状態に拘わらず、レプリカ駆動部ＲＤＲＶｌの出力信号ＲＤＯｌを用いてレプリカ駆動部ＲＤＲＶｌの出力抵抗を測定できる。
【００６８】
レプリカ駆動部ＲＤＲＶｍは、電源線ＶＤＤに接続される可変抵抗部ＲＶＲｍｕと、接地線ＧＮＤに接続される可変抵抗部ＲＶＲｍｄと、複数の駆動スイッチ部ＲＤＳＷｍ（ＲＤＳＷｍ１、ＲＤＳＷｍ２、・・・）とを有する。
【００６９】
可変抵抗部ＲＶＲｍｕは、可変抵抗部ＶＲｍｕと同一または同様である。例えば、可変抵抗部ＲＶＲｍｕは、電源線ＶＤＤと駆動スイッチ部ＲＤＳＷｍの端子ＰＵとの間に接続され、調整部ＡＤＪ１ｂから制御信号ＲＥＵｍを受ける。可変抵抗部ＲＶＲｍｕの抵抗値は、例えば、制御信号ＲＥＵｍの値に応じて変化する。すなわち、可変抵抗部ＲＶＲｍｕは、電源線ＶＤＤに接続され、抵抗調整部ＲＡＤＪｂからの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部の一例である。
【００７０】
例えば、可変抵抗部ＲＶＲｍｕは、拡散抵抗等の複数の抵抗素子ＲＵと、複数の抵抗素子ＲＵのそれぞれに直列に接続される複数のＰ型のＭＯＳトランジスタＭＰとを有する。抵抗素子ＲＵの符号の末尾の数字は、トランジスタＭＰの符号の末尾の数字に対応する。複数の抵抗素子ＲＵの数は、例えば、可変抵抗部ＶＲｍｕの複数の抵抗素子ＲＵと同じ数である。
【００７１】
可変抵抗部ＲＶＲｍｕの複数の抵抗素子ＲＵは、可変抵抗部ＶＲｍｕの複数の抵抗素子ＲＵのうち、符号の末尾の数字が同じ抵抗素子ＲＵに対応する。例えば、複数の抵抗素子ＲＵは、可変抵抗部ＶＲｍｕの複数の抵抗素子ＲＵのうちの対応する抵抗素子ＲＵと同じ抵抗値である。
【００７２】
複数の抵抗素子ＲＵのそれぞれの一端は、駆動スイッチ部ＲＤＳＷｍの端子ＰＵに接続され、複数の抵抗素子ＲＵのそれぞれの他端は、複数のトランジスタＭＰのうちの対応するトランジスタＭＰのドレインにそれぞれ接続される。複数のトランジスタＭＰのそれぞれのソースは、電源線ＶＤＤに接続され、複数のトランジスタＭＰのそれぞれのゲートは、調整部ＡＤＪ１ｂから出力される制御信号ＲＥＵｍ（ＲＥＵｍ１、ＲＥＵｍ２、・・・）のうち、対応する制御信号ＲＥＵｍを受ける。なお、制御信号ＲＥＵｍの符号の末尾の数字は、トランジスタＭＰの符号の末尾の数字に対応する。
【００７３】
可変抵抗部ＲＶＲｍｄは、可変抵抗部ＶＲｍｄと同一または同様である。例えば、可変抵抗部ＲＶＲｍｄは、接地線ＧＮＤと駆動スイッチ部ＲＤＳＷｍの端子ＰＤとの間に接続され、調整部ＡＤＪ１ｂから制御信号ＲＥＤｍを受ける。可変抵抗部ＲＶＲｍｄの抵抗値は、例えば、制御信号ＲＥＤｍの値に応じて変化する。すなわち、可変抵抗部ＲＶＲｍｄは、接地線ＧＮＤに接続され、抵抗調整部ＲＡＤＪｂからの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部の一例である。
【００７４】
例えば、可変抵抗部ＲＶＲｍｄは、拡散抵抗等の複数の抵抗素子ＲＤと、複数の抵抗素子ＲＤのそれぞれに直列に接続される複数のＮ型のＭＯＳトランジスタＭＮとを有する。抵抗素子ＲＤの符号の末尾の数字は、トランジスタＭＰの符号の末尾の数字に対応する。複数の抵抗素子ＲＤの数は、例えば、可変抵抗部ＶＲｍｄの複数の抵抗素子ＲＤと同じ数である。
【００７５】
可変抵抗部ＲＶＲｍｄの複数の抵抗素子ＲＤは、可変抵抗部ＶＲｍｄの複数の抵抗素子ＲＤのうち、符号の末尾の数字が同じ抵抗素子ＲＤに対応する。例えば、複数の抵抗素子ＲＤは、可変抵抗部ＶＲｍｄの複数の抵抗素子ＲＤのうちの対応する抵抗素子ＲＤと同じ抵抗値である。
【００７６】
複数の抵抗素子ＲＤのそれぞれの一端は、駆動スイッチ部ＲＤＳＷｍの端子ＰＤに接続され、複数の抵抗素子ＲＤのそれぞれの他端は、複数のトランジスタＭＮのうちの対応するトランジスタＭＮのドレインにそれぞれ接続される。複数のトランジスタＭＮのそれぞれのソースは、接地線ＧＮＤに接続され、複数のトランジスタＭＮのそれぞれのゲートは、調整部ＡＤＪ１ｂから出力される制御信号ＲＥＤｍ（ＲＥＤｍ１、ＲＥＤｍ２、・・・）のうち、対応する制御信号ＲＥＤｍを受ける。なお、制御信号ＲＥＤｍの符号の末尾の数字は、トランジスタＭＰの符号の末尾の数字に対応する。
【００７７】
駆動スイッチ部ＲＤＳＷｍは、駆動スイッチ部ＤＳＷｍと同一または同様である。例えば、各駆動スイッチ部ＲＤＳＷｍは、駆動スイッチ部ＤＳＷｍと同様に、インバータＩＮＶと、否定論理和回路ＮＯＲと、否定論理積回路ＮＡＮＤと、Ｐ型のＭＯＳトランジスタＭＰｄｒと、Ｎ型のＭＯＳトランジスタＭＮｄｒとを有する。なお、駆動スイッチ部ＲＤＳＷｍの数は、例えば、駆動スイッチ部ＤＳＷｍと同じ数である。
【００７８】
複数の駆動スイッチ部ＲＤＳＷｍは、第１レプリカ可変抵抗部と第２レプリカ可変抵抗部との間に並列に接続される複数のレプリカ駆動スイッチ部の一例である。例えば、複数の駆動スイッチ部ＲＤＳＷｍは、可変抵抗部ＲＶＲｍｕと可変抵抗部ＲＶＲｍｄとの間に並列に接続される。すなわち、複数の駆動スイッチ部ＲＤＳＷｍのそれぞれの端子ＰＵは、可変抵抗部ＲＶＲｍｕに接続され、複数の駆動スイッチ部ＲＤＳＷｍのそれぞれの端子ＰＤは、可変抵抗部ＲＶＲｍｄに接続される。また、複数の駆動スイッチ部ＲＤＳＷｍのそれぞれの端子ＯＴは、レプリカ駆動部ＲＤＲＶｍの出力に接続される。すなわち、複数の駆動スイッチ部ＲＤＳＷｍのそれぞれの端子ＯＴは、互いに接続される。そして、複数の駆動スイッチ部ＲＤＳＷｍのそれぞれの端子ＩＮは、抵抗調整部ＲＡＤＪｂから出力される制御信号ＲＤＩｍを受ける。制御信号ＲＤＩｍは、レプリカ駆動部ＲＤＲＶｍの入力データに対応する。
【００７９】
また、複数の駆動スイッチ部ＲＤＳＷｍのそれぞれの端子ＥＮは、抵抗調整部ＲＡＤＪｂから出力される制御信号ＲＥＮｍ（ＲＥＮｍ１、ＲＥＮｍ２、・・・）のうち、対応する制御信号ＲＥＮｍを受ける。なお、制御信号ＲＥＮｍの符号の末尾の数字は、駆動スイッチ部ＲＤＳＷｍの符号の末尾の数字に対応する。
【００８０】
例えば、各駆動スイッチ部ＲＤＳＷｍは、高レベルの制御信号ＲＥＮｍを端子ＥＮで受けた場合、有効な状態に設定される。有効な状態に設定された駆動スイッチ部ＲＤＳＷｍは、端子ＰＵと端子ＯＴとの間が導通する状態と端子ＰＤと端子ＯＴとの間が導通する状態とのいずれかに、端子ＩＮで受ける制御信号ＲＤＩｍに応じて設定される。なお、駆動スイッチ部ＲＤＳＷｍは、有効な状態に設定されない場合、端子ＩＮで受ける制御信号ＲＤＩｍに拘わらず、端子ＯＴが端子ＰＵ、ＰＤのいずれとも導通しない状態に設定される。
【００８１】
すなわち、駆動スイッチ部ＲＤＳＷｍは、有効な状態に設定されている場合、制御信号ＲＤＩｍに応じて、可変抵抗部ＲＶＲｍｕ、ＲＶＲｍｄのいずれか一方とレプリカ駆動部ＲＤＲＶｍの出力との間が導通する状態に設定される。
【００８２】
レプリカ駆動部ＲＤＲＶｌは、調整後の出力抵抗の大きさを除いて、レプリカ駆動部ＲＤＲＶｍと同一または同様である。したがって、レプリカ駆動部ＲＤＲＶｌは、上述のレプリカ駆動部ＲＤＲＶｍの説明において、符号の小文字の“ｍ”を小文字の“ｌ”に読み替えることにより説明される。
【００８３】
例えば、レプリカ駆動部ＲＤＲＶｌは、電源線ＶＤＤに接続される可変抵抗部ＲＶＲｌｕと、接地線ＧＮＤに接続される可変抵抗部ＲＶＲｌｄと、複数の駆動スイッチ部ＲＤＳＷｌ（ＲＤＳＷｌ１、ＲＤＳＷｌ２、・・・）とを有する。なお、可変抵抗部ＲＶＲｌｕは、電源線ＶＤＤに接続され、抵抗調整部ＲＡＤＪｂからの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部の一例である。また、可変抵抗部ＲＶＲｌｄは、接地線ＧＮＤに接続され、抵抗調整部ＲＡＤＪｂからの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部の一例である。そして、複数の駆動スイッチ部ＲＤＳＷｌは、第１レプリカ可変抵抗部と第２レプリカ可変抵抗部との間に並列に接続される複数のレプリカ駆動スイッチ部の一例である。なお、レプリカ部ＲＥＰの構成は、図４に示す例に限定されない。
【００８４】
図５は、ＰＡＭ４により生成される出力信号ＤＯの一例を示す。レベル０は、入力データＤＩ１、ＤＩ０が“００”である場合の出力信号ＤＯの電圧レベルであり、レベル１は、入力データＤＩ１、ＤＩ０が“０１”である場合の出力信号ＤＯの電圧レベルである。また、レベル２は、入力データＤＩ１、ＤＩ０が“１０”である場合の出力信号ＤＯの電圧レベルであり、レベル３は、入力データＤＩ１、ＤＩ０が“１１”である場合の出力信号ＤＯの電圧レベルである。
【００８５】
理想的な波形は、駆動部ＤＲＶｌの出力抵抗の値が入力データＤＩ１、ＤＩ０の値に拘わらず駆動部ＤＲＶｍの出力抵抗の値の２倍で安定している場合のＰＡＭ４の信号波形を示す。理想的な波形では、出力信号ＤＯの各電圧レベル（レベル０、レベル１、レベル２、レベル３）の差は互いに等しくなる。例えば、レベル３からレベル２を引いた第１レベル差ＬＤ１は、レベル２からレベル１を引いた第２レベル差ＬＤ２と等しい。すなわち、理想的な波形では、第１レベル差ＬＤ１から第２レベル差ＬＤ２を引いたレベル差評価値ＬＤＥＶは、“０”になる。
【００８６】
比較例は、駆動部ＤＲＶｌの出力抵抗の値が駆動部ＤＲＶｍの出力抵抗の値の２倍より小さい場合のＰＡＭ４の信号波形を示す。比較例では、出力信号ＤＯの各電圧レベル（レベル０、レベル１、レベル２、レベル３）の差がばらつく。例えば、第１レベル差ＬＤ１は、第２レベル差ＬＤ２より大きい。すなわち、駆動部ＤＲＶｌの出力抵抗の値が駆動部ＤＲＶｍの出力抵抗の値の２倍より小さい場合、レベル差評価値ＬＤＥＶは、正の値になる。なお、駆動部ＤＲＶｌの出力抵抗の値が駆動部ＤＲＶｍの出力抵抗の値の２倍より大きい場合、第１レベル差ＬＤ１が第２レベル差ＬＤ２より小さくなり、レベル差評価値ＬＤＥＶは、負の値になる。
【００８７】
抵抗調整部ＲＡＤＪｂは、駆動部ＤＲＶｌの出力抵抗の値が入力データＤＩ１、ＤＩ０の値に拘わらず駆動部ＤＲＶｍの出力抵抗の値の約２倍で安定するように、可変抵抗部ＶＲの抵抗値と、有効な状態に設定する駆動スイッチ部ＤＳＷの数とを協調的に調整する。すなわち、抵抗調整部ＲＡＤＪｂは、出力信号ＤＯの信号波形が図５に示す理想的な波形に近づくように、可変抵抗部ＶＲの抵抗値と、有効な状態に設定する駆動スイッチ部ＤＳＷの数とを協調的に調整する。
【００８８】
図６は、図２に示したドライバ回路ＤＲＣｂの動作の一例を示す。なお、図６に示す動作は、ドライバ回路の制御方法の一態様である。図６に示す動作は、例えば、ドライバ回路ＤＲＣｂが受信装置に伝送路を介して接続された状態で抵抗調整部ＲＡＤＪｂにより実行される。この場合、伝送路は、受信装置で終端される。したがって、抵抗調整部ＲＡＤＪｂは、例えば、出力端子ＤＯに接続する測定用の終端抵抗を有する場合、測定用の終端抵抗を出力端子ＤＯから切り離す。なお、出力端子ＤＯに接続する測定用の終端抵抗を含まない抵抗調整部ＲＡＤＪｂでは、測定用の終端抵抗を出力端子ＤＯから切り離す処理等は、特に発生しない。
【００８９】
ステップＳ１００では、抵抗調整部ＲＡＤＪｂは、有効な状態に設定する駆動スイッチ部ＤＳＷｍ、ＤＳＷｌの数等の初期値を設定する。例えば、抵抗調整部ＲＡＤＪｂは、予め決められた初期値コードをメモリ等から読み出す。初期値コードは、制御信号ＥＮｍ（ＥＮｍ１、ＥＮｍ２、・・・）のうちの最初に高レベルに設定する制御信号ＥＮｍを示す情報、制御信号ＥＮｌ（ＥＮｌ１、ＥＮｌ２、・・・）のうちの最初に高レベルに設定する制御信号ＥＮｌを示す情報を含む。さらに、初期値コードは、駆動部ＤＲＶｍの出力抵抗の目標値および駆動部ＤＲＶｌの出力抵抗の目標値をそれぞれ示す情報を含む。例えば、伝送路の特性インピーダンスが５０Ωの場合、駆動部ＤＲＶｍの出力抵抗の目標値は、７５Ωであり、駆動部ＤＲＶｌの出力抵抗の目標値は、１５０Ωである。
【００９０】
抵抗調整部ＲＡＤＪｂは、初期値コードで示された制御信号ＥＮｍ、ＥＮｌを高レベルに設定し、その他の制御信号ＥＮｍ、ＥＮｌを低レベルに設定する。これにより、初期値で決められた数の駆動スイッチ部ＤＳＷｍ、ＤＳＷｌが有効な状態に設定される。
【００９１】
次に、ステップＳ２００では、抵抗調整部ＲＡＤＪｂの調整部ＡＤＪ１ｂは、可変抵抗部ＶＲの抵抗値を調整する抵抗値調整処理を駆動部ＤＲＶ毎に実行する。抵抗値調整処理の詳細は、図７で説明する。抵抗値調整処理により、駆動部ＤＲＶｍ、ＤＲＶｌのそれぞれの出力抵抗は、それぞれの出力抵抗の目標値または目標値に近い抵抗値に設定される。抵抗値調整処理が実行された後、抵抗調整部ＲＡＤＪｂの動作は、ステップＳ３００に移る。
【００９２】
ステップＳ３００では、抵抗調整部ＲＡＤＪｂの調整部ＡＤＪ２は、ドライバ回路ＤＲＣｂの出力信号ＤＯの電圧レベルの差が均等か否かを判定する。例えば、調整部ＡＤＪ２は、入力データＤＩ１、ＤＩ０が“００”、“０１”、“１０”、“１１”である場合のそれぞれの出力信号ＤＯの電圧レベル（レベル０、レベル１、レベル２、レベル３）を測定する。そして、調整部ＡＤＪ２は、レベル３からレベル２を減算して第１レベル差ＬＤ１を算出し、レベル２からレベル１を減算して第２レベル差ＬＤ２を算出する。さらに、調整部ＡＤＪ２は、第１レベル差ＬＤ１と第２レベル差ＬＤ２との差分（レベル差評価値ＬＤＥＶ）の絶対値が所定値以下であるか否かを判定する。
【００９３】
そして、調整部ＡＤＪ２は、第１レベル差ＬＤ１と第２レベル差ＬＤ２との差分の絶対値が所定値以下である場合、出力信号ＤＯの電圧レベルの差が均等であると判定する。すなわち、調整部ＡＤＪ２は、第１レベル差ＬＤ１と第２レベル差ＬＤ２との差分の絶対値が所定値より大きい場合、出力信号ＤＯの電圧レベルの差が均等でないと判定する。出力信号ＤＯの電圧レベルの差が均等である場合、抵抗調整部ＲＡＤＪｂの動作は、終了する。一方、出力信号ＤＯの電圧レベルの差が均等でない場合、抵抗調整部ＲＡＤＪｂの動作は、ステップＳ３１０に移る。
【００９４】
ステップＳ３１０では、調整部ＡＤＪ２は、スイッチ数調整処理を実行する。スイッチ数調整処理により、有効な状態に設定される駆動スイッチ部ＤＳＷｍ、ＤＳＷｌのいずれか一方の数が増減される。この結果、オン抵抗として使用されるトランジスタＭＰｄｒ、ＭＮｄｒの数が増減し、駆動部ＤＲＶｍの出力抵抗の値と駆動部ＤＲＶｌの出力抵抗の値との比が調整される。スイッチ数調整処理の詳細は、図８で説明する。スイッチ数調整処理が実行された後、抵抗調整部ＲＡＤＪｂの動作は、ステップＳ２００に戻る。すなわち、ステップＳ２００の抵抗値調整処理およびステップＳ３１０のスイッチ数調整処理は、出力信号ＤＯの電圧レベルの差が均等になるまで繰り返される。このように、抵抗値調整処理およびスイッチ数調整処理は、出力信号ＤＯの電圧レベルの差のばらつきが所定値以下になるまで繰り返される。
【００９５】
なお、ドライバ回路ＤＲＣｂの動作は、図６に示す例に限定されない。例えば、抵抗調整部ＲＡＤＪｂは、入力データＤＩ１、ＤＩ０が“００”、“０１”、“１０”、“１１”である場合のそれぞれの出力信号ＤＯの電圧レベル（レベル０、レベル１、レベル２、レベル３）の測定結果を、受信装置から取得してもよい。あるいは、抵抗調整部ＲＡＤＪｂは、ドライバ回路ＤＲＣｂが受信装置に伝送路を介して接続されていない状態で、図６に示す動作を実行してもよい。この場合、抵抗調整部ＲＡＤＪｂは、例えば、ステップＳ１００において、測定用の終端抵抗を出力端子ＤＯに接続し、図６に示す動作を終了する際に測定用の終端抵抗を出力端子ＤＯから切り離す。
【００９６】
図７は、図６に示した抵抗値調整処理の一例を示す。なお、ステップＳ２１０からステップＳ２１９までの処理は、駆動部ＤＲＶｍに対する抵抗値調整処理の一例であり、ステップＳ２２０からステップＳ２２９までの処理は、駆動部ＤＲＶｌに対する抵抗値調整処理の一例である。図７に示す符号“Ｌ”は低レベルを示し、符号“Ｈ”は高レベルを示す。ステップＳ２１０は、図６に示したステップＳ１００、Ｓ３１０のいずれかの処理が実行された後に実行される。
【００９７】
ステップＳ２１０では、調整部ＡＤＪ１ｂは、駆動スイッチ部ＤＳＷｍの使用数に合わせて駆動スイッチ部ＲＤＳＷｍの使用数を設定する。駆動スイッチ部ＤＳＷｍの使用数は、有効な状態に設定される駆動スイッチ部ＤＳＷｍの数であり、駆動スイッチ部ＲＤＳＷｍの使用数は、有効な状態に設定される駆動スイッチ部ＲＤＳＷｍの数である。
【００９８】
例えば、調整部ＡＤＪ１ｂは、ステップＳ１００の処理が実行された後では、初期値で決められた数の駆動スイッチ部ＲＤＳＷｍを、制御信号ＲＥＮｍを用いて有効な状態に設定する。また、調整部ＡＤＪ１ｂは、ステップＳ３１０の処理が実行された後では、スイッチ数調整処理により有効な状態に設定された駆動スイッチ部ＤＳＷｍと同じ数の駆動スイッチ部ＲＤＳＷｍを、制御信号ＲＥＮｍを用いて有効な状態に設定する。
【００９９】
次に、ステップＳ２１１では、調整部ＡＤＪ１ｂは、制御信号ＲＤＩｍを低レベルに設定するとともに、可変抵抗部ＲＶＲｍｄ内の全てのトランジスタＭＮをオン状態に設定する。すなわち、調整部ＡＤＪ１ｂは、制御信号ＲＤＩｍを低レベルに設定して、有効な状態に設定された駆動スイッチ部ＲＤＳＷｍ内のトランジスタＭＮｄｒをオン状態に設定する。さらに、調整部ＡＤＪ１ｂは、全ての制御信号ＲＥＤｍを高レベルに設定して、可変抵抗部ＲＶＲｍｄ内の全てのトランジスタＭＮをオン状態に設定する。可変抵抗部ＲＶＲｍｄ内の全てのトランジスタＭＮがオン状態に設定されるため、可変抵抗部ＲＶＲｍｄの初期値は、調整可能な範囲で最小の抵抗値に設定される。ステップＳ２１１の処理により、レプリカ駆動部ＲＤＲＶｍは、接地線ＧＮＤに接続された出力抵抗ＲＭを測定可能な状態に設定される。
【０１００】
次に、ステップＳ２１２では、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭを測定する。例えば、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍの出力信号ＲＤＯｍの電圧レベルがレベル０またはレベル１のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭを測定する。これにより、有効な状態に設定された駆動スイッチ部ＲＤＳＷｍのトランジスタＭＮｄｒのオン抵抗の合成抵抗と可変抵抗部ＲＶＲｍｄとの和で表される出力抵抗ＲＭが測定される。
【０１０１】
次に、ステップＳ２１３では、調整部ＡＤＪ１ｂは、ステップＳ２１２で測定した出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値（例えば、７５Ω）より小さいか否かを判定する。出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｂの動作は、ステップＳ２１４に移る。一方、出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｍｄ内のオン状態のトランジスタＭＮの数を示す情報を保持して、動作をステップＳ２１５に移す。
【０１０２】
ステップＳ２１４では、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｍｄ内のオン状態のトランジスタＭＮの数を削減する。例えば、調整部ＡＤＪ１ｂは、高レベルの制御信号ＲＥＤｍの数を１つ減らして、可変抵抗部ＲＶＲｍｄ内のオン状態のトランジスタＭＮの数を１つ減らす。これにより、並列に接続される抵抗素子ＲＤの数が１つ減るため、可変抵抗部ＲＶＲｍｄの抵抗値は、増加する。
【０１０３】
ステップＳ２１４の処理が実行された後、調整部ＡＤＪ１ｂの動作は、ステップＳ２１２に戻る。すなわち、可変抵抗部ＲＶＲｍｄ内のオン状態のトランジスタＭＮの数は、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭは、駆動部ＤＲＶｍの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１０４】
ステップＳ２１５では、調整部ＡＤＪ１ｂは、制御信号ＲＤＩｍを高レベルに設定するとともに、可変抵抗部ＲＶＲｍｕ内の全てのトランジスタＭＰをオン状態に設定する。すなわち、調整部ＡＤＪ１ｂは、制御信号ＲＤＩｍを高レベルに設定して、有効な状態に設定された駆動スイッチ部ＲＤＳＷｍのトランジスタＭＰｄｒをオン状態に設定する。さらに、調整部ＡＤＪ１ｂは、全ての制御信号ＲＥＵｍを低レベルに設定して、可変抵抗部ＲＶＲｍｕ内の全てのトランジスタＭＰをオン状態に設定する。可変抵抗部ＲＶＲｍｕ内の全てのトランジスタＭＰがオン状態に設定されるため、可変抵抗部ＲＶＲｍｕの初期値は、調整可能な範囲で最小の抵抗値に設定される。ステップＳ２１５の処理により、レプリカ駆動部ＲＤＲＶｍは、電源線ＶＤＤに接続された出力抵抗ＲＭを測定可能な状態に設定される。
【０１０５】
次に、ステップＳ２１６では、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭを測定する。例えば、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍの出力信号ＲＤＯｍの電圧レベルがレベル２またはレベル３のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭを測定する。これにより、有効な状態に設定された駆動スイッチ部ＲＤＳＷｍのトランジスタＭＰｄｒのオン抵抗の合成抵抗と可変抵抗部ＲＶＲｍｕとの和で表される出力抵抗ＲＭが測定される。
【０１０６】
次に、ステップＳ２１７では、調整部ＡＤＪ１ｂは、ステップＳ２１６で測定した出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値（例えば、７５Ω）より小さいか否かを判定する。出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｂの動作は、ステップＳ２１８に移る。一方、出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｍｕ内のオン状態のトランジスタＭＰの数を示す情報を保持して、動作をステップＳ２１９に移す。
【０１０７】
ステップＳ２１８では、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｍｕ内のオン状態のトランジスタＭＰの数を削減する。例えば、調整部ＡＤＪ１ｂは、低レベルの制御信号ＲＥＵｍの数を１つ減らして、可変抵抗部ＲＶＲｍｕ内のオン状態のトランジスタＭＰの数を１つ減らす。これにより、並列に接続される抵抗素子ＲＵの数が１つ減るため、可変抵抗部ＲＶＲｍｕの抵抗値は、増加する。
【０１０８】
ステップＳ２１８の処理が実行された後、調整部ＡＤＪ１ｂの動作は、ステップＳ２１６に戻る。すなわち、可変抵抗部ＲＶＲｍｕ内のオン状態のトランジスタＭＰの数は、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶｍの出力抵抗ＲＭは、駆動部ＤＲＶｍの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１０９】
ステップＳ２１９では、調整部ＡＤＪ１ｂは、可変抵抗部ＶＲｍｕ、ＶＲｍｄの抵抗値を設定する。例えば、調整部ＡＤＪ１ｂは、可変抵抗部ＶＲｍｄ内のオン状態のトランジスタＭＮの数を、ステップＳ２１１からステップＳ２１４までの処理で設定される可変抵抗部ＲＶＲｍｄ内のオン状態のトランジスタＭＮの数（最終値）と同じ数に設定する。これにより、可変抵抗部ＶＲｍｄの抵抗値は、ステップＳ２１３の判定で出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上であると判定された際の可変抵抗部ＲＶＲｍｄの抵抗値と同じ値またはほぼ同じ値に設定される。
【０１１０】
また、例えば、調整部ＡＤＪ１ｂは、可変抵抗部ＶＲｍｕ内のオン状態のトランジスタＭＰの数を、ステップＳ２１５からステップＳ２１８までの処理で設定される可変抵抗部ＲＶＲｍｕ内のオン状態のトランジスタＭＰの数（最終値）と同じ数に設定する。これにより、可変抵抗部ＶＲｍｕの抵抗値は、ステップＳ２１７の判定で出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上であると判定された際の可変抵抗部ＲＶＲｍｕの抵抗値と同じ値またはほぼ同じ値に設定される。
【０１１１】
このように、ステップＳ２１９の処理により、駆動部ＤＲＶｍの出力抵抗は、駆動部ＤＲＶｍの出力抵抗の目標値または目標値に近い抵抗値に設定される。ステップＳ２１９の処理の終了により、駆動部ＤＲＶｍに対する抵抗値調整処理は終了する。そして、調整部ＡＤＪ１ｂは、動作をステップＳ２２０に移して、駆動部ＤＲＶｌに対する抵抗値調整処理を開始する。
【０１１２】
ステップＳ２２０からステップＳ２２９までの処理は、ステップＳ２１０からステップＳ２１９までの処理と同様であるため、詳細な説明を省略する。例えば、ステップＳ２２０からステップＳ２２９までの処理の詳細は、ステップＳ２１０からステップＳ２１９までの処理の説明において、符号の小文字の“ｍ”を小文字の“ｌ”に読み替えることにより説明される。
【０１１３】
ステップＳ２２０では、調整部ＡＤＪ１ｂは、駆動スイッチ部ＤＳＷｌの使用数に合わせて駆動スイッチ部ＲＤＳＷｌの使用数を設定する。駆動スイッチ部ＤＳＷｌの使用数は、有効な状態に設定される駆動スイッチ部ＤＳＷｌの数であり、駆動スイッチ部ＲＤＳＷｌの使用数は、有効な状態に設定される駆動スイッチ部ＲＤＳＷｌの数である。
【０１１４】
次に、ステップＳ２２１では、調整部ＡＤＪ１ｂは、制御信号ＲＤＩｌを低レベルに設定するとともに、可変抵抗部ＲＶＲｌｄ内の全てのトランジスタＭＮをオン状態に設定する。可変抵抗部ＲＶＲｌｄの全てのトランジスタＭＮがオン状態に設定されるため、可変抵抗部ＲＶＲｌｄの初期値は、調整可能な範囲で最小の抵抗値に設定される。ステップＳ２２１の処理により、レプリカ駆動部ＲＤＲＶｌは、接地線ＧＮＤに接続された出力抵抗ＲＬを測定可能な状態に設定される。
【０１１５】
次に、ステップＳ２２２では、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬを測定する。例えば、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｌの出力信号ＲＤＯｌの電圧レベルがレベル０またはレベル２のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬを測定する。これにより、有効な状態に設定された駆動スイッチ部ＲＤＳＷｌのトランジスタＭＮｄｒのオン抵抗の合成抵抗と可変抵抗部ＲＶＲｌｄとの和で表される出力抵抗ＲＬが測定される。
【０１１６】
次に、ステップＳ２２３では、調整部ＡＤＪ１ｂは、ステップＳ２２２で測定した出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値（例えば、１５０Ω）より小さいか否かを判定する。出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｂの動作は、ステップＳ２２４に移る。一方、出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｌｄ内のオン状態のトランジスタＭＮの数を示す情報を保持して、動作をステップＳ２２５に移す。
【０１１７】
ステップＳ２２４では、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｌｄ内のオン状態のトランジスタＭＮの数を削減する。ステップＳ２２４の処理が実行された後、調整部ＡＤＪ１ｂの動作は、ステップＳ２２２に戻る。すなわち、可変抵抗部ＲＶＲｌｄ内のオン状態のトランジスタＭＮの数は、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬは、駆動部ＤＲＶｌの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１１８】
ステップＳ２２５では、調整部ＡＤＪ１ｂは、制御信号ＲＤＩｌを高レベルに設定するとともに、可変抵抗部ＲＶＲｌｕ内の全てのトランジスタＭＰをオン状態に設定する。可変抵抗部ＲＶＲｌｕの全てのトランジスタＭＰがオン状態に設定されるため、可変抵抗部ＲＶＲｌｕの初期値は、調整可能な範囲で最小の抵抗値に設定される。ステップＳ２２５の処理により、レプリカ駆動部ＲＤＲＶｌは、電源線ＶＤＤに接続された出力抵抗ＲＬを測定可能な状態に設定される。
【０１１９】
次に、ステップＳ２２６では、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬを測定する。例えば、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｌの出力信号ＲＤＯｌの電圧レベルがレベル１またはレベル３のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬを測定する。これにより、有効な状態に設定された駆動スイッチ部ＲＤＳＷｌのトランジスタＭＰｄｒのオン抵抗の合成抵抗と可変抵抗部ＲＶＲｌｕとの和で表される出力抵抗ＲＬが測定される。
【０１２０】
次に、ステップＳ２２７では、調整部ＡＤＪ１ｂは、ステップＳ２２６で測定した出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値（例えば、１５０Ω）より小さいか否かを判定する。出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｂの動作は、ステップＳ２２８に移る。一方、出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｌｕ内のオン状態のトランジスタＭＰの数を示す情報を保持して、動作をステップＳ２２９に移す。
【０１２１】
ステップＳ２２８では、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｌｕ内のオン状態のトランジスタＭＰの数を削減する。ステップＳ２２８の処理が実行された後、調整部ＡＤＪ１ｂの動作は、ステップＳ２２６に戻る。すなわち、可変抵抗部ＲＶＲｌｕ内のオン状態のトランジスタＭＰの数は、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶｌの出力抵抗ＲＬは、駆動部ＤＲＶｌの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１２２】
ステップＳ２２９では、調整部ＡＤＪ１ｂは、可変抵抗部ＶＲｌｕ、ＶＲｌｄの抵抗値を設定する。例えば、調整部ＡＤＪ１ｂは、可変抵抗部ＶＲｌｄ内のオン状態のトランジスタＭＮの数を、ステップＳ２２１からステップＳ２２４までの処理で設定される可変抵抗部ＲＶＲｌｄ内のオン状態のトランジスタＭＮの数（最終値）と同じ数に設定する。また、例えば、調整部ＡＤＪ１ｂは、可変抵抗部ＶＲｌｕ内のオン状態のトランジスタＭＰの数を、ステップＳ２２５からステップＳ２２８までの処理で設定される可変抵抗部ＲＶＲｌｕ内のオン状態のトランジスタＭＰの数（最終値）と同じ数に設定する。
【０１２３】
ステップＳ２２９の処理により、駆動部ＤＲＶｌの出力抵抗は、駆動部ＤＲＶｌの出力抵抗の目標値または目標値に近い抵抗値に設定される。ステップＳ２２９の処理の終了により、駆動部ＤＲＶｌに対する抵抗値調整処理は終了する。駆動部ＤＲＶｌに対する抵抗値調整処理が終了した後、抵抗調整部ＲＡＤＪｂの動作は、図６に示したステップＳ３００に移る。このように、抵抗調整部ＲＡＤＪｂは、可変抵抗部ＶＲｍｕ、ＶＲｌｕの抵抗値と可変抵抗部ＶＲｍｄ、ＶＲｌｄの抵抗値とを個別に調整する。
【０１２４】
なお、抵抗値調整処理は、図７に示す例に限定されない。例えば、調整部ＡＤＪ１ｂは、ステップＳ２１５の処理を実行する前に可変抵抗部ＶＲｍｄの抵抗値を設定し、ステップＳ２２５の処理を実行する前に可変抵抗部ＶＲｌｄの抵抗値を設定してもよい。
【０１２５】
図８は、図６に示したスイッチ数調整処理の一例を示す。ステップＳ３１１の処理は、図６に示したステップＳ３００の判定において、出力信号ＤＯの電圧レベルの差が均等でないと判定された場合に実行される。
【０１２６】
ステップＳ３１１では、調整部ＡＤＪ２は、第１レベル差ＬＤ１が第２レベル差ＬＤ２より大きいか否かを判定する。なお、第１レベル差ＬＤ１は、図５で説明したように、入力データＤＩ１、ＤＩ０が“１１”の場合の出力信号ＤＯの電圧レベル（レベル３）と入力データＤＩ１、ＤＩ０が“１０”の場合の出力信号ＤＯの電圧レベル（レベル２）との差である。また、第２レベル差ＬＤ２は、入力データＤＩ１、ＤＩ０が“１０”の場合の出力信号ＤＯの電圧レベル（レベル２）と入力データＤＩ１、ＤＩ０が“０１”の場合の出力信号ＤＯの電圧レベル（レベル１）との差である。
【０１２７】
第１レベル差ＬＤ１が第２レベル差ＬＤ２より大きい場合、調整部ＡＤＪ２の動作は、ステップＳ３１２に移る。一方、第１レベル差ＬＤ１が第２レベル差ＬＤ２より小さい場合、調整部ＡＤＪ２の動作は、ステップＳ３１３に移る。
【０１２８】
ステップＳ３１２では、調整部ＡＤＪ２は、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数を増やす。増加数は、１つでもよいし、第１レベル差ＬＤ１と第２レベル差ＬＤ２との差に応じた数でもよい。例えば、調整部ＡＤＪ２は、高レベルの制御信号ＥＮｍの数を１つ増やす。これにより、駆動部ＤＲＶｍ内の並列に接続されたトランジスタＭＰｄｒのオン抵抗の合成抵抗および並列に接続されたトランジスタＭＮｄｒのオン抵抗の合成抵抗が小さくなり、駆動部ＤＲＶｍの出力抵抗が小さくなる。この結果、駆動部ＤＲＶｌの出力抵抗の値を駆動部ＤＲＶｍの出力抵抗の値で除算した値は、増加する。ステップＳ３１２の処理が実行された後、抵抗調整部ＲＡＤＪｂの動作は、図６に示したステップＳ２００に戻る。すなわち、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数が変更されたため、抵抗値調整処理が再度実行される。
【０１２９】
ステップＳ３１３では、調整部ＡＤＪ２は、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数を削減する。削減数は、１つでもよいし、第１レベル差ＬＤ１と第２レベル差ＬＤ２との差に応じた数でもよい。例えば、調整部ＡＤＪ２は、高レベルの制御信号ＥＮｍの数を１つ減らす。これにより、駆動部ＤＲＶｍ内の並列に接続されたトランジスタＭＰｄｒのオン抵抗の合成抵抗および並列に接続されたトランジスタＭＮｄｒのオン抵抗の合成抵抗が大きくなり、駆動部ＤＲＶｍの出力抵抗が大きくなる。この結果、駆動部ＤＲＶｌの出力抵抗の値を駆動部ＤＲＶｍの出力抵抗の値で除算した値は、減少する。ステップＳ３１３の処理が実行された後、抵抗調整部ＲＡＤＪｂの動作は、図６に示したステップＳ２００に戻る。すなわち、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数が変更されたため、抵抗値調整処理が再度実行される。
【０１３０】
なお、スイッチ数調整処理は、図８に示す例に限定されない。また、図８に示すスイッチ数調整処理が実行された後に実行される抵抗値調整処理では、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数が変更されないため、図７に示したステップＳ２２０からステップＳ２２９までの処理は、省かれてもよい。
【０１３１】
図９は、図６に示したスイッチ数調整処理の別の例を示す。ステップＳ３１１の処理は、図８に示したステップＳ３１１と同一の処理であり、図６に示したステップＳ３００の判定において、出力信号ＤＯの電圧レベルの差が均等でないと判定された場合に実行される。
【０１３２】
ステップＳ３１１では、調整部ＡＤＪ２は、第１レベル差ＬＤ１が第２レベル差ＬＤ２より大きいか否かを判定する。第１レベル差ＬＤ１が第２レベル差ＬＤ２より大きい場合、調整部ＡＤＪ２の動作は、ステップＳ３１４に移る。一方、第１レベル差ＬＤ１が第２レベル差ＬＤ２より小さい場合、調整部ＡＤＪ２の動作は、ステップＳ３１５に移る。
【０１３３】
ステップＳ３１４では、調整部ＡＤＪ２は、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数を削減する。削減数は、１つでもよいし、第１レベル差ＬＤ１と第２レベル差ＬＤ２との差に応じた数でもよい。例えば、調整部ＡＤＪ２は、高レベルの制御信号ＥＮｌの数を１つ減らす。これにより、駆動部ＤＲＶｌ内の並列に接続されたトランジスタＭＰｄｒのオン抵抗の合成抵抗および並列に接続されたトランジスタＭＮｄｒのオン抵抗の合成抵抗が大きくなり、駆動部ＤＲＶｌの出力抵抗が大きくなる。この結果、駆動部ＤＲＶｌの出力抵抗の値を駆動部ＤＲＶｍの出力抵抗の値で除算した値は、増加する。ステップＳ３１４の処理が実行された後、抵抗調整部ＲＡＤＪｂの動作は、図６に示したステップＳ２００に戻る。すなわち、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数が変更されたため、抵抗値調整処理が再度実行される。
【０１３４】
ステップＳ３１５では、調整部ＡＤＪ２は、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数を増やす。増加数は、１つでもよいし、第１レベル差ＬＤ１と第２レベル差ＬＤ２との差に応じた数でもよい。例えば、調整部ＡＤＪ２は、高レベルの制御信号ＥＮｌの数を１つ増やす。これにより、駆動部ＤＲＶｌ内の並列に接続されたトランジスタＭＰｄｒのオン抵抗の合成抵抗および並列に接続されたトランジスタＭＮｄｒのオン抵抗の合成抵抗が小さくなり、駆動部ＤＲＶｌの出力抵抗が小さくなる。この結果、駆動部ＤＲＶｌの出力抵抗の値を駆動部ＤＲＶｍの出力抵抗の値で除算した値は、減少する。ステップＳ３１５の処理が実行された後、抵抗調整部ＲＡＤＪｂの動作は、図６に示したステップＳ２００に戻る。すなわち、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数が変更されたため、抵抗値調整処理が再度実行される。
【０１３５】
なお、スイッチ数調整処理は、図９に示す例に限定されない。また、図９に示すスイッチ数調整処理が実行された後に実行される抵抗値調整処理では、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数が変更されないため、図７に示したステップＳ２１０からステップＳ２１９までの処理は、省かれてもよい。
【０１３６】
このように、抵抗調整部ＲＡＤＪｂは、可変抵抗部ＶＲの抵抗値と、有効な状態に設定する駆動スイッチ部ＤＳＷの数とを協調的に調整することにより、出力信号ＤＯの電圧レベルの差が均等になるように、各駆動部ＤＲＶの出力抵抗を調整できる。
【０１３７】
例えば、設計値が以下に示すような場合に、トランジスタＭＰｄｒ、ＭＮｄｒのオン抵抗が駆動部ＤＲＶｍと駆動部ＤＲＶｌとで逆方向に３０％振れた場合を考える。可変抵抗部ＶＲｌの設計値は、１３８Ωで、可変抵抗部ＶＲｍの設計値は、５９Ωである。また、
レベル０、レベル３の場合、有効な状態に設定する駆動スイッチ部ＤＳＷｌの合成抵抗の設計値は、１１Ωで、有効な状態に設定する駆動スイッチ部ＤＳＷｍの合成抵抗の設計値は、１５Ωである。そして、レベル１、レベル２の場合、有効な状態に設定する駆動スイッチ部ＤＳＷｌの合成抵抗の設計値は、３０Ωで、有効な状態に設定する駆動スイッチ部ＤＳＷｍの合成抵抗の設計値は、２２Ωである。この場合、出力信号ＤＯの４つの電圧レベル（レベル０、レベル１、レベル２、レベル３）は、それぞれ約０．２４８６＊ＶＤＤ、０．４１６５＊ＶＤＤ、０．５８３５＊ＶＤＤ、０．７５１４＊ＶＤＤである。そして、出力信号ＤＯの電圧レベルの均等性を表す指標（レベル差の最小値の３倍をレベル３とレベル０との差分で除算）は、約０．９９６である。
【０１３８】
トランジスタＭＰｄｒ、ＭＮｄｒのオン抵抗が駆動部ＤＲＶｍと駆動部ＤＲＶｌとで逆方向に３０％振れた場合、駆動スイッチ部ＤＳＷと可変抵抗部ＶＲのうち、可変抵抗部ＶＲのみが調整可能な比較例のドライバ回路では、以下のように調整される。
【０１３９】
可変抵抗部ＶＲｌの調整後の抵抗値は、約１４１．５Ωで、可変抵抗部ＶＲｍの調整後の抵抗値は、約５５．５Ωである。また、レベル０、レベル３の場合、駆動スイッチ部ＤＳＷｌのトランジスタのオン抵抗は、約８．４６（＝１１／１．３）Ωで、駆動スイッチ部ＤＳＷｍのトランジスタのオン抵抗は、約１９．５（＝１５＊１．３）Ωである。そして、レベル１、レベル２の場合、駆動スイッチ部ＤＳＷｌのトランジスタのオン抵抗は、約２３．１（＝３０／１．３）Ωで、駆動スイッチ部ＤＳＷｍのトランジスタのオン抵抗は、約２８．６（＝２２＊１．３）Ωである。この場合、出力信号ＤＯの４つの電圧レベル（レベル０、レベル１、レベル２、レベル３）は、それぞれ約０．２５＊ＶＤＤ、０．４２３４＊ＶＤＤ、０．５７６６＊ＶＤＤ、０．７５＊ＶＤＤである。そして、出力信号ＤＯの電圧レベルの均等性を表す指標は、約０．９１９に低下する。
【０１４０】
これに対し、ドライバ回路ＤＲＣｂでは、有効な状態に設定する駆動スイッチ部ＤＳＷの数と可変抵抗部ＶＲの抵抗値とを協調的に調整できるため、駆動スイッチ部ＤＳＷの合成抵抗の値と可変抵抗部ＶＲの抵抗値とを、設計値とほぼ同じ値に調整できる。すなわち、出力信号ＤＯの電圧レベルの均等性を表す指標は、約０．９９６に維持され、比較例のドライバ回路に比べて約８％改善される。
【０１４１】
以上、図２から図９に示す実施形態においても、図１に示した実施形態と同様の効果を得ることができる。例えば、調整部ＡＤＪ１ｂは、駆動部ＤＲＶｍに対する抵抗値調整処理として、レプリカ駆動部ＲＤＲＶｍの有効な状態の駆動スイッチ部ＲＤＳＷｍの数を駆動部ＤＲＶｍの有効な状態の駆動スイッチ部ＤＳＷｍの数と同じ数に設定する。そして、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍの出力抵抗が駆動部ＤＲＶｍの出力抵抗の目標値になるように、可変抵抗部ＲＶＲｍｕ、ＲＶＲｍｄのそれぞれの抵抗値を調整する。その後、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｍｕ、ＲＶＲｍｄの調整結果に基づいて、駆動部ＤＲＶｍの可変抵抗部ＶＲｍｕ、ＶＲｍｄのそれぞれの抵抗値を調整する。
【０１４２】
また、調整部ＡＤＪ１ｂは、駆動部ＤＲＶｌに対する抵抗値調整処理として、レプリカ駆動部ＲＤＲＶｌの有効な状態の駆動スイッチ部ＲＤＳＷｌの数を駆動部ＤＲＶｌの有効な状態の駆動スイッチ部ＤＳＷｌの数と同じ数に設定する。そして、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｌの出力抵抗が駆動部ＤＲＶｌの出力抵抗の目標値になるように、可変抵抗部ＲＶＲｌｕ、ＲＶＲｌｄのそれぞれの抵抗値を調整する。その後、調整部ＡＤＪ１ｂは、可変抵抗部ＲＶＲｌｕ、ＲＶＲｌｄの調整結果に基づいて、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｕ、ＶＲｌｄのそれぞれの抵抗値を調整する。
【０１４３】
また、調整部ＡＤＪ２は、抵抗値調整処理が実行された後、出力信号ＤＯの電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部ＤＳＷｍ、ＤＳＷｌの数を調整するスイッチ数調整処理を実行する。そして、抵抗調整部ＲＡＤＪｂは、出力信号ＤＯの電圧レベルの差のばらつきが所定値以下になるまで、抵抗値調整処理と、スイッチ数調整処理とを繰り返す。これにより、出力信号ＤＯの電圧レベルの差が均等になるように、各駆動部ＤＲＶの出力抵抗を目標の抵抗値に調整することができる。すなわち、多値伝送における出力信号ＤＯの電圧レベルの差が均等になるようにドライバ回路ＤＲＣｂの出力抵抗の値を調整することができる。
【０１４４】
さらに、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍ、ＲＤＲＶｌを使用して抵抗値調整処理を実行するため、レプリカ駆動部ＲＤＲＶｍ、ＲＤＲＶｌを使用しない場合に比べて、抵抗値調整処理を容易に実行できる。また、レプリカ駆動部ＲＤＲＶｍの出力は、レプリカ駆動部ＲＤＲＶｌの出力に接続されない。このため、調整部ＡＤＪ１ｂは、レプリカ駆動部ＲＤＲＶｍ、ＲＤＲＶｌのそれぞれの出力抵抗を、レプリカ駆動部ＲＤＲＶｍの出力がレプリカ駆動部ＲＤＲＶｌの出力に接続される場合に比べて、容易に測定できる。
【０１４５】
図１０は、ドライバ回路およびドライバ回路の制御方法の別の実施形態を示す。図１から図９で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図１０に示すドライバ回路ＤＲＣｃは、図２に示したレプリカ部ＲＥＰおよび抵抗調整部ＲＡＤＪｂの代わりに、レプリカ駆動部ＲＤＲＶおよび抵抗調整部ＲＡＤＪｃを有することを除いて、図２に示したドライバ回路ＤＲＣｂと同一または同様である。
【０１４６】
ドライバ回路ＤＲＣｃは、入力データＤＩの値に対応する電圧レベルを有する出力信号ＤＯを生成する複数の駆動部ＤＲＶ（ＤＲＶｍ、ＤＲＶｌ）と、複数の駆動部ＤＲＶの出力抵抗を調整する抵抗調整部ＲＡＤＪｃと、レプリカ駆動部ＲＤＲＶとを有する。駆動部ＤＲＶｍ、ＤＲＶｌは、図２に示した駆動部ＤＲＶｍ、ＤＲＶｌと同一または同様である。
【０１４７】
なお、図１０に示す駆動部ＤＲＶｍ、ＤＲＶｌでは、可変抵抗部ＶＲｍｕ、ＶＲｌｕの抵抗値を調整する際の刻みが駆動部ＤＲＶｍと駆動部ＤＲＶｌとで同じである。また、可変抵抗部ＶＲｍｄ、ＶＲｌｄの抵抗値を調整する際の刻みが駆動部ＤＲＶｍと駆動部ＤＲＶｌとで同じである。例えば、可変抵抗部ＶＲｍｕ、ＶＲｌｕがそれぞれ有する複数の抵抗素子ＲＵは、互いに同じ抵抗値であり、可変抵抗部ＶＲｍｄ、ＶＲｌｄがそれぞれ有する複数の抵抗素子ＲＤは、互いに同じ抵抗値である。この場合、例えば、可変抵抗部ＶＲｍｕが有する抵抗素子ＲＵの数は、可変抵抗部ＶＲｌｕが有する抵抗素子ＲＵの数の２倍であり、可変抵抗部ＶＲｍｄが有する抵抗素子ＲＤの数は、可変抵抗部ＶＲｌｄが有する抵抗素子ＲＤの数の２倍である。なお、可変抵抗部ＶＲｍｕ、ＶＲｍｄがそれぞれ有する抵抗素子ＲＵ、ＲＤの数は、可変抵抗部ＶＲｌｕ、ＶＲｌｄがそれぞれ有する抵抗素子ＲＵ、ＲＤの数の２倍に限定されない。
【０１４８】
抵抗調整部ＲＡＤＪｃは、図２に示した調整部ＡＤＪ１ｂの代わりに調整部ＡＤＪ１ｃを有することを除いて、図１に示した抵抗調整部ＲＡＤＪｂと同一または同様である。例えば、抵抗調整部ＲＡＤＪｃは、調整部ＡＤＪ１ｃ、ＡＤＪ２を有する。調整部ＡＤＪ１ｃは、図４に示したレプリカ駆動部ＲＤＲＶｍ、ＲＤＲＶｌの代わりにレプリカ駆動部ＲＤＲＶを使用して抵抗値調整処理を実行することを除いて、図２に示した調整部ＡＤＪ１ｂと同一または同様である。すなわち、調整部ＡＤＪ１ｃは、第１可変抵抗部および第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を複数の駆動部ＤＲＶ毎に実行する第１調整部の一例である。調整部ＡＤＪ１ｃの動作（抵抗値調整処理）は、図１２で説明する。なお、ドライバ回路ＤＲＣｃの動作は、抵抗値調整処理を除いて、図６に示した動作と同一または同様である。
【０１４９】
レプリカ駆動部ＲＤＲＶは、駆動部ＤＲＶのレプリカであり、複数の駆動部ＤＲＶ（ＤＲＶｍ、ＤＲＶｌ）に対するそれぞれの抵抗値調整処理で共通に使用される。例えば、レプリカ駆動部ＲＤＲＶは、図４に示したレプリカ駆動部ＲＤＲＶｍと同一または同様である。レプリカ駆動部ＲＤＲＶの詳細は、図１１で説明する。なお、ドライバ回路ＤＲＣｃの構成は、図１０に示す例に限定されない。
【０１５０】
図１１は、図１０に示したレプリカ駆動部ＲＤＲＶの一例を示す。レプリカ駆動部ＲＤＲＶの構成は、例えば、駆動部ＤＲＶｍの構成と同一または同様である。すなわち、レプリカ駆動部ＲＤＲＶの構成は、図４に示したレプリカ駆動部ＲＤＲＶｍの構成と同一または同様である。図４で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。レプリカ駆動部ＲＤＲＶの出力は、例えば、図示しない測定用の終端抵抗に接続される。
【０１５１】
レプリカ駆動部ＲＤＲＶは、電源線ＶＤＤに接続される可変抵抗部ＲＶＲｕと、接地線ＧＮＤに接続される可変抵抗部ＲＶＲｄと、複数の駆動スイッチ部ＲＤＳＷ（ＲＤＳＷ１、ＲＤＳＷ２、・・・）とを有する。
【０１５２】
可変抵抗部ＲＶＲｕは、図４に示した可変抵抗部ＲＶＲｍｕと同一または同様である。例えば、可変抵抗部ＲＶＲｕは、電源線ＶＤＤと複数の駆動スイッチ部ＲＤＳＷの端子ＰＵとの間に接続され、調整部ＡＤＪ１ｃから制御信号ＲＥＵを受ける。可変抵抗部ＲＶＲｕの抵抗値は、例えば、制御信号ＲＥＵの値に応じて変化する。すなわち、可変抵抗部ＲＶＲｕは、電源線ＶＤＤに接続され、抵抗調整部ＲＡＤＪｃからの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部の一例である。
【０１５３】
可変抵抗部ＲＶＲｕ内の複数の抵抗素子ＲＵの数は、例えば、図１０に示した可変抵抗部ＶＲｍｕ内の複数の抵抗素子ＲＵの数と可変抵抗部ＶＲｌｕ内の複数の抵抗素子ＲＵの数とのうち、多い方の数と同じである。また、例えば、可変抵抗部ＲＶＲｕ内の複数の抵抗素子ＲＵと図１０に示した可変抵抗部ＶＲｍｕ、ＶＲｌｕ内の複数の抵抗素子ＲＵは、互いに同じ抵抗値である。
【０１５４】
可変抵抗部ＲＶＲｄは、図４に示した可変抵抗部ＲＶＲｍｄと同一または同様である。例えば、可変抵抗部ＲＶＲｄは、接地線ＧＮＤと複数の駆動スイッチ部ＲＤＳＷの端子ＰＤとの間に接続され、調整部ＡＤＪ１ｃから制御信号ＲＥＤを受ける。可変抵抗部ＲＶＲｄの抵抗値は、例えば、制御信号ＲＥＤの値に応じて変化する。すなわち、可変抵抗部ＲＶＲｄは、接地線ＧＮＤに接続され、抵抗調整部ＲＡＤＪｃからの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部の一例である。
【０１５５】
可変抵抗部ＲＶＲｄ内の複数の抵抗素子ＲＤの数は、例えば、図１０に示した可変抵抗部ＶＲｍｄ内の複数の抵抗素子ＲＤの数と可変抵抗部ＶＲｌｄ内の複数の抵抗素子ＲＤの数とのうち、多い方の数と同じである。また、例えば、可変抵抗部ＲＶＲｄ内の複数の抵抗素子ＲＤと図１０に示した可変抵抗部ＶＲｍｄ、ＶＲｌｄ内の複数の抵抗素子ＲＤは、互いに同じ抵抗値である。
【０１５６】
駆動スイッチ部ＲＤＳＷは、図４に示した駆動スイッチ部ＲＤＳＷｍと同一または同様である。すなわち、複数の駆動スイッチ部ＲＤＳＷは、第１レプリカ可変抵抗部と第２レプリカ可変抵抗部との間に並列に接続される複数のレプリカ駆動スイッチ部の一例である。駆動スイッチ部ＲＤＳＷの数は、例えば、図１０に示した駆動スイッチ部ＤＳＷｍの数と駆動スイッチ部ＤＳＷｌの数とのうち、多い方の数と同じである。なお、レプリカ駆動部ＲＤＲＶの構成は、図１１に示す例に限定されない。
【０１５７】
図１２は、図１０に示したドライバ回路ＤＲＣｃによる抵抗値調整処理の一例を示す。ステップＳ２３０からステップＳ２３９までの各処理は、図７に示したステップＳ２１０からステップＳ２１９までの各処理に対応する。また、ステップＳ２４０からステップＳ２４９までの各処理は、図７に示したステップＳ２２０からステップＳ２２９までの各処理に対応する。すなわち、ステップＳ２３０からステップＳ２３９までの処理は、駆動部ＤＲＶｍに対する抵抗値調整処理の一例であり、ステップＳ２４０からステップＳ２４９までの処理は、駆動部ＤＲＶｌに対する抵抗値調整処理の一例である。図７に示した動作と同様な動作については、詳細な説明を省略する。なお、図１２では、駆動部ＤＲＶｍ内の可変抵抗部ＶＲｍの数が駆動部ＤＲＶｌ内の可変抵抗部ＶＲｌの数より多い場合を例にして説明する。ステップＳ２３０は、図６に示したステップＳ１００、Ｓ３１０のいずれかの処理が実行された後に実行される。
【０１５８】
ステップＳ２３０では、調整部ＡＤＪ１ｃは、駆動スイッチ部ＤＳＷｍの使用数に合わせて駆動スイッチ部ＲＤＳＷの使用数を設定する。例えば、調整部ＡＤＪ１ｃは、ステップＳ１００の処理が実行された後では、初期値で決められた数の駆動スイッチ部ＲＤＳＷｍを、制御信号ＲＥＮを用いて有効な状態に設定する。また、調整部ＡＤＪ１ｃは、ステップＳ３１０の処理が実行された後では、スイッチ数調整処理により有効な状態に設定された駆動スイッチ部ＤＳＷｍと同じ数の駆動スイッチ部ＲＤＳＷを、制御信号ＲＥＮを用いて有効な状態に設定する。
【０１５９】
次に、ステップＳ２３１では、調整部ＡＤＪ１ｃは、制御信号ＲＤＩを低レベルに設定するとともに、可変抵抗部ＲＶＲｄ内の全てのトランジスタＭＮをオン状態に設定する。すなわち、調整部ＡＤＪ１ｃは、制御信号ＲＤＩを低レベルに設定し、全ての制御信号ＲＥＤを高レベルに設定する。これより、レプリカ駆動部ＲＤＲＶは、接地線ＧＮＤに接続された出力抵抗ＲＭを測定可能な状態に設定される。
【０１６０】
次に、ステップＳ２３２では、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭを測定する。例えば、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力信号ＲＤＯの電圧レベルがレベル０またはレベル１のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭを測定する。
【０１６１】
次に、ステップＳ２３３では、調整部ＡＤＪ１ｃは、ステップＳ２４２で測定した出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値（例えば、７５Ω）より小さいか否かを判定する。出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｃの動作は、ステップＳ２３４に移る。一方、出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数を示す情報を保持して、動作をステップＳ２３５に移す。
【０１６２】
ステップＳ２３４では、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数を削減する。例えば、調整部ＡＤＪ１ｃは、高レベルの制御信号ＲＥＤの数を１つ減らして、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数を１つ減らす。ステップＳ２３４の処理が実行された後、調整部ＡＤＪ１ｃの動作は、ステップＳ２３２に戻る。すなわち、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数は、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭは、駆動部ＤＲＶｍの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１６３】
ステップＳ２３５では、調整部ＡＤＪ１ｃは、制御信号ＲＤＩを高レベルに設定するとともに、可変抵抗部ＲＶＲｕ内の全てのトランジスタＭＰをオン状態に設定する。すなわち、調整部ＡＤＪ１ｃは、制御信号ＲＤＩを高レベルに設定し、全ての制御信号ＲＥＵを低レベルに設定する。これにより、レプリカ駆動部ＲＤＲＶは、電源線ＶＤＤに接続された出力抵抗ＲＭを測定可能な状態に設定される。
【０１６４】
次に、ステップＳ２３６では、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭを測定する。例えば、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力信号ＲＤＯの電圧レベルがレベル２またはレベル３のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭを測定する。
【０１６５】
次に、ステップＳ２３７では、調整部ＡＤＪ１ｃは、ステップＳ２３６で測定した出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値（例えば、７５Ω）より小さいか否かを判定する。出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｃの動作は、ステップＳ２３８に移る。一方、出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数を示す情報を保持して、動作をステップＳ２３９に移す。
【０１６６】
ステップＳ２３８では、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数を削減する。例えば、調整部ＡＤＪ１ｃは、低レベルの制御信号ＲＥＵの数を１つ減らして、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数を１つ減らす。ステップＳ２３８の処理が実行された後、調整部ＡＤＪ１ｃの動作は、ステップＳ２３６に戻る。すなわち、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数は、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＭは、駆動部ＤＲＶｍの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１６７】
ステップＳ２３９では、調整部ＡＤＪ１ｃは、可変抵抗部ＶＲｍｕ、ＶＲｍｄの抵抗値を設定する。例えば、調整部ＡＤＪ１ｃは、可変抵抗部ＶＲｍｄ内のオン状態のトランジスタＭＮの数を、ステップＳ２３１からステップＳ２３４までの処理で設定される可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数（最終値）と同じ数に設定する。これにより、可変抵抗部ＶＲｍｄの抵抗値は、ステップＳ２３３の判定で出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上であると判定された際の可変抵抗部ＲＶＲｄの抵抗値と同じ値またはほぼ同じ値に設定される。
【０１６８】
また、例えば、調整部ＡＤＪ１ｃは、可変抵抗部ＶＲｕ内のオン状態のトランジスタＭＰの数を、ステップＳ２３５からステップＳ２３８までの処理で設定される可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数（最終値）と同じ数に設定する。これにより、可変抵抗部ＶＲｍｕの抵抗値は、ステップＳ２３７の判定で出力抵抗ＲＭが駆動部ＤＲＶｍの出力抵抗の目標値以上であると判定された際の可変抵抗部ＲＶＲｕの抵抗値と同じ値またはほぼ同じ値に設定される。
【０１６９】
このように、ステップＳ２３９の処理により、駆動部ＤＲＶｍの出力抵抗は、駆動部ＤＲＶｍの出力抵抗の目標値または目標値に近い抵抗値に設定される。ステップＳ２３９の処理の終了により、駆動部ＤＲＶｍに対する抵抗値調整処理は終了する。そして、調整部ＡＤＪ１ｃは、動作をステップＳ２４０に移して、駆動部ＤＲＶｌに対する抵抗値調整処理を開始する。
【０１７０】
ステップＳ２４０からステップＳ２４９までの処理は、ステップＳ２３０からステップＳ２３９までの処理と同様であるため、詳細な説明を省略する。例えば、ステップＳ２４０からステップＳ２４９までの処理の詳細は、ステップＳ２３０からステップＳ２３９までの処理の説明において、符号の小文字の“ｍ”を小文字の“ｌ”に読み替えることにより説明される。
【０１７１】
ステップＳ２４０では、調整部ＡＤＪ１ｃは、駆動スイッチ部ＤＳＷｌの使用数に合わせて駆動スイッチ部ＲＤＳＷの使用数を設定する。
【０１７２】
次に、ステップＳ２４１では、調整部ＡＤＪ１ｃは、制御信号ＲＤＩを低レベルに設定するとともに、可変抵抗部ＲＶＲｄ内の所定数のトランジスタＭＮをオン状態に設定する。なお、所定数は、例えば、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｄ内の抵抗素子ＲＤの数と同じ数である。この場合、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数は、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｄ内の抵抗素子ＲＤの数と同じ数に設定される。このため、可変抵抗部ＲＶＲｄの初期値は、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｄの調整可能な範囲で最小の抵抗値に設定される。ステップＳ２４１の処理により、レプリカ駆動部ＲＤＲＶは、接地線ＧＮＤに接続された出力抵抗ＲＬを測定可能な状態に設定される。
【０１７３】
次に、ステップＳ２４２では、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬを測定する。例えば、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力信号ＲＤＯの電圧レベルがレベル０またはレベル２のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬを測定する。
【０１７４】
次に、ステップＳ２４３では、調整部ＡＤＪ１ｃは、ステップＳ２４２で測定した出力抵抗ＲＬが駆動部ＤＲＶの出力抵抗の目標値（例えば、１５０Ω）より小さいか否かを判定する。出力抵抗ＲＬが駆動部ＤＲＶの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｃの動作は、ステップＳ２４４に移る。一方、出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数を示す情報を保持して、動作をステップＳ２４５に移す。
【０１７５】
ステップＳ２４４では、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数を削減する。ステップＳ２４４の処理が実行された後、調整部ＡＤＪ１ｃの動作は、ステップＳ２４２に戻る。すなわち、可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数は、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬは、駆動部ＤＲＶｌの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１７６】
ステップＳ２４５では、調整部ＡＤＪ１ｃは、制御信号ＲＤＩを高レベルに設定するとともに、可変抵抗部ＲＶＲｕ内の所定数のトランジスタＭＰをオン状態に設定する。なお、所定数は、例えば、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｕ内の抵抗素子ＲＵの数と同じ数である。この場合、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数は、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｕ内の抵抗素子ＲＵの数と同数に設定される。このため、可変抵抗部ＲＶＲｕの初期値は、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｕの調整可能な範囲で最小の抵抗値に設定される。ステップＳ２４５の処理により、レプリカ駆動部ＲＤＲＶは、電源線ＶＤＤに接続された出力抵抗ＲＬを測定可能な状態に設定される。
【０１７７】
次に、ステップＳ２４６では、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬを測定する。例えば、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力信号ＲＤＯの電圧レベルがレベル１またはレベル３のいずれかの設計値になるようにして、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬを測定する。
【０１７８】
次に、ステップＳ２４７では、調整部ＡＤＪ１ｃは、ステップＳ２４６で測定した出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値（例えば、１５０Ω）より小さいか否かを判定する。出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値より小さい場合、調整部ＡＤＪ１ｃの動作は、ステップＳ２４８に移る。一方、出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上である場合、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数を示す情報を保持して、動作をステップＳ２４９に移す。
【０１７９】
ステップＳ２４８では、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数を削減する。ステップＳ２４８の処理が実行された後、調整部ＡＤＪ１ｃの動作は、ステップＳ２４６に戻る。すなわち、可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数は、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬが駆動部ＤＲＶｌの出力抵抗の目標値以上になるまで減らされる。これにより、レプリカ駆動部ＲＤＲＶの出力抵抗ＲＬは、駆動部ＤＲＶｌの出力抵抗の目標値または目標値に近い抵抗値に設定される。
【０１８０】
ステップＳ２４９では、調整部ＡＤＪ１ｃは、可変抵抗部ＶＲｌｕ、ＶＲｌｄの抵抗値を設定する。例えば、調整部ＡＤＪ１ｃは、可変抵抗部ＶＲｌｄ内のオン状態のトランジスタＭＮの数を、ステップＳ２４１からステップＳ２４４までの処理で設定される可変抵抗部ＲＶＲｄ内のオン状態のトランジスタＭＮの数（最終値）と同じ数に設定する。
【０１８１】
また、例えば、調整部ＡＤＪ１ｃは、可変抵抗部ＶＲｌｕ内のオン状態のトランジスタＭＰの数を、ステップＳ２４５からステップＳ２４８までの処理で設定される可変抵抗部ＲＶＲｕ内のオン状態のトランジスタＭＰの数（最終値）と同じ数に設定する。
【０１８２】
ステップＳ２４９の処理により、駆動部ＤＲＶｌの出力抵抗は、駆動部ＤＲＶｌの出力抵抗の目標値または目標値に近い抵抗値に設定される。ステップＳ２４９の処理の終了により、駆動部ＤＲＶｌに対する抵抗値調整処理は終了する。駆動部ＤＲＶｌに対する抵抗値調整処理が終了した後、抵抗調整部ＲＡＤＪｃの動作は、図６に示したステップＳ３００に移る。
【０１８３】
なお、抵抗値調整処理は、図１２に示す例に限定されない。例えば、調整部ＡＤＪ１ｃは、ステップＳ２３５の処理を実行する前に可変抵抗部ＶＲｍｄの抵抗値を設定し、ステップＳ２４５の処理を実行する前に可変抵抗部ＶＲｌｄの抵抗値を設定してもよい。また、図８に示したスイッチ数調整処理が実行された後に実行される抵抗値調整処理では、有効な状態に設定する駆動スイッチ部ＤＳＷｌの数が変更されないため、ステップＳ２４０からステップＳ２４９までの処理は、省かれてもよい。あるいは、図９に示したスイッチ数調整処理が実行された後に実行される抵抗値調整処理では、有効な状態に設定する駆動スイッチ部ＤＳＷｍの数が変更されないため、ステップＳ２３０からステップＳ２３９までの処理は、省かれてもよい。
【０１８４】
以上、図１０から図１２に示す実施形態においても、図２から図９に示した実施形態と同様の効果を得ることができる。例えば、調整部ＡＤＪ１ｃは、駆動部ＤＲＶｍに対する抵抗値調整処理として、レプリカ駆動部ＲＤＲＶの有効な状態の駆動スイッチ部ＲＤＳＷの数を駆動部ＤＲＶｍの有効な状態の駆動スイッチ部ＤＳＷｍの数と同じ数に設定する。そして、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力抵抗が駆動部ＤＲＶｍの出力抵抗の目標値になるように、可変抵抗部ＲＶＲｕ、ＲＶＲｄのそれぞれの抵抗値を調整する。その後、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｕ、ＲＶＲｄの調整結果に基づいて、駆動部ＤＲＶｍの可変抵抗部ＶＲｍｕ、ＶＲｍｄのそれぞれの抵抗値を調整する。
【０１８５】
また、調整部ＡＤＪ１ｃは、駆動部ＤＲＶｌに対する抵抗値調整処理として、レプリカ駆動部ＲＤＲＶの有効な状態の駆動スイッチ部ＲＤＳＷの数を駆動部ＤＲＶｌの有効な状態の駆動スイッチ部ＤＳＷｌの数と同じ数に設定する。そして、調整部ＡＤＪ１ｃは、レプリカ駆動部ＲＤＲＶの出力抵抗が駆動部ＤＲＶｌの出力抵抗の目標値になるように、可変抵抗部ＲＶＲｕ、ＲＶＲｄのそれぞれの抵抗値を調整する。その後、調整部ＡＤＪ１ｃは、可変抵抗部ＲＶＲｕ、ＲＶＲｄの調整結果に基づいて、駆動部ＤＲＶｌの可変抵抗部ＶＲｌｕ、ＶＲｌｄのそれぞれの抵抗値を調整する。
【０１８６】
また、調整部ＡＤＪ２は、抵抗値調整処理が実行された後、出力信号ＤＯの電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部ＤＳＷｍ、ＤＳＷｌの数を調整するスイッチ数調整処理を実行する。そして、抵抗調整部ＲＡＤＪｃは、出力信号ＤＯの電圧レベルの差のばらつきが所定値以下になるまで、抵抗値調整処理と、スイッチ数調整処理とを繰り返す。これにより、出力信号ＤＯの電圧レベルの差が均等になるように、各駆動部ＤＲＶの出力抵抗を目標の抵抗値に調整することができる。すなわち、多値伝送における出力信号ＤＯの電圧レベルの差が均等になるようにドライバ回路ＤＲＣｃの出力抵抗の値を調整することができる。
【０１８７】
さらに、レプリカ駆動部ＲＤＲＶは、複数の駆動部ＤＲＶ（ＤＲＶｍ、ＤＲＶｌ）に対するそれぞれの抵抗値調整処理で共通に使用される。これにより、駆動部ＤＲＶｍ、ＤＲＶｌに対するそれぞれの抵抗値調整処理でそれぞれ使用されるレプリカ駆動部ＲＤＲＶｍ、ＲＤＲＶｌを有するドライバ回路ＤＲＣｂに比べて、回路規模を低減することができる。
【０１８８】
図１３は、図１、図２および図１０に示したドライバ回路ＤＲＣ（ＤＲＣａ、ＤＲＣｂ、ＤＲＣｃ）が搭載される装置の一例を示す。ドライバ回路ＤＲＣは、図１、図２および図１０に示したドライバ回路ＤＲＣａ、ＤＲＣｂ、ＤＲＣｃのうちのいずれかである。例えば、ドライバ回路ＤＲＣは、サーバ等の情報処理装置ＩＰＥ（ＩＰＥ１、ＩＰＥ２）が有する送信回路ＳＣ（ＳＣ１、ＳＣ２）に搭載される。各情報処理装置ＩＰＥ（ＩＰＥ１、ＩＰＥ２）は、ＣＰＵ（Central Processing Unit）等の演算装置ＣＵ（ＣＵ１、ＣＵ２）と、受信回路ＲＣ（ＲＣ１、ＲＣ２）と、送信回路ＳＣ（ＳＣ１、ＳＣ２）とを有する。例えば、送信回路ＳＣは、ドライバ回路ＤＲＣを有する。
【０１８９】
情報処理装置ＩＰＥ１、ＩＰＥ２は、伝送路を介して互いに接続される。例えば、情報処理装置ＩＰＥ１の送信回路ＳＣ１は、演算装置ＣＵ１から受けたデータ等を、ドライバ回路ＤＲＣを用いて情報処理装置ＩＰＥ２の受信回路ＲＣ２に送信する。そして、情報処理装置ＩＰＥ２の受信回路ＲＣ２は、情報処理装置ＩＰＥ１のドライバ回路ＤＲＣから受けたデータを、演算装置ＣＵ２に出力する。このように、ドライバ回路ＤＲＣは、情報処理装置ＩＰＥ１、ＩＰＥ２間のデータ伝送を可能にする。
【０１９０】
以上の実施形態において説明した発明を整理して、付記として以下の通り開示する。
（付記１）
入力データの複数のビットにそれぞれ対応して設けられ、出力が互いに接続され、前記入力データの値に対応する電圧レベルを有する出力信号を生成する複数の駆動部と、
前記複数の駆動部の出力抵抗を調整する抵抗調整部とを有し、
前記複数の駆動部の各々は、
電源電圧が供給される電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１可変抵抗部と、
接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２可変抵抗部と、
前記第１可変抵抗部と前記第２可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１可変抵抗部と駆動部の出力との間が導通する状態と前記第２可変抵抗部と前記駆動部の出力との間が導通する状態とのいずれかに前記入力データに応じて設定される複数の駆動スイッチ部とを有し、
前記抵抗調整部は、
前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を前記複数の駆動部毎に実行する第１調整部と、
前記抵抗値調整処理が実行された後、前記出力信号の電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部の数を調整するスイッチ数調整処理を実行する第２調整部とを有する
ことを特徴とするドライバ回路。
（付記２）
付記１に記載のドライバ回路において、
前記抵抗値調整処理に使用されるレプリカ部をさらに有し、
前記入力データのビット数は、２ビットであり、
前記複数の駆動部は、２ビットの前記入力データのうちの一方のビットの信号を受ける第１の駆動部と、２ビットの前記入力データのうちの他方のビットの信号を受ける第２の駆動部であり、
前記レプリカ部は、
前記第１の駆動部に対する前記抵抗値調整処理に使用される第１のレプリカ駆動部と、
前記第２の駆動部に対する前記抵抗値調整処理に使用される第２のレプリカ駆動部とを有し、
前記第１のレプリカ駆動部および前記第２のレプリカ駆動部の各々は、
前記電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部と、
前記接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部と、
前記第１レプリカ可変抵抗部と前記第２レプリカ可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１レプリカ可変抵抗部とレプリカ駆動部の出力との間が導通する状態と前記第２レプリカ可変抵抗部と前記レプリカ駆動部の出力との間が導通する状態とのいずれかに前記抵抗調整部からの制御に基づいて設定される複数のレプリカ駆動スイッチ部とを有し、
前記第１調整部は、
前記第１の駆動部に対する前記抵抗値調整処理として、前記第１のレプリカ駆動部の有効な状態のレプリカ駆動スイッチ部の数を前記第１の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記第１のレプリカ駆動部の出力抵抗が前記第１の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第１の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記第２の駆動部に対する前記抵抗値調整処理として、前記第２のレプリカ駆動部の有効な状態のレプリカ駆動スイッチ部の数を前記第２の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記第２のレプリカ駆動部の出力抵抗が前記第２の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第２の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記抵抗調整部は、
前記出力信号の電圧レベルの差のばらつきが所定値以下になるまで、前記抵抗値調整処理と前記スイッチ数調整処理とを繰り返す
ことを特徴とするドライバ回路。
（付記３）
付記１に記載のドライバ回路において、
前記複数の駆動部に対するそれぞれの前記抵抗値調整処理で共通に使用されるレプリカ駆動部をさらに有し、
前記入力データのビット数は、２ビットであり、
前記複数の駆動部は、２ビットの前記入力データのうちの一方のビットの信号を受ける第１の駆動部と、２ビットの前記入力データのうちの他方のビットの信号を受ける第２の駆動部であり、
前記第１可変抵抗部の抵抗値を調整する際の刻みが前記第１の駆動部と前記第２の駆動部とで同じであり、前記第２可変抵抗部の抵抗値を調整する際の刻みが前記第１の駆動部と前記第２の駆動部とで同じであり、
前記レプリカ駆動部は、
前記電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部と、
前記接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部と、
前記第１レプリカ可変抵抗部と前記第２レプリカ可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１レプリカ可変抵抗部とレプリカ駆動部の出力との間が導通する状態と前記第２レプリカ可変抵抗部と前記レプリカ駆動部の出力との間が導通する状態とのいずれかに前記抵抗調整部からの制御に基づいて設定される複数のレプリカ駆動スイッチ部とを有し、
前記第１調整部は、
前記第１の駆動部に対する前記抵抗値調整処理として、有効な状態のレプリカ駆動スイッチ部の数を前記第１の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記レプリカ駆動部の出力抵抗が前記第１の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第１の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記第２の駆動部に対する前記抵抗値調整処理として、有効な状態のレプリカ駆動スイッチ部の数を前記第２の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記レプリカ駆動部の出力抵抗が前記第２の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第２の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記抵抗調整部は、
前記出力信号の電圧レベルの差のばらつきが所定値以下になるまで、前記抵抗値調整処理と前記スイッチ数調整処理とを繰り返す
ことを特徴とするドライバ回路。
（付記４）
付記１ないし付記３のいずれか１項に記載のドライバ回路において、
前記入力データの最上位ビットに対応して設けられた駆動部の駆動スイッチ部の数は、前記入力データの最下位ビットに対応して設けられた駆動部の駆動スイッチ部の数より多い
ことを特徴とするドライバ回路。
（付記５）
付記１ないし付記４のいずれか１項に記載のドライバ回路において、
前記抵抗調整部は、前記第１可変抵抗部の抵抗値と前記第２可変抵抗部の抵抗値とを個別に調整する
ことを特徴とするドライバ回路。
（付記６）
入力データの複数のビットにそれぞれ対応して設けられ、出力が互いに接続され、前記入力データの値に対応する電圧レベルを有する出力信号を生成する複数の駆動部と、前記複数の駆動部の出力抵抗を調整する抵抗調整部とを有し、前記複数の駆動部の各々が、電源電圧が供給される電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１可変抵抗部と、接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２可変抵抗部と、前記第１可変抵抗部と前記第２可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１可変抵抗部と駆動部の出力との間が導通する状態と前記第２可変抵抗部と前記駆動部の出力との間が導通する状態とのいずれかに前記入力データに応じて設定される複数の駆動スイッチ部とを有するドライバ回路の制御方法において、
前記抵抗調整部が有する第１調整部が、前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整する抵抗値調整処理を前記複数の駆動部毎に実行し、
前記抵抗調整部が有する第２調整部が、前記抵抗値調整処理が実行された後、前記出力信号の電圧レベルの差が均等になるように、有効な状態に設定する駆動スイッチ部の数を調整するスイッチ数調整処理を実行する
ことを特徴とするドライバ回路の制御方法。
（付記７）
付記６に記載のドライバ回路の制御方法において、
前記ドライバ回路が、前記抵抗値調整処理に使用されるレプリカ部をさらに有し、前記入力データのビット数は２ビットであり、前記複数の駆動部が、２ビットの前記入力データのうちの一方のビットの信号を受ける第１の駆動部と、２ビットの前記入力データのうちの他方のビットの信号を受ける第２の駆動部であり、前記レプリカ部が、前記第１の駆動部に対する前記抵抗値調整処理に使用される第１のレプリカ駆動部と、前記第２の駆動部に対する前記抵抗値調整処理に使用される第２のレプリカ駆動部とを有し、前記第１のレプリカ駆動部および前記第２のレプリカ駆動部の各々が、前記電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部と、前記接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部と、前記第１レプリカ可変抵抗部と前記第２レプリカ可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１レプリカ可変抵抗部とレプリカ駆動部の出力との間が導通する状態と前記第２レプリカ可変抵抗部と前記レプリカ駆動部の出力との間が導通する状態とのいずれかに前記抵抗調整部からの制御に基づいて設定される複数のレプリカ駆動スイッチ部とを有する場合、
前記第１調整部が、前記第１の駆動部に対する前記抵抗値調整処理として、前記第１のレプリカ駆動部の有効な状態のレプリカ駆動スイッチ部の数を前記第１の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記第１のレプリカ駆動部の出力抵抗が前記第１の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第１の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記第１調整部が、前記第２の駆動部に対する前記抵抗値調整処理として、前記第２のレプリカ駆動部の有効な状態のレプリカ駆動スイッチ部の数を前記第２の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記第２のレプリカ駆動部の出力抵抗が前記第２の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第２の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記抵抗調整部が、前記出力信号の電圧レベルの差のばらつきが所定値以下になるまで、前記抵抗値調整処理と前記スイッチ数調整処理とを繰り返す
ことを特徴とするドライバ回路の制御方法。
（付記８）
付記６に記載のドライバ回路の制御方法において、
前記ドライバ回路が、前記複数の駆動部に対するそれぞれの前記抵抗値調整処理で共通に使用されるレプリカ駆動部をさらに有し、前記入力データのビット数は２ビットであり、前記複数の駆動部が、２ビットの前記入力データのうちの一方のビットの信号を受ける第１の駆動部と、２ビットの前記入力データのうちの他方のビットの信号を受ける第２の駆動部であり、前記第１可変抵抗部の抵抗値を調整する際の刻みが前記第１の駆動部と前記第２の駆動部とで同じであり、前記第２可変抵抗部の抵抗値を調整する際の刻みが前記第１の駆動部と前記第２の駆動部とで同じであり、前記レプリカ駆動部が、前記電源線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第１レプリカ可変抵抗部と、前記接地線に接続され、前記抵抗調整部からの制御に基づいて抵抗値が変化する第２レプリカ可変抵抗部と、前記第１レプリカ可変抵抗部と前記第２レプリカ可変抵抗部との間に並列に接続され、前記抵抗調整部により有効な状態に設定されている場合、前記第１レプリカ可変抵抗部とレプリカ駆動部の出力との間が導通する状態と前記第２レプリカ可変抵抗部と前記レプリカ駆動部の出力との間が導通する状態とのいずれかに前記抵抗調整部からの制御に基づいて設定される複数のレプリカ駆動スイッチ部とを有する場合、
前記第１調整部が、前記第１の駆動部に対する前記抵抗値調整処理として、有効な状態のレプリカ駆動スイッチ部の数を前記第１の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記レプリカ駆動部の出力抵抗が前記第１の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第１の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記第１調整部が、前記第２の駆動部に対する前記抵抗値調整処理として、有効な状態のレプリカ駆動スイッチ部の数を前記第２の駆動部の有効な状態の駆動スイッチ部の数と同じ数に設定し、前記レプリカ駆動部の出力抵抗が前記第２の駆動部の出力抵抗の目標値になるように、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部のそれぞれの抵抗値を調整し、前記第１レプリカ可変抵抗部および前記第２レプリカ可変抵抗部の調整結果に基づいて、前記第２の駆動部の前記第１可変抵抗部および前記第２可変抵抗部のそれぞれの抵抗値を調整し、
前記抵抗調整部が、前記出力信号の電圧レベルの差のばらつきが所定値以下になるまで、前記抵抗値調整処理と前記スイッチ数調整処理とを繰り返す
ことを特徴とするドライバ回路の制御方法。
（付記９）
付記６ないし付記８のいずれか１項に記載のドライバ回路の制御方法において、
前記抵抗調整部が、前記第１可変抵抗部の抵抗値と前記第２可変抵抗部の抵抗値とを個別に調整する
ことを特徴とするドライバ回路の制御方法。
【０１９１】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１９２】
ＡＤＪ１ａ、ＡＤＪ１ｂ、ＡＤＪ１ｃ、ＡＤＪ２‥調整部；ＤＲＣａ、ＤＲＣｂ、ＤＲＣｃ‥ドライバ回路；ＤＲＶｌ、ＤＲＶｍ‥駆動部；ＤＳＷｌ、ＤＳＷｍ、ＲＤＳＷ、ＲＤＳＷｌ、ＲＤＳＷｍ‥駆動スイッチ部；ＩＮＶ‥インバータ；ＭＮ、ＭＮｄｒ‥Ｎ型のＭＯＳトランジスタ；ＭＰ、ＭＰｄｒ‥Ｐ型のＭＯＳトランジスタ；ＮＡＮＤ‥否定論理積回路；ＮＯＲ‥否定論理和回路；ＲＡＤＪａ、ＲＡＤＪｂ、ＲＡＤＪｃ‥抵抗調整部；ＲＤ、ＲＵ‥抵抗素子；ＲＤＲＶ、ＲＤＲＶｌ、ＲＤＲＶｍ‥レプリカ駆動部；ＲＥＰ‥レプリカ部；ＶＲｌｄ、ＶＲｌｕ、ＶＲｍｄ、ＶＲｍｕ、ＲＶＲｄ、ＲＶＲｌｄ、ＲＶＲｌｕ、ＲＶＲｍｄ、ＲＶＲｍｕ、ＲＶＲｕ‥可変抵抗部
【図１】
2018061196.tif 000003
【図２】
2018061196.tif 000004
【図３】
2018061196.tif 000005
【図４】
2018061196.tif 000006
【図５】
2018061196.tif 000007
【図６】
2018061196.tif 000008
【図７】
2018061196.tif 000009
【図８】
2018061196.tif 000010
【図９】
2018061196.tif 000011
【図１０】
2018061196.tif 000012
【図１１】
2018061196.tif 000013
【図１２】
2018061196.tif 000014
【図１３】
2018061196.tif 000015