TTL 소자를 이용한 함수 발생기...

16
TTL 소자를 이용한 함수 발생기 제작 천성용 Chun Sung Yong 영남대학교 전자공학과 전자공학전공 - 연락처 - 천성용 : [email protected] / 011-9493-5022

Transcript of TTL 소자를 이용한 함수 발생기...

Page 1: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

TTL 소자를 이용한 함수 발생기 제작

천성용Chun Sung Yong

영남대학교전자공학과

전자공학전공

- 연락처 -천성용 : [email protected] / 011-9493-5022

Page 2: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

요약우리가 실험에서 사용하는 함수발생기를 직접 제작함으로써 함수발생기의 구동원리를 이해하고, 일반적으로 많이 사용하는 OP-AMP를 이용한 아날로그 신호가 아닌 TTL의 논리게이트를 이용하여 디지털 신호의 함수발생기를 제작한다.

1. 서론다양한 종류의 함수발생기를 사용하면서, 함수발생기가 우리가 원하는 파형과 주기의 출력이 정확한지 어떤지에 대해서만 생각할 뿐, 이 함수발생기가 어떻게, 어떤 원리로 작동되는지 의문을 갖는 경우는 드물다.하지만, 이번 설계 수업을 통해서 함수발생기의 작동 원리를 이해하고, 문제 제기부터 결과 도출까지 스스로 공부하고 설계하는 과정을 체험할 수 있었다.이번에 설계/제작 한 함수발생기는 디지털소자(TTL)을 이용하여 만든 디지털 함수발생기로써, Xilinx사의 ISE 프로그램을 통하여 설계하고, 시뮬레이션 결과에 맞춰서 제작하였고, 2장 에서는 설계한 함수발생기의 대략적인 설명을 볼 수 있고, 3장 에서는 ISE를 이용한 디지털 함수발생기의 시뮬레이션을 소개, 4장 에서는 설계한 하드웨어의 구조 및 배치 등을 볼 수 있다. 5장 에서는 설계에 사용된 아이디어들을 소개 하였다.6장 에서는 회로를 이용한 테스트 결과를 소개 하였고, 7장을 통해서 결론 및 추후 과제에 대해서 소개 하였다.

2. 전체 시스템 개요

그림 1. ISE로 만든 디지털 부분 전체 회로도

그림 2. 하드웨어 전면

먼저 ISE를 이용하여 신호발생기의 중추인 디지털 부분의 회로를 설계하였다.이를 이용하여 시뮬레이션의 결과를 출력하고, 하드웨어를 제작하였다.하드웨어는 발진기를 가장 먼저 제작하여 클럭을 발생 시켰고, ISE를 통해 설계한

Page 3: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

회로를 토대로 함수발생기를 만들었다. 그 후 D/A컨버터를 통하여 출력단을 만들었다. 기판의 제한된 크기 때문에 2단으로 설계하였고 1단의 반쪽은 아날로그 회로, 남은 반쪽은 디지털 회로로 구성하여 간섭을 줄였다. 2단은 가장 많은 칩이 사용되는 사인파와 삼각파 회로로 구성되어 있다.

3. ISE를 이용한 디지털 함수발생기 제작다음의 그림 3은 함수 발생기의 시작부분인 8비트 카운터이다.

그림 3. 8비트 카운터와 8비트 비교기

이곳에서 클럭은 실제 회로에서는 발진기로 대체 된다.우선 8비트 카운터를 통한 출력과 8비트 비교기에 입력되는 8비트 입력을 통해서 사용자가 원하는 주파수를 맞출 수 있다. 8비트 카운터에서 카운트를 하기 시작하면 입력한 주파수와 8비트 비교기를 통하여 비교하고, 같은 값이 되었을 때 비교기에서 1을 출력 한다. 이때 출력이 8비트 카운터의 리셋 신호로 들어가게 함으로써 주파수를 빠르게 할 수 있다.

그림 4. JK플립플롭과 4비트 카운터

