12ビットのADCは、2の12乗=4096通りのコードを表せる。でも、4096段階に分けられることと、測定値が正しい値にどれだけ近いかは別だよ。
ADCは、電圧などのアナログ信号をデジタル値へ変換する回路。「12ビットだから正確」「小数点以下まで表示されたから、その桁まで信用できる」とは決められないんだ。
ここでは、入力範囲を4.096V幅と仮定した理想的な計算例で、分解能の読み方を確認しよう。特定の部品の実測値や、配線の指示ではないよ。
4096は、いちばん大きな数字?まず「通りの数」と分けよう
1ビットは、0か1の二通りを表す単位。2ビットなら00・01・10・11の四通りになる。同じように12ビットでは、2を12回掛けて4096通りだね。
仮に符号なし整数として番号を付けるなら、0から4095まで。最後が4095でも、0を含めるので4096個ある。ここ、最初は一つ違って見えるけれど、数える出発点が0なんだ。
その4096段階で、入力電圧の4.096V幅を等しく分けると考えてみよう。
4.096V ÷ 4096=0.001V=1mV。
この理想的な一段分の幅が1LSB。LSBは最も下の桁を意味し、ここでは出力コードが一つ進む時の電圧幅として使っているよ。
同じ4.096V幅を分ける条件なら、ビット数を変えると次のようになる。
| ビット数 | コードの通り数 | 理想的な1LSBの幅 |
|---|---|---|
| 8ビット | 256 | 16mV |
| 10ビット | 1024 | 4mV |
| 12ビット | 4096 | 1mV |
| 16ビット | 65536 | 0.0625mV=62.5μV |
表は4.096Vを各通り数で割った計算値。製品ごとの保証値ではない。入力範囲が変われば、同じ12ビットでも一段の電圧幅は変わるよ。
また、0~4095という番号の両端を結ぶ話と、範囲を4096段階へ分ける話を混ぜないでね。実際に出力コードを電圧へ換算する時は、その部品の符号形式と、入力電圧に対してコードがどう変わるかを示すデータシートの説明に従おう。
1mV刻みでも、1mV以内の誤差とは限らないんだ
分解能は、どのくらい細かく区切って表せるか。測定の正確さは、結果が正しい値からどれくらいずれるか。細かい目盛りを持つことだけでは、ずれの小ささまで保証できないんだね。
たとえば説明用に、1mV刻みで表示できる測定器が、ある条件で正しい値より3mV高く出ると仮定してみよう。表示の刻みは細かいままでも、ずれは残る。これは製品の性能を示す実例ではなく、二つの意味を分けるための仮の例だよ。
TIの分解能と精度の違いを説明する技術記事でも、両者は同じとは限らないと説明されている。ADC本体だけでなく、周辺回路や電圧の基準となる回路も、測定結果に関わるんだ。
ずれ方にも違いがある。TIのADCの誤差に関する解説では、一定方向へのずれであるオフセット誤差、入力が変わる時の傾きのずれであるゲイン誤差などを分けている。
だから、値が少しずれて見えたからといって「ビット数が足りない」とすぐ決めるのは早いよ。より細かく分ける部品へ替えることと、今あるずれの原因を確かめることは、同じ作業ではないんだ。
仕様表では、ビット数の横に「入力範囲」と「誤差の条件」を置こう
資料を読む時は、次の順に数字を並べると、判断しやすくなるよ。
- 分解能が何ビットかを確認する。
- その設定で扱う入力範囲の幅を確認する。
- 理想的な1LSBの幅を計算し、仕様の単位を読む準備をする。
- 誤差の項目と、その保証条件を別に確認する。
誤差がLSBで示されていたら、何ビット・どの範囲の一段分なのかを合わせて読む。電圧や割合で示される場合もあるので、数字だけを横に並べて大きい、小さいと決めないでね。
同じ電圧を繰り返し測った結果にばらつきが出る場合には、ノイズも確認したい。ノイズは測定に重なる不要な変動のこと。TIの分解能の解説でも、回路全体のノイズによって出力コードが広がる点が説明されているよ。
まずは「12ビットだから4096通り」。次に「この入力範囲なら一段いくら」。そして「実際のずれやばらつきは別に確認」。
この三つに分ければ、細かい数字が出た時も、その数字で何が分かり、何がまだ分からないかを整理できる。表示の桁に圧倒される前に、入力範囲を一つ添えて読んでみよう。