논리 레벨과 노이즈 마진

한 줄 요약 — 디지털은 “0과 1”이 아니라 전압 범위입니다. 그 범위의 여유가 노이즈 마진(noise margin)입니다.


논리 레벨의 정의

기호의미
VOHV_{OH}출력이 보장하는 High 최소 전압
VOLV_{OL}출력이 보장하는 Low 최대 전압
VIHV_{IH}입력이 High로 인식하는 최소 전압
VILV_{IL}입력이 Low로 인식하는 최대 전압

노이즈 마진:

NMH=VOH−VIH,NML=VIL−VOLNM_H = V_{OH} - V_{IH}, \qquad NM_L = V_{IL} - V_{OL}
기호
M_H상호 인덕턴스 (H)mutual inductance (H)H
M_L부하 상호 인덕턴스load mutual inductanceH
N개수count
V_IH입력 High 문턱input high thresholdV
V_IL입력 Low 문턱input low thresholdV
V_OH출력 High 전압output high voltageV
V_OL출력 Low 전압output low voltageV

주요 로직 패밀리

패밀리VCCV_{CC}VIHV_{IH}VILV_{IL}VOHV_{OH}VOLV_{OL}
TTL / LVTTL5 / 3.3 V2.0 V0.8 V2.4 V0.4 V
CMOS (5V)5 V3.5 V1.5 V4.9 V0.1 V
LVCMOS 3.3V3.3 V2.0 V0.8 V3.2 V0.1 V
LVCMOS 1.8V1.8 V1.17 V0.63 V1.7 V0.1 V

⚠️ CMOS는 VCCV_{CC}에 비례하는 문턱(보통 0.3VCCV_{CC} / 0.7VCCV_{CC})을 갖고, TTL은 고정 문턱(0.8/2.0 V)을 갖습니다. 서로 연결할 때 이 차이가 문제가 됩니다.

3.3 V → 5 V 연결

방향가능?
3.3 V 출력 → 5 V TTL 입력✅ (VOHV_{OH} 3.2 V > VIHV_{IH} 2.0 V)
3.3 V 출력 → 5 V CMOS 입력❌ (3.2 V < 3.5 V) — 레벨 시프터 필요
5 V 출력 → 3.3 V 입력❌ 과전압 (5 V 내성 핀이 아니면)

→ 05 풀업·오픈드레인·레벨 시프터


★ 측정 회로에서 디지털 신호가 문제가 되는 이유

디지털 신호는 빠른 에지를 가지고, 그것이 광대역 노이즈원이 됩니다.

fnoise≈1πtrf_{noise} \approx \frac{1}{\pi t_r}
기호
f_noise주파수 (noise)frequency (noise)Hz
t_r상승 시간rise times
상승시간노이즈 대역
1 ns (고속 CMOS)318 MHz
5 ns64 MHz
50 ns6.4 MHz

결합 경로:

  1. 전원: 스위칭 시 전류 펄스 → 전원 변동 (8-04)
  2. 접지: 리턴 전류가 접지 전위를 흔듦 (12-03)
  3. 용량 결합: 인접 배선으로 (12-04)
  4. 방사: 루프가 안테나로

대책

대책효과
직렬 저항 (22~100 Ω)에지를 늦춰 고조파 감소, 반사 억제
슬루레이트 제한 출력 사용일부 MCU는 GPIO 속도 설정 가능
필요한 최소 속도만 사용32 MHz면 되는데 168 MHz로 돌릴 이유 없음
디지털·아날로그 배선 분리크로스토크크로스토크 crosstalk옆 배선의 신호가 용량이나 자기장을 타고 내 신호에 섞여 들어오는 것입니다.자세히 보기 → 감소
디커플링디커플링 decoupling소자 바로 옆에 둔 커패시터가 순간 전류를 대신 대 주어 전원이 출렁이지 않게 합니다.자세히 보기 → 강화전원 결합 감소

💡 MCU의 GPIO 출력 슬루레이트(slew rate)슬루레이트 slew rate출력이 오를 수 있는 최고 속도로, 이걸 넘기면 정현파가 삼각파로 잘려 나옵니다.fmax=SR2πVpf_{max} = \frac{\mathrm{SR}}{2\pi V_p}자세히 보기 →를 “Low”로 설정하는 것만으로 노이즈가 크게 줄어듭니다. STM32의 GPIO_SPEED_FREQ_LOW 같은 설정입니다. 대부분의 신호는 빠를 필요가 없습니다.


계산 예제

노이즈 마진 계산

3.3 V LVCMOS 출력 → LVCMOS 입력:

