먼저 알아둘 용어
ADC: 아날로그-디지털 변환기(Analog-to-Digital Converter)입니다. 연속적인 입력 전압을 정해진 단계의 숫자로 바꾸는 회로입니다.
비교기와 임계값: 비교기는 두 입력의 전압을 비교해 출력 상태를 정합니다. 임계값은 입력이 어느 구간에 있는지 판정하는 기준 전압입니다.
플래시 구조: 임계값이 서로 다른 여러 비교기가 같은 입력을 동시에 비교하는 방식입니다. 비교기 수와 최종 출력 비트 수를 구분해야 합니다.
온도계 코드와 인코더: 온도계 코드는 입력이 커질수록 낮은 임계값부터 차례로 1이 채워지는 형태입니다. 인코더는 그 상태를 더 적은 비트의 이진 코드로 바꾸는 회로입니다.
비교는 동시에, 부호화는 그다음
플래시 ADC는 여러 비교기가 서로 다른 기준값과 같은 입력 전압을 병렬로 비교하는 아날로그-디지털 변환 구조입니다. 기본 N비트 구조에는 2^N−1개의 비교기가 필요합니다. 2비트 예시에서는 비교기 세 개가 입력을 네 구간으로 나눕니다. 버튼마다 저항을 달아 MCU의 ADC 입력에 서로 다른 전압을 넣는 버튼 래더와는 역할이 다릅니다.
설명용으로 0 V와 4 V 사이를 같은 저항 네 개로 나누고, 비교 기준을 1·2·3 V로 정합니다. 기준 회로와 비교기는 이상적이고 입력 부하는 없다고 가정합니다. 아래 표에서는 입력이 기준값 이상이면 비교 결과를 1로 정의합니다. 실제 경계점에서는 오프셋·잡음·지연 때문에 판정이 흔들릴 수 있습니다.
입력 Vin → 1 V·2 V·3 V와 병렬 비교
C3·C2·C1 → 000, 001, 011, 111
인코더 → 00, 01, 10, 11
비교기 세 비트가 출력 세 비트는 아닙니다
C1은 1 V, C2는 2 V, C3은 3 V 기준의 비교 결과입니다. 입력이 커질수록 낮은 임계값부터 1이 채워지는 형태를 온도계 코드라고 부릅니다. 인코더는 이 네 상태를 두 비트로 바꿉니다. 따라서 비교기의 선 세 개를 그대로 3비트 이진수로 읽으면 안 됩니다.
이상적 2.4 V 입력이면 C3·C2·C1은 011이고 출력 코드는 10입니다. 이 코드는 2 V 이상 3 V 미만 구간을 나타낼 뿐 정확한 2.4 V를 복원하지 못합니다. 0 V 미만이나 4 V 초과 입력은 아래 설명 범위 밖이며, 핀의 허용 입력을 넘겨도 된다는 뜻이 아닙니다.
Vin (V) C3 C2 C1 Binary
0 <= Vin < 1 0 0 0 00
1 <= Vin < 2 0 0 1 01
2 <= Vin < 3 0 1 1 10
3 <= Vin <= 4 1 1 1 113비트는 별도의 일곱 임계값 구조입니다
같은 0–4 V 범위를 이상적으로 3비트로 나누면 여덟 구간과 일곱 비교기가 필요합니다. 같은 저항 여덟 개의 내부 탭은 0.5·1·1.5·2·2.5·3·3.5 V입니다. 비교 결과 일곱 개를 인코더가 Q2·Q1·Q0 세 비트로 바꿉니다. 이것은 위 2비트 회로의 출력에 선 하나만 붙인 구성이 아닙니다.
우선순위 인코더라고 적힌 상자와 XOR 게이트·다이오드·풀다운 저항으로 그린 회로는 구현을 별도로 확인해야 합니다. 입력의 활성 극성, 가장 높은 유효 임계값을 고르는 순서, 모든 비교 결과가 0인 상태와 무효 조합 처리를 대조합니다. D0라는 단자명이 보인다고 그 단자의 배선·상태를 추정하지 않습니다. 읽히지 않는 게이트 연결이나 다이오드 극성으로 실제 진리표를 만들어서는 안 됩니다.
정상 표 밖의 조합도 검사합니다
010처럼 임계값 순서와 맞지 않는 조합은 위 정상 표에 없습니다. 비교기의 오프셋, 서로 다른 전파 지연이나 신호 변동 때문에 중간 상태가 나타날 수 있습니다. 실제 인코더는 무효 조합과 데이터가 유효한 시점을 처리해야 합니다. 그림 속 게이트 이름만으로 배선이나 이 오류 처리를 확인했다고 판단하지 않습니다.
전원·입력 공통모드 범위, 기준 저항의 오차와 부하, 비교기 출력 형식, 인코더 입력 레벨을 먼저 확인합니다. 기준값 부근의 느린 변화와 빠른 변화를 나누어 검사하고, 부호화 뒤 결과를 언제 읽는지도 정해야 합니다. 여기의 표와 흐름도는 자체 작성한 이상적 모델이며 특정 영상 회로의 실측·속도·정확도를 주장하지 않습니다.