A/Dコンバータ その1

PIC16F88やPIC12F683などA/Dコンバータが内蔵されたPICは便利です。
A/Dコンバータとは、簡単に言うと入力端子の電圧をマイコン内部にデジタルな数値として読み取る回路です。

PIC内蔵A/Dコンバータのハードウェア的な詳細は、fitDESIGN超初心者向けPICハードウェアマニュアル第7章 A/Dコンバータが分かりやすいです。
記のサイトではPIC16F87XのA/Dコンバータについて書かれていますが、PIC16F88やPIC12F683でも基本的な部分は同じです。(ハードウェア的にはPIC16F88の方がPIC16F87Xよりも柔軟な構成が取れるように改良がされていますが、その代わりレジスタ構成が変化しているため87X用のソースコードを流用するときには若干の変更が必要です。)

さて、fitDESIGNのサイトの7-4 入力回路
には、ハードウェア的に考慮しなければならない点として以下を挙げています。

A/Dコンバータの入力回路はその計測仕様や信号源側の条件によって様々な考慮をする必要があります。以下にその考慮すべき要件を列挙しました。

● 信号源の出力抵抗はPICの仕様を満たしているか?
      (PICの仕様: 許容信号源抵抗 10kΩ Max)
● 計測信号のノイズのレベルや周波数成分は? また計測したい最大周波数は?
● 計測信号はPICの仕様の入力電圧範囲を超える可能性があるか?

今回はこれらの一番目「信号源抵抗」について書きます。

結論から書くと、信号源抵抗に制約があるのはA/Dコンバータの入力インピーダンスが高くないからです。そのため、信号源の出力インピーダンスが高いと正確な電圧が計測できないことになります。どの程度入力インピーダンスが低いのかを考えるためには、PICのA/Dコンバータの内部回路(実際はA/Dコンバータではなく、その前段のサンプル&ホールド回路)を考える必要があります。

この図は、PIC16F88のデータシートにあるアナログ入力モデルです。



これを元に、LTspiceでモデルを作ります。



RicはPIC内部のアナログマルチプレクサのオン抵抗でしょうか。最悪値としてRic=1kと選びました。
Ileakageは±500nAの間でばらつきますが、さしあたって正の値を選びました。
Rssはサンプリングスイッチのオン抵抗です。電源電圧に応じて変化することがグラフから読み取れます。電源電圧とオン抵抗には以下の関係があります。
Rss=17k-2k*(VDD-VSS)
VDD=5V,VSS=0Vと考えてRss=7kとしました。

このモデルに対して、2.5Vのステップ入力を与えたときの応答を信号源抵抗の値を変えながら確認します。


上の回路図は、信号源抵抗Rs=10kのものです。

信号源抵抗Rs=1Ωのとき。


信号源の出力インピーダンスが非常に低い場合。計測対象の信号源の電圧V(VS)とPICの入力端子電圧V(ADC)は、ほぼ完全に一致。実際にPICに読み込まれるホールドコンデンサの電圧V(HOLD)も若干の遅延が見られますが、最終的な値はほぼ一致。

信号源抵抗Rs=1kのとき。


V(VS)に対してV(ADC)がわずかに遅延しているが、V(ADC),V(HOLD)ともに最終的な値はV(VS)とほぼ一致。

信号源抵抗Rs=10kのとき。


V(adc),V(hold)ともにV(vs)から少し遅延。


また、定常状態に入ったときのV(vs)とV(hold)の差(すなわち誤差)は5mV程度。

信号源抵抗Rs=100kのとき。


遅延の量もかなり大きくなっているのが分かる。


さらに定常状態に入った後での誤差も50mV程度まで大きくなっている。

まとめると、信号源抵抗が大きくなることによって被る影響は以下の2点になります。
・サンプリングコンデンサへの充電時間が長くなる
・定常状態での誤差が大きくなる

とはいえ、これらの2点の原因は見てのとおりです。