NMH=3.2−2.0=1.2 VNM_H = 3.2-2.0 = 1.2\ \text{V}
기호
M_H상호 인덕턴스 (H)mutual inductance (H)H
N개수count
NML=0.8−0.1=0.7 VNM_L = 0.8-0.1 = 0.7\ \text{V}
기호
M_L부하 상호 인덕턴스load mutual inductanceH
N개수count

0.7 V의 여유가 있습니다. 접지 바운스가 0.7 V를 넘으면 오동작합니다.

1.8 V 시스템이라면:

NML=0.63−0.1=0.53 VNM_L = 0.63-0.1 = 0.53\ \text{V}
기호
M_L부하 상호 인덕턴스load mutual inductanceH
N개수count

저전압일수록 노이즈 마진이 작습니다.


⚖️ 부품 트레이드오프

선택✅ 좋아지는 것⚠️ 나빠지는 것
높은 전원 전압 (5 V)노이즈 마진 큼, 견고소비 전력↑ (P∝V2P \propto V^2), 속도 느림, 아날로그 헤드룸헤드룸 headroom신호가 포화하기까지 남은 여유로, 이것이 모자라면 큰 입력에서 파형이 잘려 나갑니다.자세히 보기 →은 유리
낮은 전원 전압 (1.8 V)저전력, 고속노이즈 마진 작음, 레벨 변환 필요
고속 로직빠른 처리EMI↑, 소비 전력↑, 신호 무결성(signal integrity) 관리 필요
저속 로직 / 슬루 제한EMI↓, 반사(reflection)↓타이밍 여유 감소
직렬 종단(termination) 저항반사·EMI↓신호 지연, 부품 수↑
슈미트 트리거(Schmitt trigger) 입력노이즈 내성↑, 느린 에지 허용지연↑, 문턱 정확도↓

🔌 실제 쓰임새

자리고려
MCU ↔ 센서 (SPI/I2C)레벨 호환, 풀업(pull-up)풀업 pull-up아무도 신호선을 잡고 있지 않을 때 전압을 높은 쪽으로 끌어 두어, 떠 있는 입력을 없애는 저항입니다.자세히 보기 → 값
MCU ↔ ADC타이밍과 노이즈 둘 다
긴 배선(trace)종단, 차동 전송 고려
아날로그 근처 통과배선 분리, 직렬 저항
클럭슬루 제한, 접지 가드

⚠️ 이상과 실제의 차이

이상실제
0 또는 1전이 구간이 존재하고, 그동안 관통 전류가 흐름
즉시 전환유한한 상승·하강 시간
입력 전류 0누설 + 입력 용량 충전 전류
노이즈 없음에지가 광대역 노이즈원
문턱이 고정온도·전원 전압에 따라 이동

연습문제

문제 1. 3.3 V CMOS 출력을 5 V CMOS 입력에 직접 연결하면?

연습 9-01-1 — 3.3 V 출력을 5 V 입력에 물리면 회로도R13.3kΩ직렬 저항V55V5 V 쪽 출력 HighDCLAMP1N41483.3 V 소자의 ESD 다이오드RIN1MΩ입력 누설V333.3V3.3 V 전원DRVPINVDDVDDGND
연습 9-01-1 — 3.3 V 출력을 5 V 입력에 물리면워크벤치에서 열기 →
풀이

5 V CMOS의 VIHV_{IH}는 3.5 V인데 3.3 V 출력의 VOHV_{OH}는 최대 3.3 V입니다.

High를 인식하지 못하거나 불안정합니다. 게다가 문턱 근처에 머물면 입력단의 P/N 트랜지스터(transistor)가 동시에 켜져 관통 전류가 흘러 발열합니다.

해결: 레벨 시프터(74LVC1T45 등), 또는 5 V 쪽을 TTL 입력(74HCT 시리즈)으로 교체 (VIHV_{IH} = 2.0 V) → 05

문제 2. 접지 바운스가 0.5 V 발생합니다. 3.3 V LVCMOS 시스템에서 문제가 됩니까?

exercises/09-01-ground-bounce.yaml
풀이

NML=0.7NM_L = 0.7 V이므로 0.5 V는 아슬아슬하게 견딥니다. 하지만 여유가 0.2 V뿐이라 온도·전압 변동에서 오동작할 수 있습니다.

그리고 더 중요한 것: 같은 보드에 아날로그 회로가 있다면 0.5 V의 접지 바운스는 아날로그에 재앙입니다. 50 µV 신호의 10,000배입니다.

디지털은 견뎌도 아날로그는 못 견딥니다. 이것이 접지 설계가 중요한 이유입니다.


다음 → 02 논리 게이트와 부울대수