1. 실험명
디코더와 인코더
2. 개요
1) 코드의 개념을 이해하고 이진코드와 BCD코드가 무엇인지를 숙지한다.
2) 디코더의 원리와 구성방법을 이해한다.
3) 인코더의 원리와 구성방법을 이해한다.
4) 디코더와 인코더를 응용하여 간단한 실용적 목적을 지닌 회로를 설계하는 연습을 한다.
3. 관련 이론
∎ 코드의 기본개념
1) Binary 코드
디지털 세계에서 0과 1이라는 두 개의 기호만으로 조합하여 코드를 나타내게 된다. 이를
Binary code, 혹은 이진코드라 한다. 일반적으로 n개의 자리수로 이루어진 이진코드는 2ⁿ
가지의 대상을 구별하여 나타낼 수 있다.
2) BCD 코드
네 개 자리수의 이진코드로 숫자를 나타내는 것이 BCD(Binary-Coded Decimal) 코드이
다. 가능한 코드의 개수는 모두 16개이지만 0에서부터 9에 해당하는 1001까지의 조합만이
코드로 사용되고 그 이상의 조합, 즉 1010에서 1111까지의 여섯 개는 코드로 사용되지 않
는다. 유의할 점은 이 코드는 숫자라는 기호를 대신하는 코드일 뿐이며 수치가 아니다.
BCD 코드에 의한 산술 연산이 가능하며, 가산법에서는 두 가지 조건이 적용된다.
첫째, BCD 수를 가산한 결과, 각 자릿수의 4비트가 10개의 BCD 수(0000~1001)에 포함
되어 있으면 그 자체가 BCD값이 된다.
둘째, 각 자릿수의 4비트가 10개의 BCD 수에 포함되어 있지 않거나 자리올림이 발생하
면 그 값에 6(0110)을 더해 주어야만 BCD값이 된다.
이는 BCD 코드에 포함되지 않는 여섯 개의 4비트 때문이다.
3) ASCII 코드
십진수 숫자, 영문자 그리고 몇몇 기호들을 이진코드로 나타내는 표준 코드이다. 각 문자
를 7비트로 표현하므로 총 128(=2⁷)개의 문자를 표현할 수 있다.
*유니코드 : 여러 특수 문자 및 각국의 문자를 포괄하기 위해 국제 표준으로 16비트로 이
루어진 코드를 사용하여 모두 2¹⁶=65536 개의 문자를 구분할 수 있다.
∎ 디코더(decoder)
1) 데이터를 어떤 부호화된 형으로부터 다른 형으로 바꾸기 위한 회로와 장치를 가리킨다.
입력 신호의 조합에 따라 하나 또는 그 이상의 출력을 선택할 수 있는 매트릭스로 되어
있는 경우가 많다.
2) 소프트웨어 분야에서는 프로그래밍 언어의 경우이며, 어셈블러에서의 각 명령의 간략 기
억 코드로 변화하는 역할을 하는 프로그램의 것을 디코더라고 하는 경우가 있다. 여러 개
의 입력 단자와 출력단자를 가진 장치로 입력 단자의 어느 조합 신호가 가해졌을 때, 그
조합에 대응하는 하나의 출력 단자에 신호가 나타나는 것이다. 디코더의 작용은 부호기
작용과 반대이다. 임의의 개수로 신호가 보내지는 복수의 입력선과 동시에 두 개 이상의
신호가 보내지는 일이 없는 복수의 출력선과의 사이에 일대일의 대응이 있는 기구.
∎ 인코더(encoder)
여러 개의 입력 단자와 여러 개의 출력 단자로 이루어져 있으며, 어느 1개의 입력 단자에 1이라는 신호가 주어지면 그 입력 단자에 대응하는 출력 단자의 조합 각각에 1의 신호가 나타난다. 대표적인 것으로는 10진수를 2진수로 변환시키는 10진2진인코더, 10진수를 2진화10진코드(BCD code)로 변환시키는 10진-BCD인코더 등이 잘 알려져 있다.
예를 들어 1~9의 수를 나타내는 10개의 입력단자가 있고 그 중 1개에 5를 나타내는 입력 단자에 1이라는 신호를 주면 5=2²+2⁰=4+1로 2²와 2⁰를 나타내는 2개의 출력 단자에 1 출력을 발생한다. 7을 입력하면 2², 2¹, 2⁰등 3군데에 출력이 나온다. 다이오드메트릭스게이트나 논리회로의 조합으로 구성되며 대표적인 기능을 갖는 것은 집적회로화되어 있다. PCM통신에서는 아날로그 디지털 변환기를 코더라 한다.
4. 예비보고서 문제풀이
1) 2비트의 이진수 입력에 대한 디코더 회로를 작성하라.
B |
A |
O0 |
O1 |
O2 |
O3 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
진리표로 나타내면 위와 같고, 이를 식으로 나타내면 O0=B′A′, O1=B′A, O2=BA′, O3=BA로
나타낼 수 있으므로 회로도는 아래와 같다.
2) A, B, C 세 개의 입력에 대해 X=AB+(A+B)C의 출력을 갖는 회로를 그림 2와 같은 3입력
디코더 회로와 OR 게이트를 사용하여 만드는 회로도를 작성하라.
A+A′=1이라는 부울 대수식을 이용하여 A′B+(A′+B)C를 A′B(C+C′)+A′C(B+B′)+BC(A+A′)로
바꿀 수 있으며 이식을 간단화시키면 A′BC′+A′B′C+A′BC+ABC가 된다.A′BC′=O2 A′B′C=O4
A′BC=O6 ABC=O7로 바꿀 수 있다. 이것을 디코더 회로로 나타내면 아래와 같다.
3) 위 2)항의 회로를 74138 디코더와 7400 2-input NAND 게이트만을 사용하여 구현하는
회로도를 작성하라.
74138디코더는 EN-ABLE값을 3개를 추가를 입력해줘야 한다. 그리고 NAND를 OR게이트로
바꾸려면 NAND게이트 입력 값에 NOT을 넣어주면 된다. 그리고 2입력 OR 게이트 3개로 4
입력 OR게이트를 구현할 수 있기 때문에 위에 회로도를 아래 회로도처럼 바꿀 수 있다.
4) 74138 디코더를 2개 사용하여 4입력 16출력 디코더 동작을 하는 회로를 작성하라.
3입력 디코더를 두개 연결해서 4입력 디코더를 만들기 위해서는 각각 디코더에 A, B, C값을
입력하고 D에 NOT게이트를 달아서 위 디코더에 EN값에 입력해주고 나머지 D를 아래 디코
더 EN값에 입력해주면 위 디코더에서는 O0-O7까지 출력 값이 나오고 아래 디코더에서는
O8-O15출력 값이 나오는 4입력 디코더를 만들 수 있다.
5) 그림 7에서 인코더의 이벽단자 중 E1은 무슨 역할을 하는지 설명하라. 그리고 출력단자에
서 EO와 GS는 무엇을 위한 단자인지 조사하라.
74148인코더에 대해서 얘기하는 건데 E1의 역할은 E1의 입력 값에 따라 출력 값이 나올 수
있고 안 나올 수 있기 때문에 인코더의 조절기 역할을 하고 있다. E1이 H일 때는 입력 값에
어떤 값을 넣던 간에 결과 값은 다 H로 나오고 E1이 L일 때는 입력 값에 따른 결과 값이
나온다. 그리고 입력 값에 따라 GS와 E0의 값이 출력되는데 입력 값이 없을 때는 GS에 출
력이 되고 입력 값이 하나라도 있을 시에는 E0값이 출력된다.
5. 실험기기/부품
테스터, 직류전원장치(dual), 오실로스코프, 만능기판, 만능기판용 전선, 스트리퍼
IC
NAND 게이트 74LS00 3개
NOT 게이트 74LS04 2개
디코더 74LS138 2개
인코더 74LS148 1개
7-segment 디코더 74LS47 1개
스위치(푸쉬버튼, 혹은 똑딱이) 9개
저항, 트랜지스터, LED 다수
6. 실험
1) 다음 회로를 구성하고 입력의 변화에 대한 출력값을 확인하라.
B |
A |
O0 |
O1 |
O2 |
O3 |
||||
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
||
0 |
0 |
1 |
|
0 |
|
0 |
|
0 |
|
0 |
1 |
0 |
|
1 |
|
0 |
|
0 |
|
1 |
0 |
0 |
|
0 |
|
1 |
|
0 |
|
1 |
1 |
0 |
|
0 |
|
0 |
|
1 |
|
2) 예비보고서 3)항에서 준비한 회로를 구성하고 진리표를 작성하여 그 동작을 확인하라.
A |
B |
C |
O0 |
O1 |
O2 |
O3 |
O4 |
O5 |
O6 |
O7 |
||||||||
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
공칭값 |
측정값 |
|||
0 |
0 |
0 |
0 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
0 |
0 |
1 |
1 |
|
0 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
0 |
1 |
0 |
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
0 |
1 |
1 |
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
0 |
0 |
1 |
|
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
1 |
|
1 |
0 |
1 |
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
|
1 |
1 |
0 |
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
0 |
|
1 |
|
1 |
1 |
1 |
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
0 |
|
유익하셨다면 좋아요와 구독 꾹 부탁드립니다 ㅎㅎ
'공대생과 공부하기 > 전기공학 실험 보고서' 카테고리의 다른 글
[전기전자공학 실험] 아두이노 I/O 기초와 시리얼 통신 : 예비보고서 (0) | 2019.08.17 |
---|---|
[전기전자공학 실험] 아두이노 마이크로 프로세서 기본 및 환경 세팅 : 예비보고서 (0) | 2019.08.01 |
[전기전자공학 실험] 테브난의 등가회로 : 예비보고서 (0) | 2019.07.28 |
[전기전자공학 실험] 직류회로에서의 측정(키르히호프의 법칙) : 예비보고서 (0) | 2019.07.27 |
[전기전자공학 실험] 숫자표시기와 응용(7-Segment) : 예비보고서 (0) | 2019.07.27 |