그림 4는 JK플립플롭의 입력을 AND 시켜서 T플립플롭으로 변화 시켰다.비교기에서 나온 출력은 8비트 카운터의 리셋 이외에도 JK플립플롭의 클럭으로 입력 시켰고, J와 K는 (논리 값 ‘1’)로 연결 하였다.이는 비교기에서 나온 출력으로는 4비트 카운터를 구동시킬 수 없기 때문에 T플립플롭을 이용하여 클럭을 생성시켰다.T플립플롭의 출력을 4비트 카운터의 클럭으로 입력하여, 4비트 카운터를 구동시켜 4비트의 출력을 기반으로 조합회로를 만들어 원하는 파형을 출력시키게 된다.

Page 4: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

그림 5. 디멀티플렉서와 사인파, 톱니파, 구형파, 삼각파 회로 및 멀티플렉서

스위치를 통하여 파형을 선택하기 위해서 디멀티플렉서와 멀티플렉서가 사용 되었다. 스위치의 입력을 00부터 11까지 총 4개 이고, 각각 사인파, 삼각파, 구형파, 톱니파로 바꿀 수 있게 된다.멀티플렉서를 통한 출력이 디지털 회로의 최종 출력이 된다.

3.1. ISE를 이용한 시뮬레이션ISE를 통하여 구현한 회로로 출력을 시뮬레이션 해보았다.각각의 파형이 출력 되었고, 이 출력을 토대로 하드웨어 설계에 착수했다.

그림 6. 톱니파로 출력시킨 결과

그림 7. 구형파로 출력시킨 결과

Page 5: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

그림 8. 사인파로 출력시킨 결과

4. 함수발생기의 하드웨어 구조

그림 9. 구동중인 하드웨어의 전체 모습

4.1. 칩의 배치구입한 기판의 크기 제한으로 2단으로 제작하였다.

그림 10. 2단 회로의 모습

사인파, 삼각파에 사용된 칩을 2단으로 올렸고, 그림 10에서 위쪽에 사용된 칩들은

Page 6: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

삼각파, 아래쪽에 사용된 칩은 사인파이다.삼각파에는 NOT칩(74LS04) 1개와 3-Input AND칩(74LS11) 1개, 2-Input AND칩(74LS08) 2개, 2-Input OR칩(74LS32) 3개가 사용되었고, 사인파에는 NOT칩(74LS04) 1개와 3-Input AND칩(74LS11) 3개, 2-Input AND칩(74LS08) 2개, 2-Input OR칩(74LS32) 3개가 사용 되었다.

그림 11. 1단 회로의 모습

1단의 아래쪽은 아날로그 회로인 발진기와 D/A 컨버터, 위쪽은 8비트 카운터와 8비트 비교기, JK플립플롭, 4비트 카운터, DEMUX, MUX로 구성되어 있다.8비트 카운터 칩이 없었기 때문에 4비트 카운터 칩(74LS93)을 연결하여 8비트로 구동시켰고, 8비트 비교기에는 XOR(74LS86) 2개와 2-Input NOR(74LS20) 1개, 4-Input NAND(74LS02) 1개를 이용하여 만들었다.JK플립플롭의 J와 K를 모두 로 연결하여 T플립플롭으로 구동시켰고, 디멀티플렉서와 멀티플렉서 연결의 편의를 위해 소켓을 장착하여 각각의 출력을 묶어 놨다.

그림 12. 주파수와 파형 변경을 위한 스위치

Page 7: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

그림 12에서 볼 수 있듯이 위의 스위치 8개를 통하여 주파수를 변경할 수 있고, 이 스위치가 8비트 비교기의 입력으로 들어가서 8비트 카운터와 비교하게 된다.아래의 스위치는 파형 변경을 위한 스위치로 다음의 표 1과 같은 파형을 출력한다.

MUX/DEMUX의 Select파형 S1 S0

사인파 0 0삼각파 0 1구형파 1 0톱니파 1 1

표 1. 스위치의 출력

그림 13. 발진기

그림 13은 발진기 회로이다. 발진기는 NE555칩과 커패시터 1nF, 0.01uF 그리고 저항 240Ω, 2.3kΩ, 3.4kΩ이 사용되었다.

