ADCを駆動する差動オペアンプのオフセット調整
完全差動オペアンプは、シングルエンド信号と差動入力ADCとのインターフェースとなる有用な部品です。例えば、低消費電力の差動オペアンプであるLTC6362は、LTC2379-18ファミリなどの16ビットおよび18ビットSAR ADCを駆動するのに最適なデバイスです。これらのデバイスはいずれもオフセット電圧に関して優れたDC精度を備えていますが、場合によっては、回路のオフセットを更に調整することが必要となります。この微調整には、LTC2630-12のようなDACを使用できますが、回路のどの部分に接続するかが問題です。
図1に、わかりやすい接続例を示します。ノード"A"は、入力信号の測定基準となるノードです。したがって、ノード"A"のDC電圧をわずかに調整するだけで、事実上、システムのオフセットを調整することになります。しかし、この構成は、理論上は機能しますが、実際にはいくつか問題があります。まず、微調整を行うには、分解能が極めて高いDACが必要となります。例えば、リファレンスを5Vとして12ビットのDACを使用した場合、調整ステップは1.25mVとなりますが、多くの場合、これでは粗すぎます。2つめの問題として、グラウンドを基準として入力信号の振幅が対称である場合(「バイポーラ」とも呼ばれる)、DACはグラウンドの上下を調整する必要があります。つまり、DACには負電源が必要となりますが、このようなDACはいつでも入手できるわけではなく、最新のDACでは対応していません。最後に、入力信号が比較的高速で変化する場合、ノード"A"は、このような高い周波数でも低インピーダンスを維持する必要があります。しかし、LTC2630-12のようなバッファ付きVOUTのDACでさえ100kHzで100Ωレベルのインピーダンスがあり、回路動作に誤差が生じる原因となります。

図1.DACがノード"A"を直接駆動
図2は、上述の問題をすべて解決する回路です。DACは、ノード"A"を直接駆動するのではなく、高抵抗を介してオペアンプのサミングノードに直接接続されています。1Meg/1k = 1000の抵抗比によってDACのステップサイズが分割されるため、12ビットDACを使用した場合1.25µVのステップで調整を行えます。また、ノード"A"がグラウンドに設定され、入力信号がグラウンドの上下で変化しても、DACは正側で振幅するだけで済みます。これは、差動オペアンプのコモンモード・レベル・シフト機能によって、抵抗への入力がグラウンドになった場合でもオペアンプの入力ノードはグラウンドより十分高い値にバイアスされるためです。2つめの1Meg抵抗は、DAC出力がミッドスケールの場合にゼロ・オフセット調整を確実に行うためのものです。最後に、このDACと1Megの組み合わせは、本質的には電圧源ではなく電流源のように機能するため、この回路はDAC自体の出力インピーダンスには影響されません。

図2.DACを抵抗を介してオペアンプのサミングノードに接続
この回路は、DC1805Aデモ・ボードとDC1074Aデモ・ボードを連結することで構成されており、これらのデモ・ボードには、LTC6362差動アンプ、LTC2379-18 SAR ADC、LTC6655-5リファレンス、LTC2630-12 DACが使われています。この回路では、DACコードを変更することで予想どおりの高精細なオフセット調整が可能であることを検証済みです。更に、連結した回路の歪みやノイズは、DACを接続しても影響を受けないことも確認しています。
以上より、図2の回路は、高性能差動ADC回路のオフセット調整に対して優れた方法といえます。
著者について
この記事に関して
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}