이름에서 알 수 있듯이 인코더는 더 많은 정보를 더 작은 비트 값으로 인코딩합니다. 있다 엔코더 많은 종류의 입력과 출력의 수를 기반으로하고 작동 방법에 따라가. 그러나 모든 인코더에는 하나의 기본 규칙이 있으며 인코더의 출력 라인 수는 항상 입력 라인 수보다 적습니다. 이 기사에서는 인코더, 인코더 란 무엇이며 디지털 회로에서 사용되는 방법과 이유에 대해 자세히 알아 봅니다.
인코더의 기본 원리:
Encoder가 아래와 같이 입력 라인 수를 4 개에서 2 개 출력 라인으로 마술처럼 줄이면서도 데이터 손실없이 동일한 정보를 제공하는 블랙 박스라고 상상해 보겠습니다.
먼저이 인코더의 이름이 무엇인지 결정하겠습니다. 4 개의 입력과 2 개의 출력이 있으므로이 인코더의 이름은 4: 2 인코더가 됩니다. 인코더에 " n "개의 출력 라인이있는 경우 입력 라인의 수는 2 개가됩니다. n, 우리의 경우 출력 라인의 수는 2 (n = 2)이므로 입력 라인의 수 는 정확히 (2 2 = 4) 4가 되어야합니다. 4 개의 입력 핀은 I0에서 I3까지 레이블이 지정되고 2 개의 출력 핀은 O0에서 O1까지 레이블이 지정됩니다.
따라서 인코더가 4 개의 신호를 2 개로 변환하는 방법은 아래 진리표를 보면 이해할 수 있습니다. 여기에 표시된 것과 같은 일반 인코더에는 주어진 시간에 하나의 입력 핀만 높아야한다는 규칙이 있으므로 다음 진리표에서 하나의 입력 만 높음을 아는 것도 중요합니다.
입력 출력의 모든 가능한 조건은 위의 진리표에 나와 있습니다. 예를 들어 O1 만 높고 (1) 다른 모든 입력이 낮 으면 (0) 두 출력 핀은 모두 낮습니다 (0). 마찬가지로 각 경우에 대해 출력 핀도 상태를 변경합니다. 이 출력 비트 상태를 사용하여 사용자는 인코더에 제공된 입력 신호를 추적 할 수 있습니다.
좋아, 4 줄을 2 줄로 변환하는 것이 멋지다. 왜 우리가 그것을 필요로 하는가?
이해를 돕기 위해 4: 2 인코더에 대해 설명했지만 더 많은 수의 입력을 받아 8: 3 인코더, 16: 4 인코더 등과 같이 더 적은 수의 출력으로 변환 할 수있는 다른 인코더가 있습니다. 이러한 유형 of Encoder는 MCU / MPU 에 사용되는 핀 수를 줄이거 나 스위치 또는 LED 어레이가 있는 PLC 및 기타 시스템 에서 신호 전달 와이어 수를 줄여야 할 때 매우 유용합니다. 적은 전선을 사용하여 데이터를 효율적으로 전송하는데도 사용됩니다. 일부 응용 프로그램에서는 둘 이상의 입력이 높을 수있는 상황 (1)이있을 수 있습니다.이 경우이 기사에서 자세히 설명하는 Priority Encoder 라는 항목 이 있습니다.
조합 논리 설계를 사용하여 인코더 구축
이제 인코더의 작동 방식 과 사용 위치를 알았 습니다. 간단한 논리 게이트를 사용하여 빌드하는 방법을 알아 보겠습니다. 8: 3과 같은 인코더는 SN74LS148 과 같은 깔끔한 단일 패키지 IC로 사용할 수 있지만 필요한 진리표를 기반으로 프로젝트에 대한 맞춤형 인코더를 만들 수 있도록 어떻게 구축되었는지 아는 것이 중요합니다.
부울 식:
Combinational Logic 장치를 설계 할 때 첫 번째는 진리표에 대한 부울 표현식을 찾는 것입니다. 그것은 매우 쉽고 진리표를 보는 것만으로도 쉽게 판단 할 수 있습니다. 이전에 보았던 동일한 진리표는 이해를 돕기 위해 몇 가지 그림과 함께 아래에 제공됩니다.
표현식의 수는 출력 라인의 수와 같을 것입니다. 여기에 두 개의 출력이 있으므로 두 개의 표현식이 있습니다. 첫 번째 출력 O0의 경우, 어떤 조건이 높은지 확인하고 (1) 여전히 높은 상태로 유지되는 해당 입력 핀 번호 (1)를 추적합니다. 마찬가지로 O0의 모든 높은 값에 대해 입력 핀 번호가 높은 것을 기록하고 핀을 추가합니다. 출력 핀 O0에 해당하는 입력 핀은 위의 빨간색으로 강조 표시되고 O1의 경우 파란색으로 강조 표시됩니다. 따라서 O0 및 O1에 대한 표현식은
O 1 = 나 3 + 나 2 O 0 = 나 3 + 나 1
4: 2 인코더 회로도:
Boolean Expression을 얻으면 Gates 형태로 그려야합니다. 여기에 더하기 (+) 연산이 있으므로 회로를 구성하기 위해 OR 게이트를 사용합니다. 필요에 따라 부울 표현식을 단순화하거나 수정할 수도 있습니다. 위 식의 회로도는 아래와 같습니다.
이 회로는 7432 OR 게이트 IC를 사용하여 쉽게 구축 할 수 있습니다. 아래 그림과 같이 브레드 보드 위에 인코더 회로 를 구축했습니다.
4 개의 입력 라인 (I0, I1, I2 및 I3)은 4 개의 푸시 버튼에 의해 제공되며, 버튼을 누르면 + 5V가 핀에 연결되어 로직 1이되고 버튼을 누르지 않으면 핀이 접지에 고정됩니다. 10k 풀다운 저항을 통해 로직 0으로 만듭니다. 출력 (O0 및 O1)은 한 쌍의 빨간색 LED를 사용하여 표시됩니다. LED에 불이 들어 오면 출력 로직이 1이고 꺼지면 출력 로직이 0임을 의미합니다 . 인코더 회로 의 전체 작동은 아래 비디오에 나와 있습니다.
첫 번째 버튼을 눌렀을 때 볼 수 있듯이 입력 I0은 높게 설정되어 두 출력 모두 낮게 유지됩니다. 두 번째 버튼을 누르면 입력 I1이 켜지고 하나의 LED가 높아져 O0이 높음을 나타냅니다. 마지막으로 네 번째 버튼을 눌렀을 때 입력 I3이 높아지고 두 LED가 모두 높아집니다. 이것은 매우 간단한 회로이므로 브레드 보드에 쉽게 구축했지만 실제 인코더의 경우 회로가 조금 더 복잡해집니다. 그러나 인코더는 프로젝트에 적합한 경우 구매할 수있는 IC 패키지로도 제공됩니다.
8: 3 인코더:
8: 3 인코더의 작동 및 사용법은 입력 및 출력 핀 수를 제외하고 4: 2 인코더와 유사합니다. 8: 3 인코더는 Octal to Binary Encoder라고도합니다. 8: 3 인코더의 블록 다이어그램은 아래와 같습니다.
여기에서 인코더는 8 개의 입력과 3 개의 출력을 가지고 있으며, 다시 한번 주어진 시간에 하나의 입력 만이 high (1)이어야합니다. 8 개의 입력이 있으므로 8 진 입력이라고하고 3 개의 출력이 있으므로 이진 출력이라고도합니다. 인코더의 진리표는 아래와 같습니다.
8: 3 인코더 진실 표:
부울 식:
출력이 있으므로 아래와 같이 세 가지 표현식이 있습니다.
O 2 = I 7 + I 6 + I 5 + I 4 O 1 = I 7 + I 6 + I 3 + I 2 O 0 = I 7 + I 5 + I 3 + I 1
8: 3 인코더 회로도:
부울 표현식이 항상 얻어지면 아래와 같이 OR 게이트를 사용하여 회로 다이어그램을 만들 수 있습니다.
이 회로는 4 입력 OR 게이트 IC를 사용하며, 다른 일반 2 입력 게이트 IC를 사용하기 위해 부울 표현식을 단순화 할 수도 있습니다.
일반 인코더의 단점:
이러한 유형의 인코더에는 다음과 같은 주요 단점이 있습니다.
- 입력이 높지 않은 경우 출력은 모두 0이되지만이 조건은 첫 번째 비트가 높음 (MSB) 과도 충돌합니다. 따라서 항상 하나 이상의 비트가 항상 ON 상태로 유지되도록주의해야합니다.
- 둘 이상의 입력이 높으면 출력이 축소되고 입력 중 하나에 대한 결과를 제공하여 혼란을 초래할 수 있습니다.
이러한 어려움을 극복하기 위해 우리는 추가 출력을 사용하여 출력이 유효한지 결정하는 Priority Encoder라는 다른 유형의 인코더를 사용하고, 둘 이상의 입력이 도움이 될 때 LSD에서 시작하는 높은 입력은 단독으로 고려됩니다. 다른 입력을 무시합니다.
우선 순위 인코더:
4: 2 우선 순위 인코더 를 예로 분석하여 일반 인코더와 어떻게 다른지 이해하고 위에서 언급 한 두 가지 단점을 극복 할 수 있습니다. 4: 2 우선 순위 인코더의 블록 다이어그램은 다음과 같습니다.
우선 순위 4: 2 인코더에는 4 개의 입력과 2 개의 출력이 있지만 유효한 비트를 나타내는 V라는 또 다른 출력을 추가합니다. 이 유효한 비트는 4 개의 입력 핀이 모두 로우 (0)인지 확인합니다. 만약 로우이면 비트는 또한 출력이 유효하지 않다는 것을 나타내므로 위에서 언급 한 첫 번째 단점을 극복 할 수 있다는 것을 나타냅니다.
4: 2 우선 순위 인코더 진실 표:
다음 단점은 MSB 비트에 우선 순위를 부여하여 피할 수 있으며 인코더는 MSB에서 확인하고 첫 번째 비트가 높은 (1)이면 그에 따라 출력을 생성합니다. 따라서 다른 핀이 높거나 낮은 것은 중요하지 않습니다. 따라서 아래의 진리표에서 1에 도달하면 상관 없음 값이 "X"로 표시됩니다.
부울 식:
이제 우리는 O0, O1 및 V에 대한 세 가지 표현식을 유도해야합니다. 진리표에는 항목에 신경 쓰지 않는 항목이 있으므로 K- 맵 방법을 사용하여 이에 대한 부울 표현식을 유도해야합니다. K- 맵으로 해결하는 방법은이 기사의 범위를 벗어나므로 다루지 않을 것입니다. 그러나지도는 아래에 표시되어 있으므로 스스로 간섭하고 배울 수 있습니다.
위의지도에서 왼쪽은 O1 용이고 오른쪽은 O0 용입니다. 출력 라인은 y로, 입력 라인은 x로 언급됩니다. 따라서 방정식을 적절히 배열하면 다음과 같은 결과를 얻을 수 있습니다.
O 1 = 나 3 + 나 2 O 0 = 나 2 나 1 '+ 나 3
마찬가지로 유효한 비트 "V"에 대해 부울 표현식은 다음과 같이 주어질 수 있습니다.
V = 나 3 + 나 2 + 나 1 + 나 0
회로도:
이 프로젝트의 회로도는 부울 표현식을 사용하여 빌드 할 수 있습니다.
회로는 기본 NOT, AND 및 OR 게이트를 사용하여 구축 할 수 있습니다. 여기서 비트 O0 및 O1은 출력으로 간주되고 비트 V는 출력의 유효성을 검사하는 데 사용됩니다. 비트 V가 높은 경우에만 V 값이 낮은 경우 (0) 출력이 고려됩니다. 이는 모든 입력 핀이 0임을 의미하므로 출력을 무시해야합니다.