12bit DAC 2つで 24bit DAC?
MCP4922 などの使用例に書いてあるやつを考えてみる。http://akizukidenshi.com/download/MCP4922.pdf この方法で考えられる問題は
- 誤差の扱いかたが複雑になる
- 2つのDACの温度係数の違い
- DNL/INL の扱い
- 外部抵抗の正確さ
- 短期的なグリッチ
- 同時に値をセットできるわけではないため
- 粗いほうのDACを調整したときに生じる DNL による歪み
- 制御の仕方が面倒
低速かつ相対的に細かい値を扱うには使えるかもしれない。絶対値が重要な場合はかなり使うのが難しいと思う。
以下のとき1:1000
B がおおざっぱな調整、A が精密調整用の DAC を担うことになっている。A で B の 1000分の1 を追加で補正する。 理論上は 4096分の1にすれば最大の解像度を得られるが DNL (微分非直線性) があるためそうはいかない。
DNL が±0.75LSBであるため、1.5LSB分は余裕をもって二重に出力できないと、どうやっても出力できない電圧が発生する。
1:1000 のときの伝達関数をグラフ化すると以下のようになる。Y軸が出力電圧で、X軸は24bitの出力コード。実際は DNL があり、それぞれの直線の傾きがランダムに変化する
見ての通りで同じ出力電圧にする場合でも複数の値のとりかたがある。どれをどう選ぶかは制御のアルゴリズム次第で、結構やっかい。
必然的に相対値の調整が重要なはずなので、前回からの差分をうけとって、精密調整しつつ、範囲をはずれたら粗調整を動かすというのをヒステリシスにやる必要があると思う。
関連エントリー
- PWM や DAC の出力範囲を変える PWM 信号は普通 0-5V などだが、1.5V-3.5V とかに変換したい その際、電源ソースを変更したい。 PWMソースとは別の安定した...
- オペアンプの非反転増幅回路の温度ドリフト オペアンプの増幅率は抵抗比なので、2つの抵抗が同じ温度係数を持っていれば比は変化せず、温度によるドリフトはない。実際は個体によってTCRの傾...
- VNA によるケーブル特性インピーダンス測定 ケーブルのLCを直接測る 伝送路の損失を無視した場合、特性インピーダンス は であるため、直接ケーブルのLとCを計測してやる。 例:50Ωの...
- GPSDO 10MHz 回路と温度安定度 回路と制御方法はだいたい決めたのでそのへんを書いておく VFC をどうコントロールするか OCXO がいくら安定しているといっても、それはV...
- RaspberryPi を家庭内 LAN の DNS キャッシュサーバーに LAN向けのDNSキャッシュサーバ 経緯としてRTX1200 の DNS 機能が TCP フォールバックに対応してないのでオフにした、という...

