통신의 전기적 관점

한 줄 요약 — 프로토콜이 아니라 전기 특성을 봅니다. 거리, 속도, 노이즈 내성, 그리고 측정 회로에 주는 간섭(interference).


주요 인터페이스 비교

I2CSPIUARTRS-485LVDS
선 수24+222/쌍
구동오픈드레인푸시풀푸시풀차동차동
속도100k~1M1~50M+~1M~10M~1G
거리< 1 m< 30 cm< 15 m1200 m< 10 m
노이즈 내성낮음낮음중간높음높음
EMI 방사중간높음중간낮음매우 낮음
다중 장치주소CS 선1:1주소1:1

I2C — 풀업이 전부

계산은 9-05에서 다뤘습니다. 요약:

Rmin=VDD−0.43 mA,Rmax=tr0.8473 CbR_{min} = \frac{V_{DD}-0.4}{3\ \text{mA}}, \qquad R_{max} = \frac{t_r}{0.8473\,C_b}
기호
C_b정전용량 (b)capacitance (b)F
R_max최대 저항maximum resistanceΩ
R_min최소 저항minimum resistanceΩ
t_r상승 시간rise times
V_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(자체 스위칭 노이즈 있음) 또는 배터리를 씁니다.


시뮬레이션으로 확인

SPI 클럭의 직렬 종단 회로도RS33ΩLT80nH배선 인덕턴스VGCL12pF수신 입력 용량SRCMIDRXGND
SPI 클럭의 직렬 종단워크벤치에서 열기 →
# 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}

RSR_S = 0이면 심한 오버슈트(overshoot)오버슈트 overshoot계단 입력에 응답이 목표값을 넘어 솟는 정도로, 감쇠비 하나로 정해집니다.Mp=e−πζ/1−ζ2M_p = e^{-\pi\zeta/\sqrt{1-\zeta^2}}자세히 보기 →와 링잉이, 33 Ω이면 크게 완화되는 것을 볼 수 있습니다.

fring=12π80n×12p≈162 MHzf_{ring} = \frac{1}{2\pi\sqrt{80\text{n}\times12\text{p}}} \approx 162\ \text{MHz}
기호
f_ring주파수 (ring)frequency (ring)Hz

⚖️ 부품 트레이드오프

선택✅ 좋아지는 것⚠️ 나빠지는 것
I2C선 2개, 다중 장치느림, 거리 짧음, 풀업(pull-up)풀업 pull-up아무도 신호선을 잡고 있지 않을 때 전압을 높은 쪽으로 끌어 두어, 떠 있는 입력을 없애는 저항입니다.자세히 보기 → 계산 필요
SPI빠름, 단순선 많음, EMI 큼, 거리 짧음
차동 (RS-485/LVDS)노이즈 내성·저EMI·장거리부품(트랜시버), 선 2개/쌍, 종단 필요
절연접지 루프 차단(cutoff), 안전비쌈, 지연, 절연측 전원 필요
낮은 통신 속도EMI↓, 신뢰성↑처리량↓
직렬 종단 저항링잉(ringing)·EMI↓지연, 부품

🔌 실제 쓰임새 — 측정 시스템 구성 예

전극AFE증폭 + 필터ADCLVDS (차동 고속)FPGA / MCU설정·제어는 여기서 I2C/SPI 로 AFE·ADC 에 내려보낸다절연 USB 또는 무선 — 접지 루프 차단PC
구간인터페이스이유
ADC → 디지털LVDS고속, 저EMI
설정·제어SPI/I2C저속이면 충분
보드 → PC절연 USB 또는 무선접지 루프 차단, 안전
여러 보드 간 동기LVDS 클럭 분배지터(jitter) 최소

⚠️ 이상과 실제의 차이

이상실제
신호가 깨끗링잉, 오버슈트, 크로스토크(crosstalk)크로스토크 crosstalk옆 배선의 신호가 용량이나 자기장을 타고 내 신호에 섞여 들어오는 것입니다.자세히 보기 →
거리 무관용량·인덕턴스(inductance)로 속도 제한
통신이 다른 회로에 영향 없음전원·접지·용량 결합(coupling)
프로토콜만 맞으면 동작전기 레벨·타이밍·종단이 맞아야 함
절연하면 완전 격리절연 배리어의 기생 용량(parasitic capacitance)기생 용량 parasitic capacitance부품·배선·케이블이 원치 않게 갖는 커패시턴스로, 고임피던스 신호원에서 대역폭을 가장 먼저 잡아먹습니다.자세히 보기 →으로 공통 모드 전류가 흐름

연습문제

문제 1. 2 m 케이블로 I2C를 연결하려 합니다. 가능합니까?

연습 10-06-1 — 2 m 케이블로 I2C 를 끌 수 있나 회로도RP2.2kΩ풀업VDD3.3VVCCB150pF2 m 케이블 + 장치SW1SW_IDEAL개방 드레인VPSDACTLGND
연습 10-06-1 — 2 m 케이블로 I2C 를 끌 수 있나워크벤치에서 열기 →
풀이

직접 연결은 어렵습니다.

2 m 케이블의 용량은 약 200~250 pF입니다. 규격 한계 400 pF에는 들지만, 여기에 IC 핀과 PCB 용량이 더해지면 초과할 수 있습니다.

100 kHz라면:

Rmax=1000 ns0.8473×250 pF≈4.7 kΩR_{max} = \frac{1000\ \text{ns}}{0.8473\times250\ \text{pF}} \approx 4.7\ \text{k}\Omega
기호
R_max최대 저항maximum resistanceΩ

→ 아슬아슬하게 가능

400 kHz라면:

Rmax=300 ns0.8473×250 pF≈1.4 kΩR_{max} = \frac{300\ \text{ns}}{0.8473\times250\ \text{pF}} \approx 1.4\ \text{k}\Omega
기호
R_max최대 저항maximum resistanceΩ

→ 풀업을 1 kΩ으로 낮춰야 하고, 전류가 3 mA로 늘어남

게다가 노이즈 문제가 심각합니다. 2 m 케이블은 안테나 역할을 해 노이즈를 주워오고, I2C는 노이즈 내성이 낮습니다.

권장 대안:

  1. I2C 버스 확장기 (P82B715) — 케이블 구간의 전류 구동력을 높임
  2. 차동으로 변환 (PCA9615, I2C over RS-485)
  3. 다른 인터페이스 — RS-485, CAN
  4. 원격에 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 의 실제 한계