그림 14. D/A 컨버터 및 증폭기

1kΩ, 2kΩ, 4kΩ, 8kΩ의 저항과 1kΩ의 귀환 저항 그리고 OP-AMP를 이용하여 Non-inverting 증폭기 및 D/A 컨버터를 만들었다.증폭의 폭을 조절하기 위해서 스위치를 통하여 저항 값을 조절할 수 있게 설계하였다. 스위치는 각각 1kΩ, 2kΩ, 4kΩ 저항이 연결되어 있고, 스위치를 ON하게 되면 귀환 저항에 직렬로 연결되게 된다.

Page 8: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

그림 15 전원의 유무를 표시하기 위한 LED

5. 함수발생기 제작에 사용된 아이디어함수발생기를 제작하면서 많은 아이디어들을 사용하였는데, 그 아이디어들이 모두 모여 하나의 시스템을 이루게 되었다. 5.1. 발진기 설계발진기는 NE555칩과 저항, 커패시터를 이용하여 설계하였는데, 적절한 주파수와 50%의 Duty를 맞추는 것이 목표였다.

그림 16. NE555를 이용한 발진기 회로도

하지만 50%의 Duty는 맞추기 힘들기 때문에 51%의 Duty와 100khz의 주파수를 목표로 제작하였고, 저항의 오차 때문인지 49%의 Duty와 96khz의 주파수가 출력되었다.

Page 9: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

5.2. 사인파 조합 회로 설계Index Output

0 0 0 0 0 0 0 0 0 0

1 0 0 0 1 0 0 1 1 3

2 0 0 1 0 0 1 1 0 6

3 0 0 1 1 1 0 0 0 8

4 0 1 0 0 1 0 1 1 11

5 0 1 0 1 1 1 0 1 13

6 0 1 1 0 1 1 1 0 14

7 0 1 1 1 1 1 1 1 15

8 1 0 0 0 1 1 1 1 15

9 1 0 0 1 1 1 1 0 14

10 1 0 1 0 1 1 0 1 13

11 1 0 1 1 1 1 0 0 12

12 1 1 0 0 1 0 1 1 11

13 1 1 0 1 1 0 0 0 8

14 1 1 1 0 0 1 1 0 6

15 1 1 1 1 0 0 1 1 3

00 01 11 10

00 0 1 0 0

01 1 1 1 0

11 1 0 1 0

10 1 0 0 1

=

00 01 11 10

00 0 1 0 1

01 1 0 1 1

11 1 0 1 1

10 1 1 0 0

= + +

+

+

00 01 11 10

00 0 0 0 1

01 0 1 1 1

11 0 0 0 1

10 1 1 1 1

= + +

00 01 11 10

00 0 0 1 0

01 1 1 1 1

11 1 1 0 0

10 1 1 1 1

=+ + +

진리표를 만든후 K-MAP으로 정리하여 ISE로 회로를 만들었다.

Page 10: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

그림 17. 사인파의 조합 회로

5.3. 구형파 조합 회로 설계구형파의 출력을 위해서 카운터의 0~7까지는 논리값 ‘0’, 8~15까지는 논리값 ‘1’이 출력되도록 아이디어를 생각했고, 그 결과 카운터의 출력중 (3번째 출력)이 모든 입력으로 들어가면 되었기 때문에 를 입력으로 넣었다.

5.4. 톱니파 조합 회로 설계톱니파의 출력은 카운터의 증가량과 같기 때문에 카운터의 출력을 톱니파로 사용 할 수 있었다.

Page 11: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

5.5. 삼각파 조합 회로 설계Idx Output

0 0 0 0 0 0 0 0 0 0

1 0 0 0 1 0 0 0 1 1

2 0 0 1 0 0 0 1 1 3

3 0 0 1 1 0 1 0 1 5

4 0 1 0 0 0 1 1 1 7

5 0 1 0 1 1 0 0 1 9

6 0 1 1 0 1 0 1 1 11

7 0 1 1 1 1 1 0 1 13

8 1 0 0 0 1 1 1 1 15

9 1 0 0 1 1 1 0 1 13

