전자일기

우선순위 인코더

전자김치 2024. 1. 30. 14:18
728x90

우선순위 인코더

우선 순위 인코더는 모든 데이터 입력을 한 번에 하나씩 가져와 출력 시 이를 동등한 이진 코드로 변환합니다.

하나의 개별 데이터 입력 라인을 선택한 다음 해당 데이터를 단일 출력 라인이나 스위치로 보내는 멀티플렉서와는 다릅니다. 우선 순위 인코더의 작업은 우선 순위가 가장 높은 입력에 대한 이진 출력 주소를 생성하는 것입니다.

더 일반적으로 바이너리 인코더 라고 불리는 디지털 인코더는 모든 데이터 입력을 한 번에 하나씩 가져온 다음 이를 단일 인코딩된 출력으로 변환합니다. 따라서 이진 인코더는 입력의 논리 레벨 "1" 데이터를 출력의 동등한 이진 코드로 변환하는 다중 입력 조합 논리 회로라고 말할 수 있습니다.

일반적으로 디지털 인코더는 데이터 입력 라인 수에 따라 2비트, 3비트 또는 4비트 코드의 출력을 생성합니다. "n비트" 이진 인코더에는 4-2 , 8-3, 16-4 라인 구성을 포함하는 일반적인 유형의 2n 입력 라인과 n-비트 출력 라인  있습니다 .

디지털 인코더의 출력 라인은 값이 "1"인 입력 라인과 동등한 이진수를 생성하고 10진수 또는 16진수 입력 패턴을 일반적으로 이진수 또는 "BCD"(이진수 코드 십진수) 출력 코드로 인코딩하는 데 사용할 수 있습니다. .

 

4-2비트 바이너리 인코더

표준 디지털 인코더의 주요 단점 중 하나는 논리 레벨 "1"에 둘 이상의 입력이 있는 경우 잘못된 출력 코드를 생성할 수 있다는 것입니다. 예를 들어 입력 D 1  D 2 를 로직 "1"에서 동시에 HIGH로 만들면 결과 출력은 "01"이나 "10"이 아닌 출력 바이너리인 "11"이 됩니다. 현재 입력된 숫자와 다릅니다. 또한 모든 논리 "0"의 출력 코드는 모든 입력이 "0"이거나 입력 D0  1일 때 생성될 수 있습니다.

이 문제를 극복하는 간단한 방법 중 하나는 각 입력 핀의 레벨을 "우선순위"로 지정하는 것입니다. 따라서 논리 레벨 "1"에 동시에 둘 이상의 입력이 있는 경우 실제 출력 코드는 지정된 우선순위가 가장 높은 입력에만 해당합니다. 그러면 이러한 유형의 디지털 인코더는 일반적으로 우선순위 인코더 또는 줄여서 P-인코더로 알려져 있습니다 .

우선순위 인코더

우선순위 인코더는  입력에 우선순위 레벨을 할당하여 위에서 언급한 문제를 해결합니다. 우선 순위 인코더 출력은 가장 높은 우선순위를 갖는 현재 활성 입력에 해당합니다. 따라서 우선순위가 더 높은 입력이 있으면 우선순위가 낮은 다른 모든 입력은 무시됩니다.

우선순위 인코더는 아래 표시된 진리표와 함께 8입력 우선순위 인코더의 예를 포함하여 다양한 형태로 제공됩니다.

8-3비트 우선순위 인코더

우선 순위 인코더는 표준 IC 형식으로 제공되며 TTL 74LS148은 8개의 활성 LOW(논리 "0") 입력이 있고 출력에서 ​​가장 높은 순위의 입력에 대한 3비트 코드를 제공하는 8~3비트 우선 순위 인코더입니다.

우선 순위 인코더는 가장 높은 순서의 입력을 먼저 출력합니다. 예를 들어 입력 라인 " D2 ", " D3 " 및 " D5 "가 동시에 적용되는 경우 출력 코드는 입력 " D5 "("101") 에 대한 것입니다. 이는 가장 높은 순서의 출력을 갖기 때문입니다. 3개의 입력 중. 입력 “ D5 ”가 제거되면 다음으로 높은 출력 코드는 입력 “ D3 ”(“011”)에 대한 것입니다.

