회로계산소

회로 실험과 설계에 자주 쓰는 계산을 한곳에서. 설치 없이 바로 쓰는 전자공학 계산기 모음입니다.

English

Active Low가 헷갈릴 때: 74LS147 인코더와 74LS42 디코더

입력과 출력이 모두 Low에서 동작하는 칩을 기능표로 정리했습니다.

74LS147 우선순위 인코더를 처음 쓰면 "입력을 5 V로 올렸는데 왜 반응이 없지?"에서 막히기 쉽습니다. 실험에서도 출력이 Active Low인 것은 알고 있었지만 입력까지 Low에서 선택된다는 점을 놓쳐 한 번 다시 결선했습니다. 이름 위에 줄(1̅, D̅)이 있거나 회로 기호에 작은 동그라미가 붙은 핀은 Low일 때 켜진(활성) 상태라는 뜻입니다.

이 글의 순서 3

1. 74LS147 (10진 → BCD 우선순위 인코더)

입력 상태Low로 만든 핀출력 D C B A뒤집어 읽은 값
입력 상태모두 HighLow로 만든 핀—출력 D C B A1111뒤집어 읽은 값0
입력 상태1번 입력만 LowLow로 만든 핀11출력 D C B A1110뒤집어 읽은 값1
입력 상태2번 입력만 LowLow로 만든 핀12출력 D C B A1101뒤집어 읽은 값2
입력 상태3번 입력만 LowLow로 만든 핀13출력 D C B A1100뒤집어 읽은 값3
입력 상태4번 입력만 LowLow로 만든 핀1출력 D C B A1011뒤집어 읽은 값4
입력 상태5번 입력만 LowLow로 만든 핀2출력 D C B A1010뒤집어 읽은 값5
입력 상태6번 입력만 LowLow로 만든 핀3출력 D C B A1001뒤집어 읽은 값6
입력 상태7번 입력만 LowLow로 만든 핀4출력 D C B A1000뒤집어 읽은 값7
입력 상태8번 입력만 LowLow로 만든 핀5출력 D C B A0111뒤집어 읽은 값8
입력 상태9번 입력만 LowLow로 만든 핀10출력 D C B A0110뒤집어 읽은 값9
입력 상태3번과 7번이 함께 LowLow로 만든 핀13, 4출력 D C B A1000뒤집어 읽은 값7

입력 1~9와 출력 A~D가 모두 Active Low입니다. 출력 1111은 "아무것도 선택 안 됨(0)"이고, 출력을 비트마다 뒤집어 읽어야 입력 번호가 됩니다. 여러 입력이 함께 Low면 가장 큰 번호가 이깁니다(우선순위). 0번 입력 핀은 따로 없습니다. 전원은 16번 VCC, 8번 GND입니다.

2. 74LS42 (BCD → 10진 디코더)

입력 D C B A10진수출력 0 1 2 … 9Low가 되는 출력
입력 D C B A000010진수0출력 0 1 2 … 90 1 1 1 1 1 1 1 1 1Low가 되는 출력0번 출력 (핀 1)
입력 D C B A000110진수1출력 0 1 2 … 91 0 1 1 1 1 1 1 1 1Low가 되는 출력1번 출력 (핀 2)
입력 D C B A001010진수2출력 0 1 2 … 91 1 0 1 1 1 1 1 1 1Low가 되는 출력2번 출력 (핀 3)
입력 D C B A001110진수3출력 0 1 2 … 91 1 1 0 1 1 1 1 1 1Low가 되는 출력3번 출력 (핀 4)
입력 D C B A010010진수4출력 0 1 2 … 91 1 1 1 0 1 1 1 1 1Low가 되는 출력4번 출력 (핀 5)
입력 D C B A010110진수5출력 0 1 2 … 91 1 1 1 1 0 1 1 1 1Low가 되는 출력5번 출력 (핀 6)
입력 D C B A011010진수6출력 0 1 2 … 91 1 1 1 1 1 0 1 1 1Low가 되는 출력6번 출력 (핀 7)
입력 D C B A011110진수7출력 0 1 2 … 91 1 1 1 1 1 1 0 1 1Low가 되는 출력7번 출력 (핀 9)
입력 D C B A100010진수8출력 0 1 2 … 91 1 1 1 1 1 1 1 0 1Low가 되는 출력8번 출력 (핀 10)
입력 D C B A100110진수9출력 0 1 2 … 91 1 1 1 1 1 1 1 1 0Low가 되는 출력9번 출력 (핀 11)

입력은 보통 논리(Active High)이고 출력만 Active Low입니다. 선택된 출력 하나만 Low가 되고 나머지는 High입니다. 입력이 10~15이면 모든 출력이 High입니다. 전원은 16번 VCC, 8번 GND입니다.

직접 해 보기: Active Low 핀 읽기

핀마다 H/L 레벨을 보여 줍니다. 동그라미(버블)가 붙은 핀이 Active Low입니다.

입력 (누르면 Low)

입력
없음
출력
DCBA HHHH
값 (10진)
0

해 볼 것: 74LS147에서 입력 여러 개를 같이 누르면 가장 큰 번호만 출력됩니다(우선순위). 출력 DCBA는 뒤집힌 BCD라서 H/L을 바꿔 읽어야 합니다. 74LS42에 10 이상을 넣으면 모든 출력이 High로 남습니다.

3. 헷갈리지 않는 방법

  • 데이터시트 기능표(Function Table)를 먼저 봅니다. H/L로 적힌 표가 논리식보다 정확합니다.
  • 쓰지 않는 Active Low 입력은 High(VCC)에 연결합니다. 떠 있게 두면 TTL은 대개 High로 읽지만 잡음에 약합니다.
  • LED로 확인할 때는 방향을 맞춥니다. Active Low 출력은 LED를 VCC 쪽에 달고(VCC → 저항 → LED → 출력) 출력이 Low일 때 켜지게 해야 "켜짐 = 선택"으로 읽힙니다. 저항값은 LED 저항 계산기로 구하세요.
  • 보고서 표에는 전압(H/L)과 논리값(0/1)을 섞지 말고, 어떤 쪽으로 적었는지 표 제목에 밝힙니다.

BCD와 2진수 변환은 진법 변환기, 7-세그먼트 디코더(7447도 출력이 Active Low)는 7-세그먼트 계산기에서 확인할 수 있습니다.