디코더는 작은 비트 값을 큰 비트 값으로 디코딩하는 조합 회로의 일종입니다. 일반적으로 디코더와 정확히 반대되는 인코더와 함께 사용되므로 디코더를 진행하기 전에 여기에서 인코더에 대해 읽어보십시오. 다시 인코더와 마찬가지로 많은 유형의 디코더 도 있지만 디코더 의 출력 라인 수는 항상 입력 라인 수보다 많습니다. 이 튜토리얼에서는 디코더가 작동하는 방식과 프로젝트 용 디코더를 빌드하는 방법을 배웁니다.
디코더의 기본 프린시 페:
앞서 말했듯이 디코더는 인코더의 카운터 부분 일뿐입니다. 특정 수의 이진 값을 입력으로 사용하고 논리를 사용하여 더 많은 라인으로 디코딩합니다. 2 개의 라인을 입력으로 받아 4 개의 라인으로 변환 하는 샘플 디코더 가 아래에 나와 있습니다.
N (여기서, N = 2)을 출력의 수가 항상 동일하게되므로 입력 개수가 고려되는 경우 디코더 엄지의 다른 규칙이 그 것이다 (2) , N (2 2 = 4) 우리의 경우 네된다. 디코더에는 2 개의 입력 라인과 4 개의 출력 라인이 있습니다. 따라서 이러한 유형의 디코더를 2: 4 디코더라고합니다. 2 개의 입력 핀의 이름은 I1 및 I0이고 4 개의 출력 핀은 위와 같이 O0에서 O3까지 이름이 지정됩니다.
여기에 표시된 것과 같은 일반 디코더는 두 입력이 모두 0 (다른 회로에 연결되지 않음)이고 두 입력이 모두 낮은 (로직 0) 상태를 구분할 수 없다는 단점이 있음을 아는 것도 중요합니다. 이 단점은 이 기사의 뒷부분에서 배울 우선 순위 디코더 를 사용하여 해결할 수 있습니다. 일반 디코더의 진리표는 다음과 같습니다.
로부터 디코더 진리표 우리는 각각의 출력 라인에 대한 부울 식을 작성 단지 I1 및 I0의 값을 기반으로 AND 로직 출력이 높아지면 곳에 따라 형성 할 수있다. Encoder 방법과 매우 유사하지만 여기서는 OR 로직 대신 AND 로직을 사용합니다. 네 줄 모두에 대한 부울 표현식이 아래에 나와 있습니다. 여기서 기호 (.)는 AND 논리를 나타내고 기호 (')는 NOT 논리를 나타냅니다.
O 0 = I 1 '.I 0 " O (1) = I (1) '.I 0 O (2) = I (1) · I 0 ' O 3 = I (1) · I 0
이제 우리는 네 가지 식을 모두 얻었으므로 AND 게이트와 NOT 게이트를 사용하여 이러한 식을 조합 논리 게이트 회로로 변환 할 수 있습니다. (.) 대신 AND 게이트를 사용하고 (') 대신 NOT 게이트 (반전 된 논리)를 사용하면 다음과 같은 논리 다이어그램이 표시됩니다.
우리가 구축하자 4 디코더 회로 다이어그램: 2 에 브레드 보드를 하고 실제 생활에서 작업하는 방법을 확인하십시오. 하드웨어로 작동하려면 NOT 게이트의 경우 7404 와 AND 게이트의 경우 7408 과 같은 논리 게이트 IC를 사용해야합니다. 두 개의 입력 I0 및 I1은 푸시 버튼을 통해 제공되며 출력은 LED 조명을 통해 관찰됩니다. 브레드 보드에 연결하면 아래 그림과 같이 보일 것입니다.
보드는 외부 + 5V 전원에 의해 전원이 공급되며, 이는 차례로 Vcc (핀 14) 및 접지 (핀 7) 핀을 통해 게이트 IC에 전원을 공급합니다. 입력은 푸시 버튼에 의해 제공되며, 눌려지면 로직 1이되고, 눌리지 않으면 로직 0이 제공되며, 핀이 부동 상태를 방지하기 위해 입력 라인을 따라 값 1k의 풀다운 저항이 추가됩니다. 출력 라인 (O0 ~ O3)은 빨간색 LED 표시등을 통해 제공되며, 빛이 나면 로직 1이고 그렇지 않으면 로직 0입니다.이 디코더 회로 의 전체 작동은 아래 비디오에 나와 있습니다.
각 입력에 대한 진리표가 왼쪽 상단 모서리에 표시되고 LED도 동일한 순서대로 빛납니다. 마찬가지로 모든 유형의 디코더에 대한 조합 논리 다이어그램을 만들고 이와 같은 하드웨어에 구축 할 수도 있습니다. 프로젝트가 적합한 경우 쉽게 사용할 수있는 디코더 IC를 살펴볼 수도 있습니다.
표준 디코더의 단점:
인코더와 마찬가지로 표준 디코더도 동일한 문제를 겪습니다. 두 입력이 모두 연결되지 않은 경우 (로직 X) 출력은 0으로 유지되지 않습니다. 대신 디코더는이를 로직 0으로 간주하고 비트 O0이 하이가됩니다.
우선 순위 디코더:
따라서 우선 순위 디코더를 사용하여이 문제를 극복합니다. 이러한 유형의 디코더에는 우선 순위 디코더의 유효한 핀과 연결될 "E"(활성화)로 표시된 추가 입력 핀이 있습니다. 디코더는 우선 순위에 대한 블록도 아래와 같다.
Priority Encoder 의 진리표 도 아래에 나와 있습니다. 여기서 X는 연결 없음을 나타내고 '1'은 로직 하이를, '0'은 로직 로우를 나타냅니다. 인 에이블 비트는 입력 라인에 연결이 없을 때 0이므로 출력 라인도 0으로 유지됩니다. 이렇게하면 위에서 언급 한 단점을 극복 할 수 있습니다.
항상 진리표에서 출력 라인 O0에서 O3에 대한 부울 표현식을 구동 할 수 있습니다. 위 진리표에 대한 부울 표현식은 다음과 같습니다. 자세히 살펴보면 표현식이 일반 2: 4 디코더의 표현식과 동일하지만 활성화 비트 (E)가 표현식과 AND로 만들어 졌음을 알 수 있습니다.
O 0 = EI 1 '.I 0 ' O 1 = EI 1 '.I 0 O 2 = EI 1.I 0 ' O 3 = EI 1.I 0
위의 부울 표현식에 대한 조합 논리 다이어그램은 두 개의 인버터 (NOT 게이트)와 3 입력 AND 게이트를 사용하여 구축 할 수 있습니다. (') 기호를 인버터로, (.) 기호를 AND 게이트로 바꾸면 다음과 같은 논리 다이어그램이 표시됩니다.
3: 8 디코더:
더 일반적으로 사용되는 3: 8 디코더 및 4:16 디코더 와 같은 고차 디코더 도 있습니다. 이러한 디코더는 회로의 복잡성을 위해 IC 패키지에 자주 사용됩니다. 또한 2: 4 디코더와 같은 저차 디코더를 결합하여 고차 디코더를 구성하는 것도 매우 일반적입니다. 예를 들어 2: 4 디코더에는 2 개의 입력 (I0 및 I1)과 4 개의 출력 (O0에서 O3)이 있고 3: 8 디코더에는 3 개의 입력 (I0에서 I2)과 8 개의 출력 (O0에서 O7)이 있다는 것을 알고 있습니다. 다음 공식을 사용하여 3: 8 디코더와 같은 고차 디코더를 형성하는 데 필요한 하위 디코더 수 (2: 4)를 계산할 수 있습니다.
필요한 하위 디코더 수 = m2 / m1 여기서, m2-> 하위 디코더에 대한 출력 수 m1-> 상위 디코더에 대한 출력 수
우리의 경우 m1의 값은 4이고 m2의 값은 8이 될 것이므로 위의 공식에이 값을 적용하면
3: 8 디코더에 필요한 2: 4 디코더 수 = 8/4 = 2
이제 우리는 3: 8 디코더를 형성하기 위해 두 개의 2: 4 디코더가 필요하다는 것을 알았습니다. 그러나이 둘을 어떻게 연결하여 수집해야합니까? 아래 블록 다이어그램은
보시다시피 입력 A0 및 A1은 두 디코더의 병렬 입력으로 연결되고 첫 번째 디코더의 활성화 핀이 A2 (세 번째 입력)로 작동하도록 설정됩니다. A2의 반전 된 신호는 Y0에서 Y3까지의 출력을 얻기 위해 두 번째 디코더의 활성화 핀에 제공됩니다. 여기서 출력 Y0 ~ Y3은 하위 4 분항이라고하고 출력 Y4 ~ Y7은 상위 4 분항이라고합니다. 낮은 순서의 minterm은 두 번째 디코더에서 얻어지고 높은 순서의 minterm은 첫 번째 디코더에서 얻어집니다. 이러한 유형의 조합 설계에서 눈에 띄는 단점 중 하나는 디코더에 활성화 핀이 없으므로 앞서 논의한 문제에 취약하다는 것입니다.
4:16 디코더:
3: 8 디코더와 유사하게 4:16 디코더 는 두 개의 3: 8 디코더를 결합하여 구성 할 수도 있습니다. 4:16 디코더의 경우 4 개의 입력 (A0 ~ A3)과 16 개의 출력 (Y0 ~ Y15)이 있습니다. 반면 3: 8 디코더의 경우 3 개의 입력 (A0 ~ A2) 만 있습니다.
우리는 이미 공식을 사용하여 필요한 디코더 수를 계산했습니다.이 경우 3: 8 디코더에는 8 개의 출력이 있으므로 m1의 값은 8이되고 4:16 디코더에는 16 개의 출력이 있으므로 m2의 값은 16이됩니다. 위의 공식에이 값을 적용하면
4:16 디코더에 필요한 3: 8 디코더 수 = 16 / 8 = 2
따라서 4:16 디코더를 구성하려면 두 개의 3: 8 디코더가 필요합니다.이 두 3: 8 디코더의 배열도 이전에했던 것과 비슷합니다. 이 두 3: 8 디코더를 함께 연결하는 블록 다이어그램은 아래와 같습니다.
여기서 출력 Y0에서 Y7은 하위 8 분으로 간주되고 Y8에서 Y16까지의 출력은 상위 8 분으로 간주됩니다. 오른쪽 아래 minterm은 입력 A0, A1 및 A2를 사용하여 직접 생성됩니다. 첫 번째 디코더의 세 입력에도 동일한 신호가 제공되지만 첫 번째 디코더의 활성화 핀이 네 번째 입력 핀 (A3)으로 사용됩니다. 네 번째 입력 A3의 반전 된 신호는 두 번째 디코더의 활성화 핀에 제공됩니다. 첫 번째 디코더는 더 높은 8 minterms 값을 출력합니다.
신청:
디코더는 일반적으로 인코더와 함께 사용되므로 둘 다 동일한 애플리케이션을 공유합니다. 디코더와 인코더가 없었다면 휴대폰과 노트북과 같은 최신 전자 제품은 불가능했을 것입니다. 디코더의 몇 가지 중요한 응용 프로그램이 아래에 나열되어 있습니다.
- 시퀀싱 신호 애플리케이션
- 타이밍 신호 애플리케이션
- 네트워크 라인
- 메모리 요소
- 전화망