20
6주차 주차 A/D A/D변환기 변환기 개념 개념 및 AVR AVR의 A/D A/D변환기 변환기 구조 구조 Next-Generation Networks Lab.

66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

66주차주차A/DA/D변환기변환기 개념개념 및및 AVRAVR의의 A/DA/D변환기변환기 구조구조

Next-Generation Networks Lab.

Page 2: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

1. 1. 아날로그와아날로그와 디지털디지털

아날로그 (Analog)

• 영어의 analogous(비슷한)에서 유래함영어의 analogous(비슷한)에서 유래함

• 수학적으로 정확하게 표현하면, 아날로그는 연속적 = continuous

디지털 (Digital) 디지털 (Digital)

• 디지털의 어원은 손가락이라는 라틴어 digit에서 유래됨

• 디지털은 불연속적 = 이산적 = discrete• 디지털은 불연속적 = 이산적 = discrete

그림 9-1림

38

Page 3: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

디지털의 장점

• 디지털은 아날로그에 비해 잡음에 매우 강하다디지털은 아날로그에 비해 잡음에 매우 강하다.

• 디지털은 아날로그에 비해 온도 특성이 좋다.

• 디지털은 아날로그에 비해 데이터의 처리가 매우 편하다.디지털은 아날로그에 비해 데이터의 처리가 매우 편하다.

아날로그의 장점 아날로그의 장점

• 아날로그 데이터는 원래 데이터에 매우 충실하다. 혹은 원래 데이터 그 자체이다.

39

Page 4: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

아날로그아날로그--디지털디지털 변환변환 과정과정

ADC와 DAC의 과정

• ADC (Analog to Digital Converter): 아날로그 데이터를 디지털 데이터로 변환ADC (Analog to Digital Converter): 아날로그 데이터를 디지털 데이터로 변환

• DAC (Digital to Analog Converter): 디지털 데이터를 아날로그 데이터로 변환

• CODEC (Coder-DECoder): ADC와 DAC의 과정 모두 가리킴CODEC (Coder DECoder): ADC와 DAC의 과정 모두 가리킴

그림 9-4

40

Page 5: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 1단계 표본화(Sampling)

• 연속적인 시간의 신호를 이산 시간 신호로 변환하는 과정연속적인 시간의 신호를 이산 시간 신호로 변환하는 과정

그림 9-5

• 나이키스트(Nyquist) 의 정리

샘플링 법칙에 따르면 샘플링 주파수 fs는 신호의 최대 주파수 f의 두 배 이상이 되어야

한다. 이보다 낮을 경우 앨리어싱(Aliasing)이 발생하기 때문에 원래 신호가 왜곡된다. 이

때 f /2를 중첩 주파수 혹은 나이키스트 주파수라 부른다때 fs/2를 중첩 주파수 혹은 나이키스트 주파수라 부른다.

41

Page 6: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 2단계 양자화(Quantization)

• 연속적인 진폭의 신호를 이산 진폭 신호로 변환하는 과정연속적인 진폭의 신호를 이산 진폭 신호로 변환하는 과정

• 양자화 에러 연속적인 아날로그 값을 제한된 디지털 값으로 맵핑하여 나타나는 에러

그림 9-7

ADC 3단계 부호화(Coding) 0000 1001g

42

0000 00

Page 7: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC의 구분

그림 9 11그림 9-11

선택 기준 설명 AVR

표 9-1

1. 분해능 몇 비트로 (얼마나 세밀하게) 나타낼 수 있는가 ? 10비트

2. 변환속도 얼마나 빨리 A/D 변환의 결과를 나타낼 수 있는가 ? 13~260μS(중속형)

3 구현 방식 어떤 방식으로 ADC가 구현되어 있는가? 축차비교형 (SAR)3. 구현 방식 어떤 방식으로 ADC가 구현되어 있는가? 축차비교형 (SAR)

4. 입력전압의 종류 단극성인가? 양극성인가 ? 양극성

5. 데이터 출력 형태 직렬 출력인가? 병렬 출력인가 ? 병렬출력

43

6. 채널 수 단일 채널인가? 다중 채널인가 ? 다중채널

Page 8: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

2. ATmega1282. ATmega128의의 ADCADC

• ADC 결과값 좌측 정렬 옵션

ADC 특징 (p.367)

• 10비트 분해능(Resolution) ADC 결과값 좌측 정렬 옵션

• 2.56V의 내부 기준 전압 지원

• 단일 변환 모드 혹은 프리러닝 모드

10비트 분해능(Resolution)

• 입력전압 범위: 0 ~ AVCC

• 0.5 LSB 적분 비선형 단일 변환 모드 혹은 프리러닝 모드

(Free Running) 지원

• ADC 변환 완료 인터럽트

0.5 LSB 적분 비선형

• ±2 LSB 정확도

• 13~260 uS 변환 시간 변환 완 인터럽

• Sleep Mode Noise Canceller

변환 시간

• 8 채널의 멀티플렉스된 단일 입력

• 7 채널의 차동 입력

• 10배 혹은 200배의 증폭률을

가진 2채널의 차동 입력

44

Page 9: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 블럭다이어그램 ADC data register(ADCH/ADCL)

그림 9-13

전원전원

SAR

신호입력신호입력

45

Page 10: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ATmega128의 ADC 핀

그림 9-19

46

Page 11: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

47

Page 12: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

48

Page 13: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

축차 비교형(SAR: Successive Approximation Register) ADC의 장점