サンプリングコンデンサへの充電時間が長くなる理由は、信号源抵抗RsとホールドコンデンサCholdがローパスフィルタを構成するからです。(経路上にある他の抵抗やコンデンサも寄与しますが、RsとCholdの影響が支配的です。)

一方、定常状態での誤差は、Ileakageによる信号源抵抗Rsの両端での電圧降下が原因です。Rs=10kのときはオームの法則V=R*Iより10k*500nA=5mVの誤差、Rs=100kのときは100k*500nA=50mVの誤差とシミュレーション結果に一致します。
fitDESIGNのA/Dコンバータの基礎の表から、5Vを10bitでA/D変換した際の1LSBは4.9mVに相当します。信号源抵抗Rsが10kのときの誤差は5mVであるので、まぁ、ちょっと1LSBを超えていますが、10bit精度のA/D変換を確保するためには信号源抵抗Rsが10k以内でなければならないというのはこういった理由からだと思います。


tag: LTspice PIC A/Dコンバータ 

comment

Secret

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoCOPアンプCPA強磁性PICモンテカルロ解析常微分方程式odeトランジスタecalj状態密度DOSインターフェース定電流スイッチング回路PDS5022半導体シェルスクリプト乱数レベルシフトHP6632A温度解析分散関係I2Cトランジスタ技術R6452A可変抵抗ブレッドボードセミナーバンドギャップ数値積分確率論反強磁性偏微分方程式バンド構造絶縁熱設計非線形方程式ソルバフォトカプラシュミットトリガLEDLM358カオスISO-I2C三端子レギュレータGW近似A/Dコンバータカレントミラーアナログスイッチ数値微分マフィンティン半径TL431発振回路サーボPC817CUSB直流動作点解析74HC4053補間FFTBSch開発環境パラメトリック解析2ちゃんねるチョッパアンプ量子力学bzqlty電子負荷イジング模型LDA標準ロジックアセンブラ基本並進ベクトルブラべ格子単振り子熱伝導位相図TLP621キュリー温度繰り返し状態方程式MaximaVESTAスイッチト・キャパシタ相対論FETランダムウォークスピン軌道相互作用SMP六方最密充填構造抵抗不規則合金ewidthスレーターポーリング曲線GGAラプラス方程式cygwingfortranQSGW失敗談コバルト条件分岐TLP521テスタLM555Writer509TLP552格子比熱マントルデータロガー自動計測詰め回路ガイガー管ダイヤモンドQNAPMCUFXA-7020ZR過渡解析三角波UPSNE555固有値問題熱力学ブラウン運動フェルミ面awk起電力第一原理計算OpenMPfsolveubuntu最大値xcrysden最小値最適化仮想結晶近似VCA差し込みグラフスーパーセル井戸型ポテンシャル平均場近似シュレディンガー方程式FSMフラクタルOPA2277固定スピンモーメント2SC1815全エネルギー合金multiplotgnuplotc/aTeX結晶磁気異方性interp1ウィグナーザイツ胞初期値マンデルブロ集合疎行列面心立方構造fcc不純物問題非線型方程式ソルバフィルタL10構造PGA半金属二相共存SICZnOウルツ鉱構造BaO重積分クーロン散乱磁気モーメント電荷密度三次元CIF岩塩構造CapSenseノコギリ波デバイ模型ハーフメタル正規分布フォノンquantumESPRESSOルチル構造スワップ領域リジッドバンド模型edelt縮退キーボード軸ラベルグラフの分割凡例トラックボールPC不規則局所モーメント片対数グラフトランス両対数グラフCK1026MAS830L直流解析Excel円周率パラメータ・モデルヒストグラム日本語最小二乗法等価回路モデルGimp線種シンボルTS-110TS-112PIC16F785LMC662化学反応文字列specx.f入出力ifortマテリアルデザインヒストグラム確率論Realforce等高線ジバニャン方程式P-10Ubuntuナイキスト線図Crank-Nicolson法陰解法熱拡散方程式HiLAPWAACircuit連立一次方程式負帰還安定性境界条件EAGLEMBE関数フィッティング

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