MCU/DAQ 인터페이스
한 줄 요약 — 아날로그를 디지털로 넘기는 경계. 드라이버·기준전압(voltage reference)·타이밍·절연 네 가지가 성능을 좌우합니다.
전체 구조
주 경로
ADC 로 옆에서 들어오는 두 개가 결과 정확도를 좌우합니다.
| 옆가지 | 어디로 들어가나 | 왜 중요한가 |
|---|---|---|
| 기준전압 IC + 필터 | ADC의 REF 핀 | 모든 측정값에 곱해진다. 여기 드리프트가 곧 전체 오차 |
| 저지터 클럭 | ADC의 샘플링 클럭 | 지터가 곧 샘플 시점의 오차 → 고주파 신호에서 SNR 상한을 만든다 |
1. ADC 드라이버
| 요소 | 역할 | 선정 |
|---|---|---|
| OP앰프 | 낮은 출력 임피던스(impedance)출력 임피던스 output impedance회로가 부하에 전압을 얼마나 굳건히 유지해 주는지를 나타내는 값으로, 낮을수록 부하에 덜 흔들립니다.자세히 보기 →, 빠른 정착 | 정착 시간(settling time)정착 시간 settling time출력이 목표값의 허용 오차 안으로 들어와 머무를 때까지 걸리는 시간으로, 다채널 측정의 속도 상한을 정합니다.자세히 보기 →이 샘플링 주기 내 |
| 용량성 부하 분리 (발진 방지) | 10~50 Ω (7-07) | |
| 샘플링 전하 공급 + AA |
정착 시간 확인
C_sample샘플링 커패시터sampling capacitorFR_iso분리 저항isolation resistanceΩR_sw스위치 저항switch resistanceΩt_acq획득 시간acquisition times예: =22 Ω, =1 kΩ, =10 pF, 12비트
tau시정수time constantst_acq획득 시간acquisition times샘플링 주기가 1 µs면 충분합니다 ✅
OP앰프 선정 기준
| 항목 | 요구 |
|---|---|
| 정착 시간 (0.01%) | 샘플링 주기의 1/3 이내 |
| 대역폭(bandwidth) | 샘플링률 이상 |
| 출력 스윙 | ADC 입력 범위 전체 (레일투레일) |
| 잡음 | 앞단 대비 작게 |
예: OPA320, ADA4841, OPA365
2. 기준전압 — 정확도의 상한
| 항목 | 요구 | 이유 |
|---|---|---|
| 초기 정확도 | ±0.05~0.1% | 절대 정확도 |
| 온도 드리프트 | < 10 ppm/°C | 교정으로 못 잡음 |
| 잡음 | LSB보다 작게 | 모든 측정에 곱해짐 |
| 출력 임피던스 | ADC 요구 충족 | 샘플링 전류 공급 |
계산 — 16비트
LSB = V
기준전압 잡음 목표: < 3 µVrms (피크 9 µV = LSB의 24%)
| 소자 | 잡음 (0.1~10 Hz) |
|---|---|
| REF3025 | 25 µVpp |
| ADR4525 | 2.1 µVpp ✅ |
| LM4040 (션트) | 큼 |
| 제너 | 매우 큼 ❌ |
⚠️ ADC를 24비트로 바꿔도 기준전압이 그대로면 실효 분해능(resolution)분해능 resolutionADC 가 구분할 수 있는 가장 작은 전압 차이로, 비트 수와 기준전압으로 정해집니다.자세히 보기 →은 변하지 않습니다.
켈빈 연결
REF IC 출력에서 배선 두 가닥을 뽑습니다.
| 배선 | 어디로 | 하는 일 |
|---|---|---|
| force | ADC REF+ | 전류가 흐르는 굵은 배선. 여기서 만큼 전압이 떨어진다 |
| sense | ADC의 sense 핀 (지원 시) | 전류가 거의 안 흐르는 배선. ADC가 “실제 REF 전압”을 이 선으로 읽으므로 force 쪽 강하가 상쇄된다 |
기준전압 배선(trace)의 저항에서 생기는 강하를 배제합니다.
기준전압 배선(trace)의 저항에서 생기는 강하를 배제합니다.
3. 클럭과 타이밍
지터가 SNR을 제한합니다
f_sig신호 주파수signal frequencyHzSNR신호 대 잡음비signal-to-noise ratiodBt_jitter시간 (jitter)time (jitter)s| 신호 | 지터(jitter) | SNR 한계 |
|---|---|---|
| 1 kHz | 1 ns | 104 dB |
| 5 kHz | 1 ns | 90 dB ✅ |
| 100 kHz | 1 ns | 64 dB |
| 100 kHz | 10 ps | 104 dB |
생체 신호(kHz 이하)에서는 ns급 지터로 충분합니다.
권장
| 항목 | 지침 |
|---|---|
| ADC 클럭 | PLL을 거치지 않은 크리스털 직결 (PLL은 지터 증가) |
| 트리거 | 하드웨어 타이머 (소프트웨어 지터 회피) |
| 다채널 동기 | 공통 클럭 분배, LVDS |
| 변환 중 | 디지털 활동 정지 (10-01) |
4. ADC 종류 선택
| 종류 | 분해능 | 속도 | 특징 | 적합 |
|---|---|---|---|---|
| SAR | 12~18비트 | 100 kSPS~10 MSPS | 지연 없음, 멀티플렉싱 쉬움 | 다채널 범용 |
| ΔΣ | 16~32비트 | 1 SPS~100 kSPS | 내장 오버샘플링(oversampling)오버샘플링 oversampling필요한 것보다 빠르게 샘플링해 평균 내면 분해능이 올라가고 안티에일리어싱 필터가 쉬워집니다.자세히 보기 → → AA 필터 간단 | 생체 신호 |
| 파이프라인 | 12~16비트 | 10 MSPS~1 GSPS | 지연 있음 | 고속 |
| 통합형(dual-slope) | 높음 | 매우 느림 | 노이즈 제거 우수 | 계측기 |
💡 생체 신호 다채널에는 ΔΣ 기반 전용 AFE 칩(ADS1299, RHD2000, Intan 등)이 표준입니다. PGA + ΔΣ ADC + 디지털 필터가 채널마다 집적되어 있어, 외부 부품이 극도로 적습니다.
전용 AFE 칩의 이점
| 이점 | 설명 |
|---|---|
| 채널당 부품 최소 | 저항 1~2개, 커패시터(capacitor) 2~3개 |
| DC 오프셋 내성 | 24비트라 큰 오프셋도 수용 (13-05) |
| PGA 내장 | 게인 1~24 프로그래머블 |
| 내장 임피던스 측정 | 전극(electrode) 상태 모니터링 |
| 내장 DRL | |
| 동시 샘플링 | 롤링 셔터 문제 없음 |
5. 절연 — 생체 측정에서 필수
| 방식 | 속도 | 비고 |
|---|---|---|
| 광커플러 | ~1 Mbps | 저렴, 느림 |
| 디지털 아이솔레이터 | ~150 Mbps | ADuM, Si86xx |
| 절연(isolation) USB | 12 Mbps | ADuM4160 |
| 무선 (BLE/Wi-Fi) | 다양 | 완전 절연 ✅ |
| 광섬유 | 매우 빠름 | 최고, 비쌈 |
★ 왜 필요한가
PC의 접지는 대지에 연결되어 있습니다. USB로 직결하면:
- 접지 루프(ground loop)접지 루프 ground loop접지가 두 경로로 이어져 만들어진 고리로, 자기장을 받아 전압을 만들어 냅니다.자세히 보기 → → 60 Hz 험 (12-08)
- 안전 문제 — 고장 시 인체에 전류가 흐를 수 있음
- PC의 스위칭 노이즈 유입
절연 시 주의: 절연 배리어에도 기생 용량(수 pF)이 있어 공통 모드 전류가 흐릅니다. 저용량 소자를 고르고 공통 모드 초크를 추가하세요.
💡 가장 조용하고 안전한 구성: 배터리 + BLE/Wi-Fi. 대지와 전기적 연결이 아예 없습니다.
데이터 대역폭 계산
f_s샘플링 주파수sampling frequencyHzN_ch개수 (ch)count (ch)| 시스템 | 계산 | 데이터율 |
|---|---|---|
| 32ch × 20 kSPS × 16비트 | 1.28 MB/s | |
| 256ch × 30 kSPS × 16비트 | 15.4 MB/s | |
| 2500ch × 20 kSPS × 12비트 | 75 MB/s ❌ |
| 인터페이스 | 실효 대역폭 |
|---|---|
| UART 921600 | 90 kB/s |
| USB 2.0 FS | 1 MB/s |
| USB 2.0 HS | ~35 MB/s |
| USB 3.0 | ~350 MB/s |
| BLE | ~10 kB/s ❌ |
| Wi-Fi (실효) | 1~5 MB/s |
| 이더넷 1G | ~100 MB/s |
⚠️ 채널이 많아지면 데이터 전송이 병목이 됩니다. 대책:
- 온보드 압축 (무손실 또는 스파이크(spike)만 추출)
- 온보드 스파이크 검출 — 파형 대신 이벤트만 전송
- 데시메이션 (필요한 대역만)
- 고속 인터페이스 (USB 3.0, 이더넷)
시뮬레이션으로 확인
# examples/16-case-studies/adc-driver.yaml
meta:
name: ADC 드라이버와 샘플링 정착
lesson: docs/16-case-studies/04-daq-interface.md
note: R_ISO를 0/22/100Ω으로 바꾸며 안정성과 정착 시간을 비교
components:
- {ref: VP, type: vdc, value: 3.3}
- {ref: VIN, type: vpulse, params: {v1: 0.5, v2: 2.5, td: 1u, tr: 10n, tf: 10n, pw: 5u, per: 10u}}
- {ref: U1, type: opamp, model: OPA320}
- {ref: RISO, type: r, value: 22}
- {ref: CF, type: c, value: 1n, label: ADC 입력 필터}
- {ref: RSW, type: r, value: 1k, label: ADC 스위치}
- {ref: CS, type: c, value: 10p, label: 샘플링 커패시터}
nets:
VCC: [VP.p, U1.'v+']
IN: [VIN.p, U1.'in+']
OUT: [U1.out, U1.'in-', RISO.1]
ADC: [RISO.2, CF.1, RSW.1]
CAP: [RSW.2, CS.1]
GND: [VP.n, VIN.n, CF.2, CS.2, U1.'v-']
analyses:
- {type: tran, tstep: 1n, tstop: 20u}
expect:
- {measure: v, node: CAP, at: 3u, analysis: tran, value: 2.5, tol: 0.02%}= 0이면 OP앰프가 1 nF 부하로 발진할 수 있고, 100 Ω이면 정착이 느려집니다. 22 Ω이 균형점입니다.
⚖️ 트레이드오프
| 선택 | ✅ | ⚠️ |
|---|---|---|
| SAR ADC | 지연 없음, 멀티플렉싱 쉬움 | AA 필터 부담 |
| ΔΣ ADC | 고분해능, AA 간단, DC 오프셋 수용 | 지연(latency), 느림 |
| 전용 AFE 칩 | 채널당 부품 최소, 검증됨 | 유연성↓, 특정 용도에 최적화 |
| 개별 부품 구성 | 최적화 자유 | 부품↑, 설계·검증 부담 |
| 큰 | 발진 방지 확실 | 정착 느림 |
| 작은 | 빠른 정착 | 발진 위험 |
| 절연 | 안전, 접지 루프 제거 | 비용, 지연, 절연측 전원 |
| 무선 | 완전 절연, 편의 | 대역폭 제한, 전력, 지연 |
🔌 실제 구성 예
소채널 연구용 (8~32ch)
- 채널당 외부 부품: 저항 1개 + 커패시터 2개
- 데이터: 32ch × 1 kSPS × 3B = 96 kB/s ✅
다채널 고속 (256ch+)
- FPGA에서 온보드 처리로 데이터량 감축
이식형 무선
- 전력이 최우선 제약
- 스파이크 이벤트만 전송
⚠️ 이상과 실제의 차이
| 이상 | 실제 |
|---|---|
| ADC가 정확 | INL/DNL, 미싱 코드, 기준전압 오차 |
| 샘플링이 즉시 | 획득 시간(acquisition time)획득 시간 acquisition timeADC 가 샘플링 커패시터를 채우는 데 쓰는 시간으로, 신호원 임피던스가 높으면 모자라게 됩니다.자세히 보기 → 필요 |
| 채널 독립 | 멀티플렉스 메모리 효과 (10-03) |
| 클럭이 정확 | 지터 |
| 절연하면 완전 격리 | 배리어 기생 용량(parasitic capacitance)기생 용량 parasitic capacitance부품·배선·케이블이 원치 않게 갖는 커패시턴스로, 고임피던스 신호원에서 대역폭을 가장 먼저 잡아먹습니다.자세히 보기 →으로 공통 모드 전류 |
| 데이터가 다 전송됨 | 대역폭 병목 |
연습문제
문제 1. 64채널, 30 kSPS, 16비트. 데이터율과 적합한 인터페이스는?
exercises/16-04-spi-rise.yaml풀이
| 인터페이스 | 가능? |
|---|---|
| UART | ❌ |
| USB 2.0 FS (1 MB/s) | ❌ |
| USB 2.0 HS (35 MB/s) | ✅ |
| Wi-Fi (1~5 MB/s) | ⚠️ 아슬아슬 |
| BLE | ❌ |
| 이더넷 | ✅ |
USB 2.0 HS 또는 이더넷을 씁니다. 무선이 필요하면 온보드 압축이나 데시메이션(decimation)이 필요합니다.
문제 2. 16비트 ADC(±2.5 V)에 기준전압 잡음 20 µVrms인 소자를 썼습니다. 실효 분해능은?
exercises/16-04-reference-noise.yaml풀이
LSB = V
기준전압 잡음이 풀스케일에서 만드는 오차:
mu이동도mobilitym²/V·s피크(3σ) = 60 µV ≈ 0.8 LSB
약 15비트 실효 (1비트 손실).
더 나쁜 경우: 잡음 50 µVrms면 피크 150 µV = 2 LSB → 14비트
개선: ADR4525(2.1 µVpp) 사용 → 손실 거의 없음
이전 ← 03 저잡음 전원 | 다음 → 05 액추에이터 간섭