10 1 0 1 0 1 0 1 1 11

11 1 0 1 1 1 0 0 1 9

12 1 1 0 0 0 1 1 1 7

13 1 1 0 1 0 1 0 1 5

14 1 1 1 0 0 0 1 1 3

15 1 1 1 1 0 0 0 1 1

0 0 0 0 0 1 1 1

0 0 0 0

1 1 1 1

=++

0 0 1 0 1 0 1 0

1 1 0 0

1 1 0 0

= + +

0 0 0 1 1 0 0 1

1 0 0 1

1 0 0 1

=++

0 1 1 1 1 1 1 1

1 1 1 1

1 1 1 1

=+++

Page 12: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

그림 18. 삼각파의 조합 회로

Page 13: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

5.6. D/A 컨버터와 증폭

그림 19 D/A 컨버터

그림 19 처럼 저항을 이용하여 D/A 컨버터를 만들었다.D C B A Out[V]

0 0 0 0 0

0 0 0 1 0.625

0 0 1 0 1.250

0 0 1 1 1.875

0 1 0 0 2.500

0 1 0 1 3.125

0 1 1 0 3.750

0 1 1 1 4.375

1 0 0 0 5.000

1 0 0 1 5.625

1 0 1 0 6.250

1 0 1 1 6.875

1 1 0 0 7.500

1 1 0 1 8.125

1 1 1 0 8.750

1 1 1 1 9.375

표 2 D/A 컨버터 출력(15V기준)

처음엔 OP-AMP를 이용한 반전 증폭기를 만들었으나 톱니파의 방향이 반대로 되는 출력이 나와서 비반전 증폭기로 설계를 변경하였다.저항 R9의 ref는 스위치를 통하여 전압이득을 조정할 수 있게 만들었다.그 결과 스위치를 변경해서 출력 전압을 바꿀수 있었다.

Page 14: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

6. 테스트 결과설계한 회로를 실제로 테스트해 보았고, 그림 20은 발진기의 출력이다.

그림 20. 발진기의 출력

Duty는 약 49%이고 주파수는 약 96Khz임을 알 수 있다.

그림 21. 사인파로 출력

그림 22. 톱니파로 출력

그림 23 삼각파로 출력

그림 24 구형파로 출력

입력을 0000001로 넣었을 때의 주파수는 약 21Hz가 출력 되었고, 저주파라 잡음이 심했다.

Page 15: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

그림 25 사인파로 출력

그림 26 삼각파로 출력

그림 27 톱니파로 출력

그림 25, 26, 27은 입력이 10000001일 때의 출력이다. 주파수가 크게 바뀌었음을 알 수 있다.7. 결론약 2달에 걸쳐서 설계한 함수발생기가 이상 없이 작동하게 되었고,출력에 커패시터를 설치하면 곡선으로 바꿀 수 있지만, 파형이 완벽하지 않아서 커패시터를 설치하지 않고 그대로 두었다.납땜하고 자료 찾으며 공부했던 지난 2달간 정말 많은 것을 느끼고 배웠으며, 이번 설계를 통해서 “설계”의 의미를 다시 한번 깨닮을 수 있었다.

참고문헌[1]Logic and computer design fundamentals(디지털논리와컴퓨터설계)/교보문고/ M.Morris Mano and Charles R. Kime[2]Pspice아날로그및디지털회로시뮬레이션/전병실, 조준익/광문각[3]MicroelectronicCircuits(마이크로전자회로)5thEdition/Sedra Smith/한티미디어[4]논리회로실험/김기중,김주명,김주원,손상영,조현설,허형팔/사이텍미디어[5]논리회로실험/김민주/영과일[6]디지털회로설계실습/이행우/과학기술[7]디지털논리회로설계및응용/김희석/한올출판사

Page 16: TTL 소자를 이용한 함수 발생기 제작pds9.egloos.com/pds/200803/07/20/Function_Generator...그림 1. ISE로 만든 디지털 부분 전체 회로도 그림 2. 하드웨어

[8]XilinxFPGA를이용한digitalsystem설계실습및programmableASICdesign/노명래 /Ohm사