기준전압 — 정확도의 상한

한 줄 요약 — ADC 가 재는 것은 전압이 아니라 기준전압에 대한 비율입니다. 기준이 0.5 % 틀리면 12비트 ADC 를 써도 8비트만큼도 못 믿습니다.


왜 여기가 상한인가

ADC 의 출력은 이렇게 나옵니다.

코드=2N⋅VinVref\boxed{\text{코드} = 2^N \cdot \frac{V_{in}}{V_{ref}}}
기호
N개수count
V_in입력 전압input voltageV
V_ref기준 전압reference voltageV

전압을 재는 것이 아니라 비율을 셉니다. 그래서 VrefV_{ref} 가 흔들리면 입력이 가만히 있어도 코드가 움직입니다.

Δ코드코드=−ΔVrefVref\frac{\Delta \text{코드}}{\text{코드}} = -\frac{\Delta V_{ref}}{V_{ref}}
기호
Delta V전압 변화량voltage changeV
V_ref기준 전압reference voltageV

이 자료가 분해능분해능 resolutionADC 가 구분할 수 있는 가장 작은 전압 차이로, 비트 수와 기준전압으로 정해집니다.1 LSB=Vref/2n1\,\mathrm{LSB} = V_{ref}/2^n자세히 보기 →과 잡음열잡음 thermal noise모든 저항이 온도 때문에 내는 피할 수 없는 잡음으로, 측정의 바닥을 정합니다.en=4kBTRe_n = \sqrt{4k_BTR}자세히 보기 →을 그렇게 따져 온 이유는, 그것들이 아래에서 정확도를 갉아먹기 때문입니다. 기준전압은 위에서 자릅니다 — 아무리 조용한 회로를 만들어도 기준보다 정확해질 수는 없습니다.

VrefV_{ref} 오차실질 비트 수12비트 ADC 에서
0.02 % (200 ppm)12.3다 씀
0.1 % (1000 ppm)10.02비트 손해
0.5 % (5000 ppm)7.64비트 넘게 손해
1 %6.612비트를 살 이유가 없음

💡 MCU 내장 기준(V_DD) 이 대개 이 마지막 줄입니다. 3.3 V 레귤레이터의 초기 오차가 ±1~2 % 이고 부하에 따라 더 움직입니다.


무엇이 기준을 흔드나

기준전압 하나에 오차가 넷 있습니다. 데이터시트가 따로따로 적어 두는 이유는 각각 다른 방식으로 대응해야 하기 때문입니다.

오차전형값언제 나타나나교정으로 지울 수 있나
초기 오차±0.05 ~ ±0.5 %사자마자✅ 한 번 재서 빼면 끝
온도계수3 ~ 100 ppm/°C온도가 바뀔 때△ 온도를 같이 재야 함
장기 드리프트20 ~ 100 ppm/√khr몇 달~몇 년❌ 주기적 재교정뿐
잡음1 ~ 30 µV p-p (0.1~10 Hz)늘❌ 대역을 좁히는 것뿐

ppm/°C 를 실제 오차로

ΔVV=TC×ΔT\frac{\Delta V}{V} = \text{TC} \times \Delta T
기호
Delta V전압 변화량voltage changeV
T온도 또는 주기temperature or period
V전압voltageV

25 ppm/°C 부품을 0 ~ 50 °C 에서 쓰면 (기준 온도 25 °C 에서 ±25 °C):

25 ppm/°C×25 °C=625 ppm=0.0625 %25\ \text{ppm/°C} \times 25\ \text{°C} = 625\ \text{ppm} = 0.0625\ \%

5 V 기준이면 3.1 mV. 12비트 ADC 의 1 LSB 가 1.22 mV 이므로 2.5 LSB 가 온도로만 날아갑니다.

⚠️ 데이터시트의 ppm/°C 는 대개 박스 방식(전 온도 범위의 최대·최소를 범위로 나눈 것)입니다. 어느 한 온도에서의 기울기가 아니라 최악값이라, 실제로는 이보다 나은 경우가 많습니다. 그래도 설계는 최악값으로 합니다.

