통신의 전기적 관점
한 줄 요약 — 프로토콜이 아니라 전기 특성을 봅니다. 거리, 속도, 노이즈 내성, 그리고 측정 회로에 주는 간섭(interference).
주요 인터페이스 비교
| I2C | SPI | UART | RS-485 | LVDS | |
|---|---|---|---|---|---|
| 선 수 | 2 | 4+ | 2 | 2 | 2/쌍 |
| 구동 | 오픈드레인 | 푸시풀 | 푸시풀 | 차동 | 차동 |
| 속도 | 100k~1M | 1~50M+ | ~1M | ~10M | ~1G |
| 거리 | < 1 m | < 30 cm | < 15 m | 1200 m | < 10 m |
| 노이즈 내성 | 낮음 | 낮음 | 중간 | 높음 | 높음 |
| EMI 방사 | 중간 | 높음 | 중간 | 낮음 | 매우 낮음 |
| 다중 장치 | 주소 | CS 선 | 1:1 | 주소 | 1:1 |
I2C — 풀업이 전부
계산은 9-05에서 다뤘습니다. 요약:
C_b정전용량 (b)capacitance (b)FR_max최대 저항maximum resistanceΩR_min최소 저항minimum resistanceΩt_r상승 시간rise timesV_DD전압 (DD)voltage (DD)V긴 버스 문제:
| 길이 | 용량 | 400 kHz 가능? |
|---|---|---|
| 10 cm (PCB) | ~20 pF | ✅ 여유 |
| 50 cm (케이블) | ~60 pF | ✅ |
| 1 m | ~120 pF | ⚠️ 풀업 낮춰야 |
| 2 m | ~250 pF | ❌ 버퍼 필요 |
해결: I2C 버스 버퍼/확장기(PCA9600, P82B715) 또는 다른 인터페이스 선택
SPI — 빠르지만 시끄럽습니다
| 장점 | 단점 |
|---|---|
| 고속, 전이중 | 선이 많음 (CS마다 추가) |
| 프로토콜 단순 | 거리 짧음 |
| 오버헤드 없음 | EMI 큼 (푸시풀 고속) |
측정 회로와 함께 쓸 때
| 문제 | 대책 |
|---|---|
| 클럭 에지가 아날로그에 결합 | 직렬 저항 22~100 Ω, 배선 분리 |
| 통신 중 전원 변동 | 디커플링, 변환 후 통신 |
| 긴 배선의 반사·링잉 | 직렬 종단 |
| 여러 장치의 CS 배선 | 필요한 것만 |
💡 SPI 클럭 속도를 필요한 최소로 낮추세요. ADC 데이터를 읽는 데 20 MHz가 필요 없다면 2 MHz로 낮추면 EMI가 크게 줄어듭니다.
UART — 단순하고 견고
| 항목 | 고려 |
|---|---|
| 보율 오차 | ±2% 이내 (크리스털 권장) |
| 레벨 | TTL(3.3/5 V) vs RS-232(±12 V) |
| 흐름 제어 | RTS/CTS |
| 거리 | TTL은 짧게, 멀면 RS-485/232 |
★ 차동 전송 — 긴 거리와 노이즈 환경
RS-485
| 특징 | 값 |
|---|---|
| 차동 전압 | ±1.5~5 V |
| 공통 모드 범위 | −7 ~ +12 V |
| 거리 | 1200 m @ 100 kbps |
| 종단(termination) | 양 끝에 120 Ω |
| 다중 장치 | 32~256 |
왜 강한가: 노이즈가 두 선에 똑같이 실리므로 차동 수신기가 제거합니다 (12-07).
LVDS
| 특징 | 값 |
|---|---|
| 차동 진폭 | 350 mV |
| 속도 | ~1 Gbps |
| EMI | 매우 낮음 (작은 진폭 + 차동 상쇄) |
| 전력 | 낮음 (전류 모드) |
💡 측정 시스템에서 고속 데이터를 보드 밖으로 보낼 때는 LVDS가 최선입니다. EMI가 극히 낮아 아날로그 프론트엔드에 영향을 주지 않습니다. 다채널 ADC의 데이터 출력이 대부분 LVDS인 이유입니다.
★ 절연 (isolation)
생체 측정이나 접지 루프(ground loop)접지 루프 ground loop접지가 두 경로로 이어져 만들어진 고리로, 자기장을 받아 전압을 만들어 냅니다.자세히 보기 →가 문제일 때 필수입니다.
| 방식 | 속도 | 절연 내압 | 비고 |
|---|---|---|---|
| 광커플러 | 느림 (~1 Mbps) | 높음 | 저렴, 전류 소비 |
| 디지털 아이솔레이터 (용량/자기) | 빠름 (~150 Mbps) | 높음 | ADuM, Si86xx 시리즈 |
| 절연 ADC | — | 높음 | 아날로그 단에서 절연 |
| 무선 | 다양 | 완전 | 완전 절연, 전력 필요 |
⚠️ 절연 인터페이스는 절연된 쪽에 전원도 필요합니다. 절연 DC-DC(자체 스위칭 노이즈 있음) 또는 배터리를 씁니다.
시뮬레이션으로 확인
# examples/10-mcu-interfacing/spi-termination.yaml
meta:
name: SPI 클럭의 직렬 종단
lesson: docs/10-mcu-interfacing/06-comm-electrical.md
note: RS를 0/33/100Ω으로 바꾸며 링잉을 비교
components:
- {ref: VG, type: vpulse, params: {v1: 0, v2: 3.3, td: 5n, tr: 1n, tf: 1n, pw: 25n, per: 50n}}
- {ref: RS, type: r, value: 33}
- {ref: LT, type: l, value: 80n, label: 배선 인덕턴스}
- {ref: CL, type: c, value: 12p, label: 수신 입력 용량}
nets:
SRC: [VG.p, RS.1]
MID: [RS.2, LT.1]
RX: [LT.2, CL.1]
GND: [VG.n, CL.2]
analyses:
- {type: tran, tstep: 50p, tstop: 150n}= 0이면 심한 오버슈트(overshoot)오버슈트 overshoot계단 입력에 응답이 목표값을 넘어 솟는 정도로, 감쇠비 하나로 정해집니다.자세히 보기 →와 링잉이, 33 Ω이면 크게 완화되는 것을 볼 수 있습니다.
f_ring주파수 (ring)frequency (ring)Hz⚖️ 부품 트레이드오프
| 선택 | ✅ 좋아지는 것 | ⚠️ 나빠지는 것 |
|---|---|---|
| I2C | 선 2개, 다중 장치 | 느림, 거리 짧음, 풀업(pull-up)풀업 pull-up아무도 신호선을 잡고 있지 않을 때 전압을 높은 쪽으로 끌어 두어, 떠 있는 입력을 없애는 저항입니다.자세히 보기 → 계산 필요 |
| SPI | 빠름, 단순 | 선 많음, EMI 큼, 거리 짧음 |
| 차동 (RS-485/LVDS) | 노이즈 내성·저EMI·장거리 | 부품(트랜시버), 선 2개/쌍, 종단 필요 |
| 절연 | 접지 루프 차단(cutoff), 안전 | 비쌈, 지연, 절연측 전원 필요 |
| 낮은 통신 속도 | EMI↓, 신뢰성↑ | 처리량↓ |
| 직렬 종단 저항 | 링잉(ringing)·EMI↓ | 지연, 부품 |
🔌 실제 쓰임새 — 측정 시스템 구성 예
| 구간 | 인터페이스 | 이유 |
|---|---|---|
| ADC → 디지털 | LVDS | 고속, 저EMI |
| 설정·제어 | SPI/I2C | 저속이면 충분 |
| 보드 → PC | 절연 USB 또는 무선 | 접지 루프 차단, 안전 |
| 여러 보드 간 동기 | LVDS 클럭 분배 | 지터(jitter) 최소 |
⚠️ 이상과 실제의 차이
| 이상 | 실제 |
|---|---|
| 신호가 깨끗 | 링잉, 오버슈트, 크로스토크(crosstalk)크로스토크 crosstalk옆 배선의 신호가 용량이나 자기장을 타고 내 신호에 섞여 들어오는 것입니다.자세히 보기 → |
| 거리 무관 | 용량·인덕턴스(inductance)로 속도 제한 |
| 통신이 다른 회로에 영향 없음 | 전원·접지·용량 결합(coupling) |
| 프로토콜만 맞으면 동작 | 전기 레벨·타이밍·종단이 맞아야 함 |
| 절연하면 완전 격리 | 절연 배리어의 기생 용량(parasitic capacitance)기생 용량 parasitic capacitance부품·배선·케이블이 원치 않게 갖는 커패시턴스로, 고임피던스 신호원에서 대역폭을 가장 먼저 잡아먹습니다.자세히 보기 →으로 공통 모드 전류가 흐름 |
연습문제
문제 1. 2 m 케이블로 I2C를 연결하려 합니다. 가능합니까?
풀이
직접 연결은 어렵습니다.
2 m 케이블의 용량은 약 200~250 pF입니다. 규격 한계 400 pF에는 들지만, 여기에 IC 핀과 PCB 용량이 더해지면 초과할 수 있습니다.
100 kHz라면:
R_max최대 저항maximum resistanceΩ→ 아슬아슬하게 가능
400 kHz라면:
R_max최대 저항maximum resistanceΩ→ 풀업을 1 kΩ으로 낮춰야 하고, 전류가 3 mA로 늘어남
게다가 노이즈 문제가 심각합니다. 2 m 케이블은 안테나 역할을 해 노이즈를 주워오고, I2C는 노이즈 내성이 낮습니다.
권장 대안:
- I2C 버스 확장기 (P82B715) — 케이블 구간의 전류 구동력을 높임
- 차동으로 변환 (PCA9615, I2C over RS-485)
- 다른 인터페이스 — RS-485, CAN
- 원격에 MCU를 두고 로컬 I2C + 원격 통신은 차동으로
문제 2. 생체 신호 측정 보드를 PC에 연결합니다. 어떤 인터페이스를 쓰겠습니까?
exercises/10-06-pc-interface.yaml풀이
절연이 최우선입니다.
옵션 비교:
| 방식 | 절연 | 속도 | 전력 | 평가 |
|---|---|---|---|---|
| USB 직결 | ❌ | 빠름 | PC 급전 | 접지 루프 + 안전 문제 |
| 절연 USB (아이솔레이터) | ✅ | 12 Mbps | 절연측 전원 필요 | 실용적 |
| Bluetooth/BLE | ✅ 완전 | 느림 (~1 Mbps) | 배터리 | 채널 적을 때 최선 |
| Wi-Fi | ✅ 완전 | 빠름 | 배터리 소모 큼 | 다채널에 적합 |
| 광섬유 | ✅ 완전 | 매우 빠름 | 양쪽 전원 | 최고 성능, 비쌈 |
권장:
- 채널 수가 적고 배터리 구동 가능 → BLE (완전 절연, 간단, 저전력)
- 다채널 고속 → Wi-Fi 또는 광섬유
- 유선이 필요하고 전력도 받아야 함 → 절연 USB 아이솔레이터 (ADuM4160 등) + 절연 DC-DC
⚠️ 절연 DC-DC의 스위칭 노이즈에 주의하세요. 절연 배리어의 기생 용량을 통해 공통 모드 전류가 흐릅니다. 저용량 절연 소자를 고르고, 공통 모드 초크를 추가하세요.
가장 조용한 구성: 배터리 + BLE. 대지와 전기적 연결이 전혀 없어 접지 루프도, 60 Hz 픽업 경로도 없습니다.
이전 ← 05 PWM과 구동 | 다음 → 07 ADC 의 실제 한계