• 비교적 변환시간이 빠르다. 그림 9 14비 적 변환시간이 빠 다

• 회로도가 간단한 장점이 있다.

• 저가로 제작 가능하다.

그림 9-14

• 분해능도 비교적 높은 편이다.

54 3754.375

3.753.125

2.5

1.5V

2.51.875

1.250.625

1.5V

49

0

Page 14: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 변환 예제

아날로그 신호 입력범위: 0 ~ 5V 아날로그 신호 입력범위: 0 5V

3비트 ADC일 때 출력 값: 000 (0) ~ 111 (=7)

10비트 ADC일 때 출력 값: 0000000000 (0) ~ 1111111111 (=1023)비 일 때 출력 값 ( ) ( )

예제) 입력전압이 1.5V 일 때 3비트와 10비트로 변환된 ADC 값은 ? 예제) 입력전압이 1.5V 일 때 3비트와 10비트로 변환된 ADC 값은 ?

3비트 010

5V : 111 = 1.5V : x5

4 375x = 2.1 010

4.3753.75

3.1252 5

10비트 0100110011

(계산기 활용)

2.51.875

1.250.625

50

0.6250

Page 15: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 기준 전압은 10비트 최대 값으로 변환될 입력 전압을 결정

ADC 기준전압

• ADC 기준 전압은 10비트 최대 값으로 변환될 입력 전압을 결정

• ADMUX 레지스터의 REF1~0 비트를 통해 설정

• 주의사항 : ADC 시작 전 이 값이 설정이 되어 있어야 한다 만일 ADC가 수행 중• 주의사항 : ADC 시작 전 이 값이 설정이 되어 있어야 한다. 만일 ADC가 수행 중

이 값을 변경하고자 한다면 최소 125us가 걸리므로 이 이후에 값을 읽어야 한다.

ADC 프리스케일러

• ADC 프리스케일러는 A/D 변환에 사용되는 클럭속도를 결정

• A/D 변환을 위한 클럭속도의 입력 범위는 단극성 입력일 때 50~200kHz 이고,

C 프리스케일러

/ 변환을 위한 클럭속 의 입력 범위는 단극성 입력일 때 이 ,

차동 입력일 때 50~1000kHz이다.

• ADCSRA 레지스터의 ADS2-0 비트를 통해서 원하는 분주비를 선택

51

Page 16: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 기준전압 선택 회로

00

1

1

1

0

52

Page 17: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 프리스케일러 그림 9-15

SC/1

28

OSC

/64

OSC

/32

OSC

/16

OSC

/8

OSC

/4

OSC

/2

OSOOOOOO

53

Page 18: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

단일 변환

ADC 동작모드

단일 변환 모드

• ADCSRA 레지스터의 ADEN 비트를 세트

혹은 ADEN 비트와 ADSC 비트를 동시에 세트하면 시작

• ADC 변환이 완료되면 ADIF가 세트 되고 ADC 변환 완료 인터럽트가 요청되며

ADSC 비트는 자동적으로 클리어된다ADSC 비트는 자동적으로 클리어된다.

• ADC 변환 완료 이후 다시 ADC를 시작하려면 ADSC 비트를 세트하면 된다.

프리러닝 모드 프리러닝 모드

• ADSC 비트를 세트하여 시작한 후 자동으로 반복적으로 ADC를 수행

54

Page 19: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

ADC 변환 시간

• 최대 약 39 클럭최대 약 39 클럭

= ADCSRA의 ADEN 비트가 세트된 후 ADC가 완료되기까지 시간

= ADC 회로를 안정화시키는 데 걸리는 시간 + ADC 변환 시간 ADC 회로를 안정화시키는 데 걸리는 시간 + ADC 변환 시간

• 따라서 한 번 안정화 시킨 후 두 번째부터는 조금 더 빨라질 수 있음

표 9-2

설명샘플앤홀드

클럭수ADC 변환클럭수

변환 시간@ 200kHz

ADEN 세트 후 최초 변환 시간 13.5 25 39*5us = 195us

이후 ADC 변환 시간 (단극성) 1.5 1313*5 65

이후 변환 시간 (단극성)13*5us =65us

(최대 초당 15,385회) 이후 ADC 변환 시간 (양극성) 1.5-2.5 13-14

55

Page 20: 66주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/6.pdf · • 아날로그gnd 따로, 디지털gnd 따로묶은후한포인트에서연결 • 데이터값이불안할경우평균을구하면조금더안정적이다

잡음 제거 방법

• AVR의 ADC는 축차 비교 방식이므로 수십 us 정도의 초기값이 정확하지 않다• AVR의 ADC는 축차 비교 방식이므로, 수십 us 정도의 초기값이 정확하지 않다.

• A/D 컨버터의 아날로그 입력 신호선은 최대한 짧고 굵게 하는 것이 좋다.

• 잡음의 영향을 덜 받게 하기 위하여 디지털 전원 VCC에 LC 필터를 사용하여

AVCC에 붙인다.

• A/D 변환 중에 사용되지 않은 A/D 포트를 스위칭하지 않는다.

• 아날로그 GND 따로, 디지털 GND 따로 묶은 후 한 포인트에서 연결

• 데이터 값이 불안할 경우 평균을 구하면 조금 더 안정적이다.

• 잡음에 대해 극도로 민감할 땐 IDLE 모드에서 읽는 것도 좋다잡음에 대해 극도로 민감할 땐 IDLE 모드에서 읽는 것도 좋다.

56