장기 드리프트의 √ 단위

ppm/√khr 는 1000시간의 제곱근당 ppm 입니다. 시간이 지날수록 느려집니다.

경과√khr50 ppm/√khr 부품의 누적
1000 시간 (6주)150 ppm
1만 시간 (1년)3.16158 ppm
10만 시간 (11년)10500 ppm

첫 6주에 가장 많이 움직입니다. 그래서 정밀 장비는 번인(burn-in) 을 거친 뒤 교정합니다.


두 갈래 — 밴드갭과 매몰 제너

밴드갭 (bandgap)

원리: 실리콘의 밴드갭 전압(≈1.22 V)은 온도에 거의 안 변합니다. 그걸 만들어 내는 것이 밴드갭 회로입니다.

두 개를 더합니다.

Vref=VBE⏟−2 mV/°C+K⋅VTln⁡n⏟+0.087K mV/°CV_{ref} = \underbrace{V_{BE}}_{-2\ \text{mV/°C}} + \underbrace{K \cdot V_T \ln n}_{+0.087K\ \text{mV/°C}}
기호
n비트 수 또는 개수number of bits or count
V_BE베이스–이미터 전압base-emitter voltageV
V_ref기준 전압reference voltageV
V_T열전압 (≈26 mV)thermal voltageV

VBEV_{BE} 는 온도가 오르면 내려갑니다 (5-06). 두 트랜지스터의 VBEV_{BE} 차이는 VT=kT/qV_T = kT/q 에 비례해 올라갑니다. 계수 KK 를 맞춰 더하면 서로 상쇄됩니다.

  • 장점: 낮은 전압(1.2 V 부터)에서 동작, 저전력, 싸다
  • 단점: 잡음이 상대적으로 큼, 장기 드리프트가 큼

매몰 제너 (buried zener)

원리: 제너 항복을 칩 표면이 아니라 속에서 일으킵니다.

표면에는 결함과 오염이 많아 1/f 잡음1/f 잡음 flicker noise주파수가 낮을수록 커지는 잡음으로, DC 근처를 재는 측정에서는 이것이 지배합니다.자세히 보기 →과 드리프트의 원인이 됩니다. 접합을 표면에서 떼어 놓으면 그게 크게 줍니다.

  • 장점: 잡음이 낮고 장기 드리프트가 10배 좋음
  • 단점: 7 V 근처가 필요해 최소 전원이 높다(보통 12 V 이상), 전류를 많이 먹음, 비쌈
밴드갭매몰 제너
최소 전원1.8 V12 V
소비 전류50 µA ~ 1 mA1 ~ 5 mA
온도계수3 ~ 50 ppm/°C0.5 ~ 5 ppm/°C
잡음 (0.1~10 Hz)10 ~ 30 µV1 ~ 3 µV
장기 드리프트50 ~ 100 ppm/√khr6 ~ 20 ppm/√khr
값싸다5~20배

전지로 도는 것은 밴드갭밖에 못 씁니다. 매몰 제너는 전원이 높아야 하고 전류를 많이 먹습니다.


⚖️ 트레이드오프

1. 정확도 vs 값

등급초기 오차TC값언제
MCU 내장 (V_DD)±2 %100+0원비율 측정만
보급형 (LM4040)±0.5 %100300원대략 재도 되는 것
중급 (REF3025)±0.2 %301500원12비트 대부분
정밀 (ADR4525)±0.02 %26000원16비트 이상
매몰 제너 (LTZ1000)교정 필요0.055만원+계측 표준기

ADC 값보다 기준전압이 비싼 것이 흔합니다. 그게 자연스럽습니다 — 정확도의 상한을 정하는 쪽이니까요.

2. 잡음 vs 전류

기준전압의 잡음은 대개 출력 커패시터로 줄입니다. 그런데 그러면 켜지는 시간이 늘어납니다.

tsettle≈5RoutCt_{settle} \approx 5 R_{out} C
기호
C정전용량capacitanceF
R_out출력 저항output resistanceΩ
t_settle정착 시간settling times