8-3비트 우선순위 인코더의 진리표는 다음과 같습니다.

디지털 입력 바이너리 출력
 7  6  5  4  3  2  1  0 Q 2 질문 1 질문 0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 엑스 0 0 1
0 0 0 0 0 1 엑스 엑스 0 1 0
0 0 0 0 1 엑스 엑스 엑스 0 1 1
0 0 0 1 엑스 엑스 엑스 엑스 1 0 0
0 0 1 엑스 엑스 엑스 엑스 엑스 1 0 1
0 1 엑스 엑스 엑스 엑스 엑스 엑스 1 1 0
1 엑스 엑스 엑스 엑스 엑스 엑스 엑스 1 1 1

X가 "상관 없음" 인 경우 , 즉 논리 "0" 레벨 또는 논리 "1" 레벨에 있을 수 있습니다.

이 진리표에서 데이터 입력 D 0 ~ D 7 및 출력 Q 0 , Q 1 , Q 2 를 갖는 위의 인코더에 대한 부울 표현식은 다음과 같이 제공됩니다.

출력 Q 0

 

출력 Q 1

출력 Q2 _

그런 다음 0 입력을 포함하는 우선순위 인코더에 대한 최종 부울 표현식은 다음과 같이 정의됩니다.

우선순위 인코더 출력 표현

실제로 이러한 0 입력은 무시되어 8 대 3 우선 순위 인코더 의 출력에 대한 최종 부울 표현식을 구현할 수 있습니다 . 다음과 같이 개별 OR 게이트를 사용하여 위의 식에서 간단한 인코더를 구성할 수 있습니다 .

논리 게이트를 이용한 디지털 인코더

디지털 인코더 애플리케이션

키보드 인코더

우선 순위 인코더를 사용하면 여러 입력이 있는 특정 회로나 응용 분야에 필요한 와이어 수를 줄일 수 있습니다. 예를 들어, 마이크로컴퓨터가 한 번에 "HIGH" 또는 "LOW" 중 하나의 키만 눌러지는 표준 QWERTY 키보드의 104개 키를 읽어야 한다고 가정합니다.

한 가지 방법은 키보드의 개별 키에서 104개의 전선을 모두 컴퓨터 입력에 직접 연결하는 것이지만 소형 가정용 PC에는 실용적이지 않습니다. 또 다른 대안이자 더 나은 방법은 우선 순위 인코더를 사용하여 키보드를 PC에 연결하는 것입니다.

104개의 개별 버튼이나 키는 키보드의 각 키나 문자를 나타내기 위해 7비트(10진수 0~127)의 표준 ASCII 코드로 인코딩된 다음 훨씬 더 작은 7비트 BCD 코드로 컴퓨터에 직접 입력될 수 있습니다. . 이를 위해 74C923 20키 인코더와 같은 키패드 인코더를 사용할 수 있습니다.

위치 인코더

또 다른 일반적인 응용 분야는 선박 내비게이션이나 로봇 팔 위치 지정 등에 사용되는 자기 위치 제어입니다. 예를 들어 나침반의 각도 또는 회전 위치는 74LS148 8-3 라인 우선 순위 인코더에 의해 디지털 코드로 변환됩니다. 항법 데이터를 제공하기 위해 시스템 컴퓨터에 입력하며 간단한 8위치에서 3비트 출력 나침반 인코더의 예가 아래에 나와 있습니다. 바늘의 각도 위치를 나타내기 위해 각 나침반 지점에 자석과 리드 스위치를 사용할 수 있습니다.

우선순위 인코더 탐색

나침반 방향 바이너리 출력
질문 0 질문 1 Q 2
북쪽 0 0 0
북동 0 0 1
동쪽 0 1 0
남동 0 1 1
남쪽 1 0 0
남서 1 0 1
서쪽 1 1 0
북서 1 1 1

인터럽트 요청