10 µF 를 달면 잡음은 좋아지지만, 간헐 동작(low-power 모드에서 깨어나 재고 다시 자는) 설계에서는 매번 그만큼 기다려야 합니다. 그 대기 시간에 쓰는 전력이 절약분보다 클 수도 있습니다.

3. 비율 측정이면 기준이 필요 없습니다

★ 여기가 이 문서에서 가장 값어치 있는 부분입니다.

휘트스톤 브리지나 분압식 센서분압 voltage divider직렬로 이은 두 저항은 입력 전압을 저항비대로 나눠 갖습니다.Vout=Vin R2R1+R2V_{out} = V_{in}\,\frac{R_2}{R_1+R_2}자세히 보기 →를 ADC 와 같은 기준으로 여자(excite) 하면, 기준이 흔들려도 비율은 그대로입니다.

V_ref센서 브리지 여자센서 출력 ∝ V_refADC 입력ADC코드 = 2^N · V_in/V_ref → V_ref 가 약분됩니다코드 (기준과 무관)

기준이 1 % 움직여도 브리지 출력과 ADC 기준이 함께 움직여 코드는 안 바뀝니다. 이것을 ratiometric 측정이라고 합니다.

공짜로 정확도를 얻습니다. 브리지·포텐쇼미터·서미스터 분압처럼 여자 전압에 비례하는 센서라면 반드시 이렇게 하세요.

안 되는 경우: 열전대(자기 기전력), 전류 출력 센서(4~20 mA), 절대 전압을 재야 하는 경우.


🔌 실제 쓰임새

기준전압을 고르는 순서

  1. 비율 측정으로 바꿀 수 있는가? → 되면 여기서 끝. 기준 정확도가 안 중요해집니다.
  2. 필요한 유효 비트가 몇인가? → 총 오차 예산을 1/2N1/2^N 아래로.
  3. 온도 범위는? → TC × ΔT 를 계산해 예산에 넣습니다.
  4. 교정을 할 수 있는가? → 되면 초기 오차는 무시하고 TC 와 드리프트만 봅니다.
  5. 전원과 전류가 되는가? → 매몰 제너는 12 V 와 몇 mA 가 필요합니다.

배선

기준전압은 ADC 의 기준 핀까지 따로 갑니다.

  • ADC 의 REF 핀은 변환 순간 수 mA 를 순간적으로 당깁니다 (내부 커패시터를 충전). 배선 저항이 있으면 그만큼 기준이 처집니다.
  • 그래서 REF 핀 바로 옆에 0.1 µF + 1~10 µF 를 둡니다 (8-04).
  • 기준의 접지는 ADC 의 아날로그 접지에 한 점에서 만납니다 (12-03).

켜자마자 재면 안 됩니다

항목시간
기준 자체 기동50 µs ~ 10 ms
출력 커패시터 충전5RoutC5R_{out}C
열 평형수 분

전원을 넣자마자 재면 자기 발열로 값이 움직이는 중입니다. 정밀 측정은 워밍업을 기다립니다.


⚠️ 이상과 실제의 차이

이상실제왜
기준은 고정된 전압초기 오차 + TC + 드리프트 + 잡음네 가지가 따로 논다
데이터시트 TC 가 기울기박스 방식 최악값전 범위 최대-최소를 범위로 나눔
부하가 늘어도 그대로부하 조정률 ×수십 ppm/mA출력 임피던스가 0 이 아님
전원이 흔들려도 그대로라인 조정률 ×수십 ppm/VPSRR 이 무한이 아님
켜면 바로 정확수 분의 워밍업자기 발열
기판에 붙여도 같은 값납땜 후 수백 ppm 이동패키지 스트레스
MCU 내장 기준이면 충분±2 %, 부하에 따라 흔들림V_DD 는 기준이 아니라 전원

⚠️ 패키지 스트레스 — 납땜의 열과 기판 휨이 칩에 응력을 줘 값이 수백 ppm 움직입니다. 교정은 반드시 조립 후에 하세요. 부품 단품으로 교정한 값은 붙이는 순간 틀립니다.

⚠️ MCU 의 V_DD 를 기준으로 쓰면, USB 전원의 전압 변동(4.75~5.25 V)이 그대로 측정값에 들어갑니다. 같은 신호를 다른 날 재면 다른 값이 나옵니다.


시뮬레이션으로 확인

기준전압의 부하 조정률 회로도RREF500mΩ출력 임피던스 + 배선VREF2.5V이상적인 기준ILOAD1mAADC 가 당기는 전류RIN10MΩ누설RAWREFGND
기준전압의 부하 조정률워크벤치에서 열기 →
# examples/13-signal-chain/reference-loading.yaml
meta:
  name: 기준전압의 부하 조정률
  lesson: docs/13-signal-chain/08-voltage-reference.md
  note: |
    ADC 의 REF 핀은 변환 순간 전류를 당깁니다. 기준의 출력 임피던스와
    배선 저항이 있으면 그만큼 기준이 처지고, 그 처짐이 곧 측정 오차입니다.

    RREF 를 밀어 보세요 — 출력 임피던스가 커질수록 부하 전류에 따른
    처짐이 커집니다. 0.5 Ω 은 흔한 값이고, 1 mA 를 당기면 0.5 mV,
    2.5 V 기준에서 200 ppm 입니다. 12비트 1 LSB(0.61 mV) 와 같은 크기입니다.
components:
  - {ref: VREF, type: vdc, value: 2.5, label: 이상적인 기준}
  - {ref: RREF, type: r, value: 0.5, label: 출력 임피던스 + 배선, sweep: {min: 10m, max: 50}}
  - {ref: ILOAD, type: idc, value: 1m, label: ADC 가 당기는 전류}
  - {ref: RIN, type: r, value: 10MEG, label: 누설}
nets:
  RAW: [VREF.p, RREF.1]
  REF: [RREF.2, ILOAD.n, RIN.1]
  GND: [VREF.n, ILOAD.p, RIN.2]
analyses:
  - {type: op}
expect:
  # 2.5 V − 1 mA × 0.5 Ω = 2.4995 V. 200 ppm 처짐.
  - {measure: v, node: REF, value: 2.4995, tol: 0.1%}

돌려 보면 REF 가 2.4995 V — 0.5 mV 처졌습니다. 2.5 V 기준에서 200 ppm 이고, 이는 12비트 ADC 의 1 LSB 에 육박합니다. 기준 자체가 아무리 좋아도 배선에서 잃습니다.

RREF 를 밀어 보면 왜 REF 핀 바로 옆에 커패시터를 두라고 하는지 보입니다 — 커패시터가 순간 전류를 대신 대 주어 배선 저항을 안 지나게 합니다.


연습문제

문제 1. 3.3 V MCU 의 내장 ADC(12비트)로 0~3 V 센서를 읽습니다. V_DD 를 기준으로 쓰면 유효 비트는 몇인가? (V_DD 정확도 ±2 %)

연습 13-08-1 — V_DD 를 기준으로 써도 되는 경우와 안 되는 경우 회로도RD110kΩ비율식 센서 (윗가지)VDD3.3V3.3 V ±2 %RD210kΩ비율식 센서 (아랫가지)VA1.65V절대 출력 센서RA10MΩADC 입력RAILRATIOABSGND
연습 13-08-1 — V_DD 를 기준으로 써도 되는 경우와 안 되는 경우워크벤치에서 열기 →
풀이

±2 % 는 전체 스케일의 1/50 입니다.

2N=10.02=50⇒N=log⁡250=5.6 비트2^N = \frac{1}{0.02} = 50 \quad\Rightarrow\quad N = \log_2 50 = 5.6\ \text{비트}
기호
N개수count

12비트 ADC 를 쓰고 5.6비트를 얻습니다.

다만 이것은 절대 정확도입니다. 구분은 여전히 12비트로 됩니다 — 같은 순간의 두 측정값 차이는 정확합니다. 그래서

  • “지금 값이 몇 V 인가” → 5.6비트
  • “아까보다 얼마나 늘었나” → 12비트 (기준이 그 사이에 안 변했다면)