특히 우선 순위 인코더를 위한 다른 애플리케이션 에는 마이크로프로세서 애플리케이션의 인터럽트 감지가 포함될 수 있습니다. 여기서 마이크로프로세서는 디스크 드라이브, 스캐너, 마우스 또는 프린터 등과 같은 주변 장치가 통신할 수 있도록 인터럽트를 사용하지만 마이크로프로세서는 한 번에 하나의 주변 장치와만 "대화"할 수 있으므로 언제인지 알 수 있는 방법이 필요합니다. 특정 주변 장치가 그 장치와 통신하기를 원합니다.

프로세서는 가장 중요한 주변 장치가 먼저 서비스되도록 하기 위해 "인터럽트 요청" 또는 "IRQ" 신호를 사용하여 모든 주변 장치에 우선 순위를 할당함으로써 이를 수행합니다. 장치의 중요도 순서는 우선 순위 인코더에 대한 연결에 따라 달라집니다.

IRQ 번호 일반적인 사용 설명
IRQ 0 시스템 타이머 내부 시스템 타이머.
IRQ 1 건반 키보드 컨트롤러.
IRQ 3 COM2 및 COM4 두 번째 및 네 번째 직렬 포트.
IRQ 4 COM1 및 COM3 첫 번째 및 세 번째 직렬 포트.
IRQ 5 소리 사운드 카드.
IRQ 6 플로피 디스크 플로피 디스크 컨트롤러.
IRQ 7 병렬 포트 병렬 프린터.
IRQ 12 생쥐 PS/2 마우스.
IRQ 14 기본 IDE 기본 하드 디스크 컨트롤러.
IRQ 15 보조 IDE 보조 하드 디스크 컨트롤러.

표준 74LS148 우선 순위 인코더 IC와 같은 우선 순위 인코더를 사용하여 이러한 시스템을 구현하려면 추가 논리 회로가 필요하므로 8259 프로그래밍 가능 우선 순위 인터럽트 컨트롤러와 같은 특수 목적으로 구축된 집적 회로를 사용할 수 있습니다.

디지털 인코더 요약

요약하면 디지털 인코더는 하나 이상의 활성 입력에 응답하여 바이너리 또는 BCD와 같은 출력에서 ​​특정 코드를 생성하는 조합 회로입니다. 디지털 인코더에는 두 가지 주요 유형이 있습니다. 바이너리 인코더  우선순위 인코더 .

우리는 바이너리 인코더가 2개의 n 입력 중 하나를 n비트 출력으로 변환하는 것을 보았습니다 . 그런 다음 이진 인코더는 입력 코드보다 더 적은 출력 비트를 갖습니다. 바이너리 인코더는 데이터를 압축하는 데 유용하며 간단한 AND 또는 OR 게이트로 구성할 수 있습니다.

표준 이진 인코더의 주요 단점 중 하나는 둘 이상의 입력이 동시에 활성화되면 출력에서 ​​오류가 발생한다는 것입니다. 이 문제를 극복하기 위해 우선 순위 인코더가 개발되었습니다.

우선 순위 인코더는 우선 순위가 가장 높은 입력을 기반으로 출력 코드를 생성한다는 점을 제외하면 이진 인코더와 유사한 또 다른 유형의 조합 회로입니다. 우선 순위 인코더는 디지털 및 컴퓨터 시스템에서 가장 높은 우선 순위 입력을 감지하는 마이크로프로세서 인터럽트 컨트롤러로 광범위하게 사용됩니다.

조합 논리 장치에 대한 다음 튜토리얼에서는 n 비트 입력 코드를 2 n 출력 라인 중 하나로 변환하는 디코더라고 하는 인코더의 보완 기능을 살펴보겠습니다 .

728x90

'전자일기' 카테고리의 다른 글

디스플레이 디코더  (1) 2024.01.30
바이너리 디코더  (1) 2024.01.30
디멀티플렉서  (1) 2024.01.30
멀티플렉서  (0) 2024.01.30
조합 논리 회로  (1) 2024.01.30