대책: 외부 기준(REF3025, ±0.2 %)을 쓰면 log⁡2(1/0.002)=9\log_2(1/0.002) = 9 비트. 여기에 한 번 교정하면 초기 오차가 지워져 TC 만 남아 11비트 이상이 됩니다.

문제 2. 25 ppm/°C 기준을 −40 ~ +85 °C 산업 범위에서 씁니다. 16비트 ADC 의 몇 LSB 가 온도로 날아가는가? (기준 5 V, 25 °C 교정)

exercises/13-08-ref-tempco.yaml
풀이

최악 편차는 교정점에서 가장 먼 −40 °C 입니다.

ΔT=25−(−40)=65 °C\Delta T = 25 - (-40) = 65\ \text{°C}
기호
T온도 또는 주기temperature or period
ΔVV=25×65=1625 ppm=0.1625 %\frac{\Delta V}{V} = 25 \times 65 = 1625\ \text{ppm} = 0.1625\ \%
기호
Delta V전압 변화량voltage changeV
V전압voltageV
ΔV=5×1625×10−6=8.1 mV\Delta V = 5 \times 1625\times10^{-6} = 8.1\ \text{mV}
기호
Delta V전압 변화량voltage changeV
V전압voltageV

16비트 1 LSB:

5216=76.3 μV\frac{5}{2^{16}} = 76.3\ \mu\text{V}
기호
mu이동도mobilitym²/V·s
8.1 mV76.3 μV=106 LSB\frac{8.1\ \text{mV}}{76.3\ \mu\text{V}} = \boxed{106\ \text{LSB}}
기호
mu이동도mobilitym²/V·s

16비트를 쓰는데 하위 7비트가 온도로 날아갑니다 (27=1282^7 = 128). 실질 9비트입니다.

대책 셋:

방법얻는 것잃는 것
2 ppm/°C 로 교체 (ADR4525)8.5 LSB 로 개선값 4배
온도를 같이 재서 보정실측 TC 곡선만큼교정 공정, 메모리
★ 비율 측정으로 전환TC 가 약분됨센서가 여자형이라야 함

세 번째가 가능하면 그게 답입니다. 브리지 센서라면 10 브리지·RTD 를 보세요.

문제 3. 데이터시트에 초기 오차 ±0.05 %, TC 3 ppm/°C, 장기 드리프트 20 ppm/√khr, 잡음 1.5 µV p-p (0.1~10 Hz) 라고 적힌 5 V 기준이 있습니다. 1년 뒤, 20~30 °C 에서 총 오차 예산은?

exercises/13-08-error-budget.yaml
풀이

각 항을 ppm 으로 맞춥니다.

항계산ppm
초기 오차0.05 %500
온도 (±5 °C)3 × 515
장기 (1년 = 8.76 khr)208.7620\sqrt{8.76}59
잡음1.5 µV / 5 V0.3

교정을 안 하면:

초기 오차가 압도적이라 RSS입력환산잡음 input-referred noise회로 곳곳의 잡음을 입력단 하나로 몰아 표현한 값으로, 신호와 직접 견줄 수 있어 판정에 씁니다.자세히 보기 → 로 합쳐도 거의 그대로입니다.

5002+152+592+0.32=504 ppm\sqrt{500^2+15^2+59^2+0.3^2} = 504\ \text{ppm}

★ 교정을 하면 (조립 후 한 번):

초기 오차가 지워집니다.

152+592+0.32=61 ppm\sqrt{15^2+59^2+0.3^2} = 61\ \text{ppm}

8배 좋아집니다. 그리고 남은 것의 대부분(59)은 장기 드리프트이므로, 더 좋게 하려면 재교정 주기를 줄여야 합니다 — 부품을 바꾸는 게 아니라.

여기서 배울 것: 교정 전에는 초기 오차가, 교정 후에는 드리프트가 지배합니다. 비싼 부품을 사기 전에 교정을 할 수 있는지 먼저 보세요 (09 교정).


이전 ← 07 락인 검출 개요 | 다음 → 09 교정 — 무엇을 지울 수 있고 무엇을 못 지우나